svn merge ^/trunk/blender -r46844:HEAD
authorOve Murberg Henriksen <sorayasilvermoon@hotmail.com>
Wed, 23 May 2012 10:56:06 +0000 (10:56 +0000)
committerOve Murberg Henriksen <sorayasilvermoon@hotmail.com>
Wed, 23 May 2012 10:56:06 +0000 (10:56 +0000)
149 files changed:
CMakeLists.txt
SConstruct
build_files/scons/config/win32-mingw-config.py
build_files/scons/tools/Blender.py
build_files/scons/tools/btools.py
doc/python_api/examples/bpy.types.Mesh.py
doc/python_api/rst/include__bmesh.rst
intern/cycles/blender/blender_object.cpp
intern/guardedalloc/intern/mmap_win.c
release/datafiles/blender_icons.png
release/scripts/startup/bl_operators/object.py
release/scripts/startup/bl_operators/presets.py
release/scripts/startup/bl_operators/wm.py
release/scripts/startup/bl_ui/properties_animviz.py
release/scripts/startup/bl_ui/properties_data_armature.py
release/scripts/startup/bl_ui/properties_data_mesh.py
release/scripts/startup/bl_ui/properties_data_modifier.py
release/scripts/startup/bl_ui/properties_material.py
release/scripts/startup/bl_ui/properties_texture.py
release/scripts/startup/bl_ui/space_node.py
release/scripts/startup/bl_ui/space_view3d_toolbar.py
source/blender/blenkernel/BKE_blender.h
source/blender/blenkernel/BKE_key.h
source/blender/blenkernel/BKE_mesh.h
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/BKE_object.h
source/blender/blenkernel/BKE_screen.h
source/blender/blenkernel/intern/brush.c
source/blender/blenkernel/intern/cdderivedmesh.c
source/blender/blenkernel/intern/cloth.c
source/blender/blenkernel/intern/collision.c
source/blender/blenkernel/intern/constraint.c
source/blender/blenkernel/intern/customdata.c
source/blender/blenkernel/intern/editderivedmesh.c
source/blender/blenkernel/intern/key.c
source/blender/blenkernel/intern/lattice.c
source/blender/blenkernel/intern/mesh.c
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/pointcache.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/bmesh/bmesh_class.h
source/blender/bmesh/intern/bmesh_construct.c
source/blender/bmesh/intern/bmesh_interp.c
source/blender/bmesh/intern/bmesh_marking.c
source/blender/bmesh/intern/bmesh_mesh_conv.c
source/blender/bmesh/intern/bmesh_queries.c
source/blender/bmesh/intern/bmesh_queries.h
source/blender/bmesh/operators/bmo_extrude.c
source/blender/collada/ArmatureImporter.cpp
source/blender/compositor/intern/COM_Node.cpp
source/blender/compositor/intern/COM_WorkScheduler.cpp
source/blender/compositor/intern/COM_compositor.cpp
source/blender/compositor/nodes/COM_DilateErodeNode.cpp
source/blender/compositor/nodes/COM_MovieClipNode.cpp
source/blender/compositor/nodes/COM_MovieDistortionNode.cpp
source/blender/compositor/nodes/COM_TextureNode.cpp
source/blender/compositor/operations/COM_CompositorOperation.cpp
source/blender/compositor/operations/COM_CompositorOperation.h
source/blender/compositor/operations/COM_DilateErodeOperation.cpp
source/blender/compositor/operations/COM_GlareBaseOperation.cpp
source/blender/compositor/operations/COM_MovieClipOperation.cpp
source/blender/compositor/operations/COM_MovieDistortionOperation.cpp
source/blender/compositor/operations/COM_MovieDistortionOperation.h
source/blender/compositor/operations/COM_TextureOperation.cpp
source/blender/compositor/operations/COM_TextureOperation.h
source/blender/editors/datafiles/blender_icons.png.c
source/blender/editors/datafiles/startup.blend.c
source/blender/editors/include/ED_node.h
source/blender/editors/include/ED_transform.h
source/blender/editors/include/UI_icons.h
source/blender/editors/include/UI_resources.h
source/blender/editors/interface/interface_regions.c
source/blender/editors/interface/interface_templates.c
source/blender/editors/interface/interface_widgets.c
source/blender/editors/interface/resources.c
source/blender/editors/mesh/editmesh_tools.c
source/blender/editors/mesh/mesh_data.c
source/blender/editors/object/object_bake.c
source/blender/editors/object/object_intern.h
source/blender/editors/object/object_modifier.c
source/blender/editors/object/object_ops.c
source/blender/editors/screen/screen_edit.c
source/blender/editors/sculpt_paint/paint_intern.h
source/blender/editors/sculpt_paint/paint_mask.c
source/blender/editors/sculpt_paint/paint_stroke.c
source/blender/editors/sculpt_paint/paint_vertex.c
source/blender/editors/sculpt_paint/sculpt.c
source/blender/editors/space_file/fsmenu.c
source/blender/editors/space_node/drawnode.c
source/blender/editors/space_node/node_buttons.c
source/blender/editors/space_node/node_draw.c
source/blender/editors/space_node/node_edit.c
source/blender/editors/space_node/node_intern.h
source/blender/editors/space_node/node_ops.c
source/blender/editors/space_node/node_select.c
source/blender/editors/space_node/node_templates.c
source/blender/editors/space_node/space_node.c
source/blender/editors/space_outliner/outliner_draw.c
source/blender/editors/space_sequencer/sequencer_add.c
source/blender/editors/space_view3d/drawobject.c
source/blender/editors/space_view3d/view3d_draw.c
source/blender/editors/transform/transform.c
source/blender/editors/transform/transform.h
source/blender/editors/transform/transform_conversions.c
source/blender/editors/transform/transform_input.c
source/blender/editors/transform/transform_ops.c
source/blender/gpu/intern/gpu_buffers.c
source/blender/gpu/intern/gpu_material.c
source/blender/makesdna/DNA_customdata_types.h
source/blender/makesdna/DNA_meshdata_types.h
source/blender/makesdna/DNA_modifier_types.h
source/blender/makesdna/DNA_node_types.h
source/blender/makesdna/DNA_scene_types.h
source/blender/makesdna/DNA_userdef_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/RNA_enum_types.h
source/blender/makesrna/intern/rna_key.c
source/blender/makesrna/intern/rna_lamp.c
source/blender/makesrna/intern/rna_lattice.c
source/blender/makesrna/intern/rna_mesh.c
source/blender/makesrna/intern/rna_modifier.c
source/blender/makesrna/intern/rna_nodetree.c
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_sculpt_paint.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/modifiers/CMakeLists.txt
source/blender/modifiers/MOD_modifiertypes.h
source/blender/modifiers/intern/MOD_skin.c [new file with mode: 0644]
source/blender/modifiers/intern/MOD_solidify.c
source/blender/modifiers/intern/MOD_util.c
source/blender/nodes/composite/node_composite_tree.c
source/blender/nodes/composite/nodes/node_composite_boxmask.c
source/blender/nodes/composite/nodes/node_composite_colorcorrection.c
source/blender/nodes/composite/nodes/node_composite_defocus.c
source/blender/nodes/composite/nodes/node_composite_ellipsemask.c
source/blender/nodes/intern/node_common.c
source/blender/python/bmesh/bmesh_py_types.c
source/blender/python/bmesh/bmesh_py_types_customdata.c
source/blender/python/intern/bpy_interface.c
source/blender/python/intern/bpy_rna.c
source/blender/render/intern/source/convertblender.c
source/blender/windowmanager/intern/wm_event_system.c
source/blender/windowmanager/intern/wm_operators.c
source/blenderplayer/bad_level_call_stubs/stubs.c
source/creator/CMakeLists.txt
source/gameengine/Ketsji/BL_Action.cpp
source/gameengine/Ketsji/KX_KetsjiEngine.cpp

index 4f86aa0d7f2b698dea2f5d01d17f177165af67ec..5632d211415e00475c88770e4a523a0b4b4276d2 100644 (file)
@@ -238,8 +238,14 @@ mark_as_advanced(WITH_MINGW64)
 option(WITH_CYCLES                                     "Enable cycles Render Engine" ON)
 option(WITH_CYCLES_TEST                                "Build cycles test application" OFF)
 option(WITH_CYCLES_CUDA_BINARIES       "Build cycles CUDA binaries" OFF)
-set(CYCLES_CUDA_BINARIES_ARCH          sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build binaries for")
+if(WIN32 AND NOT CMAKE_CL_64 AND NOT WITH_MINGW64)
+       set(PLATFORM_DEFAULT sm_20 sm_21)
+else()
+       set(PLATFORM_DEFAULT sm_13 sm_20 sm_21)
+endif()
+set(CYCLES_CUDA_BINARIES_ARCH ${PLATFORM_DEFAULT} CACHE STRING "CUDA architectures to build binaries for")
 mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
+unset(PLATFORM_DEFAULT)
 
 # disable for now, but plan to support on all platforms eventually
 option(WITH_MEM_JEMALLOC   "Enable malloc replacement (http://www.canonware.com/jemalloc)" OFF)
index 46ce989e9c0d47b303b6479fe3e45b6c43c9a21b..bbf3dff03940cc4afc068de524f19ec705e3d488 100644 (file)
@@ -553,7 +553,7 @@ if env['OURPLATFORM']!='darwin':
 
                 source=[os.path.join(dp, f) for f in df if not f.endswith(".pyc")]
                 # To ensure empty dirs are created too
-                if len(source)==0:
+                if len(source)==0 and not os.path.exists(dir):
                     env.Execute(Mkdir(dir))
                 scriptinstall.append(env.Install(dir=dir,source=source))
         if env['WITH_BF_CYCLES']:
index 576415559878a83fda2837bcef0e3d0fc11680e7..dc83411adac9119b01fe963b634e386d4474ae6b 100644 (file)
@@ -169,6 +169,11 @@ BF_BOOST_LIBPATH = BF_BOOST + '/lib'
 WITH_BF_RAYOPTIMIZATION = True
 BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse']
 
+#CUDA
+WITH_BF_CYCLES_CUDA_BINARIES = False
+#BF_CYCLES_CUDA_NVCC = "" # Path to the nvidia compiler
+BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21'] # don't build sm_13 until the compile can fit in 32bit process again :)
+
 ##
 CC = 'gcc'
 CXX = 'g++'
index 5a066470225eadc19a66f35cfb148b31bf235446..0c5d37f77fed03823efcf1bb89251749e1e4ec83 100644 (file)
@@ -869,12 +869,17 @@ class BlenderEnvironment(SConsEnvironment):
             lenv.AddPostAction(prog,Action(AppIt,strfunction=my_appit_print))
         elif os.sep == '/' and lenv['OURPLATFORM'] != 'linuxcross': # any unix (except cross-compilation)
             if lenv['WITH_BF_PYTHON']:
-                if not lenv['WITHOUT_BF_INSTALL'] and not lenv['WITHOUT_BF_PYTHON_INSTALL'] and not BlenderEnvironment.PyBundleActionAdded:
+                if (not lenv['WITHOUT_BF_INSTALL'] and 
+                    not lenv['WITHOUT_BF_PYTHON_INSTALL'] and 
+                    not lenv['WITHOUT_BF_PYTHON_UNPACK'] and 
+                    not BlenderEnvironment.PyBundleActionAdded):
                     lenv.AddPostAction(prog,Action(UnixPyBundle,strfunction=my_unixpybundle_print))
                     BlenderEnvironment.PyBundleActionAdded = True
         elif lenv['OURPLATFORM'].startswith('win') or lenv['OURPLATFORM'] == 'linuxcross': # windows or cross-compilation
             if lenv['WITH_BF_PYTHON']:
-                if not lenv['WITHOUT_BF_PYTHON_INSTALL'] and not BlenderEnvironment.PyBundleActionAdded:
+                if (not lenv['WITHOUT_BF_PYTHON_INSTALL'] and 
+                    not lenv['WITHOUT_BF_PYTHON_UNPACK'] and 
+                    not BlenderEnvironment.PyBundleActionAdded):
                     lenv.AddPostAction(prog,Action(WinPyBundle,strfunction=my_winpybundle_print))
                     BlenderEnvironment.PyBundleActionAdded = True
         return prog
index 1ad0b886cc42351ebca61648cfef3eb19b12eddd..d3a334b3c9695c8deb0de1ab92b80f8af595d1d9 100644 (file)
@@ -134,7 +134,7 @@ def validate_arguments(args, bc):
             'BF_CXX', 'WITH_BF_STATICCXX', 'BF_CXX_LIB_STATIC',
             'BF_TWEAK_MODE', 'BF_SPLIT_SRC',
             'WITHOUT_BF_INSTALL',
-            'WITHOUT_BF_PYTHON_INSTALL',
+            'WITHOUT_BF_PYTHON_INSTALL', 'WITHOUT_BF_PYTHON_UNPACK',
             'WITHOUT_BF_OVERWRITE_INSTALL',
             'WITH_BF_OPENMP', 'BF_OPENMP', 'BF_OPENMP_LIBPATH',
             'WITH_GHOST_COCOA',
@@ -519,6 +519,7 @@ def read_opts(env, cfg, args):
         (BoolVariable('BF_SPLIT_SRC', 'Split src lib into several chunks if true', False)),
         (BoolVariable('WITHOUT_BF_INSTALL', 'dont install if true', False)),
         (BoolVariable('WITHOUT_BF_PYTHON_INSTALL', 'dont install Python modules if true', False)),
+        (BoolVariable('WITHOUT_BF_PYTHON_UNPACK', 'dont remove and unpack Python modules everytime if true', False)),
         (BoolVariable('WITHOUT_BF_OVERWRITE_INSTALL', 'dont remove existing files before breating the new install directory (set to False when making packages for others)', False)),
         (BoolVariable('BF_FANCY', 'Enable fancy output if true', True)),
         (BoolVariable('BF_QUIET', 'Enable silent output if true', True)),
index 1ee5118df6de3f7d5591668f3a8267bd0f56b21b..d30303f3b0515d08bada77807bfc2c09f265dbe3 100644 (file)
@@ -28,7 +28,7 @@ This example script prints the vertices and UV's for each polygon, assumes the a
 import bpy
 
 me = bpy.context.object.data
-uv_layer = me.uv.layers.active.data
+uv_layer = me.uv_layers.active.data
 
 for poly in me.polygons:
     print("Polygon index: %d, length: %d" % (poly.index, poly.loop_total))
index 212ab4e4708466c3092375b79ca6b00ba0061758..a55bf71b60f8ccec4bf39d628da977a1bccf356f 100644 (file)
@@ -99,9 +99,11 @@ Here are some examples ...
    uv_lay = bm.loops.layers.uv.active
 
    for face in bm.faces:
-       for loop in f.loops:
-           uv = loop[uv_lay]
-           print("Loop UV: %f, %f" % (uv.x, uv.y))
+       for loop in face.loops:
+           uv = loop[uv_lay].uv
+           print("Loop UV: %f, %f" % uv[:])
+           vert = loop.vert
+           print("Loop Vert: (%f,%f,%f)" % vert.co[:])
 
 
 .. code-block:: python
index 405c7eada1d95d01c87e72d16b508ade2cdb6c21..14d4c2f3ddf51f246f391535705df9396806341a 100644 (file)
@@ -285,52 +285,55 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d, int motion)
 
        /* object loop */
        BL::Scene::objects_iterator b_ob;
+       BL::Scene b_sce = b_scene;
 
-       for(b_scene.objects.begin(b_ob); b_ob != b_scene.objects.end(); ++b_ob) {
-               bool hide = (render_layer.use_viewport_visibility)? b_ob->hide(): b_ob->hide_render();
-               uint ob_layer = get_layer(b_ob->layers());
+       for(; b_sce; b_sce = b_sce.background_set()) {
+               for(b_sce.objects.begin(b_ob); b_ob != b_sce.objects.end(); ++b_ob) {
+                       bool hide = (render_layer.use_viewport_visibility)? b_ob->hide(): b_ob->hide_render();
+                       uint ob_layer = get_layer(b_ob->layers());
 
-               if(!hide && (ob_layer & scene_layer)) {
-                       if(b_ob->is_duplicator()) {
-                               /* dupli objects */
-                               object_create_duplilist(*b_ob, b_scene);
+                       if(!hide && (ob_layer & scene_layer)) {
+                               if(b_ob->is_duplicator()) {
+                                       /* dupli objects */
+                                       object_create_duplilist(*b_ob, b_scene);
 
-                               BL::Object::dupli_list_iterator b_dup;
-                               int b_index = 0;
+                                       BL::Object::dupli_list_iterator b_dup;
+                                       int b_index = 0;
 
-                               for(b_ob->dupli_list.begin(b_dup); b_dup != b_ob->dupli_list.end(); ++b_dup) {
-                                       Transform tfm = get_transform(b_dup->matrix());
-                                       BL::Object b_dup_ob = b_dup->object();
-                                       bool dup_hide = (b_v3d)? b_dup_ob.hide(): b_dup_ob.hide_render();
+                                       for(b_ob->dupli_list.begin(b_dup); b_dup != b_ob->dupli_list.end(); ++b_dup) {
+                                               Transform tfm = get_transform(b_dup->matrix());
+                                               BL::Object b_dup_ob = b_dup->object();
+                                               bool dup_hide = (b_v3d)? b_dup_ob.hide(): b_dup_ob.hide_render();
 
-                                       if(!(b_dup->hide() || dup_hide))
-                                               sync_object(*b_ob, b_index, b_dup_ob, tfm, ob_layer, motion);
+                                               if(!(b_dup->hide() || dup_hide))
+                                                       sync_object(*b_ob, b_index, b_dup_ob, tfm, ob_layer, motion);
 
-                                       b_index++;
-                               }
-
-                               object_free_duplilist(*b_ob);
+                                               b_index++;
+                                       }
 
-                               hide = true;
-                       }
+                                       object_free_duplilist(*b_ob);
 
-                       /* check if we should render or hide particle emitter */
-                       BL::Object::particle_systems_iterator b_psys;
-                       bool render_emitter = false;
+                                       hide = true;
+                               }
 
-                       for(b_ob->particle_systems.begin(b_psys); b_psys != b_ob->particle_systems.end(); ++b_psys) {
-                               if(b_psys->settings().use_render_emitter()) {
-                                       hide = false;
-                                       render_emitter = true;
+                               /* check if we should render or hide particle emitter */
+                               BL::Object::particle_systems_iterator b_psys;
+                               bool render_emitter = false;
+
+                               for(b_ob->particle_systems.begin(b_psys); b_psys != b_ob->particle_systems.end(); ++b_psys) {
+                                       if(b_psys->settings().use_render_emitter()) {
+                                               hide = false;
+                                               render_emitter = true;
+                                       }
+                                       else if(!render_emitter)
+                                               hide = true;
                                }
-                               else if(!render_emitter)
-                                       hide = true;
-                       }
 
-                       if(!hide) {
-                               /* object itself */
-                               Transform tfm = get_transform(b_ob->matrix_world());
-                               sync_object(*b_ob, 0, *b_ob, tfm, ob_layer, motion);
+                               if(!hide) {
+                                       /* object itself */
+                                       Transform tfm = get_transform(b_ob->matrix_world());
+                                       sync_object(*b_ob, 0, *b_ob, tfm, ob_layer, motion);
+                               }
                        }
                }
        }
index f2315f659248b2c4e2083bcd8d362bfc76a69079..a133f92fec4618a02b77ae6012186f8d7aa3c2a6 100644 (file)
@@ -29,8 +29,7 @@
  *  \ingroup MEM
  */
 
-#if defined(WIN32)
+#ifdef WIN32
 
 #include <windows.h>
 #include <errno.h>
 #endif
 
 /* --------------------------------------------------------------------- */
-/* local storage definitions                                                    */
+/* local storage definitions                                             */
 /* --------------------------------------------------------------------- */
 /* all memory mapped chunks are put in linked lists */
-typedef struct mmapLink
-{
-       struct mmapLink *next,*prev;
+typedef struct mmapLink {
+       struct mmapLink *next, *prev;
 } mmapLink;
 
-typedef struct mmapListBase 
-{
+typedef struct mmapListBase {
        void *first, *last;
 } mmapListBase;
 
 typedef struct MemMap {
-       struct MemMap *next,*prev;
+       struct MemMap *next, *prev;
        void *mmap;
        HANDLE fhandle;
        HANDLE maphandle;
@@ -81,8 +78,8 @@ static void mmap_addtail(volatile mmapListBase *listbase, void *vlink);
 static void mmap_remlink(volatile mmapListBase *listbase, void *vlink);
 static void *mmap_findlink(volatile mmapListBase *listbase, void *ptr);
 
-static int mmap_get_prot_flags (int flags);
-static int mmap_get_access_flags (int flags);
+static int mmap_get_prot_flags(int flags);
+static int mmap_get_access_flags(int flags);
 
 /* --------------------------------------------------------------------- */
 /* vars                                                                  */
@@ -105,52 +102,53 @@ void *mmap(void *UNUSED(start), size_t len, int prot, int flags, int fd, off_t o
        MemMap *mm = NULL;
        void *ptr = NULL;
 
-       if ( flags & MAP_FIXED ) {
+       if (flags & MAP_FIXED) {
                return MAP_FAILED;
        }
 
-       /*
+#if 0
        if ( fd == -1 ) {
                _set_errno( EBADF );
                return MAP_FAILED;
        }
-       */
+#endif
 
-       if ( fd != -1 ) {
-               fhandle = (HANDLE) _get_osfhandle (fd);
+       if (fd != -1) {
+               fhandle = (HANDLE) _get_osfhandle(fd);
        }
-       if ( fhandle == INVALID_HANDLE_VALUE ) {
+       if (fhandle == INVALID_HANDLE_VALUE) {
                if (!(flags & MAP_ANONYMOUS)) {
                        errno = EBADF;
                        return MAP_FAILED;
                }
-       } else {
-               if ( !DuplicateHandle( GetCurrentProcess(), fhandle, GetCurrentProcess(),
-               &fhandle, 0, FALSE, DUPLICATE_SAME_ACCESS ) ) {
+       }
+       else {
+               if (!DuplicateHandle(GetCurrentProcess(), fhandle, GetCurrentProcess(),
+                                    &fhandle, 0, FALSE, DUPLICATE_SAME_ACCESS) ) {
                        return MAP_FAILED;
                }
        }
 
        maphandle = CreateFileMapping(fhandle, NULL, prot_flags, 0, len, NULL);
-       if ( maphandle == 0 ) {
+       if (maphandle == 0) {
                errno = EBADF;
                return MAP_FAILED;
        }
 
        ptr = MapViewOfFile(maphandle, access_flags, 0, offset, 0);
-       if ( ptr == NULL ) {
+       if (ptr == NULL) {
                DWORD dwLastErr = GetLastError();
-               if ( dwLastErr == ERROR_MAPPED_ALIGNMENT )
-                       errno=EINVAL;
+               if (dwLastErr == ERROR_MAPPED_ALIGNMENT)
+                       errno = EINVAL;
                else
-                       errno=EACCES;
+                       errno = EACCES;
                CloseHandle(maphandle);
                return MAP_FAILED;
        }
 
-       mm= (MemMap *)malloc(sizeof(MemMap));
+       mm = (MemMap *)malloc(sizeof(MemMap));
        if (!mm) {
-               errno=ENOMEM;
+               errno = ENOMEM;
        }
        mm->fhandle = fhandle;
        mm->maphandle = maphandle;
@@ -165,12 +163,12 @@ intptr_t munmap(void *ptr, intptr_t UNUSED(size))
 {
        MemMap *mm = mmap_findlink(mmapbase, ptr);
        if (!mm) {
-               errno=EINVAL;
+               errno = EINVAL;
                return -1;
        }
-       UnmapViewOfFile( mm->mmap );
-       CloseHandle( mm->maphandle );
-       CloseHandle( mm->fhandle);
+       UnmapViewOfFile(mm->mmap);
+       CloseHandle(mm->maphandle);
+       CloseHandle(mm->fhandle);
        mmap_remlink(mmapbase, mm);
        free(mm);
        return 0;
@@ -182,7 +180,7 @@ intptr_t munmap(void *ptr, intptr_t UNUSED(size))
 
 static void mmap_addtail(volatile mmapListBase *listbase, void *vlink)
 {
-       struct mmapLink *link= vlink;
+       struct mmapLink *link = vlink;
 
        if (link == 0) return;
        if (listbase == 0) return;
@@ -197,7 +195,7 @@ static void mmap_addtail(volatile mmapListBase *listbase, void *vlink)
 
 static void mmap_remlink(volatile mmapListBase *listbase, void *vlink)
 {
-       struct mmapLink *link= vlink;
+       struct mmapLink *link = vlink;
 
        if (link == 0) return;
        if (listbase == 0) return;
@@ -226,46 +224,46 @@ static void *mmap_findlink(volatile mmapListBase *listbase, void *ptr)
        return NULL;
 }
 
-static int mmap_get_prot_flags (int flags)
+static int mmap_get_prot_flags(int flags)
 {
        int prot = PAGE_NOACCESS;
 
-       if ( ( flags & PROT_READ ) == PROT_READ ) {
-               if ( ( flags & PROT_WRITE ) == PROT_WRITE ) {
+       if ( (flags & PROT_READ) == PROT_READ) {
+               if ( (flags & PROT_WRITE) == PROT_WRITE) {
                        prot = (flags & PROT_EXEC) ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE;
-               } else {
+               }
+               else {
                        prot = (flags & PROT_EXEC) ? PAGE_EXECUTE_READ : PAGE_READONLY;
                }
-       } else if ( ( flags & PROT_WRITE ) == PROT_WRITE ) {
+       }
+       else if ( (flags & PROT_WRITE) == PROT_WRITE) {
                prot = (flags & PROT_EXEC) ? PAGE_EXECUTE_READ : PAGE_WRITECOPY;
-       } else if ( ( flags & PROT_EXEC ) == PROT_EXEC ) {
+       }
+       else if ( (flags & PROT_EXEC) == PROT_EXEC) {
                prot = PAGE_EXECUTE_READ;
        }
        return prot;
 }
 
-static int mmap_get_access_flags (int flags)
+static int mmap_get_access_flags(int flags)
 {
        int access = 0;
 
-       if ( ( flags & PROT_READ ) == PROT_READ ) {
-               if ( ( flags & PROT_WRITE ) == PROT_WRITE ) {
+       if ( (flags & PROT_READ) == PROT_READ) {
+               if ( (flags & PROT_WRITE) == PROT_WRITE) {
                        access = FILE_MAP_WRITE;
-               } else {
+               }
+               else {
                        access = (flags & PROT_EXEC) ? FILE_MAP_EXECUTE : FILE_MAP_READ;
                }
-       } else if ( ( flags & PROT_WRITE ) == PROT_WRITE ) {
+       }
+       else if ( (flags & PROT_WRITE) == PROT_WRITE) {
                access = FILE_MAP_COPY;
-       } else if ( ( flags & PROT_EXEC ) == PROT_EXEC ) {
+       }
+       else if ( (flags & PROT_EXEC) == PROT_EXEC) {
                access = FILE_MAP_EXECUTE;
        }
        return access;
 }
 
-
 #endif // WIN32
-
-
-
-
-
index 35988235cfe506a8d88e7fef0e7e62ae5c77f368..a0d460b0153b68d4fff7eaaa3bdcfd3a3f6b62e4 100644 (file)
Binary files a/release/datafiles/blender_icons.png and b/release/datafiles/blender_icons.png differ
index 358919ac88806ac40f3c17045a685656731bcd46..151e1e93d8ce21fd255b8d4b3026c4a6243d5830 100644 (file)
@@ -35,7 +35,7 @@ class SelectPattern(Operator):
     pattern = StringProperty(
             name="Pattern",
             description="Name filter using '*' and '?' wildcard chars",
-            maxlen=32,
+            maxlen=64,
             default="*",
             )
     case_sensitive = BoolProperty(
index 05f7f3f0367ca19b3058a44feabc429c5a59b8a3..4171b8b3c2cea330a885cf076bb8488e9e6acbc0 100644 (file)
@@ -452,6 +452,24 @@ class AddPresetTrackingSettings(AddPresetBase, Operator):
     preset_subdir = "tracking_settings"
 
 
+class AddPresetNodeColor(AddPresetBase, Operator):
+    '''Add a Node Color Preset'''
+    bl_idname = "node.node_color_preset_add"
+    bl_label = "Add Node Color Preset"
+    preset_menu = "NODE_MT_node_color_presets"
+
+    preset_defines = [
+        "node = bpy.context.active_node"
+    ]
+
+    preset_values = [
+        "node.color",
+        "node.use_custom_color"
+    ]
+
+    preset_subdir = "node_color"
+
+
 class AddPresetInterfaceTheme(AddPresetBase, Operator):
     '''Add a theme preset'''
     bl_idname = "wm.interface_theme_preset_add"
index 883bac84e7898df29d54ce3986ff17121d9e43e8..2b820add10e38e6855f620796c7ac1588a085d25 100644 (file)
@@ -1077,7 +1077,7 @@ class WM_OT_properties_context_change(Operator):
 
     context = StringProperty(
             name="Context",
-            maxlen=32,
+            maxlen=64,
             )
 
     def execute(self, context):
index 3c1f910814a369785e9986f59c8b9187a88e0eae..3011f55fcb32bcacd294e295d5f0e4a375df221e 100644 (file)
@@ -70,8 +70,12 @@ class MotionPathButtonsPanel():
             else:
                 col.operator("object.paths_update", text="Update Paths", icon='OBJECT_DATA')
         else:
-            col.label(text="Not available yet...", icon='ERROR')
-            col.label(text="Calculate Paths first", icon='INFO')
+            sub = col.column(align=True)
+            sub.label(text="Nothing to show yet...", icon='ERROR')
+            if bones:
+                sub.operator("pose.paths_calculate", text="Calculate...", icon='BONE_DATA')
+            else:
+                sub.operator("object.paths_calculate", text="Calculate...", icon='OBJECT_DATA')
 
         # Display Settings
         split = layout.split()
index 6bec652045e3aa6f5e91be258b8db3ac1e3b487f..1b7a8f4a66ee5f16ba1240bcca57cb856e294033 100644 (file)
@@ -130,7 +130,7 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, Panel):
         col.active = (ob.proxy is None)
         col.operator("pose.group_add", icon='ZOOMIN', text="")
         col.operator("pose.group_remove", icon='ZOOMOUT', text="")
-        col.menu("DATA_PT_bone_group_specials", icon='DOWNARROW_HLT', text="")
+        col.menu("DATA_PT_bone_group_specials", icon='BLANK1', text="")
         if group:
             col.separator()
             col.operator("pose.group_move", icon='TRIA_UP', text="").direction = 'UP'
index fd96fa4a0cef95f6cbea4971d6b6684368e47a18..e23db7c59a110e6eeab6ffa9ac53db841751ea77 100644 (file)
@@ -149,7 +149,7 @@ class DATA_PT_vertex_groups(MeshButtonsPanel, Panel):
         col = row.column(align=True)
         col.operator("object.vertex_group_add", icon='ZOOMIN', text="")
         col.operator("object.vertex_group_remove", icon='ZOOMOUT', text="")
-        col.menu("MESH_MT_vertex_group_specials", icon='DOWNARROW_HLT', text="")
+        col.menu("MESH_MT_vertex_group_specials", icon='BLANK1', text="")
         if group:
             col.operator("object.vertex_group_move", icon='TRIA_UP', text="").direction = 'UP'
             col.operator("object.vertex_group_move", icon='TRIA_DOWN', text="").direction = 'DOWN'
@@ -208,7 +208,7 @@ class DATA_PT_shape_keys(MeshButtonsPanel, Panel):
         sub = col.column(align=True)
         sub.operator("object.shape_key_add", icon='ZOOMIN', text="").from_mix = False
         sub.operator("object.shape_key_remove", icon='ZOOMOUT', text="")
-        sub.menu("MESH_MT_shape_key_specials", icon='DOWNARROW_HLT', text="")
+        sub.menu("MESH_MT_shape_key_specials", icon='BLANK1', text="")
 
         if kb:
             col.separator()
@@ -262,6 +262,7 @@ class DATA_PT_shape_keys(MeshButtonsPanel, Panel):
                     col.prop_search(kb, "relative_key", key, "key_blocks", text="")
 
             else:
+                layout.prop(kb, "interpolation")
                 row = layout.column()
                 row.active = enable_edit_value
                 row.prop(key, "eval_time")
index 218585c320f2173c52e53e387ff85a3e48d78e5d..72429743c934866732423aa62b0327de308fe4c1 100644 (file)
@@ -959,5 +959,29 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         layout.separator()
         self.vertex_weight_mask(layout, ob, md)
 
+    def SKIN(self, layout, ob, md):
+        layout.operator("object.skin_armature_create", text="Create Armature")
+
+        layout.separator()
+        layout.prop(md, "branch_smoothing")
+        layout.prop(md, "use_smooth_shade")
+
+        layout.label(text="Selected Vertices:")
+        split = layout.split()
+        
+        col = split.column(align=True)
+        col.operator("object.skin_loose_mark_clear", text="Mark Loose").action = "MARK"
+        col.operator("object.skin_loose_mark_clear", text="Clear Loose").action = "CLEAR"
+
+        col = split.column()
+        col.operator("object.skin_root_mark", text="Mark Root")
+        col.operator("object.skin_radii_equalize", text="Equalize Radii")
+
+        layout.label(text="Symmetry Axes:")
+        col = layout.column()
+        col.prop(md, "use_x_symmetry")
+        col.prop(md, "use_y_symmetry")
+        col.prop(md, "use_z_symmetry")
+        
 if __name__ == "__main__":  # only for live edit.
     bpy.utils.register_module(__name__)
index 6e66bd0d98bf2f5e6842be8dbf8c0e6a82afdb21..d2fe40fe9dc58fdf0c2b65387aaa67f107580e11 100644 (file)
@@ -110,7 +110,7 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel, Panel):
             col.operator("object.material_slot_add", icon='ZOOMIN', text="")
             col.operator("object.material_slot_remove", icon='ZOOMOUT', text="")
 
-            col.menu("MATERIAL_MT_specials", icon='DOWNARROW_HLT', text="")
+            col.menu("MATERIAL_MT_specials", icon='BLANK1', text="")
 
             if ob.mode == 'EDIT':
                 row = layout.row(align=True)
index 1d5e96cf7016cc14c5a7e336a0b967d126c4d6b0..976684ea742b60681651c4c89489260403e1b760 100644 (file)
@@ -130,7 +130,7 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel, Panel):
             col = row.column(align=True)
             col.operator("texture.slot_move", text="", icon='TRIA_UP').type = 'UP'
             col.operator("texture.slot_move", text="", icon='TRIA_DOWN').type = 'DOWN'
-            col.menu("TEXTURE_MT_specials", icon='DOWNARROW_HLT', text="")
+            col.menu("TEXTURE_MT_specials", icon='BLANK1', text="")
 
         split = layout.split(percentage=0.65)
         col = split.column()
@@ -511,7 +511,7 @@ class TEXTURE_PT_envmap(TextureTypePanel, Panel):
 
         row = layout.row()
         row.prop(env, "source", expand=True)
-        row.menu("TEXTURE_MT_envmap_specials", icon='DOWNARROW_HLT', text="")
+        row.menu("TEXTURE_MT_envmap_specials", icon='BLANK1', text="")
 
         if env.source == 'IMAGE_FILE':
             layout.template_ID(tex, "image", open="image.open")
index 11c258ef689197626dd58828ba4f1ddb97ad9f0f..fd47b3b809c13e0df34cc76c4292784cd12ea38c 100644 (file)
@@ -225,5 +225,23 @@ class NODE_PT_quality(bpy.types.Panel):
         layout.prop(tree, "chunksize")
         layout.prop(tree, "use_opencl")
 
+        
+class NODE_MT_node_color_presets(Menu):
+    """Predefined node color"""
+    bl_label = "Color Presets"
+    preset_subdir = "node_color"
+    preset_operator = "script.execute_preset"
+    draw = Menu.draw_preset
+
+
+class NODE_MT_node_color_specials(Menu):
+    bl_label = "Node Color Specials"
+
+    def draw(self, context):
+        layout = self.layout
+
+        layout.operator('node.node_copy_color', icon='COPY_ID')
+
+        
 if __name__ == "__main__":  # only for live edit.
     bpy.utils.register_module(__name__)
index e78176fac0fc08aef618b8cc03fd42f943d0bd8b..454541f7069e801c2fc0b9ab7063b6bc067f15b8 100644 (file)
@@ -873,6 +873,8 @@ class VIEW3D_PT_sculpt_options(Panel, View3DPaintPanel):
         layout.prop(sculpt, "show_brush")
         layout.prop(sculpt, "use_deform_only")
 
+        layout.prop(sculpt, "input_samples")
+
         self.unified_paint_settings(layout, context)
 
 
@@ -985,6 +987,8 @@ class VIEW3D_PT_tools_weightpaint_options(Panel, View3DPaintPanel):
             col.prop(mesh, "use_mirror_x")
             col.prop(mesh, "use_mirror_topology")
 
+        col.prop(wpaint, "input_samples")
+        
         self.unified_paint_settings(col, context)
 
 # Commented out because the Apply button isn't an operator yet, making these settings useless
@@ -1015,6 +1019,8 @@ class VIEW3D_PT_tools_vertexpaint(Panel, View3DPaintPanel):
         col.prop(vpaint, "use_normal")
         col.prop(vpaint, "use_spray")
 
+        col.prop(vpaint, "input_samples")
+
         self.unified_paint_settings(col, context)
 
 # Commented out because the Apply button isn't an operator yet, making these settings useless
index 7cc5d16dcc1c70d704f527772c8ab374b6c7ca81..596c4a7d7b82d04edea4bc8597938b5e0f54944f 100644 (file)
@@ -42,7 +42,7 @@ extern "C" {
  * and keep comment above the defines.
  * Use STRINGIFY() rather than defining with quotes */
 #define BLENDER_VERSION         263
-#define BLENDER_SUBVERSION      5
+#define BLENDER_SUBVERSION      6
 
 #define BLENDER_MINVERSION      250
 #define BLENDER_MINSUBVERSION   0
index 4240ef16100354034affc1719151667043f9915f..1ad451b0937a6bd280c1e2d3b579b7395507a4bc 100644 (file)
@@ -55,9 +55,9 @@ struct Key *copy_key_nolib(struct Key *key);
 void BKE_key_make_local(struct Key *key);
 void sort_keys(struct Key *key);
 
-void key_curve_position_weights(float t, float *data, int type);
-void key_curve_tangent_weights(float t, float *data, int type);
-void key_curve_normal_weights(float t, float *data, int type);
+void key_curve_position_weights(float t, float data[4], int type);
+void key_curve_tangent_weights(float t, float data[4], int type);
+void key_curve_normal_weights(float t, float data[4], int type);
 
 float *do_ob_key(struct Scene *scene, struct Object *ob);
 
index c168c39fd9f21c2388607201c9b318bca1e4c3b7..7abec07464701a6f57911c83963bf3eea0a6365e 100644 (file)
@@ -111,6 +111,10 @@ int poly_find_loop_from_vert(const struct MPoly *poly,
 int poly_get_adj_loops_from_vert(unsigned adj_r[3], const struct MPoly *poly,
                                  const struct MLoop *mloop, unsigned vert);
 
+/* Return the index of the edge vert that is not equal to 'v'. If
+ * neither edge vertex is equal to 'v', returns -1. */
+int BKE_mesh_edge_other_vert(const struct MEdge *e, int v);
+
 /* update the hide flag for edges and polys from the corresponding
  * flag in verts */
 void BKE_mesh_flush_hidden_from_verts(const struct MVert *mvert,
index cb899dcc902df11490b9f11dc4a1961245e1fe62..2632a982a01161b4547f7ada3a0928eb7bce4343 100644 (file)
@@ -248,6 +248,12 @@ typedef struct bNodeType {
 #define NODE_OLD_SHADING       1
 #define NODE_NEW_SHADING       2
 
+/* node resize directions */
+#define NODE_RESIZE_TOP                1
+#define NODE_RESIZE_BOTTOM     2
+#define NODE_RESIZE_RIGHT      4
+#define NODE_RESIZE_LEFT       8
+
 /* enum values for input/output */
 #define SOCK_IN                1
 #define SOCK_OUT       2
@@ -348,7 +354,8 @@ void                        nodeRemLink(struct bNodeTree *ntree, struct bNodeLink *link);
 void                   nodeRemSocketLinks(struct bNodeTree *ntree, struct bNodeSocket *sock);
 void                   nodeInternalRelink(struct bNodeTree *ntree, struct bNode *node);
 
-void                   nodeSpaceCoords(struct bNode *node, float *locx, float *locy);
+void                   nodeToView(struct bNode *node, float x, float y, float *rx, float *ry);
+void                   nodeFromView(struct bNode *node, float x, float y, float *rx, float *ry);
 void                   nodeAttachNode(struct bNode *node, struct bNode *parent);
 void                   nodeDetachNode(struct bNode *node);
 
index 1cdf2ee2e14f082190daa3e06059d8791f3768e1..890fc40c2847672ae1337e0781298498dc979939 100644 (file)
@@ -53,6 +53,7 @@ struct MovieClip;
 void BKE_object_workob_clear(struct Object *workob);
 void BKE_object_workob_calc_parent(struct Scene *scene, struct Object *ob, struct Object *workob);
 
+void BKE_object_transform_copy(struct Object *ob_tar, const struct Object *ob_src);
 struct SoftBody *copy_softbody(struct SoftBody *sb);
 struct BulletSoftBody *copy_bulletsoftbody(struct BulletSoftBody *sb);
 void BKE_object_copy_particlesystems(struct Object *obn, struct Object *ob);
index 7223008afad8fc686cc6080295dfc5ae17b0ef5e..e99fc413ca14f24dc9bcaac5b5616ceb462c62e2 100644 (file)
@@ -153,6 +153,8 @@ typedef struct ARegionType {
        int keymapflag;
        /* return without drawing. lock is set by region definition, and copied to do_lock by render. can become flag */
        short do_lock, lock;
+       /* call cursor function on each move event */
+       short event_cursor;
 } ARegionType;
 
 /* panel types */
index f019287144d0c12c2c4094ef05869fdb3772d870..741d4b729ae45baa02fcc07fa46a3d5bf454bb7a 100644 (file)
@@ -1329,7 +1329,7 @@ struct ImBuf *BKE_brush_gen_radial_control_imbuf(Brush *br)
 
        for (i = 0; i < side; ++i) {
                for (j = 0; j < side; ++j) {
-                       float magn = sqrt(pow(i - half, 2) + pow(j - half, 2));
+                       float magn = sqrtf(powf(i - half, 2) + powf(j - half, 2));
                        im->rect_float[i * side + j] = BKE_brush_curve_strength_clamp(br, magn, half);
                }
        }
index a34d2ecd47a0e53a9d0d65ac316c9a3e3ef1a388..4a07e4b56c7fc9aa1ee02bd716d7963220ca8a09 100644 (file)
@@ -1891,6 +1891,14 @@ DerivedMesh *CDDM_from_BMEditMesh(BMEditMesh *em, Mesh *UNUSED(me), int use_mdis
                
                med->flag = BM_edge_flag_to_mflag(eed);
 
+               /* handle this differently to editmode switching,
+                * only enable draw for single user edges rather then calculating angle */
+               if ((med->flag & ME_EDGEDRAW) == 0) {
+                       if (eed->l && eed->l == eed->l->radial_next) {
+                               med->flag |= ME_EDGEDRAW;
+                       }
+               }
+
                CustomData_from_bmesh_block(&bm->edata, &dm->edgeData, eed->head.data, i);
                if (add_orig) *index = i;
        }
index b38f0f78cdb6ecd56867a0e05eadf4706aa73a39..e067b7195ce1c75e4e29c8e3f385cc0b525994bc 100644 (file)
@@ -429,10 +429,10 @@ static DerivedMesh *cloth_to_triangles(DerivedMesh *dm)
        MFace *mface2 = NULL;
 
        /* calc faces */
-       for(i = 0; i < numfaces; i++)
-       {
-               if(mface[i].v4)
+       for (i = 0; i < numfaces; i++) {
+               if (mface[i].v4) {
                        quads++;
+               }
        }
                
        result = CDDM_from_template(dm, dm->getNumVerts(dm), 0, numfaces + quads, 0, 0);
@@ -443,8 +443,7 @@ static DerivedMesh *cloth_to_triangles(DerivedMesh *dm)
        DM_ensure_tessface(result);
        mface2 = result->getTessFaceArray(result);
 
-       for(i = 0, j = numfaces; i < numfaces; i++)
-       {
+       for (i = 0, j = numfaces; i < numfaces; i++) {
                // DG TODO: is this necessary?
                mface2[i].v1 = mface[i].v1;
                mface2[i].v2 = mface[i].v2;
@@ -453,8 +452,7 @@ static DerivedMesh *cloth_to_triangles(DerivedMesh *dm)
                mface2[i].v4 = 0;
                //test_index_face(&mface2[i], &result->faceData, i, 3);
 
-               if(mface[i].v4)
-               {
+               if (mface[i].v4) {
                        DM_copy_tessface_data(dm, result, i, j, 1);
 
                        mface2[j].v1 = mface[i].v1;
index a93653537c7968a4924527cb3ca35d12aa140a69..7c5cf68affa9e2ee381df1895e7bce7b613fbba8 100644 (file)
@@ -345,19 +345,17 @@ static int cloth_collision_response_static ( ClothModifierData *clmd, CollisionM
                        }
                }
 
-               if(result)
-               {
+               if (result) {
                        int i = 0;
 
-                       for(i = 0; i < 3; i++)
-                       {
-                               if(cloth1->verts[collpair->ap1].impulse_count > 0 && ABS(cloth1->verts[collpair->ap1].impulse[i]) < ABS(i1[i]))
+                       for (i = 0; i < 3; i++) {
+                               if (cloth1->verts[collpair->ap1].impulse_count > 0 && ABS(cloth1->verts[collpair->ap1].impulse[i]) < ABS(i1[i]))
                                        cloth1->verts[collpair->ap1].impulse[i] = i1[i];
 
-                               if(cloth1->verts[collpair->ap2].impulse_count > 0 && ABS(cloth1->verts[collpair->ap2].impulse[i]) < ABS(i2[i]))
+                               if (cloth1->verts[collpair->ap2].impulse_count > 0 && ABS(cloth1->verts[collpair->ap2].impulse[i]) < ABS(i2[i]))
                                        cloth1->verts[collpair->ap2].impulse[i] = i2[i];
 
-                               if(cloth1->verts[collpair->ap3].impulse_count > 0 && ABS(cloth1->verts[collpair->ap3].impulse[i]) < ABS(i3[i]))
+                               if (cloth1->verts[collpair->ap3].impulse_count > 0 && ABS(cloth1->verts[collpair->ap3].impulse[i]) < ABS(i3[i]))
                                        cloth1->verts[collpair->ap3].impulse[i] = i3[i];
                        }
                }
@@ -681,8 +679,9 @@ static int cloth_bvh_objcollisions_resolve ( ClothModifierData * clmd, Collision
                        }
                }
 
-               if(!result)
+               if (!result) {
                        break;
+               }
        }
        return ret;
 }
index a1f87762db79da4211c96aa5920abb2af1c5a862..da9350cc7b9de704ee4033d359191588d8626408 100644 (file)
@@ -3155,7 +3155,7 @@ static void clampto_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *tar
                                        /* find bounding-box range where target is located */
                                        if (ownLoc[clamp_axis] < curveMin[clamp_axis]) {
                                                /* bounding-box range is before */
-                                               offset = curveMin[clamp_axis] - ceil((curveMin[clamp_axis] - ownLoc[clamp_axis]) / len) * len;
+                                               offset = curveMin[clamp_axis] - ceilf((curveMin[clamp_axis] - ownLoc[clamp_axis]) / len) * len;
 
                                                /* now, we calculate as per normal, except using offset instead of curveMin[clamp_axis] */
                                                curvetime = (ownLoc[clamp_axis] - offset) / (len);
index 56724b6ada9dc97e155f71559d6d8a1c1b50a4b2..4e7653e24737838037d2788d4a25b90aa3af780f 100644 (file)
@@ -992,6 +992,38 @@ static void layerInterp_shapekey(void **sources, float *weights,
        }
 }
 
+static void layerDefault_mvert_skin(void *data, int count)
+{
+       MVertSkin *vs = data;
+       int i;
+       
+       for (i = 0; i < count; i++) {
+               copy_v3_fl(vs[i].radius, 0.25f);
+               vs[i].flag = 0;
+       }
+}
+
+static void layerInterp_mvert_skin(void **sources, float *weights,
+                                   float *UNUSED(sub_weights),
+                                   int count, void *dest)
+{
+       float radius[3], w;
+       MVertSkin *vs;
+       int i;
+
+       zero_v3(radius);
+       for (i = 0; i < count; i++) {
+               w = weights ? weights[i] : 1.0f;
+               vs = sources[i];
+
+               madd_v3_v3fl(radius, vs->radius, w);
+       }
+
+       vs = dest;
+       copy_v3_v3(vs->radius, radius);
+       vs->flag &= ~MVERT_SKIN_ROOT;
+}
+
 static const LayerTypeInfo LAYERTYPEINFO[CD_NUMTYPES] = {
        /* 0: CD_MVERT */
        {sizeof(MVert), "MVert", 1, NULL, NULL, NULL, NULL, NULL, NULL},
@@ -1093,7 +1125,10 @@ static const LayerTypeInfo LAYERTYPEINFO[CD_NUMTYPES] = {
        {sizeof(float), "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
        /* 35: CD_GRID_PAINT_MASK */
        {sizeof(GridPaintMask), "GridPaintMask", 1, NULL, layerCopy_grid_paint_mask,
-        layerFree_grid_paint_mask, NULL, NULL, NULL}
+        layerFree_grid_paint_mask, NULL, NULL, NULL},
+       /* 36: CD_SKIN_NODE */
+       {sizeof(MVertSkin), "MVertSkin", 1, "Skin", NULL, NULL,
+        layerInterp_mvert_skin, NULL, layerDefault_mvert_skin}
 };
 
 /* note, numbers are from trunk and need updating for bmesh */
@@ -1108,10 +1143,7 @@ static const char *LAYERTYPENAMES[CD_NUMTYPES] = {
 /* BMESH ONLY */
        /* 25-29 */ "CDMPoly", "CDMLoop", "CDShapeKeyIndex", "CDShapeKey", "CDBevelWeight",
        /* 30-34 */ "CDSubSurfCrease", "CDOrigSpaceLoop", "CDPreviewLoopCol", "CDBMElemPyPtr", "CDPaintMask",
-       /*    35 */ "CDGridPaintMask"
-
-/* END BMESH ONLY */
-
+       /* 35-36 */ "CDGridPaintMask", "CDMVertSkin"
 };
 
 
@@ -1123,26 +1155,26 @@ const CustomDataMask CD_MASK_MESH =
     CD_MASK_PROP_FLT | CD_MASK_PROP_INT | CD_MASK_PROP_STR | CD_MASK_MDISPS |
     CD_MASK_MLOOPUV | CD_MASK_MLOOPCOL | CD_MASK_MPOLY | CD_MASK_MLOOP |
     CD_MASK_MTEXPOLY | CD_MASK_NORMAL | CD_MASK_RECAST | CD_MASK_PAINT_MASK |
-    CD_MASK_GRID_PAINT_MASK;
+    CD_MASK_GRID_PAINT_MASK | CD_MASK_MVERT_SKIN;
 const CustomDataMask CD_MASK_EDITMESH =
     CD_MASK_MSTICKY | CD_MASK_MDEFORMVERT | CD_MASK_MTFACE | CD_MASK_MLOOPUV |
     CD_MASK_MLOOPCOL | CD_MASK_MTEXPOLY | CD_MASK_SHAPE_KEYINDEX |
     CD_MASK_MCOL | CD_MASK_PROP_FLT | CD_MASK_PROP_INT | CD_MASK_PROP_STR |
     CD_MASK_MDISPS | CD_MASK_SHAPEKEY | CD_MASK_RECAST | CD_MASK_PAINT_MASK |
-    CD_MASK_GRID_PAINT_MASK;
+    CD_MASK_GRID_PAINT_MASK | CD_MASK_MVERT_SKIN;
 const CustomDataMask CD_MASK_DERIVEDMESH =
     CD_MASK_MSTICKY | CD_MASK_MDEFORMVERT | CD_MASK_MTFACE |
     CD_MASK_MCOL | CD_MASK_PROP_FLT | CD_MASK_PROP_INT | CD_MASK_CLOTH_ORCO |
     CD_MASK_MLOOPUV | CD_MASK_MLOOPCOL | CD_MASK_MTEXPOLY | CD_MASK_PREVIEW_MLOOPCOL |
     CD_MASK_PROP_STR | CD_MASK_ORIGSPACE | CD_MASK_ORIGSPACE_MLOOP | CD_MASK_ORCO | CD_MASK_TANGENT |
     CD_MASK_PREVIEW_MCOL | CD_MASK_NORMAL | CD_MASK_SHAPEKEY | CD_MASK_RECAST |
-    CD_MASK_ORIGINDEX | CD_MASK_POLYINDEX;
+    CD_MASK_ORIGINDEX | CD_MASK_POLYINDEX | CD_MASK_MVERT_SKIN;
 const CustomDataMask CD_MASK_BMESH =
     CD_MASK_MLOOPUV | CD_MASK_MLOOPCOL | CD_MASK_MTEXPOLY |
     CD_MASK_MSTICKY | CD_MASK_MDEFORMVERT | CD_MASK_PROP_FLT | CD_MASK_PROP_INT |
     CD_MASK_PROP_STR | CD_MASK_SHAPEKEY | CD_MASK_SHAPE_KEYINDEX | CD_MASK_MDISPS |
     CD_MASK_CREASE | CD_MASK_BWEIGHT | CD_MASK_RECAST | CD_MASK_PAINT_MASK |
-    CD_MASK_GRID_PAINT_MASK;
+    CD_MASK_GRID_PAINT_MASK | CD_MASK_MVERT_SKIN;
 const CustomDataMask CD_MASK_FACECORNERS =
     CD_MASK_MTFACE | CD_MASK_MCOL | CD_MASK_MTEXPOLY | CD_MASK_MLOOPUV |
     CD_MASK_MLOOPCOL;
index f1000a95e95f46cd5a41a4a51ea5605b4a2f486d..e0c3b257273dfb670a54125f93e662a6f89354ff 100644 (file)
@@ -1688,6 +1688,20 @@ DerivedMesh *getEditDerivedBMesh(BMEditMesh *em,
                }
        }
 
+       if (CustomData_has_layer(&bm->vdata, CD_MVERT_SKIN)) {
+               BMIter iter;
+               BMVert *eve;
+               int i;
+
+               DM_add_vert_layer(&bmdm->dm, CD_MVERT_SKIN, CD_CALLOC, NULL);
+
+               BM_ITER_MESH_INDEX (eve, &iter, bmdm->tc->bm, BM_VERTS_OF_MESH, i) {
+                       DM_set_vert_data(&bmdm->dm, i, CD_MVERT_SKIN,
+                                                        CustomData_bmesh_get(&bm->vdata, eve->head.data,
+                                                                                                 CD_MVERT_SKIN));
+               }
+       }
+
        if (vertexCos) {
                BMFace *efa;
                BMVert *eve;
index e1bc1af2519fc2442e86cf27fa420c5f5c664a67..deb294a6738a0770b5ecd2cafba0272d0229da03 100644 (file)
@@ -271,7 +271,7 @@ void sort_keys(Key *key)
 
 /**************** do the key ****************/
 
-void key_curve_position_weights(float t, float *data, int type)
+void key_curve_position_weights(float t, float data[4], int type)
 {
        float t2, t3, fc;
        
@@ -303,7 +303,7 @@ void key_curve_position_weights(float t, float *data, int type)
 }
 
 /* first derivative */
-void key_curve_tangent_weights(float t, float *data, int type)
+void key_curve_tangent_weights(float t, float data[4], int type)
 {
        float t2, fc;
        
@@ -333,7 +333,7 @@ void key_curve_tangent_weights(float t, float *data, int type)
 }
 
 /* second derivative */
-void key_curve_normal_weights(float t, float *data, int type)
+void key_curve_normal_weights(float t, float data[4], int type)
 {
        float fc;
        
@@ -359,11 +359,11 @@ void key_curve_normal_weights(float t, float *data, int type)
        }
 }
 
-static int setkeys(float fac, ListBase *lb, KeyBlock *k[], float *t, int cycl)
+static int setkeys(float fac, ListBase *lb, KeyBlock *k[], float t[4], int cycl)
 {
        /* return 1 means k[2] is the position, return 0 means interpolate */
        KeyBlock *k1, *firstkey;
-       float d, dpos, ofs = 0, lastpos, temp, fval[4];
+       float d, dpos, ofs = 0, lastpos;
        short bsplinetype;
 
        firstkey = lb->first;
@@ -467,17 +467,12 @@ static int setkeys(float fac, ListBase *lb, KeyBlock *k[], float *t, int cycl)
        }
 
        /* interpolation */
-       
        key_curve_position_weights(d, t, k[1]->type);
 
        if (k[1]->type != k[2]->type) {
-               key_curve_position_weights(d, fval, k[2]->type);
-               
-               temp = 1.0f - d;
-               t[0] = temp * t[0] + d * fval[0];
-               t[1] = temp * t[1] + d * fval[1];
-               t[2] = temp * t[2] + d * fval[2];
-               t[3] = temp * t[3] + d * fval[3];
+               float t_other[4];
+               key_curve_position_weights(d, t_other, k[2]->type);
+               interp_v4_v4v4(t, t, t_other, d);
        }
 
        return 0;
index 025ea40e82b66b640e5633629666bb458278060b..15db290ff14887313cd13487999495a026ee841c 100644 (file)
@@ -662,7 +662,8 @@ void curve_deform_verts(Scene *scene, Object *cuOb, Object *target,
                        use_vgroups = (dm->getVertData(dm, 0, CD_MDEFORMVERT) != NULL);
                }
                else {
-                       use_vgroups = FALSE;
+                       Mesh *me = target->data;
+                       use_vgroups = (me->dvert != NULL);
                }
        }
        else {
@@ -807,7 +808,8 @@ void lattice_deform_verts(Object *laOb, Object *target, DerivedMesh *dm,
                        use_vgroups = (dm->getVertData(dm, 0, CD_MDEFORMVERT) != NULL);
                }
                else {
-                       use_vgroups = FALSE;
+                       Mesh *me = target->data;
+                       use_vgroups = (me->dvert != NULL);
                }
        }
        else {
index a89cb042884cf451dc1599f58af688f8caa77c86..9eb74986b29de30f843fa5963d0cdbebe4efad37 100644 (file)
@@ -2996,6 +2996,18 @@ int poly_get_adj_loops_from_vert(unsigned adj_r[3], const MPoly *poly,
        return corner;
 }
 
+/* Return the index of the edge vert that is not equal to 'v'. If
+ * neither edge vertex is equal to 'v', returns -1. */
+int BKE_mesh_edge_other_vert(const MEdge *e, int v)
+{
+       if (e->v1 == v)
+               return e->v2;
+       else if (e->v2 == v)
+               return e->v1;
+       else
+               return -1;
+}
+
 /* update the hide flag for edges and faces from the corresponding
  * flag in verts */
 void BKE_mesh_flush_hidden_from_verts(const MVert *mvert,
index fc62d69d002193f4a1ee306e314f62790ae6e21e..445105d254a5f1649a29838d329bb77a24a997e0 100644 (file)
@@ -336,6 +336,7 @@ bNode *nodeAddNode(bNodeTree *ntree, struct bNodeTemplate *ntemp)
        node->width= ntype->width;
        node->miniwidth= 42.0f;
        node->height= ntype->height;
+       node->color[0] = node->color[1] = node->color[2] = 0.608;       /* default theme color */
        
        node_add_sockets_from_type(ntree, node, ntype);
        
@@ -591,40 +592,49 @@ void nodeInternalRelink(bNodeTree *ntree, bNode *node)
        BLI_freelistN(&intlinks);
 }
 
-/* transforms node location to area coords */
-void nodeSpaceCoords(bNode *node, float *locx, float *locy)
+void nodeToView(bNode *node, float x, float y, float *rx, float *ry)
 {
        if (node->parent) {
-               nodeSpaceCoords(node->parent, locx, locy);
-               *locx += node->locx;
-               *locy += node->locy;
+               nodeToView(node->parent, x + node->locx, y + node->locy, rx, ry);
        }
        else {
-               *locx = node->locx;
-               *locy = node->locy;
+               *rx = x + node->locx;
+               *ry = y + node->locy;
+       }
+}
+
+void nodeFromView(bNode *node, float x, float y, float *rx, float *ry)
+{
+       if (node->parent) {
+               nodeFromView(node->parent, x, y, rx, ry);
+               *rx -= node->locx;
+               *ry -= node->locy;
+       }
+       else {
+               *rx = x - node->locx;
+               *ry = y - node->locy;
        }
 }
 
 void nodeAttachNode(bNode *node, bNode *parent)
 {
-       float parentx, parenty;
+       float locx, locy;
+       nodeToView(node, 0.0f, 0.0f, &locx, &locy);
        
        node->parent = parent;
        /* transform to parent space */
-       nodeSpaceCoords(parent, &parentx, &parenty);
-       node->locx -= parentx;
-       node->locy -= parenty;
+       nodeFromView(parent, locx, locy, &node->locx, &node->locy);
 }
 
 void nodeDetachNode(struct bNode *node)
 {
-       float parentx, parenty;
+       float locx, locy;
        
        if (node->parent) {
-               /* transform to "global" (area) space */
-               nodeSpaceCoords(node->parent, &parentx, &parenty);
-               node->locx += parentx;
-               node->locy += parenty;
+               /* transform to view space */
+               nodeToView(node, 0.0f, 0.0f, &locx, &locy);
+               node->locx = locx;
+               node->locy = locy;
                node->parent = NULL;
        }
 }
index 658a050d4d1cbe9c4dabf7ef773b441fc7dce275..6b9253e96571fdf5acf179b28bccc09d52b0630b 100644 (file)
@@ -1036,6 +1036,10 @@ static void copy_object_pose(Object *obn, Object *ob)
                
                chan->flag &= ~(POSE_LOC | POSE_ROT | POSE_SIZE);
                
+               if (chan->custom) {
+                       id_us_plus(&chan->custom->id);
+               }
+               
                for (con = chan->constraints.first; con; con = con->next) {
                        bConstraintTypeInfo *cti = constraint_get_typeinfo(con);
                        ListBase targets = {NULL, NULL};
@@ -1086,7 +1090,7 @@ Object *BKE_object_pose_armature_get(Object *ob)
        return NULL;
 }
 
-static void copy_object_transform(Object *ob_tar, Object *ob_src)
+void BKE_object_transform_copy(Object *ob_tar, const Object *ob_src)
 {
        copy_v3_v3(ob_tar->loc, ob_src->loc);
        copy_v3_v3(ob_tar->rot, ob_src->rot);
@@ -1361,7 +1365,7 @@ void BKE_object_make_proxy(Object *ob, Object *target, Object *gob)
                BKE_object_apply_mat4(ob, ob->obmat, FALSE, TRUE);
        }
        else {
-               copy_object_transform(ob, target);
+               BKE_object_transform_copy(ob, target);
                ob->parent = target->parent; /* libdata */
                copy_m4_m4(ob->parentinv, target->parentinv);
        }
@@ -3026,10 +3030,12 @@ int BKE_object_is_animated(Scene *scene, Object *ob)
        ModifierData *md;
 
        for (md = modifiers_getVirtualModifierList(ob); md; md = md->next)
-               if(modifier_dependsOnTime(md) && 
-                       (modifier_isEnabled(scene, md, eModifierMode_Realtime) || 
-                       modifier_isEnabled(scene, md, eModifierMode_Render)))
+               if (modifier_dependsOnTime(md) &&
+                   (modifier_isEnabled(scene, md, eModifierMode_Realtime) ||
+                    modifier_isEnabled(scene, md, eModifierMode_Render)))
+               {
                        return 1;
+               }
        return 0;
 }
 
index f483fd7dc8accb0ec52250b133d449a608c477ad..f676cfb2fb845c451fb9774bfc18cdf86122091a 100644 (file)
@@ -3292,9 +3292,9 @@ void BKE_ptcache_update_info(PTCacheID *pid)
                mb = (bytes > 1024.0f * 1024.0f);
 
                BLI_snprintf(mem_info, sizeof(mem_info), "%i frames in memory (%.1f %s)",
-                       totframes,
-                       bytes / (mb ? 1024.0f * 1024.0f : 1024.0f),
-                       mb ? "Mb" : "kb");
+                            totframes,
+                            bytes / (mb ? 1024.0f * 1024.0f : 1024.0f),
+                            mb ? "Mb" : "kb");
        }
 
        if (cache->flag & PTCACHE_OUTDATED) {
index c5ecaf8d49a23184a1be2797d1e30cc83c7133e6..63df006aa66aabf2e4c13c53895cd797910c9cd1 100644 (file)
@@ -3826,7 +3826,7 @@ static void direct_link_customdata(FileData *fd, CustomData *data, int count)
                        layer->data = newdataadr(fd, layer->data);
                        if (layer->type == CD_MDISPS)
                                direct_link_mdisps(fd, count, layer->data, layer->flag & CD_FLAG_EXTERNAL);
-                       else if(layer->type == CD_GRID_PAINT_MASK)
+                       else if (layer->type == CD_GRID_PAINT_MASK)
                                direct_link_grid_paint_mask(fd, count, layer->data);
                        i++;
                }
@@ -4897,8 +4897,10 @@ static void link_recurs_seq(FileData *fd, ListBase *lb)
 
 static void direct_link_paint(FileData *fd, Paint **paint)
 {
-/* TODO. is this needed */
+       /* TODO. is this needed */
        (*paint) = newdataadr(fd, (*paint));
+       if (*paint && (*paint)->num_input_samples < 1)
+               (*paint)->num_input_samples = 1;
 }
 
 static void direct_link_scene(FileData *fd, Scene *sce)
@@ -6793,6 +6795,29 @@ static void do_versions_nodetree_image_layer_2_64_5(bNodeTree *ntree)
        }
 }
 
+static void do_versions_nodetree_frame_2_64_6(bNodeTree *ntree)
+{
+       bNode *node;
+       
+       for (node=ntree->nodes.first; node; node=node->next) {
+               if (node->type==NODE_FRAME) {
+                       /* initialize frame node storage data */
+                       if (node->storage == NULL) {
+                               NodeFrame *data = (NodeFrame *)MEM_callocN(sizeof(NodeFrame), "frame node storage");
+                               node->storage = data;
+                               
+                               /* copy current flags */
+                               data->flag = node->custom1;
+                               
+                               data->label_size = 20;
+                       }
+               }
+               
+               /* initialize custom node color */
+               node->color[0] = node->color[1] = node->color[2] = 0.608;       /* default theme color */
+       }
+}
+
 static void do_versions(FileData *fd, Library *lib, Main *main)
 {
        /* WATCH IT!!!: pointers from libdata have not been converted */
@@ -7412,7 +7437,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
                        }
                }
                
-               for(cu = main->curve.first; cu; cu = cu->id.next) {
+               for (cu = main->curve.first; cu; cu = cu->id.next) {
                        if (cu->bevfac2 == 0.0f) {
                                cu->bevfac1 = 0.0f;
                                cu->bevfac2 = 1.0f;
@@ -7439,6 +7464,40 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
                        }
                }
        }
+
+       if (main->versionfile < 263 || (main->versionfile == 263 && main->subversionfile < 6))
+       {
+               /* update use flags for node sockets (was only temporary before) */
+               Scene *sce;
+               Material *mat;
+               Tex *tex;
+               Lamp *lamp;
+               World *world;
+               bNodeTree *ntree;
+               
+               for (sce=main->scene.first; sce; sce=sce->id.next)
+                       if (sce->nodetree)
+                               do_versions_nodetree_frame_2_64_6(sce->nodetree);
+               
+               for (mat=main->mat.first; mat; mat=mat->id.next)
+                       if (mat->nodetree)
+                               do_versions_nodetree_frame_2_64_6(mat->nodetree);
+               
+               for (tex=main->tex.first; tex; tex=tex->id.next)
+                       if (tex->nodetree)
+                               do_versions_nodetree_frame_2_64_6(tex->nodetree);
+               
+               for (lamp=main->lamp.first; lamp; lamp=lamp->id.next)
+                       if (lamp->nodetree)
+                               do_versions_nodetree_frame_2_64_6(lamp->nodetree);
+               
+               for (world=main->world.first; world; world=world->id.next)
+                       if (world->nodetree)
+                               do_versions_nodetree_frame_2_64_6(world->nodetree);
+               
+               for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next)
+                       do_versions_nodetree_frame_2_64_6(ntree);
+       }
        
        /* WATCH IT!!!: pointers from libdata have not been converted yet here! */
        /* WATCH IT 2!: Userdef struct init has to be in editors/interface/resources.c! */
index 297eb6027ae36e82e68fc3cc6cb4e5b9d351c5a5..f14837f096ed01570bdc96846e04b3961ba6002e 100644 (file)
@@ -1662,17 +1662,17 @@ static void write_mdisps(WriteData *wd, int count, MDisps *mdlist, int external)
 
 static void write_grid_paint_mask(WriteData *wd, int count, GridPaintMask *grid_paint_mask)
 {
-       if(grid_paint_mask) {
+       if (grid_paint_mask) {
                int i;
                
                writestruct(wd, DATA, "GridPaintMask", count, grid_paint_mask);
-               for(i = 0; i < count; ++i) {
+               for (i = 0; i < count; ++i) {
                        GridPaintMask *gpm = &grid_paint_mask[i];
-                       if(gpm->data) {
+                       if (gpm->data) {
                                const int gridsize = ccg_gridsize(gpm->level);
                                writedata(wd, DATA,
-                                                 sizeof(*gpm->data) * gridsize * gridsize,
-                                                 gpm->data);
+                                         sizeof(*gpm->data) * gridsize * gridsize,
+                                         gpm->data);
                        }
                }
        }
index c536a22cf5331bb2f64d1d5491f23464ace73d81..737efde8391f27713f4364e9fe1f8d0688d813d1 100644 (file)
@@ -225,9 +225,10 @@ enum {
                                  * when temp tagging is handy.
                                  * always assume dirty & clear before use. */
 
-       /* we have 2 spare flags which is awesome but since we're limited to 8
+       BM_ELEM_DRAW    = (1 << 5), /* edge display */
+
+       /* we have 1 spare flag which is awesome but since we're limited to 8
         * only add new flags with care! - campbell */
-       /* BM_ELEM_SPARE  = (1 << 5), */
        /* BM_ELEM_SPARE  = (1 << 6), */
 
        BM_ELEM_INTERNAL_TAG = (1 << 7) /* for low level internal API tagging,
index 684237b79c5d7218326f2bc2dca13e5ff844146f..589a5fbaa662e6b135ffbcbe17a2de3945b10aad 100644 (file)
@@ -973,6 +973,7 @@ char BM_edge_flag_from_mflag(const short meflag)
 {
        return ( ((meflag & SELECT)        ? BM_ELEM_SELECT : 0) |
                 ((meflag & ME_SEAM)       ? BM_ELEM_SEAM   : 0) |
+                ((meflag & ME_EDGEDRAW)   ? BM_ELEM_DRAW   : 0) |
                 ((meflag & ME_SHARP) == 0 ? BM_ELEM_SMOOTH : 0) | /* invert */
                 ((meflag & ME_HIDE)       ? BM_ELEM_HIDDEN : 0)
                 );
@@ -994,16 +995,18 @@ char  BM_vert_flag_to_mflag(BMVert *eve)
                 ((hflag & BM_ELEM_HIDDEN)  ? ME_HIDE : 0)
                 );
 }
+
 short BM_edge_flag_to_mflag(BMEdge *eed)
 {
        const char hflag = eed->head.hflag;
 
-       return ( ((hflag & BM_ELEM_SELECT)       ? SELECT    : 0) |
-                ((hflag & BM_ELEM_SEAM)         ? ME_SEAM   : 0) |
-                ((hflag & BM_ELEM_SMOOTH) == 0  ? ME_SHARP  : 0) |
-                ((hflag & BM_ELEM_HIDDEN)       ? ME_HIDE   : 0) |
-                ((BM_edge_is_wire(eed)) ? ME_LOOSEEDGE : 0) | /* not typical */
-                (ME_EDGEDRAW | ME_EDGERENDER)
+       return ( ((hflag & BM_ELEM_SELECT)       ? SELECT       : 0) |
+                ((hflag & BM_ELEM_SEAM)         ? ME_SEAM      : 0) |
+                ((hflag & BM_ELEM_DRAW)         ? ME_EDGEDRAW  : 0) |
+                ((hflag & BM_ELEM_SMOOTH) == 0  ? ME_SHARP     : 0) |
+                ((hflag & BM_ELEM_HIDDEN)       ? ME_HIDE      : 0) |
+                ((BM_edge_is_wire(eed))         ? ME_LOOSEEDGE : 0) | /* not typical */
+                ME_EDGERENDER
                 );
 }
 char  BM_face_flag_to_mflag(BMFace *efa)
index f64b55193c57e2274b9be8232b8a067030bd3d91..c39096d08003b14391f821993908bd08880b088d 100644 (file)
@@ -852,24 +852,24 @@ void BM_data_layer_copy(BMesh *bm, CustomData *data, int type, int src_n, int ds
                BMVert *eve;
 
                BM_ITER_MESH (eve, &iter, bm, BM_VERTS_OF_MESH) {
-                       void *ptr = CustomData_bmesh_get_n(data, eve->head.data, type, dst_n);
-                       CustomData_bmesh_set_n(data, eve->head.data, type, src_n, ptr);
+                       void *ptr = CustomData_bmesh_get_n(data, eve->head.data, type, src_n);
+                       CustomData_bmesh_set_n(data, eve->head.data, type, dst_n, ptr);
                }
        }
        else if (&bm->edata == data) {
                BMEdge *eed;
 
                BM_ITER_MESH (eed, &iter, bm, BM_EDGES_OF_MESH) {
-                       void *ptr = CustomData_bmesh_get_n(data, eed->head.data, type, dst_n);
-                       CustomData_bmesh_set_n(data, eed->head.data, type, src_n, ptr);
+                       void *ptr = CustomData_bmesh_get_n(data, eed->head.data, type, src_n);
+                       CustomData_bmesh_set_n(data, eed->head.data, type, dst_n, ptr);
                }
        }
        else if (&bm->pdata == data) {
                BMFace *efa;
 
                BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) {
-                       void *ptr = CustomData_bmesh_get_n(data, efa->head.data, type, dst_n);
-                       CustomData_bmesh_set_n(data, efa->head.data, type, src_n, ptr);
+                       void *ptr = CustomData_bmesh_get_n(data, efa->head.data, type, src_n);
+                       CustomData_bmesh_set_n(data, efa->head.data, type, dst_n, ptr);
                }
        }
        else if (&bm->ldata == data) {
@@ -879,8 +879,8 @@ void BM_data_layer_copy(BMesh *bm, CustomData *data, int type, int src_n, int ds
 
                BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) {
                        BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) {
-                               void *ptr = CustomData_bmesh_get_n(data, l->head.data, type, dst_n);
-                               CustomData_bmesh_set_n(data, l->head.data, type, src_n, ptr);
+                               void *ptr = CustomData_bmesh_get_n(data, l->head.data, type, src_n);
+                               CustomData_bmesh_set_n(data, l->head.data, type, dst_n, ptr);
                        }
                }
        }
index a69558eeeca619ddbcf8754d337ba77fac99ff7e..1720ee4f55a9cab86a6c5ba7341035297c5c21ff 100644 (file)
@@ -612,8 +612,6 @@ void BM_editselection_normal(BMEditSelection *ese, float r_normal[3])
        }
 }
 
-/* ref - editmesh_lib.cL:EM_editselection_plane() */
-
 /* Calculate a plane that is rightangles to the edge/vert/faces normal
  * also make the plane run along an axis that is related to the geometry,
  * because this is used for the manipulators Y axis. */
@@ -691,21 +689,9 @@ void BM_editselection_plane(BMEditSelection *ese, float r_plane[3])
                                }
                        }
                        else {
-                               /* BMESH_TODO (not urgent, use longest ngon edge for alignment) */
-
-                               /* start with v1-2 */
-                               sub_v3_v3v3(r_plane, verts[0]->co, verts[1]->co);
-
-                               /* test the edge between v2-3, use if longer */
-                               sub_v3_v3v3(vec, verts[1]->co, verts[2]->co);
-                               if (dot_v3v3(r_plane, r_plane) < dot_v3v3(vec, vec))
-                                       copy_v3_v3(r_plane, vec);
+                               BMLoop *l_long  = BM_face_find_longest_loop(efa);
 
-                               /* test the edge between v1-3, use if longer */
-                               sub_v3_v3v3(vec, verts[2]->co, verts[0]->co);
-                               if (dot_v3v3(r_plane, r_plane) < dot_v3v3(vec, vec)) {
-                                       copy_v3_v3(r_plane, vec);
-                               }
+                               sub_v3_v3v3(r_plane, l_long->v->co, l_long->next->v->co);
                        }
 
                }
index 351fb8e941bd35c890e0014ade3ab37dc4cc2e76..a8c27e0a7616054af647fa31018ff6adab473d83 100644 (file)
@@ -495,6 +495,9 @@ BLI_INLINE void bmesh_quick_edgedraw_flag(MEdge *med, BMEdge *e)
        {
                med->flag &= ~ME_EDGEDRAW;
        }
+       else {
+               med->flag |= ME_EDGEDRAW;
+       }
 }
 
 void BM_mesh_bm_to_me(BMesh *bm, Mesh *me, int dotess)
index f61f9666d6db2f35022f4eaa2042c6f3df48484a..94b221797b4f4d2ca94b1e64321a7364ddf5ce5b 100644 (file)
@@ -951,6 +951,64 @@ float BM_vert_calc_mean_tagged_edge_length(BMVert *v)
 }
 
 
+/**
+ * Returns the shortest edge in f.
+ */
+BMLoop *BM_face_find_shortest_loop(BMFace *f)
+{
+       BMLoop *shortest_loop = NULL;
+       float shortest_len = FLT_MAX;
+
+       BMLoop *l_iter;
+       BMLoop *l_first;
+
+       l_iter = l_first = BM_FACE_FIRST_LOOP(f);
+
+       do {
+               const float len = len_squared_v3v3(l_iter->v->co, l_iter->next->v->co);
+               if (len <= shortest_len) {
+                       shortest_loop = l_iter;
+                       shortest_len = len;
+               }
+       } while ((l_iter = l_iter->next) != l_first);
+
+       return shortest_loop;
+}
+
+/**
+ * Returns the longest edge in f.
+ */
+BMLoop *BM_face_find_longest_loop(BMFace *f)
+{
+       BMLoop *longest_loop = NULL;
+       float longest_len = 0.0f;
+
+       BMLoop *l_iter;
+       BMLoop *l_first;
+
+       l_iter = l_first = BM_FACE_FIRST_LOOP(f);
+
+       do {
+               const float len = len_squared_v3v3(l_iter->v->co, l_iter->next->v->co);
+               if (len >= longest_len) {
+                       longest_loop = l_iter;
+                       longest_len = len;
+               }
+       } while ((l_iter = l_iter->next) != l_first);
+
+       return longest_loop;
+}
+
+BMEdge *BM_face_find_shortest_edge(BMFace *f)
+{
+       return BM_face_find_shortest_loop(f)->e;
+}
+
+BMEdge *BM_face_find_longest_edge(BMFace *f)
+{
+       return BM_face_find_longest_loop(f)->e;
+}
+
 /**
  * Returns the edge existing between v1 and v2, or NULL if there isn't one.
  *
index 08e15884b3f35db61cc216d4cb1553a45d59b3a5..697990046be2a7e5a7f5f5d3e451b2927f4be62f 100644 (file)
@@ -67,6 +67,12 @@ float   BM_vert_calc_edge_angle(BMVert *v);
 float   BM_vert_calc_shell_factor(BMVert *v);
 float   BM_vert_calc_mean_tagged_edge_length(BMVert *v);
 
+BMEdge *BM_face_find_shortest_edge(BMFace *f);
+BMEdge *BM_face_find_longest_edge(BMFace *f);
+
+BMLoop *BM_face_find_shortest_loop(BMFace *f);
+BMLoop *BM_face_find_longest_loop(BMFace *f);
+
 BMEdge *BM_edge_exists(BMVert *v1, BMVert *v2);
 
 int     BM_face_exists_overlap(BMesh *bm, BMVert **varr, int len, BMFace **r_existface);
index 4bac54794bf34245fa3e71f58c6014246a4378f0..09b79376ff6f676f54a346e5dec6753f477b6b96 100644 (file)
 
 #include "MEM_guardedalloc.h"
 
+#include "DNA_meshdata_types.h"
+
 #include "BLI_math.h"
 #include "BLI_array.h"
 
+#include "BKE_customdata.h"
+
 #include "bmesh.h"
 
 #include "intern/bmesh_operators_private.h" /* own include */
@@ -167,6 +171,16 @@ static void bm_extrude_copy_face_loop_attributes(BMesh *bm, BMFace *f, BMEdge *e
        BM_elem_attrs_copy(bm, bm, l_src_1, l_dst_b);
 }
 
+/* Disable the skin root flag on the input vert, assumes that the vert
+   data includes an CD_MVERT_SKIN layer */
+static void bm_extrude_disable_skin_root(BMesh *bm, BMVert *v)
+{
+       MVertSkin *vs;
+       
+       vs = CustomData_bmesh_get(&bm->vdata, v->head.data, CD_MVERT_SKIN);
+       vs->flag &= ~MVERT_SKIN_ROOT;
+}
+
 void bmo_extrude_edge_only_exec(BMesh *bm, BMOperator *op)
 {
        BMOIter siter;
@@ -184,6 +198,13 @@ void bmo_extrude_edge_only_exec(BMesh *bm, BMOperator *op)
        BMO_op_initf(bm, &dupeop, "dupe geom=%fve", EXT_INPUT);
        BMO_op_exec(bm, &dupeop);
 
+       /* disable root flag on all new skin nodes */
+       if (CustomData_has_layer(&bm->vdata, CD_MVERT_SKIN)) {
+               BMO_ITER(v1, &siter, bm, &dupeop, "newout", BM_VERT) {
+                       bm_extrude_disable_skin_root(bm, v1);
+               }
+       }
+
        for (e = BMO_iter_new(&siter, bm, &dupeop, "boundarymap", 0); e; e = BMO_iter_step(&siter)) {
                e2 = BMO_iter_map_value(&siter);
                e2 = *(BMEdge **)e2;
@@ -224,9 +245,12 @@ void bmo_extrude_vert_indiv_exec(BMesh *bm, BMOperator *op)
        BMOIter siter;
        BMVert *v, *dupev;
        BMEdge *e;
+       const int has_vskin = CustomData_has_layer(&bm->vdata, CD_MVERT_SKIN);
 
        for (v = BMO_iter_new(&siter, bm, op, "verts", BM_VERT); v; v = BMO_iter_step(&siter)) {
                dupev = BM_vert_create(bm, v->co, v);
+               if (has_vskin)
+                       bm_extrude_disable_skin_root(bm, v);
 
                e = BM_edge_create(bm, v, dupev, NULL, FALSE);
 
@@ -324,6 +348,13 @@ void bmo_extrude_face_region_exec(BMesh *bm, BMOperator *op)
        BMO_slot_copy(op, &dupeop, "edgefacein", "geom");
        BMO_op_exec(bm, &dupeop);
 
+       /* disable root flag on all new skin nodes */
+       if (CustomData_has_layer(&bm->vdata, CD_MVERT_SKIN)) {
+               BMO_ITER(v, &siter, bm, &dupeop, "newout", BM_VERT) {
+                       bm_extrude_disable_skin_root(bm, v);
+               }
+       }
+
        if (bm->act_face && BMO_elem_flag_test(bm, bm->act_face, EXT_INPUT))
                bm->act_face = BMO_slot_map_ptr_get(bm, &dupeop, "facemap", bm->act_face);
 
index 97de7590d0746d68c3013dc3584d7d2d5b66768f..f23b2bf4b027082f06289788f1864384c76fb06f 100644 (file)
@@ -289,8 +289,10 @@ void ArmatureImporter::add_leaf_bone(float mat[][4], EditBone *bone,  COLLADAFW:
                float vec[3] = {x, y, z};
                copy_v3_v3(leaf.bone->tail, leaf.bone->head);
                add_v3_v3v3(leaf.bone->tail, leaf.bone->head, vec);
-       }else
+       }
+       else {
                leaf_bones.push_back(leaf);
+       }
 }
 
 void ArmatureImporter::fix_leaf_bones( )
index f06672ac80b191823df23240aaa054eccd406ec4..ba5e21d53ae58f44901f10fe4edfa09e3f0fa315 100644 (file)
@@ -138,7 +138,6 @@ void Node::addSetVectorOperation(ExecutionSystem *graph, InputSocket *inputsocke
        operation->setX(val->value[0]);
        operation->setY(val->value[1]);
        operation->setZ(val->value[2]);
-       operation->setW(val->value[3]);
        this->addLink(graph, operation->getOutputSocket(), inputsocket);
        graph->addOperation(operation);
 }
index c82a01a1e0a747169c2ed4334c87412e2e7ac6be..406f0acf7241645ab1edec6734aa3443c318534a 100644 (file)
@@ -29,6 +29,7 @@
 #include "OCL_opencl.h"
 #include "stdio.h"
 #include "COM_OpenCLKernels.cl.cpp"
+#include "BKE_global.h"
 
 #if COM_CURRENT_THREADING_MODEL == COM_TM_NOTHREAD
 #warning COM_CURRENT_THREADING_MODEL COM_TM_NOTHREAD is activated. Use only for debugging.
@@ -235,7 +236,7 @@ void WorkScheduler::initialize()
                cl_int error;
                error = clGetPlatformIDs(0, 0, &numberOfPlatforms);
                if (error != CL_SUCCESS) { printf("CLERROR[%d]: %s\n", error, clewErrorString(error));  }
-               printf("%d number of platforms\n", numberOfPlatforms);
+               if (G.f & G_DEBUG) printf("%d number of platforms\n", numberOfPlatforms);
                cl_platform_id *platforms = new cl_platform_id[numberOfPlatforms];
                error = clGetPlatformIDs(numberOfPlatforms, platforms, 0);
                unsigned int indexPlatform;
@@ -280,11 +281,13 @@ void WorkScheduler::initialize()
                        OpenCLDevice *clDevice = new OpenCLDevice(context, device, program);
                        clDevice->initialize(),
                        gpudevices.push_back(clDevice);
-                       char resultString[32];
-                       error = clGetDeviceInfo(device, CL_DEVICE_NAME, 32, resultString, 0);
-                       printf("OPENCL_DEVICE: %s, ", resultString);
-                       error = clGetDeviceInfo(device, CL_DEVICE_VENDOR, 32, resultString, 0);
-                       printf("%s\n", resultString);
+                       if (G.f & G_DEBUG) {
+                               char resultString[32];
+                               error = clGetDeviceInfo(device, CL_DEVICE_NAME, 32, resultString, 0);
+                               printf("OPENCL_DEVICE: %s, ", resultString);
+                               error = clGetDeviceInfo(device, CL_DEVICE_VENDOR, 32, resultString, 0);
+                               printf("%s\n", resultString);
+                       }
                }
                delete cldevices;
                delete platforms;
index bd967190987f7cf9732e4821839aa2f71c84ab13..e27bff4401e5bdbff17b04f8eaa68a0151e6ed72 100644 (file)
@@ -29,6 +29,7 @@ extern "C" {
 #include "COM_compositor.h"
 #include "COM_ExecutionSystem.h"
 #include "COM_WorkScheduler.h"
+#include "OCL_opencl.h"
 
 static ThreadMutex *compositorMutex;
 void COM_execute(bNodeTree *editingtree, int rendering)
@@ -36,6 +37,7 @@ void COM_execute(bNodeTree *editingtree, int rendering)
        if (compositorMutex == NULL) { /// TODO: move to blender startup phase
                compositorMutex = new ThreadMutex();
                BLI_mutex_init(compositorMutex);
+               OCL_init();
                WorkScheduler::initialize(); ///TODO: call workscheduler.deinitialize somewhere
        }
        BLI_mutex_lock(compositorMutex);
index 55759ba410f6535f02c85477ff73338ab3c4036d..8f53c1ff8cc2c058ecd4318a00f811351f08e065 100644 (file)
@@ -47,18 +47,21 @@ void DilateErodeNode::convertToOperations(ExecutionSystem *graph, CompositorCont
                        addLink(graph, operation->getOutputSocket(), antiAlias->getInputSocket(0));
                        this->getOutputSocket(0)->relinkConnections(antiAlias->getOutputSocket(0));
                        graph->addOperation(antiAlias);
-               } else {
+               }
+               else {
                        this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
                }
                graph->addOperation(operation);
-       } else {
+       }
+       else {
                if (editorNode->custom2 > 0) {
                        DilateStepOperation * operation = new DilateStepOperation();
                        operation->setIterations(editorNode->custom2);
                        this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0));
                        this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0));
                        graph->addOperation(operation);
-               } else {
+               }
+               else {
                        ErodeStepOperation * operation = new ErodeStepOperation();
                        operation->setIterations(-editorNode->custom2);
                        this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0));
index 0bddd3280079420f05f599033f0cb2a0b4f669ac..75831130936b0dbb1da07d2303687b62c9681551 100644 (file)
@@ -30,6 +30,7 @@ extern "C" {
        #include "DNA_movieclip_types.h"
        #include "BKE_movieclip.h"
        #include "BKE_tracking.h"
+       #include "IMB_imbuf.h"
 }
 
 MovieClipNode::MovieClipNode(bNode *editorNode): Node(editorNode)
@@ -118,4 +119,8 @@ void MovieClipNode::convertToOperations(ExecutionSystem *graph, CompositorContex
                angleMovieClip->relinkConnections(operationSetValue->getOutputSocket());
                graph->addOperation(operationSetValue);
        }
+
+       if (ibuf) {
+               IMB_freeImBuf(ibuf);
+       }
 }
index 82949fe10f95ac5029377a69d98d120726924ca4..55e51baf7dab25c42271e7fd2f904cef1794098c 100644 (file)
@@ -39,6 +39,7 @@ void MovieDistortionNode::convertToOperations(ExecutionSystem *system, Composito
        
        MovieDistortionOperation * operation = new MovieDistortionOperation(bnode->custom1 == 1);
        operation->setMovieClip(clip);
+       operation->setFramenumber(context->getFramenumber());
 
        inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, system);
        outputSocket->relinkConnections(operation->getOutputSocket(0));
index 0f9a2ca4c26a1152c2677d59740df5d802c4426f..5e59d86e7d98e913d2c62c65a0225d74cc1a0815 100644 (file)
@@ -37,6 +37,7 @@ void TextureNode::convertToOperations(ExecutionSystem *system, CompositorContext
        this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system);
        this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, system);
        operation->setTexture(texture);
+       operation->setScene(context->getScene());
        system->addOperation(operation);
        addPreviewOperation(system, operation->getOutputSocket(), 9);
 
@@ -46,6 +47,7 @@ void TextureNode::convertToOperations(ExecutionSystem *system, CompositorContext
                addLink(system, operation->getInputSocket(0)->getConnection()->getFromSocket(), alphaOperation->getInputSocket(0));
                addLink(system, operation->getInputSocket(1)->getConnection()->getFromSocket(), alphaOperation->getInputSocket(1));
                alphaOperation->setTexture(texture);
+               alphaOperation->setScene(context->getScene());
                system->addOperation(alphaOperation);
        }
 }
index ce9484d0d9f72a3f657dc9d8d7d4abdd7556d77e..8b343374f1c74eebae207c3a083648e6b0e301ed 100644 (file)
@@ -31,7 +31,7 @@ extern "C" {
        #include "RE_shader_ext.h"
        #include "RE_render_ext.h"
        #include "MEM_guardedalloc.h"
-#include "render_types.h"
+       #include "render_types.h"
 }
 #include "PIL_time.h"
 
@@ -55,24 +55,31 @@ void CompositorOperation::initExecution()
        if (this->getWidth() * this->getHeight() != 0) {
                this->outputBuffer=(float*) MEM_callocN(this->getWidth()*this->getHeight()*4*sizeof(float), "CompositorOperation");
        }
-       const Scene * scene = this->scene;
-       Render *re = RE_GetRender(scene->id.name);
-       RenderResult *rr = RE_AcquireResultWrite(re);
-       if (rr) {
-               if (rr->rectf  != NULL) {
-                       MEM_freeN(rr->rectf);
-               }
-               rr->rectf = outputBuffer;
-       }
-       if (re) {
-               RE_ReleaseResult(re);
-               re = NULL;
-       }
-       
 }
 
 void CompositorOperation::deinitExecution()
 {
+       if (tree->test_break && !tree->test_break(tree->tbh)) {
+               const Scene * scene = this->scene;
+               Render *re = RE_GetRender(scene->id.name);
+               RenderResult *rr = RE_AcquireResultWrite(re);
+               if (rr) {
+                       if (rr->rectf  != NULL) {
+                               MEM_freeN(rr->rectf);
+                       }
+                       rr->rectf = outputBuffer;
+               }
+               if (re) {
+                       RE_ReleaseResult(re);
+                       re = NULL;
+               }
+               BKE_image_signal(BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result"), NULL, IMA_SIGNAL_FREE);
+       } else {
+               if (this->outputBuffer) {
+                       MEM_freeN(this->outputBuffer);
+               }
+       }
+       
        this->outputBuffer = NULL;
        this->imageInput = NULL;
        this->alphaInput = NULL;
index 39c81b8292a86eece6a86067f9ec258ed871094b..41d43f896bb265dc752b67f508a82e3f93236858 100644 (file)
@@ -60,7 +60,7 @@ public:
        void executeRegion(rcti *rect, unsigned int tileNumber, MemoryBuffer** memoryBuffers);
        void setScene(const Scene *scene) {this->scene = scene;}
        void setbNodeTree(const bNodeTree *tree) {this->tree = tree;}
-       bool isOutputOperation(bool rendering) const {return rendering;}
+       bool isOutputOperation(bool rendering) const {return true;}
        void initExecution();
        void deinitExecution();
        const int getRenderPriority() const {return 7;}
index 0dc4ea84cb8ccf67987747a02c396968ce9f9da0..a73f76030ab7aac599897a8f8365a6ae015417de 100644 (file)
@@ -241,7 +241,8 @@ bool DilateStepOperation::determineDependingAreaOfInterest(rcti *input, ReadBuff
 {
        if (this->cached_buffer) {
                return false;
-       } else {
+       }
+       else {
                rcti newInput;
        
                newInput.xmax = getWidth();
index 44f987b45e362bdbc2038811c82fc6f6c5676b60..fdfd19a10ae33f0be7590af11d35099e725f80da 100644 (file)
@@ -74,7 +74,8 @@ bool GlareBaseOperation::determineDependingAreaOfInterest(rcti *input, ReadBuffe
 {
        if (this->cachedInstance != NULL) {
                return false;
-       } else {
+       }
+       else {
                rcti newInput;
                newInput.xmax = this->getWidth();
                newInput.xmin = 0;
index d1dab13a9520371a1c8fbb228ae3dec64718a744..b565e48345c86abe79c8a44f2fd2ae22a6824479 100644 (file)
@@ -61,21 +61,27 @@ void MovieClipOperation::initExecution()
 
 void MovieClipOperation::deinitExecution()
 {
-       this->movieClipBuffer = NULL;
+       if (this->movieClipBuffer) {
+               IMB_freeImBuf(this->movieClipBuffer);
+
+               this->movieClipBuffer = NULL;
+       }
 }
 
 void MovieClipOperation::determineResolution(unsigned int resolution[], unsigned int preferredResolution[])
 {
        ImBuf *ibuf;
 
-        resolution[0] = 0;
-        resolution[1] = 0;
+       resolution[0] = 0;
+       resolution[1] = 0;
 
        if (this->movieClip) {
                ibuf = BKE_movieclip_get_ibuf(this->movieClip, this->movieClipUser);
                if (ibuf) {
                        resolution[0] = ibuf->x;
                        resolution[1] = ibuf->y;
+
+                       IMB_freeImBuf(ibuf);
                }
        }
 }
index 1699707ab3a17cbabefe7088ac5e04c66bc27547..ebea9e8b4a27cdc861cba75b32243fdb97c08d53 100644 (file)
@@ -24,8 +24,8 @@
 
 extern "C" {
        #include "BKE_tracking.h"
-
-#include "BLI_linklist.h"
+       #include "BKE_movieclip.h"
+       #include "BLI_linklist.h"
 }
 
 
@@ -46,14 +46,23 @@ void MovieDistortionOperation::initExecution()
 {
        this->inputOperation = this->getInputSocketReader(0);
        if (this->movieClip) {
+               MovieClipUser clipUser = {0};
+               int calibration_width, calibration_height;
+
+               BKE_movieclip_user_set_frame(&clipUser, this->framenumber);
+               BKE_movieclip_get_size(this->movieClip, &clipUser, &calibration_width, &calibration_height);
+
                for (int i = 0 ; i < s_cache.size() ; i ++) {
                        DistortionCache *c = (DistortionCache*)s_cache[i];
-                       if (c->isCacheFor(this->movieClip, this->width, this->height, this->distortion)) {
+                       if (c->isCacheFor(this->movieClip, this->width, this->height,
+                                         calibration_width, calibration_height, this->distortion))
+                       {
                                this->cache = c;
                                return;
                        }
                }
-               DistortionCache *newC = new DistortionCache(this->movieClip, this->width, this->height, this->distortion);
+               DistortionCache *newC = new DistortionCache(this->movieClip, this->width, this->height,
+                                                           calibration_width, calibration_height, this->distortion);
                s_cache.push_back(newC);
                this->cache = newC;
        }
index fcdf70905664f0826144f39793217cb69d97914e..f583493340b755b537ab670a6b5555fde867215f 100644 (file)
@@ -34,18 +34,28 @@ private:
        float k1;
        float k2;
        float k3;
+       float principal_x;
+       float principal_y;
+       float pixel_aspect;
        int width;
        int height;
+       int calibration_width;
+       int calibration_height;
        bool inverted;
        float *buffer;
        int *bufferCalculated;
 public:
-       DistortionCache(MovieClip *movieclip, int width, int height, bool inverted) {
+       DistortionCache(MovieClip *movieclip, int width, int height, int calibration_width, int calibration_height, bool inverted) {
                this->k1 = movieclip->tracking.camera.k1;
                this->k2 = movieclip->tracking.camera.k2;
                this->k3 = movieclip->tracking.camera.k3;
+               this->principal_x = movieclip->tracking.camera.principal[0];
+               this->principal_y = movieclip->tracking.camera.principal[1];
+               this->pixel_aspect = movieclip->tracking.camera.pixel_aspect;
                this->width = width;
                this->height = height;
+               this->calibration_width = calibration_width;
+               this->calibration_height = calibration_height;
                this->inverted = inverted;
                this->bufferCalculated = new int[this->width*this->height];
                this->buffer = new float[this->width*this->height*2];
@@ -53,13 +63,18 @@ public:
                        this->bufferCalculated[i] = 0;
                }
        }
-       bool isCacheFor(MovieClip *movieclip, int width, int height, bool inverted) {
+       bool isCacheFor(MovieClip *movieclip, int width, int height, int calibration_width, int claibration_height, bool inverted) {
                return this->k1 == movieclip->tracking.camera.k1 &&
                        this->k2 == movieclip->tracking.camera.k2 &&
                        this->k3 == movieclip->tracking.camera.k3 &&
+                       this->principal_x == movieclip->tracking.camera.principal[0] &&
+                       this->principal_y == movieclip->tracking.camera.principal[1] &&
+                       this->pixel_aspect == movieclip->tracking.camera.pixel_aspect &&
                        this->inverted == inverted &&
-                       this->width == width && 
-                       this->height == height;
+                       this->width == width &&
+                       this->height == height &&
+                       this->calibration_width == calibration_width &&
+                       this->calibration_height == calibration_height;
        }
        
        void getUV(MovieTracking *trackingData, int x, int y, float *u, float*v) {
@@ -67,20 +82,30 @@ public:
                        *u = x;
                        *v = y;
                } else {
+
                        int offset = y * this->width + x;
                        int offset2 = offset*2;
                        if (!bufferCalculated[offset]) {
+                               //float overscan = 0.0f;
+                               float w = (float)this->width/* / (1 + overscan) */;
+                               float h = (float)this->height/* / (1 + overscan) */;
+                               float aspx = (float)w / this->calibration_width;
+                               float aspy = (float)h / this->calibration_height;
                                float in[2];
                                float out[2];
-                               in[0] = x;
-                               in[1] = y;
+
+                               in[0] = (x /* - 0.5 * overscan * w */) / aspx;
+                               in[1] = (y /* - 0.5 * overscan * h */) / aspy / this->pixel_aspect;
+
                                if (inverted) {
                                        BKE_tracking_invert_intrinsics(trackingData, in, out);
                                } else {
                                        BKE_tracking_apply_intrinsics(trackingData, in, out);
                                }
-                               buffer[offset2] = out[0];
-                               buffer[offset2+1] = out[1];
+
+                               buffer[offset2] = out[0] * aspx /* + 0.5 * overscan * w */;
+                               buffer[offset2+1] = (out[1] * aspy /* + 0.5 * overscan * h */) * this->pixel_aspect;
+
                                bufferCalculated[offset] = 1;
                        }
                        *u = buffer[offset2];
@@ -97,6 +122,7 @@ private:
 
 protected:
        bool distortion;
+       int framenumber;
 
 public:
        MovieDistortionOperation(bool distortion);
@@ -107,7 +133,7 @@ public:
        void deinitExecution();
        
        void setMovieClip(MovieClip *clip) {this->movieClip = clip;}
-
+       void setFramenumber(int framenumber) {this->framenumber = framenumber;}
 };
 
 #endif
index f7edd922376317e01e601b642bd1d78e498f691f..0d85f71c691e544e3a126a39b52456da67d57174 100644 (file)
@@ -32,6 +32,7 @@ TextureBaseOperation::TextureBaseOperation(): NodeOperation()
        this->texture = NULL;
        this->inputSize = NULL;
        this->inputOffset = NULL;
+       this->scene = NULL;
 }
 TextureOperation::TextureOperation() : TextureBaseOperation()
 {
@@ -56,8 +57,10 @@ void TextureBaseOperation::deinitExecution()
 void TextureBaseOperation::determineResolution(unsigned int resolution[], unsigned int preferredResolution[])
 {
        if (preferredResolution[0] == 0 || preferredResolution[1] == 0) {
-               resolution[0] = COM_DEFAULT_RESOLUTION_WIDTH;
-               resolution[1] = COM_DEFAULT_RESOLUTION_HEIGHT;
+               int width = this->scene->r.xsch*this->scene->r.size/100;
+               int height = this->scene->r.ysch*this->scene->r.size/100;
+               resolution[0] = width;
+               resolution[1] = height;
        }
        else {
                resolution[0] = preferredResolution[0];
index ee067df2c6473cecdb26e1c5497a721304983f00..de42b14473076e3c1b42b31a3219248d03c43efa 100644 (file)
@@ -43,6 +43,7 @@ extern "C" {
 class TextureBaseOperation : public NodeOperation {
 private:
        Tex *texture;
+       const Scene *scene;
        SocketReader *inputSize;
        SocketReader *inputOffset;
 
@@ -64,6 +65,7 @@ public:
        void setTexture(Tex *texture) {this->texture = texture;}
        void initExecution();
        void deinitExecution();
+       void setScene(const Scene *scene) {this->scene = scene;}
 };
 
 class TextureOperation:public TextureBaseOperation {
index 85e469717de880cda372cf0600d4de2adf4273ba..860c225ffc1c4fba90fdb1694cd78bfd3713fcff 100644 (file)
 /* DataToC output of file <blender_icons_png> */
 
-int datatoc_blender_icons_png_size= 226647;
-char datatoc_blender_icons_png[]= {
-137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  2, 90,  0,  0,  2,
-128,  8,  6,  0,  0,  0, 68,254,214,163,  0,  0, 10, 79,105, 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,
-112,114,111,102,105,108,101,  0,  0,120,218,157, 83,103, 84, 83,233, 22, 61,247,222,244, 66, 75,136,128,148, 75,111, 82, 21,  8,
- 32, 82, 66,139,128, 20,145, 38, 42, 33,  9, 16, 74,136, 33,161,217, 21, 81,193, 17, 69, 69,  4, 27,200,160,136,  3,142,142,128,
-140, 21, 81, 44, 12,138, 10,216,  7,228, 33,162,142,131,163,136,138,202,251,225,123,163,107,214,188,247,230,205,254,181,215, 62,
-231,172,243,157,179,207,  7,192,  8, 12,150, 72, 51, 81, 53,128, 12,169, 66, 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10,
- 36,112,  0, 16,  8,179,100, 33,115,253, 35,  1,  0,248,126, 60, 60, 43, 34,192,  7,190,  0,  1,120,211, 11,  8,  0,192, 77,155,
-192, 48, 28,135,255, 15,234, 66,153, 92,  1,128,132,  1,192,116,145, 56, 75,  8,128, 20,  0, 64,122,142, 66,166,  0, 64, 70,  1,
-128,157,152, 38, 83,  0,160,  4,  0, 96,203, 99, 98,227,  0, 80, 45,  0, 96, 39,127,230,211,  0,128,157,248,153,123,  1,  0, 91,
-148, 33, 21,  1,160,145,  0, 32, 19,101,136, 68,  0,104, 59,  0,172,207, 86,138, 69,  0, 88, 48,  0, 20,102, 75,196, 57,  0,216,
- 45,  0, 48, 73, 87,102, 72,  0,176,183,  0,192,206, 16, 11,178,  0,  8, 12,  0, 48, 81,136,133, 41,  0,  4,123,  0, 96,200, 35,
- 35,120,  0,132,153,  0, 20, 70,242, 87, 60,241, 43,174, 16,231, 42,  0,  0,120,153,178, 60,185, 36, 57, 69,129, 91,  8, 45,113,
-  7, 87, 87, 46, 30, 40,206, 73, 23, 43, 20, 54, 97,  2, 97,154, 64, 46,194,121,153, 25, 50,129, 52, 15,224,243,204,  0,  0,160,
-145, 21, 17,224,131,243,253,120,206, 14,174,206,206, 54,142,182, 14, 95, 45,234,191,  6,255, 34, 98, 98,227,254,229,207,171,112,
- 64,  0,  0,225,116,126,209,254, 44, 47,179, 26,128, 59,  6,128,109,254,162, 37,238,  4,104, 94, 11,160,117,247,139,102,178, 15,
- 64,181,  0,160,233,218, 87,243,112,248,126, 60, 60, 69,161,144,185,217,217,229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,
-103,194, 95,192, 87,253,108,249,126, 60,252,247,245,224,190,226, 36,129, 50, 93,129, 71,  4,248,224,194,204,244, 76,165, 28,207,
-146,  9,132, 98,220,230,143, 71,252,183, 11,255,252, 29,211, 34,196, 73, 98,185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243,
- 50,165, 34,137, 66,146, 41,197, 37,210,255,100,226,223, 44,251,  3, 62,223, 53,  0,176,106, 62,  1,123,145, 45,168, 93, 99,  3,
-246, 75, 39, 16, 88,116,192,226,247,  0,  0,242,187,111,193,212, 40,  8,  3,128,104,131,225,207,119,255,239, 63,253, 71,160, 37,
-  0,128,102, 73,146,113,  0,  0, 94, 68, 36, 46, 84,202,179, 63,199,  8,  0,  0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192,
-  6, 28,193,  5,220,193, 11,252, 96, 54,132, 66, 36,196,194, 66, 16, 66, 10,100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176,
- 29, 42, 96, 47,212, 64, 29, 52,192, 81,104,134,147,112, 14, 46,194, 85,184, 14, 61,112, 15,250, 97,  8,158,193, 40,188,129,  9,
-  4, 65,200,  8, 19, 97, 33,218,136,  1, 98,138, 88, 35,142,  8, 23,153,133,248, 33,193, 72,  4, 18,139, 36, 32,201,136, 20, 81,
- 34, 75,145, 53, 72, 49, 82,138, 84, 32, 85, 72, 29,242, 61,114,  2, 57,135, 92, 70,186,145, 59,200,  0, 50,130,252,134,188, 71,
- 49,148,129,178, 81, 61,212, 12,181, 67,185,168, 55, 26,132, 70,162, 11,208,100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,
-140, 54,161,231,208,171,104, 15,218,143, 62, 67,199, 48,192,232, 24,  7, 51,196,108, 48, 46,198,195, 66,177, 56, 44,  9,147, 99,
-203,177, 34,172, 12,171,198, 26,176, 86,172,  3,187,137,245, 99,207,177,119,  4, 18,129, 69,192,  9, 54,  4,119, 66, 32, 97, 30,
- 65, 72, 88, 76, 88, 78,216, 72,168, 32, 28, 36, 52, 17,218,  9, 55,  9,  3,132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,
-196, 24, 98, 50, 49,135, 88, 72, 44, 35,214, 18,143, 19, 47, 16,123,136, 67,196, 55, 36, 18,137, 67, 50, 39,185,144,  2, 73,177,
-164, 84,210, 18,210, 70,210,110, 82, 35,233, 44,169,155, 52, 72, 26, 35,147,201,218,100,107,178,  7, 57,148, 44, 32, 43,200,133,
-228,157,228,195,228, 51,228, 27,228, 33,242, 91, 10,157, 98, 64,113,164,248, 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229,
-  6,101,152, 50, 65, 85,163,154, 82,221,168,161, 84, 17, 53,143, 90, 66,173,161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,
-131, 22, 73, 75,165,173,162,149,211, 26,104, 23,104,247,105,175,232,116,186, 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,
-151,232,  3,244,119, 12, 13,134, 21,131,199,136,103, 40, 25,155, 24,  7, 24,103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199,
- 84, 48, 55, 49,235,152,231,153, 15,153,111, 85, 88, 42,182, 42,124, 21,145,202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,
-166,170,222,170, 11, 85,243, 85,203, 84,143,169, 94, 83,125,174, 70, 85, 51, 83,227,169,  9,212,150,171, 85,170,157, 80,235, 83,
- 27, 83,103,169, 59,168,135,170,103,168,111, 84, 63,164,126, 89,253,137,  6, 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,
-198, 32, 11, 99, 25,179,120, 44, 33,107, 13,171,134,117,129, 53,196, 38,177,205,217,124,118, 42,187,152,253, 29,187,139, 61,170,
-169,161, 57, 67, 51, 74, 51, 87,179, 82,243,148,102, 63,  7,227,152,113,248,156,116, 78,  9,231, 40,167,151,243,126,138,222, 20,
-239, 41,226, 41, 27,166, 52, 76,185, 49,101, 92,107,170,150,151,150, 88,171, 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,
-189, 69,187, 89,251,129, 14, 65,199, 74, 39, 92, 39, 71,103,143,206,  5,157,231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,
-174, 46,170,107,165, 27,161,187, 68,119,191,110,167,238,152,158,190, 94,128,158, 76,111,167,222,121,189,231,250, 28,125, 47,253,
- 84,253,109,250,167,245, 71, 12, 88,  6,179, 12, 36,  6,219, 12,206, 24, 60,197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,
-195, 64, 67,165, 97,149, 97,151,225,132,145,185,209, 60,163,213, 70,141, 70, 15,140,105,198, 92,227, 36,227,109,198,109,198,163,
- 38,  6, 38, 33, 38, 75, 77,234, 77,238,154, 82, 77,185,166, 41,166, 59, 76, 59, 76,199,205,204,205,162,205,214,153, 53,155, 61,
- 49,215, 50,231,155,231,155,215,155,223,183, 96, 90,120, 90, 44,182,168,182,184,101, 73,178,228, 90,166, 89,238,182,188,110,133,
- 90, 57, 89,165, 88, 85, 90, 93,179, 70,173,157,173, 37,214,187,173,187,167, 17,167,185, 78,147, 78,171,158,214,103,195,176,241,
-182,201,182,169,183, 25,176,229,216,  6,219,174,182,109,182,125, 97,103, 98, 23,103,183,197,174,195,238,147,189,147,125,186,125,
-141,253, 61,  7, 13,135,217, 14,171, 29, 90, 29,126,115,180,114, 20, 58, 86, 58,222,154,206,156,238, 63,125,197,244,150,233, 47,
-103, 88,207, 16,207,216, 51,227,182, 19,203, 41,196,105,157, 83,155,211, 71,103, 23,103,185,115,131,243,136,139,137, 75,130,203,
- 46,151, 62, 46,155, 27,198,221,200,189,228, 74,116,245,113, 93,225,122,210,245,157,155,179,155,194,237,168,219,175,238, 54,238,
-105,238,135,220,159,204, 52,159, 41,158, 89, 51,115,208,195,200, 67,224, 81,229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67,
- 79,129,103,181,231, 35, 47, 99, 47,145, 87,173,215,176,183,165,119,170,247, 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,
-222, 50,222, 89, 95,204, 55,192,183,200,183,203, 79,195,111,158, 95,133,223, 67,127, 35,255,100,255,122,255,209,  0,167,128, 37,
-  1,103,  3,137,129, 65,129, 91,  2,251,248,122,124, 33,191,142, 63, 58,219,101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,
-130,173,130,229,193,173, 33,104,200,236,144,173, 33,247,231,152,206,145,206,105, 14,133, 80,126,232,214,208,  7, 97,230, 97,139,
-195,126, 12, 39,133,135,133, 87,134, 63,142,112,136, 88, 26,209, 49,151, 53,119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,
-103, 49, 79, 57,175, 45, 74, 53, 42, 62,170, 46,106, 60,218, 55,186, 52,186, 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75,
- 28, 57, 46, 42,174, 54,110,108,190,223,252,237,243,135,226,157,226, 11,227,123, 23,152, 47,200, 93,112,121,161,206,194,244,133,
-167, 22,169, 46, 18, 44, 58,150, 64, 76,136, 78, 56,148,240, 65, 16, 42,168, 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,
-103, 34, 47,209, 54,209,136,216, 67, 92, 42, 30, 78,242, 72, 42, 77,122,146,236,145,188, 53,121, 36,197, 51,165, 44,229,185,132,
- 39,169,144,188, 76, 13, 76,221,155, 58,158, 22,154,118, 32,109, 50, 61, 58,189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,
-103,234,103,230,102,118,203,172,101,133,178,254,197,110,139,183, 47, 30,149,  7,201,107,179,144,172,  5, 89, 45, 10,182, 66,166,
-232, 84, 90, 40,215, 42,  7,178,103,101, 87,102,191,205,137,202, 57,150,171,158, 43,205,237,204,179,202,219,144, 55,156,239,159,
-255,237, 18,194, 18,225,146,182,165,134, 75, 87, 45, 29, 88,230,189,172,106, 57,178, 60,113,121,219, 10,227, 21,  5, 43,134, 86,
-  6,172, 60,184,138,182, 42,109,213, 79,171,237, 87,151,174,126,189, 38,122, 77,107,129, 94,193,202,130,193,181,  1,107,235, 11,
- 85, 10,229,133,125,235,220,215,237, 93, 79, 88, 47, 89,223,181, 97,250,134,157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,
-216, 40,220,120,229, 27,135,111,202,191,153,220,148,180,169,171,196,185,100,207,102,210,102,233,230,222, 45,158, 91, 14,150,170,
-151,230,151, 14,110, 13,217,218,180, 13,223, 86,180,237,245,246, 69,219, 47,151,205, 40,219,187,131,182, 67,185,163,191, 60,184,
-188,101,167,201,206,205, 59, 63, 84,164, 84,244, 84,250, 84, 54,238,210,221,181, 97,215,248,110,209,238, 27,123,188,246, 52,236,
-213,219, 91,188,247,253, 62,201,190,219, 85,  1, 85, 77,213,102,213,101,251, 73,251,179,247, 63,174,137,170,233,248,150,251,109,
- 93,173, 78,109,113,237,199,  3,210,  3,253,  7, 35, 14,182,215,185,212,213, 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,
-190,254,157,239,119, 45, 13, 54, 13, 85,141,156,198,226, 35,112, 68,121,228,233,247,  9,223,247, 30, 13, 58,218,118,140,123,172,
-225,  7,211, 31,118, 29,103, 29, 47,106, 66,154,242,154, 70,155, 83,154,251, 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252,
- 71,219, 31, 15,156, 52, 60, 89,121, 74,243, 84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126, 46,249,220, 96,
-219,162,182,123,231, 99,206,223,106, 15,111,239,186, 16,116,225,210, 69,255,139,231, 59,188, 59,206, 92,242,184,116,242,178,219,
-229, 19, 87,184, 87,154,175, 58, 95,109,234,116,234, 60,254,147,211, 79,199,187,156,187,154,174,185, 92,107,185,238,122,189,181,
-123,102,247,233, 27,158, 55,206,221,244,189,121,241, 22,255,214,213,158, 57, 61,221,189,243,122,111,247,197,247,245,223, 22,221,
-126,114, 39,253,206,203,187,217,119, 39,238,173,188, 79,188, 95,244, 64,237, 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,
-127,106,192,119,160,243,209,220, 71,247,  6,133,131,207,254,145,245,143, 15, 67,  5,143,153,143,203,134, 13,134,235,158, 56, 62,
- 57, 57,226, 63,114,253,233,252,167, 67,207,100,207, 38,158, 23,254,162,254,203,174, 23, 22, 47,126,248,213,235,215,206,209,152,
-209,161,151,242,151,147,191,109,124,165,253,234,192,235, 25,175,219,198,194,198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,
-119,220,119, 29,239,163,223, 15, 79,228,124, 32,127, 40,255,104,249,177,245, 83,208,167,251,147, 25,147,147,255,  4,  3,152,243,
-252, 99, 51, 45,219,  0,  0,  0,  6, 98, 75, 71, 68,  0,255,  0,255,  0,255,160,189,167,147,  0,  0,  0,  9,112, 72, 89,115,  0,
-  0, 13,213,  0,  0, 13,213,  1, 61,214, 88,241,  0,  0,  0,  7,116, 73, 77, 69,  7,220,  3, 15, 13, 43, 47, 99,146, 79, 17,  0,
-  0, 32,  0, 73, 68, 65, 84,120,218,236, 93,119,120, 20,197,  3,125,187,183,215,239,114,233, 61, 16,146, 64, 32,148,132, 80, 20,
-144, 94,  5,162,168,  8,  2, 34, 69, 44,136, 40,160, 40,168,136, 72, 87,233, 42, 32, 42, 77, 65,176,  1,  1, 41,145, 18, 72,  2,
-132, 38, 61, 65, 18, 72, 35,237, 82,175,183,221,223, 31,201,157,151,203,181, 64,162, 63,116,223,247,237,119,119,123,187,111,103,
-103,103,102,223,188,105,  0, 11, 22, 44, 88,176, 96,193,130,  5, 11, 22, 44, 88,176, 96,193,130,  5, 11, 22,255,106, 36, 38, 38,
- 50, 13, 56,124,160,187,156,181, 91,159,255,119,206, 38,188,119,166, 17, 57,251,212,114,126,244,144,132,179,207,255, 43,167,249,
-126, 27,192, 59,176, 33,233,168,177,226,211, 42,156, 76, 99,135,179,169, 56, 27, 43, 31,217,  9, 39,211,  4,207,253,163,135, 36,
-156,125,254,223, 56,109,211,143,155,188, 13,226,116, 51, 77, 53, 52,156, 76, 99,135,179,169, 56, 31, 52, 31, 57,  9, 39,243,160,
-105,201,193,179,255,  8,255, 33, 80, 77, 40,178,220, 70, 66, 66,  2, 97,197, 79,252,191,114, 90,199,131,153,191, 49,195,218,136,
- 56,222,216,156, 54,241,217, 88,248, 40, 33, 33,129, 72, 76, 76, 60,  1,160, 79, 99,222,123, 99, 60,119,155,123,109, 20,222,251,
- 16, 89, 13,226,108,172,116,223,212,156,141,149,151,108, 57, 27, 35,221,219,123,238, 77,248,140, 26, 43,156,141,146,151,154, 34,
-205,219, 73, 63, 15,204,107,203,217, 24,121,201,150,179, 49,210,253,223,193,217, 24,121,201, 30,103, 99,164,123, 71,207,254,191,
-102, 80,145,255,176, 32,176,205,224,125,255,159,  5, 81, 83,137,205,  6, 56, 48,255, 56,103, 35, 63,163,143,106, 57, 27,179,118,
-211,183,177,158, 81, 83,164,119,107,206,198,226,183,229,105,140,231,100,143,243, 65,195,235, 32,156,141,126,239, 15,154,238,255,
- 46,206, 70,126, 70,141,146,151,108, 56,251, 54,114,101,160,175,213,239,143, 26,147,179,177,242,146,157,112, 62,240,115,178,199,
-249,160,225,117, 16,206, 70,191,247,198,120,135, 52, 21,239,191, 26, 77,213,124,214,216,156, 13,228,254, 87,113, 54,176,121,102,
- 96, 19, 60,251,127, 52,156,141,201,105, 27,198,198,108,238,105,202,112, 54, 38,103,  3,194,250,175,227,124,216,158,251,255, 99,
-124, 58,226,123,144,102, 41, 71,238,104, 83,132,179, 49, 57,221,228,254, 87,112, 62,192,179,255,215,129,250,127,  9,136, 57,226,
- 27,185,102,130, 70,118, 96,154, 82,184, 54,102, 56,251, 54,133, 67,216,  4,104,244,112,214,214,148,231, 55,193,189, 63, 44,113,
-202,230, 37, 54, 47,253,223,229, 37,155, 52,217,183, 17,157,162, 70,117,158,109, 57, 27,227, 26,214, 28,141,149, 70,155,250,222,
- 27, 51, 47, 53,197,179,103,241,  0, 46,  4,203,201,114,178,156, 44, 39,203,201,114,178,156,255, 89,206,127, 37, 72, 54, 10, 88,
-176, 96,193,130,  5, 11, 22, 44, 88,176, 96,193,130,  5, 11, 22, 44, 88, 60, 84,112,216,190, 27, 18, 18,146, 40, 22,139, 91, 58,
-250, 95,169, 84,222,187,119,239, 94, 63, 54, 10,255, 57,176,207,136,197, 67,  4, 18,127, 57,232, 52,  0,166,118, 99,193,130,  5,
-139,127, 53, 28,118,134, 23,  8,  4,145, 55,110,220,136,166,105, 26, 38,147,  9, 70,163,209,242,169,211,233,208,187,119,239,  6,
-119,164, 15, 12, 12, 76,230,112, 56, 45, 26,114,142,201,100,202, 41, 42, 42,234,233,228,144, 84,  0,145,  4,241,151,102, 52,127,
-119,244,  9,160,192, 96, 48,116,114,198, 73, 16, 68,164, 45,159,  3, 46,243,119,167,156,158,158,158,231, 40,138, 10,179,199,229,
-232, 59, 77,211, 89, 37, 37, 37, 61,254,206,103,244, 95, 70, 96, 96, 96, 50, 69, 81, 13, 78,159,133,133,133, 14,211,103,112,112,
-240, 69,146, 36, 67, 26, 64,201,161,105, 58,227,222,189,123, 61,157,  8,145, 84,  0,145, 78,107, 80, 54,233,137, 32,136, 60,147,
-201,212,197, 85, 62,114,198,101, 39,141,186,226,180,136, 44,138,162,150,  5,  4,  4, 76, 85,169, 84, 26,  0, 12,135,195, 97,172,
-194,  6,  0, 48, 26,141, 37, 21, 21, 21, 29,216,148,200,130,  5,139,255,132,208,162,105,154,212,106,181,200,204,204,  4,195,216,
- 45,239, 77,247,113,189,232,243,191, 31,  9,240,  8,  8,132, 81,175,135,196,207,223,194, 93,116,253, 42,140,  6, 61,140, 58, 29,
-154,119,237,102, 14,  3,218,182,109,203,113,193, 25,182,124,249,242,  0, 15, 15, 15,104, 52, 26,104, 52, 26,104,181, 90,104, 52,
- 26,232,116, 58,232,116, 58,232,245,122,232,245,122, 24,141, 70,104,181, 90, 36, 37, 37,153, 12,  6,131, 83,206,197,139, 23,  7,
-200,100, 50, 11,159,121, 51,115,154,121, 13,  6,  3, 52, 26, 13,142, 30, 61,234,148,147,162,168,176,130,130,130,  0, 30,143,  7,
-134, 97, 64,211, 52, 24,134,169,179,217, 34, 42, 42, 74,239, 44,144, 77,244,140,254,203,136, 94,188, 99,127,128,167, 72,  0, 35,
- 77, 35, 33, 46,202,242, 71,214,215,187,193, 24, 77,160,141, 70,180,122,125,188,101,127, 76, 76,140,211,244,201, 48, 76,248,226,
- 29,251,189,220,229,148,203,229,234, 54,109,218, 20,160,198,109,118, 36,180,194,212,106,117, 64, 45,127, 61, 65, 68,146,100,157,
-237,208,161, 67, 72, 72, 72,112,117,239, 97, 51,103,206, 12, 48, 24, 12,208,233,116,208,106,181, 48, 24, 12, 48, 26,141,150,205,
-100, 50, 89, 54,157, 78,135, 51,103,206,184,235,100, 45, 31, 52,104,208,228,253,251,247, 75,126,253,245, 87, 73,139, 22, 45,192,
-227,241,192,225,112,192,225,112, 64,146, 36, 40,138,194,163,143, 62, 74,176, 73,144,  5, 11, 22,255, 25,161,165,213,106,179,227,
-227,227,153,218,239,161,  2,129,128,103, 83,203, 13,105,213,170, 85,134,237,121,174,154,171, 60,  2,  2, 49,183,153, 15,  0,224,
-195,187,114,203, 11,226,147, 30, 29, 45,199,124,156, 95,  9,  0, 16,137, 68, 32,172,171,209, 14, 32,145, 72, 48,104,208, 32,240,
-249,124,116,233,210,  5, 92, 46,215,238,198,227,241,192,229,114, 93, 70, 10, 65, 16,144, 74,165, 88,176, 96,129, 89, 36, 65, 34,
- 20, 96,122,143, 46, 16,130,193, 87, 87,111, 65, 71, 51,160, 40,202,178,185,195,201,227,241,112,229,202, 21, 80, 20,  5, 14,135,
- 99,249, 52,127,223,187,119, 47,158,125,246, 89, 80, 20,  5,145, 72,  4,184,152, 57,216,250, 25,233,116,186, 96, 62,159,175,  7,
- 96, 22,103, 60,130, 32,130,238,231, 25,253,151,225, 41, 18, 96,194,250, 95,  0,  0,185,171, 94,183, 60,187, 51,175,125,104, 57,
- 38,252,229,209, 32,  8,  2, 92, 46, 23, 36, 73, 54, 26,103, 89, 89,153,122,204,152, 49,167, 60, 60, 60, 14, 85, 85, 85,193,133,
-128, 67,110,110, 46, 40,138,114,152,222, 73,146,196,202,149, 43,241,231,159,127,186,117,239, 26,141,  6,155, 54,109,130,201,100,
-170,195,107,254,110,187,207, 77,145,181,104,240,224,193,227,247,239,223,239, 77, 16,  4, 62,255,252,115,240,120, 60, 12, 27, 54,
- 12,190,190,190, 56,124,248, 48,120, 60, 30,222,121,231, 29, 54,241,177, 96,193,194, 89,153,199,  5,208, 17,128,127,173,137, 80,
- 13,192,203,234,144,146,218, 79,127,243,111,130, 32,210,237,240,116,173, 61,166,132, 32,136,116,171,223, 58,  0,124, 59,251,229,
-  0, 68,181,155, 22, 53,238,127,123,171,235,152,207,131,163,235, 82, 64,205,250, 67,  0,142,  3,232,155,144,144,112,  2,  0, 10,
- 11, 11,135, 22, 22, 22,  2,  0, 34, 35, 35,111,100,100,100,180, 49,107,158,218,230, 41,158,209,104,140, 54, 55, 85,153,221,162,
-129,  3,  7, 58,173,225, 27,245,250,122,  2,196,158,150,178,215, 92,225, 72,192,232,245,122,140, 30, 61, 26,  0, 28,190,116,172,
- 55, 55,180, 27,116, 58, 29, 40,138, 66,235,102,254,152, 55, 36, 30,143, 48,  6, 40, 21,  4,140,149, 74,140,144, 26,112,163,109,
- 39,108,204, 41,193,221, 42,  5, 40,138,114,139,147,166,105,135, 34,139,195,225, 96,253,250,245, 24, 51,102, 12, 56, 28,142, 91,
-124,214,207, 40, 34, 34, 98,127, 70, 70,134, 47, 65, 16,218,218,103, 36, 48, 26,141, 50,163,209,232,107, 50,153,124, 27,242,140,
-254,203, 48,210,180,221,116,232, 40,205,186,243,156,220,225, 44, 43, 43, 83, 39, 36, 36,156, 22,  8,  4, 91,  3,  3,  3, 11,242,
-242,242, 92, 10, 45, 91,241, 99, 91,169, 88,177, 98,  5,214,174, 93,139,126,253,250,185, 21, 78,173, 86, 11,130, 32,176,113,227,
-198,122,255, 45, 92,184,176,222,245, 92,112, 18,  0,200,144,144,144,215, 14, 30, 60, 40, 51, 31,235,231,231,  7, 46,151,139, 14,
- 29, 58,192,195,195,  3,167, 78,157,130,201,100,114, 59, 95,178, 96,193,226,223, 11,123, 90,196, 10,189,231,206,157,219,101,217,
-178,101, 75,186,119,239,190, 51, 53, 53,117,  7, 65, 16,137, 86,101, 98, 66,109,249,154,104,254,205, 48, 76, 87,107,209, 83, 43,
-214,252,  9,130, 72, 52, 31,111,253,219,252,201, 48,204, 64,  0,124,243,239,185,115,231,182, 95,182,108,217,146, 57,115,230,188,
-183,116,233, 82,222,220,185,115, 99,151, 45, 91,182,196,124, 29,123,225,176,231,104, 57, 93,123,202,220, 68,117,243,230, 77, 71,
- 77, 84,214, 47,  0,167,165,165,196,207,223,226,100,125, 28,238,107,217,191, 32,175,194,242,  2, 91,215,185, 37, 36, 18,  9,134,
-124,252,169, 91, 78,145, 78,167, 67,113,113,177,197,101,112,181,185,203, 41, 22,  9,145, 52,179,  3,114,229,124,124,148, 86,134,
-253,151,254,  4,151,203,197,227,109, 59, 96, 40,207,  3, 31,132,243, 49,243,214, 29, 24, 24,247,250,244, 50, 12, 99, 87, 96,153,
-191,155,155, 80,220, 21, 90, 54,207, 40, 87,163,209,200, 51, 51, 51,213,116,205,139, 93,196, 48,140, 55, 65, 16,213,181, 46, 87,
-176,187,207,232,191,140,132,184, 40,139,235,116,198, 99,128,101,255,179,202, 43,150,103,242,214,250, 79,  0,  0,253, 58, 61,234,
- 50, 63,184,195, 41,151,203,213, 61,  7,244, 61, 97, 82,235,182,140, 31, 63, 62,251,216,177, 99, 34,119,194,106, 79,104,153, 93,
- 91,179,200,162, 40, 10, 58,157,206,173,123,215,233,116, 14,243,  7,143,199,187, 31, 71, 11, 74,165, 82,183,103,207, 30,172, 91,
-183, 14,190,190,190, 24, 60,120, 48,130,131,131,177,123,247,110, 48, 12,131,215, 95,127, 29, 34,145,200,236, 94,179,  9,144,  5,
-139,255, 54,156,105, 17,193,178,101,203,150,216, 10, 25,235,223,214,  2,202, 70, 76, 89,139,181,246, 46,222,255,137,182,226,201,
-124, 93,130, 32, 18,151, 46, 93,154,224, 34, 28, 37,142,132,150,211, 41,241,181, 90,109,118, 92, 92,156, 91,106, 66,165, 82, 21,
-186, 18, 27,246,106,245,214, 46,129, 84, 42,133, 68, 38,  5,233,102,185,107, 48, 24, 44, 66,229,200,145, 35, 16,137, 68, 24, 54,
-108,216,  3, 57, 90,122,189, 30,124, 30, 23,164, 95, 32, 38,172, 58,  6,121,181,218,242,130, 57,158,149,141, 11, 69,197,152,217,
-125,  0, 36,162, 98, 40,116, 58,183,156, 55,154,166,235,137, 44,138,162, 48,122,244,104,139,155, 96,221,111,  5, 78,154, 14,125,
-125,125,207, 81, 20, 21,102,245,140,132,145,145,145,192, 95,253,122,  8,154,166, 21, 94, 94, 94, 63,  3,  8, 97, 24, 38, 12,128,
-135, 59,207,136,133,253,244,105,187,159,182,113,170,238,135, 83, 46,151,171, 19, 18, 18, 78,155,212,186, 45,249,249,249,167,  1,
-  8, 31,121,228,145,  6, 11, 45,179,192,226,114,185, 88,185,114, 37,214,174, 93,107,249,223, 93,161,101, 52, 26,235,  8,168, 91,
-183,110,213,185,150,173,176,115,209,108,202,160,102,116, 33, 29, 25, 25,105, 57, 39, 40, 40,  8, 94, 94, 94,160,105, 26, 52, 77,
- 67, 40, 20, 66, 36, 18,129,199,227,177,137,142,  5, 11, 22,206,180,136,122,206,156, 57,239, 17,  4,145, 88,235, 44, 93,117, 34,
-168,236,105,143,174, 54, 98,173,196,193,113,  9,246,196,150,245,119, 51,230,206,157,219,222, 54, 28,246,154, 43, 45,165,170,205,
-180,251,117, 96,221, 68,213, 88, 47, 49,103, 47, 50,169,151, 12, 34,137,  4, 28, 14,  9,130, 32, 24, 87, 92,122,189,222, 82,240,
- 79,157, 58,213,105,191, 21,119,251, 83,233,245,122,144, 20,  7,247,130, 34, 96, 34, 79, 90,206, 53,111, 36,197,197,221,160, 54,
-224,220,188,  8,174,155, 47, 92, 91, 71,235,245,215, 95,199,166, 77,155, 64,146,164, 37, 78, 40,138, 66,171, 86,173,144,157,157,
-237,148,139,162,168,176,187,119,239,  6, 88,199,163, 89,196, 50, 12,  3,147,201,132,168,168, 40, 77,102,102,230,155,108,214,125,
- 48,145,229,104,191,201, 68,187,237,194,216, 59, 78, 46,151,171, 71,141, 26,117,162,178,178,114, 75,187,118,237,110,161,238, 20,
-  8, 46,249, 40,138,170, 35,176,204, 34,107,205,154, 53,117, 68,145,193, 96,112,171, 34, 96, 48, 24,234,  9,158,207, 62,251,172,
-206, 39,  0,244,232,209,195, 45,103, 24,  0, 67,146, 36,195,227,241, 48,104,208, 32,196,198,198,226,215, 95,127,  5, 77,211,152,
- 54,109, 26, 68, 34, 17, 86,175, 94, 13,163,209,136,229,203,151,179,142, 22, 11, 22, 44,156,105, 17,237,210,165, 75,175, 46, 93,
-186,212,226, 44,217, 58, 90, 14,222,187,195,107, 69,149,191, 89,164,  1,208,218, 19, 68,246, 92, 50, 91,  1,102,189,111,217,178,
-101, 75,108,195, 97,219, 92, 89, 71,104,253, 93, 40,188,118,  5,159, 62, 22, 15,160,110,115,225,250, 71,219, 64, 34,149, 64,226,
- 33,197,168,189, 39,  1,160,182,208,159,227,150,163,101, 22, 90,114,185,220,169,200,106,136,163, 69,242, 41,252, 24, 86, 14,134,
-207,  5,165, 51,212, 17, 90, 28,138,139, 92,223,  8,144, 92, 30, 40,147,209, 45, 78,134, 97,234, 53, 21, 78,156, 56, 17,  4, 65,
- 88, 70,136,197,197,197, 89,115, 17,174, 94,142,179,125,106,250,224,217, 54,199, 46, 47,213,176, 57,246,126,210,231,185,175,113,
-227,167,215,  0,  0, 61,149, 74,203,179, 88, 28,247,215,216,129, 85, 87, 78, 88,220,199,143,241,246,125,113,202,229,114,245, 35,
- 49,237, 79,243,124, 60,183,228,228,228,156,  6, 64, 62,247,220,115, 94,113,113,113,110,229, 73,243,224, 10, 91,145,101,237,100,
-153, 63, 93,140,176,181, 18,142, 38,183,  4,148,185, 25,209,141, 52,207,152,211,182, 76, 38,131, 84, 42,181,140,184, 21, 10,133,
- 16,139,197,150,254,157,110, 10, 55, 22, 44, 88,252,119,225,109, 22, 58,181, 98,169,142,211, 84,219,183, 42,193,250,183, 61,199,
-171,214,129, 74,118, 81,190,238,175, 21,104,118, 97,118,214,108,206, 73,116, 36,210, 40,179,130,180,254, 12, 10, 10,250, 77, 42,
-149, 70,184,123,247, 13, 25,197,102, 50,232,235, 57, 91,  4, 65, 64,234, 33,133, 72, 42,129,200, 67,234,208,245,114, 38,180,204,
- 78,145,249,165,179,117,235, 86, 72,165, 82, 76,154, 52,169,193,125,180, 44, 66,139, 71,226,176,224, 40, 56,124,170,142,200,162,
- 40, 10, 28, 46, 23,133,210, 96,144, 92, 46, 40,163,123, 46, 89,101,101, 37, 40,138,194,188,121,243, 44, 53,120,107,145,213,144,
-123,118,  6,146, 32,204,238,150,160,101,203,150,111, 19,  4, 17, 14,160,133, 82,169, 20,220,187,119,175, 63,155, 95,157, 40,  3,
-147,161,158, 11,229,200,125,189, 95, 78,179,147,197,243,241,220,210,166, 77, 27,139,147, 37, 22,139,205,163, 77, 93, 63, 99,146,
-180, 43,178,108, 71,  8, 82, 20, 85,147,150, 93,140,142,180,118,180,150, 46, 93,106,225,181,118,178,204,104, 72, 62, 50,135,245,
-196,137, 19,184,112,225,  2,166, 78,157, 10,145, 72,132,181,107,215,194,104, 52, 98,225,194,133, 16,137, 68,224,243,249,108,226,
- 99,193,130,117,179,234,104, 17, 27,148,216,244,131, 34,108, 68, 77,137, 61,129,101,221, 76,104,254, 78, 16,132,193, 14,175,206,
-166, 73,209,118,191,249, 83,190,116,233,210, 99,102, 39,203,106,127,157,112,184,116,180,  4,  2, 65, 68,102,102,166,101, 34, 76,
-103,159, 58,157, 14,253,250,245,115,219, 25, 51,143, 58,164, 40, 78, 29, 97, 33,246,144, 66, 44,243,128, 72, 42,181, 21, 28,132,
-171, 66,220, 92, 35,182, 22, 90,243,231,207,  7, 69, 81,216,180,105, 19,  0,224,237,183,223,118,187,143,150,153, 19, 38,  2,121,
-204,109,196,175,122, 22,186,239, 12, 40, 74,249,  3, 20, 69, 33,160,219, 80,208,143, 60, 11,149, 72, 10,202,100,116,123,212, 97,
- 89, 89, 25,178,179,179,193,225,112, 48,107,214,172, 58,115, 29,217,142,100, 59,114,228,136,203,123,183,231,100,205,207, 41,179,
-240,136, 68, 34,242,143, 63,254,136,160,105, 58, 82,173, 86,183,236,209,163,  7,205,102,101, 23,162,136, 54,186, 37,170,220, 77,
-159,182,156,230, 62, 89,149,149,149, 91,114,114,114,206,  0, 32,199,143, 31,239, 37, 22,139,241,205, 55,223,168,  0,240,119,239,
-222, 45,114, 37,138,204,233,198,149,200,226,114,185, 53,105,217,157,123,103,234, 78, 89,226,170, 99,188, 59,105,222, 28, 86,130,
- 32, 96, 50,153, 32, 18,137,234, 56, 89, 66,161, 16,  2,129,128, 77,120, 44, 88,176,112, 85,150,164,187, 93,142, 51, 76, 87, 43,
- 81,149,126, 63,188, 13,185,158, 43, 80,142,132,134, 86,171,197,245,235,215,221,229,113,123, 98,204,102, 93, 30,197,199,249,149,
- 32,  8,  2, 95,245,104,  7,137, 76, 10,177, 68,130,145,191,158,176, 20,220, 87,150,188, 13,129, 68,138,144, 94,131,221, 42,200,
-205, 77,135,214, 66,171,162,162,  2, 92, 46, 23,139, 22, 45,  2, 73,146, 88,190,124, 57, 66, 67, 67,113,239,222, 61,236,222,189,
-219, 45, 71,139, 99,226, 32,248,133, 24,136, 39,122, 66,246, 66,111,120, 15,154,143,124, 29,133, 84,141, 24,189, 53,215,192, 63,
-188,  6, 58,218,228,246,  8, 44,163,209,136, 19, 39, 78,216,118,120,183,244,169, 50, 26,141, 48, 24, 12,208,235,245, 88,190,124,
-185, 59, 35, 60,235, 61, 55,115, 28,214, 78,130,202,201,200,200,240,103, 24,198,  7,128, 39,128, 82, 54,187, 58, 71,112,183,215,
-225,223,229, 85,  0,192,222,165, 47, 90,246,207,187,242, 87,250, 92,249, 93,205,  2,  0,109, 90, 12,110, 16,167, 92, 46, 87, 63,
-222,175, 71,178,134,230,110,238,208,161, 67, 29, 39, 75, 40, 20, 18,181,191,221,178,203, 72,146,  4,135,195,169,215, 92,232, 72,
-108,185,211, 71,203,104, 52, 90, 38, 18,117,214,159,241,126, 28,173, 23, 95,124, 17,193,193,193, 22, 39,235,227,143, 63,134, 72,
- 36,194,220,185,115, 97, 48, 24,176,102,205, 26, 54,241,177, 96,193,226,111, 23,101,127,  7,236,150,164, 26,141,230, 78,108,108,
- 44, 28,252, 23, 42, 20, 10,185, 54, 55, 21,210,170, 85,171, 12, 59, 77,136,  3,  1, 36,217, 43,212,  9,130,128,135,204,  3, 66,
-169,  4, 98, 27, 23, 75,232, 33,131, 64, 42,  5,201,179, 91,152,215,227, 52,247, 45,177, 22, 90,230,173,178,178, 18, 92, 46, 23,
-235,214,173,131, 76, 38,131, 86,171,117,201,105,126,233,112, 56, 28,168,114,171,113, 99, 73, 18,248,194, 84,180, 28, 60,  6,193,
- 92, 17,120,167,126,134,218,100,112, 53, 97,105, 61,206,232,232,104,124,248,225,135,245,166,117,112,132,208,208, 80,151,247,110,
-235,100,173,108,215, 28, 60, 62, 15,111, 93,203,133, 86,171, 37,198,140, 25, 67,  3, 80,  3, 40, 81,171,213, 57,238,196,103, 35,
-224,161,231,116, 54, 42,214, 12,154, 49,217, 19, 48,118, 57,205, 78,150,134,230,110,206,206,206, 54, 59, 89,158, 98,177, 24, 27,
- 54,108, 80,  1, 32, 23, 46, 92, 40, 14, 15, 15,231,184,147,150, 56, 28, 14, 86,173, 90,101,183, 79,150, 61,209,213,144,124,100,
-125,110,159, 62,125,236, 78, 88,234, 64,188,213,227, 52,135,213,215,215,215,226,100,153, 76, 38,203,104, 67,243,236,243, 78, 42,
- 21,108,250,100, 57, 89,206,255, 14,231,191, 18,118, 75,224,123,247,238, 61,238,232,132,168,168,168,204,204,204,204, 86,230,165,
- 56,106, 11, 78,158, 70,163,137,238,209,163,135, 75,107,135,166,105,  8,  4,  2, 48, 12,131,254, 31, 46,  3, 65,  2, 36,234,190,
-196,  2, 30, 27,  0, 14,135,  2, 93,179,212,135,203, 81,135,106,181,186,206,203,193,222,166, 80, 40,160,213,106,221,158,205, 91,
-163,209,212,153,130,129, 96,104,220,253,125, 87,189,209,135,230,205,221,126, 59, 66,161,176, 78,211,143, 11,199,138,112,199,209,
-178,110,122,228,241,121,160,120, 92,179,163, 85,125,235,214,173, 81,108, 50,119, 31,230,  1, 11,  0,208,186,199, 48,208,180,  9,
-140,201, 84,103,153,164,152,136,199, 65, 51, 38,232, 13, 42,104,181, 90, 87,211,158, 16,165,165,165,234, 81,163, 70,157,  0,240,
-237,136, 17, 35, 50, 80, 51,187, 48, 35,149, 74,  5, 92, 46,151,  6, 80,  6,128, 41, 47, 47,247,204,207,207,167, 53, 26, 77,115,
- 87,225,220,191,127, 63,174, 95,191,142, 94,189,122,213, 89, 14,202,236,138, 90,207,238,238, 78,250, 52, 55,151,219,155, 17,222,
-145,144,115, 23, 28, 14,  7,158,158,158,224,241,120, 88,180,104, 17,120, 60, 30,196, 98, 49,  0, 96,205,154, 53,150,201, 87, 89,
-176, 96,193,226, 63, 35,180, 92,149,155, 78,154, 21,157, 54, 33, 26,141,198,188,240,240,240,  6, 93,204,100, 50, 21,185, 16,110,
-121,187,119,239,230, 89,187, 16,174, 62, 25,134, 41,114,241,178,205,219,187,119, 47,207,158,187,225,104,129,105, 87,156, 38,147,
- 41,175, 69,139, 22, 14, 29, 19,123, 48, 24, 12,249,174, 68,235,178, 18,117, 29,145,240,214,181, 92,135,107, 39,178,112,153,214,
-156,164,207,247,239, 55,125,222,106,221,186,117,190,151,151,215,129,192,192, 64,121, 74, 74,138,111,215,174, 93,125,173,143,233,
-218,181,107,176,205,105, 58, 56, 94,231, 16,  4, 65,228,141, 24, 49,194,110,154, 55,139, 38, 59,233, 51,207, 85,154, 63,123,246,
- 44,207,250,124, 71,252, 86,249, 40,207, 13,225,122, 55, 62, 62,158,180,230,113,148,246, 13,  6, 67,  9,155, 10, 89,176, 96,241,
-159, 23, 90,106,181, 58, 55, 54, 54,214,232,224,191, 28,103,231,202,229,242, 46,141,125,  3,  6,131,161,199,195,192, 89, 90, 90,
-218,168,247,110, 52, 26,243,106, 39, 40,117,122, 12,155,196,255,185,103,  4,  0,197,197,197,143,  0,128, 82,169,132,171,101,117,
- 26, 32,  8, 27, 61,125, 26,141,198, 30, 77, 17,167,101,101,101,221,217,148,197,130,  5, 11, 86,104, 53,  0,236, 98,196,255, 31,
-104, 10,209,202,130,  5, 11, 22, 44, 88,176,104, 92,144,108, 20,176, 96,193,130,  5, 11, 22, 44, 88, 52, 13,  8,212,140, 28,176,
-135,134,140, 38, 24,120, 31,215, 78, 98, 57, 89, 78,150,147,229,100, 57, 89, 78,150,243, 63,199,233,138,155, 29,205,216,196,  2,
-140,229,100, 57, 89, 78,150,147,229,100, 57, 89,206,255, 30,231,191, 18,108,211, 33, 11, 22, 44, 88,176, 96,193,130, 69, 19,129,
- 98,163,224, 31,  3,  7, 13,152, 81,223, 21, 24,134,241,  6,224,104,193, 56, 29, 65, 16,229,247,193, 73,  0,224,213,110,230,137,
-142, 12,  0,244,  0,244,  4, 65, 48,174, 57, 62, 34, 11, 10,188,219, 51, 38,110, 87,134, 32,184, 52,141, 75,205,155, 55,187, 72,
- 16, 67,117,  0, 32,  9,140,105, 43,149,136,  6,106,245,186,  8,  1,151,127,189, 66,169, 56,162, 45,206,188,195, 38, 15, 22, 44,
-254, 17, 60,  1, 96,  1,106,186,149, 44,  5,176,139,141, 18, 22, 44,154, 72,104, 73,165,210,115, 36, 73,134,185,154,159,199,140,
-218,181,204,242,202,203,203,187, 52,224,218,163,164, 82,105, 63, 46,151,251, 24,  0, 24, 12,134, 20,133, 66,113, 12,192,110,  0,
-198,251,188, 39, 25,128,209,  0,198,213,254,254,190,182,176,168,186, 79,190, 88, 79, 79,207,159,184, 92, 46, 83, 90, 90,218, 13,
-  0,124,125,125, 79, 27, 12,  6,162,170,170,106, 36,128,203, 13,228, 35,185, 92,238,202,110,221,186,245, 62,121,242,228,183,  0,
-214, 53,210,179, 20,144, 36,105, 87,160,208, 52,221,226, 62, 68, 22, 15,128,231,186,117,235,124,183,111,223, 30,159,151,151,215,
-  1,  0,194,194,194,174,140, 31, 63,254,226,244,233,211,229, 12,195, 84, 18,  4,161,119,198, 83, 80,224,221,190,184, 48,107,106,
- 81,241,245,209,  0, 16, 20,220, 97, 23,135, 67,242, 24,230,124,154,216,111,156, 95,171,150, 45, 94,221,249,205, 58, 94,139,136,
-102, 56,154,122,161,227,244, 55,223,107,159, 15,172, 96,197,214,223,  7, 15, 15,143,115, 36, 73,134, 57,203,227,246,242,188,201,
-100,202, 43, 43, 43,235,226,136,147,162,168, 48,103,229,133,189,125, 52, 77,103,149,150,150,218,157,106, 66, 38,147,165, 81, 20,
- 21,225, 46,151,249,211,104, 52,230, 57, 26,165, 43,147,201,206,113, 56,156, 48,103,247,105,239, 63,154,166,179, 74, 74, 74, 28,
-133,179,222,189, 55, 70, 56,239,135,211, 89, 56,205,229, 17,128, 53,190,190,190,143,202,229,242,231,  1,188, 87, 85, 85, 21,199,
-225,112,224,227,227,243,158, 78,167,251,211,211,211,243,235,202,202,202, 84,  0,111,  2, 96,215, 75,101,193,162,177, 32,147,201,
-138, 20, 10,  5, 99,  6, 77,211,140,193, 96, 96,180, 90, 45,163, 86,171, 25,165, 82,201, 40, 20, 10,166,170,170,138,169,172,172,
-100,228,114, 57,227,239,239,111, 59,121,163,163, 54,220, 14, 50,153, 44,115,217,178,101,218,236,236,108, 70,175,215, 51,122,189,
-158,185,115,231, 14,243,233,167,159,106,101, 50, 89, 38,128, 14, 14,206, 29,232,160,176, 24,  4, 96, 71,124,124,188,110,255,254,
-253,140, 70,163, 97,148, 74, 37,179,107,215, 46,166, 93,187,118, 58,  0, 59,106,143, 33,221,228,  4,128,158, 65, 65, 65,121,183,
-111,223, 54, 29, 57,114, 68,239,233,233,153,228,233,233,153,116,231,206, 29,211,237,219,183,105, 63, 63,191, 60,  0, 61, 27, 16,
- 78,  0,120,246,173,183,222, 42,186,115,231, 14,211,167, 79,159, 75, 86,251,  9,184, 94,231,110,160, 61, 39,139, 97,152, 32,134,
- 97,130, 81, 51,201,101,189,141, 97,152,224,218, 99,188,221,228,148,100,101,101, 53, 11, 12, 12, 92, 70, 16,132,206,150,143, 32,
-  8, 93, 96, 96,224,178,172,172,172,102, 12,195, 72,156,113,230,229,172,127,233,192,254,  1, 21,202,242,155,140,178,252, 38,243,
-237,230,190, 85,175, 76,127,126, 71,112, 84,167, 77, 94, 97,237,215, 93,191,121,107, 35,195, 48, 27,143,165,103,110,156,255,229,
-111, 27,159,158,190,122,131,111,120,252, 43, 13,136,207,  7,  1,203,  9,192,203,203,171, 80,169, 84, 50, 12,195, 48, 38,147,137,
-209,235,245,140, 86,171,101, 84, 42, 21,163, 80, 40,152,234,234,106, 75, 62,175,172,172,180,124, 15,  8,  8,112,152,223,189,189,
-189,139,212,106,117,157,178, 67,167,211, 89,202, 15,149, 74,197,168, 84, 42, 70,169, 84, 90, 54,133, 66,193,132,132,132,228, 58,
-  9,231, 61,115, 56,105,154,102,140, 70, 35,163,215,235, 45,188, 26,141,166,206,166,213,106, 25,173, 86,203,132,135,135,187, 29,
- 78,119, 56, 53, 26, 13, 19, 22, 22, 86,224,136,211,199,199,167, 72,163,209,212,225,180,190,127, 91, 94,243,239,160,160,160,194,
-134,112,186, 19, 78,103,241, 89,139,117, 25, 25, 25,140, 90,173,102, 66, 67, 67,229, 35, 71,142, 52,152, 76, 38,102,255,254,253,
- 76,124,124, 60,221,183,111, 95,125,105,105, 41, 51,105,210, 36,198, 73,165,144,205, 71, 44, 39,139,251,113,180,  8,130,128, 68,
- 34,193, 15, 63,252,224,112, 57, 14,235,239,205,155, 55,119,247,154, 93, 34, 34, 34, 78,156, 58,117, 74, 20, 28,252,215,132,216,
- 58,157, 14,222,222,222,152, 54,109, 26,255,137, 39,158,104, 53,120,240,224,211,119,239,222,237,  3,224,156, 11,190,103,252,253,
-253, 63,159, 55,111, 94,224,115,207, 61,  7, 95,223, 58,147,110, 99,212,168, 81, 24, 57,114, 36, 47, 35, 35, 99,204,214,173, 91,
-199,172, 95,191,190, 80,161, 80, 76,  7,240,179, 51, 82,145, 72, 52, 34, 36, 36,100,195,169, 83,167,  2,  2,  2,  2, 16, 25, 25,
- 73,190,243,206, 59,173,162,163,163, 69, 97, 97, 97,228,189,123,247,240,235,175,191,134,142, 29, 59,246,199,162,162,162, 87,245,
-122,253, 30, 55,238,157,239,235,235,251,222,171,175,190,234, 87, 85, 85,101, 60,127,254,124,166,121, 63,159,207, 95,216,189,123,
-247,174,199,143, 31,255, 14,192,215,247,227,100, 49, 12, 83,133,191,154,248,204, 48,152,255,119,199,217, 98, 24,134,127,233,210,
- 37,159,238,221,187,255,172,213,106, 59, 77,157, 58, 53,103,201,146, 37, 34,153, 76, 38,  3, 64, 84, 85, 85,149, 47, 88,176, 64,
-183,122,245,234,119,219,182,109, 59, 32, 45, 45,237, 25,134, 97, 12,181,130,172, 62, 31, 65, 88,194,147,155, 95,130, 19,169, 52,
-255,195,185,111,135,125,178, 56,226,110,250,181, 92,154, 18,201,176, 47,249, 42,138,228, 10,252,150,118, 13, 65,190, 30,  4, 79,
-192,109,239, 25,218,174, 79,101,254,181,100, 56,153, 33,157, 69,227,128, 32,  8,136,197, 98,236,219,183,175,222,210, 85,246,150,
-181,162, 40, 10, 94, 94, 94, 46, 87, 55, 16, 10,133, 56,114,228,136,221,181, 23,237, 45,233,227,233,233,  9,103,149, 13,130, 32,
- 32, 20, 10,145,146,146,  2,146, 36,237, 46, 13,100,187, 79, 34,145,128,116,178,214,149,153, 51, 57, 57,217, 37,151,249, 83, 42,
-149,  2, 53, 77,255,142, 51,165, 64,128, 83,167, 78, 57,188,103,219,239,210,218,245, 94, 93,113,166,164,164,212, 89,250,203,118,
- 73, 48,235,223, 18,137,  4,132, 11, 82,111,111,239,110, 97, 97, 97, 56,123,246, 44,118,239,222,237,211,190,125,123,220,186,117,
- 11,  4, 65, 96,201,146, 37, 68,187,118,237,184,133,133,133,232,213,171, 23,126,249,229,151, 30, 85, 85, 85,108,134, 97,241,143,
-128, 97, 24, 46,128,142,  0,252, 81,211,237,166, 26,128, 23,106, 86,210,224,  3,144,  3, 16,213,110, 90,  0, 10,  0,126,181,167,
-151,214,150, 45,214,  2,161,196,122,241,105,134, 97,186,214,114,155, 87,168,240,183, 58,214,124, 13,219,223,182,159,118,185, 41,
-  0, 72, 76, 76, 52,191,204,250, 38, 36, 36,156,176,190, 57,119, 68,150,121,157, 50, 59,121,218,118,136,166, 64, 34,145,252,116,
-250,244,105,145,191,255, 95,247,160,213,106, 81, 93, 93, 13,133, 66,129,234,234,106,120,120,120, 96,247,238,221,162,  1,  3,  6,
-252, 84, 93, 93, 29, 93, 27,105,142, 56, 87,221,187,119, 47,208,104, 52,130,207,183,223, 69,137, 36, 73,196,196,196,224,189,247,
-222,195,144, 33, 67,130,250,245,235,183,202, 70,104,213, 27, 74, 42, 22,139, 55,156, 63,127, 62, 64, 44, 22, 35, 51, 51, 19,121,
-121,121,120,235,173,183,154,209, 52,141,220,220, 92,220,186,117, 11,249,249,249,216,186,117,107,192, 83, 79, 61,181,193,142,208,
-178, 55, 60,117,234,204,153, 51,219,120,123,123,147,159,126,250,105,133, 82,169,252,162,118,255,135,107,215,174,125,161,119,239,
-222,  1, 83,166, 76, 97, 82, 82, 82,182,215, 62, 56,135,241,105,221, 39,171,182,153, 15,181,137,239,134,205, 57, 49, 86,255,131,
- 97,152, 32,  0, 90,130, 32, 42,236,112, 18,  0, 60,  7, 15, 30, 60, 75,171,213,118, 58,117,234,212,159,143, 61,246, 88, 56,128,
-123,230,196,231,233,233, 41, 89,181,106, 85, 96, 66, 66, 66, 70,255,254,253, 59, 13, 30, 60,120, 86, 73, 73,201, 18,134, 97, 74,
-172,250,108, 89, 56,105, 26,151,130,130, 59,236, 74, 78,155, 62,250,120,138,142,247,246,155,243,115,154, 55,107, 81,121, 41,179,
-204,116, 45,171,  4,213,106, 35,158,238, 95,179,128,121,183, 14,205,241,249, 15,167, 48,109,198,251,220,159,119,109, 27,249, 39,
-  3,137,162,224,218,126, 39,241,249,160, 96, 57, 97,105, 98,  2,151,203,197,208,161, 67, 65, 16, 68,189,181, 60,185, 92, 46,210,
-210,210,208,191,127,127,112,185, 92,188,248,226,139,110,113, 82, 20,133,193,131,  7, 91,214, 81,180,230,179, 21, 13, 14, 52, 65,
-146, 77, 97, 11,138,162, 64,146,164,195,133,180,109, 57, 93,149, 75,230,112, 58,227,178,254,207, 85, 56,107,151, 60,114, 91,100,
-185,203,105, 14, 39, 69, 81,232,209,163,  7, 46, 94,188,232, 84,116, 57,208,151,117,238,189,188,188,124, 66,116,116,116,242,186,
-117,235,124,  0, 64, 46,151, 91, 22,188,231,112, 56,184,121,243, 38,116, 58, 29, 62,250,232, 35,125, 85, 85,213, 20, 54, 31,177,
-156, 77,201,233, 76,139,  0,232, 61,119,238,220, 46,203,150, 45, 91,210,189,123,247,157,169,169,169, 59,  8,130, 72,100, 24, 38,
-193,252, 57,119,238,220,246,203,150, 45, 91, 50,103,206,156,247,150, 46, 93,122,149, 32,136, 68,  0,176,253, 93, 91,150, 36,216,
-136, 56,127, 51, 79,109,158,171,115,172,189,223,182,159,246,184,235, 56, 90,  9,  9,  9, 68,237, 77, 18,214,133,154,187, 66,203,
-157,181,251, 40,138,122,125,201,146, 37,129,206, 68,150, 66,161, 64, 65, 65,  1,194,195,195,241,226,139, 47,  6,174, 91,183,238,
-117,163,209,248,153, 19, 90, 30,135,195,193,217,179,103, 81, 92, 92,140,216,216, 88, 68, 68, 68,212, 57,224,246,237,219, 56,112,
-224,  0, 42, 42, 42,208,185,115,103,160,166,115,183, 93,196,197,197,125, 20, 19, 19, 51,152, 36, 73,163, 72, 36,194,165, 75,151,
-208,169, 83, 39,252,240,195, 15,104,222,188, 57,196, 98, 49, 50, 50, 50, 16, 27, 27,139, 19, 39, 78,192,223,223, 31,241,241,241,
-198,170,170,170,147,101,101,101,199,238,222,189,251,145,163,112,134,134,134,206,127,229,149, 87,248,  5,  5,  5,244,150, 45, 91,
- 78,  1, 56,  5,224,245,247,223,127,127,242,144, 33, 67,  2, 46, 92,184, 80,153,158,158,126,198,129,200,114,199,201, 50,218,190,
-148, 76, 38,147, 86,173, 86,235,180, 90,173,129, 36,201, 59,  4, 65,232, 76, 38, 83,180, 35, 19, 98,226,196,137, 81,165,165,165,
-211,102,204,152,145, 93, 43,178,110,162,166,  3, 60,  0,192,104, 52,106, 21, 10, 69, 85,247,238,221,195,199,142, 29,251,231,142,
- 29, 59,166, 77,156, 56,113,247,150, 45, 91, 20,  0,212,182,132,205,155, 55,187,200,225,144, 60,101,181, 79,214,143,187,191,158,
-121, 96,239,235,205,114,115,243, 91,249,250,249, 43,121, 82,255,130,221,223,111, 62,  7, 64, 87, 80, 82,133,203,183, 11,193,229,
-114,112, 61,183, 18,189, 31, 31,197,253, 51,115,113, 79,  0,251,217,186, 92,211, 87, 22,205,139, 80, 31, 63,126,220,169,163,149,
-150,150,  6, 46,151, 11,145, 72,132,213,171, 87, 59, 37, 53, 11,  3,179, 91,228, 74,204,152, 23, 71,119,230, 62,209, 52,109, 89,
-232,221,118,251,226,139, 47, 48, 99,198,140, 58,215,168, 21, 27,132, 43, 78, 71,225, 11,111,209,  2,197, 69, 69,117,246,185,179,
- 40,189,201,100,  2,151,203,197,166, 77,155,144,144,144,128,196,196, 68,167,159, 67,135, 14,  5, 73,146,140, 59,241,217,163, 71,
- 15,232,245,122, 75,152,111,222,188,105,151,119,253,250,245,174,130,249,  4,128,  5,157, 58,117,146,245,235,215, 15,201,201,201,
- 24, 57,114,164, 86,175,215,103,  2,192,240,225,195, 91,175, 91,183,142,127,254,252,121,248,250,250,114,115,114,114,190,  5,219,
- 65,158, 69, 19,195,158, 22, 49,191,243,150, 45, 91,182,196, 86,196, 88,195,252, 63, 65, 16,137, 75,151, 46, 77,176, 22, 69,214,
-191,205,174,147,141,136,107,111,237, 72, 89,139, 40, 71,  2,202,230,125,107,125,124,137, 93,161, 85,123, 99,125,173, 93, 32,115,
-225,235, 74,100, 57,169, 57,214,129,167,167,231,176,167,159,126,218, 34,114, 52, 26,141, 69, 96,153, 69,150,249,119, 70, 70,  6,
-186,116,233,194,243,244,244, 28, 38,151,203, 63,115, 67,196, 33, 36, 36,  4,165,165,165,184,114,229, 10,194,195,195, 97, 48, 24,
-112,232,208, 33, 84, 86, 86,130,203,229,130,199,227, 65,175,119,218,119, 27, 49, 49, 49, 67,183,111,223,222,101,219,182,109,229,
-230, 26,221,247,223,127, 15,134, 97,224,239,239, 15,149, 74,133,162,162, 34, 28, 59,118, 12, 70,163, 17, 82,169, 20,145,145,145,
-252, 17, 35, 70,244, 92,176, 96,  1,215,137,208,234, 49,114,228, 72, 79,153, 76,134, 55,223,124,147,209,235,245, 75,107,247,205,
-159, 62,125,186,239,157, 59,119,116, 47,189,244,210, 89,189, 94,255,169,217, 76,180, 22, 56, 14, 30,172, 67, 39,203, 96, 48,152,
-227, 52, 91,161, 80,192,207,207, 47,220,218,217,114, 36,  6, 83, 82, 82,122,  0,224, 44, 92,184, 80,  8,160,200, 58, 12, 58,157,
- 14, 10,133,  2, 74,165,210, 80, 89, 89, 89, 60,123,246,108,227,142, 29, 59, 56,181,231, 92,183, 39,180,  8, 98,168, 78, 38, 19,
-243, 25,134,243,254,198,141, 27,165, 67,134, 12, 33,165, 82, 41,170,171,171,101,191, 29, 60, 40, 29,208,175,103,228,146,101,159,
- 28,150,133,197, 22,165, 92,202, 66,126, 97, 37,116,  6,  3, 34,131, 61,107,252, 48, 22, 77,142,218,129, 44, 22, 71,203, 90, 84,
- 36, 39, 39,227,241,199, 31,183,228,117, 30,143, 87,199,249,114,197, 73, 81, 20, 30,127,252,241,122, 14,207,241,227,199,237,186,
- 79,174, 96, 45,138,108,197,145, 61,  1, 70,146,164,203,  5,214,205,110,158, 61,177,101,237,234,219,136, 55, 87,205, 28,160, 40,
- 10,211,167, 79,  7,151,203,197, 59,239,188,  3,138,162, 16, 31, 31, 15,138,162,208,189,123,119,112,185, 92,244,239,223,191,193,
-247,126,250,244,105,116,234,212,201, 18,166,248,248,120,116,237,218, 21, 20, 69,161, 87,175, 94,224,114,185, 24, 60,120,176, 59,
-156,239, 85, 87, 87,199, 73, 50,  7,  8,223,  0,  0, 32,  0, 73, 68, 65, 84,165, 82,100,100,100,128,195,225,128, 32,136, 91,  0,
-226,  0, 32, 56, 56,248, 79,149, 74, 21,165,209,104,240,202, 43,175, 16, 58,157, 46,246,157,119,222,121, 95,163,209,176, 66,139,
- 69,147,193, 86,139, 88, 65, 61,103,206,156,247,  8,130, 72, 52, 59, 84,182,206,147,189,223,118,202, 38,179,  3,149, 94,155, 87,
-187,218,136,184, 18,130, 32,210, 25,134, 25,238,232, 92,  0, 58, 27, 97, 85,167,233,208,186,217,208,165,163,101, 46,124,221, 21,
- 90,174,160,209,104, 58,  6,  4,  4, 56, 20, 89,214,159, 58,157, 14, 17, 17, 17,208,104, 52, 29, 27,250,210,  8, 14, 14,134, 94,
-175,199,215, 95,127, 13, 30,143,  7, 30,239, 47,125,161,211, 57, 55,139,174, 93,187,150,125,250,244,233, 78,157, 59,119,246,254,
-229,151, 95, 74,250,244,233,227, 63,100,200, 16,136, 68, 34,168,213,106, 24, 12,  6,116,235,214, 13, 49, 49, 49,200,203,203,195,
-111,191,253, 86, 26, 29, 29,237,119,230,204, 25,186,176,176,240,174, 19,234, 65,  3,  6, 12,  0, 65, 16, 56,120,240, 96, 41,128,
-116,129, 64,112, 96,241,226,197,222, 58,157,142, 30, 63,126,124, 78, 89, 89,217, 12,  0,122, 62,159,191,182, 79,159, 62,221,147,
-146,146,190,163,105,122,117, 67, 19,170,109,220, 42,149, 74,  8,133, 66,119,166,146,224,150,149,149,117,  0,  0,137, 68,226,  3,
-224, 79, 75, 10, 87,171,235,136, 97,157, 78,167,241,241,241,145,  0, 64,237, 57, 92,  7,156,254, 70, 35,126,188,123, 55,203,195,
-186,255,156,151,151, 23,198,141, 29, 75, 62,214,163,  7, 63,174, 99,199,193, 31,172,216,246, 67,136,175, 76, 23, 25,226, 11,131,
-201,128,164,195,135,104,134, 54, 28,102,139,157,191, 71,104,153,197,134,173,163,197,229,114,113,226,196,137,122,251,120, 60, 30,
-190,250,234, 43,183,132,129, 89, 84, 57,106, 58,179,105,234, 34, 92,  9, 24, 46,151, 11, 14,135,131, 77,155, 54,129,166,105,204,
-156, 57,179, 78,115,162, 53,191, 91,118,158,149,  8,140,153, 79,  3,208, 33,111,165,192,114,190,109,120,107,207,113,203, 37, 91,
-183,110,157, 91,142,214,240,225,195, 93, 10, 87,235, 22,  6,235,112, 93,188,120,209, 46,239,198,141, 27, 93,198,167,201,100,194,
-254,253,251, 45, 34,213,140, 15, 62,248,224, 21, 62,159, 31,120,242,228, 73, 20, 22, 22, 66,169, 84, 66,161, 80,160, 91,183,110,
-145, 36, 73, 94, 42, 44, 44,188,115,253,250,245,167,217,220,195,226,111,116,180,180, 75,151, 46,189,186,116,233, 82,187,142,149,
-173,179,228,204,121, 50, 11,172, 90, 65,228,111, 22,111,168,233, 86,147,238,234, 92,  0,124,219,166, 67,167, 70,144,141,138, 92,
- 96,175,240,117,167,249,208, 77, 59,157, 34,  8,  2, 26,141,198,174,192,178, 22,  7,122,189, 30,101,101,101, 48,153, 76,247, 61,
-215,151,189,154,172, 43,161,117,229,202,149, 73,147, 39, 79, 46,240,244,244,140, 43, 41, 41, 41,166,105,186,127, 90, 90,154, 63,
- 69, 81,144,201,100,144,201,100, 56,112,224,  0,196, 98, 49,166, 79,159, 94,108, 50,153,146, 61, 60, 60,124,213,106,245, 31,133,
-133,133, 31, 56, 84, 48, 92,238,224, 94,189,122,225,252,249,243, 40, 47, 47, 63,  2, 32,254,249,231,159,127,188, 89,179,102,196,
-226,197,139, 53,183,111,223, 94, 13,160, 88, 34,145,108,223,190,125,123,191,206,157, 59,123,140, 31, 63, 30, 39, 78,156,216,  8,
- 64,227,238, 61, 43,149,202, 58,  2,171,170,170, 10,213,213,213,144, 72, 36, 70, 55,227,140,139,191, 70, 24,130, 97, 24,203,179,
-169,117,179,204,207,135,161, 40,202, 60,170,209,145,200,130, 68, 34, 89,184,109,219, 54,145,237, 32,  5,147,201,132,162,162, 34,
-200,100, 50,204,251,224,  3,222,199,111, 77,233,196,145,  6,166,145, 36,  1,157,158,169, 96,104,221, 33,101,209,115, 39,129,143,
-216,146,231,111,128, 89, 24, 60,249,228,147,245,154, 11,121, 60, 30,142, 28, 57,130,167,158,122,202, 82,113,233,220,185,179,203,
-202,149, 89, 24, 60,241,196, 19, 22,103,232,208,161, 67,118,155,253,204,142,148, 59,130,208,124,236, 27,111,188,  1,138,162,240,
-249,231,159, 99,214,172, 89, 32, 73, 18, 43, 87,174,  4, 73,146,248,240,195, 15,221, 22,153,214,  2,230,206, 39, 53,159, 97,179,
-170, 32, 95, 31,  8,  0,240,144,201,204, 55,212,160,178,135,162, 40,139,147,213,177, 99, 71,112,185, 92,116,239,222, 29, 20, 69,
- 89,156,172, 97,195,134, 89,199, 35,227, 14, 39, 69, 81,200,204,204,180,132,185,123,247,238,117,156, 44,138,162, 48,124,248,112,
-119,130,185,196,203,203,107, 65, 76, 76, 76,219, 85,171, 86,113, 57, 28, 14,  6, 12, 24,208, 58, 40, 40,232,174,209,104,244, 93,
-184,112,161,216,206, 57, 34,  0,113,109,219,182,149,176,185,134, 69, 19, 58, 90, 11,236,252,229,109,221,231,170,  1, 21,201, 68,
-235,227,205, 28,182,226,168,214, 33, 75,118,197,101,239, 92, 87,160,204, 10,210,153,165,238,142,208,170,181,157,157, 94, 76, 44,
- 22, 95, 46, 46, 46,238, 46, 18,137,234,136, 44,123,130,139,195,225,160,176,176, 16, 98,177,248,178, 86,171,109,180,135,232,170,
-233, 16,128,230,214,173, 91,111, 89,253, 30, 56,108,216,176, 45, 71,142, 28,  9, 78, 74, 74,194,153, 51,103,224,239,239,143,117,
-235,214,221, 43, 42, 42,154,  4,224, 72,105,105,169,203,235, 70, 69, 69,117,144, 74,165, 72, 73, 73,  1,128, 19,  0,166, 76,155,
- 54,141, 48, 24, 12, 88,191,126,189, 18,192, 65, 47, 47,175,253,187,119,239,238, 20, 23, 23,199, 79, 74, 74,170, 58,115,230,204,
-239,110,138, 44, 19, 77,211,245,  4,150,117,156,122,120,120,184,227,104, 25, 60, 61, 61,175, 84, 85, 85,141, 82,171,213, 85,  2,
-129,192,163,170,170, 74,107, 45,176,204,252, 20, 69,113, 51, 51, 51, 11,  0, 68,122,122,122, 94,129,131,102, 78,138,162,  6, 12,
- 24, 48,128,178,125,  6, 69, 69, 69, 40, 44, 44,132, 94,175, 71,231,206,157,  9, 14, 97,224,148,231, 94,182,153,214,129, 21, 89,
-127,147,163,197,152,243,186,121,148,160,189,145,134,135, 14, 29,178,252, 38, 73, 18,155, 55,111,118, 75, 20, 29, 57,114,196,105,
-135,117,155,166, 67,151,214,184,249,248, 47,191,252, 18, 12,195, 88,156, 44,146, 36, 49,103,206, 28,  8,  4,  2, 44, 94,188, 24,
-115,230,204,  1, 69, 81, 46,155, 14,173,  5, 76,139,119, 84,214,149,163,154, 76, 81,219, 31,138, 32,  8,107,177, 69,184, 43,222,
-156,185,121,238,180,  4, 88,115,154,207, 19, 10,133, 14, 59,194,219,112, 58,187,192, 62,  0, 89,193,193,193, 41,221,187,119,247,
- 60,119,238, 28, 86,174, 92,201,211,106,181,205,147,146,146, 44,215,181, 23, 95, 74,165, 82,196,230, 28, 22, 77,225,102, 57,249,
-187,196,166,127, 21, 97,221,140,231,228,211,246,120, 88,237,179,230, 45, 33,  8,194, 96,231,122, 37,118,196,149,237, 53,172,143,
- 41,113,232,104,185, 42, 44, 92,  9, 46,119, 28, 45,149, 74,245,251,193,131,  7,187,142, 29, 59,150,114,214,108,168, 84, 42, 17,
- 24, 24,136,171, 87,175, 26, 85, 42,213,239,110, 56,101,141, 41,180,108,145, 84, 92, 92,204, 49, 24, 12,104,213,170, 21, 66, 67,
- 67,161,209,104, 80, 81, 81,193,  1,112,196, 77, 14,158, 68, 34,225,  0, 64, 69, 69,  5, 80, 51,212,180,117,116,116, 52,206,159,
- 63,143,178,178,178,159,  1, 12, 89,176, 96, 65,231,110,221,186,241,126,248,225,  7,213,212,169, 83,127, 54, 24, 12,110, 41, 13,
-154,166,117, 70,163, 49,130, 36, 73,125, 69, 69, 69,190,117,124,  6,  6,  6,250, 72, 36, 18,162,168,168,200,224,142,208,138,139,
-139, 59,155,147,147,131,133, 11, 23,150, 44, 89,178, 36,186,186,186,186,188,178,178,210,104, 45,182, 52, 26, 13,233,231,231, 39,
- 88,191,126,189,  8,  0,226,226,226,206, 58, 18, 90, 74,165,178,153, 88,252, 87,197, 88,171,213,162,176,176, 16,133,133,133, 40,
- 42, 42, 66,117,117, 53, 34, 35, 35,161, 82,169,194,217, 98,230, 31, 19, 90,117,154,207,172,243,183,245,139,188, 33,121,221, 90,
-192, 60,249,228,147,150,190, 93,102,135,204,188,253,248,227,143,182, 29,204,221, 18, 90, 95,126,249, 37,222,120,227, 13,  8,133,
- 66,172, 90,181,170, 78,211,161,173, 56,160,105,154,112,231,222, 35,222, 85,163,112,173, 15,184, 92, 46,124,167, 22,213,105,162,
-179, 35, 56,220, 10,231,146, 37, 75, 26,165,233,208,154, 51, 60,188, 38,171,108,218,180,  9,163, 70,141,194,201,147, 39,239,187,
-233,176,125,251,246,223, 39, 38, 38,122, 94,187,118, 13, 85, 85, 85, 40, 41, 41,129, 86,171, 69, 94, 94,158,195, 86,129,218,178,
- 92,200,230, 28, 22,127,115, 57,149,254,119,242, 54,230,245, 40, 23, 47,112,183,133,150, 59,142,150, 86,171, 93,245,230,155,111,
- 78, 27, 56,112,160,143,135,135,  7, 10, 10, 10,234,137, 44,133, 66,  1,169, 84, 10,181, 90,141,189,123,247, 86,105,181,218, 85,
-174,196,129,193, 96, 64, 64, 64,  0, 74, 75, 75, 65, 59,232, 63, 77,146, 36, 68, 34, 17, 20, 10,  5,224,162,147,185,189, 23,134,
- 94,175,135,193, 96,128,193, 96,128, 94,175,119, 89, 75,182, 53,243, 36, 18,137, 89,120,  0,128, 50, 36, 36,164,149, 80, 40, 68,
-118,118, 54, 80, 51,178,111,224,227,143, 63,206,149,203,229,204, 75, 47,189,116,138, 97,152, 87,224,124,118,124, 93,114,114,114,
-  4,  0,136, 68,162, 12,  0,200,203,203, 51, 84, 84, 84,212,113, 10,197, 98, 49,243,212, 83, 79,  5, 51, 12,131,228,228,228,  8,
- 30,143,199,192,241,168, 70,205,158, 61,123,174,121,122,122,238, 88,182,108,217,216,132,132,132,171, 29, 58,116,136, 80, 42,149,
-197,106,181, 90,173,209,104, 24, 14,135,195,243,246,246, 22, 30, 62,124,248,207,180,180,180,129, 50,153,108,199,158, 61,123,174,
- 57,114,222, 36, 18, 73,158, 74,165,106, 97,126,166,214, 34,171,176,176, 16, 12,195, 32, 43, 43, 11, 98,177, 56,199, 85,179, 46,
-139,166,131,185, 82,101,235,188,216,238,115, 87,100, 89, 11,131,195,135, 15, 59,157, 67,203, 93, 78,107, 81, 52,107,214, 44,172,
- 93,187,182,158,163,181,120,241, 98,  0,192,  7, 31,124,224,118, 31, 45,179,123, 85,184,214,  7, 65,111,148,213,  9, 59,  0, 16,
-230,240, 53, 44,207,131,162, 40, 44, 92,184,176, 94, 39,117,235,166, 61, 55,155,248,234,132,179,184,184, 24, 20, 69,193,199,199,
-  7,227,198,141,195,224,193,131, 45, 77,144, 13,229,189,113,227, 70,202,187,239,190, 27,219,190,125,123, 44, 90,180,168,204,203,
-203,203,227,229,151, 95,166, 42, 42, 42,  8,103,142, 22, 43,180, 88,176,104,  4,161,101,206, 96,238,142, 58,116, 80, 88, 14, 68,
-221,185, 54, 42, 85, 42,213,184, 65,131,  6,253,178,107,215, 46, 81, 84, 84, 20,110,220,184,129,178,178, 50,232,116, 58,240,120,
- 60,  4,  7,  7,163,162,162,  2,155, 55,111, 86,171, 84,170,113,  0, 42, 93,112,190,223,165, 75,151, 13,159,125,246,153, 48, 62,
- 62, 30,101,101,101, 80, 40, 20, 22, 33, 68, 16,  4,100, 50, 25, 68, 34, 17,206,158, 61,139, 67,135, 14,169,  1,188,239,130,211,
-158,154,131, 94,175,183,  8, 46, 55,132,150, 53,167,196,236,234,168, 84, 42,  0, 48, 52,107,214, 44,  8,  0,178,178,178,  0,224,
- 78,100,100,228,130,168,168, 40, 98,251,246,237, 12,195, 48,135, 28,136, 44, 11, 39, 65, 16,101, 12,195,148,  3,  8,210,233,116,
- 60,  0,168,172,172,212,251,249,249,  5,  8,  4,  2, 90, 36, 18,209, 66,161,144, 46, 40, 40, 48, 26,141, 70, 30,  0,244,234,213,
- 75,  7,160,208,102,141, 66,107, 78,154, 97,152,170,141, 27, 55, 46, 24, 63,126,124,247, 30, 61,122,180,127,237,181,215,174,188,
-244,210, 75,100,104,104,168,119,117,117,181,230,214,173, 91,229, 43, 86,172,168, 62,125,250,244, 64, 46,151,123,119,227,198,141,
- 11,  0, 84, 17,  4, 65,219,227, 52, 26,141,191, 39, 37, 37, 77, 74, 72, 72,160,242,243,243, 81, 84, 84,100, 17, 89, 69, 69, 69,
-136,137,137, 65, 90, 90,154, 73,175,215, 39, 53, 32, 62, 27, 11, 44,103, 77, 37,132, 49,231,117, 71,  2,203, 92,153,114,151,211,
- 90, 20,141, 26, 53,170,142,139,197,227,241,240,211, 79, 63,217, 45, 55,236,228,171, 58,247,110, 61,199,215,187,239,190, 91, 71,
-180,205,155, 55,207, 97,113,230, 42, 62,205, 60,149,155, 66,235,142, 58,116,144,207,157,133,211, 92,118,114,185, 92,204,155, 55,
-207,109, 71, 11,245,251,104,213,227, 52,223,123,159, 62,125,160, 82,169, 44, 66,214,145,163,229, 42, 62, 77, 38,211, 27,107,215,
-174,101,100, 50,217,163, 85, 85, 85,207,231,228,228,108, 85,169, 84,143, 84, 86, 86, 58,117,180,180, 90,173,128,205, 71, 44, 39,
-154,102,126,174,255,142,208,170,125, 73,162, 89,179,102,117,214,206, 34, 73,178,206,214,144,126,  6,181, 56,156,153,153,249,204,
- 99,143, 61,246,221, 27,111,188,225, 17, 31, 31,207,109,209,162,  5,148, 74, 37,178,179,179,113,245,234, 85,227,158, 61,123,170,
- 84, 42,213,243,  0,220, 25,117,182,237,218,181,107,135,134, 12, 25,242, 97,183,110,221, 94,157, 63,127, 62,167,117,235,214,168,
-172,172,132,183,183, 55,  2,  2,  2,112,243,230, 77,236,221,187,215, 84, 90, 90,186,  1,192,199,176,211,134,234,170,194,175,215,
-235, 49,102,204, 24,208, 52,141,213,171, 87,195,157,  5,149,173,160,215,235,245, 12,  0,162,182, 63,151,170,118,118,105,220,186,
-117, 11,  0,238, 70, 68, 68,120,  0, 64, 82, 82, 18,129,154,249,181,220,169,225, 51, 12,195, 88,156,173,152,152,152,108,219,194,
-209,236,100,153, 93, 48, 87,225, 38,  8, 66,195, 48, 76,177, 74,165, 26, 50,107,214,172, 15,191,252,242,203,177, 95,126,249,101,
-189,227,100, 50,217,142,149, 43, 87,126, 60,122,244,232, 98,130, 32, 28,246, 35, 83, 42,149, 31, 76,152, 48, 97,244,229,203,151,
- 61,132, 66, 33,148, 74, 37,228,114, 57,244,122, 61, 34, 35, 35, 81, 92, 92,140,109,219,182, 85,171,213,234,143,216,236,248,207,
-192, 90, 24, 56,114,181,220, 16, 89, 14, 93,157,125,251,246,217,157,163,170,161,156,182, 98,195,221,185,173,156, 85,138,204,211,
-210,216,155, 50,162,129,229, 90, 61, 94,138,162,240,233,167,159, 90, 38,109,181,231,100, 53,196,209, 50,115,250,248,248,212,216,
-228, 98, 49,104,154,198,240,225,195, 31,132,151,  6, 48,221,106,198,247, 37,179,103,207, 94, 16, 19, 19,211, 26,128,192, 58, 14,
- 26,232,226,179, 96,193,194,149,208, 50,153, 76,121,109,218,180,169, 83,192,185, 90,204,212, 96, 48,228,185,121,221, 67, 74,165,
- 50,114,229,202,149,111, 74, 36,146,129, 42,149, 42,182,182,224,184,172, 84, 42,147,180, 90,237, 26, 52,108, 17,232, 18,  0,175,
-159, 62,125,122,245,144, 33, 67, 22,247,239,223,255,217,183,222,122,139, 96, 24,  6,235,215,175,103,110,223,190,253, 99,173,139,
-117,251,126, 34,201,199,199,231,218,230,205,155,  3,127,249,229, 23, 24, 12,  6,172, 89,179,  6, 30, 30, 30,215,202,202,202,220,
-165, 40, 62,122,244,232,150, 30, 61,122,188,144,150,150,182, 13,192, 31, 39, 78,156,216,218,179,103,207,  9,105,105,105,223,  3,
-184,122,236,216,177,173,221,186,117,155,144,158,158,190, 27,192,197,  6, 20,190, 22,103,203,104,180,223,210,232,192,201,114,198,
- 89,197, 48,140,126,242,228,201,111,141, 30, 61,250,235,244,244,244, 71, 42, 42, 42, 98,  1,192,203,203,235,114,215,174, 93,207,
-238,218,181,235,102,173,147,229,170,179,126,137, 82,169,124, 42, 54, 54,246,231, 69,139, 22, 73,218,183,111, 79,181,106,213, 10,
-119,238,220,193,149, 43, 87,140,223,126,251,173, 66,173, 86, 63,  9,160,156,205,142,255,156,208, 98, 24,  6, 94, 94, 94,117, 42,
- 81,230, 33,255, 13,109, 46,180,126, 49,155,151,234,177,229,117,196,233,108,218,  4, 51,164, 82,169,101,114, 83,119,186, 44,208,
-180,243,249,216, 24,134,177,112,154, 55, 55, 68,150,203, 17,130,181, 75,224,184,205,233,206,244, 14, 18,137,  4,  6,131,193,194,
-235,198,200,207,134,170,197,125,  0,246, 25, 12,134, 91,  0, 90,178,226,138,  5,139, 38, 20, 90,229,229,229, 93,154,248,218, 85,
- 90,173,246, 99,173, 86,251,177,121,135, 70,163,121, 80,206,219,  0, 70, 31, 61,122,244,179,163, 71,143,154,219, 17, 22,194,245,
-122,137, 78,113,227,198,141,  4, 46,151,251,213,142, 29, 59,186, 49, 12,  3, 79, 79,207,211,119,238,220,121,185, 33, 28, 38,147,
-105,114, 90, 90,218, 52,212,246,101,210,235,245,147, 83, 82, 82,222, 68,205,122, 76, 48,153, 76,147,207,156, 57, 99,249,221,192,
- 23, 37,195, 48,140,150, 97,152, 16,  7,135,104, 27,232,192,153,157, 45,221,174, 93,187, 20,  0, 46,225,175,121,178, 12,181,155,
-198,166,185,208, 25,142, 41,149,202, 86,243,230,205, 91,194,225,112,  6, 40,149,202, 80,137, 68,146,107, 52, 26,127, 87,169, 84,
-239,163,102,141, 42, 22,255, 16,116, 58, 93,126,155, 54,109, 40,123, 21, 40,103, 47,114,103, 21, 43,147,201,148, 23, 29, 29,237,
-178,114,102,135, 51,223,137,104,184, 27, 25, 25, 73,186,203,101,134, 94,175, 47,118, 22,206,200,200, 72, 52,148,211,213,189, 71,
- 68, 68,216,189,119, 23,130,208,225,189, 27,141,198,251,226,116, 22,159,206,160, 86,171,203,253,253,253, 21, 26,141,134,171,213,
-106,185, 70,163,177,142,253, 40, 18,137, 74,212,106, 53,155,121, 88,176,120, 16,161,245,144,227, 28,106,150,151,104, 44,104, 47,
- 95,190,252,130,197,158, 42, 46,190, 95, 30, 91, 37,169,112,241,187, 33,194,168,209, 29,161, 90, 33,165,106, 36,186, 82,133, 66,
-241,146,249,135,185, 15,  8,139,127, 30,114,185,252,209,198,230, 44, 43, 43,107,244,138, 90,105,105,105,247, 38,184,247, 46,255,
- 85, 78,103, 40, 40, 40,120,212,133, 16, 99, 51, 14, 11, 22,110,130,100,163,128,  5, 11, 22, 44, 88,176, 96,193,162,105, 64,160,
-102,228,128, 61, 52,100, 52,193,192,251,184,118, 18,203,201,114,178,156, 44, 39,203,201,114,178,156,255, 57, 78, 87,220,236,104,
-198, 38, 22, 96, 44,231,255, 63, 39,  7,  0, 33, 18,137,  8,161, 80, 72,136,197, 98,130,141, 79,150,147,229,100, 57, 89, 78,150,
-147, 69,125,252,227,125,180,252,253,253,147, 41,138,138, 86, 42,149,202,234,234,234, 40, 15, 15,143,219, 18,137, 68, 98, 52, 26,
- 51, 75, 74, 74,122, 63, 32,253,100,129, 64, 48, 51, 46, 46,174,221,205,155, 55, 51,170,170,170, 86,  0,248,  6,246, 71, 12,113,
-109,246, 19,  0,226,155, 55,111,190, 85, 40, 20,138, 51, 50, 50,230,  0,248,222,141,120, 36,224, 98, 68,146, 53,188, 37, 60, 46,
-106,250,147,245,  5,112, 28,192,190,114,165,222,240, 32, 55,125,191,156, 82,169,212,167,101,203,150,235, 35, 34, 35, 35, 25, 64,
-203, 48, 53,243, 15, 25, 13,122,222,213, 43, 87,146,239,220,185,179,161,127,255,254, 95,135,133,133,  5,114,185, 92,131,121,212,
-151, 74,165,226,109,219,182,173, 21,155,157, 88,176, 96,193,130,  5, 11, 55,133,150,164, 57,218,240, 37,196, 54,147,  1,106,163,
-150,153,170,204,197, 13,105, 51,244, 96,128, 23, 24, 32,130,228,144,254, 38, 19, 93, 72,107,  8, 35,215, 32,138, 38, 25, 74, 88,
- 85, 85, 21,218,224,  0, 80, 84,116, 65, 65, 65, 64, 72, 72,136,121,241, 99,137,249,247,  3,128,  0,240,197, 43,175,188, 50,245,
-213, 87, 95,133,183,183, 55, 12,  6, 67,235,157, 59,119,110,154, 55,111, 94,119,  0, 47,218, 17, 67, 12,234, 78, 18,218, 58, 54,
- 54,118,127,106,106,170,111, 69, 69,  5, 58,119,238,188,162,184,184,216,145,208, 50, 54, 52,128,222, 18, 94, 27,  0, 47,  6,121,
-  9, 38,125, 51,171,191,119,139,  1,175,225,202,143, 11,166, 77,255,230,114, 57,128,205,  0,190, 41, 87,234,111,254, 93,156, 30,
- 30, 30,  1,109,162,163,119,253,248,243,207,189, 79, 31, 59,  6, 31,  1, 31, 18, 17, 31, 96,128,192, 86,109,240,218,236,217,198,
- 71, 30,121,164,223,119,223,125, 23,151,158,158,142,208,208, 80,136, 68, 34,136,197, 98,200,229,114,108,219,182,237,190,211, 17,
- 77,211,247,  0, 28, 37,141,216,167, 40,192, 45, 54, 91,178, 96,193,130,  5,139,127,189,208, 98,104,172, 88,125, 96,114,231, 43,
-101,191,225,139,103, 10,151,138,194, 96,236, 49, 34,250,233,132,137,157,224,233, 47,134, 80, 74,161, 66, 94,213,225,230,133, 92,
- 28,223,253, 39,188, 13,173,145,246,251,249,235, 42,149,170,237,253,  4, 68, 44, 22,139,131,131,131,139,196,214, 11,227,221, 31,
-132,  0, 86,188,250,234,171, 83,223,121,231, 29,252,254,251,239,216,179,103, 15,198,143, 31,143, 25, 51,102, 64, 42,149, 78,154,
- 49, 99, 70, 26,128,175,157,112,180,142,141,141, 61,149,154,154,234,171, 86,171,113,229,202, 21,148,149,149,253,209, 88,145,238,
- 45,225, 45, 91,255,114,220,187,221,158,158, 14,255,246,131, 64,144, 53,143,161,215,236,189,184,248,166,218, 59, 47,229,187,183,
-246,252,248,253, 91,203,247,220, 90, 94,174,212,207,249, 59, 56,163,162,162,214,237,250,233,167,222, 97, 97, 97,216,159,125, 27,
- 45, 35,130,209,172, 77, 39, 84,102,223, 70,201,221, 44,232,244,122,244,237,219, 55,238,212,169, 83, 40, 40, 40,128,159,159, 31,
- 52, 26, 13,210,211,211, 33, 20, 58, 94,141,163,  1,233,104,200,177, 93,183,150,223, 58, 95,178, 76,153,131, 15,  1,152,216,236,
-249,175, 65,235,102,205,154,253, 44, 18,137,100, 25, 25, 25, 31,  0,216,210,132,215, 26,215,173, 91,183, 53,151, 46, 93,186,160,
-213,106,223,  4,144,193, 70, 63, 11, 22, 44,254, 73, 56, 27,117, 24,236,239,239,  7,191, 72, 46,188,125, 36, 67,151,255,244,252,
-211,175, 45, 29,  0, 94, 84, 62,202,164,103,112,151,249, 29, 26,223,155,104, 51,132,135,183,191,233,  7,223,238,114,192, 71, 85,
-128,112,  8, 28, 17,250,248,248,252, 28, 16, 16,144,106,189, 25,141, 70,225,156, 57,115, 76, 25, 25, 25,146,130,130,130,128,140,
-140, 12,201,156, 57,115, 76, 70,163, 81,232, 31,232,115,193,163, 57, 47, 47,162,183,168, 68,210, 28,175,187,112,176, 62, 11, 10,
- 10, 82,141, 29, 59, 86,221,161, 67,135,169, 12,195, 96,235,214,173,120,249,229,151,119,254,246,219,111, 17, 99,198,140,217,122,
-244,232, 81, 76,153, 50,  5, 94, 94, 94, 51,220, 21, 89, 23, 46, 92,192,132,  9, 19, 74,140, 70,227,140, 70,140,247,137,163, 86,
-156, 65,200, 35,207,130,195, 19, 89,214, 82, 35, 72, 18, 92,145, 12, 97,143, 61,143, 87, 22,127,  7,  0, 19,255, 46,206,200,168,
-168,150,231,146,147,241,237,194, 69,104, 29, 16,128,208,102,161,240,105,211,  1, 30,254,126,160, 40, 10, 12,  3,134,207,231,211,
-229,229,229,144,203,229,144,203,229,200,206,206,198,241,227,199,113,239,222, 61, 52, 70, 58,154,253,109,127, 50,225,181,182,239,
-137,155,225,160,179,116,196,226,225, 18, 89,177,177,177,167,110,220,184, 17,147,148,148, 20, 18, 26, 26,250, 73, 83, 94,172, 75,
-151, 46,203, 79,158, 60,233,115,240,224,193, 65, 65, 65, 65,201,  0, 90,223, 79,152,155, 55,111,126,189,117,235,214,121,  0,198,
- 53,114, 16, 39,118,239,222,189,140,207,231, 31,186,207,176,177, 96,241, 48,161,  3,128, 88, 86,104,185,129,197, 59,199, 82, 62,
-109,181,184, 82,126,  0,187, 62,249,  3,159, 12,189, 73, 47,238,158, 77,127,254,194, 13, 28,222,245,  7,138,241,  7,134,189,214,
- 18, 99, 63,232, 56, 80,108,194, 34,153, 76,118,193, 30, 15,143,199, 11,204,200,200,240,205,202,202,242,189,125,251,182,111,102,
-102,166,239,181,107,215,138, 42, 42, 42, 20,195,135, 15,167,  1, 96,248,240,225,244,221,156,187,170, 65, 79,247,161,195,  7,160,
-227,172,159,218,133,206, 73,236,228,231, 29, 44,152,235,232, 30, 56, 28,206,158, 47,191,252,242,173,220,220, 92,209,247,223,127,
-143,244,244,116, 68, 69, 69, 97,209,162,133,229, 35,122,180,237,245, 72,148,239, 42, 79, 17,247,179, 45, 91,182, 64, 44, 22,163,
- 99,199,142,142, 92,183, 22, 29, 58,116, 72, 49,139,172,139, 23, 47,226,249,231,159,215,203,229,242,171,  0,150,  1,216, 67,145,
- 68,178,191,167,164, 66, 34,160,238, 18,  4, 14,160,166,207, 87,120,195,163,158, 64,229,221, 75, 48,233,213,160,  4, 18,112,120,
- 66,144, 20, 31,101,183,210,144,241,235, 66, 84,100,221,207,194,225, 15,192, 73,146, 26, 79, 46, 23,113,126,190,136,141,136,132,
-143, 80,  6, 85,218, 49,160, 66,  1, 30, 79,  0,128,129, 64, 32, 64,117,117, 53, 46, 92,184,128,235,215,175,227,220,185,115, 56,
-123,246, 44,138,138,138,112,191,233,104, 73,143,108,173,163,116,196,150, 81,255, 14,145,149,154,154,234,171,209,104,112,227,198,
- 13,148,148,148, 92,108,202, 11,102,100,100,148,167,166,166, 34, 44, 44, 12,223,127,255,189,127, 68, 68,196,201,  6, 10,154,214,
-177,177,177,167,174, 95,191, 30,147,148,148, 20, 26, 16, 16,176,162, 49,195,247,200, 35,143, 44, 62,121,242,164,247,225,195,135,
-  7,251,251,251,223,175, 16,100,193,226,255, 25,  2,  0, 47, 16,  4,113,182, 67,135, 14,151,219,183,111,255,  7, 65, 16,105,  0,
- 70,225,223, 59,119,167, 83, 88,110, 58, 49, 49,241,  4,  0, 36, 36, 36,244,177, 61, 72, 17,112, 30,249,217, 69,216, 60,177,152,
- 86,151,160, 98,209,123,159,237, 57,127,250,226, 83,111,206,120,211,123,245,198,229,216,158,118,  0, 99, 86, 24,209,107,116, 59,
-156,217,159,243,214,196,126,115,241,214,140,217, 64,253, 33,154, 12, 73,146, 72, 73, 73,129,201,100,130, 78,167,131, 78,167, 67,
-187,118,237,202,142, 29, 59, 38,  5,128,204, 63, 51, 24,174,175, 78, 48,240, 29, 25,111,202,128, 24, 40,228,122,124,247,110, 38,
- 74,179,181, 63,214,114, 36,213,145,  7, 36,249,245,134, 13, 27,158,152, 50,101, 10,190,248,226, 11,236,220,185, 19, 79, 62,249,
- 36,158,123,238, 57,148,148,148,120,135,226, 30,  6,180,243, 11,233, 59,125, 67,159, 49, 99,198, 64,161, 80, 32, 61, 61,253,186,
- 77,184,146, 80,211, 25,254,245,227,199,143,251,168,213,106, 84, 87, 87,163,111,223,190,144,203,229, 60,  0,253,237,196,157, 39,
-128,230,106,181, 26, 45, 90,180,104, 93, 82, 82,210,195, 14,103, 61,120, 75,120, 22,113,171, 87,150, 67,175, 44,  7,135, 39,132,
-208, 59, 12, 87,191,155,  1,134,174,105, 49,243, 12,239,104,239,244, 38,227, 20, 11,  4, 72, 76, 77,193,241,196,125,104, 27, 25,
-137,158,177,177, 56,117,249, 10,120, 36,129,145,147, 38,  3, 52, 19,144,146,146, 66,148,148,148,224,242,229,203, 88,184,112, 33,
-114,114,114,112,224,192,  1,152, 76, 38,183,194,105,147,142, 84,139,222,251, 44,123,236,179,207,223, 60,120,228,183, 59,137,191,
-255, 52,104,123,218,209,248, 49, 43,140, 68,175,209,237,112,246, 64,206,204,108,162,252, 91,101, 46,110, 56,227,124, 64,176,156,
- 77,199,217,190,125,251,246,167, 83, 83, 83,197,106,181, 26,187,119,239,198,252,249,243, 13,122,189,158,  2,176,199,206,185,233,
-  0,190, 64,253,165,183,236,133, 83,  6, 96, 26,128,174,245,210,152, 66, 81,242,204, 51,207, 24, 22, 44, 88,192,125,252,241,199,
-177,111,223, 62,191,145, 35, 71, 94,204,200,200,136,199, 95,205,136, 73,174,132,225,125,116, 25,112, 43, 62,107,133, 96,112,104,
-104, 40,182,111,223,238, 63, 97,194,132,228,162,162,162,222,176,223,196,201,166, 37,150,243, 97,226,108,  1,224, 85,169, 84, 58,
-165,111,223,190,222, 79, 62,249, 36,124,125,125, 97, 52, 26,145,155,155,219, 45, 49, 49,177, 91,106,106,106,129, 78,167, 91, 11,
- 96, 19,128, 10,123,164,206,180,200, 67, 45,180, 18, 19, 19, 25,212,140, 80,179, 11,149, 73,142,248,224,161,232,246,187,148,172,
- 40,171,210, 47, 24,185,244,104, 69,142,254,169,175,190,250, 10,207, 61, 49,  1,251,126, 23,227,244,206,189, 24, 56,190, 16,  3,
- 39, 71,226,207,147,142,187, 69, 24, 12, 53,131,223,140, 70, 35, 12,  6,  3,244,122, 61,244,122, 61,196, 98, 49,174,221,188,  2,
-163,119,  9,231,249, 53,173, 56,161,109, 36, 72,221, 89,136,  3,171,115,116,138, 98,195, 92, 93, 57,126,170,103,223,  0, 95,175,
- 90,181,106,210,148, 41, 83,176, 96,193,  2,252,244,211, 79,204,138, 21, 43,136,121,243,230,161,188,188, 28,253,250,245,195, 43,
-147,159,199,181,184, 16,188, 59,127,177,108,212,168, 81,248,248,227,143,161, 84, 42, 87, 57,  8,158,151, 78,167,179, 44,118,155,
-151,231,122,233,198,156,156, 28, 48,206,151, 82,131,183,132, 39,244,146,240,150,112, 72,226, 57, 14,  1,127,131,137,193,241,  5,
-189,192,137, 25,137,249,107,119,194, 68, 51, 24,247,212, 32, 68, 42,170, 32, 18, 75,106, 20, 41,109,186, 47,206,232,161,111,130,
-228, 10, 97,210,107,176,101,203,102,236, 57, 84,  1,157,252, 14, 94,123, 60, 10,129, 78, 56,141, 70, 35,211,188,121, 27,180,108,
-175,  3, 35,224,225,216, 93, 45, 98,251, 36,224,198,181,219,200,175,212, 35, 46,182,125,139,201,147, 95,132, 64, 32,192,237,219,
-183,177,100,201, 18, 40,149, 74,119,215,133,179,151,142,164,171, 95, 91, 43,124,245,197,215,222,187,144,126, 49,119,235, 23,187,
-126,153,246,238,148,175, 79,239, 60, 24, 59,112,124, 33,  6, 76,138, 36, 55, 92, 42,127, 22,192,  2,182,130,248, 80, 98,195,153,
- 51,103,196, 42,149, 10,213,213,213,120,249,229,151, 49,109,218, 52,174,189, 74, 75,113,113, 49, 82, 82, 82,158,156, 62,125,250,
-152,194,194,194,222,112,190,238,165,119,167, 78,157, 82,143, 29, 59,214,218,195,195,195,178,147,166,105,232,245,122, 75,153,162,
-213,106,161,213,106, 33,147,201,144,154,154, 42,244,241,241,217,  5,231, 77, 24,127, 71,151,  1, 84, 85, 85, 61, 59,106,212,168,
-228,109,219,182,249, 71, 70, 70,226,251,239,191,247,127,241,197, 23, 79,222,189,123,183, 23,216,254,100, 44, 30, 94,204,121,230,
-153,103, 22,  7,  6,  6,146, 29, 58,116, 64,112,112, 48,180, 90, 45, 42, 43, 43,193, 48, 12,252,252,252, 48,105,210, 36, 60,245,
-212, 83, 33,201,201,201,203,143, 29, 59,182,160,188,188,124, 51,128, 53,  0, 50,173, 68,150, 83, 45,242,208, 59, 90,  9,  9,  9,
- 39,234,168, 24,  2,233,103,254, 56, 21, 43,140,  1,  8, 18,200, 37,143,129,  0,129, 10,131,158,103,168, 34,215, 30, 62,124,216,
- 91,169, 84, 66,161, 80, 96,104,223, 17,152,187,225, 23,244,124,190, 10,205,218,132, 96,245,135,  7, 12,174,132, 22, 77,211, 48,
- 26,141,168,174,174, 38, 79,156, 56,225, 23, 30,209,140,120,254,173, 33,152,254,125, 59,200,  2,120, 56,248,121, 14,202, 83, 67,
-148, 76,105,197, 29, 93,121,217, 86, 59,133,239,228,247,223,127,127,210, 27,111,188,129,229,203,151, 99,217,226,143, 79,135,  4,
-  5, 62, 18, 31, 31, 79,124,244,209, 71,152, 61,123, 54,194,195,195,193, 17,120,160,101,223,231, 49,107,214, 44,172, 93,187, 22,
- 95,173, 94,170,111,231, 35, 77,187, 86, 86,111,181, 27,  3,128, 69,  3,  6, 12,120,226,240,225,195, 62, 66,161, 16, 87,175, 94,
-197,248,241,207, 67,204,  5,184, 28, 18, 96,104, 48, 52, 13,130, 96,224, 47, 19,192, 91,196,129,191,  7, 23, 49,126,116,251,114,
- 70,218,250,106,153, 34,195,158, 32,242,245,224, 95,221,241,193,136,176,216, 73, 95,240, 40,129, 20,218,202, 66,252,182,102, 26,
- 22, 45,254, 26,167, 82, 79,163,162,162,  2,131,  7, 14,192,154, 81,126,127, 89,127, 78,196,155, 35,206, 27,187,222,195, 43, 83,
-167, 99,227,250,117, 32,185, 66,252,118,226, 28, 14, 31, 61,137,148,148, 20,188, 52,113, 44, 62,143, 46,116,200,105, 50, 25,224,
- 31, 16,142,199,250, 68, 65,234, 33,  5, 73,  0, 45, 34,252,225,231,155,135,160, 32,  2,105,167,143, 34, 57, 57, 25, 30, 30, 30,
-136,136,136,192,218,181,107,145,157,157,141,151, 95,126, 25,124, 62,223, 33,175,163,116,164, 32, 12, 32, 76,252, 86, 30, 30, 30,
- 59,116, 58,221, 42,189, 94,191,247,249, 81,147,119,188,188,228,231,118, 61,159,175,226, 52,107, 19,  2,130, 65, 31, 86,104, 61,
-180,144, 24, 12,  6,152,215,115,206,205,205,117,122,112, 92, 92, 28,182,108,217,210,110,226,196,137,201,133,133,133,143,193,254,
-162,242,178, 78,157, 58,165, 38, 39, 39,183,214,104, 52,200,202,202,114, 43, 32,181, 11, 35, 43,157, 28, 98,238, 50,224, 99,221,
-101,160,172,172,204,220,101,192, 30,202, 80,179,142,234, 93, 59,255,133,  3,120,179,182,134, 15, 59,194,242,234,248,241,227,123,
-110,223,190,157, 23, 21, 21,133,125,251,246,249,141, 26, 53, 42, 37, 35, 35,163, 43,128,108, 54,233,176,120,  8, 49,113,225,194,
-133,164,201,100, 66,105,105, 41,180, 90,109,189, 60,200, 48, 12,196, 98, 49,134, 14, 29,138, 33, 67,134,  8,206,159, 63, 63, 53,
- 41, 41,233,213,172,172,172,249,181,121,201,174, 22,249, 87,  9,173,122, 47, 94, 10,139, 62, 29,147,234, 37,144,146,177,160,  9,
- 47, 63,191,  0,  9,151,203, 37,188,196,129, 94,171, 86,206, 46,187,121,243,230,189, 93,187,118,  5,119,239,222, 29, 96,128, 78,
-205,  6, 67, 94,120, 26, 94, 92, 53, 74,229,165,142,230,145, 98,126, 61,176, 91, 82, 94, 94, 73,183,137,108,167, 86,169, 84,228,
-129,  3,  7,194,122,245,238,201,219,155,250, 29,241,236,178, 96,200,  2,120,248,109,237, 93, 92,252,222, 64, 79,155, 56,162,242,
-207, 75,107,170,237,213,112,121, 60,222,140, 55,222,120,  3, 59,119,238,196,156, 57,115,182, 60,213,173,229,160,103,134,245, 37,
- 83, 82, 82, 48, 98,196,  8,228,231,231,227,151, 95,126,193,252,249,243, 49, 97,194,  4,124,241,197, 23,184,240,227, 39,184,190,
-164, 43,111,238,206,219,215,232,155,196,240, 27,165,213,  7,109,104,179,111,220,184,241, 88,255,254,253, 79,238,221,187,215, 47,
- 38, 38,  6,219,182,109,199,204,215, 95,197,143, 11, 70, 33, 58, 80, 12,232, 21,160,117, 42, 16, 60, 17, 96, 80,131, 41,191, 11,
-189, 94, 45,125,119,199,237,235, 38, 59,156, 94, 18,222,146,239,223,127, 34,172,211,212,109, 60,243,190, 91,183,239, 96,237,241,
-114,156, 74, 61, 13,115, 19, 69, 72,128,183,109, 84, 57,124,104,246, 56,  9,146, 66,199,151,190,198,220,170,  4, 28,218,188,  4,
- 67, 95, 94,  8,121,105, 49, 82, 83, 83, 17, 26, 26,138,207, 55,110,198,140,233, 83, 97,162, 25, 71,207,156,215,166, 77, 36, 56,
-156,  2,240,  5, 52,  8,  0,122,125, 57,252,252, 40, 52,107,230,  7,128,176,184, 87,  4, 65, 96,216,176, 97,122,134, 97,138, 52,
- 26, 77,233,174, 93,187,  8,103,233,232,147,209,169,161,124, 49,249, 40,  1,210, 51, 32, 32,144, 16,  8,  5,  8,244,142,192,  7,
-111,190,  6,197, 11,234, 71,183,109,219,182,235,219,111,191, 45, 72, 77, 77,221, 78,  8,124,110,203, 11, 21,209, 94, 92, 53,192,
-144,205,  1,154, 45,194, 30, 78,140,126,228,145, 71, 46,254,246,219,111, 66, 62,159,143,189,123,247, 98,254,252,249,134,178,178,
-178,147,182,162, 39, 48, 48,176,253,214,173, 91, 35, 34, 35, 35,177,110,221,186,118, 35, 71,142,156,  6, 96,137, 29,206,105,199,
-142, 29,107,173,209,104,112,241,226, 69, 76,152, 48, 33,187,168,168,232,170,173,192,139,136,136,232,181, 98,197, 10,110,231,206,
-157, 81, 85, 85,133, 65,131,  6,169,  0,188,234, 36,172, 13,233, 50,  0,160,102,173, 63,  7, 93,  6,224,235,235,251, 77, 78, 78,
- 78, 63,145, 72,228, 52,130,244,122, 61,242,242,242,224,229,229,133,196,196, 68,159,150, 45, 91,126,  0, 96, 50,155,116, 88, 60,
-140,208,233,116,216,185,115, 39, 58,117,234,132,182,109,219, 66,161, 80, 88, 68,151, 78,167,131,209,248,215, 44, 72, 36, 73,162,
-107,215,174,136,142,142, 38,102,206,156, 57,206, 90,104,253, 27, 97,126,233, 46,176,109, 23,213,100, 35, 23,192, 56, 90, 36,120,
- 95, 40, 20,142, 14,111, 30,139, 54,109,218,  8,159,126,250,105,190, 78,167,147,158, 56,154,252,103,207,158, 61, 81, 86, 86, 22,
- 60,103,206,156,178,176,102, 97,116,242,164,114, 95,130, 41,  7, 71,199, 79,  1,234, 47, 58,170,229, 84, 55,223,251,231,242, 96,
-  0, 56,158, 22, 81,253,204,160,177,165, 28, 14,135, 58,125,227, 24,209,123,  6,  5,255, 22, 34,164,237, 46,  4, 63,187, 51, 34,
-  3, 43, 33,147,201, 28,206, 79,213,177, 99,199,118, 36, 73, 98,231,206,157,  0,240,193,141,236,194, 75,146, 35, 39, 62,219,179,
-120, 11,247,221,247, 63,196,220,185,115,241,210, 75, 47, 65,175,215, 99,249,242,229, 72, 77, 77,197,175,191, 28,135, 49,105, 46,
- 86, 60, 93, 70,190,252,157,230, 87,189,201,219,255,118,121,121,181, 13,117,198,173, 91,183,122, 13, 29, 58,244,228,238,221,187,
-253, 90,183,110,141, 21,107,191,196,248, 55,167,224,236,210, 65,128,200,  7,188,222,239,130,240, 10,175,145, 67,101, 89,192,225,
-119, 29,114,114, 72,226,185,216,137, 95, 88,  4, 81, 70, 70,  6,166,207,122,  7,191, 29, 60, 12,115, 19,197,204, 55,167, 99,235,
-218,143,161, 60,179,  1, 66,159,102,144,  4, 68,161,234,238, 37,  0,144,219, 28, 42, 43,123,  0,  0, 32,  0, 73, 68, 65, 84,187,
-119, 91, 78,  0, 80,203,239, 66,113,239, 38, 34,135,188,137, 15,198,141,199,208,151,129,181,139,222,193, 11, 19,198,224,243,141,
-155, 17, 25, 25,137,207,215,111,194,228,201,147,100, 85, 57,185,173, 97,211, 76,113, 46,253,194,141, 85,171, 23,138, 85, 42,165,
- 39,143,207, 15,  2,195, 32, 56, 56, 24, 85, 85,213, 48, 24, 12, 80, 42, 85, 32, 73, 18, 36, 73,130,195,225, 96,196,136, 17,188,
-228,228,228,102,127,252,241,135,127,173,  5, 28,109,109,  1,155,161,201,198,216,103,158,121,102,112, 96, 96, 32,233,235,235,139,
- 62,125,250,192,100, 50, 65,171,213,130,166,105,240,249, 38,139,165,124,242,228,201, 57,122, 83,184,113,203,132, 36, 13,135, 40,
-215, 82, 90, 97, 82,227,173,105,205,226,111, 70, 70,102,102,102,252,192,129,  3, 79,254,248,227,143,126,195,134, 13, 67,203,150,
- 45,185, 79, 63,253,180,191, 74,165, 26, 96,125, 96, 81, 81,145,247,132,  9, 19,206,229,230,230, 70,212,238,234,234,128,179,171,
-135,135,  7,178,178,178,204, 34,171,139,109, 37,140,207,231, 31,186,116,233, 18,151,207,231, 35, 61, 61, 29, 19, 39, 78, 44,205,
-206,206,118,213, 44,119, 95, 93,  6,104,154,214,218,251,143, 36, 73,193,249,243,231,225,106, 46, 64,146, 36,193,227,213,201,198,
- 21,108,178, 97,241,144,194,160,211,233,208,165, 75, 23,100,103,103,227,252,249,243, 22,193, 85, 90, 90,138,130,130,130, 58,  7,
-159, 61,123, 22, 23, 46, 92, 64,239,222,245,230, 36, 95,240,111,236,163,101,113, 34, 18, 19, 19,251,216,216,118,124,137, 68,114,
-246,185,231,158,107,246,244,211, 79,123,113, 56, 28,104, 52, 26, 24,141, 70,164,165,165,161,109,219,182,170,118,237,218, 85, 12,
- 31, 62,156, 40, 45, 45,237,127,245,234,213,172,210,210,210,120,153, 76,150,245,216, 99,143,105, 52, 26, 77, 61,165,229, 21, 69,
-233,150, 95,236,198,  3,128,228,237,  5,200,217,239,163, 48,168, 77,226,200,145,149,100,159,  9, 33,168, 42,214, 99,245,179, 55,
-240,235,166,163, 88,241,217, 10, 83,239,222,189,243, 22, 47, 94, 92, 80, 80, 80,240,152, 45,151,167,167,231,181,228,228,228,182,
- 71,143, 30,197,236,217,179,191, 51,153, 76,203,132, 92,206,193, 73, 47,189, 18,166,215,235,113,254,252,121,248,248,248, 32, 39,
- 39, 23,188,128, 56,196,246,123,  1,111,143,235,138, 56,239,114,232, 54, 15,198,141,  2, 53,198,239,210, 46,186, 89,172,156,231,
- 32,110, 90,135,134,134, 38,111,223,190,221, 63, 48, 48, 16,227,158, 25,134,180,247, 98,193, 27,186,  2,151, 74,196,248,236,251,
-115,  0,128,183,199,117,113,200,233, 45,225,145,  1, 50,190,225, 70,126, 53,  9,  0,119,238,220,193,132, 23,198,227,224,161, 26,
-145,117,241,226, 69,140, 27, 55, 14,237, 99,162, 33, 22,242,161,173, 44,  2,109, 50,224,110, 94, 33,242,203, 52,101, 70,154,190,
-202, 48,200,134, 85, 19,133, 45,231,221,187,119,177, 98,249, 98,220,186,126,  9,122, 69, 25,120, 18,111,164,157,191,130, 62,125,
-250,130,161,141, 40, 47,202, 69, 78,169, 10,155,183,108, 69, 84, 84, 20, 84, 42, 21, 70,141, 26, 85,230,164,153, 34,227,198,141,
- 27,209,107,215,174,197,252,249,243,241,203, 47,191,192,100, 50, 65, 32, 16,128,162, 40,240,249,124, 68, 69, 69,225,250,245,154,
-241,  4, 52, 77,227,252,249,243, 72, 74, 74, 98,108, 45, 96,107, 62,147,201,132,146,146, 18,232,116, 58,168, 84, 42,168,213,106,
- 48, 12,  3, 14,135,  3,134, 97, 44,181, 29, 14,135,131,172,172, 44, 92,190,124,153,217,183,111,223, 39, 12,195,204, 97,203,176,
-135, 26,173, 67, 66, 66,146,183,109,219,230, 31, 28, 28,140,126,253,250,229, 22, 22, 22, 54,183,115,220, 30,134, 97,158,204,202,
-202, 66, 84, 84,212, 94,  0, 35,238,231,152,240,240,240,146,244,244,116,191,107,215,174, 97,220,184,113, 37,181,125,190, 92,245,
-125,138,136,137,137, 73, 63,124,248,176, 15, 73,146,184,122,245, 42,198,141, 27,167, 47, 43, 43, 59,  5,199, 77,142,119, 80,211,
-191,228,174,157,255,194,  1,204,  3,224,227,224, 92, 73,116,116,116,207,115,231,206,241,  8,130,192,157, 59,119,204,121,178, 75,
- 45, 47, 11, 22, 15, 27,158, 10,  9,  9,249,118,218,180,105,158,221,186,117, 67, 94, 94, 30,242,243,243, 81, 94, 94,142,248,248,
-120,180,111,223, 30,183,111,223,198,161, 67,135,112,225,194,  5,  8,  4,  2,132,133,133, 65,186, 99, 39,190, 34,112, 13, 64,123,
- 39, 90,228,223, 35,180,108, 33, 16,  8, 62,152, 56,113,226,140,215, 94,123,205, 71, 32, 16,224,236,217,179,224,241,120,160,105,
- 26,  3,  6, 12, 64,118,118, 54, 70,140, 24, 81, 86, 88, 88,248, 52,128,147,238, 92, 76, 22, 44, 40, 28,254,126,112, 96,239,241,
- 53, 53,189,228,237,  5, 56,183,183, 24,179,118,117,  4,201, 33,240,205,244, 27, 48,101, 54,167, 91, 71,197, 48,  0,140,205,154,
- 53, 43,220,186,117,171, 93,161,  5, 96,242,148, 41, 83,190,153, 60,121, 50, 78,156, 56,129, 93,187,118, 97,216,176, 97, 24, 62,
-124, 56,190,253,246, 91,120,201, 79,227,147, 95,175, 97,236,135,  7,112, 53,171,198, 24,106, 31,233,139, 29, 31, 15,131,230,243,
-120, 48,165, 25, 72,216, 73,221, 56,246,167,194,209, 84, 15,100, 11,111,209, 79,126,254, 94, 79,105, 24, 30, 94,237, 46,198,139,
- 67,226,192, 31,181,189, 65,156,173,130,165,133,215,179, 10,  2, 41,129, 20,111,188,250, 34, 62, 90,242, 41, 76, 38, 19,170,171,
-171, 17, 22, 22,102, 91,163,173,135,218, 38,138, 52,235, 38, 10,107,206, 39,135, 63,142,157,187,127,134,187,205, 20,124, 62, 31,
- 90,173, 22, 45, 91,182,220, 12,251,205, 20, 25,151, 46, 93,138, 94,188,120, 49, 54,108,216,128,125,251,246,193,104, 52, 66, 32,
- 16, 64, 34,145, 64, 36, 18,193,207,207, 15,151, 47, 95,174,115, 82, 85, 85, 21,102,206,156,153,137,250,195,213, 51, 46, 93,186,
- 20,237,204, 82, 54,247,219,179, 36, 74,130, 64,101,101,165, 35, 62, 22, 15,161,216,226,241,120,171,253,253,253, 59,230,231,231,
-207, 66,253,165,172,188,159,125,246,217,171, 63,252,240, 67,240,157, 59,119,220, 18, 90,143, 61,246,152, 93, 71, 11,192,196,160,
-160,160,143,171,171,171, 43, 85, 42,213, 40,184,223,193,188,117,171, 86,173, 78,238,221,187,215, 79, 44, 22,227,250,245,235, 24,
- 63,126,124,137, 92, 46,239,141,198,237,164,222,186, 77,155, 54,167,206,158, 61,235,203,229,114,145,158,158,142,  9, 19, 38,148,
-178,157,225, 89,252, 11,224,  1, 96,118,100,100,228,219, 83,167, 78, 21,180,107,215, 14,121,121,121, 40, 41, 41, 65,121,121, 57,
- 78,159, 62, 13,  0,  8, 13, 13, 69,104,104, 40,110,222,188,137,148,148,148, 42,133, 66, 49, 25,192, 47,255,230,136,113,216, 71,
- 75, 44, 22, 63,247,194, 11, 47,248,152, 76, 38,244,238,221,187, 76,167,211,153,102,207,158,237, 31, 20, 20,  4, 15, 15, 15, 12,
- 26, 52,168,188,170,170,170, 59,224,254,146, 41,  2,147,236,110,241,239,193,210,100, 20,136,123,143, 15, 65,239,241, 33,232, 58,
- 34,  0, 36,135,192,229,195,114,240, 75, 91,170, 94,152, 50,165,178, 89,179,102,  6,146, 36,209,188,121,115,227,246,237,219, 29,
-117, 86,250,246,235,175,191,126,212, 96, 48,188,244,242,203, 47,163, 79,159, 62, 48, 26,141,216,190,125, 59,100,185,  7,176,240,
-249, 46,142,  3, 98, 50,128,224, 73, 16,232,105, 10,115, 36,178,218,  6, 74,191, 89,246,106,191,167,  6,117,240,197,222, 99, 23,
- 49,172, 13, 23,208, 85,223, 15,231,174, 43, 91,223,152, 26, 59,233, 75, 94,105, 81, 30, 26,169,137,194,194,169, 85, 85,163,145,
-155, 41, 12, 58,157, 14, 18,137,  4, 92, 46, 23,  2,129,  0, 70,163, 17,  4, 65, 32, 62, 62, 30,205,155, 55, 71, 78, 78,142, 59,
- 22,112, 99, 91,202, 44, 30, 94,100,232,245,250, 33,249,249,249,214,142,143,165,179,248,179,207, 62,219,101,251,246,237,193,133,
-133,133,248,227,143, 63,128,154,169, 30,236, 33,189,168,168,232, 73,177, 88,140,173, 91,183, 70, 76,152, 48,225,156, 85, 31, 45,
-115,231,244, 45,133,133,133, 91,238, 39,140,182, 93,  6,182,110,221,234, 63,106,212,168,221, 42,149,170, 67, 99, 69,132, 72, 36,
- 90,115,230,204, 25, 95, 46,151,139,180,180, 52,140, 27, 55,174,196,201,244, 14, 44, 88, 60, 76,168,  6, 48, 47, 43, 43,235,243,
-183,223,126,251,131,118,237,218,189, 58,101,202, 20,170,109,219,182,200,207,207, 71,118,118, 54, 90,182,108,137,220,220, 92,124,
-247,221,119,186,146,146,146,213,168, 25,108, 82,249,159,141, 49, 47, 47,175,187, 59,119,238,100,130,130,130, 44,253,132,124,124,
-124,138,230,207,159,207,200,229,114,198,215,215,183,192, 13,154, 58,171,123,135,132,132,156,184,120,241, 98, 86, 79, 95, 40,199,
-125, 17,193,124, 85,221,147,249,170,186, 39,179, 38,191, 27, 19,209,195,219,248,218,180,215,242, 62,255,252,243, 91, 27, 54,108,
-200,252, 31,123,215, 29, 30, 69,181,183,223,153,237, 37,189,147,  4, 18, 32,244,208,139, 32, 29,129, 32,132,122, 85,138,128,162,
-126, 72, 64, 44,  8,  4,244,114, 17,145,  4, 68,165,233,  5, 47,150,  0,210,171, 20,169, 66,128, 80, 36, 32, 37,161,  5, 18, 72,
-207,166,111,175,115,190, 63,178,179,110,194, 38,187, 27,192, 58,239,243,204, 51, 59,237,221,211,230,156,247,252,206,239,156, 89,
-187,118,237,157,252,252,252, 59,225,225,225,103,234,224,164,  2,228,130,189,221,219, 69,145,231,  7, 63, 71,122,182,141, 32, 97,
-222,162,156,107,241,145, 68,187, 44,130, 88,138,210,201,229,219, 69,100,220,191, 15,144,113,255, 62, 64, 46,223, 46, 34,150,194,
-235, 68,179, 64, 76,212,203,155,145,103, 26,251,220,114, 20,206, 86, 33,178, 37,251, 23, 12, 35,134, 29,147,201,182,184,182,164,
-117,176,236,102,125, 57,125,229, 66, 73,179,  6, 30,247,206, 38, 12, 50,156,223,183,142, 60,211,181, 19,201,201,201, 33,121,121,
-121,228,240,225,195,196,207,207,207,  0,224, 56,170,214, 22,114,180,125,129,223, 22, 68,125,132,243,226,143, 95,147,151,134,245,
- 37,189,163, 27,144,168, 16, 57, 35, 21,241,212,  0,246,219, 61,127,188,121,243,230,  6,165, 82, 73, 84, 42, 21,185,126,253, 58,
-105,209,162, 69,  9,126,155, 17, 53,208,129,  9,184,124,252,248,241,196, 17,146,147,147,201,181,107,215,200,212,169, 83, 73,231,
-206,157, 73,207,158, 61,201,184,113,227,200,255, 17, 16,  0, 55, 28,112,142, 10, 13, 13, 45, 95,178,100,  9, 57,121,242, 36,217,
-176, 97,  3, 89,178,100,  9,121,255,253,247,201,230,205,155,201,141, 27, 55,200,158, 61,123,156,241, 57, 10,231,147,  0,199,249,
-199,112, 30, 78, 75, 75,179,149, 41,139,197, 66,114,115,115,201,145, 35, 71, 72, 72, 72,200, 13, 84,173,147,229,136,211,171,117,
-235,214, 55,111,221,186, 69, 30, 62,124, 72,140, 70,163,141,227,230,205,155,  4,192,169, 39, 16,206, 22, 97, 97, 97, 69, 39, 79,
-158, 36,183,110,221, 34, 33, 33, 33,217, 79, 50,238,145,145,145, 69, 10,133,130,156, 56,113,130,  4,  6,  6, 22,161,110,139, 45,
- 87,150, 56,206,191, 50,103, 36,128,141,157, 59,119,182,172, 90,181,138,188,249,230,155, 36, 34, 34,194,130,170, 69,190,195,240,
- 15, 66,173, 22,173,242,242,242,136, 55,223,124,243,242,179,207, 62,219,181,160,160,128,237,141, 25,104,154, 38, 10,133,130, 49,
- 26,141,185,238,254,153,209,104, 44,184,126,253,122,192,138, 35,151,139,102, 47,154, 25,148,140, 60,217,179, 47,133, 96,239,178,
- 76,188,216,127, 74, 89,108,204, 40, 83,100,100,164,205,130,117,235,214, 45,232,245,122,109, 29,148,228,153, 38, 62,221,118,204,
-110,141,125,103,239, 98,209,181,226,239,229, 34,222,174, 93,151,203,246,207,237,  9, 24,183, 79, 64,251, 23, 54, 96,243,162,161,
-  0,  0,166,232,  6,140,219, 39,130,146,  5,224,116,174,  0, 21, 90,227,  1, 71,164, 77,  2,101,175, 14,108,198,199,222, 19,151,
-176,104,239,195,239, 45,132,212,155,179, 76,109,212,  1,136,158,178,250,124,  2,112,126,172,222,104,  9, 24,208,191, 31,246,253,
-184,159,110,213,170, 21, 54,109,218, 36,156, 56,113, 98,180, 59, 67, 20, 53, 57, 45, 12,  9,160,128, 98,  2,108, 17, 11,120,243,
-181,  6,139,142,109, 52,172,195, 20, 66,  7,195, 20,181,249,130,236,201,203,203, 59,113,225,194,133, 11,111,191,253,118, 11,137,
- 68, 66,  9,  4,  2, 88, 44, 22, 48, 12,  3,139,197,130,242,242,114,220,186,117, 11,141, 27, 55,182,153,128, 15,120,122, 84,  2,
-170,255,212,198, 55,127,254,124,155, 73,185, 99,199,142,200,201,201, 65, 86, 86, 22, 46, 95,190,108, 51, 41,187,200,199,225,175,
- 15,241,249,243,231, 33, 22,255,246,149,165,171, 87,175,226,173,183,222, 74,179,250, 84, 85,214,242, 92,101,122,122,122,207,161,
- 67,135,158, 94,181,106, 85,107,251, 33,231,147, 39, 79,  2,128,254, 73, 88,223,114,115,115,251,196,196,196,172,244,247,247,239,
- 80, 80, 80,176,224, 73, 70, 60, 43, 43,235,189,118,237,218, 45, 81, 42,149,149,110, 14,109,114,224,240, 87, 67, 22,128,137,169,
-169,169,203, 82, 83, 83, 63, 64,213, 84,250,197,  0,210,185,164,169,  5, 97, 97, 97,119,231,206,157,171,187,120,241,162, 37, 46,
- 46,174, 68, 46,151, 79,171,135,226,149,  6,  4,  4,108, 13, 10, 10, 74,241,247,247,191,228, 17, 44, 82,200, 27,210, 70,207, 64,
-113,129,143,143,207,245,160,160,160,115,246,223, 65,244,243,243,251, 25, 64,120, 93,156, 45,131,229,211, 95,232,232,159,219, 42,
- 68,182, 18, 85,159, 20,162, 90,  4,203, 14,239,158,224, 73, 52, 31,251, 17,205, 34, 47,162, 93,217,150,104, 87,182, 37,154,197,
-254, 68,187,162, 13,185,147,208,157,116,139,244,206,111, 26, 44, 15,248,189, 56, 89, 88, 87,113,111, 17, 25, 25,169,184,116,233,
- 18,201,202,202, 34,  7, 15, 30, 36, 50,153,236,122,125,123, 16,246, 43,195, 87, 75,108,169,244, 72,101,101, 37,209,233,116,228,
-196,137, 19, 36, 56, 56,216, 81, 15,186,174, 94, 73, 16,128,213,109,218,180, 49,173, 88,177,130,236,221,187,151,172, 89,179,134,
-140, 26, 53,138,204,153, 51,135,140, 29, 59,150,  4,  6,  6,234,173,230, 95,111, 23, 56,235,203,199,245, 28,255, 94,156, 17,214,
- 94,173,189,229,118,126, 13, 75, 86, 93,156, 94,214,251,107,179,252,114,121,196,113,114,156,127, 77,206,127, 46,  2,  3,  3, 63,
- 93,176, 96,129,250,167,159,126, 50,206,156, 57, 83,213,160, 65,131,211, 79, 40, 35,130,  0,116,  7,208,165,150, 74,182, 94,153,
-219,222,219,219,187, 69,144,236,231,185,207,249,145,203,115,155,144,138, 21, 29,136,230,171, 30,228,110, 66, 87,242,229,203,205,
- 73,135, 80,207,135,205,  3,101,109,255, 96,206,250, 12, 81,184, 85,176, 93, 28,166,112,133,211, 93, 19,240,211, 48, 41,115, 21,
- 26,199,201,113,114,156, 28, 39, 39,180,254,190,104,214,172, 89, 70,187,118,237,238,199,197,197,165,253, 69, 50,151,106, 25, 36,
- 31,219, 34, 72,190,187, 85,144,244, 94,155, 96, 89, 78,139, 32,217,177, 22,129,178,247, 59, 53,128,244, 79,194,217, 66, 36, 18,
- 29,  9, 13, 13, 85,  0,120,229, 41,164,231,132,144,144,144,135, 86,107, 89,139, 39,192, 25, 13, 96, 43,128, 45,  0, 90, 63,129,
-112,186,202,199, 85,104, 28, 39,199,201,113,114,156,156,208,250,123, 98,218,180,105,124,174,192,112,156, 28, 39,199,201,113,114,
-156, 28, 39,199,201,  9, 45,247, 65,213,145, 88,199,158,114,130, 31,227, 56, 57, 78,142,147,227,228, 56, 57, 78,142,243, 31,199,
-233,140,251, 24, 56,112,202,156,227,228, 56, 57, 78,142,147,227,172,149,147,178,110,180,117, 99,143,255,204,113,167,254,196,113,
-255,167,112,254, 45,193,255,131,254,151,205,  8,  6,117,125, 61,153,195, 31,  9,251, 23,132,112,249,196,225, 79, 10, 15, 62,159,
-255,174, 72, 36,234,107, 54,155, 91,  3,128, 64, 32, 72,215,235,245,167,204,102,243, 23,  0, 84, 92, 18,253, 97,117,  7,207,174,
-177,181, 88, 55,252,  9,235, 18,123, 81,192, 60,102,187,244, 52,226,254, 79,230,252,219, 11,173, 14,114,185,252, 63, 34,145,168,
-  9, 69, 81, 22,181, 90,125, 77,175,215,175,  3,112,238, 49,255,243,155,224,224,224, 87, 74, 74, 74, 24,246, 35,197, 20, 69,129,
-166,105,  8,  4,  2,109, 69, 69,133, 87,125, 72,  3,219,142,122,159, 79, 81, 51, 45,196,178,174,232,250,190, 79,156,157,231, 80,
-247, 11, 35, 20, 10,199,248,249,249,249, 40, 20, 10, 66,211, 85,171, 71,240,120, 60,118,133,121,115, 69, 69,197,247,174,146,249,
-250,250, 94,244,243,243,243, 97,159,167, 40, 10, 37, 37, 37,229, 69, 69, 69,221,  0, 64, 34,145,156,149,203,229,254,124, 62, 31,
- 60, 30, 15, 60, 30, 15, 26,141,166,164,164,164,164,231,239, 25,105, 95, 95,223, 20,154,166,155,184,243, 12,195, 48,247,203,202,
-202,158,229,138, 76,117,108,223,190,157, 23, 19,246, 90, 20,159,104,219,211, 52,241,102, 24,170,194, 76, 73,175, 30,206,253, 38,
-195,149,231, 95,124,241, 69,139, 11,183,245,241,242,242,218,176,123,247,110,223, 78,157, 58,209,197,197,197,104,220,184, 49, 74,
- 75, 75,187, 37, 39, 39,119,126,237,181,215, 94, 83, 42,149,147,  0, 36,115, 57, 82, 55, 68, 34,209,138,224,224,224,215, 85, 42,
-149,134,162, 40, 66, 81, 20, 40,170,170,159, 85,115,111,177, 88,114, 74, 74, 74,186, 56,105,108,  5, 34,145,232,243,144,144,144,
-201, 26,141, 70, 99,229,115,200, 11,  0, 38,147, 41,167,184,184,184,139, 75,117,125, 96,224, 58,169, 84,250,178, 70,163, 81, 83,
- 20,197,216, 95, 35,132,216, 55,230,247,138,139,139,123, 59, 19,  6, 34,145,104,101,112,112,240,171,214,184,219,194,249,184,113,
- 15, 14, 14,158,172, 86,171, 93,226,172, 35,238,143,112, 62,141,112,254, 73, 57,255,254, 66,171, 99,199,142, 91, 46, 92,184,208,
- 92, 32, 16,  0,  0,116, 58, 93,187,213,171, 87, 79,154, 59,119,110, 34,128,121,245,252,191,164,222,189,123,143, 75, 78, 78,166,
-247,238,221, 75,119,237,218, 21, 20, 69,193, 98,177,192, 98,177,160,109,219,182,210,250, 70,196, 91, 46,139,191,124,244,107, 73,
-135,129,111,204, 44,  2, 62,113,118,190, 46,129,  9,224, 67,  0, 77,220, 12,130,194,154, 46,151,127,175, 70,252, 41,  9,  3, 74,
- 40, 20,254,171,119,239,222,222,199,142, 29,163,178,179,179, 41,169, 84,106, 91,172,212,100, 50,161, 77,155, 54,110, 89, 66,125,
-124,124,188,226,227,227,163,158,127,254,121,236,220,185, 19,147, 38, 77, 66,175, 94,189,238, 20, 21, 21,  1,  0,228,114,185,127,
- 90, 90, 90,115, 63, 63, 63,104, 52, 26, 84, 84, 84, 96,208,160, 65, 40, 41, 41,121,236,  2,238, 21,142, 38, 22,  1, 22,  7,134,
- 75,  7, 40, 30,104, 23,169, 31, 98, 77,109,247, 10,  4,130,240,  7, 15, 30,  4,137, 68, 34, 16, 66,192, 48,140,195, 61,251,219,
-104, 52,162, 77,155, 54,198,218,248,158,233, 24,190,152,162, 41,219,135,133,137,217, 82,122,225,106,222,135,143, 27, 39, 63, 63,
-191,203, 98,177, 56,216,169, 90,182,107,200,116, 58, 93, 97,105,105,105, 39, 39,143, 68,  2, 24,206,227,241,154,241,249,252,150,
-  0, 34,205,102,115, 48,  0,  8,133,194, 66, 30,143,151,101, 50,153,110, 25, 12,134,187,  0,126, 68, 29, 31, 64,142,  9,123, 45,
-138, 50,107, 94, 80,234,153,161,178,166,137, 45, 52,247,226,111,203,196,154,131, 49, 97,175,237,112, 85,108, 57,193,192,254,253,
-251,111,217,191,127,191, 68, 40, 20, 66,171,213,226,198,141, 27,240,246,246,134, 72, 36,194,200,145, 35,121, 61,123,246,244,239,
-215,175,223,206,219,183,111,143,135,123, 62, 31, 45,  0,108, 67,213,  7,165,223, 68,245, 47, 20,212,  7, 97,  0, 70,160,234,155,
-143,141,141, 70, 99, 49,128, 84,107,152,238,  0,136,  8, 12, 12,252,129, 97, 24,125, 73, 73,201,107,112,240,161,234,238,157, 27,
- 94,162,105, 58,156,181,  9, 48,196,146,115, 62, 53,231,137, 52, 80, 52, 77,175,140,141,141,125,117,199,142, 29,178,212,212, 84,
- 89,235,214,173,109, 29, 34,182,204,219,163,113,227,198,206,172, 26,124,154,166, 87,188,240,194, 11,227, 55,110,220, 40,123,240,
-224,129, 44, 52, 52,212,198,105, 47,182, 88, 56,251,132,152, 93,217,255,102,240,224,193, 19, 55,108,216, 32,216,183,111,159, 52,
- 32, 32,  0,254,254,254, 14,191, 25,219,179,103, 79,198,121,212,233,149, 35, 71,142,156,184,117,235, 86,217,133, 11, 23,100,109,
-219,182,  5,143,199,123,236,184,143, 26, 53,106,252,150, 45, 91,100,215,174, 93,147, 53,107,214, 12,172, 81,161, 38, 31, 77,211,
-104,216,176,161, 75,156, 35, 70,140, 24,191,109,219, 54,217,229,203,151,101, 45, 91,182,180,165, 39, 91, 39,213, 39,156,127,114,
-206,127,132, 69, 75,100, 52, 26,113,234,212, 41,208, 52, 13, 63, 63, 63,188,242,202, 43, 56,122,244,104,252,137, 19, 39,246,215,
-195,178,245,141, 85,100,  9,  0, 96,215,203,163,112, 95,  0,188, 85,100,128, 80, 40,196,189,123,247,192,227,241,220, 54, 45,138,
-197,226,201,132,144,127,107,114,127, 17,107,181, 38,232,242, 46,201,164, 82,169,173,  1,208,228, 89,207,231, 95,146, 73,165,210,
-123, 60, 30,239, 99,149, 74,149, 84, 27, 95,179,102,205, 54,221,184,113,163,149,179,143, 61,215,132, 70,163, 65,163, 70,141, 34,
- 74, 75, 75,155,253, 30,141,184, 51, 78,179,217, 12,137, 68,  2,214, 26,101, 48, 24,160, 82,169,156,113, 82, 66,161,112, 12, 43,
-178,  0, 96,243,230,205,  8,  9,  9, 65, 80, 80,144,237,163,210, 44,167,171,224,241,120,136,137,137,193,194,133, 11,145,152,152,
-136,217,179,103, 87,171,104,  5,  2,  1,252,252,252,240,211, 79, 63,193,203,203, 11, 17, 17, 17, 96,  5,126,173,  2, 42,130,166,
- 76, 38,134,214,230,193,177,229,163,  1,164, 82, 30,150, 70,245,242,121,115,216,187,145,252,  6,205,101, 88, 60,248,210, 60,245,
- 67,253,154,186,132,137, 80, 40,196,245,235,215, 31,169, 16, 28,222,207, 35, 48,136, 43,253, 26,247,145, 42, 28,137, 56,138,166,
-252,206, 93,122,104,179,208, 14, 25,208,138,255, 76, 39,254, 87,214,166, 18, 52, 13, 48, 76, 85,211, 73, 81, 32,102, 19, 83,118,
-233, 90,222,  2, 23,210, 51, 52, 43, 43, 43,200, 89, 26,177, 48,155,205,  8, 13, 13,229, 57,185,109,104,116,116,244,174,184,184,
- 56, 97,179,102,205, 40,161, 80,  8, 62,159, 15, 62,159,207, 10,244,  8, 66, 72,  4,195, 48,253, 10, 11, 11,201,234,213,171,151,
-157, 60,121,114, 52,128,131, 14, 43, 22,162,109,175,212, 51, 67, 79, 95, 65,183, 23,  6,206,197, 79,219,227,187,245,238,200,192,
- 83,166,205,  0, 80, 47,161,197,138, 13,139,153,161,238,100, 86,248,237,220,185,131,162,105, 90,175, 84, 42,193, 48, 12,122,246,
-236,  9,154,166,113,253,250,117,124,240,193,  7,216,181,107, 23,246,236,217, 35,237,220,185,243,183, 26,141,166, 53,170,190,197,
-230, 84,100, 69, 71, 71, 95,185,112,225,130,196,104, 52,162,123,247,238,231,111,223,190,221, 25,245, 91,193,221, 23,192,103,243,
-230,205,155, 24, 23, 23,199,243,241,241,129, 72, 36,130, 82,169, 68, 70, 70,198,228,239,191,255,158,172, 93,187,246, 75,  0,158,
- 89, 89, 89, 61, 46, 94,188,136,254,253,251,191, 13,224,221, 71, 21,  1, 47,252,236,197,204, 32,246,120, 68, 76, 59, 97,143, 46,
-116, 97,149, 21,167,230,221,  4,140,133,201,185,248,107,174, 43, 66,108,217,168, 81,163, 38,236,216,177,195,  3,  0,254,251,223,
-255, 98,204,152, 49,240,243,243,131, 76, 38,131, 80, 40,132, 64, 32,168,182,119,210,216,242,  0, 44, 27, 59,118,236, 11, 27, 55,
-110,244,  4,128,141, 27, 55, 98,212,168, 81,240,247,247,135,167,167, 39, 68, 34,145,237,123,175,110,118, 48,190,233,213,173,219,
-148, 13, 27, 54,  0,  0, 62,120,231, 29, 60,255,204, 51,240,144, 73, 33,147,138,192,166,133,136, 39,192,144,183,102, 58,213,151,
-  0,150,143, 25, 51,230,165,173, 91,183,122,  2, 64,106,106, 42,138,138,138, 16, 28, 28, 12,169, 84, 10,145, 72,100,139, 51, 69,
- 81,144, 74,165, 46,197,125,204,152, 49, 47,108,217,178,197, 19,  0,146,146,146, 16, 19, 19, 99,139,187, 88, 44,134, 80, 40,172,
-182,213, 20,157,142, 56, 71,143, 30,253,194,182,109,219, 60,  1,224,251,239,191,199,192,129,  3,225,235,235,107, 75, 79,150,203,
-157, 60,250,147,115,254, 51,132,214,149, 43, 87,254, 37,151,203, 19,  0,  4,138, 68, 34,159,241,227,199, 55,156, 50,101, 10,198,
-142, 29,139, 19, 39, 78, 76,117, 83,104, 81,193,193,193,175, 36, 39, 39,219, 90,104,  3,121, 68, 48,185,221,128, 91,241,239, 75,
- 83,167,134, 36,102,168,112,254,226, 45, 72, 64, 83, 23,151, 47, 15,212,221,189, 11,139,193,128, 69,247,148, 85,231,205,132, 58,
-245,222, 91, 33, 29, 86,124,249,111,  0, 73,117, 52,182, 98,189, 94,143, 59,119,238,184, 21,136,236,236,108, 71, 31,127,174,119,
- 35, 30, 17, 17, 81,215, 11,232,148,243,240,225,195,152, 53,107, 22,110,221,186,  5,246, 83, 37, 46,112, 82,126,126,126, 62,172,
-200, 98, 69,144, 84, 42,133, 64, 32,160,248,124, 62,197, 14,237, 89, 95, 46,151,132, 49, 77,211,216,180,105, 19,150, 46, 93,138,
- 57,115,230, 96,221,186,117,104,223,190,253,111,133,144,207, 71,101,101, 37,124,125,125,225,235,235, 91, 77, 32,214,134,202,  7,
- 12,  1, 28,139, 44,105, 35,132, 72,165,252,131, 99, 63,137,234,208,246, 57,127,168, 74,140,216, 52,247, 14,138, 51,245, 59,156,
-165, 39, 33,  4,237,219,183,  7, 69, 81, 54,161,193,110,  2,129,  0,124, 62, 31, 60, 62, 15, 58,170, 18, 77,122,  9,241,206,206,
- 86,210,  6,205,101, 82, 71, 34,174,102, 54,127,254,197, 42, 25, 24, 82,229,  4, 66, 24,128,  1,  8,  8, 24,194,160, 48, 55,  3,
-255, 89,248,169,203,173,143, 64, 32,192,221,187,119,109,225,102, 45,195,172, 48,178,183, 26, 68, 70, 70, 58, 45, 75, 66,161,240,
-163, 61,123,246,136, 54,109,218,132,173, 91,183,130,162, 40,136,197, 98,200,229,114,248,248,248,192,223,223,223,182,133,135,135,
- 83,223,126,251,173,176,125,251,246, 31, 85, 86, 86, 30,116,156,231,196, 91,214, 52,177,197, 11,  3,231,  2,  0, 94,152, 75, 80,
-118,231,147, 14,116,249,  2,239,250, 91, 94,170,196,198,226,197,139,241,241, 51,207, 64, 36, 18,145,138,138,114,  9,219,185,224,
-209, 60,164,165,221,192,138, 21, 43, 48, 97,194,  4,220,187,151, 65, 34, 34, 34,245,179,102,205,242, 72, 76, 76,124,199,104, 52,
- 46,114, 38,178,218,181,107,119, 38, 37, 37, 69,162,209,104,192, 48, 12, 14, 30, 60, 40, 27, 56,112,224,233,204,204,204,222,238,
-138,173,200,200,200,125, 41, 41, 41, 61,  3,  3,  3, 81, 81, 81,129,202,202, 74,152, 76, 38,240,120, 60, 68, 68, 68, 96,217,178,
-101,212,200,145, 35,103, 76,158, 60, 89, 39,149, 74, 89,203, 70,164, 35,174,154,239,247,234, 53, 95,249, 16, 82, 85,126,  8, 67,
-170,237, 75,139,178,240,206,123,174,125,189,170, 97,195,134,111,238,220,185,211,195,222,178,100, 47,  2,236, 69, 22,187, 57, 17,
-  6,116,163, 70,141,166,252,240,195, 15, 54,206,128,128,128,106,239, 15, 77,211, 56,125,250, 52, 18, 62,154,  7,223,192, 80,172,
- 90,243, 95,151,134, 11, 99, 98, 98, 94, 78, 74,250,173,234,110,215,180, 41,134,245,124,  6, 65,  1, 94,  8,240,245,172, 74, 39,
-134,194,213, 91,153, 78,219, 35,  0,116,195,134, 13, 95,219,190,125,187,135,125,135,144,141, 43,219,121,102,173,248,  6,131,  1,
- 93,186,116,113, 41,238,246,156,172,181,141, 21,109,108,122,178,255,195,190,175, 78,194, 57,133, 21,194, 86,193, 89,141, 67, 32,
- 16, 96,251, 79, 27,106,181,102,215,151,211,221,124,175,201,153,149,149,133, 37, 75,150,128,237,180,217,187, 10,133,133,133, 97,
-213,170, 85, 78,235,165, 26,239, 64, 87,  0,129,118,167, 12,  0, 68,118,123,  5, 69, 81,191, 56,184,143, 61, 47,176,142, 88,  5,
- 90,219, 14, 37,  0, 31,  7,124,181,241, 20, 91,219,188,192, 26,247, 87,251,159, 90,133,214,254,253,251,217,183,184, 95,108,108,
-236, 41,235,239,114,177, 88,156, 45,147,201, 66,  0, 40, 15, 30, 60,136,255,251,191,255,131,213,180, 58,194,219,219,251,134,  3,
-171,206, 21,189, 94, 63, 23, 64,161,245, 20,107,174,167, 75, 75, 75,153,163, 71,143,210, 27, 71, 15,134,129,  0, 29,255,157,128,
-152,216, 88, 28, 14, 19,129,  7,160,219,205, 98,200,100, 50,126,101,101,165,201,222,111,203,129,239,214,177, 26,  5,138, 39,225,
-243,209,253,204,  1,204, 58,115,  0,221,228, 34,148,236,216,  6,229,217,100,208, 52,133, 62,242,  0,204,158,112, 20,207,122,137,
- 33,210,171, 65,211,180,163,146,109,227,188,115,231,206,139, 94, 94, 94,  9, 53, 18,216, 21,220, 71,213,119,156, 80, 75, 56, 93,
-106,196,217,237,242,101,135, 35,144,181,114, 90,135,224, 32,151,203,113,252,248,113,219, 61,207, 61,247, 28,116, 58, 29,252,252,
-252, 92,226, 84, 40, 20, 36, 47, 47,143,218,184,113, 35,  4,  2,  1,252,253,253, 33,147,201,168, 13, 27, 54,204, 19, 10,133,225,
- 58,157,142, 49, 24, 12, 16,137, 68,171,216,252,225,243,249,234,202,202, 74,255,218, 56,121, 60, 30,226,226,226,240,254,251,239,
- 99,221,186,117,152, 58,117,234, 35, 22, 47,157, 78,135,128,128,  0,155,216,114,240,  2,186, 52,244, 35, 11, 67, 91,159, 96,209,
-145, 41,171, 90,  5,135,181,148, 35,101, 75,  1, 14,172,204,202, 81, 23, 90,190, 48,148, 97,167, 51, 78, 66,  8, 50, 50, 50,106,
- 21,195, 37,101,197,120,255,227, 55,209,241, 53, 57,106, 17,113,191,113, 50,  4, 55, 46, 31, 70,218,181, 99, 96, 44, 12, 44, 12,
-  1, 33, 22, 48,102, 32,245,232,249,230,249,247,243,194,  8, 72,149,235, 45,  0,113,133,202,220,215, 95,212, 18,192,222, 83, 37,
-134, 21,206,226,206,231,243,161,211,233,176,103,207, 30,220,188,121, 19,  7, 15, 30,132, 86,171, 69, 64, 64,  0,124,124,124,240,
-204, 51,207, 96,242,228,201,136,140,140,116,154,239,132,144,164,236,236,236,142,189,122,245,162,202,203,203, 81, 94, 94, 14,173,
- 86, 11,139,197,  2,179,217, 12, 62,159, 15,137, 68,  2,169, 84,138,224,224, 96,232,116, 58,162,215,235,147,106,227,100, 24,170,
- 66,115, 47,254,246, 79,219,227,187,189, 48,151, 96,199, 82, 10, 81,141,196,154,227,151, 60,167,236, 61, 51,123, 16,  0,194, 16,
-155,105,129,152, 44, 76,241,251,243, 62,155, 81, 87, 56,217, 60, 73, 73, 73,193,140, 25, 51, 96,177, 88, 40,  1,159, 15, 66,  8,
- 40,154,198,237,219,183,177,122,213,106,140, 27, 55, 14,205,162,162, 96, 48, 26,161, 82,169,208,191,127,127,193,170, 85,171,250,
-217,  9,173, 99,117,136, 44,127,173, 86, 11,165,178,202,248, 37, 18,137,176, 99,199,142,128,225,195,135, 39,231,229,229,213,245,
- 61,210, 71, 56, 61, 61, 61, 35,120, 60, 30,174, 95,191,142,181,107,215,226,248,241,227, 40, 44, 44, 44, 11, 13, 13,245,238,215,
-175, 31,253,206, 59,239,160, 99,199,142,248,238,187,239, 36,206, 56,  9, 33,200,186,115, 26, 89,119,207,128, 97,170,132,101,213,
-230,248,119, 29, 61,160,106,225, 84,171,213,186, 43, 87,174,120,172, 95,191, 30, 65, 65, 65,104,220,184, 49,100, 50, 25, 36, 18,
- 73,181, 70,214,190,225,117,246,110,106,181, 90, 93, 86, 86,150,199,150, 45, 91,224,239,239,143,200,200, 72,200,100, 50,136, 68,
- 34,240,249,124, 80, 20,133,141, 27, 55, 98,243,194,  9,200,186,117, 13,163,134, 13,114, 26, 78,153, 76,246,114, 82, 82, 82, 53,
- 19, 72,176,175, 47,248,  2, 26, 60,  1,  5,223,231, 70,  3,  0,202, 78,236,174,178, 85, 57,143, 59,165, 84, 42,117, 23, 46, 92,
-240,184,116,233, 18, 24,134, 65,100,100, 36, 52, 26, 13,188,188,188,108,241, 63,122,244, 40, 70,142, 28,137, 77,155, 54,161, 71,
-143, 30, 78,227,174, 82,169,116,215,174, 93,243,248,225,135, 31,224,231,231,135,134, 13, 27,218,226,206,110,  2,129,  0, 60, 30,
- 15, 77,154, 52, 65, 69, 69,  5, 60, 60, 60,156,230, 81,106,106,170,199, 15, 63,252,  0, 95, 95, 95,132,135,135,219, 44,110,172,
- 56, 90,250,213,194,106,  4, 18,170,193, 99,115,186,155,239, 53, 57, 71,141, 26,133,168,168, 40,120,121,121, 65, 46,151,219,184,
-235,226,172, 69,139,216,244, 54, 69, 81,251,237,222,137, 88,138,162,246,219,239,107,187,207,250,179,207,188,121,243,186, 36, 38,
- 38, 46,233,209,163,199,150,148,148,148,205,181,241,213,198, 51,111,222,188,232,196,196,196, 37,246,247, 59,248,159,218, 45, 90,
-177,177,177,148, 53,146, 20,128,198,157, 59,119,254,229,196,137, 19,126,158,158,158,182,155, 31, 62,124,136,242,242,114,120,122,
-122,122,125,254,249,231, 94,253,250,245, 67,112,112,176,173,  7,112,231,206,157, 54, 45, 90,180,168,  4, 80,211,110,203,208, 52,
-141,103,159,125, 22, 55,172,163, 29, 49,177,177,  8, 15, 15,183, 57,121, 72, 36, 18,204,152, 49,131,154, 53,107, 22,159,181,102,
- 16, 66,160,213,106,209,160, 65,  3,105, 93, 86,  8,  0,136,214, 22, 99,119,191, 62,160, 41, 64,115,249, 34,132, 34, 10, 52,143,
- 66, 39, 82,130, 67,253,251,128,  2, 96,248,245, 28, 92,176,194, 92,  6, 48,232,105,152, 15,157, 53,226, 14,226, 69,213,151,147,
-181,104,164,164,164,192, 98,177,184,202, 73,104,154,134, 92, 46, 71, 72, 72,  8,164, 82, 41,100, 50, 25,181,101,203,150, 15, 27,
- 55,110,220, 96,214,172, 89,116,101,101, 37,253,236,179,207, 98,204,152, 49,124,118,136, 51, 58, 58,218,105, 92, 78,157, 58,133,
-181,107,215, 98,234,212,169, 14, 45, 90, 20, 69, 33, 48, 48, 16, 94, 94, 94,245, 78, 95,113, 35, 68,  6,132, 75, 78, 77,255,174,
-173,143, 87,144, 16, 63,173,121,136,195,171,179,119,235,138,241, 57,204,184,  5,160,204, 85,139,150, 35,  1, 12, 30,  3,139, 95,
-  9, 94, 93,221, 28, 97, 45,189,145,178,165,  0,  7,191,120,104, 81, 41, 76,179, 29,136, 56, 48,  0,140,102, 19, 52, 42,173,109,
- 72,215, 98,177,224,218,201, 95,155,223,255,245, 78,244,254, 45,155,  4,  0,160, 59,185,187,218,160,231,152,175,182,181,232,235,
- 43,184,112,170,204,116,161,174, 50,207,231,243,241,202, 43,175, 32, 49, 49, 17, 47,191,252, 50, 14, 30, 60,136,  5, 11, 22,224,
-245,215, 95,127,196,170,229,172,231,104, 50,153,190,158, 52,105,210,212, 29, 59,118,180,156, 59,119, 46,205, 90,180,100, 50, 25,
- 40,138,130, 78,167,131, 94,175,135, 86,171,197,173, 91,183,152, 55,222,120,227,182,193, 96,248,186,214,225, 74, 74,122, 85, 38,
-214, 28,108, 26, 78, 71,169, 51, 63,245,236,245, 76,164,150,146,118,174, 24,221, 98, 32, 25,250, 74,164, 47,  8,  1, 97,  0,134,
-  0,122,189, 26, 51,102,188,205,115,165,172,103,221, 57,141, 43,151, 47, 66, 42, 21, 67,165, 84,193,194, 88, 64, 24,  2,177, 80,
-128, 15, 63,152,143,113,227,198, 35,170,105, 83, 88, 44, 22,  8,  5, 66,124,255,253,247,232,210,165, 11, 12,  6, 67,107, 23, 44,
- 89,254, 58,157, 14, 87,174, 92, 65,255,254,253,145,157,157,141,244,244,116, 52,111,222, 28, 27, 54,108,  8, 28, 63,126,124,114,
- 81, 81,145,203, 31,127,191,118,237,218,188, 14, 29, 58,172, 84,169, 84,165, 42,149,106, 37,128,205,  0,202, 51, 50, 50, 90,103,
-100,100,172, 62,124,248,112,239,255,252,231, 63,188, 26, 62, 58,188, 90, 34, 15,147,201, 12,173, 86, 95,167,192, 98,143,  9, 97,
- 92,122,103, 40,138, 34, 45, 91,182,196,240,225,195, 33, 16,  8, 32,147,201,224,225,225, 81,109,216,172,166,224,170, 43,139,  0,
- 48, 20, 69, 33, 52, 52, 20, 67,135, 14,133, 80, 40,172,198,201,150,195,161, 67,135, 98,230,162,127,227,235,153,  3,176,118, 82,
-115, 12, 92, 92,232,204, 53, 67,245,243,207, 63, 75,223,159, 58, 21, 29,154, 53, 67,128,151, 23, 26,  5,  7, 66, 42, 22, 65,104,
- 31, 38,202, 37, 35, 59,  1,192,240,120, 60,180,109,219, 22,133,133,133,200,204,204, 68,102,102, 38,104,154, 70,175, 94,189,108,
- 86,152,187,119,239, 98,209,162, 69,208,235,245, 46,199,189, 89,179,102, 24, 48, 96,  0, 68, 34, 17,100, 50, 89,181, 33, 67, 54,
- 77,149, 74, 37,162,162,162,176,119,239, 94,180,104,209,194, 41,103,171, 86,173,208,183,111,223,106,233, 41,149, 74,109,162,  8,
-  0,178, 47,168,108,255, 17, 22, 22,230, 22,231,145,139, 15,177,254,232,207,208, 27, 24, 84,106, 76,213,189, 48,  2,188,112,230,
-135,185, 46,197,157,229,252,223,255,254,135,242,242,114, 91,221,201,118,202, 89, 35, 74,195,134, 13,241,223,255, 58,182,100,214,
-208, 34,142,234,129, 88, 23,219, 91,246, 62,182,112,137, 19, 19, 19,151,212,124,222, 25,159,253,245, 26,207, 27,106,136,179, 66,
-183,134, 14,197, 98,241,252,159,127,254,217,175,162,162,  2,119,239,222,  5, 77,211,182, 49,117, 62,159, 15,163,209,136,123,157,
-170, 47, 17,  0,  0, 32,  0, 73, 68, 65, 84,247,238,193,207,207, 15, 69, 69, 69, 16,139,197,224,241,120, 48, 24, 12,  0,208,169,
-182,  6,156, 16,130,153,138, 42, 23,161,159, 66,133,200,  2, 48, 76, 81,245, 98,176, 14,241, 59,119,238,132,135,135,  7, 60, 61,
- 61,109,123,103,195, 72,215, 50, 51, 80, 40,160, 64,159, 59, 13,138,  6,104, 10,160,120,  0, 77, 19,208, 20,  5,250, 92, 50, 40,
- 10,144,251,251,186,219,118, 59,115,140,175,211,  1,222,157, 70,188,230,239,147, 39, 79,194, 85,206,168,168, 40,120,120,120,216,
-182,195,135, 15, 87,179,104, 89, 44, 22,248,251,251,187,194, 73,172,254, 56,  8, 10, 10,130, 64, 32,160, 54,108,216, 48,175, 73,
-147, 38, 13,222,123,239, 61,154,199,227,225,242,229,203, 72, 75, 75, 67,100,100,164,203, 62, 91,229,229,229,249,243,230,205,179,
-204,155, 87, 53,135, 34, 58, 58, 26,229,229,229, 69,182, 97,192,202,202,146,193,131,  7, 87,243,219, 40, 46, 46, 46,169,197,179,
- 66, 32, 15, 71, 44, 33,168,212,100,227,103, 54,204,222, 17,240, 22,120, 10,142,188,254,101, 43, 31,175, 32, 33, 14,173,122,128,
- 35, 95,230,236,212, 21,224, 67,171, 79, 16,227,106,166, 59, 26, 54,206, 45,200,198, 27, 31,142,198,164, 53,209, 96, 69, 28,239,
- 78,123,144,146,242, 82, 67, 89,105,146, 35, 17,199, 48, 12,204, 70, 51, 52, 58, 29, 84, 74,141,205, 58, 84,148, 87,232, 51,119,
-214,187,130,229, 51, 94,  5,  0,204, 90,177,  6,202,117,191, 85,100,187,103,141, 11, 26,253,217,214,120,  0, 35,235, 10,167, 74,
-165,130, 78,167, 67,211,166, 77,145,146,146,  2,165, 82,137, 33, 67,134,128,162, 40,219, 12, 81, 55, 96,200,205,205,237, 25, 27,
- 27,251,203, 23, 95,124,209,180,117,235,214,148, 90,173,134, 70,163,129,253,254,218,181,107,100,243,230,205,247, 53, 26,205,179,
- 86,211,185, 67, 28,206,253, 38, 35, 38,236,181, 29,199, 47,243, 98,131,162,110,123,229,150, 53, 53,151,228,138,213,149,218, 91,
- 58, 11, 73,  3,177,  0, 22, 48, 32,102,  6, 22,235,176,151, 11, 53, 39, 76, 38, 51, 44, 22,  6, 15, 31, 62, 68,122, 90, 26,218,
-181,109,  9,157,222, 12, 33, 95,128,153, 55,110,160,213,120,192, 32, 20,128, 97, 24, 80, 20,141,169, 83,167, 26,173, 67,  6,181,
- 66, 42,149,174, 62,115,230,140,191, 78,167, 67,106,106, 42, 38, 78,156,104, 40, 46, 46, 22,  1,192,203, 47,191,108,216,184,113,
-163, 40, 42, 42, 10, 27, 54,108,  8, 28, 51,102,204,118,181, 90,221,214,197, 52,221,148,159,159,191,169,230, 73,127,127,255, 85,
- 15, 31, 62,236,103,239,243, 99, 54,155,109,193,113, 24,117,  6, 48,153, 76,208,106,245,168,168, 80,194, 96, 52, 89,235, 76,  6,
- 22,139,217,186,103, 96,182,214,163, 34, 33,223,179, 83,219, 16, 21, 33,  4, 52, 69,149,167, 94, 47,104, 88,151,104,119, 52,196,
-229,162, 53,171, 38, 44,236, 44, 51,127,127,127,  8,  4,  2,108,218,180,  9, 87,207, 30,134,136, 71, 96, 49,155, 96, 54, 25, 97,
- 49, 25, 32,224,241,112,252,114, 38,  6,181,242,116, 73, 16,  6,  4,  4, 96, 88,143, 30,136,237,209,163,106,122, 27,159, 15, 15,
-177, 24, 50,161,164,202,146,  5,128, 88,104, 87, 23, 17, 96,216,112,  6,  7,  7,227,210,165, 75,152, 57,115, 38,150, 46, 93, 10,
-169, 84,106,155,253,124,243,230, 77,108,219,182, 13,131,  6, 13,114, 59,238,172,  5, 47, 62, 62, 30,121,121,121, 88,177, 98,  5,
- 58,119,238, 12,129, 64,128,242,242,114, 60,251,236,179, 40, 44, 44,116,137,211,126,120, 79, 36, 18, 85,179, 62,177,  2,208,221,
- 60,178,231,124,117, 84,  3,236, 59,187, 25, 20, 40,156,255,225,221,106,162,240,191, 91, 79,187,205,185, 96,193,130,106,225,116,
-197,154,229,178, 31, 82,117,171,147,211,251, 40,138, 74,101,141,173,241,241,241,243, 41,138,218, 31, 31, 31, 63, 63, 33, 33,225,
-134, 43,124,142,174, 83, 20,117,192, 42,194,134,217,157, 75,117, 75,104,201,100,178,110, 30, 30, 30,184,123,247, 46,134, 12, 25,
- 98, 40, 41, 41,185, 45, 16,  8,154, 23, 23, 23,139,139,138,138,160,209,104, 84, 31,127,252,113, 38,  0,105,247,238,221,163,142,
- 31, 63,142,236,236,108,108,220,184, 17,  0,118,215,230,167,195, 48,140,173, 80,212,236,182,241,120, 60,156, 59,119, 14,231,206,
- 85,119,253, 90,191,126,189,211,  6, 99,204,158, 31,113,249,242,101,216, 47, 15,192,254,182, 63, 39,145, 72,128,186,103,120, 84,
-131, 51,199,120,103, 14,240,174, 54,226,181, 85,128,174, 22,196,220,220,220, 90,159, 63,119,238, 92, 53,139,150, 51, 78, 30,143,
-  7,139,197,  2,169, 84, 74,  9,133, 66, 74, 40, 20,134,179, 34,139,199,227,217, 94, 24,177, 88, 12,177, 88, 92,173,151, 90, 27,
-242,242,242,250,231,229,229,213,122, 93,161, 80,244, 84, 40, 20, 46,197, 85, 22,134,143,158, 29,219, 96, 30,  0,156,221,154,255,
-157,230, 33, 94,  7,  0,194,167,118,189,250,121,139,168,192, 72, 41,206,109, 47,192,145, 47,115,246,232, 10,176,208, 58,164,203,
-184,154,230,  7,142,238,197,155, 83,167, 65,204,147,217,249,100,209, 40,231,101, 99,250,198, 22, 96, 69, 92,234, 70,  3,246,111,
-253,  8, 41, 71,159, 55,213,101, 41, 51,154, 76,208,106, 12, 80,170,180,248, 40,225,187,170,147, 31,225,  2,128, 11, 61,223,156,
-137,184,152, 65,  3,220, 29,166,102,211, 59, 40, 40,  8,167, 78,157,  2, 69, 81,216,190,125, 59,188,189,189, 17, 19, 19,  3, 47,
- 47, 47,196,199,199,227,197, 23, 95,116,183, 50,171, 40, 41, 41,233,249,206, 59,239,252,242,233,167,159, 54,106,216,176, 33, 12,
-  6,  3,140, 70, 35, 12,  6,  3, 50, 50, 50,176,121,243,230,108,141, 70,211, 19, 64,133, 51,178,195,185,223,100,236, 74,158,149,
- 55,112,236, 24,237,205,194,159, 80, 80, 80,  2,179, 57, 23,140,197, 12,163,217, 82,101,225, 51,155, 97, 54, 91, 32, 20,242,188,
- 62,253,228,221,163, 12,  8,104,154, 50,  0,120,190, 54,177, 17,209, 48,  8, 94,158, 94,104,221,170,  9, 78, 28, 90, 15,131,209,
- 12,163, 65, 13,227,244, 24,164,103, 29,135,229,254, 49, 88, 24, 11,206,164,164,233, 77, 22, 34,144, 74,229, 84,195,  6,158,188,
- 59,247,117, 14,195,233,227,227, 19,173, 80, 40,112,231,206, 29, 76,158, 60,185,160,164,164, 36, 29,192,115,  0, 80, 82, 82,114,
-102,226,196,137,173,147,146,146, 66, 26, 55,110, 12, 15, 15, 15, 47,181, 90,237, 44,234, 30,  0,226,  0, 12, 70,117,  7,252, 82,
-  0, 31,211, 52, 45, 78, 77, 77,125,100,166, 93,114,114, 50,  0, 92,112,220,  3,178, 90,180,116, 58, 40, 74,202,240,250,155, 31,
-254,214, 51,  2,169, 38, 46,  8,  8,166,189,  5,  9,  0, 20, 23,102,224,213,215,103,138,235, 84, 28, 12,227,176, 33,116,195, 71,
-167, 90, 71,141, 45,163, 30, 30, 30, 85,195,111,123, 55,227,192,103,111,  2, 22, 35,136, 73, 11, 24, 53,128, 81,  5,198,160,  1,
- 37,148,  2, 38,173, 75, 66,203,195,195,  3, 30, 82, 41,130,124,124, 64,  8,  1,159,199,131, 64,192,  7, 99,  2, 40, 11,101, 43,
- 35,140,197,165,178,110,235, 84, 74,165, 82,100,101,101, 33, 46, 46, 14, 70,163, 17,163, 70,141,130,193, 96,128, 78,167,131, 86,
-171, 69,147, 38, 77,160,209,104, 92,226, 99,103, 43,122,120,120, 64, 40, 20,226,221,119,223, 69,151, 46, 93,176,104,209, 34,204,
-153, 51,  7, 77,154, 52,193,180,105,211,176,121,243,102, 68, 71, 71, 59,227, 37,246,121,196,166, 39, 43,182,236,135,248,  0,184,
-157, 71, 53, 57, 41,138,174, 38,216,216,237,237, 73,207,185,205,153,152,152,  8,133, 66,241,136, 37,139,253, 29, 22, 22,134,175,
-190,250,170,190, 35, 67,172,245, 40,216,193,181, 97, 53, 45, 81,132,144,174, 86,223, 41,125, 66, 66,194,141,132,132,132, 88,138,
-162,246, 39, 36, 36,196,214,102,209,114,196,227,224,186,194,213, 48,243,107,140,141,246,179,191,200, 38,180,159,159, 31,175, 81,
-163, 70,180,151,151, 23,202,203,203, 17, 24, 24, 72, 20, 10,197, 88,153, 76,182,112,203,150, 45, 81, 42,149, 10, 55,111,222,196,
-170, 85,171, 46,  0, 88, 89,151,208, 58, 24,104, 53, 29, 91, 45, 89,246,199,195,135, 15, 71,227,198,141,171, 89,179,164, 82,105,
-157,133,135,189,102,107, 20,121, 60,180,104,209, 66,122,255,254,125,173, 80, 40, 68,120,120,184,180,160,160, 64, 43, 20, 10,221,
-158,233,226,204, 49,222,153,  3,188, 35,225,211,181,107,215,106, 22, 44,251,189,253,239,125,251,246, 57, 29, 58,100, 57, 91,183,
-110,109, 75, 47, 79, 79, 79,246, 89,  0,192,144, 33, 67,192, 48, 12,  2,  2,  2, 92,226,100, 69,173,213,  1, 30, 58,157,142, 81,
- 42,149,116,106,106, 42, 68, 34, 17, 60, 61, 61,109,190, 58, 18,137,196,102,205,252,189, 32, 16,209, 83,198,124, 80,101, 96,244,
-111, 40,126,117,239,178, 76, 80,192,229,161,111, 71,246,111,218,213, 27,149, 69, 70,236,255, 60,235,129,174,  4,  9,  0,110,185,
- 99,201,210,209,149, 94,235,206,188,131, 14, 47,139,208, 64,215, 11,159, 46,168, 42,202, 19,103,140,198,176,215,249, 96, 69, 28,
-125,167, 29,182,127, 55, 31,205,154, 53,  3, 33,132,170,189, 66, 96, 96, 48,153,160,213,106,161, 82, 85,173,155,153,113,189,250,
-  8,163, 81, 95, 89,255,180,176, 86,176,165,165,165, 56,124,248, 48,126,250,233, 39,116,233,210,197,161,168,118, 67,112, 41, 74,
- 75, 75,123,205,158, 61,251,252,226,197,139, 67,253,252,252, 96, 52, 26,241,240,225, 67,124,251,237,183,121, 26,141,166,151, 59,
- 21, 12,  8, 96, 50,153,161,211,232, 81, 81,169,196,194, 79,190,175,181,232,  1, 64,105,209, 45, 12, 31,241,162,168, 46,177,209,
- 48,204,  7,201,201,201, 24, 52,176, 23,134,141,156, 92,171,216,120,115, 70, 53,177, 33,172,163, 35,240, 94,175, 94,189, 62, 81,
- 42,149,229, 26,141,230, 69,  0,203,237,251, 83, 37, 37, 37,189, 71,140, 24,241,133,159,159, 95,231,162,162,162,249, 46,196, 58,
- 62, 43, 43,107,126, 68, 68, 68,181,147,122,189, 30, 17, 17, 17, 45,138,138,138, 38,244,233,211,231,223,  0,252,236, 46,123,  2,
- 56,  2,224,171,218,202, 18, 59,116,168, 82,105,225,229,211,  0,185,153,167,156,  6, 68,200,211,129, 48, 76,157,117,  8,219,  1,
-174,109,115, 50, 51,238,145,160,178,247,178, 13,246,243,255,154,132,231,227, 18, 33, 19,  0, 75, 94,237,137, 38, 62,  0,164,126,
- 16,246,153, 11,202,199,154, 70,113, 63,186, 68, 62,103,237, 90, 92,182,214,199,225,129,129,152, 61,118, 44,136,  9, 72, 73, 75,
-195,214,159,127,198,216,254,253, 33,147, 72, 92,238,176, 48, 12,  3,161, 80,136,140,140, 12,164,164,164,160, 85,171, 86,184,123,
-247,110,181,101, 40,  8, 33,174,198,223, 22,119,177, 88, 12,129, 64,128,130,130,  2,196,198,198, 66, 40,172, 26,198, 62,117,234,
- 20,102,207,158,141, 41, 83,166,160, 95,191,126, 72, 79, 79,119,137,147, 16,242,200,108,197,154,195,185,238,230, 81, 77,206,154,
-237,126,125,242,157,229, 92,188,120,177,195,  9, 21,174,112, 58,210, 34, 14,242, 46,213, 94, 12,177,150, 39,123, 97, 84,243, 24,
-128, 47,123, 46, 62, 62,126,190,171,207,217, 31,179, 22, 49,119,134, 48,109, 66, 43, 54, 54,182, 90,204, 75, 75, 75,207,159, 63,
-127,190,141, 92, 46,199,173, 91,183, 68, 94, 94, 94,109,216, 10,157,166,105,108,223,190,221,115,232,208,161, 71,151, 47, 95, 30,
-206, 48, 12, 10, 11, 11,241,254,251,239,171,204,102,243, 56,  0,230,218, 26,112,103,150,169, 31,127,124,244,101,219,187,119,175,
- 75, 67, 32,172,144,226,243,249,240,245,245,213,106,181, 90,200,100, 50,248,250,250,106, 53, 26, 13,228,114, 57, 59, 86, 76,227,
-183,153, 10,206,172, 79,206, 28,227,107, 58,192, 59, 69, 90, 90,154, 75,247, 89,135, 90, 93, 42,229, 89, 89, 89,181, 86, 36,167,
- 78,157,  2, 99,173,104, 93,229,180,246,242,  8, 43,252,100, 50, 25,252,252,252, 32, 22,139, 33,149, 74,171,137, 44,177, 88,236,
-244,197,113,182, 32,169, 68, 34,185, 40,151,203,125,216,235,  2,129,  0, 74,165,178,188,180,180,180,219, 35, 22, 34, 13,115, 48,
-121, 99,222,148, 62, 19, 67,209,103, 98, 40,  0,188,122,105, 95,209, 43,189, 95,174,114,254,220,185,248, 30, 81,230, 89, 18, 97,
- 66,154, 59, 34, 11,  0,136, 72, 47, 27,243, 65,135, 42,235,194,198,243,152,187,248, 29,180,107,213,  1, 62,207,230,162,105,215,
- 80, 84, 22, 25,241,235, 22, 11, 86,254,231,125,180,110,221,218,169,192,100, 64, 96, 54,154,161,213,234,160, 82,106,241,164, 97,
- 48, 24, 32, 22,139,177,121,243,102,244,236,217, 19,221,187,119,127, 68,100,213,211, 60,159, 83, 90, 90,218,111,229,202,149, 23,
- 62,255,252,115, 95,149, 74,133,239,190,251,174, 66,165, 82,245,  3,144,227, 86,154, 50,  4, 38,163, 17, 26,157, 30,106, 85, 85,
- 26,220,187,177,179,158, 61,217, 42,177,209,179, 91,115, 76,159,254, 38, 50,239,103, 64, 85,126,247,177,197,  6,128,205,  5,  5,
-  5,155,235,184,126,207,108, 54,199,178,235,190,185,128,103, 34, 34, 34, 80, 80, 80, 80,237,228,131,  7, 15, 96,177, 88,244,168,
- 90, 39,235, 53,123, 67, 50,106,153, 65,107,215,131,174,178,142,106,245, 80,169,170,172, 32, 58,117,241, 19, 41, 71,172,216,168,
-205, 39,171, 62,101,136,162, 40,155,211,247,140, 25, 51,112,237,234, 85, 60, 23, 90,137, 38, 33,158, 32,149,185, 16, 14,248, 15,
-126, 85, 72,177,252,139,131,110,115,111,179,115,129, 88,190,109,155,195,107,247, 70,142,116, 43,238,183,111,223,134, 84, 42,133,
-197, 98,121,164,189,113, 55,254,246,  2,230,139, 47,190,192,236,217,179,241,253,247,223,227,218,181,107,232,208,161,  3,  6, 14,
- 28,136,162,162, 34, 92,189,122, 21,122,189,222,229,112,218,251,205,221,190,159,134, 99, 41,135,240, 32, 39, 19,121,  5,217,245,
-206,119,123,206,154, 66,107,215,177, 43,248,215,160, 78,245,226, 92,184,112, 33,138,138,138,170, 89,178,236,235,165,218, 44, 90,
- 53,181, 72, 13, 20,215,240,133, 98,143, 13, 53, 68, 79,205,227,154,247,  3, 64, 17,  0,158,147,231,106, 30, 23, 39, 36, 36,156,
-100, 45, 97, 86, 94,158, 51,255,172, 90,135, 14,  1, 36,142, 28, 57,114,196,170, 85,171,  2, 37, 18,137,109,  6, 82,124,124, 60,
-102,207,158,141,166, 77,155, 34, 32, 32, 32,204,199,199,  7, 37, 37, 37, 88,186,116, 41,178,178,178,254, 15, 14, 22,218,171, 41,
-180,122,223, 87, 66, 36,250,173,195,202, 90,182,  0, 96,202,148, 41,143, 88,180,216, 12,170, 11, 38,147,  9,254,254,254,208,104,
- 52,224,241,120, 24, 53,106, 20,239,250,245,235,150,152,152, 24,140, 30, 61,154,119,245,234, 85,203,176, 97,195,192,227,241, 48,
- 96,192,128,202, 93,187,118,205,  2,240,153, 11, 98,235,137, 57,198,179,133,204,213,181,143, 92, 17,151,117,113, 82, 20,  5,141,
- 70,  3,190,117, 86,150,171,156,236,208,161,253, 11, 72,211, 52,124,124,124,108,149,  7,107,209, 98,133,150, 51, 94,103, 11,146,
-202,100, 50,175, 91,183,110, 69,177, 19, 47,138,139,139, 49, 96,192,128, 59,165,165,165,143,112,105,243, 49,127,207,146,204, 16,
-  0, 67, 88,177,213,117,100, 16, 69,243, 40, 92, 59, 82,130,171,135, 74, 47,155, 42,209, 27,192, 90,  0,255,  5,176, 20,192, 92,
-  0,211,236,142, 31, 58,172, 32,117, 66,125,242,198, 60, 25,203,155,188,241, 28,190,220,181, 23,239,110,173,114,220,223,245,201,
-125, 76,125,105, 33,218, 69,183,115,109, 45, 32,  6, 48,154, 45, 80,105,117, 80,105, 53,120, 82, 96,223,135,117,235,214, 33, 61,
- 61, 29, 58,157, 14,171, 87,175,182, 77, 42,176, 23, 89,143, 33,184, 50,164, 82, 41, 51,100,200, 16,156, 63,127, 30, 98,177,216,
-132,122,172,127,197, 16,  6, 70,179, 25, 58,173, 22, 42,231, 67,110, 78, 27, 48,163,201,  4,134,177,160,107,135,112, 92,191,118,
- 13,114, 94, 49,254,132,176,169,234,244,244,116, 24, 12,  6, 44, 90,180,200,242,203, 47,191,156, 68,213,  2,168,172,  5,111, 66,
-223,190,125, 63,150,203,229, 62,  7, 14, 28,120, 27,192,247,117,197,221,100,182,138,246,199, 76,199,218, 70,  4, 28,249,100,213,
-103,201, 29,251,134,149, 97, 24,252,223, 27,111, 96, 96,104, 37, 70,119, 14,132, 58,255, 14,100,222,129,160,124, 34,177,252,139,
-131,184,113,223,229, 69,137,  9,  0, 12,233, 59, 18,237, 91, 61,186, 60, 88,175,231,170,250,100,103,142, 95, 68, 97,113,158,219,
-113, 87,171,213,181, 90,174,220,176,104,217,222, 57, 54,253, 58,118,236,136,230,205,155,227,228,201,147,232,212,169, 19,238,222,
-189,139,187,119,239, 34, 43, 43, 11,215,174, 93, 67, 89, 89,153,219,121,180,231,200, 86,148, 41, 75, 33, 18,138, 80, 90, 94,140,
-  7,185,153,  8,246, 15,121,236,124,103,209,114,216, 66,  0, 64,104,160,183, 91, 66,203,158,115,217,178,101,143,136,247,122, 46,
-223,100,207,127,177,174, 99,119,159,255, 61, 81,155,208,202, 84, 40, 20,221,199,142, 29, 27, 15,160,171,245, 92,  5,128,109, 71,
-143, 30, 29, 25, 20, 20,212,191, 71,143, 30,124,145, 72,132,148,148, 20,236,218,181,235,123,  0, 91,235,250, 35,145, 72,164,141,
-140,140,148,178,  5,145,125, 17,189,188,188,120, 75,151, 46,165,214,175, 95, 95,171,149,203, 89,  6, 85, 84, 84, 64,173, 86,195,
-219,219, 27, 70,163, 17, 67,134, 12,177,164,167,167, 67, 40, 20, 98,196,136, 17,150,180,180, 52, 91, 70,255,239,127,255, 11,215,
-106,181,207,254,244,211, 79,131,  1,244,113, 35,173, 88,199,120, 15,184,232,  0, 95, 91, 47,207, 21,184, 58, 28, 87, 27,231,204,
-153, 51,235,197, 41, 20, 10,205,236,202,239, 52, 77,195,104, 52,162, 83,167, 78, 40, 42, 42,178,189, 52,114,185,220, 38,178, 92,
- 17, 90,206, 22, 36,229,243,249, 48, 24, 12,232,211,167, 15, 40,138,194,154, 53,107,234, 10,107,145, 54, 15,111,236, 89,146,249,
- 63, 86,108, 73, 60,248,208, 41,205, 56,241,101, 25, 12, 37,240, 26, 51,102,204,248,157, 59,119, 98,233,210,165,211,226,227,227,
-149, 47,188,240,194,180,237,219,183,219,142,  1,196, 59, 34,150, 18,239, 74,205,249,230,178,100,220,129,157,136,  3, 43,226, 42,
-110,120, 34, 89,119,  6, 87, 83,175,  3,  0,214,174, 93, 11,212, 53, 20,203, 48,148,135,135, 63, 66, 67, 91, 32, 48, 72,  7,198,
- 69,231, 17, 87, 49,103,206,156,106, 98,202,209,202,203,246, 67,140,245, 17, 54,246,251,122,113,  0,182, 33, 47,181, 90,247,216,
- 66,139, 21, 27, 62, 94, 66,132,133, 53, 64, 69,129,253,176, 62,  5,118,170, 82, 85,152, 73,189, 29,110, 89,  4,  5,  5,117, 47,
- 42, 42,218, 91,227,116, 41,128,143,235,232, 88,218, 50, 58, 59, 59, 27, 49, 49, 49, 56,116,232, 16,111,247,238,221,207,237,219,
-183, 47,237,206,157, 59,217,157, 58,117,106, 56,117,234, 84,113,159, 62,125, 80, 92, 92,140,206,157, 59,127,148,155,155, 91,135,
-208,178,166,163, 78, 15,181,250,201, 91, 71, 29, 89,179, 30,167, 97,100,211,125,193,130,127, 99, 96,131,114,140,234,224,141,164,
-253,103, 49,161,163, 20, 48,136,221,230, 99,195,226, 23,218, 24,145,209,221, 31,185, 46,246,170, 90,203, 53, 50,186, 59,232,236,
-187,110,199,221, 62,204, 53,203, 76,125,202,144,125,122,190,254,250,235,152, 59,119, 46,  6, 15, 30,140,187,119,239, 34, 57, 57,
- 25,119,239,222,197,204,153, 51, 17, 29, 29,141, 14, 29, 58,184,197,185,239,216, 14, 84,170, 42, 64, 83, 52, 74, 43, 74,160,211,
-107, 49,103,218,130,199,206,119, 91,227,127, 44,161,106,116,224,232,229,122,115,126,240,193,  7, 40, 40, 40,168,102,201,122, 28,
-191,172,191, 58,234, 90, 45, 45, 19,192,255, 57, 24,174,240, 92,180,104,209,160,128,128,  0, 80, 20,133, 47,190,248,  2,126,126,
-126, 61,  1,220, 48, 24, 12,197,106,181,122,182,157,  8, 25,  8,235, 90, 27,133,133,133, 14,231,237,171,213,106,227,160, 65,131,
-  4, 13, 26, 52,168, 54,219, 80, 46,151,215,102,221,177,113,178,215,204,102, 51,230,204,153,131, 37, 75,150,160, 81,163, 70, 24,
- 54,108, 24, 98, 99, 99, 65, 81, 20,134, 12, 25,130, 97,195,126, 27,202,245,241,241, 17, 30, 58,116,168, 47, 77,211,105,118, 13,
- 72, 53, 78, 71, 96, 29,227, 77, 38,147,171, 14,240,213, 56,217,194, 54,115,230, 76, 44, 89,178,  4,243,231,215,237,234, 81, 75,
- 35,254,212, 57, 75, 75, 75,171, 85,246, 50,153,108,205,232,209,163,249,217,217,217,213,196,149,253,230,160, 34,170,198,233,108,
- 65, 82, 30,143,135,224,224, 96, 44, 94,188, 24,254,254,254,  8,  9,  9,113,180,144,159, 61,103,158,189,216,122,246,165, 16,236,
- 93,150,137,231,187,141,197,237, 83, 43,245,110, 52, 16,213,194,105,177, 88,178,222,121,125,110,208,138,245, 75,121,172,216, 98,
- 69,220,233,175, 85, 88,149,248, 45,250,244,238, 99, 51,179, 39, 39, 39,155, 29, 88,121,108,156, 22,194,164,126,154,248,239, 94,
-223,109,220, 39, 16,139,128,115,201, 59, 81, 89, 86,125, 56, 73,111,252,109, 42,181,168,211,115, 48, 92, 62,238, 82, 89, 98,197,
-244,194,133, 11,177,112,225,194, 58, 35,185,110,221, 58,167,156,174,138, 46,119,210,211,106,210,162,100,114, 95, 72,228,161,104,
- 19,237, 11,134,152,221,173,163,108,156, 53,197, 70, 64,128, 63, 42, 10,170,203, 58,202,150, 70,117,106, 96,103,113,255,229,226,
-197,139, 35,252,253,253,145,147,147, 19, 40, 16,  8, 70, 84, 51, 87,105,181,136,140,140,108,161, 80, 40,158,117,198, 57,115,230,
- 76,253,135, 31,126, 40, 30, 55,110, 28, 70,143, 30,141,113,227,198,137,133, 66, 97, 51, 66,  8,140, 70, 35,114,114,114,112,252,
-248,113, 40, 20,138,155,117,133,147, 33,132,146,202,124, 32,145, 55, 64,155,182, 62, 96, 24,115,125,235,124,135,117, 72, 77,107,
-150,155, 34,203, 97,249,  4,128, 95,142,239,197,130,119,219,226,251,  3, 23,176,234, 34,208,222,167,  8,109,  2, 21, 96, 20, 55,
-241,254,132, 46, 88,254,195,165,170,119,233,148,211, 60, 34,117,149, 65,157,214,248, 88,113,183,183, 92,217,255,143, 11, 62, 90,
-143,112,178,157, 68,165, 82,137,242,242,114, 36, 37, 37,225,213, 87, 95, 69, 81, 81, 17,178,178,178,112,231,206, 29,108,217,178,
-  5, 50,153,172, 94,121, 52,235,141, 15,240,225,242,247, 64, 64,208, 50,170, 13,226,227, 22,162,107,251, 30,143,157,239, 53,225,
-130, 53,171, 86,206, 21, 43, 86,212,183, 44,253,227,132,150, 67,  4,  4,  4,140,235,219,183, 47,116, 58, 29,  2,  3,  3,145,149,
-149,  5,154,166,155,  2, 85, 67,120, 97, 97, 97,219, 20, 10, 69, 83, 87,249,120, 60, 30,204,102,179,205,247,135,221,  0, 96,248,
-240,225,248,241,199, 31,157,246, 40, 66, 66, 66,208,176, 97, 67,188,243,206, 59,143,204,114,176,159,233, 32,149, 74,113,224,192,
-129,130,210,210,210, 82, 66,136,194,157,120,179,142,241,103,206,156,113,217,  1,222, 30, 70,163, 49,251,206,157, 59, 13,214,173,
- 91,199,171,163,241,179,161,150, 70,252,169,115, 58,234,153, 18, 66,106, 21, 89,174, 44, 35,224,108, 65, 82, 62,159,143,219,183,
-111, 99,193,130,  5,160, 40, 10, 59,119,186,228,195,147,167,205,195, 27,187, 23,103, 46,221,147,144, 57,218, 84,  1,201, 73,245,
-202, 59,  0, 86,239,216,177,163,  3, 69, 81,236, 80,225,127,119,236,216,225,105,127, 92,171,169,172,168, 40,230,197, 23, 95, 60,
- 74, 81, 84, 83,221,201, 10, 79,  0, 34, 86,196,229, 94,211,169, 94,158,240,178,129,207,231, 91,126, 51, 88, 49, 89,133,133,133,
-207,215,198,119,253, 86,201,122,154,166,125,135, 63,223,171, 29, 40, 10, 70,195,163, 35,213, 30,101, 42,155,200, 26,253,217, 86,
-236,158, 53,214, 21,209,147,113,250,244,105,191,117,235,214,241, 93,201,247,211,167, 79,155,  9, 33,110, 15,251,177, 13,142,209,
-104,132, 86, 91, 63, 43, 10, 33, 36, 37,225,147, 15,  7,109,216,116, 80, 64, 81,  6,156, 59,181, 19, 21,229,142,221, 25, 68,  2,
- 62,214, 39,237, 50, 11,  5, 60,135, 78, 39, 79, 80,108, 56,195,151,163, 70,141, 26,183,122,245,234, 54,142, 46,186, 48,  9, 38,
- 75,167,211, 33, 55, 55, 23, 26,141,102,199,188,121,243,140,  7, 15, 30,124,109,204,152, 49,232,208,161,  3, 26, 52,104,128,252,
-252,124,100,100,100, 32, 41, 41,137,156, 61,123,118,  7,128,233, 78,210,113,111,226, 39, 31, 78, 78,250,225,160,136,166,140, 56,
-151,188, 19, 21, 53, 68,251,163,214,105,  1,190,249,126,151, 81, 40, 20,220,114,102, 45,178,183,102, 61,201,134,113,196,196, 56,
-140, 94,185, 10, 77,187,198, 32,113,233, 64,124,243,201,139,248,124,136, 16,198,237, 19,208,254,133, 13,216,188,104, 40,  0, 32,
-244, 27, 23,173, 37,124, 33, 30, 58,176, 88,149, 87, 72,172,226,198, 61,171, 41, 27,247,186, 44, 87,238, 90,180,104,154, 70,227,
-198,141,209,180,105, 83,244,236,217, 19,157, 58,117, 66,255,254,253,113,245,234, 85, 92,189,122, 21, 51,103,206,172, 75,100, 57,
-205,163,126,207, 14,194,133,222,183, 30, 59,111,106,230,251,147,128, 43,101, 41, 46, 46, 14,  0,254, 81,214, 45,183,133, 86,101,
-101,229, 85,134, 97,218,121,123,123,179, 22, 41,219,181,  7, 15, 30,128, 97, 24,141,187, 25, 99, 48, 24,216,197, 49,171,173,203,
-196, 58,199,215,245,226, 19, 66, 44,165,165,165,232,219,183, 47,122,247,238,109, 27, 62,177,223,236,132,  9,118,239,222, 13, 66,
- 72, 55,119,227,109,231, 24,175,130,155, 14,240,108, 35,222,167, 79,159,163,124, 62,223,165,175,104, 58,107,196,159, 22,167,163,
-252, 97, 24,166, 86,145,229, 74, 69,228,108, 65, 82, 62,159, 15,185, 92,142, 61,123,246, 32, 32, 32,192,157,224,229,233, 10, 48,
- 11,192,151,168,154,132,113, 23,  0, 59,141, 47,206,254,221,174,113, 92, 27,212, 10,133,130,237, 26,134,238, 94,156,185,116,239,
-210,204,129,140, 30, 59,117, 10,252,  0, 40, 47,194,137,211,114, 77, 92, 77, 87, 44,171,235,122, 95,127,209, 41,  0,129,163, 63,
-219,250,240, 84,137, 49, 98,244,103, 91, 31,236,158, 53,182, 81, 93,207, 20, 20, 20, 12, 30, 59,118,236, 33, 87,243,221,108, 54,
-103, 22, 20, 20, 60,239,110,153, 37,132,224,214,173, 91,204,235,175,191, 94,172, 80, 40, 94,172, 79,  5, 19,191, 96,213,231, 75,
- 62,154,225, 63,100, 80,247,174,160,  1, 67,237,206,191,132,  2,  8, 95,192,203,158, 61,127,197, 27, 47,190,248,226,239, 42, 54,
-106, 86,115,  5,  5,  5, 61,255,245,175,127, 77,199,111,174, 19,213,132, 20,106,153, 93,109,197,202,134, 13, 27,182,229,241,120,
- 98,  0, 11,  0, 60, 56,123,246,236,151,103,207,158, 29, 12,224, 25, 30,143,215,192, 98,177,228, 90, 59, 61, 91,  1,252,234,188,
- 28, 21, 77,  5, 97,194,135, 12,124, 38,  6, 20, 69, 12,  6,189,147, 14, 18,  8,  8, 33, 66,161,224,214, 47, 87,243,219,215,213,
-145,178,251,  2,199, 19,159, 65, 60,125,250,116, 76,159, 62,221, 86,158,214,172,233,141, 29,215,207,224,133,246, 57,208,127,221,
- 11,148, 87, 35,151, 59,124,  0,240,193,191, 95,127, 98, 97,179,143,187,189, 69,203,209,123,224,142,143, 22,143,199, 67,113,113,
- 49,110,223,190,141,194,194, 66,104, 52, 26,164,167,167,195,104, 52,162,172,172, 12,109,219,182,173,119, 56,159, 84, 30,253,145,
-156,255,196,225, 67,183,133,150,209,104,252, 79,227,198,141,  5, 18,137,164,141,197, 98,  1, 33,  4, 22,139,133, 88, 69,141,219,
-179,240,  4,  2,129,174,121,243,230,148,163,217,  9,236,111,185, 92,174,173,195, 90,146, 16, 25, 25, 57,143,162, 40, 94,109,189,
- 16,246, 55,195, 48, 22, 62,159,159, 80,207,180,122, 92,199,120,251, 70,252, 73,225,105,112,214,204, 31,117,171, 86,173,108, 95,
-180,175,185, 38,138,245, 99,171,106, 39,226,188,206,  5, 73,213,106,117,126, 76, 76,140,197,254,186,253,130,166,206, 52,172,117,
-123,210, 96, 69, 92, 99, 59, 17,103,121,226,255, 66,145,  7, 67,199,189, 22,113,170,196, 24,  1,  0,172,216,  2, 33, 15,234,120,
- 74, 91, 80, 80,208,247,105, 87, 14,247,239,223, 55, 60,243,204, 51,155,148, 74,101, 28,128,122,123,243,207,255,207,154,249, 79,
- 34, 60, 79, 75,108,212, 86,108,  1, 44,169,103, 80, 31,148,148,148, 12,168,113,238, 87, 86, 80,177,235,218,185, 29,255,155,197,
-207, 63,233, 60, 54,155,205, 57, 77,155, 54,117,203,114, 99, 50,153,114,156, 93,175,185, 70,152, 61,110,192, 27,243,207,  3, 85,
-147,191, 75, 92,226,212,233,116,165, 61,122,244, 16,184, 25,183, 34, 87,227,222,160, 65,  3,132,134,134,218,246, 44,106,158,119,
- 22, 78,179,217,156, 19, 30, 30,142,128,128,128, 90, 87,124,175,233,147,229, 10,231,147,206,163,186, 56, 67, 67, 55, 60,113,206,
-250,134,147,131,107, 24,200,113,114,156, 28,231, 95,150,147,199,165, 39,199,201,113,114,156,191, 35,231,223, 18,156,151, 26,  7,
- 14, 28,106,131,133, 75,  2, 14, 28, 56,112,120, 60, 80,117,168,210, 99,110,240,212, 71,217, 30,227, 56, 57, 78,142,147,227,228,
- 56, 57, 78,142,243, 31,199,233,140,251, 24, 56, 60, 85,  1,198,113,114,156, 28, 39,199,201,113,114,156, 28,231, 63,143,243,111,
-  9,110,232,144,  3,  7, 14, 28, 56,112,224,192,129, 19, 90, 28, 56,112,224,192,129,  3,  7, 14,156,208,226,192,129,  3,  7, 14,
- 28, 56,112,224,192,  9, 45, 14, 28, 56,112,224,192,129,  3,  7, 78,104,113,224,192,129,  3,  7, 14, 28, 56,112,224,192,129,  3,
-  7, 14, 28, 56,112,224, 80,  5, 10,  0,246,239,223,111,251, 32, 96,108,108, 44,197, 37, 11,  7, 14, 28, 56,112,224,192,225,247,
-196,223, 90,139,216, 71,142,  3,  7, 14, 28, 56,112,224,192,129,211, 34, 79,  6, 52, 39,182, 56,112,224,192,129,  3,  7, 14,156,
-216,226, 34,198,129,  3,  7, 14, 28, 56,112,224, 68,214, 95, 10,213, 44, 90,156,224,226,192,129,  3,  7, 14, 28, 56,252,145, 98,
-235, 47,170, 69,136,117,179, 63,230,192,129,  3,  7, 14, 28, 56,112,224,240,152,  2,171,174, 61,  7, 14, 28, 56,112,224,192,129,
-  3,135, 39, 36,184,216,223,191,155,208,226,190,108,206,113,114,156, 28, 39,199,201,113,114,156, 28,231, 63, 22,124, 46,  9, 56,
-112,224,192,129,  3,  7, 14, 28, 30, 27,246, 86, 44,138, 19, 90, 28, 56,112,224,192,129,  3,  7, 14, 79, 78,100, 81,142,142,185,
-111, 29,114,224,192,129,  3,  7, 14, 28, 56, 60, 37,112, 22, 45, 14, 28, 56,112,224,192,129,  3,135,199,  3,  5,110,232,144,  3,
-  7, 14, 28, 56,112,224,192,225,169,138, 45,135, 39,107,155, 57,112,204, 13,242,250,204, 62, 56,198,113,114,156, 28, 39,199,201,
-113,114,156, 28,231, 63,142,211, 25,247, 49,252,245,208, 23,192, 73,  0,253,172,251, 90,133,215,147,  6, 55,245,149,227,228, 56,
- 57, 78,142,147,227,228, 56, 57,206,191, 59,106, 93,168,148,115,134,231,224, 12,124,212, 61,196,236,236, 58,  7, 14, 28, 56,112,
-224,240, 79, 19, 91,196,190,145,116,132,102,  0,230,  3,240,182, 59,119, 17, 64, 66,141,251,126,  0, 32,179, 59, 86,  3, 88,  4,
-224,174,211,208, 16, 34,180,242,139,173, 27,  3, 64,  7, 64, 15, 64, 73, 81,148,137,203,179, 63, 28, 61,  0,196, 90,127,239,  7,
-112,206,205,235,127, 43, 52,104,208, 64,234,235,235, 59,248,242,229,203,162,244,244,116,156, 62,125,154,172, 95,191,222, 88, 86,
- 86,118, 36, 63, 63, 95,203, 21,151,191,  5, 98,  0,196, 91,127, 39,  2, 56,252,152,124,148, 76, 38,155, 41,151,203,135,138,197,
-226, 80,179,217, 76,105, 52,154, 60,181, 90,125,212,108, 54,127,102,173,247,220,197, 72, 63, 63,191,215, 90,182,108,217, 44, 43,
- 43, 43, 55, 47, 47,239,  7,  0,219,  1,188, 24, 26, 26, 58, 33, 50, 50, 50,236,214,173, 91,119, 75, 75, 75,191,  1,176,247, 15,
- 12, 39,  7, 14,255, 36, 80,117, 89, 35, 28, 97,  1, 33,100, 66, 53,  6,234, 81,142,  1,  3,  6,140, 56,114,228,136,140, 97, 24,
-176,155, 84, 42, 53,  3,120,197,137,200,242, 79, 73, 73,137,136,139,139, 27,157,151,151,215, 69,169, 84,118,  3,  0,153, 76,118,
- 33, 40, 40,232,151,149, 43, 87,110, 33,132,228, 80, 20,165,116, 51,162,124,129, 64,240,170,175,175,239, 80,179,217,220,137, 16,
-  2,129, 64,112,185,172,172,236,176,201,100,250,  6, 64,125,196,155,136,207,231, 79, 23,139,197, 49,102,179,185, 29,  0,240,249,
-252,107,122,189,254,176,217,108,254, 18,128,161, 30,156, 18,145, 72, 52,221,203,203,107,144,193, 96,104,  7,  0, 34,145,232, 90,
-101,101,229, 81,131,193,240,165, 85,112,254,209,224,  3,136, 37,132,  8,  0,128,199,227,141,236,214,173, 91,  4, 69, 81, 12, 69,
- 81,132, 16, 66, 93,184,112,161,163,197, 98,161,173,229, 35, 22,192, 47,  0,204,127,197, 55, 36, 32, 32, 96,  9,195, 48,161,117,
-102,154, 68,210,229,242,229,203, 45,183,109,219,102,249,250,235,175,203,167, 76,153,226, 17, 23, 23,199, 95,179,102,205,151,249,
-249,249,111,215,188,223,223,223,255,115,154,166,  3, 92,249,127,134, 97,138, 75, 74, 74,222,251,163,226, 63,121,178,174,154,185,
- 59, 41, 73, 18,  5, 32,167,158,229,251,233,113,234, 38, 19,  0, 72,146, 36, 69, 77,214, 77,206, 96,127, 63, 46,175, 29,226,191,
- 58,166,236, 67,  8, 48,125,144, 39,253,184, 66, 43, 44, 44, 44,105,242,228,201,227,218,181,107,199, 39,132,192,100, 50, 65,175,
-215,183, 60,119,238, 92,191,157, 59,119,118, 81, 42,149, 47,186, 73,249,198,220,185,115, 23,127,252,241,199,  1,  2,129,128, 50,
-153, 76, 81,219,182,109,235, 52,117,234,212,119,214,173, 91,215,240,165,151, 94,242,100,207, 47, 88,176,160,107, 98, 98, 98, 19,
-  0,159,253,  1,225,228,192,225,159,134,190,168,238,163,245, 17,128,133,117,  9, 45,185,181,241, 44,180, 90,178, 96,183,183,225,
-196,137, 19,251,248,124, 62,107,209,234,166, 86,171,131,107, 88,193, 28,137,172,200,137, 19, 39,246,216,177, 99,199,146,151, 94,
-122,169, 64, 38,147, 53, 31, 51,102,140,146,162, 40,222,182,109,219, 58, 54,109,218, 84, 58,124,248,240,137,  3,  6, 12,152, 69,
-  8, 57, 77, 81,148,194,197, 72,182,241,243,243,219,181,108,217,178,136,152,152, 24, 97, 64, 64,  0,  8, 33,200,203,203, 11, 59,
-112,224,192,144,143, 62,250,104, 86,105,105,233, 40,  0,105,110, 36, 92, 87,169, 84,186,227,163,143, 62,106, 48,100,200, 16,126,
- 72, 72,  8,116, 58, 29,210,211,211,  7, 30, 62,124,184,207,186,117,235,222,214,106,181, 47, 88,  5,134,171,232,230,237,237,189,
-243,187,185,115,131,187,191,250, 42,223,207,207, 15,132, 16, 40, 20,138,129,103, 54,108,232, 55,109,217,178,183, 43, 42, 42,254,
-229, 40,189,255, 72,136, 68, 34,122,227,198,141, 29, 68, 34, 17,  0,192, 96, 48, 32, 58, 58,154,250,187,188, 33, 20, 69,133,231,
-229,229,121, 11,133, 66,135,215, 45, 22, 11,250,244,233,211, 88, 40, 20,226,179,207, 62, 51, 21, 23, 23,119, 92,189,122,245,229,
-205,155, 55,  7,124,249,229,151, 47,  0,120, 68,104,209, 52, 29,144,147,147,227,144,211, 98,177,192,104, 52,194,108, 54,195, 96,
- 48,160,117,235,214,127,104,252,147,146, 36,225,  0,222,155, 60, 89,247,174,245,212,103,  0,102,  1,184,143,122,126,179,235, 41,
-112,218,151,183,207,237,126, 63,118, 88,237, 16,  1,  0,  7,175,234,  0,192,239,113,211, 85, 46,151,183, 26, 63,126, 60, 95,161,
- 80, 64, 32, 16,192,104, 52,162,160,160,  0,209,209,209,188, 77,155, 54,181,112,151, 47, 42, 42,106, 74, 98, 98, 98,224,193,131,
-  7,141, 27, 55,110, 52, 12, 26, 52, 72, 48,101,202, 20,175, 62,125,250,180, 14, 15, 15,167,191,253,246, 91,253,209,163, 71, 77,
- 19, 39, 78, 20, 37, 36, 36,  4, 30, 56,112, 96,120, 90, 90,218,103,191,119, 56, 57,112,248,  7,226, 36,126, 91,226,129,221,215,
- 41,180, 96, 39,174, 70,  2,128, 64, 32,232, 24, 28, 28,156,100, 54,155, 67,172, 86,157,130,194,194,194,207, 76, 38,211, 21,235,
-189,123, 25,134, 25,225,204,146, 53,113,226,196, 30,135, 14, 29, 90,126,238,220,185,138,146,146,146,144,125,251,246,233,102,205,
-154,149,  5,  0,247,239,223,111, 50,124,248,240,176, 25, 51,102,228, 12, 30, 60,120,101,255,254,253,223, 34,132, 28,165, 40, 74,
-237, 76,100, 69, 71, 71,167, 36, 39, 39,123,250,248,248, 84,187, 16, 25, 25,137,183,222,122, 75, 56, 98,196,136,166,207, 61,247,
-220,217,140,140,140,222,  0,174,187, 34,136,154, 53,107,118,236,196,137, 19, 30,190,190,190, 40, 47, 47, 71, 65, 65,  1, 52, 26,
- 13,188,188,188,240,210, 75, 47,  9,251,246,234,217,112,198,204,183,143,229,228,230, 14,116, 81,108,117,235,217,166,205,177,205,
-  9,  9, 30,166,135, 15, 33,149, 74,161, 82,169,  0,  0,158,158,158,232,210,184, 49,255,210,134, 13, 97, 19,230,204, 57,246,203,
-237,219,  3,255, 32,177, 37,182,238,245,  0,246,243,120,188,145, 34,145,136, 30, 57,114, 36,142, 29, 59, 70,233,116, 58,190,213,
-186, 99, 30, 57,114, 36,164, 82, 41, 12,  6,135,200,170,  5,  0,  0, 32,  0, 73, 68, 65, 84,  3,131,170,161, 67,243, 95,249, 45,
- 17,137, 68,200,200,200,168,118, 78,169, 84, 66,161, 80,160,164,164,  4,122,189, 30,229,229,229, 96, 24,134,146, 74,165, 10,134,
- 97, 64,211,116, 77,  1, 80, 13, 66,161, 16,183,111,223,174,118,206,108, 54, 67,173, 86, 67,175,215,195,104, 52, 66,169, 84, 74,
- 61, 61, 61,155,  5,  4,  4,228,  0,216, 91, 90, 90,250, 89, 97, 97,225,131,223, 57,250,197,172, 32, 74, 74,146,220,  3, 32,250,
- 51,114,218, 89,178,194,172,199,191, 62,161,176,178,120,184,255,138,174,145,213, 58,150,249,  4,248, 24,  0, 56,125,250, 52, 10,
- 11, 11, 81, 92, 92, 12,133, 66,129,240,240,112, 16, 66,220, 30,142,203,200,200,248,170,109,219,182,212,141, 27, 55, 14,  3, 88,
-179,109,219,182, 87, 74, 75, 75,227,103,207,158,237,247,233,167,159,150,206,153, 51, 39, 17,192,247,219,182,109,123,179, 85,171,
- 86, 67,111,222,188,185,238,143,  8, 39,  7, 14, 79, 26,132,144,174,  0,  2,217,186,197, 90,239,250,219, 29, 95,165, 40,202, 96,
-119,159,193, 90, 55,212,220,179, 96,143, 21, 20, 69,253, 98,247,156,130,162,168, 95,234, 27,204, 26,251,170, 78, 55,  0,236,223,
-191,159,176,155,163, 39,131,130,130,102, 14, 24, 48, 96,121,106,106,106,235,252,252,124,223,252,252,124,223,212,212,212,214,  3,
-  6, 12, 88, 30, 20, 20, 52,211, 46, 33,106, 62,122,204,238,154, 48, 37, 37, 37, 98,215,174, 93,137,199,142, 29,171,232,216,177,
-163,225,196,137, 19,230,193,131,  7, 23, 89, 27,104,243,224,193,131,139,126,254,249,103, 75,247,238,221,165,135, 14, 29,202, 62,
-123,246,236,231, 59,118,236,  8, 38,132,240, 28,113, 90, 33,240,241,241,217,115,234,212,169, 71, 68,150, 61, 26, 54,108,136,253,
-251,247,123,249,248,248,236,  5, 32,172, 45,156, 86, 72, 36, 18,201,206,159,127,254,217,195,211,211, 19, 69, 69, 69, 16,  8,  4,
-  8, 10, 10, 66, 69, 69,  5, 10,242,243,241,224,206, 29,208,  6,  3,190,248,228, 99, 79,169, 84,186,195, 65,101,255,  8,167,183,
-183,247,206,205, 75,150,120,148, 28, 59,134, 95, 23, 47,134,209,104,180, 13,185, 26,141, 70,156,141,139,131,226,248,113,124,187,
- 96,129,135,183,183,247, 78,  0, 18, 39,156, 79,  2,246,156,113,  0, 74,173, 91, 28,128,115,209,209,209,169,233,233,233,232,221,
-187, 55,182,111,223,222,126,246,236,217,113,179,103,207,142,219,190,125,123,251,222,189,123, 35, 61, 61, 29,209,209,209,169,168,
-238,159,245,180,195,249,212, 56, 45, 22, 75,181,141, 97,126,107, 99, 66, 67, 67,139,118,237,218,133,151, 94,122,137, 22,137, 68,
-249, 99,199,142, 21,159, 57,115,134, 88, 69,166,203,225,212,233,116,208,106,181, 80,171,213,184,127,255,190,116,217,178,101,189,
- 22, 46, 92, 24,117,236,216,177,176,249,243,231, 79, 11, 12, 12,188, 28, 28, 28, 28,241, 59,199,221, 88,227,247, 23,  0,114,221,
-180, 16, 61,109, 78, 98,125, 30,147,117,147, 59,216, 85,176,238,242,214,149,158,  5,214,176,170,  1, 60,120,156,178, 52, 96,192,
-128,182, 81, 81, 81,193,219,110,248,162, 76,216, 18,140,208,  7,140,208,  7, 22,255,174,200, 16, 61,143, 70,141, 26,  5,123,120,
-120,244,112, 51,156, 27,111,220,184,241,140,181,167, 92,  2, 96,249,156, 57,115, 62,162, 40,234,244,156, 57,115, 62,  6,176,220,
-122,126,241,205,155, 55,187,  3,216,252,  7,133,243, 47,241,190,115,156,127, 46, 78, 39, 90, 36,144,162,168,253, 20, 69,237,159,
- 55,111, 94,127,  0,254, 53,142,159,181,191, 15,128,200,209,158,221,236,206,  7, 18, 66,134,217, 61, 23, 88,207,224, 83, 14,182,
-223,132, 22,  0,196,198,198, 82,177,177,177,236,133,139, 20, 69,237,  3,112, 81, 32, 16,116,236,208,161,195,200,159,126,250,201,
- 51, 48,240,183,255, 15, 12, 12,196,142, 29, 59, 60,219,180,105, 51, 82, 32, 16,116,  4,112,209,203,203,107, 95, 29, 86, 24,159,
-184,184,184,209,147, 38, 77,170,236,216,177, 35,  0,148,167,165,165,201,186,119,239,174, 54,155,205,148,217,108,166,186,119,239,
-174, 78, 75, 75,147,153, 76, 38,101,215,174, 93,229,207, 61,247, 92,214,123,239,189, 55,209,129,224,176,199,248,165, 75,151,134,
-251,250,250,214,165,132,161, 84, 42, 17, 28, 28,140,184,184,184, 16,129, 64,240, 90, 93,169,197,231,243,167, 47, 93,186, 52,200,
-199,199,  7,101,101,101,  8, 15, 15,135,193, 96,192,237,219,183,161, 83,171, 96, 82, 86,194, 84, 89, 14,197,189,187,240, 17,240,
- 49,113, 68,108, 48,159,207,159,238,196, 90, 50,253,155, 57,115,130, 13, 89, 89,184,191,125, 59, 44,230, 71,141, 63,102,163, 17,
-215,254,247, 63,232,114,114,144,248,250,235,193, 34,145,104,250,239,108,201,250,148, 16, 34, 37,132, 72, 41,138, 90,217,163, 71,
-143, 77, 82,169, 52, 46, 33, 33, 33,230,200,145, 35, 67,146,147,147,251,153,205,102,129,217,108, 22,156, 62,125,186,183, 78,167,
-227,139,197, 98,240,249,124,130,191, 41,  4,  2,  1,132, 66, 33,164, 82, 41,122,245,234,117,111,253,250,245,166,240,240,112,193,
-206,157, 59,125, 67, 67, 67,229,107,214,172, 41, 87, 42,149, 75, 93,229, 51, 26,141,208,235,245,208,106,181,208,233,116, 56,113,
-226, 68,227, 25, 51,102,240,117, 58,157,101,248,240,225,165, 38,147, 73, 63,103,206, 28, 47, 63, 63,191, 89,191,103, 60, 39, 79,
-214, 49, 86,203,211, 77,171,104,201,196, 99,250, 60, 61, 13, 78,  0,  6,171, 79, 22,139,  0, 43,183,225,  9, 37,133, 25,128,202,
- 42,180,244, 53,222,143,118,118, 22, 95,167, 40, 47, 47, 95,247,205, 55,223,132,211, 98, 31,156, 49, 12,197, 22,230, 35, 28,241,
- 94,131,162,136,247, 17, 20, 30,133,113,227,198,  5, 17, 66,214, 60,129, 48,175,  6,208,  7,192,202,250, 60,252, 59,132, 51, 66,
- 46,151,111,247,244,244, 60, 35,151,203,183,195, 58, 60,251, 56, 24, 20,133,129, 35, 90,209, 57,131,154,130,140,104, 69,231, 12,
-138,226,150, 26,248,187,160,134, 22,177,135,130, 16, 18, 75,  8,137, 77, 76, 76, 92, 98,215,190,179,199, 82, 23, 45, 99,177,132,
-144,216,106, 10,169, 74, 96, 61,182,209,205,193, 86,165, 41,236,149,164, 93,228,108,179, 11,131,131,131,147,146,146,146, 60,107,
- 50,230,231,231,163,178,178, 18, 31,126,248,161,231,164, 73,147,222,206,201,201,153,236, 36, 16,162,130,130,130, 78, 19, 38, 76,
-144, 24,141,198, 50,134, 97,232,202,202, 74,190,183,183,183,133,189,193,219,219,219, 82, 81, 81, 33, 80,171,213, 60,139,197,162,
-159, 52,105,146,232,245,215, 95,239,  2,128, 87, 27,105, 96, 96,224,160,161, 67,135,214, 58,116, 96, 50,153,160, 86,171,161, 86,
-171, 97, 52, 26,209,171, 87, 47,241,250,245,235,  7, 23, 21, 21,253,183, 86,197, 33, 22, 15, 26, 52,104,144,160,180,180, 20,222,
-222,222,120,240,224,  1, 50, 51, 51,161, 87,169, 96, 84, 85,194,168, 82,194,172,172,  4,169,172, 64,201,221, 91,232,222,170,165,
-240,  7,177, 56, 70,173, 86,127, 94, 27,167,151,151,215,160,238,175,188,194,151,203,229,232, 55,161,106,158,193,161, 86,173, 64,
- 44, 22, 48, 22, 11, 44,102, 51, 98,110,223,134,201,100,  2, 77,211,232, 90, 90,202,247,218,176, 97,144, 66,161, 88,254, 71, 20,
-118,177, 88,204,223,184,113,227,120,145, 72,  4, 66,  8,101, 48, 24,112,228,200,145,127,220, 75, 47, 18,137, 32,145, 72, 96, 52,
- 26, 17, 25, 25,169,157, 48, 97, 66,202, 39,159,124,210,136,166,105,185, 80, 40,252,169,164,164,100, 73,126,126,254,125, 87,249,
- 76, 38, 19, 12,  6,  3, 12,  6,  3,180, 90, 45,238,221,187, 23,210,184,113, 99, 42, 46, 46,206,162,209,104,154,172, 90,181, 42,
-227,200,145, 35,178,165, 75,151,142,  1,240,214,239, 29,223,201,147,117,173,  0,180, 74, 74,146,  8,173,150, 95,195,159,140,147,
-160,202,241, 29, 73,146,164,116,  0,138, 39, 40,178, 68,  0,188, 27,249,243,213,  2, 30, 84,  0, 60,173,162, 96, 12, 69, 81,221,
- 91,183,110,237,155,158,158, 94, 70,  8, 57, 15, 96, 11,128,252,186,200, 24,134,161, 24,134,193,212,110,229,136,235,193,131,201,
- 84,129,138,138, 10, 60,120,240,  0,105,105,105,184,112, 33,173,190,239,230,107, 30, 30, 30,131, 37, 18, 73,164,217,108,166, 85,
- 42,213,  3,141, 70,115,140, 97,152,117,168,135,143,218,211, 10, 39, 11,185, 92,190,108,254,252,249, 61,189,189,189,113,229,202,
-149, 38, 91,183,110, 93,166, 86,171, 31,203,185, 94, 34,160,191,253,124,197,154,176,176, 32, 31, 92, 77,254, 49,108,201,218,109,
-223,  2, 76, 56, 39, 83,254,250,168,161, 69,236,197,208, 47,132,144, 97, 20, 69,237,175, 41,148,220, 50, 59, 61,230,243, 78, 44,
- 90, 53, 63, 44, 93, 93,104,213,162, 32, 97, 54,155, 67,236, 45, 89,132, 16,228,231,231, 35, 55, 55, 23, 10,133,  2,190,190,190,
- 48, 26,141, 33,174,212, 15, 74,165,178,155,191,191,191, 70, 32, 16,232,181, 90, 45,100, 50, 25, 35, 16,  8,136,245,127, 40,235,
-172, 69,139, 94,175,167,248,124,190,201,211,211,211, 67,175,215,183, 68, 29,190,100,132,144,110,254,254,254, 14,175,233,245,122,
-168, 84, 42,168,213,106,168, 84, 42,232,245,122,  4,  7,  7,195,108, 54,119,170,179, 75,107, 54,183, 11, 12, 12, 68, 94, 94, 30,
-164, 82, 41,114,114,114, 96, 80, 41, 97, 84, 42, 97, 86, 87,194, 82, 81,  1,166,178, 18,140,186, 18, 38,131,  6, 97,205, 91,129,
-157,145, 88,107, 55,220, 96,104,231,239,239, 15,181,250, 55,119, 51, 98, 21, 88,102,179, 25,102,171,115, 52, 59,156, 24, 16, 16,
-  0,118, 70,226,239,  4, 61,128,217, 52, 77,175, 20,139,197,252,105,211,166, 33, 63, 63,191, 90,153,152, 54,109,154,205, 39,171,
- 79,159, 62,167, 37, 18,137, 89,161, 80, 64,175,215, 11,254,174, 47, 61, 69, 81,160, 40,170, 42,143,204,102,  4,  4,  4,168,139,
-139,139, 47,148,151,151,143,175, 15,159,201,100, 98,103,116, 65,171,213,130, 16,130, 43, 87,174, 64, 34,145,  8, 44, 22,203, 13,
-179,217, 44, 19,  8,  4,160,173,206, 95,191, 23,172, 51,  2, 63,  3, 16,110,181, 16,189,134, 42,135,243, 92,  7, 21,137, 75, 73,
-231, 34,167,251,194, 77, 55,153,181, 52,229,162,126,195,145,142,208,175,165,143,232,243,132,238, 65, 62, 29,134,203,213, 50, 17,
- 79,205, 60,232, 16,249,221,167,105, 91, 39, 77,124,205,115,209,162, 69, 17,  1,  1,  1,146,140,140, 12,221,199, 31,127,220,120,
-227,198,141, 20,170,134,233,106,197,195,135, 15,119,207,159, 63,223,111,232,208,161, 77,196, 98, 49, 85, 81, 81,  1,133, 66,129,
-194,194, 66,100,102,102,146,171, 87,175,222,211,235,245,219,221,  9,100,131,  6, 13,214,143, 31, 63,126, 82,231,206,157,  5,172,
-133, 84,173, 86,119, 60,117,234,212,136, 67,135, 14,245, 86,171,213,110,151,203,236,236,236,237, 31,124,240,129,252,249,231,159,
-111, 41, 22,139,233, 39, 17, 78,123,208, 52, 29,236,225,225,129, 99,199,142,193,199,199,  7, 52, 77,  7, 63,110,121,213, 25,153,
-176,208, 16,127,232,206,126,142,150,129, 17,208, 25,153, 48, 78,162,252,125, 44, 90,181,180,245, 93, 89,139,148, 19,177,164,141,
-143,143,159, 79, 81,212,254,248,248,248,249,142, 44, 90,214,159, 22,251,251,236,238,215, 63,105,177,229,214, 66,147, 12,195, 32,
- 55, 55, 23,121,121,121,200,205,205, 69, 73, 73,  9,104,154,  6, 33,196,149,217,103,132,162, 40,230,232,209,163,190, 41, 41, 41,
-234,174, 93,187,150,179,254, 47,102,179,153, 50,153, 76,148,213, 47,134,122,240,224,129,240,204,153, 51, 62, 55,111,222, 12,182,
-246, 86, 25, 39,166,192, 71,206,177,  2,203,126,211,233,116,144, 72, 36,174,169, 14,107, 67,120, 37, 53,181, 74,100,169,148,214,
- 33,195, 10, 88, 42, 43, 64,212, 74,136, 44, 38,136, 64, 64,233, 52, 46,167,159, 61, 88,145,101,180, 10, 45,131,193,  0,147,201,
-  4,134, 97, 96, 54,255, 33,126,229, 95,181,111,223,190,211,238,221,187,167,228,230, 62,218, 22,142, 26, 53, 10,111,189,245, 22,
-102,204,152,113,115,216,176, 97, 87,127,252,241, 71, 76,159, 62, 29, 12,195,116,  0, 80,  1,224,208,223,237,165,215,235,245, 54,
- 11,148, 78,167,131,209,104,  4,220,248,172, 66,205,178,201,230,173,217,108,102,185,169,221,187,119,225,244,233,211,116, 90,218,
-141,240,105,211,226, 88,135,251,223, 59,170, 57,168,154,185, 39,178, 86, 20,  6, 84,249, 63,213,182,164, 66, 83,212, 61,100, 71,
-234,226,124, 28,180, 95,219,254,165,119,223,125,119, 16,170,102, 56,223,127, 76,139,214,243, 34,154,250,122,102, 59, 63,201,172,
-246,254,106, 17,159, 82,221,254,122,190, 42,179,145,151, 58,184,161,204, 16,222,216, 39,116,201,146, 79, 26,220,188,121, 75,255,
-225,135, 31,166,143, 29, 59, 54,104,214,172, 89,173,119,238,220,217, 91,167,211,125,  3,160,188, 54,163,203,136, 17, 35,206,  7,
-  5,  5, 53, 94,187,118,109, 81,118,118,182,175,201,100,146, 27,141, 70, 70,173, 86,103,106,181,218, 99, 70,163,241, 24,128, 84,
-119,  2,235,233,233,217,254,149, 87, 94, 17,148,151,151,131,207,231,195,104, 52,162,168,168,  8, 61,123,246,228,237,219,183,175,
- 77,125, 18,160,172,172,236,243,111,190,249,230,228,230,205,155,  7,123,121,121,117, 22,139,197, 33,  0, 44, 74,165,178, 80,173,
- 86,255, 90,159,112, 86,171,231, 44,150,194,212,212,212,166, 94, 94, 94,120,248,240, 33, 44, 22, 75,225,227,150,  1,137,144,206,
-190,150,188,175, 97,171,128,198, 56,147,114, 30, 18, 33,157,205, 45,245,245,183,  7,235, 67,  5,123,  1,229, 64, 32,165, 36, 36,
- 36, 72, 19, 19, 19,145,144,144,112,195,145, 69,139, 21, 92,  9,  9,  9, 55,216,251,236,238, 79,126,140, 48,214,110,209,170, 77,
- 65,  2, 85,179, 11, 21, 10,133,175,143,143,143, 77, 96,229,229,229, 33, 47, 47, 15, 34,145,  8, 15, 30, 60,128, 72, 36,202,119,
-165, 19, 34,149, 74, 47,117,236,216,177,197,253,251,247,133, 31,127,252,113,195,212,212, 84,175,158, 61,123,182,149, 74,165, 22,
- 66,  8,116, 58, 29,157,158,158,238,177,124,249,242,176,110,221,186, 25,186,117,235,118,121,219,182,109, 90,212,177,254, 21, 69,
- 81, 23,243,243,243,155, 68, 70, 70,178,162,173,154,184,178, 23, 92, 64,213,144, 39,159,207,191, 92, 87, 64,249,124,254,181,219,
-183,111, 15,148, 73,196, 48, 40, 43, 97, 84, 85,194,172, 84,194,162,172,128,165,162,  2, 80, 87, 66,100, 54, 67, 96, 49, 65, 42,
-145, 32, 55, 39,  7,124, 62,255, 90, 93,156, 34,145,232, 90, 97, 97,225, 64, 31, 31, 31, 91, 35,106, 50,155,171, 54,139,  5,  6,
-179,217,102,209, 18,  8,  4,200,206,206,134, 72, 36,186,246,123,151,100,154,166, 45,236, 18, 14,181,196,  3,193,193,193, 76,247,
-238,221, 49,125,250,116, 88, 44, 22,107, 54, 80,253,  0,156, 65,149,127,203, 95, 18,142,196, 45,235,180,174,213,106,161, 82,169,
- 80, 86, 86,198,151, 74,165, 45,194,194,194,206, 27, 12,134,237,102,179,249,219,204,204,204,202,218, 56,173,194,204, 38,186, 24,
-134,  1, 33,  4, 22,139,  5, 38,147,  9, 66,161,144, 57,117, 42, 25,203,191, 88,134,164,111, 55,146, 17, 35, 70, 80,251,246,237,
-  3,195, 48, 57,191,115,244, 13, 86,209, 82, 87,165, 81,115, 73,133,247, 81,247,146, 10,181,113,218,247,254,236,207, 81, 14,238,
-121,  4,239,190,251,238, 97, 84, 13, 25, 22, 91,197,220,227,112,126, 86,190,229, 19,  9,204, 22,181,254,212,102,213,166, 59,149,
-234, 69,155, 86, 92, 50,136,120,149, 93,250,  6,183,107,210,184,  5,207,199,199,151,254,239,186,149, 37, 63,108,220,145,241,240,
-225,195,202, 47,191,252,178, 71,139, 22, 45,188,127,253,245,215,176,218,132,150, 76, 38,107,246,218,107,175,189, 82, 86, 86, 38,
- 76, 74, 74,218,150,159,159,127,  9, 85, 75,203,216,207,160, 30,  6,224,123,171, 16, 13,182,214,115,103,  0,124, 92, 87,127,141,
-162, 40,252,252,243,207,143,204, 14,100, 30, 79,157,251, 68, 69, 69,189,116,255,254,253,211,133,133,133,255,170,121, 81, 40, 20,
- 46,106,222,188,121,204,141, 27, 55, 62,  2,112,208, 29, 98,141, 70, 51,103,199,142, 29,159,242,120,188, 80,139,197,146,247,255,
-236, 93,119, 88, 20,215, 23, 61, 51,219,151,222, 97,  5, 65, 65, 84, 20, 53, 63, 75, 52,177,160,177,196, 88, 18, 19,193, 30,141,
- 49, 26,147, 88, 99,139, 93,212, 24, 53,177, 17,187,198, 32,177, 18, 75, 68, 77,212,216, 21, 27,  6, 27, 54,164, 73,  7,  5, 22,
-182,239,206,204,239, 15,118,201,178,236,194, 46, 26,141,102,206,247,237,183,187, 51,111,206,123,111,234,153,251,238,189, 79,161,
- 80, 76,123,102,139,150,150, 30,181,100,253,238,205, 10, 53,229, 47, 22,112, 50,148, 90,250, 51, 86,135,188,190,214, 44, 61, 10,
-140,172, 81,  5,  0,  8,147,255,137,250,135,145,154, 97, 24, 67,217,  2, 35, 43,150,218,196, 10,102,110, 93,193, 51, 36, 75,103,
- 44,221,227, 44, 89,180,190,  1,240, 38,128, 43,121,121,121,171, 63,254,248,227,239,119,236,216,225, 40,149, 74,145,151,151,135,
-252,252,124,112,185, 92, 56, 57, 57, 97,221,186,117,138,188,188,188,213,198,219,160,106,  6,121,  0, 80,122,120,120, 92,139,137,
-137,241,217,180,105, 19,119,248,240,225,233,189,123,247,110,188,110,221,186, 20, 62,159,207, 80, 20, 69,168, 84, 42, 98,204,152,
- 49, 65, 43, 87,174, 76,227,112, 56,118,  3,  6, 12, 32,236,237,237,175,160,154,180,  1,  5,  5,  5,199, 15, 28, 56,240,225,228,
-201,147,133,106,181,218,172, 37,203,176,204,197,197,  5, 23, 46, 92, 80, 23, 21, 21, 29,171,193,138,113,252,247, 35,135, 59, 13,
- 29, 56,144,175, 45,149, 66, 91, 42,133, 78, 42,  5, 85, 90, 12,162, 76, 10, 30,165,131,152, 79,195,199, 79,  4,157,194,  1,135,
-175, 38,106, 85, 42, 85,181,137, 13,165, 82,233,241,243,209,209,157,223, 12,  8,224, 94, 24, 63, 30, 26,173, 22,239,221,191, 95,
- 33,174, 52, 26, 13, 14, 54,111, 14,138, 32,240,198,232,209,120,168,211,233,164, 82,233,241,127,227,197,112,227,198,141,252, 33,
- 67,134, 36,208, 52,221, 18, 47,104,210,204, 23,  1,173, 86, 91,197, 26, 69, 81, 84,185,213,177,220,114, 32, 56,124,248,112,167,
-164,164, 36,254,173, 91,183,112,238,220,185, 55,118,236,216,241,141,191,191,127,243,140,140,140,220,154,196,155,185,164,191,208,
-251, 31,238,217,185, 23,159,127,254, 57,145,155,155,139, 93,187,118,161,166,228,169,255,  4,134, 15, 87,210,209,209,162,186, 48,
-241,123, 50,147, 82,225, 47, 88,153, 82,193, 18,167,114,120,185,149, 76, 20, 93,158,108, 84, 57,188,124, 56, 80, 20, 93,163,165,
- 12,195,149,195,165,122,135,248,156,231,192, 41,131,142, 18,171,207,236, 44,235,125, 36,163, 52, 62, 71,177, 16,192, 31, 80, 82,
-204,195,235,204,141, 86,173, 92, 61,  0, 64,165,164,124,130,131,131,195,184, 92,174,  0,  0, 28, 28, 28, 90,185,187,187,175,123,
-242,228, 73,  7,115,199,180, 79,159, 62,237,188,188,188,254,119,244,232,209,196,156,156,156,219,  0, 46,155, 22, 10, 10, 10,154,
-125,247,238,221, 54, 60, 30,143,168,225, 28,  1,  0,132,133,133, 53, 18, 10,133,238, 71, 30, 56, 67,202,111,  0,134, 83,  2,112,
- 69,160, 92, 90, 32,157,223,  4,126,126,151,220,139,138,138,222, 40, 41, 41, 73,180,241,208,119,249,240,195, 15,127,138,142,142,
-246, 11, 11, 11, 99,174, 95,191, 78,154,142, 34,  4,  5,  5,245,136,143,143,111,249,217,103,159,109,216,189,123,247, 23,168, 28,
-105, 91, 19,210,245,249,  6,159, 27,142, 39,227,  4, 64,  5,232,109,102,172, 66,249, 15,192,150,148, 11,207,144,158,225,153,154,
-104,209,128, 97, 97,249,155,250,156, 88,111,106,181,218,191,110,220,184,113,112,192,128,  1,101, 79,158, 60,129,187,187, 59,234,
-213,171,  7,130, 32,176,110,221, 58, 69,106,106,234,175,250, 92, 90,111,102,103,103,191,175, 23, 91,230, 80,186,102,205,154,221,
-219,183,111,119, 73, 72, 72,224,232,116, 58,167,198,141, 27,203, 47, 94,188,232,192,227,241, 24, 62,159, 79, 39, 36, 36,216,  5,
-  5,  5, 41,  9,130, 16,254,249,231,159, 79, 46, 93,186,228, 63,117,234,212,173,168, 28, 38,110,138,157,139, 22, 45,202, 74, 73,
- 73,129, 74,165,130, 84, 42, 69, 73, 73, 73,197,167,184,184, 24, 37, 37, 37,224,241,120,200,205,205,197,190,125,251,114,244, 89,
-226,171,179,108,172,253,113,221,250,130,156,140,116, 56,217,137,161,147, 22,131, 42,121,  2,148,150, 64,160,213,192,158, 71,161,
-110,  3, 49, 68,118, 78,200,147,150, 33,250,226,213, 92,125,150,120,203,230,  2,181,122,237,184,149, 43,243,116,124, 62,  2, 34,
- 34,160,209, 15, 21, 26, 11, 45,138, 32,224,223,181, 43, 72,103,103,124,251,235,175,121,250, 44,241, 47, 20, 52, 77,115,212,106,
-117,117,253,  0, 77,211,153, 73, 73, 73,187,  1,156, 38,  8,130, 33,  8,130, 65,121,178,182,178, 87,249, 66,214,106,181,152, 59,
-119, 46,248,124, 62,230,206,157,139,121,243,230,225,251,239,191,199,250,245,235,241,203, 47,191,224,240,225,195,245,207,159, 63,
-207, 63,123,246, 44,179,100,201,146,194,160,160, 32,206,232,209,163, 93,196, 98,241,164,234, 56,167, 77,155,  6, 71, 71, 71, 76,
-155, 54, 13,203,150, 45,195,150, 45, 91,112,240,224, 65, 92,184,112,  1, 28, 14,135,206,204,124, 12,165, 82,201,172, 89,179, 38,
-235,224,193,131,138,213,171, 87,131,203,229, 18, 47,233, 38, 49, 73, 47,168,140, 45, 65,166, 41, 21,158,  0, 88,133,154,125,163,
- 44,113, 66, 20, 29, 93, 87, 47,142,146,141,  4,209, 33,  0,147, 81,125,120,181,129,227, 11,  0, 62,207,129,115,150,120,200,156,
- 36,151,205,247, 30,197,231, 40,102,  1,248,221,208, 39, 39, 39, 39,241,254,253,  7,184,  0,240,107,236, 62,222,253,251,247,157,
- 15, 28, 56, 32,242,242,242,194, 47,191,252, 34, 18,139,197, 94, 22, 56,169,131,  7, 15,170,  4,  2,129,251,168, 81,163,122,182,
-105,211,102,162,254, 69,180, 43,128,166, 40,143, 94,236,254,232,209,163, 59, 30, 30, 30, 15,142, 29, 59, 38,179,230,  0,149,150,
-150,110,253,249,231,159,235, 61,165,220,112, 68,246, 33,162,233,229, 56,236,242, 19,210,  3,230,193,174, 78,107, 12, 30, 60,184,
- 14, 69, 81,155,109, 60,238,131,251,245,235,247,115,116,116,180,223,168, 81,163,114,175, 95,191,158,  7, 32, 26, 64,140,241,231,
-238,221,187,133, 31,127,252,113,206,230,205,155, 37,  3,  6, 12, 88, 15,160, 63,251,232,103,193,162,242,187, 16,106,138, 58, 52,
-243,192,173,248,157,159,159,191,166,168,168,232,194,195,135, 15, 39,168,213,106,  9, 65, 16, 12,159,207,207,205,203,203, 91,109,
-148,176,212,156, 95, 73, 55,232,115,109, 16,  4,161,101, 24, 38,179, 75,151, 46,147,186,118,237, 26, 21, 23, 23,167,236,220,185,
- 51, 98, 99, 99, 61,186,116,233, 34,167,105,154, 57,114,228,136,199,187,239,190, 43, 63,125,250,180,108,204,152, 49,141, 27, 54,
-108, 56,122,218,180,105,  5,  4, 65,208,230, 56, 13,207,178,226,226,226,126, 61,123,246,188,240,235,175,191, 58,185,184,184, 64,
-167,211, 65, 46,151, 67, 46,151,131, 97, 24, 56, 59, 59,163,160,160,  0, 11, 23, 46,148,150,148,148,124, 96, 70,184,153,114, 42,
-149, 74,101,255, 47, 38, 78, 62,190,122,193, 92, 71,255,250,245,241,228,158, 18, 58,165, 28, 60,134, 68,221, 70,206,224, 11,196,
-120,120,191, 20, 83,118,239, 47, 85, 40,149,225,102,222,150,171,112,150,148,148,244, 31, 62,111,222,137, 13, 83,167, 58,252,207,
-219, 27, 28, 14,  7, 42,149, 10, 20, 69,129,199,227, 33,116,248,112,240, 61, 61, 49,123,247,110,153, 84, 42,237,143,170, 83,241,
-152,114, 62, 15, 24,115,126,113,227,198,141,143, 67, 66, 66, 48,118,236, 88,244,235,215,175, 82,193,  3,  7, 14, 96,253,250,245,
- 80,169, 84, 31,  3,184, 14, 96, 29,202,135, 58, 96, 34,178,254,233,118, 62,119, 78,138,162,138,238,223,191,239,180,124,249,114,
- 66,163,209, 96,193,130,  5, 48,  8, 78,195,121,253,229,151, 95,214,113,116,116,196,252,249,243,213,133,133,133,239, 44, 91,182,
-236,100, 76, 76,140,199,214,173, 91,  7,  3,152,102,202, 73,211,116,254,205,155, 55, 29, 55,108,216, 64,234,116, 58,172, 88,177,
-162,202,240,228,200,145, 35,161,209,104,193,225,112,213, 74,165,170,169, 88, 44, 78,118,119,119, 23, 51,149,157,187, 94,228,254,
-244, 69,121, 10,  3, 99,199,119,181,177,127, 22, 44,167, 84,176,133,179, 64, 20, 29,221, 89, 57,124,248,105,189, 32, 74,210,151,
-137, 53,152,244,109,224, 52,  8,194,218,112, 30,215,127,106,132, 82,169, 68, 65, 65,  1, 10, 11, 11,225,226,226,  2, 14,135, 67,
- 88,106,167, 74,165,186, 53,101,202,148, 27,155, 55,111,238, 22, 31, 31,223,247,236,217,179, 93, 78,156, 56,161, 76, 79, 79,215,
-105,181, 90, 70, 34,145,112, 59,116,232, 32,234,213,171,151,189, 80, 40, 36,103,205,154, 85,184,120,241, 98, 15, 84,246, 97, 51,
-237, 59,135, 32,  8,124,221,169, 20,211,186,112,160, 86,107, 80, 92, 92,140,172,172, 76,220,185,115,  7,241,241,247,192, 48, 12,
-105,195,113,119,  7, 48,107,215,174, 93,190,  2,129,128,216,189,123,119,157,221,187,119,215,104, 73,221,177, 99, 71,157, 61,123,
-246, 68,234, 71, 47, 50, 95,197,235,157,229,252,215,114,190,202, 48,205, 12,143, 26,133,150,254, 62,255, 38,244,147,146,106,181,
-218, 43,102, 82, 56,124,  3, 96,174,145, 21,172, 38,115,158,148, 97,152,115,221,186,117,251,178,107,215,174, 43,123,244,232,145,
-147,147,147, 19,184, 98,197, 10, 63,157, 78,167,185,115,231, 14,153,156,156,156,126,237,218,181,  6, 13, 27, 54, 28,125,247,238,
-221, 51,  4, 65,104,172,232,224,157,228,228,228,246, 93,186,116,217, 55,122,244,104,255,118,237,218,  9, 92, 92, 92,192,229,114,
-145,146,146,130,196,196, 68,245,158, 61,123, 50,139,139,139,109,153,130,231, 74, 90, 86, 86,247,  1, 95, 77,248,117,116,191,190,
- 30,109, 27, 55, 18, 72, 36, 18, 64,161,192,189,140, 92, 92,186,151,168,217,114,238, 82,129, 74,165,234, 15,235,167,224,185,114,
-237,225,195,110,239, 76,157,250,107,228,208,161,222,200,201,225, 74, 36, 18,  8,  4,  2,164,166,166, 34,153,166,117, 75, 55,110,
-204,211,139,172, 23,157, 21, 94,  8, 96, 57, 77,211, 92,  0, 16,139,197, 24, 55,110, 28,140,167,220, 89,191,126, 61, 20, 10,  5,
-  0,112,  9,130, 88, 14,224,167, 87,221,138,101,192,211,167, 79,103,191,247,222,123, 75,184, 92,174,197,172,183,174,174,174, 40,
- 45, 45,133, 78,167,163,178,178,178,238,185,186,186,130,199,227,129, 97, 24,179,215,209,147, 39, 79,102,247,239,223,127, 17, 73,
-146,150, 44, 31,112,114,114, 74, 63,121,242,100,240,103,159,125, 70,110,219,182, 45,101,212,168, 81,194,147, 39, 79, 82, 12,195,
-236,123,209,251,160, 99,199,157,192,134,225,225,  0,194,129, 42, 14,239, 89,250,101, 54,165, 84,232,216,113, 39, 54,224,111, 78,
-227, 97, 60,131, 32,210, 91,161,154,136,162,163, 87,162,220,207,162, 90,238,142, 59, 59, 98,195,112, 60, 87, 78,107, 96,172,125,
-101, 50, 25, 40,138,170,206,154,247, 87,108,108,236,202,107,215,174,121,126,249,229,151,129, 67,135, 14,117,234,210,165,139,131,
-113,  1,133, 66, 65, 31, 58,116, 72,182,126,253,250,146,115,231,206,165,141, 28, 57,178, 93,117,237,204,200,200, 56,252,237,183,
-223, 58,247,234,213,171, 33,128, 10,255,172,130,130,  2,164,167,167,227,214,173, 91,233, 26,141,230, 55, 27,186,244,  4, 64,228,
-160, 65,131,150,111,223,190,189,206,168, 81,163,114,247,236,217,115, 11,229,  9,139, 77,225,210,175, 95,191,230,219,183,111,151,
-140, 26, 53, 42, 23,229,126,100,153, 96,193,130,133,  1,157, 81,213, 79,171,218,145,137,159,213,106, 53,163, 84, 42, 25,185, 92,
-206,148,149,149, 49, 48, 63, 11,252,193,236,236,108, 38, 51, 51,147,201,200,200, 96,210,210,210, 24,  0,191,152, 40, 94,115, 55,
- 44,251, 29, 59,118, 52,240,245,245, 93, 96,103,103,247,  7,135,195,145,114, 56, 28,169, 80, 40,252,221,221,221,125,222,210,165,
- 75,125, 25,134,225, 87,163,162, 45,129,203,227,241, 62,243,242,242, 58,232,230,230,150,233,234,234,154,233,229,229,117,144,199,
-227,125, 14,128, 87,131, 50,183,  4, 17,151,203,157, 98,111,111,127, 92, 40, 20,230, 11,133,194,124,123,123,251,227, 92, 46,119,
- 10,170, 79,164, 90, 45,167, 64, 32,152,226,233,233,121,220,201,201, 41,223,201,201, 41,223,211,211,243,184, 64, 32,120, 22,206,
-103,121, 43, 49,  8, 45, 57,163,  7, 65, 16,218, 55,222,120, 99, 67,203,150, 45,215,181,108,217,114, 93,139, 22, 45, 54,233,173,
-146,140,222,218, 34,135,229,228,141,255,100, 59, 95, 26,103,104,104,104,204,246,237,219,233,217,179,103, 75, 27, 54,108,248,116,
-246,236,217,210,237,219,183,211,161,161,161, 49,181,229,244,246,246, 14,  8, 13, 13,125,186,121,243,102,221,253,251,247,153,205,
-155, 55,235, 66, 67, 67,159,154,100,134,127, 17,125, 39,  0,  4,233,173, 63,191,  1,216,139,114,231,119, 95,  0,196,112,229,112,
- 70, 31,125,248,  7,128, 30, 22,142,189,181,156,126,202,225,195, 25,189, 79,213, 49,  0, 73, 70,255,195, 80,217,255,235, 69,112,
-154, 69,211,166, 77, 31, 50, 70, 80,171,213, 76, 65, 65,  1,115,255,254,125,230,220,185,115,140,159,159,223, 67, 43, 56,221,  1,
-140,  1,112,200,199,199,231,238, 91,111,189,149,209,190,125,251,140,128,128,128, 20, 30,143, 23,143,242, 12,239,161,250,207,114,
-  0, 13,107,224,124,203,197,197,229, 91, 63, 63,191,223,130,131,131, 47,212,171, 87, 47,222,205,205, 45, 78, 36, 18,125,135,191,
- 51, 99,219,122,206,119,249,240,195, 15,211,203,202,202,168, 86,173, 90,221, 53,183, 81, 72, 72,200,249,178,178, 50,106,224,192,
-129,153,  0,250,252, 23,174,119,150,243,165,112,254,167, 16,172, 23, 76,  7,141, 62,223,152, 41,247,141, 73,153,159,245,219,214,
-120, 32, 24,134,225, 48, 12, 99,207, 48,140, 51,195, 48,110, 12,195,184, 48, 12,227,192, 48,140,176,  6,243, 55,123, 98,255,115,
-156, 95,232,  5,148, 92,255,219, 20, 53,173,127,173,247,167,175,175,175,107,155, 54,109,190,218,191,127,255,148, 71,143, 30, 77,
-217,191,127,255,148, 54,109,218,124,229,235,235,235,250, 44,237,244,246,246, 14,104,210,164, 73, 84, 72, 72, 72,102,147, 38, 77,
-162, 76, 68,214,139,236,187, 64, 47, 98, 66,244,159, 64,253, 50,  2,229,185,176,214,234,133, 77,144,133, 55, 53, 91, 56, 13,124,
-191,  1,120, 87,255,249, 77,191,204,239, 37,112, 86, 65,253,250,245,143, 54,111,222,252, 97,139, 22, 45,146, 91,180,104,241,176,
-105,211,166, 15, 27, 55,110,252, 48, 40, 40,232, 97,221,186,117, 31,122,120,120, 28,173,197, 49,114,  3, 32, 65,213,105,192, 94,
-246, 57,223, 57, 52, 52,244,146, 72, 36, 50,155, 27,140,203,229, 70,182,104,209,226, 38,202, 35, 37,217,251, 39,203,201, 10,173,
-127, 17,216,147,240,213,227, 20,162,250,105, 70,106, 90,207,238,207, 87,155,211,236, 92, 93,122, 33, 19,168, 23, 56,130,231,192,
-105,204,103, 56,167,130,140, 68,211,203,224,100,207, 37,150,147,229,100,133,214,115,  7,151,221,  5, 44, 76,160,122,198,245, 44,
- 94,109,216,146, 19,235, 89, 56,205,241, 61,122,201,156, 44, 88,176, 96,241,188,238,157,157,  1,156, 49,188, 21, 90, 82,165,182,
- 68, 19,212, 70,217,158, 96, 57, 89, 78,150,147,229,100, 57, 89, 78,150,243, 63,199,105,192, 74, 11,203,239,153,252,223,244,138,
- 10,175, 23,146,166,135, 53,171,178,156, 44, 39,203,201,114,178,156, 44, 39,203, 89, 91,140,126, 69, 69, 86,152,225, 15, 59,116,
-200,130,  5, 11, 22, 44, 88,176, 96,241,252, 80,115, 30,173,189,123,247,114, 12,191,  7, 13, 26, 52,146,162,168,175, 12,255, 57,
- 28,206,143,187,118,237,250,169,186, 26, 34, 34, 34,168,234, 56,205,161,166,122,204,113, 54,109,232, 52,214,221,217,110, 66,113,
-137,124, 85, 74, 54,117, 78,169, 84, 54, 49,172, 19,137, 68, 73, 63,253,244,211,131,231,221,206,145, 35, 71, 54, 52,173,167,158,
- 31,175,179,155,163,104,220,211,226,178, 21,183, 31,150,109, 98,207,177,151,  2, 15,  0,125, 28, 69,252,247,155,186,240,223,186,
-245, 68,121, 81,166,161, 14,161, 60, 26,182,232,117,236,176,143,143, 79, 99, 39, 39,167, 97,  0,154,202,229,114, 47, 59, 59,187,
-124,  0,119,164, 82,105, 76,110,110,238, 61,107,121,194,234, 33, 29,128,191,254,111,198,153, 52,  4, 88,179,174, 38,244,  8,130,
-146,  1,132,  4,  1,205,177,228,191,157,209,223,109,  0, 37,205, 84, 93,222,163,  1,212, 12,  3, 62,  1,168,142, 61,130,232, 53,
- 58, 84, 78,  0,186,163, 60,133,195, 13,148,167,159,144,179,151, 44, 11, 22,175, 21, 76,135, 10, 43,254,115, 45,136,137, 78,124,
- 46, 17,197,128,113,  1, 24,119,149, 74,197, 19,  8,  4, 80,171,213,176,179, 19,175, 29, 51,106,228,  2,144, 40,214,234, 48,238,
-167,159,126,170,245, 76,215,182,212,  3,224,148,233,246,174, 78,226, 69,167, 15, 77,119,237,212,123,233,119,234,212,194,105,165,
-165,165,164, 80, 40,132, 74,165,130,179,179,115,251,177,163, 71,183, 34,121,140,154,207,183,191,184,114,229,202,220,218,182,115,
-210,164, 73, 62, 26,141,242,109,154,166,  5,106,181, 90,104, 90,143,179,157,253,210,211,135,166,219,133,245,249,110,  1,192, 10,
-173,151,  0, 65,128,171,253,153, 85,131, 58,135,188,213, 52, 24,244,157,179, 80,170, 53,239,159,206, 44,123,127, 94,124,246,228,
-204, 50, 77, 75, 60,135,132,149,255, 34,112,  2,  3,  3,191,244,244,244, 28,184,113,227, 70,126, 96, 96, 32, 68, 34, 17, 20, 10,
-133,228,209,163, 71,146,177, 99,199,134,137,197,226,221, 41, 41, 41,107, 97,221, 68,112,254,167,127,158,  3,  0,104, 63,108,161,
- 63,202, 39,139,150,155,174,235, 60, 98,161, 63,128,169,168, 60, 49,114, 14,202, 83, 40,152,187,235,  8,226,182,127,143,247, 63,
-158,194,  5, 48,182,162,241, 36,240,251, 47,171,209,115,208,132, 74,203,  9,  6,220, 67,219,191, 71,159,143,167, 88,156, 71,241,
-221, 96, 66, 75,211,140, 69, 75, 60, 73, 18,186, 63, 30, 50,230, 38, 24,206, 67,121, 14,176, 42,148, 40,159,208,217,108,249,222,
-141, 57,121, 26, 45,101, 54,225, 44,159,199,201, 63,124,143,170,178,237,240,255, 65,171,165,202,239,173,124, 46,168,131, 41,206,
-167,103,205,154,197,237,211,167, 15,182,108,217,210, 97,211,166, 77,163, 75, 75, 75,255,212,239,183,100,246,242,101,193,226,181,
- 22, 92,230,133, 22,151,131, 13,191,253,250, 83,131,188,252, 66, 12,255,236,107,236,220,185, 19, 69, 69, 69,112,117,117,133,128,
-207,231,173, 90, 62,199,199,201,201,222,103,248,232,105, 27,  0, 52,174,109,107,108,172, 39,216,116,123, 66, 63,149, 14,151, 67,
-242,  4,  2,  1,185,123,247,110, 20, 23, 23,195,197,197,  5,  2,  1,143, 92,249,221, 55, 98, 39, 39,  7,241,167, 95,204,232,128,
-242,252, 63,181,130, 90, 93,214, 97,255,206,159,156, 10, 10, 10, 48,226,243,105, 48,173,135,207,231, 83,134,  7, 11,123,142,189,
- 20,204,218, 56,238,227,144,102,142,128,230,246,  5,240, 56, 28,216, 57,187,162, 59,151,  3, 14,129, 38,195,255, 72,155,  9, 96,
-222,235,210,217,192,192,192, 47, 35, 34, 34,  6, 46, 90,180,136, 79,146,229, 41,231,100, 50, 25, 20, 10,  5,124,125,125,113,250,
-244,105,254,236,217,179,  7, 30, 56,112,  0, 41, 41, 41,107,108,229,191,125,251,118, 61,127,127,127, 37,  0,244,109,238,104,186,
- 46,192,176, 14,  0, 28, 29, 29,107,228,115,119,177, 87,221,190,125,169,169, 97,187, 47,187,250, 82, 22,150, 43,  1,216, 85,199,
- 69,211, 12,247, 88,212, 88,139,235, 63, 91,180, 67,119, 99,239,185,198,129,129,129, 10,227,229, 14, 14, 14,150, 54,241, 46, 43,
- 43,243, 55, 93,104, 40,175,209, 82, 94,150,234,235, 49,110,189, 89,  1,166,165,192,221,177, 99,  7,  0,224,135, 41, 67, 56,155,
- 47, 23,114,185,220,242, 91,237,242,229,203, 17, 25, 25, 41,248,227,143, 63,122,109,223,190,189,215,193,131,  7, 87, 89, 18,170,
- 44, 88,176,120, 37, 69,150,241,183,101,161, 69, 18,132,163,147,163,  3,194,  7,143,193,209,163,191,163, 83,167, 78, 21,235,234,
-215,175,143,136,254, 31, 96,215,207, 43,  1,192,241, 89, 90,244,172,245, 20,149,200,230,245, 28, 24,181, 48, 35,183, 44, 62, 46,
- 46, 14, 29, 59,118,172,180,253,224,  1,225,248,101,235,114, 84,147,101,222, 42, 16, 12,201,119,116,178,199,160,225,159,195, 92,
- 61,163, 71,244,139,123, 55, 98,117,183,188, 39,178,149,236,121,246,226,209,192,199,189, 71,243,144,198, 40,218,183, 22,137,197,
- 74, 28,205, 86,226,211,238,109, 17,234, 38, 70, 71, 29,  5, 31,123,222, 59,185, 50,237,107,109,100,132,121,  0,  0, 32,  0, 73,
- 68, 65, 84, 33,180,124,124,124, 26,123,122,122, 86, 18, 89,165,165,165, 40, 43, 43,131, 84, 42, 69,105,105, 41, 72,146,196,180,
-105,211,248,103,206,156, 25,232,227,227,115,194,138, 97,196, 12,189, 37, 11,224,240,202,230,206,157,171,242,242,242, 82,217,217,
-217, 49, 92,190,176,180,243,136,133,142,  0, 64,114,249,165,171, 86,173, 82,251,250,250, 42,185, 92,174, 96,194,132,  9,164, 53,
-109, 86,169, 84,140, 49,167, 90,173,170, 88,190,116,233, 82,181,183,183,183,202,206,206,142,209,104,172, 55, 58,222, 76,125, 10,
- 33,159,  3, 33,159,  3,145,128,  7,199,122,109, 32, 44,186,  5,157, 78,135,101,203,150,105,124,124,124,212,118,118,118,140, 64,
- 32,224,143, 31, 63,190,198,118,142, 28, 57,146,113,113,113,209,216,217,217,241, 35, 35, 35,171, 68, 10,157,188,145,  5,177,128,
-  7, 59, 33, 23,193,245,253, 32,100, 20, 86,183,149,195,169,236,141, 32, 20, 10,209,161, 67,  7, 52,109,218, 20,  7, 15, 30,236,
-204, 10, 45, 22, 44, 94, 11, 88,140, 48,228,  2, 64, 92, 92, 92, 24,202, 39, 68, 68,159, 62,125,136,242, 45, 24, 76,253,178, 63,
- 62, 29, 49,  8, 20, 69, 87,204,243, 69,144,  4,190,248,164, 23,104,218,154, 17,137,154, 67, 60,107, 81, 79,  5, 39, 67,144, 28,
-  0,104, 16, 32, 97, 70,127, 58, 20, 20, 77,255, 61, 80,194,  1,198,140,232, 89,190,236, 57,180,147,  3, 10, 95,143,253,  8,230,
-234,105,220,160, 14,169,211, 40, 65, 84,158,236,241,159,152,108,147,229, 52,131,166,117, 37, 65, 90,133,  2, 74,165, 22,209,247,
-158, 42,142,103,201,188, 72,151,180,130,213,225,237, 68,156,130,108,  4, 56, 10,130,115,101,218,215,162,239, 78, 78, 78,195, 54,
-110,220, 88, 69,100,229,229,229,145,101,101,101,208,104, 52,116,105,105, 41, 40,138,194,140, 25, 51,120,179,103,207, 30,150,155,
-155, 27,105,208, 60,230, 56,245,126, 87, 83,111,223,190, 29, 48,107,214, 44,205, 59,239,188,147, 81,191,126,125, 25,135,195,129,
- 68, 34, 89,221,189,123,119,183, 69,139, 22,105,122,245,234,149,198,225,112, 16, 28, 28, 44,187,117,235, 86,  0,  0,177,181,125,
- 55,230,252,233,228,143, 12,  0, 16,  4,129,238,221,187,167,  7,  7,  7,203, 56, 28, 14, 30, 28, 90,202, 88,187, 63,121, 92, 18,
- 13,125,157,245, 55, 17,  2, 16, 59, 84,120,226,117,239,222, 61,179,113,227,198,101, 36, 73,226,230,205,155,126,168, 58,173, 85,
- 21, 78,177, 88,172, 29, 60,120,112,198,189,123,247,204,149,  7,151, 67,162, 93, 99,189,  1,203,183, 37,144,121,222, 98, 59,121,
- 28,232,102,127, 57,132,235, 34,  2,132,142, 30, 42,169, 84, 10, 39, 39,167,114, 11,153, 70,131,191,254,250, 11,111,189,245, 86,
-216,222,189,123,207,176,215, 59,203,201,114,254, 13,115, 90,228, 21,180,102, 25, 79,116, 95,201, 71,235,180,105,167, 40, 74,135,
-250,254,222, 88, 58,103, 36, 40,138,  6, 69, 81,208,233,191, 41,138,130, 86,163,121, 46, 45,123,150,122, 92,157,196,139,126,223,
- 61,206,245,157,126,203,187, 46,153, 53,226, 56, 69,  1, 52,173,133, 86, 11, 80,180, 22, 52, 69, 65,171,125, 62,174, 57, 90,154,
- 70,128,159, 15,150,204, 26,  1,211,122, 98,118,237,237,123,242,183,105,118,157,250,124,247,245,131,116,249, 50, 86,216,191, 88,
-136,248, 66, 46,195, 21, 65,173,214,161, 84, 77,171,  1,200,148, 90, 90,195,216,123,136,  0,128, 75, 18,175, 83,116,109,211,192,
-192,192, 74, 34,235,251,239,191,247, 88,183,110,157, 47,  0,244,239,223, 63,171,107,215,174,133,247,239,223,135, 68, 34, 33, 10,
- 11, 11,123,  3,152,160,223,118, 42,128,117, 22,120,101,254,254,254, 74, 79, 79, 79,149, 65, 16,145, 36,  9, 46,151, 11,127,127,
-127,165,151,151,151, 42, 56, 56, 88,198,231,243, 65,146, 36, 12, 66,207,170,215, 60,130,  0,135,195,129,129,211,212,218, 99,224,
-180,  5, 60, 46, 89,245,246,102,196, 73,146,164,217,250, 44,158, 67, 34, 17,  3,192, 98,121, 14,105,116,123,228, 86,239, 33, 16,
-253, 23,120,  0, 78, 51, 12,131,235,215,175, 35, 37, 37,  5,124, 62, 31, 62, 62, 62,136,140,140,132, 74, 85,174,119, 35, 34, 34,
-194,  0,220,100,175, 96, 22, 44, 42,112,250, 21, 20, 88,166, 86,173,234,125,180,226,226,226,194,250,244,233,115,198, 32,128,202,
-197,142, 25,241,163,213, 65,171,213,  0, 12,243, 92,132,150,165,122, 40,138,174,182, 30,131,143, 22, 77, 51, 92,179, 34,139,166,
-161,211,106,159,203,222,163, 41, 45,104, 90, 11,115,245, 16,  4, 73,233,111,248,124,246, 58,121,241,240,241, 15, 32,181,254,245,
-113, 78,167,132,175,187, 80,128, 66,  5,  2, 27,133,112,254,146,107,113,225, 70, 18, 60, 28,156, 94,155,227, 34,151,203,189, 68,
- 34, 17,100, 50, 89,133, 37,107,221,186,117,190,106,181,154,  4,  0, 46,151,231, 87, 64,251,138, 40, 26,112,118,202, 65, 81, 81,
-137, 59,195, 48,132, 94,240, 44,  7,240, 19,170,201,238,207,231,243, 43,  4,138,177,  0, 18, 10,133,181, 18, 48,  6, 24,196, 25,
-159,207, 55,187,220,116,120,173, 38,240,141,133, 22,152,114,171,150,137,216,226,112, 56, 48,248, 70,213,  4,129, 64, 80,209,119,
-115,224,114,140,234,227,216,238,138,169,209,104, 80, 86, 86,134,226,226, 98,136, 68,229,  6, 51,134, 97, 64, 16,196,  4,  0, 19,
-217,171,152,  5, 11,243, 90,228, 21, 22, 91,230,133, 22,202, 77,118,  4,  0,232,180, 26,179,226,103,239,161, 11,200,200,149,193,
-199,227, 10, 24, 27,179,158, 14, 28, 56,240,103,137, 68,210,206,240, 95, 40,118,112, 31, 61,110, 62,116, 58, 13, 28,197, 36, 62,
- 27,214,179,146,200, 42,183,104,169, 45,206,  9, 82, 84, 34,155,215, 51, 98,205, 66,103, 39,247,120, 83,241,179, 36, 58, 33,188,
- 72,170,242, 35,201,171, 40, 34, 36, 84,196,152,249, 35,141,110,238, 55,118,175,159, 59,217,106,123, 32, 65,242,194,199,174, 30,
-205,112, 29,154,216,145,165,103,167,143,104,187,223, 88,204,185,185,185,197,245,  8, 95,213, 45,239, 41,235,163,245, 50,224,232,
-236, 66,250,181,238,140,214, 19,162,112,242,155,233, 12, 80,  4,119,137, 47,217,229,203,197,112,104,221, 23,151, 62, 27, 70,  3,
- 79, 95,139,190,218,217,217,229,203,229,114,137, 66,161,128, 84, 42,133, 84, 42,173, 44,  8,120, 60, 98,244,231, 95,121,240,248,
-  2,104, 53,106, 28,141, 89, 92, 35,167, 33,133, 67,223,230,142,224,240,  4,165,119,  2,  3, 87,115,185, 92,144, 36,137, 67,107,
-167, 79,216,183, 98,156, 35,  0,220,136, 91, 43, 29, 52,237,199, 53, 36, 73, 66,165, 82,  9,109,105,247,227,199,143,253, 84, 42,
-149, 82, 47,208, 12,194, 15,169,169,169,117, 85, 42,149,194,120,185, 53, 16,219, 57,  2, 46,245,  1, 59,175, 42,214,179,180,180,
-180, 58, 90,173, 86,206,229,114,161, 86,171,173, 82, 69, 36, 73,242,111,222,188,233, 71,211,180,217,242, 77,131,234,  0, 62,205,
-  1,129,179,213,125,102,172,120, 17,213,139,173, 23,150, 65,154,  5,139, 87,197,178,245, 10, 94, 19,132,133,223, 21, 66,171,115,
- 92, 92, 28, 99,252,134,168,211,106,245, 34,235,111,209, 67, 81, 52,178, 11,148,184,127,255,  1, 86,173, 90,133, 11,151,166, 56,
- 47, 90,180, 72, 56,123,246,108,213,192,129,  3, 87,208, 52,221,130, 36,201, 27,248,123,168,162,178, 85,136,166,235, 38, 36, 36,
-  4, 26,254,107,181, 90, 56, 58, 58,194,209,209, 17,141,131,253,170,136, 44,138,162,160,169,102,232,208,224,163, 69, 48, 52,163,
-213, 82,160,104,186, 66,252, 20, 73, 85,126,191,157,184,222,192,168,120, 35,195,143, 14,109,154, 88, 22,131, 99, 35, 43,250,177,
-123,253,220,201,139,182,108, 17, 22, 81,158,227,  7,133,127, 26, 26, 49,104, 24,  6,127,244, 94,152, 74,173, 62,200, 33, 25, 90,
- 91, 81, 31, 72, 48, 48,245,209, 98,241,130,144, 92, 44,211,242,132, 98, 56,248,212,195,131, 50,138,207,225,112,174, 60, 42,150,
-243, 73, 14, 23, 36,151,143, 59, 69, 74,237,107,212,221, 59,201,201,201,146,186,117,235, 66, 42,149, 66,167,211,209,253,251,247,
-207,226,114,121,126, 92, 30,143,232, 51,232, 43, 58, 55, 55, 91, 75,146, 28, 48, 12,133,247, 34,198, 18, 66,145,152,175, 81,171,
-117, 40, 31, 58, 52,103,205, 50, 78,225,224,216,189,123,119, 55, 67, 36,224,190, 21,227, 28,141,214, 57,181,106,213,202,205, 56,
-234,208, 74,107, 17, 49,112,224, 64,177,191,191, 63,  1,  0, 87, 99,102, 25,172,103, 68,223,190,125, 69,254,254,229,126,248,127,
-174, 29,103, 53,167,135, 29,  3,148,164,  2, 37,105, 85, 44, 89,125,251,246, 21,  6,  6,  6,218,116, 45,234, 29,224, 45,230,238,
-178,231,234,128,220,235, 86,113, 13,255, 31,180,190, 14,224,174,120,143,132,192,193, 93,213,110,250, 31,151, 89,177,197,130,133,
- 85, 48,209, 34,175, 20,194,244,  2,177,179,254,187, 66,112,113,  1, 64,111,162, 35,140,116, 22,180, 58, 77, 21,145, 69, 81, 20,
-120,132, 10,171, 86,173,194,196,137, 19,  1,128, 63,121,242,228,253,139, 22, 45,250,144,166,233, 22, 12,195,116, 36,  8,162,186,
-183,198,211, 18,137, 36,143, 97, 24, 30, 73,146, 29,215,174, 93,235,214,171, 87, 47, 56, 58, 58,130,161,153, 42, 34,139,162,104,
-104, 52,106,139,211,220,186, 58,137, 23,253,190,119,188,235, 59, 31, 44,239, 74,209,244,113,131,200,162, 41, 10,160,203, 55,122,
-146,159,133, 99, 71, 15, 98,195,250, 13, 69, 32,152,187, 96, 64,235,197, 32, 44,136,193, 22,231,175, 38,117,236,208,166,  9, 22,
-109,217, 34,188,157,144,179,255,171, 73, 51, 67, 35,  6, 13,195,222, 93, 49, 32,117,197,215,141, 69, 22,165,165, 81, 82, 84,216,
-247, 20,235,163,245,178,224,118,236,248,113, 98,216,176, 97,116,105,105, 41,248,  2,  1,173,213,106, 57,111,191,253, 54, 53,113,
-226, 68, 50, 55, 55, 23,210,210, 50, 46,  0, 55,188,  6,102, 45,169, 84, 26, 51,118,236,216,176,179,103,207,242, 73,146,132, 84,
- 42, 69,151, 46, 93, 10, 11,104, 95,209,232,207,191,242,200,206,206,210, 57,137,185, 42, 62,159,135,252,252,124, 58,172,215, 16,
-197,160,145, 19,235, 76,156,181,100, 99,206,197,245,235,172,169,195, 56, 18,208,116,221,230,205,155,213,190,190,190, 74,161, 80,
- 40, 24, 49, 98,132, 85,227,135,106,181,154, 89,186,116,169,202, 52,186, 80,173, 86, 51,171, 86,173, 82,251,249,249,169,196, 98,
- 49,163,213,214,236,247, 73,146,132,238,179, 69, 59,116, 58,157,174,146, 21,203, 32,178,180, 52, 81, 22, 21, 21,165,241,243,243,
- 83,219,217,217, 49, 66,161,144,111, 77, 59,191,250,234, 43,198,213,213, 85, 99,111,111,207,159, 54,109,218, 51, 69, 29,106, 41,
-112, 23,173,173, 72,239, 32,116,116,116, 68,105,105,105, 69, 91, 37, 18,  9, 43,182, 88,176, 48,131, 42, 90,228,213,180,194, 89,
-151, 71,139,  6,202,242,242, 11,189, 60,188,235, 65,167,211,233, 63, 90,232,180, 90,140, 31, 51,  8, 43,214, 71,  1,128, 65,108,
-117,159, 60,121,242,126,  0, 53,222,204,118,239,222,189,112,242,228,201, 78,121,121,121,127,252,252,243,207,110, 67,134, 12,193,
-212,169, 83,177,124,249,114,240,  4, 34,184,121,214,173,168,199, 80,111, 97,193, 83, 48, 96,202, 44,216,233, 52,229, 55, 41,112,
-221, 61,  3,160,165,180,160,181, 90,104,181, 90, 16,156,242,174, 29, 59,122, 16, 67, 62,249, 10, 60,161,147,235,143,171,150, 41,
- 66, 91, 75, 62,156, 61,106,148,202, 10, 35, 32,121, 59, 33,103,255, 87, 19,167,117, 55,136,172, 95, 99,214,223,253, 97,198,  7,
- 59,133,  2,110, 69, 61, 90,154,  6, 73,114, 88, 31,173,151, 36,178,132, 66, 97,236,145, 35, 71, 30,182,108,217,146,144,201,100,
-208,106,181, 40, 44, 44,196,254,253,251,239, 48, 12,  3, 87, 87, 87, 28, 57,114,132, 30, 50,100, 72,172, 74,165, 10,127,213,197,
- 86,110,110,238, 61,177, 88,188,123,230,204,153,131,102,204,152,193,163,105, 26,247,239,223,  7,  8,130,225,241,  5, 32, 73, 18,
- 60, 30, 23, 37, 37, 82,218,206,193, 37, 71,195,112,236,120,124,  1, 72, 14,191,186, 48,225, 12,125, 50, 82,144, 92,126,169, 33,
- 18,144,207,231,227,210,222,239,165,157, 71, 44,116,  2,  0,190, 80, 92,212,163, 71,143,244, 38, 77,154,200,174, 93,187, 22,128,
-170, 81,135,166,215,167,174,223,136,105, 28, 59,177, 72,214,189,123,247, 12,  3,103,218,241, 31,165,195,190,152, 69, 16, 28,129,
-172, 79,159, 62,233,161,161,161, 50, 14,135,131,164,131,203,164,253, 70, 76, 19, 17,213, 36, 89,253,227, 33,243,217,141,189,231,
- 26, 47, 94,188, 88,219,171, 87,175,199,  6,127,177,180,180,180, 58,189,123,247, 22,174, 92,185, 82,219,187,119,239,204,102,205,
-154,149,145, 36,137,132,132,  4,191,234, 44, 85,  6,136,197, 98,237,167,159,126,154,113,235,214,173,218, 70, 29, 86,139,186,117,
-235,130,166,105,116,233,210,  5, 74,165,146,181,108,177, 96,241,122,194, 52,143,150,229,204,240, 90,157,246,171, 49, 19, 22,252,
-  8, 16, 14, 70,119,129,191, 13, 75, 12,136, 41, 83,190,182,  7, 32, 54,136,173, 73,147, 38,213, 56,205,137,145,200,106, 61,100,
-200, 16,124,243,205, 55,248,225,135, 31,168,229,203,151,115,238, 61, 72,213,140,248, 98, 94,177, 73, 61, 96,192,148,209, 90,250,
- 43,115,124, 69, 37,178,121, 29,123,127,183, 32, 43, 79,126,126,196,216,217, 21,119, 47, 10,128,148,144, 80,  0,176, 97,253,122,
- 25, 79,232,100, 31, 49,104, 24,  0,116,255,113,213,178,253,139,176,165,102,177,197, 16, 33, 95, 77,154,230,106, 16, 89,107, 87,
- 46,190,229, 76,228, 69,141,251,250,142,214,184, 30,  0,112,115,196,254,142,189,191,123, 55,255,169,108, 53,123,158,189, 56,  8,
-  4,130,133, 39, 79,158,180,111,222,188, 57,241,228,201, 19, 80, 84,249, 17,209,104, 52, 40, 41, 41, 65,105,105, 41, 84, 42, 21,
- 90,181,106, 69,174, 89,179,198,126,220,184,113, 11,213,106,245, 23,175,122,191, 83, 82, 82,214,254,246,219,111, 56,115,230,204,
-192, 25, 51,102,240,124,124,124,  8,103,231, 60, 66,171, 81,  3, 96,152,130,130,  2,218,206,193, 37,199,195,219, 47, 35, 59, 55,
- 63, 68,171, 81,131,166, 52, 22,189,205,245,233, 29,166,220,190,125,187,222,247,223,127,175, 54,142,  4, 28, 52,237,199, 53,173,
- 90,181,114,139,138,138, 82,247,233,211, 39,221,224,188,110,141, 51,252,177, 71,152,112,251,246,205,166,166,156,157, 71,127,191,
-213,192,105, 28,141,216,247,235,141, 91,131,131,131,221, 66, 67, 67,211,171,227, 13, 12, 12, 84, 72, 36, 18,117,227,198,141,203,
-120, 60, 94,185, 37, 75,171,149,  7,  6,  6,210,222,222,222,234, 38, 77,154,148,217,234,180, 47, 22,139, 25,131, 85,204, 28,108,
-137, 58,228,113,160, 27, 50,100, 72, 69,102,248, 41,193,193, 57,195,134, 13,147, 76,158, 60, 25, 91,183,110,197,133, 11, 23,170,
-136,253,176,176, 48,156, 61,123,118,  1, 94,163,196,186, 44, 88,252,199, 80,125, 30, 45, 83,108,219, 22,243, 39,140,124,154,204,
- 97,209,162, 69, 66,189, 37,171,251,196,137, 19,161, 80, 40, 92,205, 20,235,  6,125,174, 13,115, 34,107,217,178,101, 59, 25,134,
-241,  3,208,129,162,232,203,155,183,108,235, 98,169,190,136,136,136, 42,156, 12, 65,114, 72,146, 40, 19,240,152,191,214,111,218,
-250, 75,165,242,229,206,239,141, 64,224,198,143,171,150, 41,  0,116, 55, 21, 91,248,123,154,145, 10, 78,  3, 62, 31,251,121,133,
-200,250,113,213,178,227,161,173,253, 63,156, 61,106,161, 89,113,182,112,222, 24,123,146, 36,222, 54,241,209,170,194,249, 28,192,
-114,254,141, 46, 67,134, 12,105,209,182,109, 91,210, 88,100,169,213,234,138,196,157,  6,103,241,172,172, 44,132,133,133,145, 45,
- 90,180,104,118,229,202,149, 46,248,123, 58,167, 87,181,239, 84, 74, 74,202, 26, 31, 31,159, 19,115,231,206, 29, 86, 88, 88,216,
-187,168,168,216, 61,110,219, 66,244,140, 24, 75,132,245, 26, 44, 83, 51, 92, 81,102, 78, 94,227,211, 71,118,184, 29,221,189, 22,
- 26,181,122, 12,128,187,248, 59,189,131, 41,167,220,144,198,161,113,227,198, 50, 99,161,226,239,239,175,172, 83,167,142, 42, 52,
- 52,180, 98,185,133,104,190, 42,125,183,149, 83,239,255, 37,171,105,127, 26, 68,155,105,218,  8, 59, 59, 59, 24,196,151, 45,237,
- 52,142,182, 52,123,163,172, 57,234,176,130, 83,159,222,161,146, 78,139,137,137,233, 22, 19, 19,211, 26,192, 95, 40,159,235, 80,
- 11,148, 15, 37, 26, 57,205,207,215,127,216,235,157,229,252,175,114,190,202,  8,195,223,190, 89, 64,185,175,214, 25,139, 66,171,
- 38, 24, 28,223,  1,144,147, 38, 77, 42, 82, 40, 20,174,195,134, 13,171,118,155,220,220,220,173,209,209,209,149, 68,214, 71, 31,
-125,244, 73,108,108,236,137,252,252,252, 90,245,202,213, 73,188,232,204,161,233,174, 97,125,190,155,  8, 96,185,  5, 67, 30, 29,
-218, 90,242,225,143,171,150,237, 55, 17, 91,219,  1,124,100, 73,149,246,120,239,  3,236,216,246,163,193,183, 75,124,235, 90,214,
-209,129,215, 35,205, 70, 43,186, 56,  8, 35,245,237,152,204,250,104,189, 24,240,249,252,206, 51,102,204,224,203,100,178, 42, 34,
-203, 84,104, 73,165, 82,220,184,113,  3, 35, 70,140, 16, 38, 38, 38,118,214,104, 52,167, 94,135,125,144,155,155,123, 79,159,140,
-116,130, 33,133,131, 80, 36,230, 15, 30, 57,209,175, 34,234,112,247, 90,168,148, 10,  0,224, 90,147,222,129,203,229,242, 19, 19,
- 19,  3, 12, 86, 43,141, 70, 35, 52, 44,191,118,237, 90,128, 33,183,150, 82,169,180, 58,234,240,159,226,188,121,243,166,159, 33,
- 58,210, 16, 93,200,229,114,249,  9,  9,  9,126,  6, 78,149, 74,101, 85,212,161, 64, 32,224, 39, 38, 38,250, 81, 20,245,220,162,
- 14,141,133, 49,202,231, 89,172, 52,215,162,222,183,140, 32,  8,130, 97,135, 13, 89,176,120,229, 97, 26, 41, 89,253,164,210, 53,
-193,224,248,110,195, 38,220,186,117,235,246, 24, 52,104, 80, 37,145, 21, 30, 30, 78,237,219,183,239,180, 68, 34,201, 35, 73,242,
-158,173,237,168,240,209, 66,149, 55, 72,144, 36,121,163, 67,155, 38, 32, 73,242,198,236, 81,163, 84,139,176,165,146,216, 58,184,
-127,207,187,153, 69,119,204, 75, 51,  0,238, 94,190, 24,242,201, 87, 24,242,201, 87,174,  0,218,  3,150,163, 21,171,107,  7,139,
-127,  6,  4, 65,  8,234,212,169,115, 75,169, 84,130, 32,  8,168, 84,170, 10,129, 85, 90, 90,138,146,146,146,138,255, 26,141,  6,
-  5,  5,  5,240,247,247,  7, 65, 16,175,181, 31,157, 70,163,209,205, 88,240,125, 52,135,203,215,209,180,134,208,104, 52, 35,109,
-185,206,103,204,152, 65,194,140,239,213,184,113,227,204, 46,127, 89,156, 51,103,206, 52, 27, 37, 56,110,220,184,106,163,  7, 45,
-225,235,175,191,126,110, 81,135,214,223,190, 88,176, 96,241,154,193,108,232, 94,173,132, 22, 73,146, 55,204, 68, 23, 18,  0, 24,
-146, 36,111,152,201,114,160,203,200,200, 88,224,226,226, 50, 70, 38,147,253,254,209, 71, 31, 77, 10, 15, 15,167,128,114,  7,249,
-218,246,168,168, 68, 54,175,115,223,165,147,139,203, 84, 81,166,235, 76, 45, 79,  6,177,181,118,245,178,117,251, 99,119,133,231,
-102,103,174,179,212, 55, 75,130,202, 82,180, 98,137, 84,177,160,115,223,165, 19,139,164, 10,214, 71,235,  5,129,162,168, 99, 98,
-177,152, 48, 76,166,108,108,189,146, 74,165,144,203,229,208, 79, 73,  3,  0, 40, 43, 43,131,179,179, 51, 40,138, 98, 94,179, 93,
-161,  2, 48, 85,111,173,  2,128,169,169,167,215, 24,159,219, 55,141,215, 85, 99,205,202,177,102,130,104,115,219, 85,183,238, 31,
-224,204,171,102,130,232,234,144,103, 35, 95, 30,  0,240,121,156,124, 75,147, 71,243,121,156,252,106,252,246,109,124,111, 32, 24,
-  0, 11,216, 43,155,  5,139, 87,247,253,255,101, 85,220,141,229,100, 57, 89,206, 23,194, 41,212,127,172, 93,199,238, 79,150,147,
-229,100, 57,255,109,156,230, 48,250, 21, 17, 90,140,153, 15,128, 90, 90,180, 88,176, 96,241,175,131,170,150,235, 88,176, 96,193,
-130,197,179,163,202,100,210,198, 43, 44,169, 82, 91,162,  9,106,163,108, 79,176,156, 44, 39,203,201,114,178,156, 44, 39,203,249,
-159,227,172,137,219,120,251,209,  0, 54,189, 34, 98,235,165,  4,180,176,102, 85,150,147,229,100, 57, 89, 78,150,147,229,100, 57,
-107, 11,118,232,144,  5, 11, 22, 44, 88,176, 96,193,226, 63, 14,219, 18,150,178, 48,  3,255, 15,102,131,198, 76,253,238, 92,134,
-199,  7,231,191,110, 93, 12, 15, 15,231,216, 82, 62, 53,213,133,188, 14,201, 15, 78,246,252,190,101, 50,237, 15,244,245,121, 81,
- 53,157,136, 30,129, 45, 63,182, 19,217,125,161, 86,171,235, 59, 56, 58,230, 63,125, 82,176,225,105,198,205,181, 70,101,156, 46,
- 95,190, 44,105,219,182,109, 54,128, 82,163, 55,  5, 22, 44, 88, 60, 79,184, 52,169, 11,130, 24,  9, 48,127,135, 93,210,204, 29,
-148,220,221, 86,169,156,115,200, 39, 32,137,166, 70, 75, 20, 96,176, 25,197, 73,143,107,120,224,184, 36, 39, 39,  7, 52,104,208,
- 32, 29, 64,177,105,237,102,214,177,215, 57,139, 87, 25, 97,168,156,176,180,226, 90,120,118,161, 21,252, 81,125,232,200,225, 96,
- 48, 20,  4, 18,145, 26,219,191, 86, 60, 65, 31,250,130,230,190,  9,160, 37,192,180,180, 23,139,254,167, 80,107,242,105,134,249,
- 24,143,246,252,101, 51, 95,253,240,177,176, 60,157,197,  2,164,198,174,183,137,143,102,102, 93, 61,187, 79,232, 98, 71,160, 65,
-171,143,166,161,114,  6,231,218, 66,  0,160, 35, 73,146, 77,237,236,236, 36,114,185,188,128,166,233,199, 40, 31,159, 46,170, 37,
- 39,  9,224, 83,  7,123,251,158,  1,142,130,150, 25,133, 37, 89,165, 90,234, 28,202, 19,186, 22, 61,175, 51,170, 92,100,249,108,
-154, 56,184,237,136,101,227,187,193,165,243,210,105,114,160, 58,161, 69,248, 53,122,251,224,192, 65, 17,157,191, 28, 61,194,193,
-215,211,  1, 57,133, 50,247,245, 91, 99,190,143,137,217,209,103,212,192,238, 61,  1, 96,225,194,133,253,234,214,173, 91,143,195,
-225,164,206,153, 51,103,251,188,121,243, 24,194,242, 76,229, 18,253, 57,108,184,225,219,  3,  8,  5, 16,  8, 32,  5,192,109, 84,
-206, 50, 94, 27,188, 18,156,190,190,190,117,104,154, 30,229,237,237,221, 59, 47, 47,239, 48, 73,146, 91,178,178,178,178, 95,230,
- 93,135, 97,152,141,  4, 65,140,102, 24,102,147, 13,223, 99,108,169, 67, 36, 18,229, 41,149, 74, 47,253,239,124,165, 82,233,253,
- 79,245,231, 69,214,245,130,222,191, 63, 59,118,254,118, 79,227, 69, 61, 58, 52, 53,115, 71, 33,154, 30, 59,127,167, 83,229,114,
-161,148,133,123, 32,193, 48, 12, 22, 44, 88, 64, 68, 70, 70,126, 18, 20, 20, 20, 76,146,228,253,185,115,231, 86, 74,125, 99,186,
-206,232, 58,103,197, 22,139, 87, 21,182, 77, 42, 93, 35,154,132,219, 67,201,132,  3,196,136,176, 54,255,235, 48,230,227,190,  4,
-195, 17, 97,240,103,211,117, 54,115,  5,140, 16,130,163, 88,212,188,105,163, 73, 17,125,187,145,173, 67,235, 65,226,233, 12,144,
- 60,108, 60,146,230, 30,181,108,206, 58,  0,109,107,209,202,121,143,226,119,122,229, 20, 83, 32,  8,128, 32,  0,146,  0,202,148,
- 52,122,244, 27, 62, 15,192,122, 27,239, 74,164,139, 29,129, 73, 59,149,  0,192,121, 14,  7,165,158,167,167,231, 39, 19, 38, 76,
-176, 15, 13, 13,117, 17,137, 68,  2,165, 82,233,157,156,156,236, 57,103,206,156, 80,133, 66,113,  8,192, 85, 27, 57,253, 27,248,
-213,217, 19, 53,233,211, 55, 91,  4,  6,128,167, 46,  3,173,146,213,125,144,252,240,173,207,215,237,253,236,206, 83,229, 32,212,
- 98,202,132,194,194, 66,  2,  0, 60, 60, 60,152,202, 34,171,221,136,149,147,123, 96,210,138, 99,144, 43,213,191, 84,199,225, 86,
-239,141, 97, 31,126,248, 65,231,197,179,198, 57,100, 61,209, 32, 49, 85,  1, 55,  7, 62,230, 77, 29, 43, 80,169,180,111,173,219,
- 30, 51,250,199,239,166,111,166, 40,234, 29,  0,173, 41,138,186,  6, 96,251,130,  5, 11, 44,221,124, 35,  1,204,212,159,208, 59,
- 56, 28,206,241, 46, 93,186,212, 31, 53,106, 20,209,170, 85, 43, 36, 36, 36,  4,238,220,185,179,219,225,195,135, 83, 41,138,186,
-  9,224, 62,244,211,158, 88,  1, 30,128, 70, 28, 14,167,249,191,153, 83, 34,145,136,213,106,245,112, 63, 63,191,209,111,191,253,
-118,243,190,125,251, 18,141, 26, 53,194,189,123,247, 90, 29, 61,122,116,222,185,115,231,110,102,102,102,110, 18,  8,  4,209, 57,
- 57, 57,138, 23,254, 28, 39,136,209,  0,234,232,117,242,  2, 43,190,179, 81,158, 75, 42,199,218, 58,148, 74,165,151, 97, 10, 27,
-130, 32,188,254,201,254,216, 88, 87, 18, 65, 16,110,250,178,168,238,155, 36, 73,232,116, 58, 25, 69, 81, 65, 53,112, 54,210,191,
- 72, 89,173,117,  1, 84,151,  8, 90, 12,  0, 61,218, 55,125, 10,  2,119, 42, 44, 90, 85, 95, 50,239, 84,  8, 48,  6, 77,143, 93,
-184,227, 86,201, 10,102,250, 22,187, 96,  1, 49,111,222, 60,204,159, 63,191, 47,128,142, 52, 77,159, 11,  9,  9, 89, 83,137,146,
-166, 43,214,205,155, 55,111,117, 53,215, 57, 11, 22,175, 10, 58,195,150, 73,165, 45,190,255,  4,245,239,  4, 10, 35,  2,220,189,
-194,199,143, 26, 32, 14, 13,105,  0, 37, 28,144, 86, 72,225, 72,220, 81,  0,216,109,155,213,105, 64,107, 46, 87, 25,189,108,254,
-212,198, 29,223, 12,197,173, 44, 45,174,101, 81,144,167,106,193, 33,181,160,104,  6, 96,160,172,109,175, 51,139,116, 56,127, 95,
- 13,146,  0, 56, 36, 64,146,  4, 56,100, 45,201,104,245,131,133,219,174,135, 22,230,209,  0,173,126,240,140,  7,164,105,195,134,
- 13,135, 69, 70, 70,186,228,230,230,218, 39, 36, 36, 64, 40, 20,194,213,213,149, 35,145, 72,234,172, 88,177, 66, 49,126,252,248,
-222, 26,141, 38, 13, 64,161,149,156, 33,189, 90, 55,191,184,105,217, 66,103,237,229,163, 40,222,245, 43, 56, 36,  3,190,189,  3,
-234,139,197, 56,250, 97,  3,183,240,184,212,125, 87,242,100, 33,  0,178,106, 34,187,123,247, 46, 71,165, 82, 13,114,114,114,106,
-199,227,241,188, 69,174,245,232,108,110,235, 39,  5, 68, 96, 74,190,151,188,211,228,110,222, 61,127,152,216,  5,147, 86, 28,195,
-170,157,151,126,110,137,220,185,213,229,205,182,179,115, 24, 51,254,139, 81, 14,153,133, 26, 44,218, 87,136,109,103,165, 24,222,
-209, 17,147,222,115,198,144,193,  3,237,247,254, 26, 59,  6,192,102,163, 77,238,133,132,132, 16,119,239,222, 53,119,243,117,  5,
- 48, 93,173, 86,147,124, 62,159, 16,137, 68,195, 22, 47, 94,172, 25, 60,120,112,166,161, 64,199,142, 29,209,177, 99, 71,162,180,
-180, 52,240,212,169, 83,129, 49, 49, 49,186,248,248,248, 36,  0,  7, 45, 91, 44,196, 25, 74,165,162,174, 72, 44,150,175, 95,183,
-238,135, 78,157, 58,209, 66,225,223,233,167,106,195,  9,  0,206,206,206,155,189,188,188,136,111,190,249, 38,251,121,113,214,171,
- 87,239,216,155,111,190,217,165, 71,143, 30,220,246,237,219,163, 78,157, 58, 21,235, 60, 60, 60,208,177, 99, 71,226,241,227,199,
- 45,206,157, 59,183,238,216,177, 99,107,254,250,235,175, 83,105,105,105, 61, 94,176, 69,107,147, 94, 76,228,216, 88,254,149,  7,
- 65, 16, 14, 27, 55,110,244, 50,204,201,168,213,106, 65, 81, 84,197,183,225, 67,211, 52, 40,138,194,226,197,139, 41,153, 76,102,
-205, 62,146, 25,189, 53, 27, 62,180,185,111,129, 64,224, 97, 72,216, 91,195,157,253,142, 68, 88,220,196,222,222, 62,  0, 64, 47,
-120,  6, 79,175, 92,160,252,253, 89, 38,147,165,231,168, 92,238,  0,232, 84, 13,155, 75,100,100,228,240,249,243,231,127, 96,100,
-165,109, 30, 17, 17, 97, 58,237, 85,115,253,183,140, 32,136,211, 36, 73, 30,  2,176, 13,207,209,234,206,226,245,  2,195, 48,109,
-  0,120, 26, 45, 82,163,124, 84,  8,250,231, 36,  1,192,221,100,185,113, 57,195,119,129,126,185,167,126, 59,198,136,183,128, 32,
-136,171,181,108,226, 25, 88,240,211,226,  2, 64, 92, 92, 28,211,167, 79, 31,194,240,109, 94, 20,133, 31,249,116,240,251, 61,123,
-119,125, 27,164,200, 21, 15,242,129,248, 12,  6, 92, 82, 11, 18, 12, 46, 95, 56,197,128, 75, 71,155,108,101,217,122, 82,175,255,
-215,205, 67, 67,150,110, 89, 54,129,147,148,207,197,182,115,114,104,148,101, 40,200,205, 64,126,118, 58,114, 50, 83,144,149,145,
-114, 19, 32,230, 89,205, 89,229,192,  0, 20,173,127,  7,164,129,106, 34, 47,107,230,212,200,238,  6, 54, 10, 13, 45, 18, 80,128,
- 70,118,215,138,234, 45,113, 54, 11, 14, 14, 30, 60,107,214, 44,183,219,183,111,139,229,114,185,234,232,209,163,247,210,210,210,
-156, 36, 18,201,211,177, 99,199,  6,215,169, 83,199,233,163,143, 62, 18,236,218,181,171, 31, 42,135,181, 90,226, 12,125,191,221,
-255,226,183,174, 89,105,255,100,111, 20,212,201, 55,112, 36, 71,134, 11,121,114, 38,208, 89, 72,124,213,194, 19, 14, 66, 46, 22,
-182,175,227,208,107,127,242, 82, 45, 77, 15,169,142,243,226,197,139, 18, 59, 59,187, 21, 67,135, 14,149,140, 27, 55, 78, 72,113,
- 93,184,177,241, 79,156,167,175,139,175, 35, 87,105, 56,131,187,212,195,228,161,205, 49,121,213, 73,131,200, 26, 93,191,126, 49,
-125,253,186,101, 78,173, 70, 83,223,207,203,  9,137,105, 10,108, 59, 43,197,159,179,234,160,235,226,108,124,212,146,139, 16,127,
-  7,232, 52,218, 70, 17, 17, 17,209,250,183,246,171,  0,250, 69, 68, 68, 52,230,112, 56, 39,  1, 28,168,233, 24,137, 68,230,103,
- 79,113,117,117, 69, 88, 88, 24, 66, 66, 66,184,157, 58,117,106,110, 34, 96, 42,113,106, 52,106,  9, 77, 51,112,116,116, 20,187,
-187,187,187, 58, 58, 58, 62, 49,247,160,178,133, 19,  0,220,220,220,250,135,133,133,113,119,238,220, 89,152,154,154,122,121,240,
-224,193, 41, 78, 78, 78,149,172,191,246,246,246,  8, 14, 14,198,156, 57,115,184, 61,123,246,172,145,211,219,219,187,123, 76, 76,
- 12,  8,130,168,120,104, 87, 49, 22,  7,  4,192,199,199,  7,189,122,245,226,246,239,223,191,123, 90, 90, 90,173,174, 35, 27,112,
-194,140, 69,107,129,201,113,178, 56,252,102,174,188, 21,199, 61,223, 96, 93,210,243,225, 25,174,205,106,135, 59, 69, 34, 81,133,
- 21,202, 76, 93, 85, 56, 73,146,196,236,217,179, 65, 16,  4,120, 60, 30,248,124,190,217,239,206,157, 59,219,218,206,199,  4, 65,
-144,124, 62,127, 58,151,203, 29,165, 82,169,252, 68, 34, 81, 54, 69, 81, 63,171, 84,170,197,  0,180, 12,195,184, 88, 16, 89,102,
- 57,237,237,237,  3, 30, 60,120,208,208, 82, 67, 84, 42, 21,154, 55,111, 14,168,144, 84, 29,103,114,114,114, 64, 80, 80, 80, 35,
-  0,134, 41,218,206, 50, 12,211,201,232,191, 49,206, 50, 12,243,158,254,247,253, 71,143, 30,  5, 52,104,208,160,232, 69,157,159,
- 44,231,191,143,179,  6, 45,226, 73, 16, 68,156,209,181,218,199,240,127,198,140, 25, 51,151, 44, 89,114,155, 32,136, 56,227,229,
-198,229,140,191,245,247,155, 56,134, 97,250,124,243,205, 55,161,223,125,247,221,183,134,178,255,132, 72,180,197,162,229, 84,160,
-180,199,185, 12, 39,112, 57, 20,184, 36,  1, 46,  7,  0, 67, 32, 61, 45, 25,165,210,226,243, 72,221,151,106,157, 37, 43,188,253,
- 27,111, 52, 91,182, 99,213, 52,242,167,115,114, 20,203,148,184,251,215,105, 92, 61,125, 32,151,210, 81,  7, 64, 48,215,  0, 50,
-  1, 41,244, 61, 32,182,118,115, 92, 16, 12,183, 92,104,233,197, 85, 37,177,245,210,208,162,113,227,198,  3,231,204,153,227,113,
-253,250,117, 81, 73, 73, 73,233,142, 29, 59,178, 85, 42, 85, 26,128, 63,210,211,211, 27,175, 94,189, 90,176,108,217,178,102,205,
-154, 53,147,236,217,179, 71,109,102, 58,163, 42,156, 83, 71, 12,137, 31, 53,126,162, 40,105,207, 90,  8,146, 18, 48,251, 70, 33,
-245,103,142,124, 22,128, 85,120, 92,214,190, 64,169, 59,190, 50,172, 46, 89,207,145,143,  6, 46,130,206,119,159, 42,171,181,100,
-217,217,217,173,136,137,137,  9,104,211,166, 13,  9,  0,231,238,235,132,211,215,197,215,249, 99, 73,123,162,125, 83,119,228, 23,
-171, 48, 97,109, 34,142,198,231,255,110, 16, 89, 53, 53,210,209,209,177, 32, 51, 95,234,237,238, 32,194,199, 29, 28,208,117,113,
- 54,194, 91, 11, 33,228, 19,184,151,154,139,  6, 65,245,136,196,243,  7, 91,235, 69, 86,155,156,156, 28,  0,104, 13, 32,245,241,
-227,199,146,182,109,219,150, 24,209, 21,  1, 88, 42, 16,  8,102, 19,  4,193,180,105,211, 38,177, 89,179,102,101,174,174,174, 80,
- 40, 20, 80,169, 84,224,243,249, 80, 40, 20, 72, 79, 79,199,229,203,151,225,234,234,106,211,129, 42, 43, 43,131,163,163, 35,104,
-154,126,102, 78,138,162,136, 13, 27, 54,216,223,190,125,219, 62, 54, 54,214,123,210,164, 73, 79,154, 52,105,114,109,224,192,129,
- 15,189,188,188, 84, 55,110,220,192,197,139, 23, 81, 84, 84,132,118,237,218, 89,197,169, 86,171,193,229,114,161, 80, 40, 32, 20,
- 10,193,229,114,161,211,233, 64,211,116,133,248, 42, 43, 43,195,211,167, 79,193,231,243,161, 86,171, 95,198, 27,104, 21, 11, 85,
-117,195,111,181,177,104, 25, 11, 53, 43, 69, 86, 77,150, 40,139,195,157,197,197,197, 98, 23, 23,151,233,  0,114,106,170,139, 32,
-  8,112, 56, 28,240,249,124, 16,  4,129, 78,157, 58,225,211, 79, 63, 69,203,150, 45,145,156,156,140, 93,187,118,225,234,213,171,
-224,241,120, 21,229,173, 30,159,232,220,153, 35, 18,137, 46,190,255,254,251,161,179,102,205, 18,213,171, 87, 15, 73, 73, 73,254,
-223,125,247,221,244, 19, 39, 78,124, 32,147,201, 90, 27,238,118,213, 91,233,245, 67,130,229,195,133,189, 84, 42, 21,146,146,146,
-108,217,166, 10, 26, 52,104,144, 78,146,228, 67,154,166,207,  1,104,206, 48, 76, 39,130, 32,142,162,220, 47,209, 24, 50,134, 97,
-222, 35,  8, 66, 10,224, 38, 73,146,247,105,154, 78,103,237, 54, 44,172,184,175,244, 49,253, 79, 16, 68,220,146, 37, 75,250,152,
- 19, 87,102,174,205, 74,203,191,251,238,187,111,141,254, 63,139, 69, 53, 12,149,157,225, 59,235,173, 92,127, 11,173,184,184,184,
-234, 21,  8,141,143,226,246,237,188,212, 85,131,128,208, 86, 29,141,172, 67, 12, 18, 46, 95,  4,192,252,108, 85, 83, 36,125,196,
- 36,135,251,243,134,111,199,145, 27, 79,203,241, 56, 59, 31, 23,143,252,140,130,156,180,109,  0, 51,  9,169,177,210,103, 62, 18,
-245, 62,106,230,229,238,225,162,212, 48,160, 25,  0, 85,196,214, 75, 65,203, 70,141, 26,245,143,143,143,247, 80, 42,149,162,243,
-231,207,203, 99, 98, 98,114, 53, 26,205,105,  0, 23,244,101,174, 23, 20, 20, 68,232,133,  9,135,203,229, 10, 52, 26, 77,117,190,
- 11, 45,167,142, 26,126,126,233,134,173,162,135,183, 18,177, 58,246,  8,138,229,114,234,116,190,162, 31,  0,131,162, 63,121,189,
- 80,145,197,128,169,203, 35,  9, 72,236,121, 62,119,159, 42, 69,128,249, 33, 89,149, 74, 53,120,232,208,161, 18,131,200,  2,128,
-194, 82, 45, 87,174,210,114,218, 55,117, 71,171, 46, 17, 72, 56,181, 23,123,206,102, 33,200,211,238,108,125,251, 98,171,246,104,
- 65,126,206,134,149, 81, 27, 87, 46, 93, 48, 85, 48,185,151, 51,194, 91,243, 32,226, 19,112,178,227, 97,241,154,205,218,235,151,
-207,222,144, 72, 36,113,  0,250,229,228,228, 64, 34,145,148,  1,184,207,225,112, 82, 41,138, 50,231,212, 61, 23,128,119,116,116,
- 52,169,213,106,203,146,147,147,225,227,227,  3,111,111,111, 56, 59, 59,227,238,221,187,248,243,207, 63,113,239,222, 61,208, 52,
-141, 55,222,120,195,166,131,245,228,201, 19,220,184,113,  3,189,122,245,158, 84, 80,144,239,228,234,230, 46, 59,127,238,236,247,
-181,225,164,105,154,  0,128,208,208, 80,132,134,134,138,178,178,178,252,226,226,226,188, 22, 45, 90,148, 17, 16, 16,176, 67,161,
- 80, 84,178, 28, 88, 43,180, 12,226,194, 32,  2, 69, 34, 17,248,124, 62,164, 82, 41,242,242,242, 80, 90, 90, 30,180,233,226,226,
-242, 82,132,150,  5, 11,213,115, 43,255, 15,139,195, 42,195,157, 46, 46, 46, 67,  1, 76,183,178, 47,208,233,116,224,243,249,104,
-219,182, 45,162,162,162,112,245,234, 85, 28, 56,112,  0,254,254,254, 24, 49, 98,  4, 72,146,196,237,219,183,109,109, 34, 29, 31,
- 31, 63,189, 95,191,126,161,209,209,209,162,244,244,116,220,187,119, 15, 46, 46, 46,136,138,138, 18,142, 30, 61,186,193,169, 83,
-167,230,162, 60,248,165,122, 24, 69, 23,202,196,146,  1,205,155, 55,175, 82,196,199,199,199,249,143, 63,254,240,170, 16, 96,166,
- 17,137, 85, 81, 60,119,238,220,149, 33, 33, 33,171,244,195,133, 29,  1,216, 51, 12,211, 57, 54, 54,150,  0,128,240,240,112,134,
- 32,  8,195,  3,233,230,222,189,123,187,220,189,123,151,153, 63,127, 62,235,163,197,194,146, 22, 25,109,184, 38, 45,  9, 40, 91,
-132,154,177, 60,104, 55,  9,  0,  0, 32,  0, 73, 68, 65, 84,197,203,128,111,190,249, 38,116,201,146, 37, 87,158, 81,100, 25,191,
- 49, 49,  6,177, 85,241, 48,181, 56,100, 88, 97,251, 34, 37, 62, 94,238,110, 51, 70,180,  7, 77,  3, 58, 10,208, 81, 12,100,114,
-  5,146,110, 93,149, 67, 68,196, 90,213, 28,161, 96,217,162, 89, 19,  3, 19, 51, 73,100, 23,105,112,230,224, 70,166, 32, 39,173,
- 63, 82,247,142,124, 62, 34,107, 64,115, 31,111,175, 51, 59, 55, 46, 36,175,166,168, 65,209,229, 58,139,166,153,138,223, 47,  1,
- 62,158,158,158, 67, 46, 93,186,228, 41, 20, 10, 69, 15, 30, 60,160,247,238,221, 91,164,209,104, 78, 24,137, 44,  0,104,223,186,
-117,107,157,131,131,  3,100, 50,153, 70,163,209, 40,171, 17, 89,126,157, 91,182, 56,187,116,195, 86,145, 82,173, 70,137, 66,  5,
-142,187,151,169,200,  2,128,183,187, 52,244,245, 37, 68,142, 96,  0,164, 73, 53,217,150, 68, 22,  0,  8,133,194,110,227,198,141,
-171, 52, 47,158,135, 35, 79,103, 39,228, 81, 23,238, 20,210,  9,167,246,226,220,237, 66, 90,196,231, 80,158, 76, 74,160,181, 59,
-160, 56,243,206,134,  3,191,197, 29,255,122,206,178, 50,185,172, 20, 65,117,196, 40, 43, 45,193,226, 37, 75,181,241,241,231, 78,
- 79,159,244,249, 91,123,247,238,253, 14,229,206,224,  0,112,127,239,222,189,195,231,204,153,179, 29,127,167,121, 48, 69,246,144,
- 33, 67, 50,155, 54,109, 90, 18, 18, 18, 82,242,228,201, 19,220,185,115,  7, 69, 69, 69, 88,189,122, 53,146,146,146, 96,176,  8,
- 90,229,171, 82, 85, 32,161,168,232,169,  3,195, 48, 40,122,250,196,126,214,172, 89,206,181,225,164, 40,170,210,181,229,235,235,
-139,177, 99,199,242,229,114,185, 75, 70, 70,134,147,241, 58,107, 57,213,106, 53, 12,150, 33,134, 97,160, 86,171, 81, 82, 82,  2,
-181, 90,141,135, 15, 31, 86,136, 44,125,253, 47,205,162,101,248, 45, 18,137,242, 12,231,178, 97,  8, 78, 36, 18,229, 91, 42,255,
- 44, 48,170,139,209,255,182, 85, 28,214,216, 31, 43,143, 59,248,124, 62, 62,253,244, 83, 92,185,114,  5,201,201,201,224,112, 56,
-144,201,100,144,203,229,232,222,189, 59,  4,  2,129,173, 22, 45,134,207,231, 15,157, 57,115,166, 40, 53, 53, 21,133,133,133,  6,
-103,122, 80, 20,133, 73,147, 38,137,133, 66,225, 80, 91, 77,247, 57, 57, 57,239, 62,124,248,176,145,233, 39, 55, 55,183,196,216,
-167,176,182,136,141,141, 37,194,195,195,153,240,240,112,198, 32,184, 88,176, 48,  7, 11, 90,100,147, 37,139,214,243,176,138, 25,
- 44, 91,208,  7,136,212,  2,  6,145, 21,102, 36,188,  8,131,133,203,186,161,195,160,  1,255,243,118,119, 59, 21,189, 54,210, 33,
-238, 22,129,204,199,105, 40,200, 73, 71,235,183, 58, 35,233, 86, 34,104, 45,181, 15, 15, 99,107,246,228,172, 23,222, 48, 36,164,
-201, 23, 97,111, 53,195,178,184, 50, 60, 72,248,  3,197,  5, 57, 63, 34,109,239,190,231,114,132,  2,194, 91,120,123,185,157,218,
-190, 54,210,229,232, 29, 18,143, 31,167,225,224,246,149,140, 86,163, 42, 70,229, 72, 46,155,223,154,197,180, 90, 80, 86,156,  7,
-117, 41,  5, 17, 41, 23,217, 56, 72,145, 11,224,220,202,149, 43,187,182,107,215, 78, 48,100,200,144,220,162,162,162,131,  0, 46,
- 25,149,105,218,176, 97,195, 94, 81, 81, 81,222,143, 31, 63,198,137, 19, 39,114, 81, 30,250,111,  9,153,103, 19,111,173,251,115,
-251,230,169,226,192,198, 88, 61,243,107, 93,236,213, 59,239,  3, 56,106, 84, 38,164, 91,243,134,113,139,166,124, 73,210,215,127,
-199,141,244, 60,164,148,168,254,180, 68, 88, 88, 88, 72,200,229,242,  0, 23, 23, 23,227, 19, 18, 18,123,153,106,218,128,134,217,
-221,167,159,175,163,212, 80, 16,242, 72,102,194,  7,  1,217, 87, 14,198,186, 23, 42, 11,  9, 67, 52, 98, 77,248,108, 96,183, 15,
-214,198,236,255, 56, 46,238,240, 23, 26,149,178, 89,227,198,141,152,107,241,167,110, 76,159,244,121,207, 90, 30,113,135, 43, 87,
-174,144, 28, 14,167,146, 64, 55,182, 16,217,106, 41,178,  5,214,114,154, 10, 45,  3,116, 58, 29, 81, 91, 78,149, 74, 85, 33,180,
- 76, 31,238,230,  4,227, 63,209,127, 91, 44, 84,198, 67,134,  6,127, 58,165, 82,233,165,247,217,242,126,158, 22,173,103,137, 68,
-172,110,248,210,150,246,145, 36,  9,154,166,193,231,243,241,198, 27,111, 32, 46, 46, 14,110,110,110,112,114,114,130,147,147, 19,
-196, 98, 49,220,221,221, 43,132, 22, 73, 90, 29,165,195,168, 84, 42,127,127,127,127, 60,124,248, 16, 34,145,168,226, 35, 20, 10,
- 17, 26, 26, 10,153, 76,230,139,151,105,187,103,193,226,159,189,175,196, 25,139, 37,130, 32,226,102,204,152, 49,179,182,124, 51,
-102,204,152,105,206,194,245,140,130,171,146,117,139,107,172, 32,205, 42, 73,189,200,218,246,227,  2,167,253,127,  1,153,153,169,
- 56,190,103, 77,169, 86,163, 46,162,105,109, 64,202,189, 68,128,196,207, 86, 53,129,100,222,252,160, 87, 23,226,248,109, 53,164,
-197,  5,184,127,237,143, 52, 40,  4,223, 60, 55,145,229,237,113, 42,122,237,  2,151, 67,183,  8, 60,126,156,134,163, 59, 87, 75,
-181, 26, 77, 55,164,198, 94,123, 22,234,161,124,254,  7,252,186, 25,125, 70,117,204,  6, 69, 80, 24,154,116,247,189,252, 92,124,
-144,115,190,250,200, 48, 99, 20, 20, 20, 28, 92,185,114, 37,177,124,249,242, 48,165, 82,249, 43,  0, 99, 19,101,179,160,160,160,
- 65,155, 54,109,114,123,252,248, 49,239,252,249,243,178, 83,167, 78, 49,  0, 14,213, 96,113,153,214,125,228, 88, 78,203,122,190,
-227,174,167,101,189, 15,224,119,163,213,161,125, 90, 53,189,176,117,201, 92, 71,237,133, 88,148,229, 60,198, 55, 23, 50,165,  0,
-172,222,223, 90,173, 22, 37, 37, 37,208,150, 61,209,181,150,200, 74,230, 71,120,169,242,138,148, 92, 30, 45,215,133, 56,229,171,
- 78, 61, 73,225,216,217,217,217,180, 47,215, 46,153, 26,  3, 32, 38, 34, 34, 34,250,102,252,225,214, 18,137,228,112, 72, 72,  8,
-  1,  0, 22, 34, 12, 45, 33, 18,192,164,183,223,126,155,104,219,182,237,229, 85,171, 86, 29,171, 78,172,212,198,162, 85, 19,172,
-229,164,105,154,180,176,127,137,218,114, 26, 91,180,106, 18, 90, 47,211,162,101, 78,180, 24,139, 68, 99, 33,244,111,136, 58,172,
- 78, 76,217,210, 62,131,159, 28,159,207, 71, 98, 98, 34,234,214,173, 11,141, 70,  3, 71, 71, 71, 56, 58, 58,194,193,193,  1,165,
-165,165,224,241,120,176,177,207,180, 72, 36,202,184,115,231, 78, 35, 79, 79, 79, 80, 20, 85, 73,108, 61,120,240,  0,246,246,246,
- 89,182, 90,180, 36, 18,201, 31,250,168,195, 74,240,241,241,113,126, 30,251,213,216,146, 21, 30, 30,206, 14, 17,178,168,214,154,
-101,193,170, 85, 96, 98,137, 82, 27,253, 47, 64,121, 14,183, 62,250,223, 48,243, 91,109,102,217,147, 37, 75,150,156, 50,242,239,
- 42,120,198, 46, 24, 82, 60, 84,138,112,225,214,100,201,242,114,115, 61,181,101,245,124,167, 61,  9, 64,214,227, 84,156,217, 23,
- 85,162,163, 52,239,128,102,114,226, 79,236,139,  5,  1, 57, 82, 98,207, 88,119,139, 64,203,150, 77,  2,112,224,182, 22,  5,153,
- 15,192, 48,244, 54,228,199,200,159,249,232,  4,125,244,134,151,155,199,169,109, 81,243,157,247, 39, 18,200,124,156,138,227,123,
-162,164, 58,173,188, 43, 82,247, 37,212,150,246, 83,192,149, 99, 47, 90,215,191,115,203,  1,  1, 65,126,160, 25, 45,104, 62,131,
-143,166,121,112,239, 95,151, 31, 56, 39, 42,217, 67,151,209, 95,100, 93,178,206,129,174,172,172,236,  0,128,107,168,156, 94,161,
- 69,112,112,240,128,117,235,214,121,102,102,102,138,174, 95,191,174,216,184,113, 99, 62, 77,211,251,  1, 88, 51,148,250,245,245,
-180,172, 45,168,156, 47,167,197,212,145, 67,226,135,124, 50, 74,148,122, 34,  6,174,169, 73,152,114, 33,155,186, 95,164, 30,172,
-183,174,153,133,135,135,  7, 83, 88, 88,152, 94, 92, 92,220,200,222,222, 30, 79,158, 60,193,211,167, 79, 81, 82, 82,  2,149,244,
-169,206,157, 42,150, 17,186,167,224,241,120,200,127,172,  5, 69, 81,185,214, 90,179,  0,184, 70, 70, 70,126, 70,211,180, 33, 35,
- 98,165,232, 66,163,114,134,243,161, 81, 68, 68, 68,180, 81,212,161,177, 51,188, 33,189,  3,161, 79,239,208,238,247,223,127,191,
-219,179,103,207, 76,115, 98, 69, 40, 20,218,236, 40,109, 41,138,177, 54,156,150, 44, 90,166,203,109,225, 52, 12, 95, 26,156,224,
- 77,151, 27,192,225,112, 64,211, 52,172,  8,170,248, 71, 69,139,113,116, 96,109, 68,142,201,177,169, 54,113,104, 45, 35, 17,159,
-171, 69,203,112, 44,248,124, 62,126,251,237, 55,124,242,201, 39,160, 40, 10,118,118,118,112,112,112,128,189,189, 61,246,237,219,
-  7, 67,250,  7, 91,244,171, 86,171,253,101,201,146, 37, 51, 55,108,216, 32,102, 24,  6,  2,129,160, 66,104,205,159, 63, 95,161,
-209,104,126,177, 74,104, 25, 50,190,211,204, 29,123,123, 93,181, 81,135,230,182,177,224,175,229, 18, 25, 25, 57,156,166,233, 15,
- 96,146,194,193,164, 92,165,212, 15,108,122,  7, 22, 86,220, 79,174,254,139,155,103, 16, 88,132,145, 37,171, 66,112,145,213,137,
- 23, 79, 87,151, 83,155, 87,207,119,218,113,149, 64,106, 74, 10, 78,255,186,166, 92,100, 61,218,243, 23,210, 99,243,144, 26,219,
-  1, 41,177,239, 90,253,246, 68, 16, 45,235,120,185,224,169,140,134,180, 48,  3, 96,112,253,121,136, 44, 79, 87,207, 83, 63, 69,
-205,119,222,251, 23,137,212,212, 84, 28,223,179,166, 68,167, 83,190,243, 44, 34,107, 40,159,255, 65,112, 67,191,228,217,159,125,
- 48,160,109,  3, 31,184,103,220,197,161, 17,  3,176,112,215,135,112,244,228,224,205, 94,142,248,116,177,207,  0, 73,168,240,161,
-164,  3, 62,176,129,218, 88,100,181,172, 95,191,254,128, 75,151, 46,121, 52,111,222, 92,116,239,222, 61,229,198,141, 27,243, 21,
- 10,197, 49,  0,137, 54,112, 26,139,172,150, 51, 70,143,136, 95,186, 57, 90, 68,242,  5, 88,246,203, 33,140, 63,155, 73, 29, 78,
-151, 70,160,242,176,162, 89,168, 84,170, 19, 81, 81, 81, 42,146, 36,241,244,233, 83, 20, 22, 22, 34, 63, 63,191,226,187,184,184,
- 24, 28, 14,  7, 39, 79,158, 84, 75,165,210, 75,214, 54,240,226,197,139,245,179,178,178, 66,114,114,114, 90,235, 63,247, 80, 30,
- 93,232, 96,180,172,117, 78, 78, 78, 24,128,171,134,229,153,153,153,245, 46, 95,190, 44,169,137,223,209,209, 17,124, 62,191,146,
- 69, 75, 40, 20,194,219,219, 27, 58,157, 14,187,119,239,  6,128,167,213,113,240,249,130, 28,146, 36, 64, 51,180, 74, 36, 18,209,
- 18,137,196,172,192,178,133, 83,143,204,247,222,123, 79,153,144,144, 96,214,162, 85, 27, 78,134, 97,228, 61,122,244, 64,118,118,
- 54, 68, 34, 81,197,195,218, 32,168, 72,146,132, 80, 40, 68,110,110, 46,198,140, 25,  3,134, 97,228, 47,250,206, 99,236,211,164,
- 23, 67,  4,  0, 66, 47,132,170,248,105, 89,235,  3,101, 24, 26,100, 24,  6,  6,193,101,178,190,162, 46,107,178,183,155,248,116,
-141, 46, 46, 46, 94, 90,222, 28,102,163,201,247, 38, 27, 30, 10, 21, 66, 43, 41, 41,  9,209,209,209, 40, 46, 46,134, 64, 32, 64,
- 81, 81, 17,182,110,221,138, 59,119,238, 64, 32, 16,192,176, 47,172,213,111,109,219,182, 93,122,238,220,185, 59,131,  7, 15, 86,
- 36, 38, 38, 66,161, 80, 32, 49, 49, 17,239,190,251,174,242,194,133, 11,201, 10,133, 34, 18,214, 12, 29, 26, 50,190,235,167,215,
- 81,169, 84,184,126,253,186,217,143,165,109, 76,145,156,156, 28, 64, 81, 84, 35,134, 97, 58, 50, 12,227,  4,125, 10,  7,253,127,
-227,207,123,250,117, 78, 12,195,116,164, 40, 42, 56, 57, 57, 57,128,149, 19, 44, 94, 81,156, 49, 18, 91,140,145,200, 58, 83,189,
- 69,139, 38,163,182,172, 89,224,244,203, 21, 18,143,211,147,113,237,200,186, 18,138,214,190, 99,227,116, 56,221, 96,148,107, 67,
- 36,182,111, 70, 19,229,225,204,210,194,199,  0,195,169,141,208,170,196,  9,154,140,218,186,102,190,243,206,107,  4,178, 31, 63,
-194,133,131,107, 75,116, 58, 85, 87,164,196, 94,175, 13,231, 80, 62,127, 14,143, 67,204,238,209,254,127,252, 14,255,107,  8,251,
-252, 52,228,102,102, 99,119, 82,193,211,228, 34,213,168, 11,132,  6,233,143, 84, 91,122,125,230,230,230,234,195, 67,159,207,221,
-221, 46, 29,146, 30, 32,120, 50, 13,163, 97,150,228, 92,168,152,150,162,114, 59,171,194,199,209,209,113,240,181,107,215,156, 68,
- 34,145,248,218,181,107,244,198,141, 27,159, 40, 20,138, 35,  0,226,173,234,123, 85,248,181,105, 24,116,230,219,181,155, 69,101,
- 50, 57,100,106, 13,132,222, 18,106,127,252,173,254,176,156,  0,179, 18,167, 80, 40,220,185,115,231,206, 94,157, 58,117, 10,104,
-214,172, 25,249,244,233, 83,148,149,149, 85, 56, 87,123,122,122, 34, 41, 41,137, 78, 77, 77,205, 22, 10,133,187,172,109,231,219,
-111,191,157, 74,146,228, 61,253, 48,218, 61,152, 68, 23, 26, 21,109,148,147,147,211, 70, 34,145,156,  1, 96,103, 20,117,104,204,
-105, 72,239, 48, 19,  0, 73, 16,196,213,196,196,196,178,158, 61,123, 66, 44, 22, 67, 38,147,193,223,223, 31, 58,157, 14, 71,142,
- 28, 65, 66, 66,130,140,166,233, 51,102,196,107,165,118, 42,149, 10,127,  0,164, 66, 46,127, 99,248,240,225, 97,147, 39, 79,174,
- 20,146,238,229,229,  5, 55, 55, 55,155, 56,  1,224,233,211,167, 77,126,255,253,247,137,137,137,137, 95,247,234,213,203,121,230,
-204,153,194,250,245,235,131,162, 40,178,182,156, 69, 69, 69,206,215,175, 95,255,190, 67,135, 14, 95,246,236,217,147,251,237,183,
-223,194,217,217, 25, 20, 69, 65, 44, 22, 67, 42,149, 34, 50, 50, 18,231,207,159,215, 49, 12,179,182,164,164,100,138,141,231, 18,
-158,245,218,180,100,  1,178,148,146,193, 66,249,127,188,157, 38, 62, 93,208,167,112,152,110, 33,131, 61,172, 61,231, 13, 66,139,
-195,225, 32, 45, 45, 13, 27, 55,110,172,146, 71,203,144,254,193,  2,183,185,190, 51,167, 79,159,166,  8,130,120,235,218,181,107,
-211, 63,254,248,227, 81, 50,153,204,207,222,222, 62, 91,171,213,254,172, 80, 40, 22,163,220, 31,149,111,203, 61, 68, 38,147,165,
-155,139, 58, 52, 45,  3,184, 84,203,105,146,222,161, 82, 10,  7,147,109, 42,165,126, 48,147,222,225, 31, 63,238, 44,231,191,146,
-243, 85, 23, 91,150, 19,150, 86, 65,203,209, 60,158, 66,219,252, 92, 50,241, 44, 34,171,170,181, 68, 41, 79,158,187, 51,227,127,
-106,149, 18,178,146,188,251, 72,219,157,255, 76,221,210,183,243,108, 50,129,180,212, 71,184, 18,183,182,188,157, 41,177,181,110,
- 39,  1,124,179,254,104, 44,159,112,118,195,141,137,159, 32,187, 88,134,163, 41, 69,123, 24,185,234,139, 95,128, 34,156,  7, 72,
-157,234,220,214, 89,185,235, 58,126,228, 60,192,195,151,135, 21, 83,127,134,104,134, 59,255,205,174,157,108,153,  3, 49, 87, 36,
- 18,157, 91,189,122,117,183,142, 29, 59, 10, 35, 34, 34,204, 57,200,219,138,204,171, 15, 30,173, 63,188,225,135,169,238,205,219,
-225,199, 57,211,168,157,241,183, 76,163, 16,171, 69, 72, 72,  8,117,241,226,197,201, 99,198,140, 89,209,173, 91,183, 58,239,191,
-255,190,192,223,223, 31, 66,161, 16,143, 30, 61,194,185,115,231,212, 41, 41, 41,217,114,185,124,114,139, 22, 45,108,201,113, 86,
- 52,119,238,220,165,250, 58,  8,253,112, 97,107,232,163, 11, 13,133,244, 73, 75, 91,  3,176,155, 63,127,254,199,  0, 96, 33,236,
-123, 46,128, 13,  0,184, 12,195,228,198,196,196,188,117,240,224,193,183, 38, 77,154,196,239,213,171, 23, 46, 93,186,132,227,199,
-143,107, 52, 26, 77,188, 94,184, 90, 59, 85, 14, 13,224,186, 78,167,187,181,108,217,178,183, 56, 28,206, 92,195,138, 59,119,238,
- 96,219,182,109,181,225,212,  1,248, 62, 47, 47,111,125, 76, 76,204,220, 19, 39, 78,140, 28, 62,124,184,147, 86,171, 69, 82, 82,
- 18,126,250,233,167, 90,113,150,148,148, 76,244,240,240,152,125,228,200,145,159,143, 29, 59,214,111,216,176, 97,228,248,241,227,
- 17, 21, 21,133, 95,127,253,149,166, 40,234, 32,143,199, 27, 94, 88, 88, 40,123, 25,119, 29,253, 48, 92,182,141,115, 29,214,200,
-251, 44, 67,131, 86, 34,231, 89,  9, 12,253,232,220,185,115,133,149,209, 96,133, 51, 46, 67, 16,132,205, 67,135,  0, 92, 24,134,
-161,  1,172, 69,249,252,162,198, 89,225, 57,248, 59,115,188,181,140, 77,115, 84, 46,119,160, 66, 82,245,147, 74,187,  0, 12,154,
-214,192, 86, 60,119,238,220,149,243,230,205, 91,105,154,194,193,184,144,105,234,135,  5, 11, 22,128, 77,239,192,226,117,133,121,
-161,117,125,147, 86, 27,216,127,230,234,111,167,205,211,105,213, 37, 12, 52,225,120,180, 47,241, 89, 43, 99,104,102,198,201, 29,
-243,163,192,160,136,161,116,211,159,185,245,255, 80, 59,  9,103, 55,148, 70,142,197,175,183,179,153, 92,153,246,195, 95, 52,154,
- 74,214,160,114,159, 44,122,224, 41,101,209,110,215, 58,188,253, 19,223,113, 39, 14, 63,253,216,230,122,242,243,243,127, 91,185,
-114, 37,249,195, 15, 63,132,201,229,114, 83,  7,249,218, 98, 90,223,113, 51, 56,111,  6,  7,140,187,242, 48,253,  3, 88, 49, 92,
-104,138,183,223,126, 59,231,238,221,187, 67,142, 29, 59, 54,248,236,217,179,221,100, 50, 89,  0, 65, 16,176,179,179, 75, 87,169,
- 84, 39,132, 66,225, 78, 27, 69, 22,  0, 96,222,188,121,204,130,  5, 11,136,187,119,239, 50, 28, 14,231, 79,  0,169, 28, 14, 39,
-205,216,  9,222,120,185, 97,155,249,243,231, 91,243, 64, 60, 91, 86, 86,150, 16, 25, 25,217, 41, 50, 50,242, 13,189, 85,232, 44,
-254,246,249,178, 21, 90,  0,103,249,124, 65, 54, 65, 16,126,124,129, 80,118,241,226,197, 19,207,200, 41,215,104, 52,211, 31, 63,
-126,188, 98,197,138, 21,139,237,237,237,219,220,185,115,231,207,103,225,212,139,168,254,110,110,110,117,162,163,163,247,110,221,
-186,181, 29,151,203,189, 68, 16, 68, 68, 73, 73,201, 75,157, 84, 90, 63, 65,244,  2, 27,230, 58,180,138,247,121, 39, 41,253, 39,
-132, 27, 69, 81,101,179,103,207,206, 55, 21, 94,166,214, 43,195,127,125, 42, 23,107,246,169, 45, 81,148, 53,  8, 23,162, 12,  0,
-202,231, 46, 44,159, 86,199,218, 73,165,  1, 40,106,186,206, 73,146, 60,  8,224, 62, 73,146, 15, 77,  3, 93,140,215, 45, 88,176,
-160,166,235,156,  5,139, 87, 26, 86,220,217,230,147,192,252,218,122,210,190, 64,115,229,243,105,231, 16, 62,127,  1,  9, 76,  5,
- 64, 48,192,138, 95, 52,154, 89,213,109,232,243, 54, 22, 51,  4, 38,233,119,230,183,185, 23,176,168, 22,125,247,133, 21,243, 15,
-218,200,217, 24,213, 79, 40, 91,133, 51, 60, 60,156, 99,225, 97, 94,105, 82,105, 75,136,141,173,200,226,111,169,157,198,231,155,
-227,229,203,151,235,180,109,219, 54,  7,149,157,254,205, 45,103,108,236, 59,  7,  0,245,156,247,231, 43,193, 25, 20, 20, 36,120,
-244,232,145,250,223,117,109,178,156,255, 74, 78,151, 38,117, 65,224, 51, 24,231, 14,170,214,162,101, 36,208, 24,230, 39, 20, 39,
- 61,182,208, 78,195,117,238,146,156,156, 28,208,160, 65,131,116,  0,197, 38,237, 48,183,142, 97,143,209,127,158,211, 28, 70,163,
-242, 84,116, 44,204, 28,  8,150,147,229,100, 57, 89, 78,150,147,229,100, 57, 89,206,218, 10,173, 87, 26, 36, 88,176, 96,193,130,
-  5, 11, 22, 44, 88,252, 35, 32,170, 81,165,182,152,  4,107,163,108, 79,176,156, 44, 39,203,201,114,178,156, 44, 39,203,249,159,
-227,172,137,219,120,251, 87,117,232,240,133,181,155, 53,171,178,156, 44, 39,203,201,114,178,156, 44, 39,203,249, 44,130,229,149,
-  6, 23, 44, 88,176, 96,193,130,  5,139, 87,  6,221, 26, 66,194,165, 64,254,254,200,170, 32,170, 26,209, 51,  8,190,  0,240,188,
-248,254,163,144,  0,232,109,244,255, 48,244,145,241,172,208,122,117, 17, 12, 96, 38,  0,227,185,200,174,  0, 88, 98, 82,110,  7,
-  0,227,  9,  9,101, 40,159, 39,240,161, 45,149,145, 36,185,164, 83,167, 78, 95,156, 63,127,254,  7,157, 78, 23, 89,139,246,  6,
- 72, 36,146,165,  4, 65,180,  2,192, 35,  8,226, 81, 94, 94,222, 18,157, 78,247, 44, 81, 43,129, 62, 62, 62,223,  1,248, 31, 73,
-146, 60,130, 32,146,243,242,242, 22,233,116,186,211,207,192,233,232,237,237,221,158, 97, 24, 31,  0, 28, 30,143,247, 36, 43, 43,
-235, 50,106,153, 91, 41,124,126, 18, 95, 42,211,241,  0,192,201,158,171,141,157,223, 68, 99,237, 50,246, 20,103,193,226,191, 13,
-166, 60, 50,185, 18,222, 13,194, 98, 70,135, 41, 20, 64,244,168,143, 53,127,164, 98,138,165,237,  9, 51, 81,205,166,156,239,  6,
- 97, 49,197,148,115,244,  8,194,247,127, 60, 66,181,145,246,214,112, 26,176,  9, 32, 71, 91, 49, 75,  1, 97, 93,244,245,191, 29,
-189, 81,121,168,176, 98,232,176, 90,161, 53,176, 33, 36, 20, 23,220,216, 36, 24,194,120, 29,  1,188,161,127,200, 63, 68,121,174,
-162,210,103,108,220,171,194,249,111,195, 92,134, 97,134, 84, 58, 89,205,228, 33,122,231,157,119,222, 63,118,236,152,157, 97,190,
- 59,154,166, 33, 22,139,117,  0, 70,216, 80,151,215,192,129,  3,103,108,217,178,  5,  3,  6, 12,152, 29, 23, 23,183, 18, 64,153,
-181, 27,187,186,186,134,187,184,184, 68,109,222,188,217,179, 93,187,183,  8,129, 64,128, 71,143,146,253,198,140, 25,211,236,238,
-221,187,  7,243,243,243, 71,217,218,121, 55, 55,183,161, 46, 46, 46, 43, 54,110,220,232,209,161, 67,  7, 16,  4,129,132,132,  4,
-191,137, 19, 39,190,145,145,145,177, 43, 47, 47,239, 75, 91, 57,221,221,221, 27, 58, 59, 59,119,249,241,199, 31,197,237,219,183,
-135, 72, 36, 66, 98, 98,162,195,231,159,127,238,147,149,149,149,148,151,151,119,198, 86,145,117, 51,225, 80, 63,157, 70,181, 12,
-  0,184,124,225,180,118, 43,226, 15,221, 60,117,168,111, 77,203,194,231, 39, 29, 96,197, 22, 11, 22, 44,140, 49,180, 14,124, 24,
-  6, 83,143,253, 52,135,  4,128, 30, 35, 23,142, 31, 90,  7, 63,252,146,109,121, 14, 91, 27,249,166, 12,247, 69, 84,116, 22,242,
-158,165,157,155,  0,114, 34,151, 59,254,205,182,109, 61,190,186,112, 33, 89,  3,252,252, 31, 57, 68,102,135, 57, 45, 10,173,254,
- 77, 16,169, 43,183,152, 16, 61, 27, 96,215,241, 84,206,185,119,222,121,167,193,167,159,126, 74,180,108,217, 18,  9,  9,  9, 13,
-119,237,218,213,251,240,225,195,201, 20, 69, 37,  0,184, 13,235,179, 90,243,  0,132,114, 56,156, 86,255,114,206,127, 51,236,245,
-226, 42, 15,127, 39, 58,173,146,240,244,228,201,147,191,113,185, 92,131, 69,235, 77,153, 76,230,109, 98,  5,179,  6,245,180, 90,
- 45,238,221,187,  7,146, 36,121,  0,234,163,234,148, 26,150,224,103,103,103,183, 46,254, 74,130, 59,193, 21,163, 72,  9, 64,169,
-129,192,193, 27, 91,182,197,184, 77,158,240,101,255,211,167, 79,159, 43, 45, 45,221,110, 67,123,234,219,219,219,175,188,113,227,
-134,187,157,157, 29,104,154, 70,105,105, 41,124,124,124,176,121,243,102,151,201,147, 39, 15,145, 74,165,167,149, 74,229,175,182,
-136,115,103,103,231, 46,183,110,221, 18, 27, 38,148, 86,171,213,240,243,243,195,142, 29, 59,132,227,199,143,111, 82, 92, 92,156,
-169, 86,171, 83,172, 37,148,202,116, 60,157, 70,181, 44,122,237,252,186,  0, 48,252,203,249,203,  4,165, 78, 71,172, 89, 38,149,
-233, 14,  3, 96,133, 22,139, 23,141, 86, 30, 30, 30,177,133,133,133,103,  0,140,194,243,177, 52, 52, 20,137, 68, 45,104,154,246,
- 33, 73, 18, 28, 14, 39, 87, 38,147,221,  0,240,160,182,132,238, 65,157,251, 66,104,247,  9, 24,250, 13, 18,  0, 65,146,137,148,
- 70,190,237,201,131,211,135,158,137, 83, 32, 30,  9, 48,111,144,  0, 77,144,228, 13, 90, 39,223, 92,120,239,244,209,127,203,193,
-185, 84,130, 70, 65, 62,214, 79,140,249, 60,248,  6,  5, 66, 66,210, 32,119,164, 89, 63,172, 56, 14,232, 53, 97,194,  4,159, 47,
-191,248,130,248,100,196,136,224, 51,231,207, 19, 97,182,204, 86,240,106,194,162,227,187, 89,161, 21,222,  4,174, 12, 48,125, 87,
-212, 76,146,203,225, 16,131, 39, 44, 25,178,117,237,247,100,247,190, 17, 21,195, 39, 29, 59,118, 68,199,142, 29,137,101,203,150,
-  5,255,249,231,159,193, 59,118,236,208,197,199,199,223,  0,176,219, 82,101,239,  6, 65, 65,  3, 34, 62,143, 43, 27, 60,103,251,
-198,182,109,219,254,159,189,243, 14,139,226,106,219,248, 61,219,251, 46, 11, 11, 75, 71, 84, 58, 54,136, 98, 87, 44,216, 80, 44,
-137, 93, 99,124,237, 45,209, 68, 99, 98, 52, 38,182,216, 98, 84,140, 26,107,236,250, 26,123, 47,177, 87, 80, 64,197, 74,103, 89,
-154,244,178,253,124,127,  0,126, 72, 40, 11,152,215,148,249, 93,215, 92, 11,103,103,238, 61,211,206,220,243,156,  6, 30,143,135,
-250,104,  2, 64,247,198,140, 24,182,101,195,136, 97,211,230,199,183,110,221,150,188, 11,205,191, 17,119,129, 55,147, 90,203,157,
-156,156,218, 25, 12,  6, 62,  0,176, 88,172,226,196,196,196,105, 40,153, 27, 16,  0,142,154, 76,166,126,181,208,102,  0, 88,208,
-175, 95,191,121, 83,167, 78,133,179,179, 51,166, 79,159, 14,189, 94, 31,118,250,244,233,249,  0,150,161,134,155,199,198,198,102,
-254,134, 13, 27, 44, 89, 92, 17,252,230,196, 34, 37,219,  0,  0, 16,243,128, 99,147,  8,166, 79,159, 46,189,127,255,254,162,218,
- 24, 45, 27, 27,155,239,126,249,229, 23, 75,161, 80,  8, 66,200,155,185, 24,243,243,243,145,159,159,143, 41, 83,166, 72,159, 60,
-121,242, 67,109,140,150, 82,169,108,183,126,253,122,  1,159,207, 71,126,126, 62, 71,167,211, 81,121,121,121, 40, 44, 44, 36, 90,
-173, 86, 55,109,218, 52,222,163, 71,143, 58,167,164,164,196,128,230,175,  2, 19,192,  0, 54,155, 61,176,113,227,198, 31,188,120,
-241,226,129,193, 96, 56, 12,224,240, 59,120,153,234,106,111,111,191, 88,165, 82,173,  7,176,235,223,114, 64,149, 74,229,225,155,
- 55,111, 58,109,216,176,225,227, 85,171, 86,157,  2,240,223,122,200,113, 56, 28,206,160, 78,157, 58, 57,141, 30, 61,154,171, 84,
- 42,161,209,104, 16, 27, 27, 43, 61,112,224,128,203,195,135, 15,147, 74,103,196, 48,251,133,194,202,189,173, 24, 44,233,190, 54,
-109,219,181, 31, 60,104,128, 68,105, 37, 67,145,214,136, 23,241, 41,206,103, 78, 29,235, 20,205, 17,220,212,233,114,134,102, 62,
-191,153, 95, 91,205,192,192,174,237,187,117,237, 42,145, 89,200,144, 83,160,195,171,184,100,151,203,231,143,119, 96,177,  4, 87,
- 77,148,126,100, 90,212,249,194,247,121,110,166,  3,172,  2,190, 85,179,230,109,253,238,  7,141, 93,244,  1, 33,  4, 12,130,181,
- 21,163, 89,211,  1,214,218,146,105,191,106,165,  7, 66,  8, 69, 97,101,249,104, 86,143, 70, 88, 76,  8, 62,  7,  3, 84,143, 26,
-170, 41,203,  8,  2,120, 22,150,150,  1, 19,199,143,167,242,114,115,241,240,225,195,194,138, 38,235, 71,  7,112,174, 50,208,224,
-104, 98,221,205,246, 95, 52,154, 85,105,213,161,217,227,104,  9,133,194, 74,211,101, 50, 25,  2,  3,  3,177,116,233, 82, 22,  0,
-255, 10, 95,191, 61,201, 42,192, 59,177,113, 46,100, 34, 30,195,217,217, 89, 34,149, 74,235,173,  9,  0, 32, 38,215,182,206,164,
-215,189, 95,191,250,248,194,158,213,190,  5,121,217,236,138,171,136,197, 98,120,120,120, 96,222,188,121,230,105,214,159,255,169,
-166,173,173,173,103,135, 14, 29,252, 47, 93,185, 98,161, 82,169,120, 42,149,138,119,238,210, 37,139, 54,109,218,248,219,218,218,
-122,190, 57, 84,132,212, 38,159,223,135,134,134,206, 63,122,244, 40,163, 67,135, 14,144,203,229,  8, 12, 12,196,169, 83,167, 88,
-171, 86,173, 90,  2, 96, 94, 77,249,100, 48, 24,237, 59,116,232, 64,129, 16,168,115, 12,184,179,212, 19, 15, 87,122, 33,175,152,
-224,117, 78, 46,138,138,138, 33, 20, 10,249, 40,169,238, 53,119,223,219,182,105,211,134,  2,240,198, 92,229,229,149, 44,249,249,
-  5,208,106,117,224,241,120, 18,  0,124,115, 53,  9, 33,182,237,218,181,  3,  0,232,116,186, 55,111,120,217,217,217, 84, 78, 78,
- 14,180, 90, 45,216,108, 54,  7, 53,183,107,124,163, 41, 21,177,244, 44, 14,111,246,232, 41,223, 38,142,158,242,109, 34,139,195,
-155,173,149,228, 26,205, 73,147,138, 88,250,247,124,125, 90, 51, 24,140,109,141, 26, 53,122,194, 96, 48,118,  2,176,173,167,102,
- 75,  0, 75,  4,  2,193,  5, 47, 47,175, 68,161, 80,120,169,212,168,183,169,163, 38, 87, 40, 20, 94, 90,178,100,201,193,  7, 15,
- 30, 12,190,120,241,162,107,100,100,228,160,229,203,151,239, 19,139,197,215,240,118,187,196, 90,223,155,174,174,174, 91,239,220,
-185,211,178,109,219,182, 91,  0,240,222,209,253,206,  4,208,  2,102,205,200,241, 94,206,187,189,159,159,159, 19,159,207, 71,183,
-110,221,  0,160,115,125, 52, 57, 28,206,160,121,243,230, 53,250,230,155,111,184, 41, 41, 41,184,116,233, 18,238,222,189, 11,131,
-193,128, 73,147, 38,241, 70,143, 30,221, 80, 34,145, 12,170, 85, 62, 89,210,125, 51, 62,253,172,231, 23,211,199, 73, 34, 18,116,
-216,126, 33,  1, 71,110,165, 32,173,144,139,190,131, 70,203,122,132, 12,233,193,229,201,246,213, 86,243,203, 57,115,122,142,255,
-100,184,228,113,138,  9,199,110,171,113,251,105, 14, 12,108, 11,244, 30,244, 31,121,243,118, 61,251,176,192,222,241,190,207,209,
- 47, 64,235, 25, 51,102, 88,207, 94,185,251,134,125,203,  1,107,211,179,208,161,188,241,113,  7, 44, 44, 69,162,  1, 79, 59,117,
- 26, 39, 40,153, 47,182, 90,205,183,244,252, 67,214,165,101,161, 99,249,246, 89, 29, 45,225, 86, 90,173,200, 60,183,237, 27,  6,
-161, 48,125,132,253, 91,229, 64,165,249,252, 29, 24, 60,227,179,207,216, 50,185, 28,161,161,161,208, 20, 20,188,213,102,182,171,
- 19,122, 94, 16,178,146, 26,122, 57, 62,  9,116,161,174,253,  3,223, 87,198, 87, 25,209, 58,113,226,  4,  9, 14, 14,166,  0,224,
-208, 19,100, 13,242,198, 15, 67,166, 46,153, 71, 49, 40,210,192,183,237, 99,135, 70, 62,  5, 86, 86, 86, 40, 44, 44,132, 70,163,
-  1,135,195, 65,113,113, 49, 18, 18, 18,112,251,246,109,200,229,242, 90,229, 36, 55, 55, 23, 98,177, 24, 98,177,248,157,104,206,
-253,184, 27,239, 85, 98, 58,239,236,237,223, 59,253, 52,249,191,173, 27,181,232, 28,217,117,200,244, 40,169,181,125,113,100,100,
- 36,110,222,188,137,172,172, 44,  4,  4,  4,252, 83, 78,230,221,210, 54, 89,119,  1,200, 27, 55,110,236,120,246,194, 85,121,126,
-177, 73, 26,151,170,103,155, 76, 38,  8,133,118,134,253,135,142,229, 12, 30,212,151, 82,171,213,105,  0,238,150,154,219,154,230,
- 84,228,  3,240,252,240,195, 15,191,156, 60,121, 50, 94,190,124,137,113,227,198, 21,221,189,123, 55,179,109,219,182, 86,191,252,
-242,139, 96,230,204,153,184,114,229,202,130, 19, 39, 78,252,  6, 32, 22, 64,165,115,181, 17, 66, 56, 28, 14,  7,134, 82,219,160,
- 51,154,222,248,251,220,220, 92,144,162, 44,112, 56, 28, 38,  0,107,152,217,142,206,100, 50,113,216,108,246, 27,147,149,144,154,
-139,132,180, 66,228,230,107, 81, 84,100,128,182,136,128, 41,180, 98,  1,113, 74,  0,113,230, 70, 71,248,124, 62, 12,  6,  3,242,
-242, 74,178, 81, 22, 41,211,106,181,200,201,201,  1,147,201, 20,  3,144,  2,120,109,142, 96,105, 35,247, 35,165,213,128,184,183,
-187,159,226,197,201,185,111,165, 73, 69, 44,253,161,153,222, 76, 43,199,230,215, 91, 12,222,225,245, 38,237,253,182,207,226, 89,
- 91, 91, 95, 62,120,240,160,183,155,155, 27, 98, 99, 99,189, 62,250,232,163,128,148,148,148, 22,168,253,156,140, 66,  6,131,241,
-195,232,209,163, 39, 15, 27, 54,140,114,119,119,  7,139,197,130,193, 96,112,124,249,242,101,224,129,  3,  7,230,108,221,186,245,
- 23,163,209, 56, 11,230,183,251, 99,112,185,220,253,155, 54,109,234, 24, 16, 16,128,157, 59,119,226,238,221,187,166,150, 45, 91,
- 50, 70,141, 26,  5, 23, 23,151,128, 81,163, 70, 29,209,104, 52,189,235, 24,217,114,105,211,166,141, 19,147,201, 68,219,182,109,
- 57, 55,111,222,244,  3,112,179,158,199, 84,236,232,232,120,165,115,231,206, 45, 46, 92,184, 16,174, 86,171, 59,215, 98,127,  1,
- 32,196,222,222,126,185, 76, 38,147,215,162,140, 45, 76, 78, 78,254, 28,192, 33, 51, 55,105,237,239,239,143,248,248,120,120,122,
-122,130,195,225,180,209,233,116, 19,  0,244,  4,240, 53,128, 39,181,200,175,123,215,174, 93,157, 58,119,238, 76, 29, 58,116,232,
- 77,251, 80,  6,131,  1,131,193,  0, 14,135,131,214,173, 91, 51,194,194,194, 28,238,221,187,231, 14, 51,170, 17,173, 26,117,238,
-219,182,125,167,246, 29,  3,154, 49, 86, 29,122,  1,163,201,  8, 38,101,  0,139, 50,193,164,231,129,199, 97,194,221,247,  3,230,
-211, 71, 17,  1, 90,141,174,111,230,243, 11,199,205,209,236, 25,212,189,131,183,167, 59,227,167, 35,175,144,157,252,196,152, 28,
-125, 53,131,193,100,192,219,191,139,194,221,167,  5,179, 69, 64,103,182, 42,246, 81, 96,113,113,199,110, 89, 47,175, 94,120, 31,
- 55,228, 66,128,233,232,160, 24, 16,220,189, 51, 39, 69,165, 42, 56,112,232,120, 84,161, 30,183,  1,224, 10, 64,245,  6,154, 53,
-109,213,170,211, 47,203,150, 89,217,217,217,177, 71, 14, 27,102,216, 28, 30, 30,142, 42,170,126, 23,  2, 76,133,173,109,183,137,
- 19, 39, 50, 83, 84, 42,114,224,240,201,200, 50, 61,148,188,165, 52,109,230,232, 21,140,130,167,181,170,166,236, 11,112,149,182,
-182,222, 19, 38, 76,128, 90,165,194,206, 93,187,242,139,129, 91,101, 81,172, 99, 76,172,247,105,100, 59,102,246,127,250, 81, 78,
-118, 10, 76, 92,176,185, 77,160, 46,173, 17, 82,254,255,252,151,247, 34,127, 99,147, 53,190, 82,163, 85,145,255, 62,193,124,  9,
-  7,174,  7, 14,236,101,164,231,233, 10, 94,190,124,  9,133, 66,  1, 59, 59, 59,200,100, 50, 60,126,252, 24,151, 46, 93,194,179,
-103,207, 96, 50,153,208,188,121,243, 90,229, 38, 35, 35,  3, 17, 17, 17,144,203,229,239, 76,179,145,147, 53,166, 58, 89,115, 82,
- 51,115, 57, 23,238, 62, 11,216, 60,119,144, 15,195,107,208,214,242,147,196,106,181, 90,252, 67,120,211,187,208,201,201,169,221,
-246,237,219, 57, 26,  3, 36,238, 19,110,173, 40, 40, 54,138,  0, 64,196,103, 22,132, 45,247,152,245,253,247,223, 23,124,242,201,
- 39, 94,137,137,137, 75,205,136,245, 47,238,218,181,235, 23,132, 16,246,140, 25, 51,  0,  0,163, 71,143,206,189,125,251,182, 59,
-128,180, 75,151, 46,217,143, 29, 59,246,249,229,203,151,133,159,125,246, 25,211, 96, 48, 60,102,177, 88,228,196,137, 19,223,  1,
-248,246, 15, 79, 68,  6,227,126,120,120,120,  3,123, 23, 15,184, 88, 49,208, 97,222,179,146,  2, 78,104, 66, 82,220, 43, 68, 71,
-222,133,173,173,173,204,206,206,238, 73, 82, 82,146, 46, 57, 57,121, 78, 65, 65,193,134, 26,242,248, 48, 44, 44,204,206,197,197,
-  5,249,249,249, 72, 74, 47,196,244,195, 66,228, 22,149,  4, 49,216, 40, 66, 11, 39, 15,137,128,161,189,155,150,150,166,211,106,
-181,223,228,228,228,108,175, 78,147,205,102,103, 70, 70, 70,138,157,157,157, 81, 92, 92, 76, 94,191,126, 77, 21, 20, 20, 32, 47,
- 47,143, 58,121,242,100,255,148,148,148,150,174,174,174,148,163,163,227,119, 41, 41, 41, 69,201,201,201,227,204,169,154, 44, 53,
- 76, 70, 22,139,181,106,252,248,241,131,127,251,237,183,251,135,190,245, 14, 41, 87, 93, 34,243,245,245, 61,219,172,153,143,253,
-174,149, 77,215,  2, 88,241, 23,184,182,198,124,245,213, 87,222,150,150,150,152, 56,113, 34, 22, 46, 92,136,249,243,231,187, 77,
-156, 56,113, 60,128, 31,107,161, 35,176,181,181,189,247,211, 79, 63,121,181,107,215, 14,167, 78,157,194,222,189,123, 17, 19, 19,
- 99,112,117,117,101,  5,  4,  4, 96,193,130,  5,232,209,163,199,184,105,211,166,117, 82,169, 84,126,102,154,143, 79, 22, 44, 88,
- 16,210,190,125,123,124,252,241,199,154,223,127,255,125, 48,128,115,231,207,159,239,114,229,202,149, 67,187,119,239, 22, 44, 89,
-178,164,219,204,153, 51, 39,  2, 88, 87,135,253,239,223,177, 99,201, 28,202,237,219,183,199,242,229,203,123,212,211,104,113,173,
-172,172, 78,238,220,185,179,133,135,135,  7, 70,142, 28,233, 55,120,240,224,147, 89, 89, 89,221,  1,152, 85, 32, 57, 56, 56,252,
-112,244,232,209,198, 85,213, 44, 84,134, 70,163,177, 28, 48, 96,192,178,184,184,184, 90, 25,173, 61,123,246,224,243,207, 63, 71,
-243,230,205,155,181,110,221,122,227,132,  9, 19,240,225,135, 31,118,125,252,248,177, 18, 37,189,150,107,132,207,231, 55, 27, 58,
-116, 40,247,206,157, 59,  0,  0, 95, 95, 95,180,104,209,  2,155,104,178,222,  0,  0, 32,  0, 73, 68, 65, 84,241,241,241,184,127,
-255, 62, 52, 26, 13,148, 74, 37,  6, 14, 28,200,143,139,139,107,150,145,145, 81,163,209, 98,240,132, 99, 66,130,123, 75,142,221,
- 78,129,209,100,192,  7,141,165,  8,240,178,193,211,164, 92,132, 61, 73,130, 81,203,129,212,210, 10,109, 58,  5, 89,170,147, 99,
-198,100,  2, 53,183,215,226,  9,199, 12, 12,233, 35, 62,118, 75,133,108, 85, 52,121,113,247,183, 75,250,226,130,113,  0,112,255,
-226,190,141,182, 86,130,238,238,254, 31, 48, 59,119,239, 39, 63,188, 87, 61, 38,235,127, 51,183,223, 31,184,226,132, 77, 46,236,
-140,209,179,135,119, 32,108,185,227, 93,137, 94,191,190,236,187, 30, 64,208,156,175,190,106,253,159,241,227,249, 38,147,  9,187,
-127,253, 53, 55, 34, 60,252,233,120,192, 52,161, 10,189,245,128,203,224,144, 16,158, 68, 42,197,167,211,167, 67,162,215, 95,126,
-115, 72,128,174,159,126,241, 69,187, 41, 83,166,  8, 54,126, 55,249,126,143,177,139,252, 77,132, 80,101,213,148,123,170, 15,197,
-181, 28, 27, 18,  2,137, 84,138, 25, 51,102,128,210,233,206,190, 49, 80, 44, 92,254,164,127,135,128,225,125,219,131,  2,133,189,
- 39,174,227, 69,124,122,228,229, 20,188,250,187,186,170, 10, 84,217, 70,171,218,170,195, 60, 29, 82,187,246, 25,148,226,238,238,
-158,231,230,230,150,151,153,153,137,168,168, 40,100,101,101, 97,221,186,117,136,142,142,134,201,100,170,179,129, 49,153, 76,120,
-215,154,  0,160,180,146, 98,100,239, 86, 44, 77,113,  1, 63, 61, 61,253,173,234,163,127,144,209,122,131,193, 96,224,187,186,186,
-130,  1, 80, 57,133,122,177,122, 79, 71, 74,189,167, 35,149, 83,168, 23,107,181, 90,134, 88, 44,134, 70,163,225,155, 33,197,238,
-213,171,215, 23,191,253,246, 27,123,241,226,197,104,210,164,  9,116, 58, 29,110,223,190,157,  4, 32,173,116, 29,213,213,171, 87,
- 85,101, 70,120,233,210,165, 56,124,248, 48,213,173, 91,183, 57,149, 93, 79, 41, 41, 41, 63, 76,152, 48,225,117, 97,222,107,108,
- 26, 82,132, 67, 35,211,177, 45, 36,  6,195,172, 14,226,117,106,  2, 54,111,222,140,243,231, 47, 80,231,206,157,231,252,254,251,
-239,162, 62,125,250,172,117,112,112, 56, 81, 93, 38, 85, 42,213,226, 41, 83,166,100,231,229,229, 33, 47, 47, 15, 69, 69,197,120,
- 93,  0, 68,174,246, 70,228,106,111, 20,155,  4,  8, 93,191,129, 17, 25, 25,169,136,137,137,177,239,219,183,239,106, 59, 59,187,
-173,213,105, 38, 39, 39,223,153, 58,117,106,113,110,110, 46,180, 90,173,206,104, 52,106,139,138,138,244,251,246,237,251,204,202,
-202,170,205,169, 83,167,216,231,207, 95, 96,253,254,251, 21,206,165, 75,151,100,129,129,129,251,149, 74,229, 14,115, 34,101, 76,
- 38,115,205,174, 93,187,198,132,134,134, 42,  3,  2,  2,124, 42, 84, 69,217,117,239,222,189,193,175,191,254,234,176,124,249,242,
- 57, 40,233,128,242, 94, 81, 40, 20,211, 66, 66, 66, 16, 26, 26,138,227,199,143,207, 92,187,118, 45,122,245,234,  5,123,123,251,
-169, 48,191,218, 11,  0, 86,252,248,227,143, 94, 94, 94, 94, 24, 61,122,180,118,220,184,113,179,182,111,223,238,122,237,218, 53,
-206,142, 29, 59, 26, 76,156, 56,113,198,240,225,195,139, 27, 54,108,136,117,235,214, 53,102, 48, 24,107,204,186,191,149,202,207,
-134, 13, 27,134,149, 43, 87,226,247,223,127, 31,132,146,  7,170, 22,192,233, 27, 55,110,244, 93,178,100,  9,  6, 13, 26,  4, 71,
- 71,199, 25,117,137, 60,121,123,123,127,211,179,103, 79, 92,187,118, 13,126,126,126,104,211,166,205, 76,  0,138, 58, 30, 78,134,
- 88, 44,222,191,125,251,246, 14, 13, 26, 52,192,162, 69,139,208,168, 81, 35,108,221,186,181,131, 72, 36,218, 15, 51,155,111,200,
-100, 50,177, 80, 40,196,156, 57,115,200,160, 65,131, 94,215,180,204,156, 57,147,240,120, 60,200,229,114,115, 59,190,  8,248,124,
-126,219, 38, 77,154,224,246,237,219, 56,127,254, 60,230,205,155,135,207, 62,251, 12,233,233,233, 24, 58,116,168, 16,192,135,181,
-216,111, 27,107,107,107,228,230,150,204, 11,223,164, 73, 19, 60,120,240,  0,233,233,233,112,116,116,132, 90,173,134,149,149, 21,
- 60, 60, 60, 96, 50,153,108,204,147, 36, 77, 20,150, 50,164,101,105,192,130,  1,254,238, 10, 92,142,202, 68, 66,186, 22, 54, 86,
- 22, 80,167,165,195,193,138, 15, 39, 39,103, 16, 98,106, 98,150,  3,102, 50,252,121,124,  1, 94,231,233,144,252,228,247, 76,157,
- 81, 51, 33, 59,246, 70, 98,118,236,141, 68,157,166,120,194,253,235,231, 51, 27, 40,  5,112,114,114,  2, 69, 76,173,222,199,253,
-248,145, 51,156, 68,  2,214,232,243,219,190,161, 78,252, 50,151,210,100, 38,180,236,169, 44,137, 44, 91,  3,174, 31, 13, 29,218,
-118,214,172, 89,252,212,212, 84,211,240, 33, 67, 94, 47,254,246,219, 11,103,106,120, 49,200,  7,220,186,119,239, 14,  6,128, 51,
-231,206, 21,168,129, 36,  0, 80,  2, 78,253,  6, 12,232,248,213,151, 95, 10, 50, 50, 51, 77,183, 95,230, 31,139, 78, 35,  3, 45,
-141,112, 53,167,125,150, 17,104, 90,166,123,246,236, 89, 82,  4,220,  7,128,206, 78,152, 26,212,206, 55, 96, 84, 72, 71,164,164,
-101, 97,198,226,109,216,120,224,202, 89,153,158,116,249,  7, 61,138,199,215,201,104,149, 86,253,252, 33,173,176,240,143,181,  7,
-245, 53, 48,127,134,102,101,252, 19,141, 86, 25,122,125, 73, 45,137, 86,111,130, 86,111, 42,123,171, 69, 81, 81,145,217, 18,103,
-207,158,221, 57,125,250,116,172, 94,189, 26,207,159, 63,  7,135,195, 65,147, 38, 77,236,  0,136,203,202,124,127,127,127, 27,  6,
-131,129,167, 79,159, 98,213,170, 85,248,228,147, 79,200,205,155, 55,183,162,242,241, 82, 30,188,126,253,122,253,132,113,159,100,
-103,165, 38, 64, 95,148,133,180,228, 87,208, 20,100, 99,209,210, 31, 80,168,103, 65,157,163,131, 58, 71,  7,  6,207, 18, 27,127,
-217,206,244,246,246,238,201,100, 50,131,171,201,231,237,212,212,212, 95, 38, 77,154,148,173, 86,171,223,236,159, 86, 79,160,213,
-191,125,189, 10,133, 66,172, 89,179, 70,230,238,238, 30,194, 98,177,  2,171,209, 76, 73, 76, 76,140,158, 52,105,146, 54, 53, 53,
- 21, 57, 57, 57, 56,118,236, 88,223,  6, 13, 26,200,151,173, 88, 77, 21,232, 88, 80,103,235,160,206,214,129, 43,182,193,254, 67,
-191, 49, 61, 60, 60,134,179, 88,172, 54, 53,153,172,221,187,119,143, 26, 50,100,136,100,197,138, 21,175,143, 30, 61, 26, 10,160,
-252,  9,121,186,102,205,154,  3,251,247,239,207,251,226,139, 47, 44,151, 47, 95, 62,243, 61,155,173,192, 33, 67,134,120,154, 76,
- 38, 28, 60,120, 48, 18,192,143,191,253,246,219, 61,141, 70,131,161, 67,135,186,150, 86, 35,153, 67,203,225,195,135, 79,238,208,
-161,  3, 62,253,244, 83,221,133, 11, 23,252,  1,172, 70, 73, 85, 46,  1, 16, 15, 96,237,149, 43, 87,154, 79,155, 54, 77,211,170,
- 85, 43,124,252,241,199,159,  0,232, 80,131,110,219, 97,195,134,121,153, 76, 38,236,219,183, 47,  2,192,169, 10,223, 95, 58,116,
-232,208,109,173, 86,139, 17, 35, 70, 52,  4, 80,155,130,156,195,227,241, 14,126,255,253,247, 22,201,201,201, 24, 53,106,148,230,
-233,211,167,248,246,219,111,  5, 50,153,236, 84,185,123,192,108,120, 60,222,230,159,127,254, 57,164,105,211,166,152, 52,105,146,
-118,195,134, 13,211, 39, 79,158,172,245,247,247, 71,104,104,104,  8,151,203,173,213, 20, 29, 42,149, 42,251,201,147, 39, 86, 53,
- 45, 73, 73, 73,230,118,207, 23,138,197,226, 91,190,190,190,185, 77,154, 52,249,192, 96, 48,224,241,227,199,175,118,238,220,105,
-106,210,164,  9,214,175, 95,143,229,203,151, 35, 56, 56, 24, 76, 38,211,108,163,197,100, 50,161,211,233, 32, 20, 10,193, 98,177,
-240,234,213,171,178,161,101,192,225,112,  0,  0, 34,145,  8,  2,129,  0, 12,  6,195,172,222,104, 20,  5,146, 91,168,  7,155,205,
-  0,139, 97, 66,116,124, 14,116,122, 19,248, 28, 38,216, 44, 10, 32, 38, 88,136,216,224,115,153, 96, 80,148,201, 76, 77,228, 20,
-232,192,229, 48,192,230,112, 41,134,193, 40,120,243,112,100, 25,  5,  2,  1,151, 82, 72,121,224,115,254, 66,211,  2, 83, 37, 13,
-203,199,  0,108,145,179,243,224,149,171, 86,113,115,243,243, 49,104,208,160,215,113,247,238,237, 42,  2,238,117,170,161,147, 18,
-131,197,114,239,220,169, 19,194,194,195,145,151,149,245,  2, 40,105, 28,207,181,183, 31,178,102,205, 26,110, 81,113, 49,  6, 13,
- 28,152,253,252,250,245,221,137,249, 56,177, 47,190,196,136,213,120,222, 57, 28,219, 50,221,156,172,172, 44,160,100,  8,  9,165,
-181,120,217,148,225, 61,144, 87, 88,140,217, 63,236, 50,133, 71,167, 76,189,150,132, 62,191,169,144,243, 15,123, 12,143,175,176,
-  0, 48, 99,192,210,178,232, 82, 77,102, 69,163,209,188,115,  3, 84, 95,205,202, 76, 98,125, 53,255,138,176, 88,172,226,103,207,
-158,113,165, 86,246, 38, 43,  9, 59,171,193, 39,215,101,  0, 96, 41,102,229,232,140,122,147, 74,165,  2,143,199, 43, 54,179,186,
- 97,220,230,205,155, 23,  1,240, 97,177, 88, 39,182,111,223, 78,237,218,181, 75, 62,108,216,176,151, 79,158, 60, 73,246,245,245,
-117,217,190,125,187, 20,  0,214,174, 93, 75,246,239,223,223,  3, 37, 67,102, 84, 57,142, 75,106,106,234,183,153,153,153, 55,167,
- 76,153,178,142,203,229,202, 69, 34,145,213,181,107,215,168, 98, 29, 65,203,175,226,223,244, 68,148, 10, 24,184, 58, 87,138,241,
-227,199, 51,159, 60,121,178, 52, 57, 57,249, 68, 53,154,115,178,179,179,175, 61,127,254,124,181,204,177,133,181,200,229, 43, 89,
-192,220,167,  0,  0, 23,  5, 27,140,210,114, 49, 59, 59, 27,233,233,233,152, 60,121,178,252,229,203,151,115,146,147,147, 47, 87,
- 19,213,186,146,145,145,145,244,232,209,163,206,108, 54,155, 43, 18,137, 90,222,186,117,139, 42,214,154,208,108, 78, 60, 94,231,
-151,228,211, 82,204,194,253,239,149,152, 58,117, 42,235,197,139, 23, 63,164,164,164,180,175,180, 48, 99, 48,150,151, 55, 89,179,
-103,207,126,  8,160, 33,128,183,170, 70,141, 70, 35, 53, 98,196,136, 40,  0, 77,190,248,226, 11, 75, 66,200,204, 57,115,230,188,
-  6,176,233,127,125, 45, 73,165,210,101, 19, 38, 76,192,254,253,251,145,149,149,181,  6,  0,114,115,115,127,220,179,103,207,190,
-113,227,198,225,215, 95,127, 93,150,158,158,126,  6, 53,119,213,238, 53,116,232, 80,156, 62,125, 26, 23, 47, 94,252,  6,192,227,
- 42,214,123,126,237,218,181, 57, 71,143, 30,253,105,216,176, 97,216,182,109, 91, 79,  0,213, 53,144,237,222,163, 71, 15,156, 58,
-117, 10,153,153,153,161,149,173,144,157,157,189,225,216,177, 99,173,123,244,232,129,165, 75,151,118,  7,112,201,140, 93,247,146,
-201,100,219,127,250,233,167,150, 77,155, 54,197,240,225,195,139,117, 58, 93,207, 47,190,248,226,248,222,189,123, 37, 59,119,238,
-252, 96,252,248,241,119, 74,199,124,187,109, 86, 40,139,193, 88,178,106,213,170,177,157, 59,119,198,204,153, 51, 13,103,207,158,
-237,  7,224,220,153, 51,103, 94,206,158, 61,251,228,170, 85,171,152, 43, 87,174, 28, 59, 99,198,140,116,147,201,244,190,204,245,
-247,107,215,174,109, 29, 20, 20,132, 87,175, 94,225,246,237,219,208,233,116,191,222,186,117,235,170,155,155,219,247, 90,173,246,
-184, 72, 36, 26, 45,145, 72,124, 91,180,104,209,229,254,253,251, 66,152,215, 78, 47, 53, 54, 54,214, 66, 38,147,193, 96, 48, 32,
- 50, 50, 18,206,206,206,208,233,116,136,137,137, 65,211,166, 77,193,225,112,144,154,154,138,114,209,242, 26, 76, 17, 35,242,101,
-156,170,161,165, 68,  4, 24,249,120,240, 52,  9,214, 10, 57,140, 20,  3,106,117, 10, 90,120, 58,130,162, 40,100,103,170, 65, 81,
- 84,148, 57,154, 70, 98, 10, 75, 80,165, 57, 88, 73,120,104,218, 58,200,234,214,153,244, 93,210,134,237,198,179,152, 20,147,203,
- 19,111, 26,251,241,199, 10,147,137, 32, 59, 51, 21, 44,  6,227,238,251, 56, 65,  7, 19,144,216,169, 17,255, 65,208,216, 69, 45,
- 40,  2, 82,164,195,206,109,169,200, 18,  2, 45,214,126,253,181,133,149, 66,129,225,195,135,155, 50,147,147, 47, 20,154, 57,176,
-114, 67, 55, 55,165, 88, 34,193,141, 27, 55,192, 44,105, 99,139,173,128,215,242,217,179,173,108,108,109,241,201,216,177,166,212,
-132,132, 75, 69,128,170, 54,121,109,216,168, 17,187, 76,151, 81,170,155,194,196,244, 47,250,117,224,137,  4, 60, 44,217,248, 27,
- 18, 51, 10,246,221, 74,193,198,127,104,188, 99,115,181, 17,173,170, 26,159,149, 52,170, 22, 86,107, 86,248,124,254,155,104, 74,
- 45,222,244,222,185,102, 77,252, 25,154,239,145,185,  0,142,  2,152,155,152,152, 24, 61,118,236, 88,157, 65,167,201,187,185,168,
-225,151,225, 75, 27, 76,186,245,173,221,164, 35,211,101, 95, 22,230,188,206, 91,187,118,173, 62, 49, 49, 49,186,252, 54, 53,104,
- 39,  0, 56,181, 99,199,142, 13,  7, 15, 30, 68,147, 38, 77,240,248,241, 99,155,130,130,  2,191,168,168, 40, 75, 47, 47, 47,236,
-218,181, 11,251,247,239, 95, 13,224,124,117, 38,171, 12,131,193,112, 65,173, 86,123,196,199,199, 55,182,176,176,208, 91, 88, 88,
-160, 98, 79,196,220, 34, 19, 50,179,115, 96,105,105,  5,169, 84,234,106,134, 57, 63,165, 86,171,221, 77,114,207,142,238, 25,107,
-114,194,150, 56, 33,108,137, 19, 78,205,177,135,157,  5, 23, 89, 89, 89, 72, 79, 79, 71,122,122, 58, 40,138,130, 94,175,247, 54,
- 67, 51, 38, 37, 37,101, 75, 66, 66,194, 81,165, 82,  9,137, 68,  2,  2, 64,157,173,199,195,149, 94,120,184,210, 11,234,108, 61,
-114,243,242,208,160, 65,  3, 72, 36,146,170,170, 40, 24, 14, 14, 14,189,135, 12, 25, 34,  1,128, 82,  3,213,149, 16, 50,169,146,
-101,162,193, 96,104, 87,182,238,231,159,127,110,  9,160,199,255,248,122, 98,  2,152, 50,110,220,184, 15,248,124, 62,214,175, 95,
- 31,  3, 96,119, 89, 89,191, 97,195,134,167,  0, 48,125,250,116, 95,  0, 51, 81,197, 72,208,111, 66, 67, 28,142,191,183,183, 55,
-110,221,186,  5,  0,191,213,240,219,135,110,222,188,  9, 55, 55, 55,240,249,252,150, 53,172,235,234,228,228,132,167, 79,159,  2,
-192,131, 42,214,121,240,244,233,211,146,234, 30,138,114, 53, 99,223, 67,130,130,130, 34, 47, 95,190,220,178,109,219,182, 24, 59,
-118,172,246,206,157, 59,189,  1, 92,125,240,224, 65,224,136, 17, 35, 10,220,221,221,113,229,202, 21,175, 17, 35, 70,220,100, 48,
- 24,139,204,208,252,228,187,239,190,155,219,191,127,127,124,247,221,119,228,192,129,  3,195,  1,156, 43,253,238,236,190,125,251,
- 70, 45, 94,188,152, 12, 28, 56, 16, 11, 23, 46,156, 11, 96, 82,117, 98,  5,  5,  5, 57, 70,163, 17,  5,  5,  5,102,133,228,205,
- 93, 95,161, 80,244, 10, 10, 10,194,188,121,243,224,224,224,128,227,199,143, 19,  0, 39,  0, 92,211,106,181, 29,  1,172, 42, 40,
- 40, 56,114,235,214, 45,116,239,222,157,131,183,167, 24,169,238,247, 35,247,236,217,163,145,201,100,112,113,113, 65,195,134, 13,
-161, 86,171, 17, 23, 23,135,166, 77,155,194,223,223, 31,  6,131,  1, 91,182,108, 41,206,203,203, 51,107, 76, 62,131,182, 96,231,
-249,147,135,115,172, 36, 60, 56,218,200,208,192,193, 18,249,217, 25, 72, 87,171,224,239,237,140, 78,254, 13,144,145,163,197,217,
- 19,135,179,242,242, 10,119,154, 21,194,215, 20,110,191,112,230,120,142, 92,194,129,135,167, 47, 70,140,157,222,162,133, 95,192,
-249, 86,173,218,157, 93,177,108, 73,179,174,109,188,169,164,140, 98,156, 62,241, 91, 86, 78,110,238,246,247, 81,208, 47,  4,152,
-197, 50,247,171,161, 71,195,182,248,244, 28,183, 37, 58,  9,107,  0, 64,207,100,122,245,238,213, 11, 73, 73, 73, 56,124,240, 96,
- 74, 33, 16, 97,174,158, 64, 32, 96,  0, 64, 78, 78, 14,120,165,237,238, 12,128,103,159, 62,125,144,158,145,129, 61,187,119,167,
-159,  6,194,107,147,207,190,  0, 87, 40, 40,  9,  8,230,228,228,128,  2,114,  1,128, 98,161,119,171, 38,110, 72,127,157,139,203,
-119,163,243, 27, 20, 97,114,117, 58,127,227,134,240,117,107,163,  5, 32, 99,230,204,153,224,241,120,176,179,179,123, 99,142,202,
-204, 10,151,203,133,157,157, 29, 12,  6,  3,246,237,219,  7,  0, 25,213,190,225,  1,154,126,147,150,154, 52,122, 82,200,102,179,
-223,137,102,233,155,163,102,208,236,109,166, 51, 55, 43,239, 20, 83, 23,205,191,  1,173, 74,199,196,106,  5, 32, 43, 46, 46, 46,
-105,240,160,126, 57,241, 47, 31,169, 11,178, 85, 41,185,153,137, 41,137, 49, 81,234,175,230,204,204, 73, 74, 74, 74, 68,201, 88,
- 90,173, 84, 42, 85,217, 54,230, 48,115,240,224,193, 63,143, 27, 55,142, 60,124,248, 16,  0, 16, 22, 22,134,143, 63,254,152,140,
- 26, 53,106, 13,128, 47,235,144,239,130,162,162,162,183,162, 33, 58,163,233, 77,149, 95,110,110, 46, 84, 42, 21,180, 90,173,217,
-142,248,249,217,149,207, 94,199,221,215,251,186,136,224,235, 34,130,151,147, 16,148, 33,255,141,201, 74, 79, 79, 47,123,115, 46,
-174, 69, 62,115, 53, 26,205, 91,249, 44, 95, 53,153,155,155, 11,181, 90, 13,163,209, 88,213,131,204,148,156,156,124,118,255,254,
-253,121,  0,176, 98,197,138,215, 20, 69, 93,164, 40,234,231, 74,150,141, 44, 22,235, 70,217,186, 43, 87,174,124,141, 63, 86,137,
-253,153,244,111,218,180,105,214,220,185,115,215,207,152, 49,  3, 27, 55,110, 68, 74, 74,202,151,248,255,177,120, 76, 25, 25, 25,
-179, 67, 67, 67, 49,102,204, 24,204,159, 63,127,165,159,159, 95, 46,128, 17, 85,  9, 90, 91, 91, 59,178, 88, 44,132,135,135,231,
-  2,120, 85,195,239,171,195,195,195, 83, 41,138,130,157,157, 93,163,234, 86,180,180,180,108, 44,145, 72,144,156,156, 12,148,190,
- 49, 87, 66,156, 74,165, 34, 92, 46, 23,246,246,246,110, 53,237,188, 92, 46,159,189,101,203, 22,214,163, 71,143,208,181,107,215,
-164, 43, 87,174,116,  7, 80,214, 37, 61, 60, 44, 44,172, 67, 96, 96,224,179,243,231,207,227,135, 31,126,160,154, 55,111, 62,169,
- 38, 77, 23, 23,151,137,159,124,242,  9,214,173, 91,135, 77,155, 54, 77,  2,112,176,194, 42,123, 67, 67, 67,167,111,218,180,  9,
- 99,199,142,133,171,171,235,136,234,244,226,227,227,231,116,238,220, 57,236,249,243,231,102,205,120, 96,230,250,129,  1,  1,  1,
-141,139,138,138,176,125,251,246, 87,141, 27, 55,190,119,240,224,193,153,248,227,  3,251,200,225,195,135, 49,114,228, 72, 52,111,
-222,124, 59,128, 97,230,220,150, 79,158, 60, 73,188,116,233,146,137,195,225,192,197,197,  5,193,193,193, 24, 62,124, 56,154, 53,
-107,  6,157, 78,135,195,135, 15,155,162,162,162,146,180, 90,173, 89, 99, 41,101, 62,255,253,120,108,236,179, 27,225,119,174,234,
- 89, 76,  6,156,237, 44, 49,160, 91, 11,252,231,195,118,240,247,114, 64,124, 90, 17, 46, 93, 58,175,143,141,125,117,203,156, 30,
-135,101,154,209,143, 35,110, 62, 10,191,110, 96,179, 40,120,121,186, 99,222, 87,179,229,139, 23,204,177,112,111,228,140,136,152,
- 28,156, 63,119, 90,175, 74, 74,188,252,190,122, 28, 94,  1, 56, 98, 30, 37, 98, 50, 24, 48, 50,120,  5,204,210,142, 52, 77,124,
-124, 60,148,182,182, 56,121,242, 36, 24,181,232, 17,122,  5,224,136,197, 37,181,224,249,249,249, 40,211,107,236,233,233,233,236,
-226,130, 83, 39, 79,130,105, 50, 61,233, 84,203,  1, 70,159,150, 84, 67,191,209,165,128,226,201, 78,144, 52,118,178,241,148,203,
- 68,184, 19,241,  2, 26, 61,185,187, 59, 11,239,117, 60,178, 63,145,241,168, 99,213,225,138,141, 27, 55,182,218,178,101, 75,247,
-153, 51,103,138, 71,143, 30, 13, 62,159,143,194,194, 66, 56, 58, 58,194,104, 52,226,204,153, 51,184,127,255,126,190,201,100, 58,
-143, 63, 14, 27,208, 13,229,122,105,156,125,  5, 65,137,223, 42,108,117,244,163,143,222,137, 38,  0,136, 95,152,164,153, 13,180,
-187,214, 30,188, 62,112,207,217,112,234,211, 97,157, 24,254,158, 78,  0,  0,165, 82,  9,169, 84, 90,107,205,119,192,159,174, 89,
-190, 90, 87,173, 86, 63, 85,171,213,105,227,198,141,243, 42,107,248,206,227,241,138, 75, 35, 89, 89,149,109, 99, 70, 62,117,  0,
- 38,111,217,178,229, 88, 78, 78,206,217, 47,190,248,  2,139, 23, 47,198,241,227,199, 59,  0,184, 81,199,125, 55,102,101,101,101,
-223,189,123, 87,233,230,237,135,134, 54,108,116,252,230, 57,  8, 33,176, 18, 18,228,101,191,198,131,  7,225,200,203,203,187, 83,
-155,124,234,116,186,236,180,180, 52,133,141,141, 13, 94,191,126,141,140,140,140, 55, 38, 43, 43, 43, 11,175, 95,191, 38, 20,245,
-135, 49, 91,170,211, 44, 72, 75, 75, 43,140,142,142,230, 42,157,220,208,200,134,131,128,175,158,  2,132,192,217,146,129,188,220,
-108,220,186,117, 11, 57, 57, 57,191, 87,165,105, 50,153,102,141, 24, 49,130,  9, 96,212, 23, 95,124, 97,  9,160,249,236,217,179,
-207,163, 66,207, 66, 22,139,245,227,174, 93,187,154,148, 85, 49,206,153, 51,103, 53,128, 45,255,171,107,201,202,202,106,214,201,
-147, 39, 37, 58,157, 14,107,215,174,197,234,213,171,183,226,143,  3, 85,158, 92,191,126,125, 40,131,193,152, 50,117,234, 84, 76,
-152, 48, 65,248,193,  7, 31,204, 76, 73, 73,217, 93,153,102,114,114,242, 60,127,127,255,249,105,105,105, 75,204, 50,203,207,159,
-143,247,247,247,159,151,150,150,182,188,186,115, 36, 18,137, 68, 70,163, 17,177,177,177, 89, 64,149,237, 59,138, 99, 99, 99,147,
-141, 70,163,163, 80, 40,180,172,233,250,204,202,202, 90,242,193,  7, 31,124,155,154,154,122, 14,192,162, 74, 12,249,195,148,148,
- 20,223, 25, 51,102, 76, 91,182,108,217, 64,181, 90,189,175, 38,205,248,248,248, 37,129,129,129,223, 60,123,246,108,  7,170,174,
-  2, 94,191,112,225, 66,221,174, 93,187, 38,197,198,198, 46,173, 65,243, 68, 70, 70,198,137, 90,156,223,170,214,127,163,201,100,
- 50,103, 47, 91,182,140,177,113,227, 70, 16, 66, 86, 26,141,198,170,242, 25,113,228,200,145,157,237,218,181, 27,125,240,224, 65,
-190,175,175,239,  4,141, 70,179,183,166,235,179,176,176,240,240,193,131,  7,  7, 70, 68, 68, 56,142, 30, 61,154,239,225,225,  1,
-157, 78,135,148,148, 20,108,220,184,177, 56, 42, 42, 42, 41, 59, 59,251,112,109,202, 16,131, 54,119,216,205, 75, 71,247,198, 61,
-143,106,211,185,103,136, 92,171,115,  4, 47,147,137,236, 76, 53,206,156, 56,156, 21, 27,251,234, 86, 97, 97,246,176,218,104,234,
- 52, 57, 67,111, 93, 62,182, 47, 41, 54,186,117,199,192,222,242, 98,173, 11,120, 28,  6, 50, 83,147,113,230,228,209,215,177,177,
- 49,215,138,245,154,143,223, 87, 57,207,116,197, 34,166,250,254,184,137,125, 91, 64, 32,119,124,192,  6,214,182,  3,  4, 10,165,
-146, 83,122,239, 64, 92,210,230,209, 44,205, 84,128,235, 86, 90, 75, 85, 88, 88,  8, 54,160, 29,  3,176,173,173,173,  5,  0,240,
-236,217, 51,  8, 75,106, 53,106,149,207,124, 64, 36, 44,167,203,  0, 10, 51, 89,112,104, 44, 21, 81,  0,144,164,206,132, 86, 95,
-237,115,227,239,206,230,114,134,107,115, 93,  4, 56,  0,186,137,197,226,197,243,231,207, 95,121,231,206,157,149,193,193,193, 43,
-121, 60,222,226,210,131,205,169,230, 68,252,207, 52, 91,218,195, 50,176, 17,117, 53,168, 49,101,154,216, 65,110,252, 56, 64,164,
-237,210,165, 75,104, 61,243, 89,159,155,229,207,212, 60,170,215,235,  9, 74,170,237,142,162,234, 42,193,185,229,190, 87, 39, 36,
- 36,144,210,191,107,147, 79,197,144, 33, 67, 76,121,121,121,100,240,224,193,  4, 53, 79,225, 83,173, 38,143,199, 11,236,216,177,
-163, 62, 53,253, 53,121, 26,147, 76,110,135, 61, 38,103, 47,221, 36,251, 14,159, 36,235, 66, 55,145,102,205,154,105,  1,184,212,
- 70,147,197, 98,117,  9, 12, 12,204, 76, 77, 77, 37,209,209,209,228,234,213,171,228,208,161, 67,100,211,166, 77,228,231,159,127,
- 38, 78, 78, 78,169,  0,148,181,209, 20,  8,  4, 33,189,122,245,210,103,231, 22,146,216,228, 76, 18, 25, 29, 75,110,220,141, 36,
-103, 46,221, 32,187,247, 30, 36, 62, 62, 62,197,102,104, 50,153, 76,230,186,125,251,246,229, 18, 66, 72, 72, 72, 72, 18,222, 30,
- 72,181,225,172, 89,179,210,  8, 33,100,249,242,229,153,168,188, 33,252,159,125, 45,245,116,112,112,120,202,225,112, 78,  2, 24,
- 85,195,118, 67, 89, 44,214,113, 91, 91,219,123,  0,  6,188,135,251, 40,216,198,198,230, 54,128,154,102, 56, 40, 91,175,255, 63,
-228,126,255, 51, 52,187,176, 88,172,171, 64,245,147,  8,151, 43,175,191,103, 50,153,167,  0,116,173,101, 62,221, 21, 10,197, 96,
-185, 92,254,169, 92, 46,255,212,198,198,102, 48,151,203,117,175,207,190, 91,185,119,235,235,236,215,239,136, 83,243, 62,241,206,
- 45,130,227, 93,253, 67,142, 88,185,119,235, 91, 95, 77, 23,255,144,163,206, 45,130, 19,156, 91,244,141,107,216, 50,228,136,194,
-179, 91,175,247,121,142, 70, 57,192,190,123, 67, 24,200,213,111,  8,185,250, 13,233,214, 16,166, 54, 22,240,105,  5, 72,122,116,
-235,182,138, 24,141,171,  6,246,239,191,202, 13,176, 34,  0,179,226, 82,153,166, 31, 32,125,179,109, 72,200,170, 70,128,162, 59,
- 32,236,212,161,195, 74, 98, 52,174, 26, 49,116,232, 42,103,192,182, 50,189,170, 52,  9,192,116,  0,236,203,235, 42,128,198, 31,
-186,194,119,110, 95, 87, 66,174,126, 67, 22,126,228, 65,252,149, 24, 85,131,102, 85,145,162,191,117, 68,171,182,136, 74, 11,215,
-165,165,159,162,119,112, 17,190,115,205,214,118,240,232,214,152,138,238,237,201,122,141,146, 46,201,162,127, 96, 33,185, 67,171,
-213,146,226,226, 98, 82, 88, 88, 72,242,243,243, 43, 26,168, 55,134, 76,165, 82,145,164,164, 36,146,144,144, 64,226,226,226,  8,
-254,191,237,141,217,249,148, 74,165, 91, 62,250,232, 35, 35,155,205, 94,247, 46,246,221,210,210,114,105, 64, 64,128,238,167,159,
-126, 34, 71,142, 28, 33,191,252,242, 11,153, 58,117, 42,105,210,164,137,198,194,194, 98, 88, 93, 52,109,109,109,231,121,122,122,
-102,110,221,186,149,236,222,189,155,172, 89,179,134,124,253,245,215, 70, 71, 71, 71,181, 68, 34,233, 81, 23, 77, 27, 27,155,205,
-237,219,183,215,109,222,188,153,156, 63,127,158,236,217,179,135,204,154, 53,139,120,121,121,105, 68, 34,209, 32, 51, 53,153, 44,
- 22,107,213,196,137, 19,213,246,246,246, 39, 43,124, 39,244,241,241,185, 55, 98,196,  8, 21,128, 57,255,160,235,147,214,164, 53,
-105,205, 63,193,104, 13,183,135,  3,  1,152, 66, 14,103,104,167, 14, 29, 86,114,128,161,181, 53, 69,124, 38,243,195,118,  1,  1,
- 43, 57,192,176,178,117,249, 76,230,135,157, 58,116, 88,201,102, 50, 71, 86,165, 87,157, 38,  1,152, 28, 22,107, 78,187, 54,109,
- 86,177,128,175,202,210,186, 52,164,158,204,234,233, 68, 58,184, 80, 47, 70,218, 64,248, 15, 54, 90,239, 28,214,159,112, 17,254,
- 93, 52,255, 42, 55,181, 91,169, 97, 58, 90,139,136,214, 81,148,204,162,238, 86,199,124, 10,222,241,190, 55, 85, 40, 20,167,221,
-220,220,210, 27, 52,104,160,146,203,229,123,  1, 56,214, 83,211,215,214,214,246, 87,165, 82,249,220,206,206, 46, 66,161, 80,252,
-136,146, 81,231,235,172,201,102,179,  3,148, 74,229,239,174,174,174,217, 46, 46, 46,169, 10,133, 98, 95, 37,145, 44,115, 52,237,
- 80,121,161,194, 41,253,142,126,232,208,154,180, 38,173,249,150,129,  9,106,132,101,221, 27,194,208,189, 33,140, 65,174,248,177,
-188, 65,  9,  6,  4,117, 53, 69, 31,  3,188,138,235,215,164, 87,147, 38,  1,152,109,  1,113,197,109,122, 59,194,199, 76,205,191,
-123, 68,171,172,156,175,221,240, 14, 85, 96,248, 19, 50,249,119,209,252,171,240,  2,213, 52, 70, 46,199,210,119,248,155, 69,239,
-120, 31, 34, 51, 50, 50,122,101,100,188,211,190,  9,143,212,106,245,168,119, 41,168,215,235,239,164,166,166,118,126,  7, 82, 85,
-117,189,214,193,204,110,217, 52, 52, 52,255, 30, 40,192,136, 87,248,178,155, 59,214,178,140, 96,156,137, 65,114,133, 46,121, 69,
- 84, 93, 52, 75, 48,238,168,164,140,167,234,154,207,255, 39,255, 15, 26, 73,120, 76,253,123, 78, 91, 10, 74,218,104,213,219,104,
-209,208,208,208,208,208,208,252, 15,184,240,156,126, 17,251, 27,112, 18,111, 71,223, 78,150, 51,162, 85,134, 62,107,211,147,162,
- 46,225,211, 11,180, 38,173, 73,107,210,154,180, 38,173, 73,107,254,235, 52,203,168,106,238,212,167, 21,254,175, 83, 47,190,127,
- 11,116, 61, 59,173, 73,107,210,154,180, 38,173, 73,107,210,154,255,116,234, 60,142, 22, 13, 13, 13, 13, 13, 13, 13, 13, 77,245,
- 84, 25,117,163,141, 22, 13, 13, 13, 13, 13, 13, 13, 77,253,176, 67,201, 20, 85, 39,241,255, 83, 85,109,  6,106,158,130,231, 45,
-150, 45, 91,198,112,115,115, 19,115,185,220, 38,175, 94,189, 98, 76,158, 60,185,222, 29,  9, 86,254,184,142,225,226,226, 34,  6,
-208, 36, 51, 43,143,241,201,127,190,160,232,243, 69, 67, 67, 67, 67, 67, 67,243, 55,162, 79,169,177, 42,251,124, 19,225,170,149,
-209, 90,180,104, 17, 18, 18, 18, 68,  0,134,248,250,250,114, 55,108,216, 64, 14, 28, 56, 80, 47, 99,244,213,156, 89,136,143,143,
- 23,  1, 24, 98,163,176,224,110,219,178,130, 28, 60,126,253,157,155, 45,133, 66, 97,245,191,220,142,134,134,134,134,134,134,230,
- 95,197,248,114,159,227,235,100,180, 88, 44, 22,147,203,229, 54, 98, 48, 24,189,248,124,126, 75,  0, 40,157,146,165,206,176, 88,
- 44, 38,151,199,107,196,100, 50,123,241,120, 37,154, 31,245,109, 95, 95,205,174, 34,145, 40, 81, 40, 20,222,  7, 32,144, 72, 36,
-225, 58,157,238,177, 68, 34,185, 89, 27, 29,137, 68,114,179,116,187,112,  0,  2,161, 80,120, 95, 36, 18, 37,178, 88,172,174,244,
-245, 68, 67, 67, 67, 67, 67, 67, 83,202,230, 74,150, 63,114,226,196,137, 42, 13, 14,151,203,101,248,250,250,182,119,113,113,185,
-225,237,237,173,117,116,116, 60, 36, 20, 10, 69,245,204, 24,195,205,195,171,189,189,157,242, 70,139, 70,118, 90, 27, 27,155, 67,
-108, 54,187, 62,154, 76,137, 68,178, 38, 40, 40, 40,231,198,141, 27, 68, 42,149,166,  2,176,176,182,182, 86, 17, 66,136,173,173,
-173,169, 54, 98,182,182,182, 38, 66,  8,177,182,182, 86,  1,176,144, 74,165,169, 55,110,220, 32, 65, 65, 65, 57, 18,137,100, 13,
-106, 30,209,150,134,134,134,134,134,134,166, 22, 84,231, 69,254,194,148, 69,177,236,234,188,115, 92, 46,215, 79,161, 80, 68,125,
-246,217,103,198,205,155, 55, 19, 23, 23,151,187, 54, 54, 54,109, 20, 10,197, 91, 13,234,199,140, 25, 83,155,106, 63, 63,137, 84,
- 22,181, 99, 70, 79, 99,209,182, 16,226, 96,103,115,215,194,194,162,141, 84, 42,125, 75,115,196, 39, 19,204,209,180,151,201,100,
- 17,203,150, 45, 43,206,206,206, 38,132, 16, 34,147,201, 82,  1,200,149, 74,165, 42, 38, 38,134, 40, 20, 10,  2,243,163,120, 12,
-133, 66, 65, 98, 98, 98,136, 82,169, 84,  1,144,203,100,178, 84, 66,  8,201,206,206, 38,203,150, 45, 43,150,201,100, 17,  0,236,
-233,219,130,134,134,134,134,134,230, 95,109,180, 42, 26, 46,243,170, 14, 91,182,108,201, 83, 42,149,109, 36, 18, 73,127,177, 88,
- 28,218,175, 95, 63,223,129,  3,  7, 50, 52, 26,141,209,215,215,215,222,213,213,117,154, 92, 46, 31,197,231,243,155,113,185,220,
-145, 82,169,212,110,239,222,189,110,213,105, 54,109,254,  1,207,194, 66,222,134,203,229,245, 23,139, 37,161, 19, 63,236,226, 59,
-106,230, 32,  6, 71, 27,103,236,210,204,217,190, 73, 35,187,105,182,114,209, 40, 22,147,209,140,162,168,145,124, 62,223,110,247,
-182, 77,110, 53,236, 88, 35,123,123,251,240,189,123,247, 54, 25, 50,100,  8, 47, 58, 58, 26,  0, 96, 52, 26,185,  0,244, 76, 38,
- 19, 60, 30, 15, 58,157, 46, 11,128,185, 39,144,232,116,186, 44, 30,143,  7, 38,147,  9,  0,250, 82, 61, 68, 71, 71, 99,200,144,
- 33,188,189,123,247, 54,177,183,183, 15,  7,208,136,190, 53,104,104,104,104,104,104,254,181,148,153,171,147,168, 80,117,200, 42,
-115,143,193,193,193,111, 69,141,184, 92,238,134,103,207,158,181,179,180,180,108,196,102,179,141, 67,135, 14,229,141, 24, 49,  2,
-233,233,233,166,252,252,124,166,159,159,159,242,222,189,123,189, 12,  6, 67,  7, 11, 11,139,194,236,236,108,133, 70,163,121,  1,
- 96, 90, 53, 25,217,240,252,105, 84, 59, 43,185,101, 35, 46,155,105,156, 58,118,  4,239,171, 57, 61, 65,105,194, 76,198,180, 76,
-230,247,254, 22,202, 31,111, 22,244,122,166, 51,118, 40,144,241, 11,213, 57,154, 26, 53, 21, 10,133, 63,135,195,185,127,250,244,
-105,  8,133, 66,228,228,228,128,203,229,  2,  0,242,243,243,101,  0, 88, 20, 69,129,203,229, 34, 55, 55, 87, 94,155,163,150,155,
-155, 43,231,114,185,160, 40, 10,  0, 88,165,122,224,114,185,200,201,201,129,155,155, 27,117,250,244,105,155, 94,189,122,189,212,
-233,116, 31,100,100,100,132,209,215, 26, 13, 13, 13, 13, 13, 77,237,169,204,139,252,141,168,113, 28,173,206,165,161,186,242, 19,
-231,238,180,182,182,182, 21,139,197,222,227,199,143,103, 40, 20, 10,220,191,127,223, 84, 80, 80,192, 96,179,217, 96,179,217,204,
- 46, 93,186,136, 13,  6,131,240,212,169, 83,212,203,151, 47,211,245,122,253,247,153,153,153,247,170,201,200,206,198, 22, 60, 91,
-129,  5,215,251,248, 23, 29, 25,214,110,153,192,217,133, 38,146,159,198, 96,153,  8, 20, 34, 19,115, 85,  7, 74,172,150,185, 10,
-167,238, 75,167,174,189,204, 78,215,235,245,223,231,229,229, 85,167,153, 12,  0,165,121,130, 84, 42,133,209, 88,126,126, 75, 16,
-  6,131,  1, 30,143, 87,167, 35,199,227,241,192, 96, 48,128,114,145, 48,153, 76,  6, 38,147,  9,  6,131,  1, 54,155,253, 86, 62,
-104,104,104,104,104,104,104,234, 68,101, 94,228,239, 66,249,113,180,204,155,155, 82,169, 84, 82, 82,169,212,174,121,243,230,223,
-  6,  5,  5,197, 12, 24, 48,160,240,167,159,126, 34,171, 87,175, 38,171, 86,173, 34, 91,183,110, 53, 94,190,124, 89,255,159,255,
-252,167,216,221,221,253, 69,104,104,168, 55,  0,244,238,221,187,202,234, 72, 11,185, 37, 37,230,178,236,124,188,155,126, 59,188,
-115,147,152,111,250,123, 20,234,118,248, 17,211,124, 39, 98, 92,231, 74,140,  7,187, 26,201,179, 21,250, 37,227,186, 22, 55,112,
-105,240,226,231,173,251,189,  1,160, 91, 80,239,106,171, 56, 21, 10, 69, 75, 71, 71,199,212,115,231,206,153,178,178,178, 72,102,
-102,102, 89, 27,173,108,  0, 50, 23, 23, 23,149,193, 96, 32,114,185,252,117,109,142,154, 92, 46,127,109, 48, 24,136,139,139,139,
-170,196, 95,201,178,  9, 33, 36, 51, 51,147,100,101,101,145,115,231,206,153, 28, 29, 29, 83, 21, 10, 69, 75,250,254,160,161,161,
-161,161,161,249,215, 50,190,194,103,205,180,107,215,142,146, 74,165,140,166, 77,155,138,237,237,237, 91,219,219,219,223,249,241,
-199, 31,201,234,213,171, 13, 27, 55,110, 36,191,254,250,171,225,227,143, 63,206, 21,137, 68, 39,185, 92,174, 28,  0, 92, 93, 93,
-171, 13,249,181,108,221,134, 18,240,121, 12, 79, 79, 31,177,194,202,170,181,181,149,229, 29,221,234, 38,132, 44,116, 48,144, 45,
- 45,  8, 57,216,211,176, 98,112,171, 92, 54,155,115, 18,128, 28,  0, 28,237,237,204, 13, 35,218,219,216,216, 68, 44, 92,184,176,
- 64,167,211,145,210, 94,134,169,  0, 44, 92, 92, 92, 84,132, 16,226,232,232,152,  8, 64, 97,166,158,194,209,209, 49,145, 16, 82,
-102,180, 44,108,109,109, 83,  9, 33, 68,167,211,145,133, 11, 23, 22,216,216,216,208,141,225,105,104,104,104,104,104,104,170,156,
-235,176,202, 72,209,141, 27, 55, 72,110,110,174, 41, 57, 57,217,152,159,159, 47,245,243,243,147, 51,153, 76, 40,149, 74, 38,147,
-201, 52, 21, 20, 20, 48, 21, 10,133,138,205,102,239,214,106,181, 89,253,251,247,167, 98, 99, 99,171,109,104,126,239,246, 45, 82,
- 84,172, 49, 37, 37, 37, 26, 11,243,115,165,163,154, 89,202, 89,  6, 29, 76,126,237,152,185,  2,119,147,169, 40,139,233,101,199,
- 83,113, 56,236,221,  0,178,  6,  4,247,161,146, 84, 41,230, 54, 94, 87,165,165,165,249,109,216,176, 97, 75,199,142, 29,179, 10,
- 11, 11,203,218, 86, 85, 28,130,193,194, 76,189,138,235, 49, 41,138, 66, 97, 97, 33, 58,118,236,152,181, 97,195,134, 45,105,105,
-105,126,  0, 84,244,245, 69, 67, 67, 67, 67, 67,243,175,166,202,113,180,106, 28,234,160,176,176, 80,206,225,112,186,181,106,213,
-170, 65, 65, 65,129,105,209,162, 69,137, 63,253,244,211,174, 23, 47, 94,232, 45, 44, 44, 26,  9,  4,130, 79, 81, 76,136,102,  0,
-  0, 32,  0, 73, 68, 65, 84,135, 12, 25,162, 56,114,228,  8,233,208,161, 67,197,232, 83,165,179,123, 23, 21,229,203,121, 28,118,
-183, 79,  3, 36, 13, 18,117,114,147,247,167,119, 19, 59,205,191,185,235,183, 71, 44,125, 83,203,162, 70,150, 92,234,211, 33, 67,
-  6, 43,126, 59,113,146,180,105,211,218, 44,205, 82,140,105,105,105,159,222,191,127,127,112,195,134, 13,147,244,122,125, 18,128,
-204,162,162,162, 84,123,123,251, 52,157, 78,151,  4, 64, 87,201,118,149,105,234,116, 58, 93,146,189,189,125, 90, 81, 81, 81, 42,
-128, 76,189, 94,159,212,176, 97,195,164,251,247,239, 15, 78, 75, 75,251, 20,128,177,154,188,208,179,186,211,154,180, 38,173, 73,
-107,210,154,180,230,191,135, 63, 68,179,  0, 51, 38,149,230,241,120, 29,157,157,157,219, 63,122,244,200,120,235,214,173, 28,  6,
-131,241,115,239,222,189, 15, 29, 62,124, 56,192,210,210,210,198,201,201, 73,121,241,226,197, 64,  0,  7,174, 93,187,102, 86,244,
- 73,192,227,116,108,225, 40,107,191,249, 33, 49,110,187,255, 60,199,200,228,253,220,101,208,160, 67,211,119,237,  9,176, 87, 72,
-108, 90,216, 73,149,167, 78,157,  9,  4,112,224,214,173,219,181, 30, 79,195, 96, 48, 92, 76, 75, 75,115, 42,251, 63, 61, 61,221,
- 79,161, 80,120,163, 36,250,148, 99,166, 76,188,201,100,234,109, 50,153,236, 51, 50, 50,158,  0, 64, 70, 70,198,  7,244,117, 68,
- 67, 67, 67, 67, 67, 67, 83,137,201,218, 92,217,255,213, 70,180,184, 92,174,  3,147,201,244, 73, 74, 74,138, 63,117,234,212,163,
-150, 45, 91,246,138,143,143, 95, 70,  8,137, 19, 10,133,227, 19, 19, 19,159, 39, 38, 38,106,139,138,138, 38,214, 34, 51, 14, 96,
-112,124,238,171,138,226,127,184,248,248, 81,211, 54, 61,122,169,213,170,101, 70, 66,226,184, 66,233,248,103,  9,233,207,111,167,
-105,180,197,197,181,210,172,145,140,140,140, 39, 25, 25, 25, 57,181,220, 38,167,204,100,209,208,208,208,208,208,208,208,212,150,
-154, 34, 90, 58,163,209,184, 66,163,209,200,127,251,237,183,228,160,160, 32, 13,  0,108,216,176,193, 52,118,236,216,235,175, 94,
-189,234,250,228,201,147, 94,182,182,182,151,  0, 80, 49, 49, 49,230, 68,159,116, 38,147,113,133, 86,171,145, 95,188, 28,150,220,
-177,125, 83, 13,  0,108, 92,191,214, 52,116,252,140,235,175,162, 31,117,125, 22, 21,222,203,214,214,246,146,209,192,162, 82,212,
-113,132, 62, 77, 52, 52, 52, 52, 52, 52, 52,127, 97, 54,227,237, 42,195,205,102, 25, 45,173, 86,155,174,213,106,  1, 32, 43, 40,
- 40,232,173,239,182,110,221, 74,  0, 20,  0, 56,152,153,153, 89,155,204,164, 23, 21, 21,  1, 64, 86,199,246, 77,223,250, 98,223,
-230,159,222,104,230,231,229,210,167,141,134,134,134,134,134,134,230,239,100,182,254,  0,131, 62, 46, 52, 52, 52, 52, 52, 52, 52,
- 52,245, 98,124, 85,255, 83,168,186,231,192,133, 90,252, 64, 93,122, 31, 92,160, 53,105, 77, 90,147,214,164, 53,105, 77, 90,243,
- 95,167, 89,147,246,  5,252,253,168,178, 49,252,159, 13,221,245,149,214,164, 53,105, 77, 90,147,214,164, 53,105,205,127, 58,118,
-120,123,120,  7,187,178, 47, 88,244,177,161,161,249,123, 67, 14,130,137, 44, 79, 87, 16, 98, 15, 38, 55,  5, 41,145,175,168,111,
- 97,170,183,102,170,143, 11,  4,122, 37, 12,252,116,164, 70,196,212, 87,147,134,134,230,159,135,109,219,201,  3, 40,  6,243,103,
-138,152, 80,148, 26,205,227, 20,197,  9,211, 82,226,255,141,222, 34,  5, 85, 68,176,104,163, 69, 67,243,119, 39,221,203,  3, 44,
- 44,  5,  3,118, 32,186,151,176,246, 89, 10, 60,142,170,183, 38,199,180,  8, 70,134, 35,136,238, 25,108, 60,151,  1, 79, 31,211,
-  7,251,159,199,180,169,147,200,147,168, 59, 72, 72, 80,161, 81, 99, 59,120,120,181,197, 79,107, 67, 41,250,200,208,152,247, 86,
- 70,109,238,214,119,132,165, 64, 40,  1,  0,152, 12,122,108,157,217,226,188,193, 96,216,  9,224,  8,128,162,127,251, 33,250,159,
- 55,134,103,179,217,169,  0, 76,124, 62,255, 48,202,133,214,104,104,254,  4,236, 74,175, 51, 83,233,117, 87, 27,196, 44, 22,107,
-190, 80, 40,188,204,227,241,210,120, 60, 94,154, 72, 36,186,204, 98,177,230,  3, 16,255,101,202,184, 95,155,  8,193, 48,246,210,
-234, 77, 14,103, 34,179,109, 10, 53, 70, 15, 48, 12,189,201, 86,119,113,189, 52, 89, 84, 80,177,206,228,188,251,110,161,178, 64,
-107,240,  6, 65,189, 52,203, 97,193,225,112,206,192,252, 57, 71,105,254,100,226, 99,162,112,234,196, 42, 44,250,110, 52,182,111,
-158,136,167, 79,110,215, 75,207, 27,248,224,  3, 22,235,115, 47,160, 11, 74,218,  1,211,252,147,161,200,248, 11,199,119,167, 31,
-223,187, 62,125,255,170,137,228,232,210, 96,172, 93,187,182,219,232,209,163,119, 59, 59, 59,167,  3,248,136, 54, 90,255, 99,244,
-122,189, 77, 70, 70,  6,181,115,231,206,126, 50,153,236, 37,139,197,154, 11,128,243,111, 57,224, 98,177,248,166, 84, 42, 77,149,
-201,100,169, 82,169, 52,188,166,244,127, 40, 30,214,214,214,241,150,150,150,207,202, 39, 90, 55, 27,208,214,173,221,168,  5, 86,
- 62, 33,157,234,169,207, 97,177, 88,115,101, 50,217,203,157, 59,119,246, 75, 78, 78,166,244,122,189, 77, 45,182,239, 40,151,203,
-159,220,185,115,231,155,140,140,140, 78,137,183,183, 90,171,239,108,178,142,255,125, 85,231,251,167,214,125, 99, 97, 33,123, 12,
-160,227, 95,226, 72, 22,155,148, 96, 48,  3, 31,165, 20, 10, 83,114,245,202,176,184, 66,  9,192,236, 12,109, 61, 94, 98,114, 76,
- 74,128,116,121,152, 84, 36,186,249,218, 90,121,237,149, 70, 10,  6, 35, 16,197,148,109,189, 11, 28,  6, 99,146,201,100,234,206,
-225,112, 62,165,159, 80,127, 13,120, 60, 14, 64,  8,196, 34, 62,  0,  2, 70, 61,173, 17,151,193,104,119,179, 95,191, 69,115,154,
- 53,155,230,  5,244,173,194,108, 81,  0,166,123,121,121,157,  6, 48,244, 29,238,206, 15,158,158,158,201,  0,102,188,171,114,201,
-223,223,191,109, 96, 96,224,130, 22, 45, 90,116,122, 87,154,255, 36,212, 55, 55,252,150,114,125,157,141,234, 70,168, 77,118,204,
-213,233,118, 74,185, 41, 38, 38,  6,125,250,244,193,250,245,235,133,190,190,190,187,  0,216,255, 11,110, 37,191,178, 23,124, 84,
-104,163,101,182,209,250,208, 21,237,134, 53,196,149,193,174,200, 27,210, 16,249, 35, 27,226,250, 32, 87,116,169, 75,110,172,172,
-172,208,177, 99, 71,102,114,114,178, 96,214,172, 89, 11,248,124,126, 44,128, 30,117,209, 18,  8,  4,247,133, 66, 97, 34,139,197,
-122, 43, 47, 66,161,240,190, 72, 36, 74,100,177, 88, 93,203,167, 75, 36,146,155, 82,169, 52, 85, 34,145,132, 87, 97,132,238, 75,
-165,210, 84,177, 88,124,191,124, 58,139,197,234, 42, 22,139,147, 36, 18, 73,197,244, 46, 18,137, 36,177, 98,122, 85,176,217,108,
-199,196,196, 68,155,164,164, 36, 27, 46,151,171, 44,159,158,144,144, 96,147,152,152,248, 86,122,109, 96,177, 88, 93, 68, 34, 81,
-162, 80, 40,188, 95, 89,122,197,125,170,138,114,199,174,139, 57,233,181, 45,120,130,130,130,174,167,164,164, 56, 91, 88, 88,188,
- 53,113,183,165,204,162,199,175, 91, 67,103,134,244, 14,154,100,237,221,191,105, 29,245,123,240,249,252,216, 89,179,102, 45, 72,
- 78, 78, 22,180,105,211,134,201, 96,212,234,125,162, 91, 72, 72,200,209,212,212, 84,135,230,205,155, 51, 13,  6,  3, 30, 29,155,
- 15, 97,196,167,224,199,110,132,147, 32,157,245,242,252, 50,199,160,206, 31, 28,197,123,110, 12, 74, 14,122,115, 64,153, 58,154,
-  8,177,126,146, 92,108,221,167,223, 71,172,  7,137, 69,214,122,163,209, 18, 96,118, 38,219, 93,120,117,210,100,233, 59,152,  8,
- 81, 94,140, 99, 91,  7, 14,158,198,188, 20,199,178,214, 27,141, 86, 96,160, 83, 93, 52,203, 95,254, 76, 38,115,230,170, 85,171,
- 24,  0,166,  2,224,254,155, 12, 77, 43,123, 56,116,105,204,188,235,103,135,118,239, 80,214,183,244,126,247,168,175,208,150,237,
-167, 49,118,194,102,184,123,181,174,151,142,214,100,122,186, 47, 38,230,236,200,198,141,131,231, 52,107, 54,166, 18,179, 69,  1,
-152,179,108,217,178, 81,143, 30, 61,178,110,216,176,225,132,119,244,210,191,102,217,178,101,179, 31, 61,122,100,239,234,234,186,
-176,150,154, 85,150, 75,114,185,188,199,150, 45, 91,102,246,233,211,103,146,191,191,127,211,119,161,249, 15,102,253,195,135, 15,
-157, 87,173, 90,245,229,216,177, 99,115,  1,160,107,215,174, 28,  0,109,234, 93,222, 17,194, 37,132,  4, 18, 66,250, 16, 66,186,
- 18, 66, 90,149,254,221,178,116,233, 67,  8,233, 86,225,179,101,233,182,101,223,  7, 84,161,209,167,226,118,229,182,169,248,255,
- 91,127, 87, 98,180,250,160,164,173, 86,159,183,118,224,196,137, 19,164,252,103, 69,134,184,226,219,105,109, 29, 10,159, 28,223,
- 67,242, 19, 99, 72, 86,244,  3,242, 96,243, 18, 50,173,165,117,225,240,134,248,161,246,199,139,144, 27, 55,110,144, 71,143, 30,
-145,252,252,124,242,252,249,115, 18, 16, 16, 80, 36, 20, 10, 47,  2,112,173,141,152, 68, 34, 73,189,120,241, 34,  9, 10, 10,202,
- 17,139,197, 43,203,110, 46,169, 84,154,122,227,198, 13, 18, 20, 20,148, 35,145, 72,214,  0, 96,  2,192,160, 65,131,210,  8, 33,
-196,218,218, 90, 85,153, 94, 72, 72, 72, 22, 33,132,200,100,178,178,170, 38,166, 68, 34, 89, 51,101,202,148,252,123,247,238, 17,
-185, 92, 94,150,206,144, 74,165, 43,167, 78,157,154, 31, 22, 22, 86, 62,189, 90, 44, 45, 45, 19,141, 70, 35, 57,126,252, 56,177,
-177,177, 81,149,187,153, 19,141, 70, 35, 57,122,244,104,149,121,171, 46, 80, 32, 22,139, 87,140, 28, 57, 50, 47, 46, 46,142, 88,
- 89, 89,165,150, 75, 95, 57,122,244,232,188,132,132,  4,162, 80, 40,204,202,163,149,149, 85,234,205,155, 55,201,192,129,  3,115,
-203, 31, 83, 43, 43,171,212, 91,183,110,149,165,175, 48,167, 32,179,183,183,159, 96, 99, 99,163,178,177,177, 81, 89, 88, 88, 44,
-182,179,179, 83,167,167,167, 19, 66,  8,105,212,168, 81, 90,249, 72,150,141,111,191,207, 54, 30,188,117,231,106, 84,102,122,179,
-238,147, 86,200,154,133,200,106,113, 12, 92,133, 66,225,197, 78,157, 58, 21, 37, 38, 38,146,130,130,  2, 18, 17, 17, 65,110,220,
-184, 65, 94,188,120, 65,  0,152, 51,195,128, 68, 44, 22, 39,107, 52, 26,147, 70,163, 49,165,167,167, 27,211,210,210,140,209, 43,
-237,  8,217,198,126,179,100, 31,237, 75,212, 87,151,154,164, 98, 97, 18,  0,201,123, 51, 90,161, 62,142,100,147,231,190,199,243,
-157,163,175, 46,235,169, 39,113,151,200,158, 49,214,250, 43,159, 57,188, 36, 63,123,253,151,108,242,118,170,147,230,207,222,123,
- 34,190,118,126,186,110,225,116,125,124,124, 60,249,124,116, 79,195,185,105, 14,175,200, 70,175,131,117,209, 44,199,176,  1,  3,
-  6,228, 39, 36, 36,&nb