Merged changes in the trunk up to revision 30551.
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Tue, 20 Jul 2010 19:39:07 +0000 (19:39 +0000)
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Tue, 20 Jul 2010 19:39:07 +0000 (19:39 +0000)
200 files changed:
SConstruct
bin/blender-thumbnailer.py [moved from release/freedesktop/blender-thumbnailer.py with 83% similarity]
build_files/scons/tools/btools.py
extern/bullet2/src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp
intern/ghost/intern/GHOST_EventDragnDrop.h
intern/ghost/intern/GHOST_SystemCocoa.h
intern/ghost/intern/GHOST_SystemCocoa.mm
intern/ghost/intern/GHOST_SystemWin32.h
intern/iksolver/intern/TNT/vec.h
intern/itasc/MovingFrame.cpp
intern/string/intern/STR_String.cpp
release/VERSION
release/datafiles/brushicons/blob.png [new file with mode: 0644]
release/datafiles/brushicons/clay.png [new file with mode: 0644]
release/datafiles/brushicons/crease.png [new file with mode: 0644]
release/datafiles/brushicons/draw.png [new file with mode: 0644]
release/datafiles/brushicons/fill.png [new file with mode: 0644]
release/datafiles/brushicons/flatten.png [new file with mode: 0644]
release/datafiles/brushicons/grab.png [new file with mode: 0644]
release/datafiles/brushicons/inflate.png [new file with mode: 0644]
release/datafiles/brushicons/layer.png [new file with mode: 0644]
release/datafiles/brushicons/nudge.png [new file with mode: 0644]
release/datafiles/brushicons/pinch.png [new file with mode: 0644]
release/datafiles/brushicons/scrape.png [new file with mode: 0644]
release/datafiles/brushicons/smooth.png [new file with mode: 0644]
release/datafiles/brushicons/snake_hook.png [new file with mode: 0644]
release/datafiles/brushicons/thumb.png [new file with mode: 0644]
release/datafiles/brushicons/twist.png [new file with mode: 0644]
release/datafiles/splash.png
release/scripts/io/export_3ds.py
release/scripts/io/export_fbx.py
release/scripts/io/export_obj.py
release/scripts/io/import_scene_obj.py
release/scripts/io/netrender/master_html.py
release/scripts/io/netrender/repath.py
release/scripts/io/netrender/slave.py
release/scripts/io/netrender/utils.py
release/scripts/modules/bpy/utils.py
release/scripts/modules/rigify/spine_pivot_flex.py
release/scripts/op/sequencer.py
release/scripts/op/uvcalc_smart_project.py
release/scripts/presets/interaction/maya.py
release/scripts/ui/properties_material.py
release/scripts/ui/properties_render.py
release/scripts/ui/properties_world.py
release/scripts/ui/space_info.py
release/scripts/ui/space_sequencer.py
release/scripts/ui/space_userpref.py
release/scripts/ui/space_view3d.py
release/scripts/ui/space_view3d_toolbar.py
release/text/readme.html
source/blender/avi/AVI_avi.h
source/blender/blenkernel/BKE_blender.h
source/blender/blenkernel/BKE_brush.h
source/blender/blenkernel/BKE_fcurve.h
source/blender/blenkernel/BKE_library.h
source/blender/blenkernel/BKE_object.h
source/blender/blenkernel/BKE_particle.h
source/blender/blenkernel/BKE_sequencer.h
source/blender/blenkernel/BKE_sound.h
source/blender/blenkernel/intern/action.c
source/blender/blenkernel/intern/brush.c
source/blender/blenkernel/intern/collision.c
source/blender/blenkernel/intern/curve.c
source/blender/blenkernel/intern/fmodifier.c
source/blender/blenkernel/intern/icons.c
source/blender/blenkernel/intern/image.c
source/blender/blenkernel/intern/ipo.c
source/blender/blenkernel/intern/library.c
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/particle.c
source/blender/blenkernel/intern/particle_system.c
source/blender/blenkernel/intern/sca.c
source/blender/blenkernel/intern/sequencer.c
source/blender/blenkernel/intern/softbody.c
source/blender/blenkernel/intern/sound.c
source/blender/blenlib/intern/fileops.c
source/blender/blenlib/intern/math_color.c
source/blender/blenlib/intern/math_geom.c
source/blender/blenlib/intern/path_util.c
source/blender/blenlib/intern/scanfill.c
source/blender/blenlib/intern/storage.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/animation/anim_channels_edit.c
source/blender/editors/animation/anim_markers.c
source/blender/editors/animation/anim_ops.c
source/blender/editors/armature/armature_ops.c
source/blender/editors/armature/editarmature.c
source/blender/editors/armature/poseobject.c
source/blender/editors/curve/curve_ops.c
source/blender/editors/datafiles/SConscript
source/blender/editors/datafiles/blob.png.c [new file with mode: 0644]
source/blender/editors/datafiles/clay.png.c [new file with mode: 0644]
source/blender/editors/datafiles/crease.png.c [new file with mode: 0644]
source/blender/editors/datafiles/draw.png.c [new file with mode: 0644]
source/blender/editors/datafiles/fill.png.c [new file with mode: 0644]
source/blender/editors/datafiles/flatten.png.c [new file with mode: 0644]
source/blender/editors/datafiles/grab.png.c [new file with mode: 0644]
source/blender/editors/datafiles/inflate.png.c [new file with mode: 0644]
source/blender/editors/datafiles/layer.png.c [new file with mode: 0644]
source/blender/editors/datafiles/nudge.png.c [new file with mode: 0644]
source/blender/editors/datafiles/pinch.png.c [new file with mode: 0644]
source/blender/editors/datafiles/scrape.png.c [new file with mode: 0644]
source/blender/editors/datafiles/smooth.png.c [new file with mode: 0644]
source/blender/editors/datafiles/snake_hook.png.c [new file with mode: 0644]
source/blender/editors/datafiles/splash.png.c
source/blender/editors/datafiles/startup.blend.c
source/blender/editors/datafiles/thumb.png.c [new file with mode: 0644]
source/blender/editors/datafiles/twist.png.c [new file with mode: 0644]
source/blender/editors/interface/interface_icons.c
source/blender/editors/interface/interface_templates.c
source/blender/editors/mesh/editmesh_add.c
source/blender/editors/mesh/editmesh_mods.c
source/blender/editors/mesh/editmesh_tools.c
source/blender/editors/mesh/mesh_ops.c
source/blender/editors/metaball/mball_edit.c
source/blender/editors/metaball/mball_ops.c
source/blender/editors/object/object_ops.c
source/blender/editors/object/object_transform.c
source/blender/editors/physics/physics_ops.c
source/blender/editors/render/render_preview.c
source/blender/editors/screen/screen_edit.c
source/blender/editors/screen/screen_ops.c
source/blender/editors/sculpt_paint/paint_image.c
source/blender/editors/sculpt_paint/paint_stroke.c
source/blender/editors/sculpt_paint/sculpt.c
source/blender/editors/space_action/action_ops.c
source/blender/editors/space_file/filelist.c
source/blender/editors/space_file/space_file.c
source/blender/editors/space_graph/graph_ops.c
source/blender/editors/space_logic/logic_window.c
source/blender/editors/space_nla/nla_draw.c
source/blender/editors/space_nla/nla_ops.c
source/blender/editors/space_node/node_ops.c
source/blender/editors/space_node/node_state.c
source/blender/editors/space_sequencer/sequencer_draw.c
source/blender/editors/space_sequencer/sequencer_edit.c
source/blender/editors/space_sequencer/sequencer_ops.c
source/blender/editors/space_text/text_ops.c
source/blender/editors/space_view3d/drawobject.c
source/blender/editors/space_view3d/view3d_draw.c
source/blender/editors/space_view3d/view3d_edit.c
source/blender/editors/space_view3d/view3d_view.c
source/blender/editors/transform/transform_conversions.c
source/blender/imbuf/intern/anim.c
source/blender/imbuf/intern/imageprocess.c
source/blender/imbuf/intern/png.c
source/blender/imbuf/intern/thumbs_blend.c
source/blender/makesdna/DNA_actuator_types.h
source/blender/makesdna/DNA_brush_types.h
source/blender/makesdna/DNA_curve_types.h
source/blender/makesdna/DNA_object_types.h
source/blender/makesdna/DNA_sdna_types.h
source/blender/makesdna/DNA_world_types.h
source/blender/makesdna/intern/dna_genfile.c
source/blender/makesdna/intern/makesdna.c
source/blender/makesrna/intern/makesrna.c
source/blender/makesrna/intern/rna_action.c
source/blender/makesrna/intern/rna_actuator.c
source/blender/makesrna/intern/rna_brush.c
source/blender/makesrna/intern/rna_controller.c
source/blender/makesrna/intern/rna_curve.c
source/blender/makesrna/intern/rna_image.c
source/blender/makesrna/intern/rna_object.c
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_sequencer.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/makesrna/intern/rna_world.c
source/blender/makesrna/rna_cleanup/rna_cleaner.py
source/blender/modifiers/intern/MOD_screw.c
source/blender/python/doc/epy/Geometry.py
source/blender/python/generic/blf_api.c
source/blender/python/generic/bpy_internal_import.c
source/blender/python/generic/geometry.c
source/blender/python/generic/mathutils.c
source/blender/python/generic/mathutils.h
source/blender/python/generic/mathutils_vector.c
source/blender/python/generic/noise.c [new file with mode: 0644]
source/blender/python/intern/bpy.c
source/blender/python/intern/bpy_rna.c
source/blender/render/SConscript
source/blender/render/intern/raytrace/reorganize.h
source/blender/render/intern/source/convertblender.c
source/blender/render/intern/source/pipeline.c
source/blender/render/intern/source/texture.c
source/blender/windowmanager/WM_api.h
source/blender/windowmanager/intern/wm_event_system.c
source/blender/windowmanager/intern/wm_files.c
source/blender/windowmanager/intern/wm_jobs.c
source/blender/windowmanager/intern/wm_operators.c
source/blenderplayer/bad_level_call_stubs/stubs.c
source/creator/CMakeLists.txt
source/gameengine/Expressions/PyObjectPlus.cpp
source/gameengine/GameLogic/SCA_PythonController.cpp
source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
source/gameengine/Ketsji/KX_GameObject.cpp
source/gameengine/Ketsji/KX_PythonSeq.cpp
source/gameengine/Network/NG_NetworkScene.cpp
source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
source/gameengine/PyDoc/VideoTexture.py

index b11df1b..acdf618 100644 (file)
@@ -46,8 +46,11 @@ import glob
 import re
 from tempfile import mkdtemp
 
+# store path to tools
+toolpath=os.path.join(".", "build_files", "scons", "tools")
+
 # needed for importing tools
-sys.path.append(os.path.join(".", "build_files", "scons", "tools"))
+sys.path.append(toolpath)
 
 import Blender
 import btools
@@ -121,7 +124,7 @@ if toolset:
        print "Using " + toolset
        if toolset=='mstoolkit':
                env = BlenderEnvironment(ENV = os.environ)
-               env.Tool('mstoolkit', ['tools'])
+               env.Tool('mstoolkit', [toolpath])
        else:
                env = BlenderEnvironment(tools=[toolset], ENV = os.environ)
                # xxx commented out, as was supressing warnings under mingw..
@@ -170,7 +173,7 @@ else:
 
 if crossbuild and env['PLATFORM'] != 'win32':
        print B.bc.HEADER+"Preparing for crossbuild"+B.bc.ENDC
-       env.Tool('crossmingw', ['tools'])
+       env.Tool('crossmingw', [toolpath])
        # todo: determine proper libs/includes etc.
        # Needed for gui programs, console programs should do without it
 
@@ -627,9 +630,6 @@ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
                                        '${BF_FFMPEG_LIBPATH}/avdevice-52.dll',
                                        '${BF_FFMPEG_LIBPATH}/avutil-50.dll',
                                        '${BF_FFMPEG_LIBPATH}/swscale-0.dll']
-
-       if env['WITH_BF_JACK']:
-               dllsources += ['${LCGDIR}/jack/lib/libjack.dll']
        windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources)
        allinstall += windlls
 
similarity index 83%
rename from release/freedesktop/blender-thumbnailer.py
rename to bin/blender-thumbnailer.py
index 5274da1..27d6259 100755 (executable)
@@ -25,57 +25,54 @@ To run automatically with nautilus:
    gconftool --type string --set /desktop/gnome/thumbnailers/application@x-blender/command "blender-thumbnailer.py %i %o"
 """
 
-import os
 import struct
-import sys
 
 def blend_extract_thumb(path):
+    import os
+
     # def MAKE_ID(tag): ord(tag[0])<<24 | ord(tag[1])<<16 | ord(tag[2])<<8 | ord(tag[3])
     REND = 1145980242 # MAKE_ID(b'REND')
     TEST = 1414743380 # MAKE_ID(b'TEST')
 
     blendfile = open(path, 'rb')
 
-    head = blendfile.read(7)
+    head = blendfile.read(12)
 
     if head[0:2] == b'\x1f\x8b': # gzip magic
         import gzip
         blendfile.close()
         blendfile = gzip.open(path, 'rb')
-        head = blendfile.read(7)
+        head = blendfile.read(12)
 
-    if head != b'BLENDER':
+    if not head.startswith(b'BLENDER'):
         blendfile.close()
         return None, 0, 0
 
-    is_64_bit = (blendfile.read(1) == b'-')
+    is_64_bit = (head[7] == b'-')
 
     # true for PPC, false for X86
-    is_big_endian = (blendfile.read(1) == b'V')
-
-    # Now read the bhead chunk!!!
-    blendfile.read(3) # skip the version
+    is_big_endian = (head[8] == b'V')
 
-    sizeof_pointer = 8 if is_64_bit else 4
+    # blender pre 2.5 had no thumbs
+    if head[9:11] <= b'24':
+        return None, 0, 0
 
     sizeof_bhead = 24 if is_64_bit else 20
-    
-    int_endian = '>i' if is_big_endian else '<i'
     int_endian_pair = '>ii' if is_big_endian else '<ii'
-    
+
     while True:
-        try:
-            code, length = struct.unpack(int_endian_pair, blendfile.read(8)) # 8 == sizeof(int) * 2
-        except IOError:
+        bhead = blendfile.read(sizeof_bhead)
+
+        if len(bhead) < sizeof_bhead:
             return None, 0, 0
-        
-        # finally read the rest of the bhead struct, pointer and 2 ints
-        blendfile.seek(sizeof_bhead - 8, os.SEEK_CUR)
+
+        code, length = struct.unpack(int_endian_pair, bhead[0:8]) # 8 == sizeof(int) * 2
 
         if code == REND:
             blendfile.seek(length, os.SEEK_CUR)
         else:
             break
+            
     
     if code != TEST:
         return None, 0, 0
@@ -86,12 +83,12 @@ def blend_extract_thumb(path):
         return None, 0, 0
 
     length -= 8 # sizeof(int) * 2
-    
+
     if length != x * y * 4:
         return None, 0, 0
-    
+
     image_buffer = blendfile.read(length)
-    
+
     if len(image_buffer) != length:
         return None, 0, 0
 
@@ -104,7 +101,7 @@ def write_png(buf, width, height):
     # reverse the vertical line order and add null bytes at the start
     width_byte_4 = width * 4
     raw_data = b"".join([b'\x00' + buf[span:span + width_byte_4] for span in range((height - 1) * width * 4, -1, - width_byte_4)])
-    
+
     def png_pack(png_tag, data):
         chunk_head = png_tag + data
         return struct.pack("!I", len(data)) + chunk_head + struct.pack("!I", 0xFFFFFFFF & zlib.crc32(chunk_head))
@@ -117,6 +114,8 @@ def write_png(buf, width, height):
 
 
 if __name__ == '__main__':
+    import sys
+
     if len(sys.argv) < 2:
         print("Expected 2 arguments <input.blend> <output.png>")
     else:
index 03a1a0f..5647ef0 100644 (file)
@@ -15,7 +15,7 @@ import sys
 Variables = SCons.Variables
 BoolVariable = SCons.Variables.BoolVariable
 
-VERSION = '2.52' # This is used in creating the local config directories
+VERSION = '2.53' # This is used in creating the local config directories
 
 def print_arguments(args, bc):
     if len(args):
index 50a7945..07262b9 100644 (file)
@@ -601,7 +601,7 @@ void btConeTwistConstraint::calcAngleInfo2()
        m_solveSwingLimit = false;
        // compute rotation of A wrt B (in constraint space)
        if (m_bMotorEnabled && (!m_useSolveConstraintObsolete))
-       {       // it is assumed that setMotorTarget() was alredy called 
+       {       // it is assumed that setMotorTarget() was already called 
                // and motor target m_qTarget is within constraint limits
                // TODO : split rotation to pure swing and pure twist
                // compute desired transforms in world
index ea13a33..1fcfddf 100644 (file)
@@ -69,7 +69,7 @@ public:
         * @param time          The time this event was generated.
         * @param type          The type of this event.
         * @param dataType      The type of the drop candidate object
-        * @param window        The window where the event occured
+        * @param window        The window where the event occurred
         * @param x                     The x-coordinate of the location the cursor was at at the time of the event.
         * @param y                     The y-coordinate of the location the cursor was at at the time of the event.
         * @param data          The "content" dropped in the window
index 2e7c9b1..3ae8ec0 100644 (file)
@@ -155,7 +155,7 @@ public:
         * @param draggedObjectType The type object concerned (currently array of file names, string, TIFF image)
         * @param mouseX x mouse coordinate (in cocoa base window coordinates)
         * @param mouseY y mouse coordinate
-        * @param window The window on which the event occured
+        * @param window The window on which the event occurred
      * @return Indication whether the event was handled. 
      */
        GHOST_TSuccess handleDraggingEvent(GHOST_TEventType eventType, GHOST_TDragnDropTypes draggedObjectType,
@@ -236,7 +236,7 @@ public:
        /**
      * Handles a window event. Called by GHOST_WindowCocoa window delegate
      * @param eventType The type of window event
-        * @param window The window on which the event occured
+        * @param window The window on which the event occurred
      * @return Indication whether the event was handled. 
      */
     GHOST_TSuccess handleWindowEvent(GHOST_TEventType eventType, GHOST_WindowCocoa* window);
index 6c29b74..bec243f 100644 (file)
@@ -1550,7 +1550,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
                                                NSPoint mousePos = [event locationInWindow];
                                                pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, mousePos.x, mousePos.y));
                                                m_cursorDelta_x=0;
-                                               m_cursorDelta_y=0; //Mouse motion occured between two cursor warps, so we can reset the delta counter
+                                               m_cursorDelta_y=0; //Mouse motion occurred between two cursor warps, so we can reset the delta counter
                                        }
                                                break;
                                }
index 888d9c0..35b8deb 100644 (file)
@@ -214,7 +214,7 @@ public:
         * @param draggedObjectType The type object concerned (currently array of file names, string, ?bitmap)
         * @param mouseX x mouse coordinate (in window coordinates)
         * @param mouseY y mouse coordinate
-        * @param window The window on which the event occured
+        * @param window The window on which the event occurred
         * @return Indication whether the event was handled. 
         */
        static GHOST_TSuccess pushDragDropEvent(GHOST_TEventType eventType, GHOST_TDragnDropTypes draggedObjectType,GHOST_IWindow* window, int mouseX, int mouseY, void* data);
index 1729d83..040097a 100644 (file)
@@ -416,7 +416,7 @@ void vectoradd(
             A[i] += B[i];
 }
 
-// same with seperate output vector
+// same with separate output vector
 
 template <class T>
 void vectoradd(
index e923b1f..914f950 100644 (file)
@@ -52,7 +52,7 @@ void MovingFrame::pushInternalFrame(CacheTS timestamp)
        }
 }
 
-// load pose just preceeding timestamp
+// load pose just preceding timestamp
 // return false if no cache position was found
 bool MovingFrame::popInternalFrame(CacheTS timestamp)
 {
index d468cd4..3e035fd 100644 (file)
@@ -359,7 +359,7 @@ int STR_String::Find(char c, int pos) const
 
 
 //
-// Find the first occurence of <str> in the string
+// Find the first occurrence of <str> in the string
 //
 int    STR_String::Find(const char *str, int pos) const
 {
@@ -373,7 +373,7 @@ int STR_String::Find(const char *str, int pos) const
 
 
 //
-// Find the first occurence of <str> in the string
+// Find the first occurrence of <str> in the string
 //
 int    STR_String::Find(rcSTR_String str, int pos) const
 {
@@ -387,7 +387,7 @@ int STR_String::Find(rcSTR_String str, int pos) const
 
 
 //
-// Find the last occurence of <c> in the string
+// Find the last occurrence of <c> in the string
 //
 int STR_String::RFind(char c) const
 {
@@ -399,7 +399,7 @@ int STR_String::RFind(char c) const
 
 
 //
-// Find the first occurence of any character in character set <set> in the string
+// Find the first occurrence of any character in character set <set> in the string
 //
 int STR_String::FindOneOf(const char *set, int pos) const
 {
index 49d0a5d..c43732b 100644 (file)
@@ -1 +1 @@
-2.5-alpha2
+2.5-beta
diff --git a/release/datafiles/brushicons/blob.png b/release/datafiles/brushicons/blob.png
new file mode 100644 (file)
index 0000000..1d63d1e
Binary files /dev/null and b/release/datafiles/brushicons/blob.png differ
diff --git a/release/datafiles/brushicons/clay.png b/release/datafiles/brushicons/clay.png
new file mode 100644 (file)
index 0000000..dab73b7
Binary files /dev/null and b/release/datafiles/brushicons/clay.png differ
diff --git a/release/datafiles/brushicons/crease.png b/release/datafiles/brushicons/crease.png
new file mode 100644 (file)
index 0000000..ac057e0
Binary files /dev/null and b/release/datafiles/brushicons/crease.png differ
diff --git a/release/datafiles/brushicons/draw.png b/release/datafiles/brushicons/draw.png
new file mode 100644 (file)
index 0000000..2cbc805
Binary files /dev/null and b/release/datafiles/brushicons/draw.png differ
diff --git a/release/datafiles/brushicons/fill.png b/release/datafiles/brushicons/fill.png
new file mode 100644 (file)
index 0000000..654ec7b
Binary files /dev/null and b/release/datafiles/brushicons/fill.png differ
diff --git a/release/datafiles/brushicons/flatten.png b/release/datafiles/brushicons/flatten.png
new file mode 100644 (file)
index 0000000..401226b
Binary files /dev/null and b/release/datafiles/brushicons/flatten.png differ
diff --git a/release/datafiles/brushicons/grab.png b/release/datafiles/brushicons/grab.png
new file mode 100644 (file)
index 0000000..d3ebbef
Binary files /dev/null and b/release/datafiles/brushicons/grab.png differ
diff --git a/release/datafiles/brushicons/inflate.png b/release/datafiles/brushicons/inflate.png
new file mode 100644 (file)
index 0000000..f3ad313
Binary files /dev/null and b/release/datafiles/brushicons/inflate.png differ
diff --git a/release/datafiles/brushicons/layer.png b/release/datafiles/brushicons/layer.png
new file mode 100644 (file)
index 0000000..df3b02f
Binary files /dev/null and b/release/datafiles/brushicons/layer.png differ
diff --git a/release/datafiles/brushicons/nudge.png b/release/datafiles/brushicons/nudge.png
new file mode 100644 (file)
index 0000000..84964e9
Binary files /dev/null and b/release/datafiles/brushicons/nudge.png differ
diff --git a/release/datafiles/brushicons/pinch.png b/release/datafiles/brushicons/pinch.png
new file mode 100644 (file)
index 0000000..b60bcd6
Binary files /dev/null and b/release/datafiles/brushicons/pinch.png differ
diff --git a/release/datafiles/brushicons/scrape.png b/release/datafiles/brushicons/scrape.png
new file mode 100644 (file)
index 0000000..9b7a57c
Binary files /dev/null and b/release/datafiles/brushicons/scrape.png differ
diff --git a/release/datafiles/brushicons/smooth.png b/release/datafiles/brushicons/smooth.png
new file mode 100644 (file)
index 0000000..052e245
Binary files /dev/null and b/release/datafiles/brushicons/smooth.png differ
diff --git a/release/datafiles/brushicons/snake_hook.png b/release/datafiles/brushicons/snake_hook.png
new file mode 100644 (file)
index 0000000..f8351d9
Binary files /dev/null and b/release/datafiles/brushicons/snake_hook.png differ
diff --git a/release/datafiles/brushicons/thumb.png b/release/datafiles/brushicons/thumb.png
new file mode 100644 (file)
index 0000000..8c39075
Binary files /dev/null and b/release/datafiles/brushicons/thumb.png differ
diff --git a/release/datafiles/brushicons/twist.png b/release/datafiles/brushicons/twist.png
new file mode 100644 (file)
index 0000000..5390442
Binary files /dev/null and b/release/datafiles/brushicons/twist.png differ
index 78a44ba..89e1959 100644 (file)
Binary files a/release/datafiles/splash.png and b/release/datafiles/splash.png differ
index 4fd889c..6b776c7 100644 (file)
@@ -1006,7 +1006,7 @@ def save_3ds(filename, context):
                             mat = mat_ls[mat_index]
                             if mat:    mat_name = mat.name
                             else:      mat_name = None
-                        # else there alredy set to none
+                        # else there already set to none
 
                         img = uf.image
 #                                              img = f.image
index 4505b56..6469a59 100644 (file)
@@ -83,7 +83,7 @@ def copy_images(dest_dir, textures):
         if Blender.sys.exists(image_path):
             # Make a name for the target path.
             dest_image_path = dest_dir + image_path.split('\\')[-1].split('/')[-1]
-            if not Blender.sys.exists(dest_image_path): # Image isnt alredy there
+            if not Blender.sys.exists(dest_image_path): # Image isnt already there
                 print('\tCopying "%s" > "%s"' % (image_path, dest_image_path))
                 try:
                     copy_file(image_path, dest_image_path)
@@ -359,7 +359,7 @@ def write(filename, batch_objects = None, \
 
             if BATCH_OWN_DIR:
                 new_fbxpath = fbxpath + newname + os.sep
-                # path may alredy exist
+                # path may already exist
                 # TODO - might exist but be a file. unlikely but should probably account for it.
 
                 if bpy.utils.exists(new_fbxpath) == 0:
@@ -391,7 +391,7 @@ def write(filename, batch_objects = None, \
 
 
             # Call self with modified args
-            # Dont pass batch options since we alredy usedt them
+            # Dont pass batch options since we already usedt them
             write(filename, data.objects,
                 context,
                 False,
@@ -2763,7 +2763,7 @@ Takes:  {''')
                 act_end =      end
             else:
                 # use existing name
-                if blenAction == blenActionDefault: # have we alredy got the name
+                if blenAction == blenActionDefault: # have we already got the name
                     file.write('\n\tTake: "%s" {' % sane_name_mapping_take[blenAction.name])
                 else:
                     file.write('\n\tTake: "%s" {' % sane_takename(blenAction))
@@ -2918,7 +2918,7 @@ Takes:  {''')
                                         for val, frame in context_bone_anim_keys:
                                             if frame != context_bone_anim_keys[0][1]: # not the first
                                                 file.write(',')
-                                            # frame is alredy one less then blenders frame
+                                            # frame is already one less then blenders frame
                                             file.write('\n\t\t\t\t\t\t\t%i,%.15f,L'  % (fbx_time(frame), val ))
 
                                 if             i==0:   file.write('\n\t\t\t\t\t\tColor: 1,0,0')
@@ -2940,7 +2940,8 @@ Takes:  {''')
             # end action loop. set original actions
             # do this after every loop incase actions effect eachother.
             for my_bone in ob_arms:
-                my_bone.blenObject.animation_data.action = my_bone.blenAction
+                if my_bone.blenObject.animation_data:
+                    my_bone.blenObject.animation_data.action = my_bone.blenAction
 
         file.write('\n}')
 
@@ -3037,7 +3038,7 @@ Takes:  {''')
 
 # --------------------------------------------
 # UI Function - not a part of the exporter.
-# this is to seperate the user interface from the rest of the exporter.
+# this is to separate the user interface from the rest of the exporter.
 # from Blender import Draw, Window
 EVENT_NONE = 0
 EVENT_EXIT = 1
index 626b92c..6b47f6d 100644 (file)
@@ -193,7 +193,7 @@ def copy_images(dest_dir):
 #              if bpy.sys.exists(image_path):
 #                      # Make a name for the target path.
 #                      dest_image_path = dest_dir + image_path.split('\\')[-1].split('/')[-1]
-#                      if not bpy.utils.exists(dest_image_path): # Image isnt alredy there
+#                      if not bpy.utils.exists(dest_image_path): # Image isnt already there
 #                              print('\tCopying "%s" > "%s"' % (image_path, dest_image_path))
 #                              copy_file(image_path, dest_image_path)
 #                              copyCount+=1
@@ -299,7 +299,7 @@ def write(filepath, objects, scene,
           EXPORT_POLYGROUPS=False,
           EXPORT_CURVE_AS_NURBS=True):
     '''
-    Basic write function. The context and options must be alredy set
+    Basic write function. The context and options must be already set
     This can be accessed externaly
     eg.
     write( 'c:\\test\\foobar.obj', Blender.Object.GetSelected() ) # Using default options.
@@ -681,7 +681,7 @@ def write(filepath, objects, scene,
 
                 # CHECK FOR CONTEXT SWITCH
                 if key == contextMat:
-                    pass # Context alredy switched, dont do anything
+                    pass # Context already switched, dont do anything
                 else:
                     if key[0] == None and key[1] == None:
                         # Write a null material, since we know the context has changed.
index afe8241..9bbb912 100644 (file)
@@ -506,7 +506,7 @@ def create_materials(filepath, material_libs, unique_materials, unique_material_
 
 def split_mesh(verts_loc, faces, unique_materials, filepath, SPLIT_OB_OR_GROUP, SPLIT_MATERIALS):
     '''
-    Takes vert_loc and faces, and seperates into multiple sets of
+    Takes vert_loc and faces, and separates into multiple sets of
     (verts_loc, faces, unique_materials, dataname)
     '''
 
@@ -1346,7 +1346,7 @@ def load_obj_ui(filepath, BATCH_LOAD= False):
     'Separate objects from obj...',\
     ('Object', SPLIT_OBJECTS, 'Import OBJ Objects into Blender Objects'),\
     ('Group', SPLIT_GROUPS, 'Import OBJ Groups into Blender Objects'),\
-    ('Split Materials', SPLIT_MATERIALS, 'Import each material into a seperate mesh'),\
+    ('Split Materials', SPLIT_MATERIALS, 'Import each material into a separate mesh'),\
     'Options...',\
     ('Keep Vert Order', KEEP_VERT_ORDER, 'Keep vert and face order, disables some other options.'),\
     ('Clamp Scale:', CLAMP_SIZE, 0.0, 1000.0, 'Clamp the size to this maximum (Zero to Disable)'),\
@@ -1432,7 +1432,7 @@ def load_obj_ui(filepath, BATCH_LOAD= False):
             Draw.BeginAlign()
             SPLIT_OBJECTS = Draw.Toggle('Object', EVENT_REDRAW, ui_x+9, ui_y+89, 55, 21, SPLIT_OBJECTS.val, 'Import OBJ Objects into Blender Objects', do_split)
             SPLIT_GROUPS = Draw.Toggle('Group', EVENT_REDRAW, ui_x+64, ui_y+89, 55, 21, SPLIT_GROUPS.val, 'Import OBJ Groups into Blender Objects', do_split)
-            SPLIT_MATERIALS = Draw.Toggle('Split Materials', EVENT_REDRAW, ui_x+119, ui_y+89, 60, 21, SPLIT_MATERIALS.val, 'Import each material into a seperate mesh', do_split)
+            SPLIT_MATERIALS = Draw.Toggle('Split Materials', EVENT_REDRAW, ui_x+119, ui_y+89, 60, 21, SPLIT_MATERIALS.val, 'Import each material into a separate mesh', do_split)
             Draw.EndAlign()
 
             # Only used for user feedback
@@ -1570,7 +1570,7 @@ class IMPORT_OT_obj(bpy.types.Operator):
     CREATE_EDGES = BoolProperty(name="Lines as Edges", description="Import lines and faces with 2 verts as edge", default= True)
     SPLIT_OBJECTS = BoolProperty(name="Object", description="Import OBJ Objects into Blender Objects", default= True)
     SPLIT_GROUPS = BoolProperty(name="Group", description="Import OBJ Groups into Blender Objects", default= True)
-    SPLIT_MATERIALS = BoolProperty(name="Split Materials", description="Import each material into a seperate mesh", default= False)
+    SPLIT_MATERIALS = BoolProperty(name="Split Materials", description="Import each material into a separate mesh", default= False)
     # old comment: only used for user feedback
     # disabled this option because in old code a handler for it disabled SPLIT* params, it's not passed to load_obj
     # KEEP_VERT_ORDER = BoolProperty(name="Keep Vert Order", description="Keep vert and face order, disables split options, enable for morph targets", default= True)
index c3695cd..74155f6 100644 (file)
@@ -27,9 +27,10 @@ def get(handler):
     def output(text):
         handler.wfile.write(bytes(text, encoding='utf8'))
 
-    def head(title):
+    def head(title, refresh = False):
         output("<html><head>")
-        output("<meta http-equiv='refresh' content=5>")
+        if refresh:
+            output("<meta http-equiv='refresh' content=5>")
         output("<script src='/html/netrender.js' type='text/javascript'></script>")
 #              output("<script src='/html/json2.js' type='text/javascript'></script>")
         output("<title>")
@@ -104,7 +105,7 @@ def get(handler):
         f.close()
     elif handler.path == "/html" or handler.path == "/":
         handler.send_head(content = "text/html")
-        head("NetRender")
+        head("NetRender", refresh = True)
 
         output("<h2>Jobs</h2>")
 
index 34af8e1..d9a13ad 100755 (executable)
@@ -83,14 +83,17 @@ def process(paths):
         elif paths[i].endswith(".bobj.gz"):
             path_map[os.path.split(paths[i])[0]] = os.path.split(paths[i+1])[0]
         else:
-            path_map[paths[i]] = paths[i+1]
+            path_map[os.path.split(paths[i])[1]] = paths[i+1]
+            
+    # TODO original paths aren't really the orignal path (they are the normalized path
+    # so we repath using the filenames only. 
     
     ###########################
     # LIBRARIES
     ###########################
     for lib in bpy.data.libraries:
         file_path = bpy.utils.expandpath(lib.filepath)
-        new_path = path_map.get(file_path, None)
+        new_path = path_map.get(os.path.split(file_path)[1], None)
         if new_path:
             lib.filepath = new_path
 
@@ -100,7 +103,7 @@ def process(paths):
     for image in bpy.data.images:
         if image.source == "FILE" and not image.packed_file:
             file_path = bpy.utils.expandpath(image.filepath)
-            new_path = path_map.get(file_path, None)
+            new_path = path_map.get(os.path.split(file_path)[1], None)
             if new_path:
                 image.filepath = new_path
             
index 9fd0015..fbaf225 100644 (file)
@@ -79,6 +79,8 @@ def testFile(conn, job_id, slave_id, rfile, JOB_PREFIX, main_path = None):
             job_full_path = prefixPath(JOB_PREFIX, rfile.filepath, main_path, force = True)
 
     if not found:
+        # Force prefix path if not found
+        job_full_path = prefixPath(JOB_PREFIX, rfile.filepath, main_path, force = True)
         temp_path = JOB_PREFIX + "slave.temp"
         conn.request("GET", fileURL(job_id, rfile.index), headers={"slave-id":slave_id})
         response = conn.getresponse()
index 6288b97..fa2eb6f 100644 (file)
@@ -171,7 +171,7 @@ def prefixPath(prefix_directory, file_path, prefix_path, force = False):
         # if an absolute path, make sure path exists, if it doesn't, use relative local path
         full_path = file_path
         if force or not os.path.exists(full_path):
-            p, n = os.path.split(full_path)
+            p, n = os.path.split(os.path.normpath(full_path))
 
             if prefix_path and p.startswith(prefix_path):
                 if len(prefix_path) < len(p):
index f0de31a..404013f 100644 (file)
@@ -60,7 +60,7 @@ def modules_from_path(path, loaded_modules):
 
     :arg path: this path is scanned for scripts and packages.
     :type path: string
-    :arg loaded_modules: alredy loaded module names, files matching these names will be ignored.
+    :arg loaded_modules: already loaded module names, files matching these names will be ignored.
     :type loaded_modules: set
     :return: all loaded modules.
     :rtype: list
index d3bab72..86f2399 100644 (file)
@@ -236,7 +236,7 @@ def main(obj, bone_definition, base_names, options):
             attr_parent = ex_chain.attr_names[i - 1] + "_e"
             ebone.parent = getattr(ex_chain, attr_parent)
 
-        # intentional! get the parent from the other paralelle chain member
+        # intentional! get the parent from the other parallel chain member
         getattr(rv_chain, attr).parent = ebone
 
 
index cf87618..432486b 100644 (file)
@@ -94,7 +94,7 @@ class SequencerCutMulticam(bpy.types.Operator):
 
         s = context.scene.sequence_editor.active_strip
 
-        if s.multicam_source == camera:
+        if s.multicam_source == camera or camera >= s.channel:
             return {'FINISHED'}
 
         if not s.select:
index a7ef980..78cef26 100644 (file)
@@ -524,7 +524,7 @@ def mergeUvIslands(islandList):
                                 then move us 1 whole width accross,
                                 Its possible this is a bad idea since 2 skinny Angular faces
                                 could join without 1 whole move, but its a lot more optimal to speed this up
-                                since we have alredy tested for it.
+                                since we have already tested for it.
 
                                 It gives about 10% speedup with minimal errors.
                                 '''
@@ -1027,7 +1027,7 @@ def main(context, island_margin, projection_limit):
             bestAng = fvec.dot(projectVecs[0])
             bestAngIdx = 0
 
-            # Cycle through the remaining, first alredy done
+            # Cycle through the remaining, first already done
             while i-1:
                 i-=1
 
index 777dee1..ba4eae8 100644 (file)
@@ -244,9 +244,9 @@ kmi = km.items.add('object.location_clear', 'G', 'PRESS', alt=True)
 kmi = km.items.add('object.rotation_clear', 'R', 'PRESS', alt=True)
 kmi = km.items.add('object.scale_clear', 'S', 'PRESS', alt=True)
 kmi = km.items.add('object.origin_clear', 'O', 'PRESS', alt=True)
-kmi = km.items.add('object.hide_clear', 'H', 'PRESS', alt=True)
-kmi = km.items.add('object.hide_set', 'H', 'PRESS')
-kmi = km.items.add('object.hide_set', 'H', 'PRESS', shift=True)
+kmi = km.items.add('object.hide_view_clear', 'H', 'PRESS', alt=True)
+kmi = km.items.add('object.hide_view_set', 'H', 'PRESS')
+kmi = km.items.add('object.hide_view_set', 'H', 'PRESS', shift=True)
 kmi.properties.unselected = True
 kmi = km.items.add('object.move_to_layer', 'M', 'PRESS')
 kmi = km.items.add('object.delete', 'X', 'PRESS')
index 1526bd0..8d37949 100644 (file)
@@ -118,6 +118,9 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel):
             if ob:
                 split.template_ID(ob, "active_material", new="material.new")
                 row = split.row()
+                if mat:
+                    row.prop(mat, "use_nodes", icon="NODETREE", text="")
+
                 if slot:
                     row.prop(slot, "link", text="")
                 else:
index 25c0f38..ef91dce 100644 (file)
@@ -548,6 +548,7 @@ class RENDER_PT_output(RenderButtonsPanel):
         layout = self.layout
 
         rd = context.scene.render
+        file_format = rd.file_format
         wide_ui = context.region.width > narrowui
 
         layout.prop(rd, "output_path", text="")
@@ -563,11 +564,15 @@ class RENDER_PT_output(RenderButtonsPanel):
         col.prop(rd, "use_overwrite")
         col.prop(rd, "use_placeholder")
 
-        if rd.file_format in ('AVI_JPEG', 'JPEG'):
+        if file_format in ('AVI_JPEG', 'JPEG'):
             split = layout.split()
             split.prop(rd, "file_quality", slider=True)
+        
+        if file_format == 'PNG':
+            split = layout.split()
+            split.prop(rd, "file_quality", slider=True, text="Compression")
 
-        elif rd.file_format == 'MULTILAYER':
+        elif file_format == 'MULTILAYER':
             split = layout.split()
 
             col = split.column()
@@ -576,7 +581,7 @@ class RENDER_PT_output(RenderButtonsPanel):
             if wide_ui:
                 col = split.column()
 
-        elif rd.file_format == 'OPEN_EXR':
+        elif file_format == 'OPEN_EXR':
             split = layout.split()
 
             col = split.column()
@@ -593,7 +598,7 @@ class RENDER_PT_output(RenderButtonsPanel):
                 col = subsplit.column()
             col.prop(rd, "exr_preview")
 
-        elif rd.file_format == 'JPEG2000':
+        elif file_format == 'JPEG2000':
             split = layout.split()
             col = split.column()
             col.label(text="Depth:")
@@ -604,7 +609,7 @@ class RENDER_PT_output(RenderButtonsPanel):
             col.prop(rd, "jpeg2k_preset", text="")
             col.prop(rd, "jpeg2k_ycc")
 
-        elif rd.file_format in ('CINEON', 'DPX'):
+        elif file_format in ('CINEON', 'DPX'):
             split = layout.split()
             col = split.column()
             col.prop(rd, "cineon_log", text="Convert to Log")
@@ -616,15 +621,15 @@ class RENDER_PT_output(RenderButtonsPanel):
             col.prop(rd, "cineon_white", text="White")
             col.prop(rd, "cineon_gamma", text="Gamma")
 
-        elif rd.file_format == 'TIFF':
+        elif file_format == 'TIFF':
             split = layout.split()
             split.prop(rd, "tiff_bit")
 
-        elif rd.file_format == 'QUICKTIME_CARBON':
+        elif file_format == 'QUICKTIME_CARBON':
             split = layout.split()
             split.operator("scene.render_data_set_quicktime_codec")
 
-        elif rd.file_format == 'QUICKTIME_QTKIT':
+        elif file_format == 'QUICKTIME_QTKIT':
             split = layout.split()
             col = split.column()
             col.prop(rd, "quicktime_codec_type", text="Video Codec")
index e63d513..22acd49 100644 (file)
@@ -205,6 +205,10 @@ class WORLD_PT_indirect_lighting(WorldButtonsPanel):
     bl_label = "Indirect Lighting"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
+    def poll(self, context):
+        light = context.world.lighting
+        return light.gather_method == 'APPROXIMATE'
+
     def draw_header(self, context):
         light = context.world.lighting
         self.layout.prop(light, "use_indirect_lighting", text="")
index ca8371b..25f4e8b 100644 (file)
@@ -93,6 +93,8 @@ class INFO_MT_file(bpy.types.Menu):
         layout.operator("wm.save_mainfile", text="Save", icon='FILE_TICK').check_existing = False
         layout.operator_context = 'INVOKE_AREA'
         layout.operator("wm.save_as_mainfile", text="Save As...")
+        layout.operator_context = 'INVOKE_AREA'
+        layout.operator("wm.save_as_mainfile", text="Save Copy...").copy = True
 
         layout.separator()
 
index 97d84b7..b9b9003 100644 (file)
@@ -589,6 +589,7 @@ class SEQUENCER_PT_input_movie(SEQUENCER_PT_input):
         col.label(text="Path:")
         col = split.column()
         col.prop(strip, "filepath", text="")
+        col.prop(strip, "mpeg_preseek", text="MPEG Preseek")
 
 
 class SEQUENCER_PT_input_image(SEQUENCER_PT_input):
index fba4f28..2670b01 100644 (file)
@@ -359,7 +359,7 @@ class USERPREF_PT_edit(bpy.types.Panel):
         col.prop(edit, "duplicate_lamp", text="Lamp")
         col.prop(edit, "duplicate_material", text="Material")
         col.prop(edit, "duplicate_texture", text="Texture")
-        col.prop(edit, "duplicate_fcurve", text="F-Curve")
+        #col.prop(edit, "duplicate_fcurve", text="F-Curve")
         col.prop(edit, "duplicate_action", text="Action")
         col.prop(edit, "duplicate_particle", text="Particle")
 
@@ -785,8 +785,9 @@ class USERPREF_PT_input(InputKeyMapPanel):
 
         #col.separator()
 
-        #sub = col.column()
-        #sub.label(text="Mouse Wheel:")
+        sub = col.column()
+        sub.label(text="Mouse Wheel:")
+        sub.prop(inputs, "wheel_invert_zoom", text="Invert Wheel Zoom Direction")
         #sub.prop(view, "wheel_scroll_lines", text="Scroll Lines")
 
         col.separator()
@@ -1118,7 +1119,7 @@ class WM_OT_addon_expand(bpy.types.Operator):
     def execute(self, context):
         module_name = self.properties.module
 
-        # unlikely to fail, module should have alredy been imported
+        # unlikely to fail, module should have already been imported
         try:
             mod = __import__(module_name)
         except:
index 3ad945c..c5d74d3 100644 (file)
@@ -2147,10 +2147,11 @@ class VIEW3D_PT_background_image(bpy.types.Panel):
                     box.template_image(bg, "image", bg.image_user, compact=True)
 
                     box.prop(bg, "transparency", slider=True)
-                    box.prop(bg, "size")
-                    row = box.row(align=True)
-                    row.prop(bg, "offset_x", text="X")
-                    row.prop(bg, "offset_y", text="Y")
+                    if bg.view_axis != 'CAMERA':
+                        box.prop(bg, "size")
+                        row = box.row(align=True)
+                        row.prop(bg, "offset_x", text="X")
+                        row.prop(bg, "offset_y", text="Y")
 
 
 class VIEW3D_PT_transform_orientations(bpy.types.Panel):
index 515fa23..dabd26f 100644 (file)
@@ -567,10 +567,10 @@ class VIEW3D_PT_tools_brush(PaintPanel):
             if edit.sculpt_paint_use_unified_size:
                 if edit.sculpt_paint_unified_lock_brush_size:
                     row.prop(edit, "sculpt_paint_unified_lock_brush_size", toggle=True, text="", icon='LOCKED')
-                    row.prop(edit, "sculpt_paint_unified_unprojected_radius", text="Unified Radius", slider=True)
+                    row.prop(edit, "sculpt_paint_unified_unprojected_radius", text="Radius", slider=True)
                 else:
                     row.prop(edit, "sculpt_paint_unified_lock_brush_size", toggle=True, text="", icon='UNLOCKED')
-                    row.prop(edit, "sculpt_paint_unified_size", text="Unified Radius", slider=True)
+                    row.prop(edit, "sculpt_paint_unified_size", text="Radius", slider=True)
 
             else:
                 if brush.lock_brush_size:
@@ -1111,10 +1111,10 @@ class VIEW3D_PT_tools_brush_appearance(PaintPanel):
         col = layout.column();
 
         if context.sculpt_object and context.tool_settings.sculpt:
-            #if brush.sculpt_tool in ('DRAW', 'INFLATE', 'CLAY', 'CLAY_TUBES', 'PINCH', 'CREASE', 'BLOB', 'FLATTEN'):
-            if brush.sculpt_tool in ('DRAW', 'INFLATE', 'CLAY', 'PINCH', 'CREASE', 'BLOB', 'FLATTEN'):
+            #if brush.sculpt_tool in ('DRAW', 'INFLATE', 'CLAY', 'CLAY_TUBES', 'PINCH', 'CREASE', 'BLOB', 'FLATTEN', 'FILL', 'SCRAPE'):
+            if brush.sculpt_tool in ('DRAW', 'INFLATE', 'CLAY', 'PINCH', 'CREASE', 'BLOB', 'FLATTEN', 'FILL', 'SCRAPE'):
                 col.prop(brush, "add_col", text="Add Color")
-                col.prop(brush, "sub_col", text="Substract Color")
+                col.prop(brush, "sub_col", text="Subtract Color")
             else:
                 col.prop(brush, "add_col", text="Color")
 
@@ -1122,8 +1122,12 @@ class VIEW3D_PT_tools_brush_appearance(PaintPanel):
 
         col = layout.column()
         col.label(text="Icon:")
-        #col.template_ID_preview(brush, "image_icon", open="image.open", filter="is_image_icon", rows=3, cols=8)
-        col.template_ID_preview(brush, "image_icon", open="image.open", rows=3, cols=8)
+
+        row = col.row(align=True)
+        row.prop(brush, "icon", text="")
+
+        row = col.row(align=True)
+        row.prop(brush, "icon_filepath", text="")
 
 # ********** default tools for weightpaint ****************
 
index 1da4b62..1b14c63 100644 (file)
   </style>
 </head>
 <body>
-<p class="title"><b>Blender 2.5 Alpha 2</b></p>
+<p class="title"><b>Blender 2.5 Beta</b></p>
 <p><br></p>
 <p class="header"><b>About</b></p>
 <p class="body">Welcome to Blender, the free, open source 3D application for modeling, animation, rendering, compositing, video editing and game creation. Blender is available for Linux, Mac OS X, Windows, Solaris and Irix and has a large world-wide community.</p>
 <p class="body">Blender can be used freely for any purpose, including commercial use and distribution. It's free and open-source software, released under the GNU GPL licence. The entire source code is available on our website.</p>
 <p class="body">For more information, visit <a href="http://www.blender.org">blender.org</a>.</p>
 <p><br></p>
-<p class="header"><b>2.5 Alpha 2</b></p>
-<p class="body">The Blender Foundation and online developer community is proud to present Blender 2.5 Alpha 2. This release is the third official testing release of the Blender 2.5 series, and represents the culmination of many years of redesign and development work. <a href="http://www.blender.org/development/release-logs/blender-250/">More information about this release</a>.</p>
+<p class="header"><b>2.5 Beta</b></p>
+<p class="body">The Blender Foundation and online developer community is proud to present Blender 2.5 Beta. This release is the third official testing release of the Blender 2.5 series, and represents the culmination of many years of redesign and development work. <a href="http://www.blender.org/development/release-logs/blender-250/">More information about this release</a>.</p>
 <p class="body">What to Expect:</p>
 <p class="body">       •     Big improvements - This is our most exciting version to date, already a significant improvement in many ways over 2.49</p>
 <p class="body">       •     Missing/Incomplete Features - Although most of it is there, not all functionality from pre-2.5 versions has been restored yet. Some functionality may be re-implemented a different way.</p>
-<p class="body">       •     Bugs - We've fixed a lot lately, but there are still quite a few bugs. This is alpha software, we're still working on it!</p>
+<p class="body">       •     Bugs - We've fixed a lot lately, but there are still quite a few bugs. This is beta software, we're still working on it!</p>
 <p class="body">       •     Changes - If you're used to the old Blenders, Blender 2.5 may seem quite different at first, but it won't be long before it grows on you even more than before.</p>
 <p><br></p>
 <p class="header"><b>Bugs</b></p>
-<p class="body">Blender 2.5 Alpha 2 is unfinished software. If you encounter a bug, please help us by posting it in the bug tracker or using Help → Report a Bug from inside Blender 2.5. If it wasn’t reported yet, please log in (or register) and fill in detailed information about the error. Please post detailed instructions on how to reproduce it or post a .blend file showcasing the bug.</p>
+<p class="body">Blender 2.5 Beta is unfinished software. If you encounter a bug, please help us by posting it in the bug tracker or using Help → Report a Bug from inside Blender 2.5. If it wasn’t reported yet, please log in (or register) and fill in detailed information about the error. Please post detailed instructions on how to reproduce it or post a .blend file showcasing the bug.</p>
 <p><br></p>
 <p class="header"><b>Package Contents</b></p>
 <p class="body">The downloaded Blender package includes:</p>
index a3115e0..2e71bd9 100644 (file)
@@ -163,7 +163,7 @@ typedef struct _AviIndex {
 typedef enum {
   AVI_FORMAT_RGB24,  /* The most basic of forms, 3 bytes per pixel, 1 per r, g, b */
   AVI_FORMAT_RGB32,  /* The second most basic of forms, 4 bytes per pixel, 1 per r, g, b, alpha */
-  AVI_FORMAT_AVI_RGB, /* Same as above, but is in the wierd AVI order (bottom to top, left to right) */
+  AVI_FORMAT_AVI_RGB, /* Same as above, but is in the weird AVI order (bottom to top, left to right) */
   AVI_FORMAT_MJPEG /* Motion-JPEG */
 } AviFormat;
 
index baec6ec..4e299ac 100644 (file)
@@ -44,8 +44,8 @@ struct ReportList;
 struct Scene;
 struct Main;
 
-#define BLENDER_VERSION                        252
-#define BLENDER_SUBVERSION             5
+#define BLENDER_VERSION                        253
+#define BLENDER_SUBVERSION             0
 
 #define BLENDER_MINVERSION             250
 #define BLENDER_MINSUBVERSION  0
index 6a20916..75fdb71 100644 (file)
@@ -44,6 +44,9 @@ struct Brush *copy_brush(struct Brush *brush);
 void make_local_brush(struct Brush *brush);
 void free_brush(struct Brush *brush);
 
+/* image icon function */
+struct ImBuf *get_brush_icon(struct Brush *brush);
+
 /* brush library operations used by different paint panels */
 int brush_set_nr(struct Brush **current_brush, int nr, const char *name);
 int brush_delete(struct Brush **current_brush);
index 835e2ed..6de0c55 100644 (file)
@@ -143,7 +143,7 @@ typedef enum eFMI_Action_Types {
 typedef enum eFMI_Requirement_Flags {
                /* modifier requires original data-points (kindof beats the purpose of a modifier stack?) */
        FMI_REQUIRES_ORIGINAL_DATA              = (1<<0),
-               /* modifier doesn't require on any preceeding data (i.e. it will generate a curve). 
+               /* modifier doesn't require on any preceding data (i.e. it will generate a curve). 
                 * Use in conjunction with FMI_TYPE_GENRATE_CURVE 
                 */
        FMI_REQUIRES_NOTHING                    = (1<<1),
index cb61a08..fcf7ae8 100644 (file)
@@ -63,7 +63,7 @@ void free_libblock_us(struct ListBase *lb, void *idv);
 void free_main(struct Main *mainvar);
 void tag_main(struct Main *mainvar, int tag);
 
-void splitIDname(char *name, char *left, int *nr);
+int splitIDname(char *name, char *left, int *nr);
 void rename_id(struct ID *id, char *name);
 void test_idbutton(char *name);
 void text_idbutton(struct ID *id, char *text);
@@ -85,4 +85,3 @@ void set_free_windowmanager_cb(void (*func)(struct bContext *, struct wmWindowMa
 #define ID_FALLBACK_NAME "Untitled"
 
 #endif
-
index 07c3da4..2a7ba4f 100644 (file)
@@ -83,7 +83,6 @@ struct Lamp *copy_lamp(struct Lamp *la);
 void make_local_lamp(struct Lamp *la);
 void free_camera(struct Camera *ca);
 void free_lamp(struct Lamp *la);
-void *add_wave(void);
 
 struct Object *add_only_object(int type, char *name);
 struct Object *add_object(struct Scene *scene, int type);
index 33a4182..fcef00a 100644 (file)
@@ -255,11 +255,9 @@ void psys_threads_free(ParticleThread *threads);
 void psys_make_billboard(ParticleBillboardData *bb, float xvec[3], float yvec[3], float zvec[3], float center[3]);
 
 /* particle_system.c */
-void psys_update_path_cache(struct ParticleSimulationData *sim, float cfra);
 struct ParticleSystem *psys_get_target_system(struct Object *ob, struct ParticleTarget *pt);
 void psys_count_keyed_targets(struct ParticleSimulationData *sim);
 void psys_update_particle_tree(struct ParticleSystem *psys, float cfra);
-void psys_update_children(struct ParticleSimulationData *sim);
 
 void psys_make_temp_pointcache(struct Object *ob, struct ParticleSystem *psys);
 void psys_get_pointcache_start_end(struct Scene *scene, ParticleSystem *psys, int *sfra, int *efra);
index 002a195..c5417e0 100644 (file)
@@ -191,13 +191,13 @@ void seq_dupe_animdata(struct Scene *scene, char *name_from, char *name_to);
 int shuffle_seq(struct ListBase * seqbasep, struct Sequence *test, struct Scene *evil_scene);
 int shuffle_seq_time(ListBase * seqbasep, struct Scene *evil_scene);
 int seqbase_isolated_sel_check(struct ListBase *seqbase);
-void free_imbuf_seq(struct Scene *scene, struct ListBase * seqbasep, int check_mem_usage);
+void free_imbuf_seq(struct Scene *scene, struct ListBase * seqbasep, int check_mem_usage, int keep_file_handles);
 struct Sequence        *seq_dupli_recursive(struct Scene *scene, struct Sequence * seq, int dupe_flag);
 int seq_swap(struct Sequence *seq_a, struct Sequence *seq_b);
 
 void seq_update_sound(struct Scene* scene, struct Sequence *seq);
 void seq_update_muting(struct Scene* scene, struct Editing *ed);
-void seqbase_sound_reload(Scene *scene, ListBase *seqbase);
+void seqbase_sound_reload(struct Scene *scene, ListBase *seqbase);
 void seqbase_unique_name_recursive(ListBase *seqbasep, struct Sequence *seq);
 void seqbase_dupli_recursive(struct Scene *scene, ListBase *nseqbase, ListBase *seqbase, int dupe_flag);
 
index 50c86e8..190b040 100644 (file)
@@ -94,6 +94,6 @@ float sound_sync_scene(struct Scene *scene);
 
 int sound_scene_playing(struct Scene *scene);
 
-int sound_read_sound_buffer(struct bSound* sound, float* buffer, int length);
+int sound_read_sound_buffer(struct bSound* sound, float* buffer, int length, float start, float end);
 
 #endif
index 6c8e5c4..228860c 100644 (file)
@@ -301,7 +301,7 @@ void action_groups_add_channel (bAction *act, bActionGroup *agrp, FCurve *fcurve
                /* firstly, link this F-Curve to the group */
                agrp->channels.first = agrp->channels.last = fcurve;
                
-               /* step through the groups preceeding this one, finding the F-Curve there to attach this one after */
+               /* step through the groups preceding this one, finding the F-Curve there to attach this one after */
                for (grp= agrp->prev; grp; grp= grp->prev) {
                        /* if this group has F-Curves, we want weave the given one in right after the last channel there,
                         * but via the Action's list not this group's list
index c423d42..8e3cc07 100644 (file)
@@ -104,8 +104,6 @@ Brush *add_brush(const char *name)
 
        /* brush appearance  */
 
-       brush->image_icon= NULL;
-
        brush->add_col[0]= 1.00; /* add mode color is light red */
        brush->add_col[1]= 0.39;
        brush->add_col[2]= 0.39;
@@ -130,8 +128,12 @@ Brush *copy_brush(Brush *brush)
        
        brushn= copy_libblock(brush);
 
-       if(brush->mtex.tex) id_us_plus((ID*)brush->mtex.tex);
-       
+       if (brush->mtex.tex)
+               id_us_plus((ID*)brush->mtex.tex);
+
+       if (brush->icon_imbuf)
+               brushn->icon_imbuf= IMB_dupImBuf(brush->icon_imbuf);
+
        brushn->curve= curvemapping_copy(brush->curve);
 
        /* enable fake user by default */
@@ -146,7 +148,13 @@ Brush *copy_brush(Brush *brush)
 /* not brush itself */
 void free_brush(Brush *brush)
 {
-       if(brush->mtex.tex) brush->mtex.tex->id.us--;
+       if (brush->mtex.tex)
+               brush->mtex.tex->id.us--;
+
+       if (brush->icon_imbuf)
+               IMB_freeImBuf(brush->icon_imbuf);
+
+       BKE_previewimg_free(&(brush->preview));
 
        curvemapping_free(brush->curve);
 }
@@ -176,7 +184,7 @@ void make_local_brush(Brush *brush)
                        if(scene->id.lib) lib= 1;
                        else local= 1;
                }
-       
+
        if(local && lib==0) {
                brush->id.lib= 0;
                brush->id.flag= LIB_LOCAL;
index 9b49ac9..54adc64 100644 (file)
@@ -591,7 +591,7 @@ int cloth_collision_response_static ( ClothModifierData *clmd, CollisionModifier
        return result;
 }
 
-//Determines collisions on overlap, collisions are writen to collpair[i] and collision+number_collision_found is returned
+//Determines collisions on overlap, collisions are written to collpair[i] and collision+number_collision_found is returned
 CollPair* cloth_collision ( ModifierData *md1, ModifierData *md2, BVHTreeOverlap *overlap, CollPair *collpair )
 {
        ClothModifierData *clmd = ( ClothModifierData * ) md1;
index 5015e0c..d355a52 100644 (file)
@@ -148,7 +148,7 @@ Curve *add_curve(char *name, int type)
                cu->vfont->id.us+=4;
                cu->str= MEM_mallocN(12, "str");
                strcpy(cu->str, "Text");
-               cu->pos= 4;
+               cu->len= cu->pos= 4;
                cu->strinfo= MEM_callocN(12*sizeof(CharInfo), "strinfo new");
                cu->totbox= cu->actbox= 1;
                cu->tb= MEM_callocN(MAXTEXTBOX*sizeof(TextBox), "textbox");
index 6fcc49f..3271749 100644 (file)
@@ -1193,7 +1193,7 @@ short list_has_suitable_fmodifier (ListBase *modifiers, int mtype, short acttype
  *     - this step acts as an optimisation to prevent the F-Curve stack being evaluated 
  *       several times by modifiers requesting the time be modified, as the final result
  *       would have required using the modified time
- *     - modifiers only ever recieve the unmodified time, as subsequent modifiers should be
+ *     - modifiers only ever receive the unmodified time, as subsequent modifiers should be
  *       working on the 'global' result of the modified curve, not some localised segment,
  *       so nevaltime gets set to whatever the last time-modifying modifier likes...
  *     - we start from the end of the stack, as only the last one matters for now
index ad2c857..c1e00e0 100644 (file)
@@ -177,6 +177,9 @@ void BKE_previewimg_free_id(ID *id)
        } else if (GS(id->name) == ID_IM) {
                Image *img  = (Image*)id;
                BKE_previewimg_free(&img->preview);
+       } else if (GS(id->name) == ID_BR) {
+               Brush *br  = (Brush*)br;
+               BKE_previewimg_free(&br->preview);
        }
 }
 
@@ -204,6 +207,10 @@ PreviewImage* BKE_previewimg_get(ID *id)
                Image *img  = (Image*)id;
                if (!img->preview) img->preview = BKE_previewimg_create();
                prv_img = img->preview;
+       } else if (GS(id->name) == ID_BR) {
+               Brush *br  = (Brush*)id;
+               if (!br->preview) br->preview = BKE_previewimg_create();
+               prv_img = br->preview;
        }
 
        return prv_img;
index b66b5c6..ffd0b37 100644 (file)
@@ -1180,6 +1180,10 @@ int BKE_write_ibuf(Scene *scene, ImBuf *ibuf, char *name, int imtype, int subimt
        }
        else if (ELEM5(imtype, R_PNG, R_FFMPEG, R_H264, R_THEORA, R_XVID)) {
                ibuf->ftype= PNG;
+
+               if(imtype==R_PNG)
+                       ibuf->ftype |= quality;  /* quality is actually compression 0-100 --> 0-9 */
+
        }
 #ifdef WITH_DDS
        else if ((imtype==R_DDS)) {
index cd8ab82..64c9bf4 100644 (file)
@@ -906,7 +906,7 @@ static char *get_rna_access (int blocktype, int adrcode, char actname[], char co
                        *array_index= dummy_index;
        }
        
-       /* append preceeding bits to path */
+       /* append preceding bits to path */
        if ((actname && actname[0]) && (constname && constname[0])) {
                /* Constraint in Pose-Channel */
                sprintf(buf, "pose.bones[\"%s\"].constraints[\"%s\"]", actname, constname);
index dc0be1e..385a2f9 100644 (file)
@@ -1009,7 +1009,7 @@ void IMAnames_to_pupstring(char **str, char *title, char *extraops, ListBase *lb
 
 
 /* used by buttons.c library.c mball.c */
-void splitIDname(char *name, char *left, int *nr)
+int splitIDname(char *name, char *left, int *nr)
 {
        int a;
        
@@ -1017,19 +1017,21 @@ void splitIDname(char *name, char *left, int *nr)
        strncpy(left, name, 21);
        
        a= strlen(name);
-       if(a>1 && name[a-1]=='.') return;
+       if(a>1 && name[a-1]=='.') return a;
        
        while(a--) {
                if( name[a]=='.' ) {
                        left[a]= 0;
                        *nr= atol(name+a+1);
-                       return;
+                       return a;
                }
                if( isdigit(name[a])==0 ) break;
                
                left[a]= 0;
        }
        strcpy(left, name);     
+
+       return a;
 }
 
 static void sort_alpha_id(ListBase *lb, ID *id)
@@ -1091,8 +1093,7 @@ static ID *is_dupid(ListBase *lb, ID *id, char *name)
 static int check_for_dupid(ListBase *lb, ID *id, char *name)
 {
        ID *idtest;
-       int nr= 0, nrtest, a;
-       const int maxtest=32;
+       int nr= 0, nrtest, a, left_len;
        char left[32], leftest[32], in_use[32];
 
        /* make sure input name is terminated properly */
@@ -1109,22 +1110,25 @@ static int check_for_dupid(ListBase *lb, ID *id, char *name)
 
                /* we have a dup; need to make a new name */
                /* quick check so we can reuse one of first 32 ids if vacant */
-               memset(in_use, 0, maxtest);
+               memset(in_use, 0, sizeof(in_use));
 
                /* get name portion, number portion ("name.number") */
-               splitIDname( name, left, &nr);
+               left_len= splitIDname(name, left, &nr);
 
                /* if new name will be too long, truncate it */
                if(nr>999 && strlen(left)>16) left[16]= 0;
                else if(strlen(left)>17) left[17]= 0;
 
-               for( idtest = lb->first; idtest; idtest = idtest->next ) {
-                       if( id != idtest && idtest->lib == NULL ) {
-                               splitIDname(idtest->name+2, leftest, &nrtest);
-                               /* if base names match... */
-                               /* optimized */
-                               if( *left == *leftest && strcmp(left, leftest)==0 ) {
-                                       if(nrtest < maxtest)
+               if(left_len) {
+                       for(idtest= lb->first; idtest; idtest= idtest->next) {
+                               if(             (id != idtest) &&
+                                               (idtest->lib == NULL) &&
+                                               (*name == *(idtest->name+2)) &&
+                                               (strncmp(name, idtest->name+2, left_len)==0) &&
+                                               (splitIDname(idtest->name+2, leftest, &nrtest) == left_len)
+
+                               ) {
+                                       if(nrtest < sizeof(in_use))
                                                in_use[nrtest]= 1;      /* mark as used */
                                        if(nr <= nrtest)
                                                nr= nrtest+1;           /* track largest unused */
@@ -1133,7 +1137,7 @@ static int check_for_dupid(ListBase *lb, ID *id, char *name)
                }
 
                /* decide which value of nr to use */
-               for(a=0; a<maxtest; a++) {
+               for(a=0; a < sizeof(in_use); a++) {
                        if(a>=nr) break;        /* stop when we've check up to biggest */
                        if( in_use[a]==0 ) { /* found an unused value */
                                nr = a;
@@ -1143,8 +1147,9 @@ static int check_for_dupid(ListBase *lb, ID *id, char *name)
 
                /* If the original name has no numeric suffix, 
                 * rather than just chopping and adding numbers, 
-                * shave off the end chars until we have a unique name */
-               if (nr==0) {
+                * shave off the end chars until we have a unique name.
+                * Check the null terminators match as well so we dont get Cube.000 -> Cube.00 */
+               if (nr==0 && name[left_len] == left[left_len]) {
                        int len = strlen(name)-1;
                        idtest= is_dupid(lb, id, name);
                        
@@ -1317,7 +1322,7 @@ void all_local(Library *lib, int untagged_only)
                        
                        /* The check on the second line (LIB_PRE_EXISTING) is done so its
                         * possible to tag data you dont want to be made local, used for
-                        * appending data, so any libdata alredy linked wont become local
+                        * appending data, so any libdata already linked wont become local
                         * (very nasty to discover all your links are lost after appending)  
                         * */
                        if(id->flag & (LIB_EXTERN|LIB_INDIRECT|LIB_NEW) &&
@@ -1403,4 +1408,3 @@ void rename_id(ID *id, char *name)
        
        new_id(lb, id, name);                           
 }
-
index 012b385..75b5e6d 100644 (file)
@@ -948,12 +948,6 @@ void free_lamp(Lamp *la)
        la->id.icon_id = 0;
 }
 
-void *add_wave()
-{
-       return 0;
-}
-
-
 /* *************************************************** */
 
 static void *add_obdata_from_type(int type)
@@ -967,7 +961,6 @@ static void *add_obdata_from_type(int type)
        case OB_CAMERA: return add_camera("Camera");
        case OB_LAMP: return add_lamp("Lamp");
        case OB_LATTICE: return add_lattice("Lattice");
-       case OB_WAVE: return add_wave();
        case OB_ARMATURE: return add_armature("Armature");
        case OB_EMPTY: return NULL;
        default:
@@ -987,7 +980,6 @@ static char *get_obdata_defname(int type)
        case OB_CAMERA: return "Camera";
        case OB_LAMP: return "Lamp";
        case OB_LATTICE: return "Lattice";
-       case OB_WAVE: return "Wave";
        case OB_ARMATURE: return "Armature";
        case OB_EMPTY: return "Empty";
        default:
index 96c0afe..3791d80 100644 (file)
@@ -433,7 +433,7 @@ void free_keyed_keys(ParticleSystem *psys)
                }
        }
 }
-void psys_free_child_path_cache(ParticleSystem *psys)
+static void free_child_path_cache(ParticleSystem *psys)
 {
        psys_free_path_cache_buffers(psys->childcache, &psys->childcachebufs);
        psys->childcache = NULL;
@@ -451,7 +451,7 @@ void psys_free_path_cache(ParticleSystem *psys, PTCacheEdit *edit)
                psys->pathcache= NULL;
                psys->totcached= 0;
 
-               psys_free_child_path_cache(psys);
+               free_child_path_cache(psys);
        }
 }
 void psys_free_children(ParticleSystem *psys)
@@ -462,7 +462,7 @@ void psys_free_children(ParticleSystem *psys)
                psys->totchild=0;
        }
 
-       psys_free_child_path_cache(psys);
+       free_child_path_cache(psys);
 }
 void psys_free_particles(ParticleSystem *psys)
 {
@@ -2721,7 +2721,7 @@ void psys_cache_child_paths(ParticleSimulationData *sim, float cfra, int editupd
        }
        else {
                /* clear out old and create new empty path cache */
-               psys_free_child_path_cache(sim->psys);
+               free_child_path_cache(sim->psys);
                sim->psys->childcache= psys_alloc_path_cache_buffers(&sim->psys->childcachebufs, totchild, ctx->steps+1);
                sim->psys->totchildcache = totchild;
        }
index 33ea9f5..181d8fe 100644 (file)
@@ -3075,18 +3075,66 @@ static void deflect_particle(ParticleSimulationData *sim, int p, float dfra, flo
 /*                     Hair                                                            */
 /************************************************/
 /* check if path cache or children need updating and do it if needed */
-void psys_update_path_cache(ParticleSimulationData *sim, float cfra)
+static void psys_update_path_cache(ParticleSimulationData *sim, float cfra)
 {
        ParticleSystem *psys = sim->psys;
        ParticleSettings *part = psys->part;
-       
-       /* only hair, keyed and baked stuff can have paths */
-       if(part->type==PART_HAIR || psys->flag&PSYS_KEYED || psys->pointcache->mem_cache.first) {
+       ParticleEditSettings *pset = &sim->scene->toolsettings->particle;
+       int distr=0, alloc=0, skip=0;
+
+       if((psys->part->childtype && psys->totchild != get_psys_tot_child(sim->scene, psys)) || psys->recalc&PSYS_RECALC_RESET)
+               alloc=1;
+
+       if(alloc || psys->recalc&PSYS_RECALC_CHILD || (psys->vgroup[PSYS_VG_DENSITY] && (sim->ob && sim->ob->mode & OB_MODE_WEIGHT_PAINT)))
+               distr=1;
+
+       if(distr){
+               if(alloc)
+                       realloc_particles(sim, sim->psys->totpart);
+
+               if(get_psys_tot_child(sim->scene, psys)) {
+                       /* don't generate children while computing the hair keys */
+                       if(!(psys->part->type == PART_HAIR) || (psys->flag & PSYS_HAIR_DONE)) {
+                               distribute_particles(sim, PART_FROM_CHILD);
+
+                               if(part->from!=PART_FROM_PARTICLE && part->childtype==PART_CHILD_FACES && part->parents!=0.0)
+                                       psys_find_parents(sim);
+                       }
+               }
+               else
+                       psys_free_children(psys);
+       }
+
+       if((part->type==PART_HAIR || psys->flag&PSYS_KEYED || psys->pointcache->flag & PTCACHE_BAKED)==0)
+               skip = 1; /* only hair, keyed and baked stuff can have paths */
+       else if(part->ren_as != PART_DRAW_PATH && !(part->type==PART_HAIR && ELEM(part->ren_as, PART_DRAW_OB, PART_DRAW_GR)))
+               skip = 1; /* particle visualization must be set as path */
+       else if(!psys->renderdata) {
+               if(part->draw_as != PART_DRAW_REND)
+                       skip = 1; /* draw visualization */
+               else if(psys->pointcache->flag & PTCACHE_BAKING)
+                       skip = 1; /* no need to cache paths while baking dynamics */
+               else if(psys_in_edit_mode(sim->scene, psys)) {
+                       if((pset->flag & PE_DRAW_PART)==0)
+                               skip = 1;
+                       else if(part->childtype==0 && (psys->flag & PSYS_HAIR_DYNAMICS && psys->pointcache->flag & PTCACHE_BAKED)==0)
+                               skip = 1; /* in edit mode paths are needed for child particles and dynamic hair */
+               }
+       }
+
+       if(!skip) {
                psys_cache_paths(sim, cfra);
 
                /* for render, child particle paths are computed on the fly */
-               if(part->childtype && psys->totchild)
-                       psys_cache_child_paths(sim, cfra, 0);
+               if(part->childtype) {
+                       if(!psys->totchild)
+                               skip = 1;
+                       else if(psys->part->type == PART_HAIR && (psys->flag & PSYS_HAIR_DONE)==0)
+                               skip = 1;
+
+                       if(!skip)
+                               psys_cache_child_paths(sim, cfra, 0);
+               }
        }
        else if(psys->pathcache)
                psys_free_path_cache(psys, NULL);
@@ -3201,8 +3249,6 @@ static void do_hair_dynamics(ParticleSimulationData *sim)
        psys->hair_out_dm = clothModifier_do(psys->clmd, sim->scene, sim->ob, dm, 0, 0);
 
        psys->clmd->sim_parms->effector_weights = NULL;
-
-       psys_free_path_cache(psys, NULL);
 }
 static void hair_step(ParticleSimulationData *sim, float cfra)
 {
@@ -3454,19 +3500,14 @@ static void dynamics_step(ParticleSimulationData *sim, float cfra)
        }
 
        free_collider_cache(&sim->colliders);
-
-       if(psys->pathcache)
-               psys_free_path_cache(psys, NULL);
 }
-void psys_update_children(ParticleSimulationData *sim)
+static void update_children(ParticleSimulationData *sim)
 {
        if((sim->psys->part->type == PART_HAIR) && (sim->psys->flag & PSYS_HAIR_DONE)==0)
        /* don't generate children while growing hair - waste of time */
                psys_free_children(sim->psys);
-       else if(sim->psys->part->childtype) {
-               if(sim->psys->totchild != get_psys_tot_child(sim->scene, sim->psys))
-                       distribute_particles(sim, PART_FROM_CHILD);
-       }
+       else if(sim->psys->part->childtype && sim->psys->totchild != get_psys_tot_child(sim->scene, sim->psys))
+               distribute_particles(sim, PART_FROM_CHILD);
        else
                psys_free_children(sim->psys);
 }
@@ -3721,6 +3762,8 @@ static void system_step(ParticleSimulationData *sim, float cfra)
 
                if(ELEM(cache_result, PTCACHE_READ_EXACT, PTCACHE_READ_INTERPOLATED)) {
                        cached_step(sim, cfra);
+                       update_children(sim);
+                       psys_update_path_cache(sim, cfra);
 
                        BKE_ptcache_validate(cache, framenr);
 
@@ -3784,6 +3827,9 @@ static void system_step(ParticleSimulationData *sim, float cfra)
                        BKE_ptcache_write_cache(use_cache, framenr);
        }
 
+       if(init)
+               update_children(sim);
+
 /* cleanup */
        if(psys->lattice){
                end_latt_deform(psys->lattice);
@@ -3946,13 +3992,6 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys)
        /* execute drivers only, as animation has already been done */
        BKE_animsys_evaluate_animdata(&part->id, part->adt, cfra, ADT_RECALC_DRIVERS);
 
-       /* TODO: only free child paths in case of PSYS_RECALC_CHILD */
-       if(psys->recalc & PSYS_RECALC || ob->recalc & OB_RECALC_ALL)
-               psys_free_path_cache(psys, NULL);
-
-       if(psys->recalc & PSYS_RECALC_CHILD)
-               psys_free_children(psys);
-
        if(psys->recalc & PSYS_RECALC_TYPE)
                psys_changed_type(&sim);
        else if(psys->recalc & PSYS_RECALC_PHYS)
@@ -4009,6 +4048,7 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys)
                                        if(part->phystype == PART_PHYS_KEYED) {
                                                psys_count_keyed_targets(&sim);
                                                set_keyed_keys(&sim);
+                                               psys_update_path_cache(&sim,(int)cfra);
                                        }
                                        break;
                                }
index 61e98ce..f5ca7ee 100644 (file)
@@ -800,7 +800,7 @@ void link_logicbricks(void **poin, void ***ppoin, short *tot, short size)
                (*tot) ++;
                *ppoin = MEM_callocN((*tot)*size, "new link");
        
-               for (ibrick=0; ibrick < *tot - 1; ibrick++) {
+               for (ibrick=0; ibrick < *(tot) - 1; ibrick++) {
                        (*ppoin)[ibrick] = old_links[ibrick];
                }
                (*ppoin)[ibrick] = *poin;
index de4e7a5..94aa2c6 100644 (file)
@@ -1142,7 +1142,7 @@ static TStripElem *give_tstripelem(Sequence *seq, int cfra)
                Strip * s = seq->strip;
                if (cfra < seq->start) {
                        se = s->tstripdata_startstill;
-                       if (seq->startstill > s->startstill) {
+                       if (seq->startstill != s->startstill) {
                                free_tstripdata(s->startstill, 
                                                s->tstripdata_startstill);
                                se = 0;
@@ -1159,7 +1159,7 @@ static TStripElem *give_tstripelem(Sequence *seq, int cfra)
 
                } else if (cfra > seq->start + seq->len-1) {
                        se = s->tstripdata_endstill;
-                       if (seq->endstill > s->endstill) {
+                       if (seq->endstill != s->endstill) {
                                free_tstripdata(s->endstill, 
                                                s->tstripdata_endstill);
                                se = 0;
@@ -3267,59 +3267,8 @@ static void free_anim_seq(Sequence *seq)
        }
 }
 
-#if 0
-static void free_imbuf_seq_except(Scene *scene, int cfra)
-{
-       Editing *ed= seq_give_editing(scene, FALSE);
-       Sequence *seq;
-       TStripElem *se;
-       int a;
-
-       if(ed==NULL) return;
-
-       SEQ_BEGIN(ed, seq) {
-               if(seq->strip) {
-                       TStripElem * curelem = give_tstripelem(seq, cfra);
-
-                       for(a = 0, se = seq->strip->tstripdata; 
-                               a < seq->strip->len && se; a++, se++) {
-                               if(se != curelem) {
-                                       free_imbuf_strip_elem(se);
-                               }
-                       }
-                       for(a = 0, se = seq->strip->tstripdata_startstill;
-                               a < seq->strip->startstill && se; a++, se++) {
-                               if(se != curelem) {
-                                       free_imbuf_strip_elem(se);
-                               }
-                       }
-                       for(a = 0, se = seq->strip->tstripdata_endstill;
-                               a < seq->strip->endstill && se; a++, se++) {
-                               if(se != curelem) {
-                                       free_imbuf_strip_elem(se);
-                               }
-                       }
-                       if(seq->strip->ibuf_startstill) {
-                               IMB_freeImBuf(seq->strip->ibuf_startstill);
-                               seq->strip->ibuf_startstill = 0;
-                       }
-
-                       if(seq->strip->ibuf_endstill) {
-                               IMB_freeImBuf(seq->strip->ibuf_endstill);
-                               seq->strip->ibuf_endstill = 0;
-                       }
-
-                       if(seq->type==SEQ_MOVIE)
-                               if(seq->startdisp > cfra || seq->enddisp < cfra)
-                                       free_anim_seq(seq);
-                       free_proxy_seq(seq);
-               }
-       }
-       SEQ_END
-}
-#endif
-
-void free_imbuf_seq(Scene *scene, ListBase * seqbase, int check_mem_usage)
+void free_imbuf_seq(Scene *scene, ListBase * seqbase, int check_mem_usage,
+                   int keep_file_handles)
 {
        Sequence *seq;
        TStripElem *se;
@@ -3374,14 +3323,15 @@ void free_imbuf_seq(Scene *scene, ListBase * seqbase, int check_mem_usage)
                                seq->strip->ibuf_endstill = 0;
                        }
 
-                       if(seq->type==SEQ_MOVIE)
+                       if(seq->type==SEQ_MOVIE && !keep_file_handles)
                                free_anim_seq(seq);
                        if(seq->type==SEQ_SPEED) {
                                sequence_effect_speed_rebuild_map(scene, seq, 1);
                        }
                }
                if(seq->type==SEQ_META) {
-                       free_imbuf_seq(scene, &seq->seqbase, FALSE);
+                       free_imbuf_seq(scene, &seq->seqbase, FALSE,
+                                      keep_file_handles);
                }
                if(seq->type==SEQ_SCENE) {
                        /* FIXME: recurs downwards, 
index b44fe1a..c82595e 100644 (file)
@@ -251,7 +251,7 @@ static float _final_mass(Object *ob,BodyPoint *bp)
 
 /********************
 for each target object/face the axis aligned bounding box (AABB) is stored
-faces paralell to global axes
+faces parallel to global axes
 so only simple "value" in [min,max] ckecks are used
 float operations still
 */
index 6402f90..f780e71 100644 (file)
@@ -468,7 +468,9 @@ int sound_scene_playing(struct Scene *scene)
                return -1;
 }
 
-int sound_read_sound_buffer(struct bSound* sound, float* buffer, int length)
+int sound_read_sound_buffer(struct bSound* sound, float* buffer, int length, float start, float end)
 {
-       return AUD_readSound(sound->cache, buffer, length);
+       AUD_Sound* limiter = AUD_limitSound(sound->cache, start, end);
+       return AUD_readSound(limiter, buffer, length);
+       AUD_unload(limiter);
 }
index 7a24d9b..fde770c 100644 (file)
@@ -80,7 +80,7 @@ char *BLI_last_slash(const char *string) {
        else return lfslash;
 }
 
-/* adds a slash if there isnt one there alredy */
+/* adds a slash if there isnt one there already */
 int BLI_add_slash(char *string) {
        int len = strlen(string);
 #ifdef WIN32
index 6637d74..396f2c5 100644 (file)
@@ -33,17 +33,14 @@ void hsv_to_rgb(float h, float s, float v, float *r, float *g, float *b)
        int i;
        float f, p, q, t;
 
-       h *= 360.0f;
-       
        if(s==0.0f) {
                *r = v;
                *g = v;
                *b = v;
        }
        else {
-               if(h== 360.0f) h = 0.0f;
-               
-               h /= 60.0f;
+               h= (h - floor(h))*6.0f;
+
                i = (int)floor(h);
                f = h - i;
                p = v*(1.0f-s);
index e8fb922..4d1911e 100644 (file)
@@ -317,7 +317,7 @@ static short IsectLLPt2Df(float x0,float y0,float x1,float y1,
                return -1; /*m2 = (float) 1e+10;*/   // close enough to infinity
 
        if (fabs(m1-m2) < 0.000001)
-               return -1; /* paralelle lines */
+               return -1; /* parallel lines */
        
 // compute constants
 
@@ -993,14 +993,14 @@ void isect_point_quad_uv_v2(float v0[2], float v1[2], float v2[2], float v3[2],
 {
        float x0,y0, x1,y1, wtot, v2d[2], w1, w2;
        
-       /* used for paralelle lines */
+       /* used for parallel lines */
        float pt3d[3], l1[3], l2[3], pt_on_line[3];
        
        /* compute 2 edges  of the quad  intersection point */
        if (IsectLLPt2Df(v0[0],v0[1],v1[0],v1[1],  v2[0],v2[1],v3[0],v3[1], &x0,&y0) == 1) {
                /* the intersection point between the quad-edge intersection and the point in the quad we want the uv's for */
                /* should never be paralle !! */
-               /*printf("\tnot paralelle 1\n");*/
+               /*printf("\tnot parallel 1\n");*/
                IsectLLPt2Df(pt[0],pt[1],x0,y0,  v0[0],v0[1],v3[0],v3[1], &x1,&y1);
                
                /* Get the weights from the new intersection point, to each edge */
@@ -1016,8 +1016,8 @@ void isect_point_quad_uv_v2(float v0[2], float v1[2], float v2[2], float v3[2],
                /*w2 = w2/wtot;*/
                uv[0] = w1/wtot;
        } else {
-               /* lines are paralelle, lambda_cp_line_ex is 3d grrr */
-               /*printf("\tparalelle1\n");*/
+               /* lines are parallel, lambda_cp_line_ex is 3d grrr */
+               /*printf("\tparallel1\n");*/
                pt3d[0] = pt[0];
                pt3d[1] = pt[1];
                pt3d[2] = l1[2] = l2[2] = 0.0f;
@@ -1043,7 +1043,7 @@ void isect_point_quad_uv_v2(float v0[2], float v1[2], float v2[2], float v3[2],
        
        if (IsectLLPt2Df(v0[0],v0[1],v3[0],v3[1],  v1[0],v1[1],v2[0],v2[1], &x0,&y0) == 1) { /* was v0,v1  v2,v3  now v0,v3  v1,v2*/
                /* never paralle if above was not */
-               /*printf("\tnot paralelle2\n");*/
+               /*printf("\tnot parallel2\n");*/
                IsectLLPt2Df(pt[0],pt[1],x0,y0,  v0[0],v0[1],v1[0],v1[1], &x1,&y1);/* was v0,v3  now v0,v1*/
                
                v2d[0] = x1-v0[0];
@@ -1056,8 +1056,8 @@ void isect_point_quad_uv_v2(float v0[2], float v1[2], float v2[2], float v3[2],
                wtot = w1+w2;
                uv[1] = w1/wtot;
        } else {
-               /* lines are paralelle, lambda_cp_line_ex is 3d grrr */
-               /*printf("\tparalelle2\n");*/
+               /* lines are parallel, lambda_cp_line_ex is 3d grrr */
+               /*printf("\tparallel2\n");*/
                pt3d[0] = pt[0];
                pt3d[1] = pt[1];
                pt3d[2] = l1[2] = l2[2] = 0.0f;
index 2f8e4ab..470676c 100644 (file)
@@ -953,11 +953,11 @@ char *BLI_get_folder(int folder_id, char *subfolder)
                        return NULL;
                        
                case BLENDER_USER_DATAFILES:
-                       if (get_path_local(path, "datafiles", subfolder)) break;
                        if (get_path_user(path, "datafiles", subfolder, "BLENDER_USER_DATAFILES"))      break;
                        return NULL;
                        
                case BLENDER_SYSTEM_DATAFILES:
+                       if (get_path_local(path, "datafiles", subfolder)) break;
                        if (get_path_system(path, "datafiles", subfolder, "BLENDER_SYSTEM_DATAFILES"))  break;
                        return NULL;
                        
@@ -973,11 +973,11 @@ char *BLI_get_folder(int folder_id, char *subfolder)
                        return NULL;
                        
                case BLENDER_USER_CONFIG:
-                       if (get_path_local(path, "config", subfolder)) break;
                        if (get_path_user(path, "config", subfolder, "BLENDER_USER_CONFIG")) break;
                        return NULL;
                        
                case BLENDER_SYSTEM_CONFIG:
+                       if (get_path_local(path, "config", subfolder)) break;
                        if (get_path_system(path, "config", subfolder, "BLENDER_SYSTEM_CONFIG")) break;
                        return NULL;
                        
@@ -988,11 +988,11 @@ char *BLI_get_folder(int folder_id, char *subfolder)
                        return NULL;
                        
                case BLENDER_USER_SCRIPTS:
-                       if (get_path_local(path, "scripts", subfolder)) break;
                        if (get_path_user(path, "scripts", subfolder, "BLENDER_USER_SCRIPTS")) break;
                        return NULL;
                        
                case BLENDER_SYSTEM_SCRIPTS:
+                       if (get_path_local(path, "scripts", subfolder)) break;
                        if (get_path_system(path, "scripts", subfolder, "BLENDER_SYSTEM_SCRIPTS")) break;
                        return NULL;
                        
@@ -1002,6 +1002,7 @@ char *BLI_get_folder(int folder_id, char *subfolder)
                        return NULL;
                        
                case BLENDER_SYSTEM_PYTHON:
+                       if (get_path_local(path, "python", subfolder)) break;
                        if (get_path_system(path, "python", subfolder, "BLENDER_SYSTEM_PYTHON")) break;
                        return NULL;
        }
index 92a50ac..7896ebd 100644 (file)
@@ -138,7 +138,7 @@ struct mem_elements {
 static void *new_mem_element(int size)
 {
        int blocksize= 16384;
-       static int offs= 0;             /* the current free adress */
+       static int offs= 0;             /* the current free address */
        static struct mem_elements *cur= 0;
        static ListBase lb= {0, 0};
        void *adr;
index 4fb5ca7..b7e2aeb 100644 (file)
@@ -437,7 +437,7 @@ int BLI_filepathsize(const char *path)
 
 int BLI_exist(char *name)
 {
-#ifdef WIN32
+#if defined(WIN32) && !defined(__MINGW32__)
        struct _stat64i32 st;
        /*  in Windows stat doesn't recognize dir ending on a slash 
                To not break code where the ending slash is expected we
index 79d0d37..c63ab33 100644 (file)
 #include <errno.h>
 
 /*
- Remark: still a weak point is the newadress() function, that doesnt solve reading from
+ Remark: still a weak point is the newaddress() function, that doesnt solve reading from
  multiple files at the same time
 
  (added remark: oh, i thought that was solved? will look at that... (ton)
@@ -1540,7 +1540,6 @@ static void lib_link_brush(FileData *fd, Main *main)
                        brush->id.flag -= LIB_NEEDLINK;
 
                        brush->mtex.tex= newlibadr_us(fd, brush->id.lib, brush->mtex.tex);
-                       brush->image_icon= newlibadr_us(fd, brush->id.lib, brush->image_icon);
                        brush->clone.image= newlibadr_us(fd, brush->id.lib, brush->clone.image);
                }
        }
@@ -1556,6 +1555,9 @@ static void direct_link_brush(FileData *fd, Brush *brush)
                direct_link_curvemapping(fd, brush->curve);
        else
                brush_curve_preset(brush, CURVE_PRESET_SHARP);
+
+       brush->preview= NULL;
+       brush->icon_imbuf= NULL;
 }
 
 static void direct_link_script(FileData *fd, Script *script)
@@ -10990,7 +10992,9 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
                        if(scene) {
                                Sequence *seq;
                                SEQ_BEGIN(scene->ed, seq) {
-                                       seq->sat= 1.0f;
+                                       if(seq->sat==0.0f) {
+                                               seq->sat= 1.0f;
+                                       }
                                }
                                SEQ_END
                        }
@@ -11363,7 +11367,7 @@ static void expand_doit(FileData *fd, Main *mainvar, void *old)
                                else {
                                        /* The line below was commented by Ton (I assume), when Hos did the merge from the orange branch. rev 6568
                                         * This line is NEEDED, the case is that you have 3 blend files...
-                                        * user.blend, lib.blend and lib_indirect.blend - if user.blend alredy references a "tree" from
+                                        * user.blend, lib.blend and lib_indirect.blend - if user.blend already references a "tree" from
                                         * lib_indirect.blend but lib.blend does too, linking in a Scene or Group from lib.blend can result in an
                                         * empty without the dupli group referenced. Once you save and reload the group would appier. - Campbell */
                                        /* This crashes files, must look further into it */
@@ -12156,7 +12160,7 @@ static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, int is
                        
                                /* IF below is quite confusing!
                                if we are appending, but this object wasnt just added allong with a group,
-                               then this is alredy used indirectly in the scene somewhere else and we didnt just append it.
+                               then this is already used indirectly in the scene somewhere else and we didnt just append it.
                                
                                (ob->id.flag & LIB_PRE_EXISTING)==0 means that this is a newly appended object - Campbell */
                        if (is_group_append==0 || (ob->id.flag & LIB_PRE_EXISTING)==0) {
index 21bdb59..a2a5dda 100644 (file)
@@ -2005,7 +2005,6 @@ void ED_keymap_animchannels(wmKeyConfig *keyconf)
        /* delete */
        WM_keymap_add_item(keymap, "ANIM_OT_channels_delete", XKEY, KM_PRESS, 0, 0);
        WM_keymap_add_item(keymap, "ANIM_OT_channels_delete", DELKEY, KM_PRESS, 0, 0);
-       WM_keymap_add_item(keymap, "ANIM_OT_channels_delete", BACKSPACEKEY, KM_PRESS, 0, 0);
        
        /* settings */
        WM_keymap_add_item(keymap, "ANIM_OT_channels_setting_toggle", WKEY, KM_PRESS, KM_SHIFT, 0);
index 65c6769..719b467 100644 (file)
@@ -1201,7 +1201,6 @@ void ED_marker_keymap(wmKeyConfig *keyconf)
        WM_keymap_verify_item(keymap, "MARKER_OT_select_all", AKEY, KM_PRESS, 0, 0);
        WM_keymap_verify_item(keymap, "MARKER_OT_delete", XKEY, KM_PRESS, 0, 0);
        WM_keymap_verify_item(keymap, "MARKER_OT_delete", DELKEY, KM_PRESS, 0, 0);
-       WM_keymap_verify_item(keymap, "MARKER_OT_delete", BACKSPACEKEY, KM_PRESS, 0, 0);
        
        WM_keymap_add_item(keymap, "MARKER_OT_move", GKEY, KM_PRESS, 0, 0);
 #ifdef DURIAN_CAMERA_SWITCH
index 11ba3cf..9570fd6 100644 (file)
@@ -163,7 +163,7 @@ void ANIM_OT_change_frame(wmOperatorType *ot)
        ot->poll= change_frame_poll;
        
        /* flags */
-       ot->flag= OPTYPE_BLOCKING;
+       ot->flag= OPTYPE_BLOCKING|OPTYPE_UNDO;
 
        /* rna */
        RNA_def_int(ot->srna, "frame", 0, MINAFRAME, MAXFRAME, "Frame", "", MINAFRAME, MAXFRAME);
index 7abf857..63cef27 100644 (file)
@@ -192,7 +192,6 @@ void ED_keymap_armature(wmKeyConfig *keyconf)
        /* Armature -> Etch-A-Ton ------------------------ */
        WM_keymap_add_item(keymap, "SKETCH_OT_delete", XKEY, KM_PRESS, 0, 0);
        WM_keymap_add_item(keymap, "SKETCH_OT_delete", DELKEY, KM_PRESS, 0, 0);
-       WM_keymap_add_item(keymap, "SKETCH_OT_delete", BACKSPACEKEY, KM_PRESS, 0, 0);
        WM_keymap_add_item(keymap, "SKETCH_OT_finish_stroke", RIGHTMOUSE, KM_PRESS, 0, 0);
        WM_keymap_add_item(keymap, "SKETCH_OT_cancel_stroke", ESCKEY, KM_PRESS, 0, 0);
        // Already part of view3d select
@@ -238,7 +237,6 @@ void ED_keymap_armature(wmKeyConfig *keyconf)
        
        WM_keymap_add_item(keymap, "ARMATURE_OT_delete", XKEY, KM_PRESS, 0, 0);
        WM_keymap_add_item(keymap, "ARMATURE_OT_delete", DELKEY, KM_PRESS, 0, 0);
-       WM_keymap_add_item(keymap, "ARMATURE_OT_delete", BACKSPACEKEY, KM_PRESS, 0, 0);
        WM_keymap_add_item(keymap, "ARMATURE_OT_duplicate_move", DKEY, KM_PRESS, KM_SHIFT, 0);
        WM_keymap_add_item(keymap, "ARMATURE_OT_extrude_move", EKEY, KM_PRESS, 0, 0);
        WM_keymap_add_item(keymap, "ARMATURE_OT_extrude_forked", EKEY, KM_PRESS, KM_SHIFT, 0);
index b0c4561..0cf6ce3 100644 (file)
@@ -5479,8 +5479,17 @@ void ED_armature_bone_rename(bArmature *arm, char *oldnamep, char *newnamep)
                                /* Rename the pose channel, if it exists */
                                if (ob->pose) {
                                        bPoseChannel *pchan = get_pose_channel(ob->pose, oldname);
-                                       if (pchan)
+                                       if (pchan) {
                                                BLI_strncpy(pchan->name, newname, MAXBONENAME);
+                                               
+                                               if (ob->pose->chanhash) {
+                                                       GHash *gh = ob->pose->chanhash;
+                                                       
+                                                       /* remove the old hash entry, and replace with the new name */
+                                                       BLI_ghash_remove(gh, oldname, NULL, NULL);
+                                                       BLI_ghash_insert(gh, pchan->name, pchan);
+                                               }
+                                       }
                                }
                                
                                /* Update any object constraints to use the new bone name */
index 6fdce9b..6b71ed1 100644 (file)
@@ -1046,17 +1046,7 @@ static int pose_paste_exec (bContext *C, wmOperator *op)
        
        /* Update event for pose and deformation children */
        DAG_id_flush_update(&ob->id, OB_RECALC_DATA);
-       
-       if (IS_AUTOKEY_ON(scene)) {
-// XXX         remake_action_ipos(ob->action);
-       }
-       else {
-               /* need to trick depgraph, action is not allowed to execute on pose */
-               // XXX: this is probably not an issue anymore
-               where_is_pose(scene, ob);
-               ob->recalc= 0;
-       }
-       
+               
        /* notifiers for updates */
        WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
 
index 8f826d3..d650cec 100644 (file)
@@ -214,7 +214,6 @@ void ED_keymap_curve(wmKeyConfig *keyconf)
        WM_keymap_add_item(keymap, "CURVE_OT_cyclic_toggle", CKEY, KM_PRESS, KM_ALT, 0);
        WM_keymap_add_item(keymap, "CURVE_OT_delete", XKEY, KM_PRESS, 0, 0);
        WM_keymap_add_item(keymap, "CURVE_OT_delete", DELKEY, KM_PRESS, 0, 0);
-       WM_keymap_add_item(keymap, "CURVE_OT_delete", BACKSPACEKEY, KM_PRESS, 0, 0);
 
        WM_keymap_add_item(keymap, "CURVE_OT_tilt_clear", TKEY, KM_PRESS, KM_ALT, 0);
        WM_keymap_add_item(keymap, "TRANSFORM_OT_tilt", TKEY, KM_PRESS, KM_CTRL, 0);
index 8fb2ed6..99acd52 100644 (file)
@@ -6,4 +6,4 @@ sources = env.Glob('*.c')
 incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf'
 incs += ' #/intern/guardedalloc'
 
-env.BlenderLib ( 'bf_editor_datafiles', sources, Split(incs), [], libtype=['core'], priority=[135] )
+env.BlenderLib ( 'bf_editor_datafiles', sources, Split(incs), [], libtype=['core'], priority=[235] )
diff --git a/source/blender/editors/datafiles/blob.png.c b/source/blender/editors/datafiles/blob.png.c
new file mode 100644 (file)
index 0000000..16dc958
--- /dev/null
@@ -0,0 +1,341 @@
+/* DataToC output of file <blob_png> */
+
+int datatoc_blob_png_size= 10703;
+char datatoc_blob_png[]= {
+137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68,
+ 82,  0,  0,  0, 96,  0,  0,  0, 96,  8,  2,  0,  0,  1, 26,253,208,249,  0,  0,  0,  4,103, 65, 77, 65,  0,  0,177,143, 11,252,
+ 97,  5,  0,  0,  0,  6, 98, 75, 71, 68,  0,  0,  0,  0,  0,  0,249, 67,187,127,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 13,215,
+  0,  0, 13,215,  1, 66, 40,155,120,  0,  0,  0,  7,116, 73, 77, 69,  7,218,  7, 20,  5, 32, 44,179,189,  3,155,  0,  0, 32,  0,
+ 73, 68, 65, 84,120,218,237,125,121,152,101, 87, 85,239, 90,251,156,123,111,221,174,121,234,185,134,158,170,186,186,122,202, 64,
+ 63, 50,116, 39,129,  4, 18,201,128, 33,  6,  8,248, 16,240,  1, 65,  1,101,242,227,201,167, 79, 68, 69,248,228, 41, 40,  2, 15,
+ 21,103,209, 39,  2, 79,145, 48, 42, 36, 16, 50, 66, 72, 39,157, 30,211,115,117,141,119, 58,227,222,123,173,247,199,222,251,156,
+115, 43, 33,  9,208, 74,252,244, 38, 95,213,173, 91,183,206, 93,103,237,181,215,240, 91,191,181, 27,247,237,219,  7, 79,251,120,
+ 38,111,242,179,103,247, 62,248, 93,153,202, 32,104,213, 22, 23, 78,157, 56,250,139,111,125, 71,246, 43, 97,190,125,243,238,123,
+101, 42,147, 36, 73,226, 68, 42,229,151, 58, 74, 37,127,249,155,130, 48,104,181, 90,173, 86, 51,  8, 90, 97, 16,164, 82,126,229,
+107, 95,255,212,167, 62,213,246,166,250,210, 98,189,182,212,168,213,162, 40,138,194,232,210,203,175,148, 82,161,231,191,255,183,
+223,  7,  0,130,136,238,125,224,193,102,179,217,168,215, 17,113,114,235,182,177, 13, 27, 14, 30,120,184, 86, 91,106,212,235, 97,
+ 24, 90,193, 17,189,109,219,119,106, 77,243,179,103,231,231,102, 23,230,231, 15,236,127,104, 98,106,251,204,217, 51, 39, 79, 60,
+254, 59, 31,248,109, 31,  0, 52, 49, 49, 48, 83,111,223,224,  3,247,223,179, 48,119,110,239, 85,215, 28, 61,124,112,106,122,251,
+202, 85,171,146, 40,242,  1,128,180,102,210, 90, 19,  3,239,216,185, 59,149,169,146,114, 98,235,212, 61,223,186,107,221,200, 40,
+ 32,  8,  0, 32,173,180, 38, 34,173,149,210, 90, 51, 49, 17, 53,234,245,141,155, 39,  6,  7,  7,153,193,  7,  0,169, 20, 51,107,
+173, 73,107,165,149,121,104,173,181,150,  7, 31,123,172, 84,242,241, 25,173,221, 51,121,160,249,246,233,207,124,118,253,200, 88,
+ 20, 69,205,122,109, 97,126,246, 85,175,122, 85,241, 77, 86,227,107,214,174, 79,146, 36, 78,146, 84, 74,165,233,189,191,254,107,
+203,175,244,133, 59,238,240, 75, 29, 74,202, 40,142, 90,205,102,173,182,116,209,197,123,154,141,218, 13,215,191, 40, 77, 83,123,
+165, 90,173, 86,175, 45,213,235,245,102,189,158, 36, 49, 48,104, 98,165,249, 15, 63,250, 81,115, 37,239,158,251, 30, 56,115,250,
+100,146,166, 97, 24,110,223,181,187,179,171, 59, 14,  3,225,121,245,250,210,210,226,226,250,213,131, 15,124,231,123,190,240,252,
+237,187, 46, 34,210, 74,233,249,185,185, 32,104,213,106,181,174,238,158,217,153,153,153,179,167, 43,149,142, 74,165,236, 51, 19,
+ 17,144, 38,102, 62,244,216,163, 81, 20, 30, 63,122,100,237,250, 17,207, 19,  8,188,243,194, 61,239, 25,223,136,119,223,247,  0,
+105, 98, 38,173, 73, 74, 41,165,212, 74, 74, 41,147, 56, 78,146, 36, 12, 91,205,122, 77,144, 54,235,161,181,214, 68,196, 68, 90,
+107,173, 52, 17,109,158,152, 96,102,  0,240,149, 82,164, 89,147, 38, 34,183,110, 74,107,165,181,126,116,255,126,173, 53, 17,195,
+249, 90, 59,255,137, 47,121,158,119,247,183,239,149, 90,203, 52, 77,211, 36,142,162, 48,104,221,254,134, 55, 44, 46, 45, 61,211,
+ 11,253,249, 95,252,213,214,169,109, 12,168, 73,107, 77,154,152,  8,136,  1,208,251,224,255,254,221,160,213,168, 45,206,253,242,
+175,188,231, 73, 47, 36,178,103, 95,249,234, 87,199,198,199,227, 56,142,162, 48, 12,195, 40, 50,223,131, 40,138,226, 36, 78, 82,
+153, 74,133, 94,249, 93,239,124,235,211, 72,212,108,182,252, 82,138,136, 68,172, 73, 43,169,164,148, 82,166,105,146, 36, 73,156,
+166,233,115, 47,187,  2, 17,211, 52,185,242,154,235,131, 86,163,182,180,248,241,143,253,225,221,223,190,215, 42,100,108,108,236,
+248,241,227,223,190,247,190, 51,167, 78, 26,175, 19,197, 81, 28,134,105,154,148, 74,165, 45, 19, 19, 61, 61, 61,149, 74,  5,129,
+122,250,  6,162, 48,136,172,196, 97, 20, 69, 99, 99, 99, 27, 71, 86, 61,240,157,239,  1,128, 55, 50, 50,242,247,255,240, 57,225,
+121, 67, 43,215,  0,112,173,182,148, 38,169,214,106,124,108,172,127,104, 40, 77,146, 48, 12,195, 32,  8,130, 96,255, 67, 15, 86,
+ 58,170,173, 86,171,217,104, 52, 27,245, 90,173,182,184, 48, 55,119,238,116, 87, 87,207,233, 51,103,125,  0, 64, 33,136,  1,152,
+251,  7,134,250,  7,  6,137,  8,128, 15, 29,120,164, 84,238,208,164,147, 56,105, 53, 27,181,165, 69, 34,189,106,245,154, 83, 39,
+ 30,127,252,232,225,161,225,225, 99,135, 31,155, 61,115,116,223,213, 55, 92,186,175,116,211,141, 55,  8,  0,208,100,254,179,246,
+ 72, 68, 90,211,248,198,137,117, 35, 99, 90,169,199, 30,125,248,224,163,251, 75,165,210,202,213,107,238,189,251,174,147, 39,142,
+ 63,255,133,215,169, 52, 78,162,230, 79,190,252,181,221, 61,253,194,243, 75,149,170, 15,  0, 90, 19,176,125, 16, 49, 51, 49,179,
+185,236,186,245, 35,171,215,172, 35,178, 70, 77,164,131, 32,248,252,231,254, 97,114,106,122,203,182,221,125,  3,195,179, 51,167,
+  1,  0, 17,125,  0,208, 74, 51, 51,  3, 48,105,  0, 48,130,217, 75,146,217, 58,102,203,106, 38,242,125,255,130,139,247,144,166,
+137,173,219, 14, 62,186,191,187,187,219,188,193, 72,164,184,240, 32, 34, 50,206,146,136,137, 53,105,119,191,218,110, 68,173,181,
+214,113, 28,165, 73,172, 59, 59,181, 86, 90,211,249,243,147,231,229, 49, 58, 58, 42,206,215,181,158,100,247,191,247, 55,126,243,
+234,107, 94,160,148, 74,211, 52, 73,226, 40, 12,230,207,205,188,238, 13,183, 63,163,  8,144, 61,238,123,224, 59,  0,168,180, 86,
+ 74,165, 73,146, 36, 73, 18, 69, 81,212,106,212,235,175,127,195, 27,158,233,173,221,115,223,  3,196,160, 52,217,245, 33, 34, 34,
+  2, 34, 70,225,121,191,243,129,247, 63,133, 68,249,133,238,188,235,155,154, 88,187, 40, 40,165, 84, 74, 90,175, 74, 74, 19, 49,
+224,187,223,245,206,167,215,145,210,196, 32, 25,128,136,204, 85,164, 76,165, 76,149, 84, 50, 85, 74, 41, 34,242,203, 21, 33,  4,
+ 17,125,223, 11, 93,118,217,165,105,154,  8,161, 25,152, 52, 41,173,149, 76,165,148,105,154, 38, 73, 98, 46, 55, 48, 56,116,217,
+190,171,246, 93,117, 77,171,217, 56,123,250,196,235,223,240,198, 39,185,181,125,123,247,198,113,156, 36,113, 18, 39, 73, 18,167,
+ 73,108, 20,109,191,199, 49, 51,239,188,224, 34, 20,  2,  0, 81,120,221,189,  3, 31,250,189,223,123,146, 11, 37,105,146,196,113,
+ 28, 69,113, 28,197,113, 28,199,113, 18,199, 74, 74, 64,102, 38, 20,226,185,151,237, 85, 82,165,105, 42,149,210, 90, 17,145,240,
+188,119,189,243,109,109,183,118,235,173,183, 94,121,197,149,245,102, 75,  8,143, 25,136, 72,147, 46,149,202, 19, 91, 38, 24,184,
+213,108, 46,206,207, 18,113,154, 38,105,154, 36,113,146,196,137,185,160,240,114, 21,251,247,220,119, 31,162,199, 12,139, 15, 63,
+164, 64, 51,  3,145, 22,194,219,188,121,179,240,252, 52, 77,153,  1, 61,255,193,123,191,181,113,203,214, 84,166,137, 17, 56, 54,
+178, 39,249,173,121, 94,  9, 81,  8,207,155,222,121,129,231,121,198,237,120,158, 72, 83, 25,199,113, 20, 69, 81, 20, 38, 73,162,
+180,126,244,225,239,134,173,150,113,188, 97, 16,  4,173, 86,208,106,124,240,  3,239,115, 58, 66,  1,136,198,129, 76, 78, 77, 79,
+239,216,181, 99,247,238,238,174, 21,205,102,163,217,108,180,154,205, 32,104,133,173, 32, 12,130, 83, 39,143, 19,115, 20,  4,205,
+102,189, 81,175,215,235,181,197,185,153, 82,185,227, 55,127,253, 87,152, 57,191, 73,102, 98,  6, 19,237,123,250,  6,103,206,158,
+ 69, 33,100,154,134, 97,208,168,215, 23, 22,230,111,121,249,127,159,159,155, 61,117,252,  8,  3, 70, 81, 56,127,238,140, 38, 22,
+158, 95,174,172,184,234,138,203,125,243,199,204, 12,204,  0,246,121,165, 99, 69,189,182, 40,149, 86, 82, 70, 97, 80, 91, 90,106,
+ 52,106,243,115,115, 75,139, 11,173, 86,176,239,121, 47, 56,118,228, 80,185, 82, 90,183,110,  4,  1,132,231,251,165,178,176,110,
+218,250,105,235,114,153,105,251,206, 11,183,239,220, 29, 71,225,252,220,108, 24,182,174,185,246,250, 99, 71, 14, 29, 57,244,216,
+141, 55,223,218,168, 45, 62,246,232, 35, 19,147,219,202,149, 14,  6, 64, 33, 80,120,120,207,253,223,209, 68,  0, 12,204, 90,  3,
+179, 54, 66,185,192,162,181,210,196, 68,154,152,116, 87,119,119, 16, 69,103, 78,158,240,  4,158, 56,126,108,116,108,163, 73, 51,
+246,239,127, 88, 16, 49, 48,177,102,173, 25, 64,155, 59, 37, 34, 48,210, 49,160, 91, 10, 34,170,213,106,247,223,125,215,221,119,
+126,173,167,111,224,202,171,127, 34,  8, 90,  0, 12,  8,  0, 40,108,224,  1, 27,139,200,197, 35, 34, 50, 47,104,210,144,197, 40,
+173,167,182,239,188,250,218, 27,207,158, 62, 89,237,168,156, 60,126,204,168, 23,  0,124,235,115, 24,204,154,217,191, 39,  2, 32,
+ 38,178, 41, 31, 19, 17, 91,247, 68, 68, 76,125,253,131,251, 31,126, 40, 12, 90, 86,191,192,249,133, 24, 40, 87,187,141,143,196,
+ 76, 70, 78,102,237, 94, 51,177, 74, 15,173, 92,181,227,130,231,200, 52, 37, 98,224, 92, 34,123,  9, 98,119, 65, 27,212,178, 16,
+ 87,124,104, 34,154, 61,123, 86,166, 41,217,143, 57,127, 57,228,121,121,140,140,140,  8,120, 54, 61,108, 46,242,204, 31,151, 92,
+122,233, 45,183,220, 50, 49,185,181,187,171, 91,147, 86, 82,134, 97,112,248,208,193,187,238,186,235, 51,159,249,236,249,145,105,
+223,190,125, 95,255,250,215,159,226, 29,183,189,226,149,111,249,197,183,  2,  8,132,220,220, 93, 98,163,148, 52,129,207,228,190,
+113,154, 38, 39,143, 31,255,213, 95,123,207, 15,157,137, 60,149,134,238,248,210,151,  6,  7,135, 25,133,177,121,118,201, 33,105,
+107,182, 68,204,  0, 12,192,108, 34,148,239,121,180,118,253,200,239,127,248, 67, 81,216,250,165,119,189,251, 73,195,232, 83, 63,
+158,220,134, 46,185,228,146,111,125,251,190,190,254, 65, 98,176,229,151,210, 42,251, 95, 43,165,148,150, 74,107,173,204, 75, 54,
+ 17,182, 91,  5, 16,133, 87,122,207,175,253,202, 43, 94,118,203,121, 16,232,218,107,175,125,223,251, 63,160,181, 86,210,132,126,
+251,200, 18, 10,243, 99,170,210, 84, 74,165,148, 84, 74,154,  4,195,200,166,205,118, 38,  0,220,176,113,243,235, 94,243,211, 63,
+106,206,247,214,183,189, 93, 41, 77,  4,136,152,  5, 20,155,109, 59,255, 97,234, 56,173,109, 37,154, 21,166,202,100, 44, 74, 51,
+ 96,111,223,192,158, 75,166, 60, 33,110,184,249,165, 71,142, 28,254,230,157,119,125,230,179,159, 53, 53,251, 15, 32,208, 91,222,
+242,230, 52, 77, 60, 77, 40,132, 19, 40,147,201,120,220, 98, 21,173,181,210, 74, 43,210, 90, 74,169,148, 50,161,166,163, 90,189,
+120,207,115,129,153,136,149, 86,194, 47, 79, 77,239,220,180,121,242,165, 47,191, 45,142,163, 48,104,125,252,163, 31,189,247,254,
+  7,158,145, 64,157, 43, 86,196, 81, 44,124, 37, 80, 32, 34,219, 32,158,151, 57,148, 85, 37,218,213, 19, 90,105,169,165,150, 90,
+ 41, 20, 98,116,108,124,253,250, 81,115,  3, 90,155,253,104,238,132,153, 17, 81,120, 94,233,103, 94,253,154,151,188,228, 37,239,
+121,239,123,195, 48,122, 26,129, 70,199, 70,146, 36, 22,202, 67, 20,  8,104,211, 19, 96, 38, 87,114, 17,153, 28, 72,120,158, 95,
+ 42,245,246,246, 34, 98, 18,199,113, 20, 74,169,250,  6,  6,  7,135,134,164,146, 38, 48,104,210, 90, 41,169,148, 86, 50, 77, 83,
+169, 82, 41,149,210,154,152, 81,136,183,253,194, 91, 62,248,187,191, 23,180,203,228,155,232,120,215,183,190,229,123, 37, 20, 98,
+246,220,153,249,185, 57,212,  2,193, 36, 75,  0,  0, 38,191,101,102, 64, 40,149, 74, 93, 93,221, 35,163, 99,136, 72, 68, 38, 13,
+ 47,149,202,190, 95,138,162, 96, 97,110,230,236,201, 99, 19,211,187,164,148,217,130,106,165,165, 76,149, 43,213,211, 52, 77, 83,
+187, 77, 94,241,178,159,250,248, 31,255,217,114,129,238,189,255, 65,  0, 48,250, 88,181,102,164,111, 96,248,232,161,131, 54,123,
+ 32, 27,114,141,220, 66,136,145, 13,235, 43, 29, 43,180,182,144,141,245,137, 50,149, 74,106,173, 25, 48,145,234,158,111,254,235,
+196,182,157, 89,137,104,182,159,148,105,150,173,199,113, 20,133, 81, 20,134,113, 28,110,217,178,233,208,161, 35,109, 75, 38,132,
+103,238, 30,  0,145,185, 82,238,216, 58,189, 19, 17,136, 88,201,180,213,106, 45, 46, 46, 68, 81,200,196,  3,253, 61,105,154,106,
+  6, 68, 97, 64, 59,173,204, 98, 88,140, 34,138,162, 36, 73, 90,173,224,238,175,127,117,122,247, 69,  0,160,164,115, 10, 86, 59,
+ 73,154, 38, 81, 24, 69, 65,171,217, 88,170, 45,156,251,249, 55,190, 49, 73,162,143,124,228, 99,143,159, 56,233,108,  8, 49, 79,
+ 65,129,209,196,  8, 70,  0,242,124,175,167,183,175,167,183,151,153,128,197,210,194, 76,189, 86,243, 74, 37,129,130,  1, 92,248,
+ 80,  6, 17, 74,226, 56,138,162, 32,104, 53,234,245, 23,221,244,146,114,165,210,172, 47, 45, 44,204, 55, 27, 13,153,166, 82,201,
+ 52, 73,156,122,130,160, 81,171, 45,158,187,242,  5, 55,248,165, 18, 51,223,126,251,235,211, 56,252,195,255,243, 73, 31,242,125,
+  4,128, 12, 12,  4,204,128,  8,198,124, 17,192,102, 53,128,212, 63,180,250,236,153,  7, 24,  0,133,  7,128,196,164, 85,142,226,
+196, 81, 20,134, 65,216,106,221,112,243,173,158,239,  7,173,102, 20, 39, 82,170, 52,137, 70, 70,199, 55,108,158,104,212,107,179,
+231,206,126,251,206,175,205,205, 28, 87, 82,191,240,198,151,122,158, 64,244, 76, 34, 76,204, 47,188,230,106,223, 74,  3,192,230,
+ 19,  0,208, 36,157,192,204,192,  8,192, 86, 70, 96,214,160, 38,182,237,100,166,135, 30,188, 47, 12, 67, 35,141, 93,136, 36, 73,
+147, 36,137,163, 29, 23, 94,188, 48, 63, 79,164,147, 36,  9,195,160,190,180, 52, 55, 59,179,115,247,  5, 75, 75,139,243,179,179,
+243,115,115, 94,169,242,147, 47,123,141, 82,202,134, 27,173, 16,133, 16,158,239,149,132,231,249,  0, 96, 98, 56,  2, 24,172,135,
+192, 73,228,212,  5, 96,226, 42,216,138,130,121,122,231,  5, 76,100,130,153, 19,219,216, 61,  3,176,214,252,232,254,135,102,207,
+205,148, 74,254,139,111,121,185,148, 42,104, 53,151, 22, 23, 22,230,103,119,236,220,181,101, 98,178, 86, 91, 18,136, 44, 16,136,
+  1, 17, 16,  1, 16,  5,218,124,200, 21, 10,204,132,104,  4,  0, 34, 70, 96,178,122, 98,  0, 96,114, 90,115,181, 14,123,  2,177,
+228,219, 31, 29, 50,196,140,136,188,117,122,199,228,212,116, 71,117,197,193,  3,143,104, 77, 97, 24,212,107, 75, 39,143, 29,157,
+156,218,118,232,177, 71,247, 92,114,121,146, 36, 71, 15, 29,  0, 20,246,  3,208,228,249,104,151,140,180,  9, 93,198,110,136,  1,
+ 51, 49, 17,205,199,  0, 34, 16, 59, 37,  2, 16,  0, 48, 24,247, 13,108,222,158, 99, 86, 76, 68,  0, 65,171, 89, 93,209,105,182,
+226,170,213,107,135,134, 87,239,127,232,161,131,  7, 30, 30,221,176,169,182,180,116,236,216,209,141,155,182,152,213,  0, 46,108,
+123,147,115,153,245, 96, 64,102, 70,100, 34,155,234,184,204,221, 85, 38,  0, 78, 37,196, 54, 79, 98,  6, 42, 66,104, 70, 70,151,
+ 49, 17, 34,118,247,244,104, 34,102,238,238,217,112,201,229,251,226, 36, 81, 82,118,118,118, 57, 47,  7,153,171,203,  5, 98, 70,
+155,108,229,142,208,106,204,252,224, 22,202,138, 78,238, 57,185, 42,131,243, 50, 42,147, 46,255,207,104, 46, 85,234,232,145,195,
+165, 82,233,228,241, 99,157, 93, 93, 92, 72,245,204,223, 57,129,204,173,187,250,213,236,245,204, 35,100,242,219, 74,  5,236,178,
+  0,184,207,  4, 91, 48,  1, 19,  1,176, 45,150,220,218,185, 32,152, 71, 67,166, 93, 23,237, 57,240,240, 67,218,150, 89, 46, 32,
+  0,251,136,248,181,175,126,217,238, 31, 52, 18,184, 37, 53, 47, 49, 23, 94,179, 91,137, 51,111,145,189,194,252,125,158, 21,181,
+110,205,130,153,249,254,251,137, 25,216,201,169, 53, 49, 47, 46, 46, 61,203,240, 70, 83,155, 61,123,132,217,183,111,159, 77, 11,
+159, 61,143,103, 87,229,250,108, 20,232,  7, 40,165,203,229,242,207,253,220,207, 95,188,231, 57,107, 87,175, 65,129, 74, 41,153,
+166,103,206,156,121,236,192,129,191,253,187,191,125,252,241,227,255,126,  2,109,221,186,245,143,254,248,147,194,247,129,193,246,
+ 46,180, 70,100,225,149, 86,175, 89, 59, 52, 60,124,241,115,246, 40,149,126,242, 79,254,228,139, 95,250,242,143, 90,219,143,142,
+142,158, 56,113,226, 41,222,113,239,253, 15, 48, 34, 50,146,173,163, 45, 38,158,117,  8,109, 53,153, 38, 73, 28,167,105,252,214,
+183,189,189,217,108,253,208,187,204,235,237,237,173,215,235, 79,250,235, 29, 59,118,124,254, 11, 95, 68, 33,  0, 69,150,196, 21,
+235,198, 12, 39,179, 79,129,153,248,170, 43,175, 40,151,253,  3,  7, 14,254, 16,  2,141,141,141,125, 95,163,222, 58, 53,245,199,
+127,250,103, 38, 37,128, 44,102,114, 17,242,115,226, 89,104,135,  1, 16,  4, 10,225,239,219,119,197, 43, 94,118,235,249,220,101,
+221,221,221,159,252,211, 63,  7,  7, 93,114,174,143,182,160,100, 51, 20,  7,190,130, 73, 49, 17,133, 16,219,119,238,184,112,247,
+206,243, 38,208, 63,223,241, 69, 68, 65, 46,147,205,214,196,228,156, 89,153,175, 11,112, 33,  3, 80, 30,133, 81,  8,255,198,235,
+ 95,228,251,254,121, 16,232,246,219,111,  7,192, 54, 88,193,213,206,217, 22, 51, 37,151,107,246,101,101,127,182,178,192,204, 32,
+188, 55,190,238,213,231, 97,219,191,236,182, 87, 48,128, 38, 66, 64, 83,182, 22, 87,202,  8,104,165,211,182, 21,229, 32, 85,157,
+193,180, 70, 79,213, 21,157,213,106, 71, 20,197, 63,188,134, 38, 39, 39, 13,198, 99, 97,  5, 91,160,103,157, 74, 85,160, 16,232,
+ 28,110,104,123,162,153, 24, 17, 61,223,171,116, 84,175,220,123,201, 15,164,161,229,219,254,163, 31,251,104, 71,181,154, 43,166,
+176,173,141,120,  6, 68,208, 74,107, 42,  8,225,228, 51, 96,145,113,  7,155, 38,182,110,223,177,235,210,203,175,120,254,243,159,
+ 55, 53, 53,213,106, 53,103,102,102,158,118,219, 47, 95,178,142,142, 14,173, 52,123,128, 68,166,243,104, 76,194,180,137,237,215,
+130,111,212, 90, 81, 81, 97, 90, 19,  3,  0, 94,252,220,203,170,213,170, 41,254,215,172, 91, 63, 52,188,242,226,231,236, 73,162,
+240, 35, 31,249,131,111,220,121,215, 15,176,100,172,217, 66,136,166, 74,214,  5, 32, 81,103,125, 71, 91, 65,107,173, 72,147, 42,
+188, 98,234,187,221, 23, 61,167,171,179, 27, 81,160,240,236, 87,225,  9,207, 19,190,255,154,215,254,236,135, 63,244,187,207, 84,
+ 32,207,243, 28,164,105,122,157, 74, 41, 37, 93,199, 83,101, 48,162,118, 79,148, 69,127,204, 43, 68,132,136,189,125,253, 61, 61,
+ 61, 46, 27,206,202, 76,  3,139, 11,207, 47,149, 43, 29, 31,248,237,223,122, 70,  2, 33,162,145,197,162,207,230, 73,222,132,205,
+162, 87,206, 80,202,168, 49, 90,217,  6,254,244,206, 93,198,101,230, 91,145, 51, 80,199,124,138,240, 75,229, 95,125,247,187,158,
+126,219,155, 11, 51,160,231, 49,146,200,202, 55,199, 16, 96,118, 72, 30, 48, 35,128, 16,130,129,209, 60,132,240, 16,215,143,140,
+145, 38,  3,112,233,162,119,176,110, 44, 19, 11,253, 82,101,237,154,213,103,206,206, 60,149, 64,215, 93,119,157, 82,202, 99, 36,
+178, 31, 99,202,177,  2,109,193,150,202,194,247,153,185,179,179,171, 90,237, 80, 74, 38, 81, 24, 69, 49, 49,172, 94,187,150, 44,
+101,200, 57,  9,165,200,128,181,110, 59, 24,183, 14,  0, 47,187,229,230, 15,126,248, 35, 79, 46, 80, 87, 87,215,231,191,240,133,
+ 74,185,227,209, 71,190,103, 96, 43,151,107,163,171, 15,109, 80,243, 60,207,243,253,254,190,254,149,171, 87, 41,105,178,180,212,
+243, 60, 20, 34, 12, 90, 11,115,231,250,  6,134, 13,249,204,110, 67,165,164,227,161, 21, 54, 35, 17,179,120,178,192, 34,  0,224,
+166, 23,191,248,203, 95,253, 90,185,220, 33, 60, 31,  1,180,214,228,254, 86, 74,149, 19,219,180,  2,  4, 33,196,248,248,248,202,
+ 85, 43, 77, 59,  1, 80,  0, 10,131,167,  8,175,116,246,244,169, 70,163,166,148,212, 22, 77,183, 20, 45,173,149, 86, 82,201, 76,
+ 38, 43,224,134,209,245,203,  5,122,245,171, 95,253,174,255,249,203, 66,120,158,231, 33, 98, 71, 71, 21,  0, 52,232, 28,137,214,
+118,239,  3, 51, 48,172, 93,183,182, 84, 42, 49, 96,193, 48, 52,185, 58,151,  0, 14, 31,216,111,208, 68, 37,149, 76, 29,214,105,
+ 48, 78,149, 63, 53, 59,117,205,234,149,203,  5,170,116, 84, 61,207, 23, 66,  0,  8, 64,216, 52,185,173,187,187,  7, 25, 51, 91,
+214,121, 92,231, 74,165, 82, 42,149,181,166,220, 21, 57, 87,101,240,104,102,150,105,122,244,200,193, 36,137,165, 76,165,116, 34,
+164,210, 73, 99,210, 75,243, 53,222,176, 97,116,185, 64,102,135,152,  6,172,217, 84, 99, 27, 55, 77, 76, 77, 87,171, 85,  3, 33,
+101, 62,129,153,250,122,187,140,169,186,214,135,148, 42, 53,132, 71,169,164,210,202,172,246,204,233,147,134,214, 32,101, 42,211,
+ 52,131, 95,165, 69,132, 83,  3,182, 37, 73, 60, 60, 52,252,190,223,248, 95,203,108,  8,  1,  1,208,104,  8,153,136,  9, 74, 37,
+127,227,230,201,169,233,237,155, 54, 79, 12,175, 92, 85,233,168,250,190, 87, 42,149,149, 38,  3,184, 74,153,164, 73,226, 62,192,
+246, 99,148,148, 42,149, 74,233, 52, 77, 27,245, 90,142,  6,167,150,224,146, 36, 73, 26, 39, 73, 28,167,134,143, 16,180,214,141,
+110,244, 75, 29,191,242,238, 95, 42,  8,212, 94,184, 50, 32, 32, 24, 16,  6, 16, 43,213,142, 85,171, 87,111,153,152,220, 58,189,
+ 99,211,150,  9, 41, 13,153, 35, 78,226,216,124,138,129, 22,211, 52,113,116, 17,251,193, 90,169,114,185,194,192, 90,147, 76,147,
+ 52,141,210, 36, 78, 19,  7,213,134, 97, 20, 54, 26,245,133,206,174,174, 82,201,239,236,236,122,253,207,190,170,184,237,209,250,
+ 64, 98,131,233, 33, 90,156, 17, 13,210,  8,136,192,126,169,148,196,  9,179, 16,158,103,160, 81,109,129,115, 35,103,108, 88, 39,
+113, 28,149,203,229, 93, 23, 94, 28,180,154,245, 37, 14, 90,173, 40, 10,173,249,152,119, 68, 81, 20,181,130,102,125,112,120,157,
+ 76, 37, 10,207,247, 75, 35,163,227,207,185,120,119,123,232, 48,232, 89,  1,190,204, 72, 15,  6,195, 67,  0,165, 84, 20,134, 81,
+ 24,197, 81,219,255, 81, 28,197,134,210, 27,134, 73, 28, 95,119,227,205,214,215,  0, 34,114,189,182,168,164,236,239, 31,232,238,
+238,137,194, 32,104, 53, 90,141,165, 48,104, 77, 78,239, 16,158,135, 40,132,240,125,191,116,253,139,126,194,  2, 86, 14,154,  2,
+  6,100,  2, 11,156,131,105,102,216,184,200, 68,128, 98,120,213,186, 83, 39,142, 33, 10, 20,130,136,141, 71,177,184,112, 18, 71,
+ 97, 24,  4, 45,207,243,  0, 48,138, 66,195, 13,149, 82,147, 82,215,190,228,197, 97, 16, 44, 46,204, 87,171,229, 59,255,229,203,
+ 97,171,190,109,231,197, 93,221, 61,158,239,147, 38, 64, 33, 60,207,247, 74,  0,224, 91, 24,202,172, 12, 35, 32,217, 68,136,173,
+111, 65, 48,  8, 25,  2, 83,119,119, 79,181,186, 98,105,105,209, 56,158,188,181,144, 38, 73, 18,135, 65, 16,  6,173,107,174,187,
+ 49,104, 53,211, 52, 53, 26,139,194,160, 21,180,194, 32,136,194, 32,142, 35, 69,188,114,245,186, 29,187,111, 18,  2, 45, 96, 75,
+ 44,  4, 10, 97, 44, 33,139,101,  6,251, 69, 98, 66,139,159,  3,130,129, 16,  1,  1,217,  2,180,  8,163, 27, 54,117,118,247, 28,
+ 62,120, 64,107,109,221,137, 76,173,141,199,177,241,206,245,122, 93,202, 52,142,162,102,179, 81, 91, 90,218,184,105,139, 74,147,
+ 86,171,213,168,213,154,245,198,228,214,233,234,138,170,225,  9,106,173, 77,150,129, 40, 16, 61,  0,240, 57,135,162, 49, 71,243,
+  1, 44,140,110, 86,203,193,141,134,148, 49, 48, 56,180,231,146,203, 23, 22,230, 79, 62,126,236,220,204, 25, 35,141,146,170,187,
+167,103,199,238,139,130, 32,136,227, 72,166, 73, 24,134,245,165,165,107,174,123, 81,103, 87,119,163, 94, 15, 26,245,179,103, 78,
+159,124,252,200,232,248,213, 38, 59, 96,173,161,  0,  9,163, 64,163, 33,135, 92,155, 24,111, 63,219, 66,251,192, 96,165, 49, 48,
+ 62, 48,147, 69,171,187,187,123, 38,167,166, 55, 79,108,181,142,195,217, 62,  0,204,206,204, 28, 57,123,166,190,180,120,237, 13,
+ 55,117,117,247,198,113,148,196,145,102, 22,192,175,189,253, 45,143, 61,250, 61, 39, 70, 65, 26, 68,179,217,141, 13, 17,  0,154,
+ 45, 79, 89,158,135,182, 81,239,120, 74, 89,209,108,216, 55,128,136,158,231,161, 64,118, 80, 51,128, 48,239, 28, 90,185,114, 96,
+104,168, 92,169,  0, 83,163, 81,143,163,176,217,108, 54,155,205,122,163, 54, 63, 63, 87,111,180,134,134,134, 65,107,187,  2,214,
+ 53,219,158,179,111, 33, 86,215,117, 65,116,183,153, 75, 79,224,122, 88,214,246,209,181, 60,204, 85,208,  1,180,142, 84, 96, 68,
+151,105,154,164, 73,216, 10,146, 52,  9,154,205,249,185,217,142,106, 53,142, 66,153, 38, 91, 38, 39, 79,157, 56, 94, 91, 92,180,
+123, 41,  7,242, 65,  0, 56,234, 14, 80, 86, 11,179, 67,164, 77, 95,209,226, 26,224,122,211, 38, 69,181,232, 52, 19,176, 33, 46,
+ 65, 17,209,102, 86, 74,149, 75,229,249,249,217,199,143, 30, 62,118,248,224,177,195,143, 94,241,252,235,130, 32,232,239,239,111,
+ 54,155, 73,154,206,156, 61, 93,144, 36, 75,208,236, 13,161, 69,229, 25, 17,108,221,153,129,247,142, 29,197,166,  7,139,133,212,
+ 22, 29,160, 77,174, 11,224, 74, 58,  6,102,165,228,232,232,248,240,240,170, 32,104, 13, 12, 60,239,224,129,253,103, 78,159,218,
+176,113,211,252,220,220,217, 51,167,151, 22,231,135, 86,174,206, 96,112,215,115,205, 90, 99,204,166,129,199,  0, 68, 38,206,  2,
+  0,163, 13,109,217, 50,218, 58,217,129,233,228,140, 43, 55,179,  2, 96, 14,  0, 92,169, 84, 74,229,146,210,170,179,179,123,219,
+244,206,109,211,211,141,102,179, 89, 91,172,110,153,130,118,164,222,105,200,114, 74,236,157, 33, 60, 17,172, 39,104,183,237,252,
+105,  1,197, 42,130,246,217, 19,179,210,198, 76,202,229,242,232,248,134,102, 43,104, 53,155,154, 11, 93,  1,206, 12, 15,124,183,
+242,224, 26,226, 72,110, 79,154,101,200,154,100, 80,220,221,203,250,  5,100, 93,153,165,194,217, 95,154, 54, 13, 21,  4,230,249,
+185,217, 86,179,217,106, 53, 79,159, 60,177,122,205,154,130, 30,205,218,128,176,198,108, 20, 69,206, 61,176,179, 82,147, 31, 57,
+ 13, 57, 83,177,224,148,107,137, 16,152,222, 99,161, 64,201, 76, 60, 43,198,205,103, 55, 27, 13,173, 85,255,192,192,153,147,199,
+202,229, 74,222, 23,177,177,194,104,104,121,120,207, 37,110,107,108,130,237,  0,185,214,154,165, 59, 64,  1,237, 43,172, 99,118,
+ 71,204,237, 45,171,158,222,190, 52, 77, 38,183,109,127,226,219,173,134,150, 93,174,176, 16,  4,182, 55,199,108,120,200,236,186,
+117,148,201, 67,148,191,208,222,196,  3,199, 65,160, 34, 37,157,107, 75,139,213,106,231,208,240,234,226,  6, 96,215, 86,114,137,
+116,161,205,  4,  5, 35,163,204, 96, 92,139,216, 53,238,168, 96,204,212,190,  5, 50,246, 74,150, 91,113,177, 43,200,204,115,231,
+102, 14,236,255, 30,219,132, 34,215,  0,  0,248,199,142, 30, 45, 54,199, 50,179,135,204, 49,231,246,190, 76,100, 40, 50, 86, 97,
+121,102, 87,252,168,226,218,228,207, 30,217,255,  8, 23,250,123,198,205,224,190,125,251,150,150,150,106,181,218,179,173, 45,244,
+227,125, 48,115, 95, 95, 95,127,127,191, 15,  0,245,122,253,228,201,147,255,165,148, 39,146, 60,251,251,251,197,127, 41,226, 63,
+ 88, 59,241, 63,112,123,243,135,252,  0,223,239,235,235,171, 86,171,157,157,157, 29, 29,213,106,181,163, 84, 42,  3,112, 16,  4,
+ 81, 20,197,113,220,106,181,194, 48,108,181, 90,255, 89, 20, 52, 60, 60,124,235,173,183,222,246,202,159,182,160, 41,228,237, 45,
+ 83,220,153, 62, 72, 54,212,102,  1, 90,109,  9,181,231,102,102,254,233,159, 62,255,165, 47,127,229,217,226,137,246,237,219,247,
+248,227,143, 63,117,  7,248,105, 31,107,215,174,251,133, 95,252,133,203,247,238, 43,149,202,150,116,237, 50,115,202,146,152, 44,
+ 87,113, 12,103,109, 41, 49, 58,107,202,153,  9, 99,195,246, 85, 74,157, 61,125,234, 27,119,222,249,249,127,190,227,199,162,154,
+209,209,209,241,241,241, 31,201,130, 86,174, 92,249,166, 55,191,229,218,107,175, 99, 68,145,181,172,  5, 34, 35, 51, 35, 35,163,
+ 99,174,  1,186, 42,199,212,202,200,150,  4,  7,128,  2,208,244, 64,  4,162,135,  2, 16, 60,  1,224,  1,174, 89, 55,242,147, 55,
+223,114,211, 77, 47,142,163,240,175,255,230, 83,119,127,251,158,255, 48, 91,108,106,106,234, 67,191,255,145,222,222, 94, 33, 60,
+ 70, 48,173,241,156,250,152, 33, 77, 92, 44,210, 10,156,236,156,143,152,189, 25,243, 58,145, 45,  0,139, 40, 60,207,  3,230,114,
+165,122,219,109, 47,127,233,173,183, 28, 59,122,244,195,127,240, 81,254,119, 84,144, 55, 54, 54, 86,171,213,190, 31,167,225,137,
+143, 77,155, 54,125,234,239,254,239,109,175,120,101,185, 82, 17,194,195,  2,128,226,120,127,109, 57,106,219,172,105, 27,249, 32,
+239,250,231,165,  2,216,182, 49, 45,171, 53,236,110,133,238,158,158,171,174,216,187,162, 90, 61,120,232,240,191,181,106,122,123,
+123,251,250,250,126, 48, 11,122,211,155,223,124,219, 43, 94, 41,132,111, 81, 85,178,232,113, 94,160, 88,187, 33,206,190, 23,  8,
+ 34,121,121,196, 69,118,  4, 23, 74,187,204, 79, 65,161,160,179,168,158,237,198,121,165, 61,123,246,236,222,185,227, 19,127,242,
+167,103,103,206, 61, 91,182,152,231,121, 95,184,227,139, 43,186,186, 12,158, 38,  0,137, 93,165,148,161,109, 25, 75, 54, 35,213,
+ 22,149,148,213,138, 38,138, 17, 51, 91, 55,205,142, 28,144, 35, 78,203, 11,166,108,251, 89, 66,137, 40,149, 94,243, 51,175,252,
+251, 79,127,238,192,193, 67, 63,254, 68,113,120,120,248, 47,255,242,175, 58, 58, 86,176,173,161, 29,251, 54,139, 66,108,227, 16,
+187, 39,197, 94,150,105,183,113,198, 20,177,109, 68,219,131, 43,244,217,114,246, 17,217,241,118, 71,215,200, 63,208,106,205,224,
+154, 55, 94,127,221,222, 75,246,252,248, 45,232,253,239,127,255,234,181,107,137,  9,137, 81,  8,208,136,224,200,251,174,186,254,
+126, 21, 51, 23, 39,  2, 51, 54, 44,155, 81, 12,203,104,161,108,236,176, 48, 29,232,102, 65,136, 51,138,172,115, 86,128, 32,204,
+ 36,  9,240, 69, 23, 95, 56, 59, 63,255,216,161,163, 63, 54,  5,189,227, 29,239, 24, 29, 27, 35, 77,128, 44,132, 48, 52,117,132,
+  2,206,152,161, 13,102,103,101, 95,219,144,162,130,103, 38,183,209,204,208,170,214, 25,191,206, 40,174, 72, 43,177,108, 23,211,
+200,181,140,  8,225,121,190,239, 99,185,220,221,213,213,229,121,162,167,167,255, 99,159,248,163, 32,  8,179,  6,217,191,159,130,
+214,174, 93,187,119,239, 94, 41,149,240, 88,  8,193, 22, 28, 71,120, 50,  5, 21,112,254,140,143, 94,228,207, 17,183,135, 45,199,
+234,115, 27,202,106,199,204,208,228,163, 98,153, 35, 55, 97,191,111, 96, 96,108,124,195,138, 21,157,224,248,219,227,155, 38,247,
+ 61,255,  5,228,216, 49, 90,202, 48, 12, 27,245,218,191,254,235,191,124,250, 31, 62,155, 36,201,191,161,130,246,237,221,107,250,
+ 96,192, 64,130, 17,201,106,199,133,246, 34,100, 90,132, 32,185, 77, 79,142,178, 95,112,216,153,118, 10,  3,188, 84,200,177,173,
+ 25,153,217,102, 68, 96,128,238,158,222, 45,147, 83, 43, 86,172,200, 45,148,136,144,124, 20, 68, 26, 81, 48,160,  7,  0, 12,213,
+ 21,157,165,114,229,134,155,110,126,209,139,110,144, 42, 61,116,232,208,223,252,205,167,142, 30, 61,118,254, 21,180,126,253,122,
+227, 91,153, 25,  8,179,198,189,157,197,  3, 40, 96,234,185, 25,229,241,135,178,120,191, 44,150, 81, 62,166,108,102, 64,237, 86,
+203, 92,144, 54,243,254,238,163,112,227,230,205,107,215,173,179,203, 35,132,  9,151,102,157,216,146, 12,204,155,133, 97, 76,  9,
+ 65,190,231, 41,102,143, 97,211,166, 45,239,120,251,219,149, 76,239,184,227,142,127,252,252, 23,206,155,130,124,223,175, 84,202,
+ 90,105, 38, 70, 33,132,157, 81, 68,204,170,132,162,126,218,176,218, 54,212,215,142,161, 20,195,124,161,137,228, 28,119,129,145,
+ 73,164,137,144, 25,132,  0,102,225,249,219,119,238,238,236,236,108,211, 62, 23,  6,193,205, 68, 65,238,195,193, 54,246,209,229,
+ 78, 40, 60,191, 68,196,207,123,254,213,151, 93,122,233,199, 63,241,137, 99,143,159, 56, 63, 22,100,122,204, 66,120, 66,  8, 18,
+194, 54,231, 16,224,  9,236,  7, 46,228,139,217,126,179, 99, 60, 68, 79, 14,  6,231,221,204,182,228,219,244, 82, 81,  8,  6, 88,
+209,217, 57,185,109,186, 82,174, 20,251, 37,185,219,207, 78,127,201,117,107,153, 57,153,231,114,108, 89,179,178, 66,248,254,107,
+ 94,253, 51,223,121,240,193, 79,127,246, 31,153,249, 71, 82,144, 82, 42,  8, 67,173, 20,123, 76, 36,208, 45,136,213, 78, 97, 70,
+143,219,113,255,220,144,242, 25, 44,211,102,115,143,172,247,239,121,204, 76,236, 17, 17,161,176,199, 48,  8,207, 52, 73, 75,229,
+242,228,212,180,239,151,180,166, 66, 36, 40,204, 63, 25, 54,144,115,  2,218,206,171,230,212,220,108,199,178,107, 17,  0,  8,  6,
+220,182,109, 90, 74,249,185,127,250,194, 15,169,160, 53,107,214,252,214,251,222, 55,185,117,235,204,233, 83,245, 70,195, 99, 54,
+233, 43,228, 14,  8,219,173,  7,158,124,135, 89, 62,141,101, 43, 34,218, 32,221,211,219,211,211,221, 35, 60,145, 37,146, 74, 42,
+165, 82,101,143,132, 74,181,214,136,162,186,162,211,243,252,172, 73, 74,133,194, 36,203, 26, 52, 17,179,118, 36,101,205, 54,245,
+ 84, 69, 62,110,193,186,220, 72, 24,194,196,228,196,222,165,197,111,124,243,158,167, 87, 80,102,105, 23, 92,112,193,207,191,233,
+ 77,211,219,183, 35, 10,102, 16, 66,120,126,  9,128, 73,107, 68, 34,182, 83,192,203, 27,  0, 54,  3,106,239,167,101, 44, 78,225,
+  9, 79,  8, 33,202,149,242,208,224,112, 87, 87,151,109,234,155, 12, 64, 24,236,  3, 60,159, 25, 74,204,192,140,196,192, 32,211,
+ 36,  9,231,103,231,231,206,173, 92,189,174,175,127,192, 28, 95,150,199,187, 76, 75,164,205,113, 91,236,200,156,236, 88,114,110,
+230, 88, 21,105,128,198,156,180, 34, 38,222,182,117,235,195,251, 15, 44,213, 27, 79,165, 32,211,223,120,237,107,127,246,250, 27,
+111, 80, 74,  3,160, 16,134,123,134,136,216,213,221,189,180,184, 96,237, 66,107, 88,166, 32,203, 30,104, 51, 33,215,143, 66, 33,
+ 80,160, 64,132,106, 71,199,234, 53,107,202,149, 14, 68, 64, 16,134,162,239,242,196,220,217, 26,208,131, 93, 14, 33,132,135,232,
+ 73, 25,159, 56,118,248,212,113,111,124,211,132, 73,196,178, 89,185,204,197,187, 28, 51, 59,132, 42,163,111, 82,126, 72,129,157,
+206,182,167, 23, 25,189, 17,240,216,232,250,165,239, 61,242, 52, 10,122,249,109,183, 93,243,130,107,137,216,243,124, 96,  6, 67,
+225,  1,  4,128,158,190,193,205,213,206, 19, 71, 15, 39,105,106, 42, 69, 87,171, 35, 50, 16, 80,129,247,148, 79,114,  2,176,231,
+121,198,148,  6,  7,  7,251,250,251,132,240,152,  8, 16,  9,138,115,130, 69,130,127,150, 22,178,171,195,140,109,162, 38, 74,146,
+228,192,254,239,142,140,111, 44,149, 43, 70,145,214,142,128, 51, 42,173, 35,251, 22,184,182, 42, 99,152,231,231, 16,216,179, 19,
+210, 84,166,169,146,178,163,163,252, 52, 85,250,232,232,232,196,228,214, 77,155, 55, 91, 64,  1,156, 51, 22,118,140,220,243,188,
+193,225, 85,  3, 67,195,229, 74,135, 84,169, 86,218,210,171,242, 16,111,226, 84,158, 69, 35,162, 97,134,173, 92, 57,216,217,217,
+  9,110, 32,158, 11, 64,107,182, 15,220,193,126,150,196, 74,170,200, 66,181,119,102,136,127, 51,103, 78,117,118,246,  0,176,214,
+202,  2,180, 82,102,111,165,236,111, 40, 35,118, 26, 78,174, 44,144, 74,237,128,178,148, 73,146, 70,105, 20,108,218,180,241,197,
+ 55,221,148,164,201,137,147,167,158, 10, 15, 66, 20,  0,  4, 88, 12,225,104,200, 55,102,184,216,243,252,254,129,193,254,129,  1,
+ 96, 78,149, 10,131, 32, 10, 90, 81, 28,165,105,170,164, 66, 55,254, 10,194,100, 74,  0,  0,221, 93, 93,  2,133, 82,154, 65,  9,
+102,227,223, 51, 53, 22, 82,158,226,172,131,206,136,237,202,158,139, 97,184,186,148, 38, 73,154,166,  7, 30,249,238,196,212, 14,
+227,  4,218,243,112, 42,164,152,249,129,111, 74,103, 84,125,199, 63,149,134,100, 25,199, 97, 24, 69,173,145,238,141, 43, 58,187,
+ 95,124,227,141,225,  7,206, 58,  0,  0,  9, 64, 73, 68, 65, 84,207,191,234,138, 63,251,139,191,126, 98,126,228,134,234,209, 18,
+134,218, 19, 28, 70, 64, 55, 64,106,152, 57,  0,128, 37,223,235,237,237,237,233,233, 53,211,183, 89,169,105,206,138, 76,211, 84,
+ 41,201,204,190, 96,165, 36,  8, 33, 52,101, 73,102, 86,148, 80, 54, 22,227,176, 17,123, 50,135,178, 49, 77, 75, 37, 11,199,139,
+164, 82,166, 73,204,  0,179, 51,103,  6,135, 87,121, 46,164, 50, 81,166,  5,139,159, 20,103, 56,156, 85,154,232,168,164,148,105,
+156,196,113, 18,135, 81,208, 96,134,145,241, 77, 74, 74,207,247,187,187,251, 94,247, 63, 94, 27,180, 26, 31,250,131,143, 55, 26,
+205, 39,134,121, 92,174,157, 28, 39,182,155,198, 80,225, 12,255,212,233, 11,  1, 88,  8, 32,242,124, 31,125,223,175, 86, 59, 50,
+106,232,194,236,153, 56,138, 53,177, 16, 30, 10, 47,111,  1, 25, 35,202,121,252,230,  4,156,118,126,183,155,137,176,252,221, 56,
+ 78,226, 40,142,162,145,177, 13, 23, 92,180,  7,128,211, 36, 78,146, 52,142,163, 64, 74,153, 74,231,137,149, 61, 26,198,  1, 79,
+133,  1,  6, 41,101, 42,147, 36, 77,227, 36, 14,147,176,149, 36,233,190,171,175,147, 82,122,158,103,152,127, 62, 64, 87,119,239,
+ 59,223,246,230,239, 62,244,208,223,253,253,255, 51,110,213,127,178,190, 61, 88, 45,160,229,119,182,143, 31,131, 59,160,  0,208,
+ 58,105, 68, 75,206,  7,167,  4, 68,132, 82,185,163,209,168, 75,165, 60,223, 55, 37, 18,184,227, 93,178,244,186,224,167, 85,166,
+159,194,236,136, 37,138,166,105,162, 82,249,223, 46,191, 98, 98,114,202,252, 82,168,146,231,107,207,243,124, 95, 32,235, 40,104,
+ 37,238,104, 41, 98, 50, 83,  7,214,135,105, 59,242, 33,211, 36, 77,227, 36, 10,146, 36,212, 10,118, 93,124,137, 57,226,192,228,
+ 34,204, 96,149,193,184,115,199,238,169,201,173, 95,249,151,111,124,223, 68,209,  4, 28,100, 52,179,124,150,243,135,192,100, 14,
+  8,195,204,130,152,185,160, 29,195, 24,  1, 68, 70,196,158,190,129,165,197,133, 56,142, 49, 73,209,243,138,233,101, 86, 49, 56,
+228,199,156, 91,105, 14,154, 41, 44,185,148, 73,146, 40,153, 40,165, 46,124,206,115, 55,108,220,146,166,169,213,157, 97,208, 43,
+165,181, 37,153,197, 65, 99,245,250,209,205, 19,219, 58, 87,172, 32,230, 56, 10,131, 86,115, 97,126,246,216,145,195,103,207,156,
+ 52,132,238, 52,  9,210, 52, 97,246,183,237,220, 61,188,114,181,231,  9,223, 46,158,  1,115,136,205, 56,  3,251,136,213, 45,155,
+ 55, 31, 57,118,220,207,168,183,217,225, 11,206, 87, 96,118, 76,131,113, 68, 64,198, 82,204,214,202, 15, 39, 48,217, 29,160,225,
+ 71,187, 31,129,  1, 96,108,227,150, 51,167, 79, 46,204,206,  2,130,249,117,110,167,217,217, 55, 68, 76, 79,136, 91,198,107, 36,
+137,148, 50,137,163,233, 93, 23,140,140,111,  8,195,150,225, 63,154, 81, 32,123, 90, 97, 28,199,177,217, 57,105,217, 47,245,244,
+244,154, 72,101,124,187, 95,170,172, 90,189, 78, 43,117,228,224,126, 41,147,222,190,193,137,109,187,  6,135,134, 77,101,231,121,
+  2, 13,  4,232, 26,  2,136,108, 52,  4,204, 38, 20,248,133,141, 69,232, 34,151, 25,104, 65,  4,115,219, 64,128,  0,140,100, 52,
+ 99,189, 53,177,181, 53, 59,178,  0, 69,155, 34,178, 58, 90,189,102,221,224,208,202, 51,167, 78,204,207,205,185, 97, 87,157, 87,
+241, 25,252,147, 71,176,108,192, 35,213, 74,166, 73, 50, 50,190,113,116,116,188, 81,171,153,141,105,189, 84,154,166,210,158,182,
+ 18,134, 65,179,209,104,214,107,196, 28, 70, 97, 18,199,230,232, 67,115,238, 73, 20, 71, 12,112,249, 85, 47, 28, 24, 90,105, 60,
+122, 97,216,213,226, 49,104,103,121, 80,  8,212, 44,  4,122, 44,216, 76,239, 22, 78, 38, 52, 53,138,217, 81,104,249,184,118,170,
+ 22,209,170,  9,201,176,224,  1,173,  5, 89,227,202,211,104,  2, 51,155,  7,185, 16,158,231,141,140,110, 24, 29,223, 40,165,156,
+ 57,123,122,126,246, 92, 20,199, 42, 77,117,  1,198, 55,150, 67,133,137, 80,163,190,222,190,129,177, 13,155,154,205, 70,134,105,
+ 91, 15, 85,160,213,151, 74,254,115, 47,221,187,102,221,186, 36,138,130, 48,  8,154,141, 56,138,194, 56,142,194, 40,  8, 90,245,
+218, 82,125,113,126,116,124,131, 64,212,136, 38, 25,206, 60, 96,145, 13,148,129, 57, 86, 85,136,174, 22,  3,199, 39,181, 30,199,
+ 53, 72,209,113,107,201, 88,142,161,188, 18, 34, 18, 25, 15,141, 76,224,182, 27,184, 60,128, 32,227,204,185, 20,193,236, 41, 33,
+196,218,117, 35,171, 86,175, 37,109,206,174, 34,115, 48, 83, 28, 69,113, 28, 75,153,154,132,171,163,163, 82,233,232, 40,151, 43,
+158,231,155,236, 73, 41, 57,123,110,166, 81,175,103,213,108,154,202, 36,142,  7,134,134, 94,112,221,245, 93,221,221, 74,107, 37,
+165,182,  3,189,101,130, 56, 14,131,115,103, 78, 37, 82,141,140,140,142,143,143,247,244,246,187,238, 47, 16, 35,100,  7,188,184,
+187,182,171, 92,128,144, 32, 83,144,241, 65,196,206, 44,236, 43, 86, 91,166,175,236,250, 93, 89, 24,178, 91, 42,203,165, 33,159,
+248,176,190,216,158, 91, 66, 86, 71,156,119,182, 64,120,  2,201, 23,101,246,201,175,148, 43,157, 93, 93, 14, 68,  2,215,144,110,
+ 35, 30,150, 74,165,117,235, 71,214,173, 31, 73,146,164,209,168, 55,235, 53,165,244,218,117,107, 87,174, 90, 35,132, 23,134,161,
+ 57, 76,201, 29, 86, 27,197,113,156, 74, 37, 60,255,178,231, 94,222, 63, 48, 84,175,215,102,206,156,210, 90,245,246, 13,  2,105,
+123,224, 77, 27,105, 60,203,140,  1, 51,186,122, 49, 15,114,100, 96, 75,198,  6,116,238,197, 29,107, 99, 67, 25, 18, 24,234, 50,
+218,222,133,243, 59,224,252,119,222,108,119,202,129, 12,157,198, 12, 57, 96, 70,129, 64, 54,243,102, 34, 70, 64,147,119, 34,230,
+115,  7, 54,104,228,236, 91,223,247,  7,  6,  6,  7,  6,  6, 75,165, 82,185, 82,105,212,235,230, 79, 76,154,234,142,  5,143,194,
+160,213,168,215,234, 75,139, 81, 24,122, 94,109,118,102,102,118,118,182,115, 69,117,106,219,234,102,179,213,168,215,149,214,  8,
+ 72,121,104, 42, 80, 43,156,203,118,  3,  9, 14, 14, 68, 32, 51,180,  1,228, 56,229,104, 41, 26,144,185, 25, 66, 35,177,157,156,
+  2,180, 21,168,123, 98,148, 96,206,252, 49, 57, 81,198,118,183,102,230,190, 58,238, 42,102,104, 11,101, 84, 86, 51, 11, 81,168,
+245, 10,252,101,187, 38,105,154,104,173, 65,136,249,217,217, 36,137,178, 67,253,146, 36, 10,195,160, 81, 91, 82, 74, 93,127,243,
+ 79, 85,202,149,197,133,133, 40,106,237,218,125,193,218,245, 99,105,154, 18,163, 82,122,110,246,156, 82,178, 90, 93,145,121,208,
+204, 65,112,129,190, 95,220, 98,118, 43,100, 80, 60,103, 63, 58,164,199,109, 57,206,246, 90,230,146, 17, 41,203,158, 12, 33, 57,
+ 59, 80,213,106, 33, 75,160,193,157, 18,230,158, 59, 94,120,  1,173,205,231,162,138,108,121,112,149,161, 53, 72,210, 41,  0, 12,
+ 12, 14, 70, 97, 56,119,110,102,110,118,102,105, 97, 62, 12, 26, 68,180,117,122,215,214,233, 29, 81, 16, 46,206, 47, 52,234,181,
+179,103, 78, 35,138, 82,185, 34,149,138,163,168,213,108, 52,155,141,218,226,252,198, 45,147, 25, 13,218,221,118,190,197, 10,128,
+ 89,113,148,192,121, 17,231,167, 45,  3,127, 57,175, 28,178, 33,242, 12, 42,198, 39, 78, 36,128, 59,189, 41,119, 93,144,205,152,
+112,222,214,167,172, 45,194, 57,232,214,246, 23, 79,  0,115,243, 87,168,163,218,177,126,108,108,221,232, 40,216,249,  8, 66,196,
+ 70,189,126,230,244,201,249,217,115,181,165,249,169,233, 93,187, 47,188,216,243,132,249,167,  5,230,103,207, 29,124,244,123, 27,
+ 55, 79,186,251,201,  8, 41,121, 37,180,172, 22,115,242,145,  1,155, 25,237, 52,148,245, 48,198,129, 48,  0,130,113,205,228,234,
+ 68,123,106,134,233, 83,161,157, 99,194,162,146,140, 26,201,213,187,152,245,203,204,188, 28, 20, 38, 81,156,199,167,220,219,183,
+209,196,115, 88,186,125, 22,160,205,137,178,157, 97,168, 86, 87,108,216,180,101,211,230,137,145,177, 13, 29,149, 10, 49, 40, 37,
+117,146,150, 74,229, 85,171,215,148, 74,126,119, 79,159,251,252,130, 62,218,248, 77,237, 91,172,109,205,172, 55, 33,114, 69, 87,
+110,241,100, 53,146,213, 85,133,164, 11,218,166, 33,160, 48,  6, 98,247, 17,113, 14, 62, 82,214, 12,113, 86,  5,109, 83,126,206,
+180,219, 59,  3,109, 70,152,143,154,112, 62, 71,  6,133,115,225,  0, 69, 24,134,205, 70, 61,  3, 27,130, 86,171, 86,175, 45, 44,
+204,151, 43, 29,229, 74,199, 19, 40,247,185, 68,109,152,180, 61, 81,173, 72,242,202,176,242,162,249, 67,230, 92,218,125,103,161,
+229,144,137,159, 77,183, 33,187,193,174,236,207,178, 17, 21,204, 90, 62,249, 13, 22,118,110,251,230,  2,104, 27,240, 41,236,186,
+101, 93,221,108, 69,148,146,115,231,102,152,121,105,113, 33, 12,131, 36, 78, 90,205,250,236,185,211,131,131, 43, 43, 29, 29,133,
+107, 64,225,150,218,116, 84, 60,227,219,185,158,226, 68,196,114,243,103,123,140, 95,225,130,136, 46, 11, 71,  4, 87,114,216,253,
+106,175,233, 90,244,  5,215, 13,238, 68, 64, 42,220, 33, 96,225, 88, 55, 40,206,122,180, 53,254,219,242,116,230,246, 78, 65,118,
+ 32,162,125,193,252,139, 10,155, 38, 38,251,251,  7,194, 48, 60,254,248,145,129,193,193,129,225, 85,224,230,222,184,253, 52, 32,
+200, 52,196,208,150, 73, 23,124,159, 65,254, 48,223,255,136,121,255,130,184, 77,167,110,212, 44, 63,100,208,165,  0,246,192, 26,
+116, 25, 22, 20,156, 97,123,171, 49,183, 91,130,246,125,199,197,136,198,197,121, 46,224, 39,106,135,139,174, 40, 63, 95,136,137,
+120,126,110,246,220,217,179, 65,171,  9,166,224, 82, 74, 20, 28, 34, 44, 87,112,254, 17, 62, 20,224,171,194, 70,207,162, 48, 47,
+ 27,  5,202,120,207,  8, 80,140, 44, 46,169,228, 98,218, 84,152,139,  5, 42, 72,142,128,150, 44, 12,109, 33,105,249,184,142,203,
+ 85,157,229,180,109, 53,104,211, 68,150,142,112,251, 49,144,246,147, 85, 42, 81,224,170, 53,107,130, 86,112,234,248,209,114,185,
+210, 81,237, 44,208,115, 96, 25,173, 50, 91, 51,127,249,252,  6, 60,233, 11,110,106,221,121, 41,155,  4, 50,100, 19,238,214,205,
+160, 69,244, 41, 67,182, 93,  6,144,229,233,150, 28,204,152, 21, 47,  5, 47,189, 76,  7, 80,172, 62,242,153,185,229,219, 43, 91,
+200,124,107, 44, 31,243,  2, 32,173,107, 75, 75,164,105,124,211, 68,158, 65,  0,180,157, 56,153,  7,163,  2,145,188,205,146,255,
+ 51, 78,245,192, 19,255, 73,146,204, 62,254, 63,235,161, 95,175,171,129, 25,182,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
+  0};
+
diff --git a/source/blender/editors/datafiles/clay.png.c b/source/blender/editors/datafiles/clay.png.c
new file mode 100644 (file)
index 0000000..aea2126
--- /dev/null
@@ -0,0 +1,356 @@
+/* DataToC output of file <clay_png> */
+
+int datatoc_clay_png_size= 11181;
+char datatoc_clay_png[]= {
+137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73,
+ 72, 68, 82,  0,  0,  0, 96,  0,  0,  0, 96,  8,  2,  0,  0,  1, 26,253,208,249,  0,  0,  0,  4,103, 65, 77, 65,  0,  0,177,143,
+ 11,252, 97,  5,  0,  0,  0,  6, 98, 75, 71, 68,  0,  0,  0,  0,  0,  0,249, 67,187,127,  0,  0,  0,  9,112, 72, 89,115,  0,  0,
+ 13,215,  0,  0, 13,215,  1, 66, 40,155,120,  0,  0,  0,  7,116, 73, 77, 69,  7,218,  7, 19,  0, 34, 11,191,157, 46, 32,  0,  0,
+ 32,  0, 73, 68, 65, 84,120,218,237,124,121,180,165, 89, 85,223,222,251,156,239,251,238,240,134,122,245,170,138,174, 30,170,233,
+102, 38,180, 52, 99, 55,  8,149,  6, 20, 73, 34,194, 66,151, 65,  3,100,153,232, 10, 70,212, 37,  6, 21, 39,156, 34, 70,113, 32,
+ 49, 70, 48,113,105, 52, 14,145,128, 64,148,  8, 34,208, 42,131, 49, 34,202,104, 47,160,231,234,174,170, 55,222,123,191,239, 59,
+211,222,249, 99,159,243,221,251, 26,154,201, 86,219,181,188,221,245, 94,189, 87,247,221,119,238, 62,251,236,253,219,191,253,219,
+  7,207,158, 61, 11,159,245,241,185, 60,201, 50,243,187,223,247,255,186,118,190,115,225,238,170,110,166,107,107,198, 84,255,243,
+215,127,229, 53,175,253,133,225, 73,  4,  0, 93,215, 34,153,205,227, 39,187,174,221,189,120,113,118,176,243,143,111,184,225, 85,
+ 63,241, 99, 71,158,132,  0, 68,212,212, 13, 25,107,108,181,190,185,125,234,  1,167, 31,117,205,181,191,243,187,191,123,242,228,
+137,252,164,209,120,188,182, 54,117,190,159, 78,215,154,209,104, 60,158, 76,214, 54,108, 61,222,221,221,251,230,151,124, 83,126,
+146, 53,228,156, 79,193,247, 93,219, 52,141,247,174,235,186,187,206,221,177,191,183,183,183,187,251,210,111,125,137,  5,128,196,
+192,204,128,166,235,250,115,119,126, 24, 16, 71,163,145,173,170,174,107,173,173,214,214,215,  9,  0,246,247,119, 47, 94,188,112,
+254,238,187,206,221,121,251,221,119,157,243,174, 55,198,108,110, 30,139, 49, 34,226,124,118, 96,  1,224,206, 59,110,223,185,112,
+ 33,  4,239,156, 67,132,233,218,250,169,  7,156,222,223,223, 93,204,231,139,197,252,216,214,182,  5,128, 11,119,223,197,204,136,
+ 24, 67, 16,145,186,174, 15, 14,246,239, 62,119,238,226,249,187, 78, 94,114,233,120, 60,182,  0, 80, 85, 53, 18,  6,239,157,115,
+179,131, 61,  0,169,155,209,185,219,111,221,218,222, 62,117,201,233,221,139, 23,240,115,218,187,207,229,129,239,251,211,247,187,
+222,205, 14,247, 47,156, 63,119,242,212,233,209,120, 50, 59,220,127,238,115,190, 98,245, 73, 52, 95,204, 67, 12,163,233,218,230,
+177, 19,123,123,187,251,187, 23, 64,248,135, 95,241,242, 35,175,244,142, 27,255,152,153,235,186,158,207,102, 23,207,223,117,252,
+196,201,233,116,218,119, 11, 16, 89, 44,230, 95,249,149, 95,  5,  0, 68, 68, 27, 27, 27,134,136,136,234,166,153, 78,215,234,102,
+180,113,108,187,237,221,221,119,159,255,214,151,188, 24,  0,236,168,169,152,147,247,254,226,249, 59,167,107, 27, 34,226,156, 59,
+ 60, 56,184,112,254,194,254,254,126,223,117,  0, 96,145,172,247,129, 69,198,211,245,115,231,206,221,252,201, 79,140, 70,147,186,
+105, 66,240,174,239, 71,163, 49,  0,224,239,191,227,198,190,239, 22,243,249,197, 11,231,239, 62,119,167,181,118,251,228,169,227,
+219, 39,118,119, 46,222,113,235, 45, 72,212, 45, 14,237,238,206,197,115,119,220,222,182,109,  8, 94, 68,172,173,142,111,111,111,
+110,110,222,121,251,109, 93,215, 18, 81,221,140,232,174, 59,239,152,205, 14, 17, 65, 68, 92,223,  3,  0, 34,221,113,251,109, 23,
+ 47,220,125,219,205, 55,157,190,236,138,102, 52,177,204, 60,158, 76, 16,177,239,186,249,236,112, 62,159,133,224,231,243,217,199,
+ 63,250,129, 27,158,249,156,190,239,231,179, 67,184,175,246,206,234,167,167, 63,253,233, 63,248, 67, 63, 50, 95,204,247,119, 47,
+112,146,201,116,173,170,107, 99,173, 49, 22, 17,254,224,247,223,246,202, 87,190,242,179,248,192, 83,158,242,148, 87,254,248, 79,
+137, 48, 11, 51, 75,138,190,239,250,110, 49, 95,204, 15,183,182, 79, 86,117, 61, 26,141,235,186, 73,209,127,242,227, 55,237,238,
+ 92,248,246,151,125,215,189,174, 40,198, 32, 34, 34,130,136,214,214,147,169, 69,196, 16,227,108, 54,107,154, 38,120,  7,128, 41,
+134,245,141,205,205, 99, 91,191,249,235,191,118,225,226,197,151,124,243,183,124,154, 23, 10, 33,128, 72, 85,215, 77,211, 16, 81,
+223,247,117,221, 76,167,211,197,124, 94, 85,245,116,125, 99, 52, 26, 19, 34, 16, 10,139,247,253,250,177,237,215,191,225,183, 23,
+243,249,238,206,249, 55,189,241,141,111,127,199,187,242, 11,109,109,109,  1,  8,199,200, 34,237, 98,182,191,187, 91, 53, 13, 34,
+141,198,227,209,104, 84,215, 13, 33,  9,  8, 10,196, 24,103,135,243,195,131,189,182,109,231,135,135,231,239,190,243,193, 15,186,
+234,228,246,241,223,120,221, 27, 44,104,104, 18,100,192,196,140,100,215, 54,142,245, 93,235, 92, 47,156,250,158,156,115, 33,  4,
+231,156,115,142,136, 82,138,206, 57,215,119,139,197, 60,134, 96,140,121,200,195, 31,  1,240,  6, 11,  0,174,247,204, 73, 68, 82,
+226, 24,252, 98,177,152,207, 14, 15, 14,246,231,135,  7, 33,  4, 68, 28,141, 39,227,241,164,170,171,170, 26,143,198, 99,231,156,
+119,222,123,111,235,102,205, 90, 34,122,241,191,126,161,  5,128,189,221,139,109,219,182,109,235,157, 11,193,135,160,209,199,121,
+215,139,240,104, 52, 49,214,214,163,102, 58, 93,155, 78,167, 33,  4, 78,236,189,235,251,150,200,136,192,236,224, 96,243,248, 41,
+ 11,  0, 23, 47, 92,152,207,103, 93,187,136, 49, 33,162,  8,167,148,130,247, 49, 38, 34, 34, 99, 54, 55,143, 29,223, 62, 97, 43,
+219, 46, 22,123,187, 59,179,195,253,253,253,221,217,254,190,128, 92,118,197,  3,141, 49,174,239, 44,  0,236,238,238,196,224,  1,
+160,170, 42,230,232,125,242,206,117,109, 27,130, 71, 68, 52,116,120,176,223,117, 29,115,234,218,118,111,119,103,111,231,194,173,
+159,248,200, 99,175,187,225,196,169,  7, 48,115,223,247, 49, 70, 11,  0,136,104,140, 21, 16, 16,  1,192,186,174,173,181, 85, 93,
+139, 72, 93, 55,198,152,221,221,157,115,183,221, 12,136, 41,165,217,254,206,195,175,121,220,163, 31,247, 68,102,118,125,223, 46,
+ 22,251,123,187,231,239,186,237,190,139,147,247,201,227,204,153, 51,116, 95,189, 86, 62,253,127,252,158,247,118,109,215, 46,102,
+ 59, 23,238,154,110,108,141, 70, 35,107,107, 50,134,136, 82, 12, 47,122,225, 11, 46, 92,184,240, 89, 78,255,159,190,255, 47, 98,
+140, 49,198, 16,188,119,174, 93, 44,246,119,207, 79,215, 54, 71,147, 73, 85, 85,214,214,100, 40,134,112,254,220, 29, 47,124,209,
+139, 62,211, 91,243,222,123, 31,152, 19,  2, 90, 91,141, 39,147,205,173, 19, 33,248,190, 93,196, 16,152,163, 37, 51,157, 78, 54,
+143, 29,251,169, 87,253, 56, 17,222,219,107,153,127,241,194, 23,165,148,132,153, 69, 16, 17,201, 32, 98, 74,201,  7, 31,188,247,
+190,143,193,117,237, 34,198,152, 82,188,254,137,143,255,216, 77, 55, 29, 30,206,238,241, 42,155,155,155, 68,100,136,  8, 17,  1,
+  0,144,140, 49,198, 86,100, 12,179,  0,128,181, 13,160, 73, 12,  2,176,125,226,212,195, 30,121,205,247,126,207,203,159,252,164,
+235, 62,141,141,110,252,163,247,198, 20, 75, 84,179,  0,224,157,155,207,103,179,195,  3, 99,204,100,186, 54, 30, 79,234,186, 22,
+225,224,157,  8,131,136,136,196, 16,230,243,195,175,249,218, 23,172,216, 40,250, 16,130, 48, 87, 85,165,126, 12,136,117, 93, 87,
+ 85,109,140,169,170,170,105,154,186,105, 70,227,201,250,198,177,201,116,157,108, 29, 98, 90,116,253,124,209,253,240, 15,190, 98,
+153,146, 43, 91, 77,167,211,245,141,141,241,120, 76,  4,125,215,113,138,136, 88,215, 53,145,169,170,202, 88,139,  0, 34,  2, 72,
+ 72, 38,132,208,182,237, 98, 62, 63, 60,216,159,207,231,223,246,205,223,152,253,104, 50,153,128,128, 72,138,193,199,152,186,118,
+ 30, 66,212,247,104,173,205,175,  2,250,134, 82,215,182,243,249,108,177, 88,116, 93,183, 88, 44,218,118,145, 66, 40, 14, 41,137,
+153,137, 12,  0,178,200,104, 50,233,118, 46, 58,215, 85, 85,221, 52, 99, 97,137, 49,  2,128,  8,120,239, 14, 14,246, 23,243,185,
+115,189,247, 46,120,159, 66, 32,202,103,195, 18, 25, 36,147, 18, 39,102, 16, 32, 52,147,233,186,235, 59,239,122,  0,  8, 49,164,
+196, 10,142,124,240,214,216, 16, 66, 12,209, 59,175,200,170,170,235, 83, 39,182,  1,192, 10, 96, 74, 41,165,196, 44,  2,162,127,
+ 15, 33,206, 22,173,191,184, 27, 98, 64, 68,181,148,238,  3,  0,164,148, 98,138,  2, 98,235,186,170,235, 23,190,224,107,127,235,
+245,111,180, 33,132,152, 18,167, 36, 34, 41, 70,239, 93,223,117,179,217,225,225,254, 94,215,117,204, 92,215,141,  0, 52, 68,214,
+ 86, 77,211,  8, 39, 17,225,148, 64,112, 60,158,128,  8, 19, 49,179,237,123,231,189, 75, 49,198, 24,125,112,125,215,119,237, 98,
+ 62,159,119,109,219,247, 29,145,177,198, 42,  0,174,234,106, 52, 26,121,239, 68, 36, 49,199, 24,201, 16, 89, 74,222, 61,244, 33,
+ 87, 91,215,119,109,219,182,237,162,235,218,160, 15,239,189,115, 49, 37,102, 54,198, 26,107,109, 85,141, 70,227,201,100, 90,215,
+141, 48,199, 20,131,247, 41, 69, 68, 27, 82, 34,196,147, 39, 78,218,182,107,219,197,252,240,240,176,235, 22,193,  7,230,148, 82,
+226,148, 56, 37, 68,163,  6,154, 78,167,235,155,155,163,102,228, 92,239,250, 62,120,239,250, 78, 68,230,243,217,177,173,109,199,
+201, 86, 53,181,139,197, 98,177,232,187,214, 59,175,  7,133,144,  4, 32,165,196,204,128,104,140, 25, 79,166, 85, 85,133,224,103,
+179,195,174,235,186,197, 34,134,112,254,220,237,205,104, 60, 93, 91, 27,141, 38,100,140,157, 29, 28,180,237,162,239, 59, 17, 49,
+198,  2,160,128,112, 74, 49, 70, 97,102,182,160, 39,107, 54,243,206,205,102,135,243,217, 97,219, 46,110,191,245,166,211,151, 93,
+125,242,228, 37,198,154,170,105, 16,209,250,224, 83, 74,100,172, 53, 36,  2, 49,134, 24,131,247, 46,120, 23, 83, 18,145,118,220,
+238,237,237, 33,130,247,126,118,120,176,115,241,194,206,221,119,110,108,158, 56,115,213,213,205,104,236,250, 30,  1, 56,177, 37,
+ 34, 91, 89,195,130,136,128, 64, 68,194,236,208,197,152,156,235, 92,215,166, 20,187,182,181,214,134,224, 15,246,247, 14,246,118,
+ 15,246,119,158,242,180,127, 50,157,174, 59,239, 98, 12,125,223,119, 93,107,133, 89, 88, 88, 24, 24, 68, 88,193,230,218,218,250,
+104, 52, 54,214, 84, 85, 45,194,119,222,113, 91, 59, 63,  4,164,190, 93,236,158,191,243, 43,254,249,215,137,176,238,111,219, 46,
+246,118, 47,182,243,125,184, 95,229,181, 43,174,184,130,224,254,244, 64, 68,251,105,255, 97,109,109, 58, 30,143, 47, 92,184,184,
+250,205,201,100,242,168,107, 30,117,226,196,201, 43, 46,191,220, 88,187,187,179,115,199, 29,119,124,240,131, 31,220,219,219,187,
+ 15,215,100, 69,  4,  0,126,254,181,175,189,246, 49,143, 19,  1, 78, 41,166,200, 41,133, 16,162,158,221,190,223,223,185, 96,170,
+122,178,182, 94,215,141,173, 42, 67,198, 24, 67,198, 32,162, 49,132,136,204,192,156,156,235,103,  7,251,223,240, 13, 95,223,182,
+221, 95,107, 65,127,242,103, 31,224,148,152,153, 89, 68,  4,128,136,192, 86, 72,100,200, 88, 91,213,117, 51, 10,222, 59,223,207,
+ 14,219,205,205,227,104,  5, 16,  4,196,144, 97, 68, 99, 76, 85, 25,196,170,110,154,186,174,127,249,151,255,251,206,197,139,139,
+249,225,183,191,236, 59,191, 64, 68,211,181, 45, 51, 35, 32, 32,136,  0,128,  0,  0, 34,160, 33,139, 53,145, 53,198, 26, 91, 25,
+107, 67,  8,138, 35,153,211,104,212, 76,167, 27, 70, 44, 33,146, 37, 50, 68,  2, 82, 85, 77, 51, 26, 79,198,237,226,240, 71,127,
+228,  7,172,173,127,224,135,126,248,243, 50,152,  5,128, 98, 25, 65,  1, 69, 35,  0,  0, 32,  8, 68,  6,136,  8,  9,  1, 17, 64,
+152, 37,165,  4, 72,198, 26,102, 92,180, 11, 67,  6,137, 16,128,153, 21,239, 35,192,104, 52,190,244,178, 51,222,245,183,124,242,
+166, 31,124,197,247,213, 77,243,159,127,238,231,255,234,175,110,250, 92, 23,100,140,145,188, 89, 64,192, 26,105,  1,  9, 17, 17,
+ 81,191, 15, 34,108,217,218,164,  5,173,136, 16, 17, 34,145,181,214, 90, 67,134,136, 68, 51, 58, 51,167, 40, 34,147,233,116,107,
+251,  4, 17, 34,226,207,252,204,171, 17,229,227, 31,255,196,251,222,247,222,183,188,229,255, 92,188,184,243, 89, 44,196,172, 96,
+ 13,  0,128, 16,145,200, 24, 99,140,  1,  0, 17,209,  4, 96,141,229,170,170,121, 36,210,  9, 51, 17, 25, 99,171,170,174,170,186,
+170, 42,107, 45, 25,131,  8,160,235, 98, 78,156,244, 19,167,152, 88,152,227,149, 87, 94,117,217,229, 87, 60,251,217,207,117,174,
+111, 23,243,119,189,235,157,191,246,235,191,121, 79,232,120,230,204,153,179, 55, 60,141, 89,  0,193, 24, 83,215,117, 93, 55,117,
+221,212,117,109,140, 85, 24, 25, 67, 96, 17, 64, 64,200,251, 41, 34,198, 24,173, 53,171,186,174,234,218, 26, 67, 68, 72,  4,136,
+198, 90,181, 28,145, 17,128,196, 28,130,119, 62,244,125,223,119,221,162, 93,204,231,179,217,236,112,125,186,246,132,199, 63,230,
+195, 31,249, 72,239,220,  0, 65, 45,  0, 76,215,214,  0,128,144,  8, 17,  9, 69, 68, 56,113,138,204,236,189,111,219, 69,140,145,
+144,136,140,  8, 35,128, 53, 22, 42,161,188, 93,214,218,138,136,128, 16,  0, 53,184,233, 46, 51,115,136,209, 57,215,247,109,223,
+247,222,251,224,189,178, 31,237, 98,190,152,207,218,197,162,239,219, 23,124,205, 87,191,237,237,239,248,216, 77, 31, 95,110, 89,
+101,140,128,  8, 51, 51, 67,  2, 64,202,158,144,146,158,190,224, 92,140,129,140, 53,198, 20,  7, 50, 85,149,109,  0, 32,194, 12,
+ 64,122, 50,244,117, 99, 76, 33,184,190,235,251,190,115,125,239,189,139, 49,166, 24, 67,240,125,175,150,106, 93,223,197, 24,172,
+173,191,228,233, 79, 59,178, 32,230,  4,  0, 72, 68, 96, 88,178, 47,233,255,136, 84, 55, 35, 50,198,185,222,117,109,183,232,140,
+ 49,182,174,173,181,154,135,131,119, 62, 32,  8,176, 40,125, 33,194,138, 95,180,164,  9, 33,134, 24, 66, 74, 73, 97, 87,240, 46,
+120, 31, 67,212, 99,164, 96,121, 60,153, 30, 61,101,182, 18, 97, 17, 72,249, 53, 21, 65,234, 27, 22, 22, 97,253,201,102,140,198,
+198, 16,218,174,227,180,208,221, 41,103,130,213,114,186,107,122,216,  0,209, 26,203,156,132,165, 44, 48,132, 24, 99,140,  2,130,
+ 68, 68,134,144,170,186, 30,141, 39,255,242,133,207,255,229, 95,249,141,188,160,148,152, 57,233,187,147,229,  3,132, 37, 50,167,
+ 24, 83,208,226, 40,120,231,250,190,115,174, 15, 62,196, 24, 82, 74, 25,141,145,177, 85,101,173, 53, 70,233, 55, 99,140, 49,214,
+ 90,107, 69,196, 67, 31, 98,200,182,139, 49,113,  2,  1,107, 43, 24,131,112, 50,100, 16,224,212,201, 75, 78,158, 56, 46, 34, 22,
+  0,156,235, 83, 74, 44,172, 39, 54, 27, 94, 18, 39, 78, 49,133, 24,188,115, 74, 70, 56,231, 92,223, 59,215, 43,250,212,130,196,
+144,181,181, 37, 34, 38, 84,228, 79,164,249,196,214,117,131,136,156, 18,162,227,225,145,152,133,  1,177,110, 70, 68,168,142,149,
+ 82,122,254, 87,127,213, 27,222,244,187, 74,170,244, 33,134, 24, 99,138, 41, 37,133,235, 49, 69, 13, 32, 41,197,168,251, 31, 66,
+136, 33,120,239, 83, 12,222,123,245, 52,107, 45, 24, 64, 45, 54,137,180, 18,179, 85, 85, 85,117,211, 52, 85, 85,167,164,165,139,
+ 48,171,129, 98,140,129, 83,  2, 69,185,130,128,164,181,224,104, 52,185,254,137,143,179,202,118, 43, 48,119,206,121,231,242,137,
+ 40,101,  4,231,248, 38,137, 83,118, 23,102, 68, 36, 18, 61,  9,134,168,170,171,186,105,148,164,210, 20, 91, 85,149, 49,150, 57,
+117,157, 15,193,199,168,160,222, 43,255, 67, 68, 32,210,133,150,  0,109, 93,143, 38,107, 49, 56, 99,109, 85, 55, 22,  0,218, 54,
+ 47,200, 43,140, 15, 33,165,164,150,  5, 61,201, 26, 21,202,187, 28,182, 85, 55,  8,137,172,173, 70,163,241,100, 58, 25,141,198,
+117, 93,147,181, 40, 16, 98,232,187,174,107, 23, 74, 60,245,125,223,183,173, 15, 94,152, 23,139, 89, 12, 97, 50,153, 54,107,235,
+227,241, 84,132, 29,  0, 32, 24, 99, 45,  0, 44,230,115, 31, 92,112, 33,  4, 23,124, 96, 73,154,205,136,  0,192, 20, 15,  7,100,
+  6,  0, 86, 82, 42,165,156,130, 17,203,154,114,132, 76, 41,121,221, 92, 37,222,186,174,107,219,118,177,104, 23, 11,239,221, 98,
+126,120,176,123,190,110, 38,219,167, 78,111,108,110,142, 39,107,198,152,224,157,158, 86, 50, 70, 23, 52, 11, 33,196, 24, 82,212,
+162,  5, 40,167, 85, 16, 97,  0, 13,153,172, 79, 80,250, 65, 52,213, 16, 35,162, 49, 38,198,216,247, 29, 11, 35, 18,136, 36,230,
+ 20, 67,240,190,119,174,239,218,174, 93,116,109,215,119,139,221, 11,231,186,118,118,233,153,135,156,124,192,165,211,181,181,186,
+174, 17, 49,135, 92, 17, 76, 41,159, 50,  1,208,163,139, 21,105,116, 65, 66,  4,212, 40,148, 82,  2,  9,217,155, 66,240,193,235,
+202,132, 25, 16,172,177,174,239,188,243,174,239,172,173,200, 16,  0,112, 98, 45,130,250,174,235,218,182,235, 22,174,109,119, 46,
+222, 49, 93, 63,246,200,107,159,180,181,189, 61, 26,141,137, 72,125, 60,  7,157,148,188,247, 49,  4, 91, 86, 64,  4, 25,129,136,
+  0, 48, 48,176,128, 32,128, 49,132,212, 24, 99,163, 49,198, 88,242, 85,140,158,147,  0,138, 46, 60,197,120,120,176,119,176,183,
+131,132,214, 86,198, 88, 17,137, 41,  4,239, 53, 70,244,237,108,118,176,251,248, 39, 63, 99,243,216, 86,211, 52,198, 88,102,214,
+ 60, 50,120,174,235,186,249,236,112,118,184,111, 17,241,131, 31,252, 75, 41, 81,241, 72,  5, 80,254, 90,162, 48,228,229,102,139,
+106,125,138,132, 74, 15, 33, 71, 62,156, 31,204, 14, 15,124,223, 49, 71,102,209, 51,127,217,153,171, 47,191,234,225,139,174, 59,
+ 56,156,241,234, 35,197,184,  2,222,163,247, 93,215,223,207,248, 70,173,205,238, 63,139, 57,123,246, 44,173,236,204,253,226,113,
+255,170, 92,239,143, 11,250,244,165,244,246,246,246,238,238,238,145, 67,  7,240,136, 71, 60,226,146,211,167,207, 92,113,197,177,
+173,173,118,209,222,121,231, 29, 55,223,124,243,135, 62,244,161,191,169,  5, 93,122,233,101, 47,255,238,239,126,204, 99, 31,167,
+205, 15,223,247,222,187,195,253, 29, 36,211,140,198,198, 86, 74,171, 34, 25, 45, 75,148, 12,214,240,120,120,176,255,147,175,122,
+213,123,223,251,222,251,128,111, 56,115,230,204, 98,177,248,157,183,252, 30, 32,106,208, 76,133, 82, 47,164,250,236,240,112,127,
+109,125,107, 60, 30,219, 92,238,216,130,194,  8,  0,137,128, 89,148, 44,191,241, 93,239,252,153, 87,255,199,191,214, 41,123,241,
+ 55,254,219,183,188,245,237, 72,182,236, 15, 34, 25, 34, 99,172,181, 85, 93, 53,205,100,109,125,235,248,  9,215, 47, 20, 31,102,
+ 40, 41,146, 25, 99, 84,186,220,214,117, 51,154, 76,159,244,228,167,188,230, 53,255,101,109,109,250,133, 59, 53,230, 26, 35,149,
+122, 26, 50,224,167, 12, 66,171,170,174, 71,227,245,141, 99,237,226, 48,122, 87, 16, 52, 43, 30,  1,  0,  4, 36, 67,214, 86, 77,
+ 61,154, 76, 38,163,209,248,199, 94,249,163,215, 95,247,132, 47,112, 65,137,147, 66,111,230, 56,  0,217,188, 82, 99,140,173,140,
+173, 42, 91, 85,117, 51,153,110,120,239,246, 46,222,157, 98, 84, 24,169,245, 46, 34, 16,146,181,182,174,171,209,104, 52, 26,141,
+ 16,225,171,190,242,121,223,242, 77, 47,254,130, 22,148, 83,110, 74, 81,193,160,112, 46,244,  9, 17,149,143,177, 85, 85,168,221,
+166, 30, 77,103,179,131,217,254, 94, 12, 94, 56, 41, 62, 65, 16,144,196,156, 88,152,136,172,177,193,247,151, 94,122,217,119,125,
+199, 75, 63,239,  5,  9, 75,102,131, 57,  9,107, 33,196, 90,121, 98,134,168,121,239,140, 49,138, 76,200, 84,104,108,215,245,179,
+195,195,131,189,221,253,221,157,221,157,243, 23, 47,156,223,219,219,109, 23, 11, 17, 24,141,167,205,104,226, 92,187,181,117,252,
+251,190,231,229,159,103, 96,204,229, 47,  2,162, 96,249,  2, 65,  0, 51,255,161,  5,148, 49, 90,183,107,197,166, 85, 62,145, 33,
+ 91,137, 64,140, 28, 98,116,125,239,189, 87, 33,201, 37,167, 47,219, 62,113, 42,133,112,252,248,246, 79,252,135, 87,126, 94, 78,
+189,124,104, 98,211,211, 70, 43, 88,141, 74,181,165,117,123, 41,  9,149,178, 33, 50,214, 86,149,181,149,181,149,177, 86, 15,232,
+104, 60,185,244,242, 43, 31,250,200,107,142,111,111,141,198,227,159,254,201,159,248, 92,  3, 35,106, 13,205, 32, 40,194,  2,  0,
+ 40,130,185,  3,166,121,151,181,189,144,201,141, 21,120, 68,132,100,140,181,134,200, 32,228, 42, 87, 31,144,  9, 36, 28,143,199,
+ 39, 79,157, 70,128, 55,188,254,127,253,217,159,189,255,173,111,123,235,251,222,247, 39,159,145, 99,  4, 96,102,  0, 24, 56, 43,
+132,188, 33, 72,136,  0,204, 40,162,149, 47, 17, 25, 67,164, 52,153,238,178, 89,122,152, 37, 66, 16, 72, 28, 83,140,194, 92, 58,
+195,  0,  0,  2, 50, 26,143,175,187,254,250,199, 63,225,  9,222,247,127,116,227, 31,190,250, 63,253,236,189,248,208,192,122,101,
+222,147,243, 98,136, 12, 41, 69,  3,197,149,140,181,150,172,213,165,228, 80,173,223,181,149, 86, 29,182,170,234,102, 52, 26, 79,
+ 70,147,105,211,140,171,122,100,108,133,100,  0, 48,177, 68,230, 24, 83,140,252,232,107,175,253,233,159,122,213,208,224, 58,178,
+ 32,214,170, 38,198, 82,106,233,155, 54,182,178,186, 25,186, 71, 89, 59, 67,198,154, 92,192,231,160,160, 95,150,239,144,209,239,
+ 85,182,170,108,221, 24,107,145,140,  8,164,196, 49,166,224,131,243,174,239, 93,239, 92,240,225,251,191,251, 59, 63,173,133,212,
+133,169,178,182,174,234,186, 30,105,123,210, 26,107,136, 10,109,148, 64,148, 98,163, 97, 53,136,164, 62,100, 52,181,149, 66, 14,
+ 53,168,146,209,143, 90,202,133, 24,115,203,170,119,202, 26, 57,239,122,231,254,205,215,127,221, 61, 23, 68,198,228, 66,124, 52,
+ 26,141, 71,117, 83, 91,107,141, 33,  4, 73, 41,250, 16,130,119, 41, 38,237,186,170,200,160, 80, 28,132,148,255, 66, 72, 80, 90,
+206,186,161, 90, 93,169, 39,100, 82, 32,132,140, 35,188,215,  0, 17, 66,104,154,250,234,171,174, 60,178, 32, 99, 76,211, 52, 77,
+211, 84, 85,101,140,201, 86, 73, 49, 70, 37, 62,122,231,186,224,251, 24, 99, 57, 62,128, 68,217,203,200,168,227,175,226, 96,205,
+188,154,238, 98,202,160, 33,248, 16,188, 47, 11,243,193,123,223,247,222,251,232,195, 63,253,178,103, 30, 57,101,132,104,140,  1,
+  4,  2, 20,145,148,162,158,106, 22, 73,234, 93, 62,176,176, 49, 76,198,104, 66, 69,  0,107,141, 26,  8,145,244, 16, 65, 38,143,
+ 69,233,119, 22, 86,244,162,146, 18,181, 77,212,  2,185, 44, 43,165,200,194,134,170,209,168,233,123, 87,  0,154, 54,220,  5, 88,
+162, 54,101, 17, 49, 87,105,  0,218,214,240,157, 75, 49, 26, 91, 17, 17, 39,214,115,103,200, 32, 96,161,203, 24, 16,181,190, 86,
+238, 45,134,208,187,190,239,123,175,236, 86,136,  3,163, 18,243, 35,113, 98,237, 99, 76, 38,147,149,  5,  9,  8, 39, 37,240,141,
+209,176,148,153, 57,  4, 52,182,106, 70,227,196,220, 45,230, 33,  6,107, 43, 34,131, 72,214, 90, 50,148, 77,  1,156, 35, 89,169,
+ 42, 83, 74,222,251,190,107,189,119,234, 43, 41, 51, 77, 49,198,200,156, 56, 67, 23,101,223,232,178, 75, 79,239,238,238, 13, 16,
+ 86, 16,128,140, 65, 36, 86,118, 65,223, 35,106,203,  3,200,216,166, 25,139, 72,223,181, 49,248,170,170, 81, 11,120,230,152, 34,
+ 36,  6,204, 76,121, 33,143, 88,237,160,219,148, 98, 92,109,229,106,180, 27,192, 58, 17, 25, 91, 61,236,161, 15,254,203, 15,126,
+184,164, 14, 68, 50, 54,159,139, 21,144,166,105, 68,191, 64,194,170,174,  1,145, 99,140, 49,184,190,143, 38,154,204,  9,131,128,
+164,196, 74, 30, 42,  5,200,137, 51,226, 22, 30,186, 76,137, 89, 41,175,196, 67, 18,215,188,103,175,190,250, 65, 43, 32, 31, 81,
+129,232,192,164,150, 38, 85, 73, 90,249, 59,  0,128, 44,144, 88, 98,140,226,131,158, 44, 17, 80,158, 85, 65,192,224, 84, 49, 50,
+ 25,131,  3, 53,192,138,114,152, 83,210,124, 98, 12,113,202, 45,140,186,174,143, 84, 29,153,103, 40, 60,115,225, 98,139, 62, 66,
+ 35, 99, 74, 81,207,171,115,193,251,236,147,169,172,148,200, 26, 83, 74, 17, 13,217, 57,116,139,176, 98,  4, 22,102, 73, 69, 69,
+167, 49, 63,229,240, 73,230, 81,143,124,216,  7, 63,252,177,220,192,211,182, 82,177,  4,103, 78, 70,  6, 83, 39,230, 20, 99,  8,
+ 49,122,231, 52,166,121,239, 57, 69,197,225,154,105,196, 90,229,227,  6, 24,103,141, 37, 99, 64, 36,132,144,125,128, 33,191, 87,
+ 68, 99, 44, 40,193,133,  0,  0, 79,125,242,245,121, 65,204,146, 18, 31,101,168,243, 35,163,219, 24,189,247,193,103, 98,184,239,
+123,165,172,149,108, 68, 34, 16,237,111,152, 21,214,  6,149, 89, 51,182,210,190,209,192,166,107,196,  7,  1, 21,147,114,138, 32,
+146, 82, 50,182, 94, 95,155,  0,128, 21,230, 24, 67,110,185,151,204,207,146,113,109, 82,217,136,243,222, 59,223, 59,215,187,224,
+189,243, 46,134,160, 71,157,136,176, 66, 17, 97, 16, 83, 66,182,230, 56,133, 74,204,  6, 17,151, 46, 89,220, 65,247,215, 90,203,
+204, 34,  9,137,158,251,229,207,188,229,206, 93,203,194, 26,178,138,161,180,209,149, 41,174,162,194,210, 20,228,135,147, 28, 99,
+150, 30, 13, 73,131, 32,227, 20, 50,134,180, 79, 99,140,177,150, 98,196, 28, 24,178, 31,232,185,203,128,203, 88,223, 45,180, 51,
+182,190,113, 92,238,216,177,204, 28, 98,224,152, 35,169,254, 97, 86, 18, 61,169, 26, 38,134, 48,172,174, 84,  1, 89,225,153,  1,
+157, 26, 38,183,171,169,112,231, 85,222, 44, 16, 89, 70, 42,173, 38,132,140,106, 67,162, 32,165,232,201,152,241,100,  2,  0,150,
+ 19,167,160,242, 24,237,103, 21, 58, 54, 37,133, 74,156,202,202,180, 90, 74, 92,200, 96, 64,212,142,172, 54, 23,173, 49, 70,235,
+202,170,174,117, 77, 26, 34,135,142, 66, 42, 17, 82,125, 57,197, 32,234,127,204,166,172,222, 50,167,  2, 14,156,235,157,247, 46,
+248,144, 56,234,207,107, 44, 80,167,202, 65, 54,  7, 37,212,192,159,219,161,214, 86, 85, 85,215,165, 31, 89, 55,214, 86,136, 24,
+ 57, 36, 77, 97, 37,124, 39,221,107,130,224, 61, 51, 91,107, 43, 91, 39, 83,105,114,  4,  0, 91,148,153, 81, 29, 37,120,239, 67,
+ 72, 49, 22, 11,203,145,188, 32,171,  4, 40,230,146,  9,209,100, 42,160,110, 70,163,186,170,109, 93, 17, 82,140,193,251, 16, 99,
+228,178,243, 49,196,148, 18, 34,  6,239, 98,  8,182,170, 84, 87,196,156, 56, 69, 44, 22,226, 12, 12, 66,254,156, 50,244, 73, 67,
+ 22, 81,212, 63,160, 29, 61, 95,  3, 65, 75,132,214,216,186,110,154,166,169,235,218,218,138,144, 18, 39,237,103,149, 22, 89, 12,
+193,171,188, 56,  4,223,119,173, 49,166, 25,141,181,135,156, 82, 26,104, 95,155,146,178,225,185, 31,166, 69,190, 38,124,133, 94,
+ 34,130, 40,200,165,101,158, 45, 36, 67,135, 53,215,183,214, 24, 99,145, 72, 68, 50,151,227,156,243,126, 16, 92,133, 16,152, 83,
+240,110,118,120,  0,  0,235,155, 91, 77, 51,170, 71, 35, 67,100,173, 85,  7,  0,  0, 27, 83,116,189,139,218, 20, 11, 62,198,164,
+  1, 99, 40, 98,151,198, 24,226, 55,103,228,176,164,216, 74,187, 58,165, 20, 33,113,140,170, 26,241,174,215,198,175,207, 94,225,
+ 15,246,118,156,235,182,142,159,154,174,173,141, 39,147,166,170, 19, 39, 99,109,249,141, 96, 83, 76, 42,188,211,230,104,233,117,
+ 80,201,147,229,207, 50, 86, 38,245,107, 68,100, 98,109, 22,105, 48,243,206, 41,184, 83,146, 94, 37, 98,125,175, 66, 49, 23,188,
+ 59,220,223,157, 29,238,108,109,159,222, 60,190,189,182,190, 49, 26,141,136, 12,  7, 33, 50,198,100, 80,101,181, 79, 50,116,199,
+ 16,134,194, 26,114,203, 53,183,119,243,217,103,142,154,250, 84,146,101,173,229,148, 98,136,222, 59,141,  8, 82, 50,177,243,174,
+215,102, 71,219, 58,215,207,103,135,123, 59,119,173,109,108,159, 56,117,201,198,230,214,120, 60,214, 85, 32,  2, 33,114, 41,226,
+109,241,  9, 64, 84,  1, 78, 46, 11,151,138,135, 35, 41, 95,137,161,164, 63,204,108, 17,209, 88,107,173,  3,  0, 99, 60,  2,106,
+244, 82, 31,234,186,182, 91, 44,250,190,237,218,197,254,206, 93,100,171,  7, 92,122,197,177,227,219,227,201,180,178, 86, 51,119,
+110,199,169,140, 16,192, 14, 71,151,180, 70,214, 62, 76, 78, 73,196, 76,  9,163,  4, 73,197,129, 52,195,165,196, 32, 66, 38,164,
+ 20, 53, 76,166, 20,201, 24, 66,146,188,101,190,239,251,174, 93,104,127,126,126,176,215,117,237,213, 15,189,230,248,137,147,147,
+233,180,178, 21,  8,164,172,239,200, 13, 56, 31, 66,  6,249,170, 35,129, 34,219,128,225,136,231, 90,215,136,  8,179, 73,108, 12,
+153,132, 49, 21, 24,174,209, 69,157,171,106,234,202, 86,170,126,208, 45,235,250,206,117,109,223,119,125,183, 56, 60,216, 57,243,
+192,135, 61,224,244,165,107,235, 27,117, 93,131,150, 52, 25,178,197, 16,131,247,174,107, 23, 75, 90, 24,  1, 17,144,145, 17,115,
+155,172,236, 35,  0,160, 49,  6,170, 90,  9, 24, 36,178, 85, 37, 44, 74, 23,  1,115, 74,177,239, 23,125,223, 26, 50,166,170,180,
+ 13,173,199,182,239,123,239,186,249,225,206,201, 75, 46,191,234, 33, 15, 31,143,199, 85, 93,  3, 64,226, 33, 41,  5, 31,130, 10,
+168,103,  7,251, 10, 63, 36, 21, 31, 17,144, 82, 97, 73,105, 39,150,115, 77,104, 43,171, 29, 49, 53, 42,101,225, 23,  2,131,247,
+110, 54, 59, 56,216,219,139,135, 94,247, 63,113, 74, 49,184,190, 95, 44,246,215, 55,182,159,240,164, 27,170,202,234, 11,199,  2,
+245, 99,140, 33, 68,239, 92,223,182,237, 98,214,181, 51,  0,176, 23, 46,156,207,253, 94,144, 21,234,126, 72,228,234,188,146,139,
+ 28,197,252,152,217, 53, 85, 16, 81,169, 21, 19,154,206,167,197,252, 48,134,144,253, 45,198,181,141,173,173, 83,151,223,114,203,
+ 45, 49,134,196, 67,103,187, 28,145,210,123, 15,222,135,208,  3,  0,158, 61,123,118,111,111,111,127,127,255,254,214, 22,250,187,
+125,136,200,177, 99,199,182,182,182, 44,  0, 28, 28, 28,220,118,219,109,255, 96,148, 79, 21,121,110,109,109,209, 63, 24,226,239,
+ 89, 59,241, 31, 12,244,247,236, 97, 63,243, 63,175,175,175, 63,235, 89,207,122,250, 51,158,113,213, 85, 87,  3, 64, 74, 81,117,
+ 87,179,217,225,141, 55,190,235,246,219,110,159, 76,166,211,181,233,100, 50, 61,182,117,236,138, 43,174,184,228,  1,151,104,230,
+204,194, 22, 44,176,118, 41, 96, 93, 21,111,228,130,237,163, 31,249,200,  7, 62,240,129,247,188,231,221,159,252,228,205,247,187,
+ 72,116,246,236,217,155,111,190,249,214, 91,111,213,175,175,189,246,218,175,126,254,243,175,121,212, 23,157, 60,121,138, 65,184,
+112,111,165, 24,207,244,151,214, 89,202,131,247,237,162,109, 23,  0, 88,143,198, 90, 28,170, 34,150, 10, 81,164, 31,112,137, 67,
+ 75,139, 73,217,100,  0, 21,  5,101,118,131, 83, 12,225,174,115,231, 62,252,161, 15,189,249,205,111,250,248, 39, 62,249,119,101,
+154, 51,103,206, 60,240,129, 15,196,167, 62,245,169,125,223,127,201,151, 60,243, 57,207,123,158, 53, 54, 49, 67,233, 53,175,176,
+123,188,252,192,204, 25,231, 13,136, 95,165,110,174,107,231, 41,166,170, 25, 53,205,200,168,153,136,140, 49, 75, 57, 79,  1, 43,
+128,218,130,200,237,117, 37, 80,  6,222,175, 84,184,222,123, 31, 92,191,179,115,241,151,126,233,151,222,255,231, 31,208, 66,242,
+111,217, 64,230,204,153, 51,207,121,238,243,190,252, 57,207, 85, 46, 83,123, 36,247, 16, 47,101, 49,152, 34,254, 92,200,230,247,
+ 89, 88, 15,237, 70,143,170,186, 65,144,174,155,171, 10, 76,189,100,224,210, 20,232, 13,198, 40, 47,137, 74,130,228,151,194, 50,
+122, 64,  6, 13, 34, 98, 85,213,215, 62,230,218, 47,123,230,151, 62,229,201, 79,250,232, 71, 63, 54,155,205,254,118, 12,180,185,
+185,121,236,216,177, 76,190,198,152,  6, 38,175, 88,103,104, 93, 12, 90,228,242,134,200, 16,138, 16,129,182,235,  9, 85, 36,152,
+155,233,182,170,234, 38,165,212,181,115,230, 84,213,245,116,186,142, 68, 34, 68, 66, 68,152,152,181,161,204, 12,218,109, 43,234,
+246, 82, 42,  3, 26, 35,198, 26, 74,198,144, 33,212,174,105,154,174,175,127,199,203, 94, 26, 66,124,247,187,223,253,250,223,126,
+211,223, 94,144,142,105, 41,248, 95,129,146,131,243,148,230, 14, 34,136, 82, 11,  0,  8, 42,245, 96,212,  6, 21, 35, 25, 50,145,
+ 19,165,220,  4,101, 99,173, 30,201,217,108,198,209,219,186,110,234, 81,221, 52,100, 12,162,100, 78, 86,  8,  0, 76,254, 80,218,
+241,  8,144,187,207, 34,201,198, 44,102,175,172,247,189,239, 57,197,235,174,123,226,245,215, 95,247,209,143,125,236,183, 94,247,
+250,217,108,254, 55,110, 32,109,210,137,114, 79,159, 90,112,148,254,253, 10, 91, 38,160,155, 45,  2,153, 26, 68, 68,196,132, 58,
+ 60,  0, 49,  1, 68,201,209, 23, 44, 17,216, 10, 64, 66,140, 33,  6, 16, 64,132, 60,214, 57, 30,  3,  8, 33,  8, 11,131, 65,137,
+ 26,247, 84,215, 60,208,109,  0,168,172, 92, 12, 65, 21,211,198, 86, 15,121,208,131,191,255,123,191,231,240, 96,255,213, 63,251,
+115,159, 58,231,122, 95, 26, 40, 11,129,177,136,214,239,241, 20,150, 35,186, 74,214, 25,138,161,138, 37, 16, 33,206,179, 40,128,
+  0,105,  8,183,192, 40,  8, 56,180, 16, 16, 68, 15,151, 38,180,200,146, 22, 29, 32, 18,102, 58,  1,135,118,228,209,178,  8,  0,
+172,181,227,201,180,110,154,201,100, 58, 59,220,219,223,219,177, 85, 13,136,235,155,199,126,232,  7, 94,209,117,221,207,191,230,
+181,183,220,122,219,223,136,129, 72, 57, 15,193, 79,173,216,238, 97,175, 44, 53, 85,189, 67,142,183,152,197, 33, 34,196,  0,  4,
+144,103,138,  4,137,129,151, 63,174,157, 79,196, 28,241,139,148, 36, 39,123,202,253,173,204, 14,229,201,  2, 25, 98, 57, 26, 91,
+ 25, 11, 32,245,120, 60,217, 56,182,117,250,242, 43,251,174, 61, 60,216,243,206,167,148,166,107,107, 47,123,217,191,115,125,255,
+171,191,250, 63,222,255,129,191,184,175,129,226, 74,147, 66,253, 95, 35,142,  8,136, 50,108,156, 89, 87, 80, 65, 71,126, 59, 56,
+ 84,117,250,166,152,  0, 69,136,200, 48,137, 33, 98, 98,212,159,102, 89,118,185,192, 24, 88, 38, 49, 34, 67,102, 41,199, 41,155,
+146,219, 99,153,209,144,149,  3,190, 52,217,120, 60, 57,190,125,178,124, 67,152,147,115,238,219, 94,250,109,139,249,226,191,254,
+183, 95,252,240, 71, 62,146, 82,244, 62,220,  7,  6,194, 97,103, 97,233,225,185,137,200, 75, 82, 72,178, 88, 97,  9,143,151,241,
+  9,  0,  8,136, 81,136, 72,128, 13,145, 16, 25, 67,194,204,132,200,  2,160,179,  4, 43, 71, 83, 27,141,  6,179,204,197,100,253,
+  8, 29,225,126,178, 55,149,126, 70,201, 29,178, 66, 18,229,173, 50,214,214, 77,179,190,190,113,226,132,252,200,191,255, 97,145,
+ 60,242,210,247,125,187,152,125,232, 67, 31,121,221,235, 94,247,201,155,111,249,130,130,116,118,235, 12, 17, 21,  8,221, 99,199,
+178, 70,136,142, 40,176,  6, 83, 50, 75,142, 85,152,117,231, 66,198, 24,129,  1, 58,164, 40, 72,176, 66, 50, 99,193, 80,218, 72,
+ 83, 87,162, 34, 10, 66,194, 37,181, 57,116, 55,153, 11, 22, 57,  2,215,242, 27,208, 79,  8,128,229,  7,  0,  5,176,170,155,117,
+ 99,159,240,196, 39, 62,250,218,199,112,138, 23, 47, 94,120,243,155,222,252,142,119,221,248,121,101, 49, 73, 41,102, 18,143,143,
+ 56,180, 34,223, 44,172,164,172,121, 93,201,198,195,234,147, 18,123, 74, 62, 34, 24, 18, 81,182,214,  8,136, 64,  4,200,251,191,
+ 34,171,203,253, 61, 99,138,149, 76,  1,220,116,100,  7,192, 12, 43, 82,254,117,104,142, 75, 33,241,185,232, 58,203,188,214, 17,
+158,112, 24,213,138, 33, 52,205,248,217, 95,241,236, 47,123,230,151,190,235,198,119,253,222,219,254, 96,181,111,244, 25,178,216,
+160, 51,205,138, 51, 69, 36,131, 69, 86,172, 99, 86,189, 71, 68,152,137, 57, 14,203,  5, 17, 85,106, 32, 17, 10,152, 18,111,  0,
+ 65,123, 92,197,121,178,132, 76, 49,115, 54,147,106,158, 74,219,166,156,158,252,155,176,104,163,  0, 69, 16, 36, 49, 18,229,129,
+ 60,157, 55, 21, 29, 41,205, 13,226,124,145,193, 82, 98,162, 74,156,224,189, 15,206, 57,239, 31,251,216,199, 94,243,168,127,244,
+214,183,189,253,207,255,226,131,159, 53,139,105,188,144, 65, 81,153, 21, 92,  5,252, 15,140,239,112,242,  7,159, 31,122, 29,131,
+ 26,163,104, 50, 96,217,157, 48, 68, 66, 96, 44, 64, 28,124,112,120,104, 85, 65, 88, 36, 16,195, 32,102, 22, 30,107, 67,144,134,
+  6, 51,228,127, 34, 80,145, 12,  0, 51,228, 85,164,196,203, 78,117,212, 38, 84,204,189,244, 16, 66,136,222,133,220, 10,116,222,
+249, 24,195,211,110, 56,245,  9,220, 77,  0,  0, 11, 30, 73, 68, 65, 84,123,249,101,151,254,239,183,188,245, 51, 25,104,144,126,
+ 44,235,237,124,136,224,136,183,228,  8,174, 18, 73,157, 12, 74, 49,250, 16,  3,199, 50,144,178, 60,122,178,  2, 18,242, 16,141,
+ 30,150,226, 65,104,244,152,169, 16,145,150, 98, 68, 88,245, 29,  0, 68,100,102, 66, 82,128, 90, 52, 40, 42,173,225, 84,222,127,
+204,122,229, 60, 14, 55,232,129,226,224, 62,249, 62, 21,175, 50, 47,253, 41, 17,185,250,234,171,190,225, 95,189,240, 23,126,241,
+ 87,238,221,131,140,169,235, 58,147, 53,184, 90, 69,230, 33, 50, 97, 30, 36,101,203,246,127,226, 48,236, 76,  8,138, 53,245,160,
+232, 17,201,157, 17,109,125,194,178,217,165,  5, 41, 46,133, 51,165,186, 32,194,101,117,188,138, 78, 65,139, 28,144,101,192,206,
+ 94,146,155,201, 62,132,168,237,246,200, 75,133,212, 74,252, 89,106,  1,189,119,106, 44,157,248,210, 66,115,212,140,158,113,195,
+ 83,223,254,206, 63,188,151, 52,159,243, 60, 74,102,103,150,104,141,203,157, 70,136, 88, 90, 49, 32,144,163,226,176,120, 17, 86,
+221, 71,140, 88,238,177,161, 85,217, 82, 25,142, 71, 90,234, 29,169,112, 68,148,249,  2,102, 25, 78,214, 17,128,177, 68,212,131,
+ 50, 35,150,160,171, 31,139,194, 34, 14, 82, 89, 53, 80,121,166, 14,157,170, 93,130, 78, 99,114, 74, 80,  2, 62,146,121,224,149,
+103,214,215,166,179,249,226, 94, 24,197,172,123, 27,252, 87,241, 50, 18, 82, 25,255,  7, 36,200,170,187, 98, 25, 21,119,100, 40,
+141,222,  7, 31, 67, 16,241,136, 67,182, 38, 56, 10,239, 12, 13,234,221, 50,127, 36, 44,140, 64,200,130,171,149,224, 61,230, 89,
+178, 10,122, 41,132,137,131, 74,103,144,199,172,204,191,103,170,111,152, 54, 45,151,207,168,  6,143,243,200, 39,171, 59, 35,145,
+153,174,173, 77,167,247,102, 32, 17,144, 36, 34, 40, 42,133,211,171,  6, 64, 20, 35,  3, 22, 75,231,231,114, 81, 89,  8,104,232,
+168,180,117, 77,182,138,198,135,160,194,  3, 30,244, 40, 69,144,187, 18,151,145,164,104,202,114,179, 59, 21, 96,161,246, 63, 90,
+229,228,115, 61, 88, 34, 79, 68,198, 65, 86,147,231,129, 53,199,171, 19,229,231, 71,181,137, 42, 68, 56,159, 10, 30,164,199, 26,
+ 15,141,177, 85, 93, 63,252, 33, 15,190,235,238,243,247,226, 65, 56,  4,229, 12,173,139,118,  1, 69,150,184, 49,139,178,116,108,
+114,229, 13,168, 30, 89, 59,235,100,141,173, 26,221,188,124,151,  3, 51, 35,146,112,201, 95,  9,137, 16, 48, 18, 13, 82,145,  1,
+112, 14,133, 24, 15,194, 27,201, 35,180, 71,252,169, 96, 31, 30,230,202, 83,254, 78,226,172,  6, 27, 98, 16, 23,139, 97, 62, 24,
+ 88,196, 86, 58,162, 98,201,218,186,170,191,232,209,215,188,243,143,222,253,105, 99, 16,145, 49,229,246,138, 35,194,201,229, 36,
+  2, 44,205,164,243, 38,165, 52, 41,231,146,  7,108, 73,198, 34, 38, 84, 13,113,105,122,115,140, 73, 35,220,192,191, 14,226,234,
+ 12,228,117,144,  5, 84,180,207,203,209,245,101,249, 42,172,146,143, 66,223, 14,250,190,162,223, 20, 62, 34, 32,211,255,211, 32,
+113, 82, 28, 75, 68, 74,243, 33,149,201,  1, 99,172,181,235, 27,155, 95,252,164, 39,252,241,123,254,239,167, 22,171,144,147,206,
+106,173,152, 83, 70, 97,168,139,156,110, 69,162,179,180,223, 48,163, 52, 92, 60, 80, 70, 11,138,148, 46, 49, 75,145,133,173,156,
+160,165,224,247,104, 19,158, 74, 93,  2, 71, 50, 89,230, 84,150, 40,146, 72,146, 32,162, 14,122,220, 99, 61,131,246,106, 73,  5,
+ 18, 33, 27, 50,108,152, 25,120, 25, 14,141, 33, 67, 22,235,199, 92,251,152, 15,125,248,163,251,  7,179,123,196, 32, 24,232,249,
+ 21,239,  1, 88,157,255,205,145,249,136, 52, 23,  4,100, 69,240, 59,196,197,101,126, 85,190,171,200,183,211,114, 51, 87, 75,124,
+ 37, 39, 53, 22,153,  1,179, 47,241, 42,226,138,  6,145, 86,113, 44,  2, 48, 97, 74,  9,  4, 24,121, 69,161,121,180,250, 24, 20,
+196,160,196,142,  1, 11,200,  9, 10,250, 24,118,101, 60,158,124,241,147,174,251,189,183,189, 35,150,  6,129, 29,100,224,217, 95,
+150, 27, 42,131,251,172,  6,205,165,119, 21, 53,211, 16, 41,  7,116, 63,148, 62, 25,227,167, 24, 67, 28,124,138, 75, 35,169,  8,
+159,242, 12,188, 33,202,204,181, 49,  8, 96,136,132, 69, 59,155,  5,158,229,145,163,172, 94,213,113, 36, 22,196, 24,152,145,115,
+ 49, 88,234, 86,190, 71,140,  0,206,232, 94, 85,149, 69, 74, 15, 84,196,250, 42, 32,123,224,149, 87,254,179,103, 61,253,141,191,
+243,182,149, 90,172, 44,125, 85,243, 34, 71,173,181, 44, 23,243,129,  7, 21,123, 22, 88,146, 82,138,249, 50,135,108, 30,253, 52,
+ 12,  0,100, 39, 90,221, 79, 89,  2, 72, 67,  0,156,161, 18,138, 72, 30,195, 66, 65,201,244, 37,194,114,183,243,156,164, 49,198,
+152,148, 18,128,176,177,204,156, 48,201,234,226,151,199, 77, 68,152, 81,111,247,160,108, 72, 91,233,116,138,102, 36,221,101, 97,
+ 70, 50,151, 95,126,197, 23, 95,247,216, 79,220,122,215,210, 64, 49,134,162, 17, 26, 26, 62, 75, 15, 26,226, 17,172,254,190,156,
+ 49,242,117, 20,249,  0,149,218,112,152,135, 72,197,100,171,231, 43, 19,176,195,123,206,193, 87,131,157,  2,  9, 42,121,  6,134,
+225, 39, 42, 77, 33,213,234,235,200, 95, 46,211,150,168,234,232, 99,165,184,215, 77, 97,  0, 18, 20, 68,202,243,131, 54,165, 16,
+ 99, 64, 64, 13,147,198, 16,218,209, 35, 30,241,136,206,151, 43, 16, 84,204, 52, 84,244, 57,176, 45,243, 70, 78, 91,171, 92,194,
+ 81, 74, 33,195,179,114,131,202,112,218, 18, 39,133,254, 69,127,155, 15,114,  9, 61, 58,210,119,164,127,130,121,116,109,217,133,
+ 53,134, 72,203, 54,181,205,112,171,138, 14,250,112,140, 90,168,136,172,132,207, 37, 15, 50,164, 52,205,188,  2,128, 76, 72,168,
+243, 20,138,243, 76,138, 33,166,160, 44,148,206,203,174,173,111, 92,117,229,153,243, 59,251, 43,  6, 82, 15, 75,137,143,124, 74,
+ 57, 66, 41,242, 26,112,202, 17, 71, 42, 86, 43, 10,203, 21,217, 22,175, 56, 38, 15,105,123, 57, 66,133, 75, 18,174, 12,208,101,
+230,204, 26, 75,102,153,101,140,177, 38,203,178,243, 95, 84, 86, 11,136, 82, 54,118,233, 55,194, 43,123, 21,143, 94,143, 66, 68,
+148, 71,166, 98,130,162,163,101, 22,192,164,113,205, 88,  2,168,117,164, 97,121,196,242, 53, 82, 41,199,163,124,191,197,224, 11,
+  5,140, 29,241, 93, 37,153,143,246,169,151,190, 87, 28,173,108, 44,172,180, 84, 33, 51,148,184,202, 57, 13,252, 98,246, 17,253,
+156,207,148, 49,100,109,238,187, 26,210,246, 64, 76,161,228,202,196, 50,236, 75,202,240, 71, 49,162,170,115,  7, 69, 40,128,190,
+ 67, 40, 11, 82,250,174,170,154, 20,  2, 14, 83,169,150, 12, 45, 13,148,197,183,131, 12,125,232,184, 39,189, 79, 39, 67,174,229,
+ 81, 91,210,156, 75,175, 88,189,150, 72, 68,247,  8,100,213,247, 75,105,139, 90,144, 22,122,103,184,118, 71,135, 97,135,249, 74,
+ 53,146, 53,165,199,175,230, 83, 44, 44, 34, 90,113,168, 22, 94,195,224, 50,129, 22,138, 44,133,229, 13, 72,122,251, 87,214,237,
+231, 81, 75,139,198,234, 30,136, 73, 30, 80, 36,225, 64,153, 27,  3,229,246,165, 84,110,203,225, 52,220, 44, 84,174,128,185, 71,
+246, 89,118,168,203, 68, 23, 46, 11,220,149,192, 94,  0,225, 74,220, 95,161,211,112, 41, 77, 26,244,208,122,160,244,186,180,170,
+170,213, 80,198,216, 66, 60,230,218,127,224,233, 66, 25,104,204, 53,125,222,204,200, 49, 19, 28, 41,  6, 61, 95, 74, 69,132,224,
+ 83, 12, 41, 49, 32, 88, 91, 25, 83, 83,249,117,100,140, 36, 18,128, 20,113,133,120,160, 35,  6,138, 49,106,161,183,164,157, 98,
+138, 41,202, 50,184, 14,239, 29,202, 16,100,190,136, 77,212,227,181, 75,168,168,124, 25,125,151,232, 22, 80,111,154,  1,  4, 20,
+100,  0, 83,176,141,100,199,206,215, 55,229,137, 15,141,196,122,250, 52, 25, 47,213, 55,229,126,134,124,  7, 87,  8, 41,198, 20,
+226, 48,127, 25,243, 52,  6,139,128,222,242, 18,188, 23, 97, 50,182,105, 26,189, 93,162,214, 41, 80,107, 65, 32,  1,152,178,133,
+  3, 34, 93, 26,200, 59,183,228,  3,202, 17, 27, 38,145, 87, 83,207, 48,131,144,235,126, 45,175,180,161,160, 99, 37, 74,183, 74,
+ 26,132,188, 67, 60,  2, 94,246,111,213,172,165,106, 88,225,122,151,244,107,102,221,  6,228,180, 82,207, 15, 15, 29,199,241,195,
+200, 67,182, 78,  8,153,110,140,209,247,125,223, 45, 98,244,128,212, 52,227,166, 25, 53,163,241,104, 52,174,234,166,174, 43, 99,
+173,142,183,169,227, 16,161,210,248,  3,124,207,  6,114,206,197, 20, 37,199,231,161, 44, 24,178,227, 10,135,190,236, 89, 97,161,
+137,135,194, 62,159,180,149,129,175, 85, 24, 82, 26,249,185, 65, 68,218, 35, 18, 50, 71,  9, 32, 97,144,196, 12, 41, 13, 24,117,
+249, 58,  3,130, 24,168, 84,101,134,188,143,101,112, 43,198,200, 41, 15, 73,170,254, 90,152,235,209,116, 58, 93,159, 76,215, 71,
+227,113, 51, 26,213, 85, 99,171,202, 24, 67,136,  2,144,146,234,233,213, 46,156,119,118,105, 32,253,  5,105,200,244, 60,160,228,
+130,102,  5,100, 40, 32, 11,131, 36, 67,138, 84, 74, 86, 86,240,125, 62,149,204, 75,116, 53,156, 81, 69,178,133, 94, 69,164,196,
+ 76, 67, 11, 32,196,168, 48, 61,175, 88,175,158, 40,175, 81,118,176, 16, 66, 33,150,251,155, 66,240, 62,134, 16, 83, 72, 49,122,
+231,250,110, 62,159,237,251,174,165,170, 90,223,216,222,216,216, 26,175,173,143,199,227,186,174,171,186,214,144,143, 68,106,245,
+ 44,117,  2,224,210, 32, 24, 26,223, 67, 45, 22, 89,  3,141,  6,226,101, 91,  2,151,109,134,229,165,143, 80,176,217,167, 99, 36,
+ 82, 90,169,210, 50,222, 94,233,183,  9, 43, 15,143, 68,194, 75,223, 46,  0,128,153,217, 86, 75,100, 60,140,121,103, 98,168,196,
+160, 50,101,149,133,241,193,151, 97,187, 16, 92,223,182,179,118,182, 31, 99, 24, 79, 55,143,109,159,218,216,220,154, 78,167,205,
+104, 92,110,  2, 49,122,164,121, 37,110,148,179,190,236,216,100,209,196,  0, 98, 17, 81,115, 18, 34, 17, 49,144,145,225,135, 16,
+148, 99, 94, 17,202, 13,119,194,  9,179, 16, 49, 51,174,228,124, 89, 14, 25,175, 16, 95,185,200, 24,230, 49,200, 24,162,104, 99,
+ 21, 35,167, 84, 37, 78, 41, 89,107,131,241, 67,147, 99,160,199,164, 76, 69,106,  8,136,229,254, 70,141, 56,106, 25,157,200,232,
+ 22,  7,109, 59, 35,164,173, 19,167,143,109, 63, 96, 99, 99,115, 60,153, 52, 77, 99,109,165, 45, 92,132, 50,179, 90,198,169,138,
+203,200, 64, 75,100,210,186, 24,168,176,137,132, 36,134, 33, 81,185,183, 87, 64,168,152, 38,151, 60, 26, 20,244,198,  4, 34, 22,
+ 33, 22,102, 70,100,198, 36,  0, 38,243,219, 56, 68,217,193,159,148,  9,206, 45,110,  4, 42, 32,205, 91, 91,249,186,170,245, 70,
+ 16, 91,146,186, 89, 42, 42, 86, 39, 41,211,112,163, 97,177,139,146,246,222, 59,223,119,139,  3,215,187,201,218,250,169, 75,174,
+216, 60,118,124, 50, 93, 27,141,199,117, 93,107,153,162,164,214,128,239,115, 28, 72,203, 38, 44,151,121,221, 16,124,136, 97, 73,
+152,105,204, 20, 32, 29,188,213,168, 44, 32, 36,164, 54,210,217,199,124, 82,150,146,129,124, 75,109,230,247,133,136, 40,165, 92,
+  6,198, 24,149,251, 99, 98, 76,148, 48, 25, 49, 60, 48,219, 43, 60, 65,202, 87, 38, 59, 85,124, 82,233, 71,107, 17, 34, 75,118,
+142,121, 21,128, 68, 29, 34, 85, 12, 20, 92,183,104,219, 25,139, 92,118,229,131, 78, 93,114,217,120,178,214, 52, 77, 93,213,166,
+178,164,251,170,231,119,217,240,224,161,121,198, 37,232,231, 81,123,239,189,235,156,235,151,132,153, 20, 37,226,192,  9, 65,209,
+ 73,161,138,  1, 80,128, 65, 86,254, 91,153, 60, 28,116, 67, 48,116,171,133,133,140, 45,248, 91, 61, 89, 27, 75, 43,116,215,242,
+  4,  9,115,241,138,224, 67,231, 18, 39, 16, 89, 17, 16, 33, 64,185,126, 60,147,  7, 49,166,200, 57,215, 59,215, 45,124,112,199,
+183, 79, 63,232,161,143,220, 60,190, 61, 92,132, 91,186, 50,122, 85, 20,175, 28,121, 53, 76,204, 29,128,252, 58,222,  7, 31,156,
+243,174,119,125, 27, 92, 55,  4,233, 50,147, 92, 56,141,123,232, 21, 63,117, 22,102,184, 64,117,192,204, 71,199, 64,  8,141, 32,
+161,  8,193, 82,  1,186,172, 42,238, 65, 12,210,138, 80, 68,209,139,235,251,182,157, 47,230,179,190, 91,  4,239, 56, 95,  6,149,
+117,178, 44,185,169, 28,163,143,209, 35,226,246, 37,151, 95,245,160,135,159, 60,117,106, 60,158,232, 96,232,145, 98, 16, 64, 86,
+ 11,232,114,185,128,246, 20, 53,148,101,148,160, 87,106,120, 31,130,215,198, 28,158, 61,123,118, 64, 40,127, 71,115, 71,159,126,
+210,230,190,121,161,191,222,203, 34,226,255,  7,169,229,123,123, 99,138,172,155,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
+  0};
+
diff --git a/source/blender/editors/datafiles/crease.png.c b/source/blender/editors/datafiles/crease.png.c
new file mode 100644 (file)
index 0000000..f785c00
--- /dev/null
@@ -0,0 +1,276 @@
+/* DataToC output of file <crease_png> */
+
+int datatoc_crease_png_size= 8638;
+char datatoc_crease_png[]= {
+137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  0, 96,  0,  0,  0, 96,  8,  2,  0,  0,  1, 26,
+253,208,249,  0,  0,  0,  4,103, 65, 77, 65,  0,  0,177,143, 11,252, 97,  5,  0,  0,  0,  6, 98, 75, 71, 68,  0,  0,  0,  0,  0,
+  0,249, 67,187,127,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 13,215,  0,  0, 13,215,  1, 66, 40,155,120,  0,  0,  0,  7,116, 73,
+ 77, 69,  7,218,  7, 19,  0, 34, 11,191,157, 46, 32,  0,  0, 32,  0, 73, 68, 65, 84,120,218,237,124,123,176, 94, 85,149,231, 90,
+251,156,239,251,238, 35,  9,185,201, 21, 18,146, 92,  8,175, 16,222, 33,128, 17, 67,  2,  9,208, 64,112,108, 64, 64, 48, 60,180,
+  7, 31,211,182, 53,229,148, 35,106, 73,183,218,218,227,163,160,171,213,174,153,170,238, 46,103,108, 25,176,117,236,154,106,219,
+105,167,102, 70,171,193,215, 48, 83,128, 53, 37, 53, 22, 56, 13,140,216,218, 36,185, 55,247,251,206, 57,123,239,181,214,252,177,
+246,222,103,159,239, 94,148,240,176,113,202,  3,185,207,239,158,111,159,181,215,227,183,126,107,173,141,187,118,237,130, 95,120,
+ 61,159, 23,149,204,252,192,183,190, 35, 34, 76,236,201,143,134,195, 67,  7,159,189,229,150, 91,242, 23, 25,  0, 64, 44,136,197,
+ 58, 91, 85, 85, 85,141,172,117,159,250,196,199,199, 95,228,188,179, 77, 83, 85,117, 85,141,154,198, 90,107,157,247,239,122,199,
+ 29,221, 23, 57,103,109,227,156,245,206,123,239, 70,195,197,127,248,135,159,253,147, 55,220,244,149,175,124,229, 51,127,116,119,
+124,145,109,156,115,222,123, 34,242,206,253,253, 79,126,124,253, 77,183,162, 41,122,253,193,204,218,117,127,120,247, 39, 13,  0,
+120,231,136,  8, 68,136,104,126,254,208, 13,111,186,157,153,  1, 13, 11,120, 34, 98, 49,  0,224,137,152,200, 57,119,232,192,179,
+175,190,240, 34,242,158,136,132,217, 57,231,172,117,206,151,  0, 80, 87,213,225,133,133,133,133,249,157,187, 46, 70, 99,156,243,
+222,251,166,105,154,186,174,170,202, 90, 87,  2, 64,175,223, 91,191, 97,195,153,231,108, 19,  0,219, 52, 68,100,235,166,170,134,
+163,225,176,174,107,231,108,  9,  0,211,211, 43,  7, 19, 19,214, 90, 34, 34, 34,103,109, 93,143, 22, 15, 47,142, 70,195,166,169,
+157,181,248,188,246,238,249, 92,248,237,239,124,151,152,137, 89, 88,154,166, 89,152, 63,244,236,207,254,254,237,239,248,103,221,
+109, 49,165,  0,122, 79, 85, 85, 87,163, 81,211, 52,206,211,239,125,240,  3, 29, 45, 32, 34,103, 93, 83,215,182,105,170,186,178,
+141,245,222, 75,247,237,140,179,182,105, 26,235,156,117,142, 60, 89,219,204, 31, 58,184,247,242, 43,255,250,107,255,233, 11,127,
+254,121,125, 81,113,243,155,246, 91,107,189,183,222, 59,239,220,252,161,131,151, 93,177,143, 89,156,119, 34,112,233,222, 61, 43,
+ 38,251,198,121, 71,228,137,136,153,155,198,254,248,233, 39, 89, 68,  0, 16, 13, 51, 51,241,214,211, 78, 55,204,172, 50,172, 70,
+213,211, 79,254,159, 27,111,121,139,119,164, 63,180,214, 54,214, 18,113,217,212,245,226,225,133,133,133,133,209,112,120,245, 53,
+215,121,231,136,188,181,182,174,171,186,170,109,211,120,239, 75, 99,204,202,149,171,230,142,223, 60, 61,189,162,169, 27,242,228,
+188,171, 70,195,209,112, 52, 26, 13, 27,219, 56,231,202,193,196, 68,175,215, 47,138,178,170, 42,239, 61,145,111,234,122, 56, 92,
+ 92, 92, 92,172,235,218, 54,214, 57,  7, 47,213,222,149,249, 55,123,246,236,121,239,123,239, 28, 12, 38,  4,132,153,137,188,115,
+206,217,230,221,239,126,247, 19, 79,252,232, 23,219,239,183,190,243, 16,  8, 51, 48, 19,176, 48, 51,  9,139,243,236, 61, 57,235,
+235,218,126,240,174,223,173,134,195,225,226,194,251, 62,240, 65,239,253,115,175,  8,129, 89,136,216, 19, 17,121,239, 61,121, 79,
+222, 91,103,189,247,174,177,206, 58, 34,  2, 52, 31,252,192,251,230, 15,252,244,238, 79,255,155,165, 55,138, 38,238, 92, 99,173,
+109,154,166,174,109, 93, 55, 77,221, 52,141,179,206, 89,215,216,166,170,235,209,104,184,184,120,120,126,254,208, 81, 51,179,159,
+252,248,199,214,172,153, 89,102, 69,206, 90, 79, 94,151, 66,222, 17, 17, 49,145, 39, 98,242,222,217,166, 94, 92, 56,180, 48,127,
+232,154,235,111,114,206, 53,117,237,156,253,220,191,253,188,109,154,170, 26,141, 22, 15,223,115,207, 61,143,253,239, 31,150,186,
+ 34,125,162,160, 85, 76,204,204,204,222,249,166,174, 15, 60,251,236,197,123, 47,155,156,156,246,228, 17,141, 41, 74, 36, 66, 67,
+128,  8,104,176, 40,222,246,182,183, 45, 30,158, 47,  1,192,147,103, 10,127, 44,  2,194,194, 68,214, 54,135, 15, 31,254,233, 79,
+158,185,246,250, 55, 10, 64,248,189,136, 90, 16,179,120, 79,206, 57,231,188,250,165, 18,  0,188,243,222, 91,103,131, 27,178, 77,
+ 51, 26, 46, 46,204,207,159,191,227,194, 11,119,238, 38, 10, 55,  9, 79,236,157,181,182,169,235,166,169,109,211, 52, 77,163, 30,
+ 70,111,164, 38,233,137,120,208, 31,172, 95,119,236,218,217,217,162, 48,196, 98,109,163,235, 96,102,242, 94, 61,111, 93,215,213,
+104, 84,215, 85, 93, 87,186, 39,222,251, 18,  0,  6, 19, 19,131,137,201,178, 44,250,253, 65,127, 48, 48,133, 33,102,107, 29, 11,
+199,187,144,250,108,103,109,221,212, 77,173, 31, 42, 93,148, 62, 75,  9,  0,166, 44, 12, 22, 69, 97,  4,192, 90, 11,  0, 34,204,
+ 44, 18,158, 40, 56,117,235,172,179,214, 54,182,105,106,107,195, 71,231,156,174,243,165,243,147, 47,201, 53, 55, 55,103, 94,170,
+123,181,214,191,113,227,198,223,121,215,187,118,236,216,  1, 65,107,200, 89,231,189,123,232,161,239,125,232, 67, 31,249,197, 17,
+224,190,251,238,223, 52, 55, 39,  0, 34,  0, 32, 34,144, 54,219, 58,219,212, 77, 83, 87,163,209,240,217,159,253,228, 61,239,125,
+255,207,123,180,205, 39,158,132, 69,129,198, 32, 32, 51, 50,179,247,228,189,119,222,107, 48,116,222, 51,115,127, 48,249,251, 31,
+190,235,231,172,200,  0, 34,128, 17, 65,  6, 97, 86,255,161,161,214,122,231,188,119, 76,228,189, 23, 17, 99,202,223,186,253,230,
+231,148,145,  8,112,208, 23, 86,111,164,  6,236,189,143,134, 68,204, 44,  0,128,184,110,253,134,231, 92, 81,144, 72,250,235,246,
+114, 68,196,172,183, 38,242,158, 60,145,231, 59,110,189, 97,249, 27,169, 41,198,143,158,201,135, 32, 22,162, 18,249, 16,122,234,
+209,104,180,184,184,184,115,207,111,220,122,235,254,101,118,237,155, 15,124,219, 57, 23,125,172, 58,166,112, 83,239,189,122,175,
+197,195, 11,  7, 15, 30,216,123,217, 21,189,126,223, 59,215,212,117, 93,143, 70,139,135,111,123,243,111,181,187,150,214, 66,228,
+ 53,112,234, 63, 22, 97, 22, 98,182, 77,115,248,240,194,117, 55,220,188, 98,213, 81,136,  6,  0, 76, 81,148,189,193,196,212,244,
+159,253,233,159,124,246,211,247,132, 71, 75,142,134,136,153,136, 85,145,132,133,213,232, 93, 85,141, 78, 63,107, 27,154,  2,  1,
+209, 24, 64,  3,168, 87, 81,148, 37, 96,249,241, 63,248,136,136, 24,166,136, 72,152, 68,152,133, 89,132, 69, 68,152,136,154,186,
+ 62,120,224,192,150, 83,183,130,134,123, 64, 68,  3,128,  0,192, 34,204,  0,  0, 34,120,201,238,139, 12,197,187,  0,  8, 11,160,
+  4,237,246,158,154,166, 89, 88, 56,116,211, 45,111,102,  1, 22,  9,110, 22,245,143,129,152, 73,130,102, 32,162, 17,125,144,248,
+ 50,125, 48, 79,212, 52,245,225,249, 67, 69, 81,  2,162,168,179, 14,239,  1, 34,162,210,224, 76,203,140,222,166,213, 72, 34,239,
+ 92, 53, 26,205, 31, 58,120,224,192,179, 87, 94,253,122,197,149, 28, 99, 67,124,109,186, 66,200, 40, 85, 23,  3,254,244,214, 54,
+174,174,171,195, 11,243,195,197,197, 27,110,218, 31,221,164,222, 69,109,153,244, 95, 52,  3, 98,102,  0, 41,137, 72, 93,186,250,
+208,166,105,108,211, 76, 77, 77, 95,113,213, 62,  6, 96, 79, 44, 76, 76,194, 18,212,219, 59,189,124,128,214,158,136, 68,164, 20,
+ 17,  0, 65,192,162, 40,166,166,166,214,174,157, 93,127,236,134,137,137,  1, 51,122,213, 44, 97, 81,100,224,157,174, 60,126,178,
+228, 83, 60,149, 18, 17,203,162, 44, 38, 11, 83, 20, 83,147,211, 43, 86,174,236,245,122, 44, 66,228,146, 88,152,245, 46,222,218,
+198, 89,167,200, 74, 49, 89, 16,182,112, 89, 20,133, 49,  6,209,244,251,253,254, 96,  0,  8, 26,187,219,187, 80,176, 56,103,173,
+  6, 80,231,172, 62, 95,146,185,136,148,104, 10,  3, 96, 10, 99,140,  1,  1,242, 36,  2, 34, 44, 65,186, 28,227,171,110,135,109,
+ 26,235,157,243, 46, 72, 71,157,178,176,148,  6, 16, 16,  0, 80,  4,136,  9, 24, 68,194, 38, 11,115,176, 67,231,124,  8,213,141,
+115,154,255, 56,197, 81,193,182, 68,224, 21, 21,215, 54,109,218,100,224,149,116,169, 71,120,101, 93,109,188, 94,177, 98,197,103,
+ 62,251,217,205,155, 79, 48,  6,213, 71,  2, 34,  8, 32,  0,171, 11, 18, 17,  0,102, 22,144, 20, 47, 20, 72,123,239,172,109,108,
+ 93,223,127,255,125,127,243,159,255,203,139, 90, 16, 51,127,231,123, 15,  5, 39,  7,160, 97, 16,132, 17, 64, 20,113,  2,130,122,
+181,  8,  9, 98, 48, 37,239,188,  6, 61,231, 61,145,  8,154,107,174,189,110,223,213, 87,219,186,250,189, 15,127,116,113, 56,124,
+129, 18, 66, 52,136,128,  2, 12, 12,  8, 34, 32,128,193, 72,  4, 88, 72,162,249,231,171,225, 36, 34,239, 67,164, 39, 34, 98, 17,
+ 17, 52,119,222,249,158,166, 26,126,228, 99,159, 60,210,  5,181, 58, 20,156, 58,131,218,124,112, 26,106,150,193, 33, 70,183, 24,
+160,167,186,199,176,172,144, 41,  8,139,  0,162, 49,166, 40,123,131,247,191,247, 95,108, 62,110,211, 17, 47, 72, 67, 33, 37,199,
+ 67, 62,130,225,176,168,  4, 76,226,255,222,147,139,222,204, 51, 49,197, 56,173,145, 53, 70,106,  4, 48,175,127,221,190,215, 92,
+176,237,200, 22,164, 34, 81,208, 16,119,130, 56,166, 91,  9, 49, 17, 41, 52, 10,  0, 33, 97, 32,239, 93, 10, 43, 62,178, 58,138,
+232,235,166,110,154,250,164,205,115,235,143,153, 61,  2, 29,138, 16,132,163, 87,101, 97, 98, 17, 69, 54, 73,123,146,211, 21,144,
+152,201,133,199,112,206,105, 72,112,214, 90,107,155,170,106,108,179,234,168,163, 46,191,226, 42, 37,185,110,190,253,237,154,  4,
+  9,249,251,190,248,197,175,126,245,107,206,185,231, 94, 80,140,  1, 89,100,103, 25,251, 34, 68,123,201,175, 16, 18,188,247,206,
+ 69, 30,105,104,176,120,221,181,215,  3, 72,212, 45, 22, 17, 64, 83,148,189,137, 73, 67,222,223,124,243,254, 27,174,191,193, 90,
+235,109,243,195, 31,254,240,227,159,186,251,185, 22, 68,  9, 95,104, 60, 35, 34,145,152,145, 50,131,162,103,209, 40, 21, 96,161,
+ 39,239,156,109,108, 51, 28, 46, 46, 30, 94,184,254,166, 91,202,178, 84,204,136,  6,208,  8,178,  8, 10,162, 65, 44,140,  1, 41,
+160,  8,160,  9,  1,240,196,147, 79,249,204,167,255,208,217,230,145, 71, 30,249,220,191,187, 23,  0,138,185,185,185, 93,187, 47,
+225, 86, 66, 29,  0,164,114,201,193, 85,  0,149,204, 68,236,189,183,182, 81,232,227,156,123,227,254, 55,131, 41, 20,195,113,120,
+ 61,132,255,130, 15,  9,127, 78, 42,221,240, 46, 76,196,107,102,102,118,237,188,112, 56, 26,150,  0,144,173, 32,124,134, 40,132,
+112,131,236,182,208, 38,  7,174,105,234,106, 56, 92,152, 63,180,122,102,205,158,203,175, 96, 17,228, 16,230, 65, 98,112,  2,  4,
+196,128, 54,213,128,132, 33,224, 35, 97,145,224,186,  4,  0,113,253,186,245, 37,  0, 72, 80, 77, 17,137,224, 67,  4,132, 49,190,
+ 16, 32,253, 88,151, 66,214, 54,202, 44, 46,204, 31,188, 96,199,107,143, 63,225,164,  4,199, 69,128, 35, 62,143,127, 31, 87, 19,
+124,189,120,138,232,200,123,245, 20, 28,215, 84,106, 54, 30,111,128, 81,111, 57,221, 46, 71, 52,  1,205,216,102, 84, 13,135,135,
+ 23, 71,195,225, 27,247,223,134,104,244, 14,113, 61,105,103,226, 13, 90,160,220, 66,223,100,218,196, 17,230,137,128,136,110, 89,
+216,209,104,225,212,218,150, 36, 10, 68,151, 98,171,106, 84,141, 70, 77, 83,239,222,115,217,209,199, 28, 35,130, 65,174, 44,196,
+220,221,107, 17, 14, 25, 73, 22,139,131, 63, 11,105, 31, 17,249,248, 10,102,137, 86,150,129,109, 74, 95, 82,250,121, 12, 25,150,
+ 60,  1,200,238, 61,151,174, 58,234, 40,  4, 16,  6, 17, 98, 17,150, 96,131,154,119,196, 84,138,  2,  1,146,185,122,189,185,243,
+142, 60,169,223,143,206, 33,152, 81, 80,234,200,152,198, 85,  4, 47,192, 32, 82, 20, 69,175, 44, 87,173, 94,125,204, 49,235,142,
+ 62,250,104, 68, 99, 12,106,118,164,158,162,189,178,173,226,140, 77, 35, 69,174, 33, 48, 58,175,161, 80,189,191, 39, 34, 31,128,
+114, 90,144,218,131, 49,136, 88, 24, 52, 69, 89,192,  0, 10, 83,148,189,114, 98, 98,114, 98, 98, 98, 48,152, 40,123,165,  9,116,
+128,120,226,108, 83,130, 69,165, 60, 73, 68, 84, 50,204, 45, 96,114, 41, 76, 59, 27,  2, 81,136,137,196,121,216, 98, 46,  1,192,
+152,162, 44,  1,160,  4, 17, 68, 52, 69, 97,140,233,245,122,101,217, 43,123,189,162, 40,208, 24, 17, 32, 17, 17,223, 46,165,149,
+ 11, 72,164,169, 36,229,210,233, 10, 81, 57,172, 74,213,199, 57, 71,222, 39,205,138,209,147,130,132,138,162, 80, 68,132,136,198,
+ 24, 93, 80, 81, 20, 69, 81,232,163,227,216, 10,  0,152, 89, 33,100, 22, 70, 82,  4,140,230,163, 91,226, 35, 63,171, 68,130, 11,
+236,133,254, 66, 21, 40,154, 91,220, 50,205,128,208,160,  1,131,138,214,  0, 68,132,152, 80, 16, 12, 74,124,251,184,  8, 22,105,
+151, 19,227, 93,174,200,  1,150,248, 60, 61, 13, 59, 20,100,148,168,151,232,  1,130,214,150,136,248,224,131,127, 27,244,  8, 16,
+ 17,131,131,133,228, 93, 21,204,  6,111,221, 46, 44,174, 78, 63,235,126,129,162, 93,110, 63,228, 30, 36,248,163,150,199, 76,233,
+185,194, 10, 94, 92, 28,190,194,248, 70,205,205, 94, 57,139,217,181,107,151,  9,187,243,138,185, 94,113,137,226,175, 23,116, 68,
+133, 47,189, 86,175, 94,189,113,227,198, 75,246,236, 57,111,251,246,205, 39,156,192,204,170,103,234,245, 34,166, 33, 34, 22, 38,
+239,221,226,226,225,127,127,239,125,255,237, 27,223, 24,190,160, 84,117,156,111,152,155,155,123,242,201, 39,  1,224,214, 91,111,
+189,227,173,111,101, 22,131,200, 29,247, 19,192,149, 32,128, 64,  0, 42,204,209,203,106, 61,196, 58,219,212,245,232,109,111,255,
+237, 23,105,101,229,190,125,251,110,188,233,166,126,111, 64,204,136, 96, 16, 16,  1, 89,153,  6,  6, 65,  4, 96, 96,  0, 68,  0,
+ 22,  6, 65,133,204,209,227, 73,192, 28,104,140, 41,255,248, 51,127,244,245,175,127,253, 47,255,227, 95,189,112, 29,218,184,105,
+110, 48,152,  0,196,162, 48,136, 70, 41, 91, 84,  6,  4, 13, 96,130,235,146,177,150,156,130, 79, 98,  7,149,173, 16,192, 93,187,
+118,189,229,182,253, 47, 82,169, 13, 32, 10, 24, 68,  4,196,192, 52,164, 28, 59,198, 78, 69, 10, 41,103, 34,110,211, 72,133,184,
+ 65, 88,136,167,108,217,114,227, 27,174,121,161, 11, 66,221, 36, 37,131,  0,179,164,137, 33,172, 39,214, 28,  3,162, 76,240,133,
+210,174, 41,120,229,  4,235,205,233,167,159,177,243,194, 11, 94,168,132, 68, 80, 48, 75,163, 68,178, 92,153,  2, 42,230, 40,151,
+ 22,169, 75, 74,231, 68,152, 36,149, 49, 85,163, 46,185,120,247, 96,208,127, 33, 11, 18, 68,129,  0, 40, 56,112, 65, 90, 34,144,
+140,238, 38,102, 10, 75, 32, 34,  9,178, 10,175, 20, 86,188,171, 54,137,104,180,  2,241,207,223,249,246, 35, 95,144, 22,205,  4,
+ 67,118, 23,245,183,205, 64, 98,214,156,148,153,133, 69, 19, 19, 74,249,165, 72, 94,131,128, 80,212, 16,129, 29,231,159,251,  2,
+182, 12, 82,221,133, 59,171, 97,205, 44,219,165,168,250, 16, 39,133, 86,196, 19,228, 41, 16,133, 11,113,101,120,254,246,179,143,
+108, 65,145, 74,  8,201, 99, 39,185, 31,175, 53,113, 44,215,132, 61, 74, 82,108, 95, 41,113, 99,133, 98,165,211,239, 56,239,172,
+ 35,219,178,140, 65,200,101,211,190,107, 91,114,226,136, 13,187,104, 58,114,  6, 33,163, 83,134,205, 89,167,253, 42,199,111, 90,
+127,  4,177,172, 77,194,211,106,226,163, 75, 78, 66,180,136,115,140, 34,210,181,112, 68,236, 94,171, 24,182,110,172,173,133,121,
+199,206,221,236,221,218, 99, 79,124,248,225,135, 31,124,240, 91,207, 35,184,198,140,179,229, 62, 34, 87,150, 86, 25,127,210, 73,
+  9, 91,199, 19,189, 67, 40,208,219,166,169,106, 17, 62,231,188, 11, 54,111, 62, 65,179,176, 13,115, 39,236,221,187,247,119,222,
+249,219,243,135, 14,126,232,195, 31,253,241, 51,207,252,156, 34,110,198, 12, 48, 67,150,255,229, 41, 24,164,196, 20,218,111, 56,
+ 83, 35, 34,114,206, 91, 91,215, 85,181, 97,195,166,243,119,188, 38,241,114, 34,128,198, 20, 69,217,235, 79, 28, 53,179,246, 19,
+159,248, 87, 77, 93,127,225, 11,247,254,215,111,124,115,249, 98,240,114, 10, 36, 73,108,146, 68,147, 75,  8, 58, 26,164,233,191,
+109,234,166,170,206,223,113,225,107,118,238,  2,229,207,160,229,137, 76, 81,152,162, 40,203, 94,217, 27,244,  7, 19,251,111,217,
+255,175,255,248,211,219,207,221,182,156,149,113,178,247,164,188,109, 24,139,218,157,210,158,214, 73,196, 24,167,105,160,173,235,
+234,236,237, 23,108, 62,225,164, 88,154, 69, 72, 81,  9, 67,228, 54, 69, 97, 76, 81,148,101, 81,148, 69,175,255,150, 55,223,254,
+  7, 31,253,208, 18, 43,107,181,149,  5,100,233,165,174,138,133, 51,138, 61,176, 83,186, 91,206,217,186, 26,173,219,176,233,212,
+173,167,169, 56,  2,106,192, 80, 68,139,159, 48, 57,113, 52,198,160, 49, 69, 49, 57, 57,125,247, 39, 63,182,116,203, 50,155,206,
+210,191,160, 48, 42,250,200,236, 65,210,117, 14,194,105,154,198, 89,187,235,226, 61,162, 85,154, 84,108,138, 43, 72,121, 40,164,
+229, 97,145,100,198,130, 31,251,200, 93,250,142,109, 33, 56, 55,126,201, 72,181, 44, 67,205,232, 75,  9, 44,  7,121,111,109, 83,
+141,134, 87,190,254, 90,132, 78, 70, 21, 68,  3, 49,  9,238, 48,123, 90, 83,137,191,  0, 68, 44,238,122,255,123, 84,135, 64, 18,
+243,149,171,171,114,159,105,  9, 32, 49,208,133,239, 67, 21,219,218,186,174, 86,174, 58,106,245,234,153, 36,193, 32, 36,133, 87,
+152,150,135,113, 49, 16,111, 31,158, 85,127,110,138, 66, 99, 89, 32, 52, 33,227,156, 98,177, 76, 31,  5, 37,162,164,204,182, 66,
+163, 83,211, 52,163,197,225, 85,175,187,  6,  4,219, 93,141,245,251, 32, 33,108, 87, 19,165, 29,241, 31, 75, 90,165,  6, 86,147,
+ 59,234,140, 57,149, 68,238, 50, 48,  2,230,194, 73, 45, 83, 77, 93,143,134,139,103,158,115, 46, 24, 20,225,148, 15, 36,142, 66,
+239,145,111,101,122, 47,206,116, 35,145,200,173, 82,199,189,234,250, 62,125,188,196, 79, 67,146, 13, 57,165,204,171,145,247,254,
+236,115,183, 99, 64,154,208,241, 86, 81,147,179,149,180, 28, 87, 40, 25, 36,  3,137,187, 93,  6, 45,131, 86,123, 16, 37,254,  0,
+ 64, 36,214,244, 68,219,  9,180,  1,180,174,235,170,170, 70,163,209, 53,111,120,163, 50,194, 32,208, 65, 68,137,182,129,246,121,
+ 83, 89,128,133,146,243, 72,130, 80, 49,149,146,101, 94, 57,189, 45,233,158,146, 50, 13,239,180,243,184,105,234,106, 84, 13,135,
+167,158,126,230, 96,114, 34,  3,118,144, 91,  5,100,218,145, 12, 35,145, 70, 36,169,206,212,218,118, 43,161, 84, 69,232,216, 63,
+100,101,141,232,111, 66,163,221,226,226,202, 85,171,206,217,118,174,146,105, 16, 95, 14,203,249,213, 78, 80,202,124,112, 90, 75,
+ 96,254, 99,180, 31,131, 53, 89,121, 44,  0, 47, 74, 61, 31, 77, 93, 85,163, 81, 85, 85,166, 44, 47,191,234,106, 81, 13,209,142,
+ 20,200, 35,176,164, 98, 68, 44, 28,228,245, 90,238, 22,121, 24,146,242,106,180,143,191, 84,166,146,242,228,203, 71, 26,223, 90,
+107,155,186,169,107,107,237,212,212,244, 21,251,174, 78,174, 92,223, 45, 49,195, 73,181,219,199,215,124, 50,131,114,109,181, 73,
+ 24,160, 19, 30,202, 16,  9, 82,147,135, 79,237, 82,148, 90,203, 83,225, 87, 68,102,143, 62,122,247,238, 75, 40,186,180,229, 89,
+226, 92,230,109, 22, 71, 73,230, 33,111, 32,202, 54,142, 19, 64,147, 54,  1, 35,146, 78,127, 80,184,  0,196, 24, 51,152,152, 56,
+238,248,205, 39,158,124,114, 40,229,235,106, 98,129, 15, 98,188, 75,217,211,120,141, 50,207, 93,136,218,141,137, 74,164,107, 42,
+115,252,165,205,170,137,142, 45,138,  2, 17,203,178, 44,138,114,229,202, 85,155,230,230, 38, 39, 38, 64, 64, 16, 68, 64, 55, 33,
+112,214,201, 87,229,218, 27, 31, 50, 86,124,162,236,179,228, 51, 67,233,156, 89, 89,198,  9, 35, 22, 69,  1,198, 96,  9, 37, 34,
+150,189,222,228,228,228,170, 85,171,167,166,167, 10, 83,136, 54,125,101,214,194, 93,168,148,173, 39, 75,187,227,122,210,111, 36,
+214,237,186, 59,206,237,130,148,195,  7,  0,131, 70,160, 48,104, 76, 97,250,253,137,201,201,137,137,201,201,158, 22, 24,208,164,
+ 90,214, 56, 90,234,172,134,132,133,219,188,219,135,242, 74,236,136,111, 51,167, 49,252,174,142, 81,151,194,  0, 70,215,132,136,
+136,101, 81,244,250,253, 94,175,223, 31, 12,202,178, 52,104, 32,134,104,  9,157,202, 17,217,118, 49, 73,108,179,139,213,130, 88,
+127,247,177,200,207,109, 79,224, 88,254, 18,244,186, 84,166,  9, 17,149, 34,195, 80,229, 40,203, 94,217, 43,123,133, 41, 16, 81,
+130,105,114, 23, 44,113,114,199, 44,157, 36,147, 58,  5,134,208,123,144,138, 50, 18,147,184, 49,170, 63,232, 16, 34,232,102,  1,
+136,214, 94,140, 41,138,178, 40,203,158, 49,  5, 96, 52, 28,173,126,130, 38,241,250, 19, 65, 68,117,107, 89,  2, 78,169,220,225,
+189,231, 80, 51,243,173,111, 11,149,180,142,  7,206, 16, 23,148, 17,141,  7,202,194,152, 66,113, 56, 34, 38,236, 12,  8, 75,  4,
+220, 13, 47, 89, 13, 81, 98,157,140,219,142,153,152, 16,197,134, 84, 78, 44, 75,150,123,114,178, 50, 69,190,128, 96,194,238,161,
+154, 18, 24,147,252,213, 82,253,205,205, 60, 75,242, 37,172, 35,224,237,214,234,169,109,138,236,176,  7,121,170, 19,116, 72,205,
+ 71,243,149,208, 86, 37,194,  0,168,132,112,162, 88, 98, 52, 15,124, 89,196, 71,237,106,242, 98, 25,121, 31,140, 43,197,161,176,
+178, 60, 67,239, 60, 89,148,144, 54,157,162,  6, 74,  4,  1, 65,  1, 81, 53,207, 97, 72, 11, 70,  2,246,137,132,137, 36,215, 18,
+140, 57, 73, 38,244,240,196,229, 80, 96,155,  2, 69,218,250, 32,206, 22,244,228,147, 79,194,  3, 15, 64, 94, 39,139,217, 84,196,
+122, 25, 92, 74,160, 11,198,154, 40,198,176,134,180,221, 52,156, 37,220,233,235,236,  5, 45, 95,193, 12,  0,184,107,215,174,131,
+  7, 15, 30, 58,116,232,149, 86, 22,250,199,189, 68,100,245,234,213, 51, 51, 51, 37,  0,204,207,207, 63,245,212, 83,191, 22,202,
+210, 38,207,153,153, 25,243,107, 65,252,138, 85,239,126, 45,160, 95,177,171,124,145,127,223,239,247, 55,110,220,120,210, 73, 39,
+189,234, 85,175,154,158,158, 94,179,102,205,236,236,236,236,171,102, 87,174, 88, 57, 24,244,203,178,215,118,100,164,174, 50,102,
+107,109, 85, 85, 79, 60,254,248,211,255,247,233,103,158,249,201,119,191,251,221,159,254,244,103,191,122,  2,154,158,158, 62,119,
+251,246,173,167,158,186,101,203,150, 53,107,214,172,158, 89,115,212,170, 85,101,175,215, 97,126, 88,150, 13,127,109,199, 74, 74,
+ 27, 67,149,148,153,165,236, 13, 38, 39,167, 87,175, 94,115,206,185,219,133,249,246,219,223,  2,129,153,241,213,104,244,212, 83,
+ 79,125,255,251,223,255,171,175,126,173,170,170, 87,132,128,152,121,237,236,236,220,220,220,171, 95,253,234, 75, 47,189,244,152,
+ 99,214, 21, 69,161, 80,  1,209,180,  4, 77,124,116,108,121,240,192,189, 33,132, 94,249,216,238, 40,  0,168,141, 90,  2, 28,193,
+139,194, 39,148,172, 77, 83, 57, 37, 64, 96,  2, 34, 97,193, 94,127,112,220,113,155, 55,108,220,116,217,101,151,131,240, 19, 63,
+250,209, 95,124,233,203,143, 63,254,196, 63, 90, 44,219,185,115,231,149, 87, 94,181,247,210,203, 82, 50,147, 24,102,142,221,153,
+204, 58, 30, 16,149,  2, 17, 19,213,  6,130,145, 89,139,194, 17, 64,140, 77,253, 49,193,134,140,122,162, 48,123, 74,177, 45, 58,
+245, 40, 83,219,101,149, 58,  5,181, 71,204, 63,250,232,163,127,126,239,253,207, 53,255,251,114, 92,115,115,115,199, 31,127,188,
+137,140, 58,  2,160, 65,205,160, 35,200, 71, 29, 25, 16,237, 36, 12,210, 66,131,208, 82,125, 58,114,147,100, 23,180,131, 98,225,
+113,172,185, 52,212,176,219,110,246, 44,241,136, 85, 92, 78, 85,232,152, 84, 24,  3,130,167,157,118,250, 71, 63,252,187,239,124,
+199, 29,147,147, 19,191,252, 40, 22, 42, 17, 49,249,193,212, 83, 32, 32, 40, 38, 90, 84, 48,166,118,178, 67,116,230, 91,136, 37,
+146, 46,156, 77, 14,143,181, 39, 82, 70, 61,105, 82, 79, 73,136,145, 99,226,110, 81, 35,230, 89,136,104, 80,  0,215,173, 63,246,
+125,255,242,221,151, 95,122,201, 47,215, 73,107,201,131,163,117, 41,219,160,  9,162, 32, 35,  3,163,104, 89, 33, 99, 50, 17, 80,
+217,178, 80,142,232,122,228, 84, 33, 73,125,151,129, 67, 16,161,192,  1,164,174,118,201, 91,  7,243, 33,132,160,151, 33,  7, 51,
+128,108,140, 17, 46, 95,179, 99,199,246,109,103,221,247,197,175,252,232,239,158,252,229,225,160, 72,216, 99,232,134,  9,126, 70,
+ 64, 71,131, 58, 73,101, 74,255, 36,159,205,203, 88,195,150,137,138, 41,117,219,193, 34, 45,169, 23,186, 37,  2, 33, 20,211,198,
+196, 11,115, 42,207,  5, 55,128,202,131, 24, 83,148,253,137,155,110,188,238,202,203,247,252,146,194,124,244,176,173,156, 66,201,
+ 40,122,151, 54,151, 31, 99, 62,218,248,157,243, 32,161,170, 19, 72,199,164, 29, 16,198,  6, 18,185,192, 99,205,  8, 44, 97,104,
+128,133, 57,104,113, 12,129,169,  0,105,  0, 89, 71, 49,206, 60,227,140, 77, 27,215,127,254,222, 47, 87,117,253,114,106,144, 64,
+151,207,133,216,221,  2,146,166,177,163,219, 96,145, 14,163, 67, 25,109,215,165, 48, 83,155, 74,250,149,132,145, 84,157, 79,109,
+ 11,240,173,175, 14,149,  7,210,141,226,220, 91,103, 29, 11, 41,155,  4,192,233,233, 85,111,186,241,218,169,151,205,115,155, 84,
+171, 12, 96, 23,114, 62,140, 59, 42,145, 21, 43,242, 50, 69, 91,178,143,210,144,246, 97, 89,114, 27,204, 98, 61,136,228,229,157,
+150, 91,138, 93, 20,121, 25, 36,109,  9,100,195, 55, 74,212, 51,115,191,223,219,127,227,111,246,122,229,203,167, 65, 99,228,146,
+180,143,190,204, 46,231,205,130,196,227,244, 96, 59,228,211,109, 15,227,246,177,226,251, 68,  6,153, 83,231,190,144, 48, 73, 62,
+248,145,134,219,245, 59,223,206, 26, 18,121, 98,239,136, 66, 45,232,154,125,123,203,178,120,249,124, 80,222, 41,144, 55,192, 64,
+172, 78, 67, 44,135,132,122,223,210, 82, 97, 59,194, 51,254, 85, 40,242,182, 41,  7,100,157, 63,169, 63,139, 34, 90, 24,  3, 11,
+173,231, 39,142, 67, 55,249,248,131,174,191, 87,154, 45, 39, 29,255,191, 30,123,252,165, 23, 80,  2, 29,144, 22,158,149,  7,150,
+169,153, 66, 56, 55,128, 99,175, 91, 43,196,177, 63, 81,212,148,245, 18,228, 37, 97,233,118,  4,  5,132,153, 43, 76,170, 70,180,
+ 35, 24, 97,232,  1,  1,103,214,206,110,221,122,250,218,217,181,104,140,118, 80,222,194,236,188,243, 90,120,173,171,167,159,122,
+250, 75, 95,254, 15,143, 60,242,232, 75, 32,160,229,202,146,227,227, 61,241, 97,151, 87,156,172, 26,174,165,125,110, 41, 98, 16,
+232,116, 37, 44, 41, 70, 72,236,248,139, 39,115, 36, 43,210, 67,122,156,119, 76,222,123, 94,177, 98,197,  9, 39,157,188,113,211,
+220,228,196,  4,133, 57, 20,101,196,131,251, 54,113,242,177,215,159, 56,117,235,170, 59,239, 60, 89,149,115, 52, 26,253,224,177,
+ 31, 60,244,208,255,120,240, 91,223, 38,226, 35, 55, 49,142, 72,164,211,190,197,153,105, 64, 28,141,140, 86,  2, 17, 11,142,205,
+189, 64,219, 68, 32, 89,163, 75,183,  3, 41,  5,245,232,245,242, 58,115, 24,158,245,206, 91, 61,107,167,223,239,157,114,202,153,
+167,108,221, 90, 20, 70,229, 73, 97, 89,144, 53, 77, 64,108,219,  2, 99, 16, 16, 13, 25,131,133,150,191,167, 87, 20,231,158,187,
+253,172, 51,207,190,253,182,219, 68,228,192,129,103,239,187,255, 47,126,240,216, 99,163, 81,245,252, 52,168, 27,176, 58,  6, 22,
+129, 50,116,154,153, 24,  0, 56,252, 10,194,199,100, 60,  8, 28, 17,204,248,172, 78,222, 80,147,151, 23,212,191,112,156,168,114,
+214, 89,235,189,237,245,  6,231,239,184,112,227,166, 77,138, 96,153, 25, 81,  0, 89, 75, 29, 25,144,132,188,129, 11, 12, 24, 41,
+ 24,192,132, 57,124,131,136, 72,  6,177,208, 77,152,153, 89,251,214, 59,254, 41, 51,  9,211,195, 15, 63,242,167,159,251, 60, 17,
+253,  2, 31, 20,167,231, 51,221,145,113, 51,137,253, 85, 93,229,  8,169,127,236,171,  0,  1,134,212,109,210,241, 63,185,137,133,
+210,126, 42,155,235,137, 24,169, 11,179,241,222,159,118,198,153,103,158,181, 13, 77, 24,191,132,216,154, 37,136,136, 40, 98, 16,
+  5,209,132,253,209, 18, 17,100,237, 91,104, 64, 85,138,217, 24, 16,  0,131, 32, 80,  6,204,105, 12,120,207,128,103,158,117,246,
+ 61,159, 58,163,174,171,111,254,237,  3, 95,253,235,191, 89, 78, 64,208,182,191, 64,215,181,  4,255,155,199,163,220,211, 72,222,
+230,147, 59,161,108,234,172,213,160,113,245,  1,142,105,  8,233,177, 68, 78, 15, 62,113,182,153,156, 94,113,209,197,123, 87,175,
+ 94, 29,186,239, 67, 42,136, 25,158, 86, 57, 24, 68,150, 32, 26, 12,111, 21,186,246, 33, 73, 84,115,  4,131,134, 64, 84,166,104,
+ 10, 20, 65, 99,144, 11, 99,132, 68,250,253,193,197,187,119,239,190,104,231, 35,143, 62,250,197, 47,253,165,115, 46,239, 19, 10,
+193, 43,153, 91, 59,112, 12,153,107,137,154, 16, 11,174,201, 51, 98,234,200,144,148,166,  4, 30, 13, 66, 81,178,197,160,169, 53,
+ 82, 98, 61, 49, 12,168, 90,107,155,186,170,235,234,216, 13,155,118,239,185,204, 24,148,152, 24,  6, 50,  1,218,118,177,216,146,
+135, 16, 69, 37,161,167, 77, 64, 80, 37,138,  8, 97, 10, 70,201,137,144,246,182,124, 95,168,112, 11,  2, 27, 53, 67,  6, 56,109,
+235,105,119,125,224,148,239,253,247,135, 30,250,159,143, 38, 19,227,214,102,100,108,194, 59, 83,143, 40,130,152,188,118, 21,165,
+ 75, 57,114,120,162,196, 69,119,  3,151, 48,229,167,224, 88,219, 52,117,221,212,174,105,206,217,126,193,233,103,156,149, 49, 77,
+157,246,190,172, 91, 52, 74,  8, 49,172,168,109,219, 84, 66,130, 59,127,154,215, 96,219, 59,167,174,128,182,153, 19,141,  1, 54,
+219,183,109, 91, 51,179,246,137,191,123,170,140, 33,166,157, 93,239,  0, 61,233, 84,230,153, 25, 59, 57, 44,130,112,104,140, 73,
+243,147, 81, 46, 29, 78, 58,245,151,197, 99,217,130, 55,182, 78,135,153,234,122,228,173,187,224,181, 23,157,124,242, 22, 78,141,
+ 63,241,137, 18,181,146,201,  9,  1,131,130,161,206,228, 32, 46, 33,135, 59,157,124, 29, 96, 55,110,242,173, 57, 72,180, 83, 25,
+ 67,210,208,117, 61,208, 29,164,213, 47, 48,211, 34,148,200,202, 10, 48,102,205,174,217,160,233,210, 58,121,130,124,222,121,157,
+244, 82, 80,103,208,236,251,205,235, 86,175,158,225,104,242,136, 97,136, 22,  0,186, 86,191,124,129,  0,130, 54,117,127, 33,157,
+ 32,196, 89, 59,226, 50,157,216,146,111, 65,176,220,178, 19,158, 51, 68,215,198,167, 40,193,216,229, 25,230,150, 90,134,164,181,
+ 44, 12,248,176,155,138,164, 83,152, 56, 29, 21, 18,237,170,105,234,166,174, 87,174, 90,117,201,165,191, 49, 53, 53,197,  0, 24,
+ 35,150,238, 66,  7, 46,116, 84, 67,198, 98, 60,  2,114,110, 80,157,237,129, 28,229, 69,220, 39,221,134,169,132,249,195,211,100,
+ 26, 36,237,219,117,176, 93,167,175,  3,152,117,135, 36,113,210,200,113,147, 56, 51,177,204,141,165,132, 55, 27, 30,111,  3,121,
+211,212,182,174, 79, 60,101,203,142, 11, 47,146,232,236, 89,229,  2,220,157,116,206, 78, 45,107, 91,160, 91,209,128, 78,  2, 38,
+ 71,153,137, 40,159,181,151,252, 48,140,246, 55, 48,214, 15, 29, 29, 46, 38, 19,107,241, 74,132,164,  2, 29,144, 42, 58,125,151,
+157,174,150,253,209, 50,  6,213, 33,140,226,  9, 59, 62,157,249,216,212,181,181,141, 41,138,139, 47,189,252,216, 13, 27, 89,195,
+ 56,115, 42, 19,128,192,210,174,186,164,236,249, 68, 64,103, 90, 34, 71, 17,217,135,241,105,240, 68, 90,118,217,  5, 30, 75, 35,
+ 83,195,116,103, 60, 52, 27,133,200,195, 19,179, 72,135, 58,138,223, 69,172,147,119, 11,101,173,161,225,252, 14, 82,  4,168,193,
+220, 90,103,155,141,115,199,189,246,162,221,198, 20,234,212, 89, 24, 17,227,137, 10,201,120, 36, 15, 65,227,177,179,213, 20,232,
+136,165,237,250,225,238,  8, 83, 54, 76,148,248,186,177, 41,149,113, 61,138, 38,150, 24,207,165, 13,207, 93,100,216, 57,120,160,
+ 61, 15,  5, 88,251,177,169,229,164,211,  9, 17, 46, 28, 70,231,244,  4, 57, 63, 53, 61,125,241,222,203,214,206,206, 98, 40, 34,
+182,174, 63, 79,224, 58,146,234,  0,250,165,125,110,156,207, 69,229,131, 85,220,161,244,178,246,197,120,186, 11,119,127,152,208,
+176,140,167, 26,193, 36,199, 49, 75,135, 75,140,183,  4,233,164,111,233, 52,134, 48,156,152,  6,201,  2, 95, 19, 78,135, 16,230,
+193,228,196,121, 23,237, 62,246,216, 99,195,185, 36,129,  5,111,217,149,180, 91,136,109,160,200,246,  9, 96,108,176, 36,155,153,
+234,178,116,113,170,182,211,138, 76, 75, 94,148, 53, 36,135,  3,194,210,  1,140,177,109,114,140, 47,203, 94,157, 83,235,217,124,
+162,116, 25,156,156, 52, 76,237,128,241,  0, 69,229,192, 68,100,229,170,149,219,206,219, 49,187,118, 77,200,218,196,  8,182,216,
+188,157,156,128,212,109, 44,169, 79, 52,  2,101,201, 39, 89,198, 70,  4,184, 61,254,167,109,151,164, 88, 86,137, 45,139,138,221,
+117,244, 64,194, 81,129, 93, 82, 56,119, 94,210, 77, 86,187,175,203,107, 84,162, 92,123, 70,189, 10, 47,223,142,201, 68, 20,162,
+ 41,234,232,120, 89,172,157, 61,102,203,214,173, 43, 87,172, 12,240,  0, 99, 78,194, 89, 65, 36,139, 88,220,197,166,144,250,241,
+151,233, 62, 36, 25, 63, 13, 46,202, 70, 66, 19,103, 58,102, 36,157,  1, 20,186,255, 91,233,196,  9,220, 49,181,224,142,  6, 65,
+ 62, 31, 33, 93,  2, 89,132,128, 59,118,222,126, 25, 39,160,140, 49,128, 80, 20, 69,175,  7,104,176, 87,246,166, 86,172, 88,183,
+110,253,218,217, 89,108, 65, 27,182, 29, 12, 75,130, 84, 14, 41, 82, 32,235,224,195,124,174,173, 37,207, 57, 52,165,135,137,  7,
+202,123,250,147, 98,231,236, 45,197,249,233,206, 96, 68,231,220, 29, 14, 81, 39,215, 32,200, 59, 71, 51, 56, 12, 24,186, 25,194,
+217,177, 70, 16, 81,140, 20, 82,168, 70, 24,  3,198, 20,225, 84,188,193, 96,106,122,122,106,106,106, 98, 48,208, 51,110, 64,  4,
+208,  8,102,160, 32, 59,227,166,253,168,167,142,  9,234, 16, 86, 64,243,152,199,111,150,206,252,108,219,160,154,205,130, 36, 39,
+216, 25,114, 79, 61, 17,209, 17,229,243,230,156,171, 76,244,166,249, 12,254, 88,127, 16,134,158, 21,  0,  3,192,166, 48, 97,250,
+212,100,105, 17,166,115,113, 11, 83, 20,189,178,236,245,251,253, 94,191,236,247,202, 50, 30,107, 26,  7, 33, 81,101,147,151, 17,
+151,232, 75, 68,170,  1,233,197,246,152,206, 84, 95,167, 53, 63, 97,188,236,168,212,118, 78, 59, 54, 62, 43,119, 43,109,245, 69,
+141,171,115, 62, 66,183, 95, 63,213, 34, 56, 27,253,203,230, 35,  2,207,100, 76,145,104,193, 12,224,107, 71, 67, 24,241, 52,166,
+ 40,139,162, 40,139,162, 44,203,178, 40,139,194, 20,166, 48,  6, 13, 26,132, 56,132,185,180, 80,210,201,167,150,228, 86,157, 19,
+126,199,102,190, 58,147,154,227,241,129,219, 49,136,142, 55,140, 37, 40, 10,131, 71, 28,142,176,212,163,101,115, 95,194,220,157,
+233,230, 78, 39,121,171, 20,169,203, 94, 98,  7, 80,160,151, 16, 16,208, 20,133, 78, 14,171, 56,116,138,194,232, 57,184, 38, 28,
+ 50,161,153, 19,  3,  0, 80,242,110, 29,152,135,154,244,162, 30,239,  6,  2,193,178, 98, 96,151,108,251, 98,213,164, 99, 90,227,
+ 97, 84,  3,101,178,172,204,239,100, 17,150, 82, 20,203,146, 85, 78, 39,196,117,142,153,227, 22, 84,119,  4, 20,135, 54,  0,226,
+ 23,237, 24,179,158,105,102,208, 24, 85,148,162, 48, 70, 71, 59,116, 68,149,227,172,168,166, 83,121, 53, 95,198,226, 84,  6,  3,
+187,179,137,178, 12, 53, 25,216,187,206,161,114,157, 80, 27, 14, 47,163, 28,139,181,126, 90, 72, 40,117,205,183,101, 80, 72, 38,
+198,203, 64,153,246, 40,131,204,196,162, 10, 64, 59,148,  0,237, 80,137,142,149,160,126,105,176,208,137, 14,108,143,164,205,216,
+160,113,130,126,201,127, 89, 76,232,204, 91,102,146, 89, 26,208,187,216, 39,216, 72, 26, 48,146,110,  9,151,121, 25, 20,146,220,
+121, 50,199, 76,226,157,230,128,238,209,  5, 65,131, 32,204,179, 72, 56,144, 69,226,196,126,233, 42,  0,  0,  1, 47, 73, 68, 65,
+ 84,240, 50, 66, 26,116,209, 99,203, 77, 28,213, 69, 22, 70,198,100, 26, 99, 97,176,227,131,211, 99, 35, 66,  0,204,129, 17,  8,
+244, 91, 42,166,117,218, 61, 37,153,231, 88,251, 94, 14,130,194, 17, 39, 89,129, 59,248,233,204,250,114, 49,181,125,  3,237,237,
+184,155,242,103, 46, 51,105,144,170, 15, 98, 71,129,162,154, 32,166,137,234,182, 13,145,219, 65,228,238,136,195,216, 23,249, 92,
+ 14,104,128,207,138, 32,188,132,206, 15,119,111, 45, 43, 39, 42, 36, 15, 64,122,126,249, 50, 25, 41,141, 31,192,154,131,236,116,
+214, 68, 54, 28,218, 30,213,210,157,137,202,163,152, 50,235,122,114,142, 65,  3,113, 16,  9,116,  2, 72,249, 43,140, 40,185, 53,
+192,101,132, 35,161, 71, 13,198,  7,133,198,212, 41,171,122,200,242,197,126, 25,247, 62, 36, 75,210,156, 37, 14, 91,146,250,100,
+ 58,215, 25, 19,150,110,  3, 75,118,138, 74,219,222, 19,142,219,105, 91,240, 12,104,188,146, 84, 49, 81,235,202,186,113,178,166,
+205, 56, 18, 24, 90,210, 52,108,101,109,176, 99,206, 37,235, 37,135,238, 33,173,169,127,111,153,254,171,188, 49,150,219,105,233,
+ 36,135,244,216,148, 60,110, 27,184, 41,235, 38,149,101,204,103,156, 67,130,118,134, 50,197, 49, 77, 19,118,237,218,149, 39, 62,
+255, 63, 76,233,140,171,246,139, 26,248,249,127,255,206,139,124, 90,242,130,113,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
+  0};
+
diff --git a/source/blender/editors/datafiles/draw.png.c b/source/blender/editors/datafiles/draw.png.c
new file mode 100644 (file)
index 0000000..f87c5fc
--- /dev/null
@@ -0,0 +1,361 @@
+/* DataToC output of file <draw_png> */
+
+int datatoc_draw_png_size= 11349;
+char datatoc_draw_png[]= {
+137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  0, 96,  0,
+  0,  0, 96,  8,  2,  0,  0,  1, 26,253,208,249,  0,  0,  0,  4,103, 65, 77, 65,  0,  0,177,143, 11,252, 97,  5,  0,  0,  0,  6,
+ 98, 75, 71, 68,  0,  0,  0,  0,  0,  0,249, 67,187,127,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 13,215,  0,  0, 13,215,  1, 66,
+ 40,155,120,  0,  0,  0,  7,116, 73, 77, 69,  7,218,  7, 19,  1, 10,  6,157,179,150,  0,  0,  0, 32,  0, 73, 68, 65, 84,120,218,
+237,125,123,188,229, 87, 85,223, 90,107,239,253,123,156,115,238,185,247,206,157,201, 76, 50,201,100,242, 32,145,144,132,164, 36,
+ 20,101,  8,150,106,228,163, 86, 63, 40,213, 63, 90, 21,173,181, 86, 84, 84, 42, 69,139,  4, 16,141,248,  4, 65,173,173,162,104,
+  1,181, 22, 84,108,245,211,250,128, 42,124, 16, 42, 16,  2, 24, 18,242, 32,153,100,158,247,113, 94,191,215,222,123,173,254,177,
+247,239,119,126,231, 78,128, 20,241,211,248,249,120, 38, 51,115,239,220,115,207,221,103,237,245,252,174,239, 90,193,219,110,187,
+ 13, 62,231,227,137, 60, 73,  3,192, 79,253,244, 79, 63,251,196,115,189,247,222,251,170, 42,235,186,210,218,252,214, 91,223,242,
+155,255,229,109,225, 73,120,226,196,137,159,123,195, 27,103,243,197,163, 39, 31,153, 78,246,156,181,  2,112,205, 23, 93,167,  8,
+ 31,249,244,  3,223,254,237,255, 26,  0,  8,  0,172,115,103,207,156, 46, 22,139, 99,199,175,184,238,250, 27,159,114,205, 83,183,
+ 14,108, 86, 85,117,238,204,169, 55,254,252,235,227,143, 67,162, 75, 47, 59,118,241,197, 71,157,115,198, 96,146, 36, 15,127,250,
+211,119,223,245,161,217,222,238,250,198,214,107,238,120,133,  6,  0,239, 61,179, 79,210, 36,205,178, 71, 30,126,232,209,147,143,
+ 60,252,224,  3, 59,219,103,111,123,222,237,197, 98,174, 76,162,  1,192, 57,199,158, 21,249, 83,167, 30,126,255,123,255,119, 49,
+159, 63,229,169,215,221,244,140, 91,155,186, 98,102, 17,208,  0,224, 26,203,194,139,217, 84,107,115,197, 21,199,143, 92,114, 89,
+ 85,215, 77,221, 88,231,157,243,222,123, 29, 14,206,222, 63,122,242,225,181,245,205,195,151, 28,115,206,149,139,153,  8, 58,103,
+157,179,206, 58, 13,  0, 77, 93,123,239,183, 14, 29,254,216, 93, 31,202,  7,195,245,205,205,196,164,101, 49, 43, 22, 11,107, 93,
+ 93,215, 26,  0,234,186, 10,146,188,226,234,107,103,147,189,123,238,190,235,224, 69, 71, 70,227,117, 97, 46, 22,243,166,174,240,
+  9,221,221, 19,121, 32,  0,188,239,253, 31,  0, 16,239,125, 85,219,170, 44, 64,100,111,251,220, 55,125,203,183, 44,159,244,193,
+ 15,221,213, 84,229,249,237,237,179,103, 78,151,101,233,189,223,218, 58,120,252,170,171, 63,240,222, 63, 87, 68,223,255,210,151,
+197,187,219,155, 76,207,157, 57,155, 15,  6,215, 93,127,195, 83,175,187,254,248,149, 87,105, 68,  1, 26,173,109,220,249,218, 59,
+  0, 64,123,246, 27,155,155,107,227,117,239, 29, 34,102,105,186, 88, 44, 30,124,224,254,191,185,251, 35, 95,252,156,231, 37,217,
+  8,  0,240,189,127,245, 65,239,152,217, 15,178,116, 50,157, 61,242,240, 67, 39, 31,121,228,145,  7, 63,117,237,211,110, 92, 27,
+143,231,179,201,249, 51,167,180,179,158,217,103, 89, 90, 84,245,199,238,254,200, 61, 31,191,123, 52, 26, 63,247,203,158,111,173,
+173,202,130,153,145,148,118,206,178,247,103,247,118,117,154, 30, 60,120,209, 45,183, 62,115,180,190,105,155,198, 57,231,188,115,
+206, 51,179,182,214,178,119,128,120,250,228,201,209,120,156,101,105, 89, 22,139,217, 76,144,172,117,206, 90,231,156,110,234,218,
+179,103,239,157,115,247,124,252,163, 27,155, 91,195,209, 72, 39,233,238,249,211,  2,166,177, 77, 83,215, 58, 92, 28, 51, 15,134,
+195,203,142, 95,117,223,223,124,156,133, 15, 30, 58,172,211,225,206,153,147,141,199,166,169,225, 11,117,119,122,223,231,119,220,
+241,170, 47,191,253,118,231, 28, 51,123,239,189,119,206, 90,239,253, 31,253,143, 63,252,143,191,252,159, 63,155, 14,156, 56,113,
+226,103, 95,255,  6, 65, 18, 97, 97, 97,150,162, 40,202,178,168,202,210, 54,141,181,141,247, 94, 68,  6,195,225,230,230,150, 82,
+234,177, 71, 31, 18,231,191,231, 37,223, 55,159,207,247,159,  8, 81, 33,194,246,246,222, 98,177,152, 78, 39,243,217,212, 59,  7,
+  0, 74,107,163,141, 78, 12, 17, 13,242,193,120,125, 61, 73, 18,165,213, 61, 31,251,232,155,222,248,198,170,170, 22,243,201, 75,
+127,240,229,203, 23, 18, 16,102, 24, 12,  7,164,212,250,198, 70, 98, 18,  1,241,222,139,247, 94, 88, 88,134,163, 33, 33, 88,107,
+183,207,157, 61,125,234,177,135, 30,124,224,220,233,135,159,253, 79,158,159,229,163,159,250,201,159,120,239, 95,188,231,247,222,
+245, 71, 26,  0,156,103, 96, 38, 82,121,158,139,176,103,175, 72,229,169, 70, 61,104,234,102, 49,159,159, 57,117,106, 54,155,237,
+238,236,156, 63,119,250,220,153, 83,229, 98,254, 37, 95,250,101, 34,  2,136, 74,233, 91,158,249,172,107,175,121,138,  6,  0,239,
+188,  8,139,  8, 51, 43,165, 82,163,149, 78, 39,123,187,103,207, 62,120,254,220,185,189,157,157,249,108, 82,150,101, 93,149,131,
+225,232,166, 91,158, 53, 28, 14,157,115,214, 90, 14,158,  4, 80,153, 52,188,144, 19, 16,102, 22, 17,103,107,167,140,231,114, 50,
+217,219,221,222,190,255,147,159, 24,140,198,215,221,240,244,193,112, 40, 44,241, 30, 93,112,  7,206,123,102,207,204,  2,193, 47,
+ 89,103,227,203,136, 20,243, 89, 85,149, 89, 62, 80, 90, 95,114,233,101,135,143, 28,177,182,177, 77, 93, 21,115,165,147,248, 50,
+ 46,168,133,115,206,122,231,188,119, 46,248,174,166,174, 69, 68,132, 89, 68,105,237, 61, 63,248,169,123, 77,146,102,249, 32, 73,
+ 18,109,180, 78,114, 16,118,206, 85,101, 81, 21, 51,210, 41,179, 56,231,156,117,141,181,182,105,172,181,225,133, 42, 22,  1, 17,
+ 47, 34,204, 38, 73, 46,185,236,242, 98,177,120,232,129,251, 22,179,105,146,102,195,209, 90, 62, 24,102, 89,166,180, 54,233,176,
+174,171, 98,182,199, 64, 44,208, 84, 85, 93,215, 77, 19,125, 96, 45, 65,218, 65,224,204, 44,130,136,151, 95,121,117,208,238,186,
+170, 30, 61,249,176,176,207,135,163, 60, 27,104, 99,116, 58,172,202,249,100,251, 44,153, 65, 93, 87, 85, 89,124,225,252,228, 23,
+228,113,236,216, 49,250, 66,189,214,138,245, 95,125,245,213,191,254,150,183, 56,231, 69,196, 51,179, 15,122,103,109, 93,191,228,
+251,190,255,209, 71, 31,253, 28, 17,  0,  0,222,255,129, 15,136, 96, 16,183,247, 30, 16,157, 13,138,210,120,231,  4, 64,107, 93,
+ 87,229,108,178,243, 45, 47,250,182,199,125,107,248,193,191,254,144,  0, 10,  3,128, 32, 81, 85, 86,243,197,172, 42,203,186,174,
+108, 99,157,115,158,189, 34,218,220, 58, 56, 26,141,202, 69,177,183,115,166,170,202,239,248, 55,223,181, 95, 70, 68, 26,129,128,
+176,177,205,246,249,243,167, 79, 63,118,230,212,169,179,103, 78,111,159, 63,191,183,187, 51,157,236,205,103,179,162, 40,216,179,
+214,102,188,177,169,147, 60, 73,  7,191,244, 11,111,218,119, 40,  2, 68,  1, 41,230,211,189,189,189,221,221,157,157,157,237,233,
+116, 82,149, 37, 51, 43,173,  7,163,209,250,250,198,120,188,190,177,177, 49, 24, 12,210, 52, 73,210,244,158,143,127,212,164,233,
+ 27,127,254,245,121,150, 45,133, 45, 34,136,192, 44,206, 90,219, 52,  8, 48, 26,141,214, 55, 54,215,214,198, 74, 41,102, 14,118,
+ 57, 30,175, 49, 75, 81, 44, 22,179, 89, 89, 22,136,202,152,228,181,175,125,245,191,251,193,151,139, 72,120, 33, 96,150, 44, 31,
+  0,210,112, 52, 74,146,140, 16, 61,123, 97, 14, 78,214,152, 36,207, 76,211, 52, 69, 81,156, 63,119,238,212,169, 71,103,211,137,
+181, 13, 18, 42,101,126,244,213,175,124,197, 43, 95, 13,  0, 36,194,204, 66,132, 89,150, 15,  6,  3, 34,228, 96, 45,  0,249, 96,
+ 48, 24, 36,105,154,148,181,221,222,222,126,236,177,199, 30, 61,249,240,233,199, 30,173,171,  2,  4, 68,136,136,180, 54,255,254,
+165,223, 27,223,154,  8,179,128,176, 23,129,240, 42,195,225,  0,132,189,151,178,225,249,124,123,177,152, 79, 39,147,157,243,231,
+206,156, 57,181,123,238,204,145, 75,142,155, 36,177,206, 10,  0,146, 74,243,129,181, 86, 51, 11,179,  0,136,  8,136, 48,  8, 12,
+243,140,148, 46,138,114,178,183, 51,157,236, 77,167,211,233,100, 50,157,236,237,110,159, 47, 22,179,141,  3,135,158,118,227,205,
+ 44, 12, 34,  0,136,  0,136,234, 75,111,123,182,102,225,224,137,130,143, 28, 13,135,  0, 80,150,229,246,249,179,231,206,158,217,
+ 62,127,126, 58,217, 43, 22,243,170, 42,133,249,248, 85,215, 92,113,229,213,158, 89, 60,251, 86,  2,136,136,168,116,240,149, 34,
+ 44,194, 72,170, 88,204, 77,154,205,103,179,157,237,237,199, 78,158, 60,119,246,148,119,206, 36,233,145, 75, 46, 61,118,249, 21,
+105,154,122,239,227, 15,246, 16, 44, 65,  0,  0, 65, 11, 51,179, 15,175,148, 40, 44,235,138,  1,157,119, 74, 41, 68, 97,230,107,
+158,122,253,197,151, 28, 69, 66,239,124,124,149, 40, 14,110,253,179,196,244, 39, 92,179,136, 52, 34,197, 98,225, 60,  3, 64, 62,
+ 24, 28, 61,122,236,192,230,230,145,163,151,249,168, 76, 62,132,113,238,180,139,133, 89, 98, 82, 26,190, 16,205,213,185,197,108,
+102,173, 51, 73, 98,146,100,253,192,129,209,120,173, 44, 22,204, 94,105,227,189, 48,115,120,157,222, 75, 51, 51,131,136,102,246,
+236,195,197,139, 48, 51,200,206,246,249,193,104,148, 36,169, 82, 74,105,147,145,178,182,177,117, 85,150,133,210,  9,139,120,239,
+185, 59,151,247,236,153, 69,116, 72, 60,162,183, 22, 25,173,173,239,108,111, 47, 22,243,124, 48, 76,211, 76,107,173,180, 66, 64,
+101,146, 68,164,152, 79,189,103, 84,166, 31,222,130,224,122,111, 45, 30,137, 15, 95,124,244,161,251,239,155,236,237, 38,105,150,
+231,131, 44,207,141, 73,148, 82, 34,104,210,220, 45,102,197,108,199, 36,  3,142, 81,210,133, 87,208,206,121,102, 47,  2,194, 30,
+  0,152, 25,  0, 46, 59,126,229,153, 83,143, 61,250,200,167, 17, 49,203,  7,163,181,181,124, 48, 52,198, 16,162, 54,153,106,236,
+124,114, 94, 39,163,246, 80, 78, 88,180,119,182, 59, 17,183,167, 18,230,173,131,135,198,235, 27, 59,219,231, 31, 59,249, 80, 89,
+204,135,163,181,193,112,148,166, 25, 18, 41,109,148,206,102,147,115,202, 12,156,179,161, 20,233,223, 90,212, 76,246,225, 78, 89,
+ 68,214, 55, 54,134,195,235,207,159, 63, 59,221,221,105,234,122, 56, 90, 75,210, 20,145,148, 73,148, 50, 85, 49,103,  1,219, 52,
+204, 30,158, 84,113,237,178,203, 46, 35,120, 50, 61, 16, 81, 63,241,103,223,124,243,205,151, 95,126,249, 21, 87, 92,145,229, 25,
+ 33, 89,219,204,231,243,251,239,191,255,161,135, 30,250,228, 39,239,253, 59,137,215,225,113,237,181,215,254,202,155,223,140, 64,
+ 49,  6, 11,  8,136,176,  4, 93,109,157,134,  0,128, 72, 72,135, 25, 98,124,103,102,231,156,173,203,162,174,235, 23,127,247,247,
+204,231,139,207,243, 64,175,122,245,107,190,242,171,190, 74, 36,158,128,  1, 48,166, 93, 30,137, 68,192,  1,123,107,157,115,206,
+123,246,209, 42,130, 71,145,112, 74, 16, 68,212, 58,201,178, 52,203,215,  0,224,109,111,255,157,221,157,115, 32, 34,194,111,125,
+235, 91,255,215,159,252,217, 19,186,181, 19, 39, 78,188,254,231,223, 36,241, 44, 40, 33,146,176,  7, 84, 77, 83, 91,219,212, 85,
+ 93,215,149,181,214,197,  3, 57,246,225, 87,116,169, 33,244,  0, 34, 41, 53, 28,142,214,214,214,178, 60, 79,146,148,136,188,119,
+139,217,236,177,147,159, 30,173,173,133, 32,126,223,125,159,252,233,159,125,195,103,201,213, 34,208, 32,158,  1, 81,  0,234, 98,
+225, 28, 91,231,154,166,169,235,170,105,154,186,170,154,166,118,214,250,152,160, 74,136, 27, 33,  0, 33,  0, 32,130,  8,  0, 16,
+145, 86, 74, 41,157,166, 89,112,135,222, 59, 34,117,216,187, 71, 31,254,244,218,250,186, 73,179,107,174,125,234, 47,188,233,141,
+182,169,126,248, 21,175, 44,138,242, 51, 92,153, 96, 80, 23,111,109, 99, 93, 93,215,117, 93, 55, 77, 83,215,117, 93, 87,182,105,
+156,117,  2,162, 72, 37, 73,162,148, 50, 73,146,152,196, 24, 99,146, 68,107, 29, 78, 21, 14,150, 15, 70,131,193,128,136,  8,145,
+ 69,156, 19,103, 27,231, 60, 16,221,253,225, 15, 94,127,211, 45, 74,155, 16, 75,239,252,177,215,214,117,245,202, 87,189,166,170,
+234,253,  7, 10,117, 26, 34,  0,146, 82, 26,201, 18, 41,165,180, 49,172,181,166, 53, 74,210, 52,207,243, 52, 73,145, 40, 92,110,
+ 20, 21,139,  0, 51, 11, 11, 19, 98,150, 15,242, 52, 17,182,158,169,241, 92,215,117, 81, 44,102,211,233,222,238,246,238,206,118,
+ 89,150,239,123,247, 31, 61,235,185,207, 71, 34, 36,165,180, 49, 34,175,122,229,143,212,213,226,142,215,220,185,122,160, 46,255,
+ 64, 72,210, 60, 73,179, 96, 71,109, 16,110, 77, 43,212, 41,241, 27,  0, 68,144,208,232, 84, 41,  2,240,132, 36, 64,117, 99,173,
+179, 77, 93, 87,101, 89, 20,197, 98, 49,159, 78,246,246,118,182,119,119,207, 47,230,211, 52,205,154,186, 54, 73, 66, 68,140, 68,
+164,180, 73, 68,228, 85, 63,242,195, 63,250,227,175,243,222,199,  3, 49,135,159,  5,  0, 28,149, 27,130, 45, 11, 10, 48,  0, 68,
+ 51,  7,  4, 52, 70, 27, 69,222, 59, 84,  4, 64,236,217,123,239, 28, 91, 91, 53,141,181, 77, 93,215,117, 89,150,101,177, 88, 20,
+139,249,116, 58,155, 77, 22,211,105, 85,204,148,214,151, 95,117,109,146,164,210,230, 64,128,132, 24,133,245, 67, 47,123,233,111,
+253,246,239,212,214, 71,  9,  9,112,240, 53,  8, 33,107, 67, 17,  1, 96,223, 30, 48, 73, 19,173, 72,216,147, 78, 66,246, 99,171,
+160,101, 85,211,  4,184,163,174,235,170,174,170,170,170,202,178, 40, 22,139,178, 88, 84,229,162,174, 42,  0,222,216,186,232,170,
+107,190,104,109,188, 30, 98, 93,248,161,  8,128, 33,207, 67,165,180,126,225,215,191,224,163,119,127, 34, 72,200,119,230,219, 62,
+153,131,228, 16,197,152,212,104, 18,102, 34,237,  0,203,178, 44,203,162, 40,138,170, 44,202,178,172,171,170, 42,203,186,174,131,
+123,104,154,166,169,171,186, 42,157,115,236,189,210,250,162, 35, 71,143, 30,187,124, 99, 99, 19, 32, 36,148, 49,146,  7,221,109,
+189, 13, 32, 18,145,222, 88, 95,215,225,158,226, 13,133,167,  1,  4,125,  1,128, 52,205,188,179,206, 41,165,117,221,212,101, 89,
+ 22,139,249,108, 58,157,207,103,243,249,108, 62,155,149, 69, 81, 87, 85, 23,244, 69,132,136,210, 44, 63, 56, 30, 31,188,232,240,
+120,188,174,141,129,144, 24,178,231,182,196,109,211,157,165,219, 15,121, 44, 16,234,120,112,239,  1, 80,128, 33, 74, 72, 68, 64,
+ 27,221, 84,165,247, 94,155,196, 58,103,173, 45,203, 34, 72,104, 62,155,237,238,108,239,238,156,175,171,146,148,206,243,193,218,
+120,125,188,190,177, 54, 30,143,214,214,140, 54, 65,251,218,218,186, 45,178, 57,126,224, 37, 38,155,193,173,  5, 13, 14, 90,218,
+130,171, 34, 32, 12,157,117,129,160,128, 48, 47,230,115,  1, 49,206, 41,165, 93,176,  2,173,243,193, 64, 88, 80, 88,161,160, 82,
+151, 92,122,249,250,198, 38, 34,138,116, 80, 72,  0, 13,164,119, 10,233,103,148,241,242,218, 52,184,203,197, 64, 36,232, 16, 51,
+ 51,116,199,  1,  1,  1,  6,225,134,171,170,116,206,145, 82,109,218,  8, 74,169, 44,203,141, 49,195,209,232,224, 69,135,189,119,
+236,125, 49,219, 83, 90, 39,105, 14,128,126, 25, 82,246,  9,168,251,200,183,162,138,229, 10,119, 79,  0,  9, 18,114,204,109, 64,
+104,207,197,  2,  0, 64, 74, 23,211,  9,123,214, 38,  9,110,154,148, 66, 68, 34,149,164, 42, 73,210,248,102,189,243,222, 55,117,
+197,222,121,239,  4, 80,105,195, 33, 65,104,243,198, 86, 88, 33, 45,  8,248,208, 50, 61,111, 79, 12,241,202,186,107,148,120, 99,
+241, 47,165,244,112, 52,222, 62,119,118, 62,159, 17, 41, 99,140, 54,137, 54,154, 72, 41, 34, 36,138,241,140,148, 34, 34,165,188,
+ 55,228,157,243,174,169, 42,231, 26,239,189,214,  9,144,146,158, 24,226,121, 90, 52,210,123, 23,138,133,152,230,199,  3,121, 97,
+ 16, 92,250, 36,100, 17,  0,  6, 17,173,245,214,161,139,102,147,189,237,237,243,211, 73,131, 68, 74, 41, 99,140,210, 90, 41,173,
+181, 81, 74, 41,165,144,144,144, 32,184, 21, 84, 38,205, 72,107, 87,215,141,109,156,173,189,103,101, 18,164, 80,231,176, 72,155,
+194,248,136,127,  5, 55,193,204,177, 25,176,148, 80, 23, 52,218,144, 18, 62, 25,174,141,179,193,112, 62,155,237,108,159,155,236,
+238,122,239,  0, 64,107,163,147, 36, 49, 70, 27,163,181, 49, 73, 18,228, 68, 68, 65,199, 81, 27,131,  4, 72,210,212, 77, 89,120,
+103, 81,167,164, 84,168,  8, 34, 54, 23,235, 61,239,189,151,112, 32,239,156,244, 20,104,169, 73,237,213,117, 73,207, 96, 56,204,
+243,220, 93,236,131, 59,218,219,217,217,221, 62,  7,194, 20, 51,128, 36, 77, 51, 99, 18,109,140,214, 58,156, 44,160,181, 74, 39,
+  0, 40,128, 77, 93, 88,219, 40,157,  2, 82, 43, 34, 27, 14,230,156,237, 73,104,229, 28,171,226,233, 78,217, 59, 89,150,229, 73,
+154,110, 30, 56,200,236,155,186, 46,138, 98,111,231,252, 98, 62, 91,204,103,218,152, 36, 73,141, 73, 76,146,104,181, 60,150,  0,
+ 42,147,104, 22, 22,168,171,185,243,172,116,186,132,181,157,245,206, 49,123,141,136, 31,252,171,247,115,235,162,187, 88, 14, 49,
+176,183,159,202, 74,156,239,157,125, 41, 87, 97,182,214,214,213,174,247, 14, 17, 16,149, 82,138, 20, 17, 41, 68, 68,192,232, 80,
+216, 59,103,157,109,172,173,149,206, 36,160, 36,236,189,247, 69, 89, 61,201,240,198, 80,155, 61,121, 14,115,219,109,183, 81,151,
+128, 62, 73, 30, 79,174,202,245,201,120,160, 39, 90, 74, 31, 57,114,228,218,107,175,189,230,154,107,182,182,182,180,214,204, 92,
+149,229,233, 51,167,239,191,255,254,187,238,186,107, 95,229,240,119,114,160,131,  7, 15, 62,231, 57,207,121,209,183,126,219,129,
+  3,  7, 90, 60,179,107,107,180,217, 67,248,203,135,254,132,191,247,147,159,124,219,219,223,126,239, 39,239, 45,202,242, 11,121,
+160, 59,239,188,243, 57,207,125, 46,  2,177,  8,181,  9, 62, 42,  1,230, 80,190,161,  0, 17,117,213, 54,139,132, 96,249,180, 27,
+158,254,163,215, 93, 95, 85,133,179,205,187,222,245,174,183,189,253,183, 63, 31,  0,228,216,177, 99, 15, 63,252, 48,  0, 60,253,
+166,155,126,252,199,239,220, 58,120,168,115,140,  1,162,  5,  0,246, 30,  0,  4, 49,132,236,144,241,196,144,221,226, 84,241,216,
+ 74, 33, 34,123, 63,159, 77,188,107, 78, 62,242,200,157,175,251,169,201,100,242,196,205, 30,143, 30, 61,186,190,177,241,107,191,
+254, 22, 17, 65,164, 21,111,205,204, 32,  0,212,  6, 66,239,172,117,  1, 99,112,158,189, 99,105,193,134,246, 52, 73,146, 36, 73,
+170, 20,121,207,229, 98, 54,217,219, 81, 74,149,197,252,229, 63,244,138,201,116,250,132, 14,116,231, 79,188,238,121,255,244,203,
+ 16, 16,  8, 65,  4,  4, 25, 25,  4, 20, 41,207,236,156,107,154,198,218,198, 54, 54,132, 27,231, 67,247,204,119,232,105, 44,179,
+  0,180, 49,195,225, 40,207,  7, 38, 73,  8,209, 57, 59,159, 77,207,159,125, 44, 31,140,108, 83,127,234, 83,247,189,238, 39,127,
+230,115, 30, 72,  7,144,  0, 16,132, 49,192,206,226, 69,105, 93, 59,103,235,186,105,234,186,170,  3,216,224,218,211,  4,248, 85,
+218, 68, 29, 98, 21, 75, 34,226, 51,207,194, 33, 99, 75,149, 22,129,166,105,118,206,157, 30,141,215,175,186,234, 41,191,248,166,
+ 55,188,236,229,255, 97, 95,247,246, 66,165, 70, 68, 98,  0, 36, 17,  6, 68,244,222,213, 77,211,180,104, 67, 93, 87, 77, 83,  7,
+164,148,157,227,160,195,171,249, 10, 34, 34,145, 49, 73,128,151,128, 80,107, 77, 72,  0, 50, 28,173, 77, 39,187,136,164,141,  1,
+128,215,253,196,143,189,227, 29,239,252,211, 63,123,247,103,118,140, 24,203,100, 16, 32,194, 98, 62,173,235, 58, 20,230,225,191,
+178, 88,148, 69, 89,151,101, 93, 85,117,211,  4,152,200, 59, 23,106, 74, 68, 12,233, 24, 17,133,212, 49, 73,146, 52, 73, 77,146,
+104, 99,180, 49, 73,146, 12,  6,163,251,239,253,  4,145, 34,165,148, 50, 95,251, 53, 95,243,253, 47,121,241,103,245,212, 24,209,
+148,166,174,156,231, 58, 96, 66,161, 52,174,171,186,174,109, 83,135, 20, 51,  8, 67, 27, 99,210, 52,201,178, 60,207,  7,163,209,
+218,120,188, 54, 30,143, 70,107,195,209,104, 56, 90, 27, 12,135,105,154, 26,173,187,188, 17, 16,179,124, 24,176, 34, 34,165,141,
+185,252,242,227, 47,123,233, 75, 62,163, 31, 98,  1, 68, 64,128,144,215,134, 12,215, 89,235,172,243,206,177,103,  1,192, 22,140,
+210, 70, 37, 38, 53,137, 49, 38, 73, 76,130,138, 98,112, 22, 80, 90,141,215,215,141,209,  1,110, 18, 97,103,173,179,150,217, 51,
+192,195, 15,222,127,249,149,215,  4,204, 67,233,228,240,197,151,124,251,183,126,243,175,252,218,111, 92,112, 32,137,247,222,186,
+ 31,232, 42,234,240,230,180, 49,169, 74,141, 49,249, 96,144,166, 89,146,166,198, 36,225,173,139,180,165, 58,251, 80,178, 25,173,
+ 91, 76, 80,  2,  6, 87,215, 85, 89,148,182,174, 31,123,248,129, 99, 87, 92, 77,132,236,145,136,180,210, 87, 95,115,205, 11,190,
+246,171,223,249,251,127,248, 56,158, 58,148, 97,161,236, 34,165, 66,197,131,136, 25,228,198,152, 44,203,178, 44,215,198,132,178,
+ 36,184, 39,137,  8, 78,112,153,168,141, 94, 91, 91, 99,111,  1,144, 69,172,117, 85, 85, 46,230,243,197, 98, 81, 22,243,178, 44,
+155,166,217,217, 62,127, 96,235, 96,  0, 97,  0, 73,107,115,235, 45,183,252,197, 95,190,239,252,246,206, 82,135, 58,  1,129,136,
+210, 38,203,178,225,112, 52, 94, 95,223,216, 56,112,232,208, 69, 71, 46,190,228,240,225,139,215, 55, 54, 77,154, 96, 27, 70,  4,
+ 64, 48,128, 87, 34, 34,164, 84, 62, 24,140,134, 57,123,199, 12,214,249,170,174, 23,139,197,108, 54,157,207,103,211,201,100, 58,
+157,150,139,  5,139,204,167,147,216,103, 67,164,240, 80,250,123, 94,252,157,253,156,140,186, 16,193,  0,  0,162,148, 78,211, 52,
+207,243,193,112,152, 15,  6, 90,155, 94,  5,210, 22, 72, 34, 32,128,128, 70,155, 60,207,  7, 89,162,  9,152,129, 25, 26,107,203,
+178, 92,204,230,  1, 27,153, 78, 38,179,233,116, 62,155,149,101, 33,194, 45,236, 20,204, 40, 20,192,138, 72,255,192, 75,254,237,
+138, 14, 33,132,231,134,218,183,211,159, 37,192, 26,143,  0,192, 32, 32, 64, 74, 37,198,128,176,136, 67,  2,  0, 29,  2,156,179,
+ 17,187,138,136,213,124, 62,155, 77,167,211,221, 98, 49,181, 77,169,116, 50, 28,173,  9, 11,  0, 70,164,  3, 17, 35,152,188,118,
+205,213, 87,222,251,169,  7,226,149,  9, 75, 56, 19, 68,104,  8, 68, 16,145,  5,  2, 98,194, 16,139, 88, 81,164,  7,131, 60, 75,
+ 20,161, 40,173,149,202, 88,200, 90, 91, 87,117,177,152, 47, 22,139,197,124, 54,157, 78, 38,147, 73,232,141, 78,247,118, 23,179,
+ 89, 89, 20,158,253,198,230,161,181,245,117, 36,140, 17, 27,219, 35, 17,145,210, 47,248,218,175,238,148, 90,  4, 33,194, 66, 61,
+  4,164,189,197, 86,199, 16,178, 52, 83,  8, 44, 94,155,212,  7,  2, 71,136,116, 77, 99,109,235,217,171,170,172,202,170, 44, 23,
+243,249,124, 62, 43, 22,179,178,152,123,231,178,124,116,201,101,199, 34,192,184,191,223,130,136,164,117,114,235, 51,110,106,205,
+ 94,152,  1,151,118,223,254, 83,231,  5,136,212, 32,207,188,107,144,180, 66, 29,184, 36,117, 83,133, 48,215, 52,117,192, 24,171,
+186,174,203,178,138,144,231,188, 42, 22, 85, 85, 58,107,147, 44,187,228,210,203, 15,108, 29,236, 52,160,187,181,229,161,148, 58,
+241,236,103,253,159, 15,127, 92, 11,128, 48,  4,132, 10,160,  3,130,161,213, 96, 86, 74,229,121,238, 93,163,117,  2,136, 77, 99,
+155,186, 42,171,170,174,202,170,174,154, 64,247,171,235,186,170,  2,232, 89,150,101, 85, 22, 77, 93,214,117, 35,236,211,124,112,
+241, 37,151, 30,189,236,152, 49, 73, 64,128,  4, 98,158, 37,173,248,131,148,180, 78,218, 43, 19,  1,108,113,200,213,226, 20,145,
+178, 44,115,182,238, 78, 83, 87,101,224,100,149,101, 89, 85,101, 93,150, 85, 85,197,164,160,174, 26, 27,194, 78,197,236,  9, 49,
+ 93, 27, 31, 62,124,201, 37, 71, 47, 77,210, 52, 68,228,214,195,  0, 98, 43, 36,196,160,226, 20, 12, 36,128,101,192, 75, 71,205,
+140, 93,150,150,101,169,183, 13, 41, 37,136,206,186,186,174,138,162, 88, 44,102,101, 81, 44, 22,139, 98,177,168,170,170,174, 74,
+107,155,166,174,  3,183,206,218,  6,  0,146, 36, 93, 91,223,184,232,240,197,  7,182,182,148,214, 17,116,111,177,129,128,107,  2,
+ 66,139, 36, 64, 11, 17,131,142, 70,221,235,127,181, 23, 39, 74,105, 68,112,204,168, 52, 59,111,173,173,171,170,170,138, 98, 81,
+204,103,179,217,124, 90,204,231, 85, 85,133,208, 43,194,222,123, 68, 12,205,227,205,173,173,173,131,135,242,124,128,132,210,117,
+217,162, 51,139,102,182,132, 58,131,131,  9,  7, 10,210,193, 21,180,  3,186,  3, 53,117,141,  8, 33,117, 14,250, 91, 87, 85,192,
+134,103,147,189,197,124,110,109,195,204,  8,168,180,202,243, 65, 62, 24,142,199,235,235,155,155,163,209,154, 82,212,117,132,165,
+135,203, 45, 59, 90,109,171, 34, 98,119,  8, 81, 66,161,245,178,124,106,144, 21,162,  8, 59,219,144, 50,  2,145, 14, 24, 83, 86,
+102,239, 93, 83,215,129, 34,153,164,217, 96, 48, 92, 27,175,175,173,175,143,199,227, 60,207,145, 40,160, 28,242,184, 15,  8, 80,
+ 48,203, 10,128,  2, 32,216,139,246, 29,  2,212,126,162,  0,188,115,214, 58,197,162, 32,  9,  7,  1, 64,165,149, 49, 38,116, 26,
+ 72, 81,150, 15, 14, 29, 62,178,117,240,208,120, 60,214, 38,  9,183,206,192,125,140,188,197,198,187,232, 39,208,131, 49,165,223,
+ 52, 13,220, 22,110,213,120,  5,169, 66, 12, 30,143, 69, 11,  4,159,  0, 68,168,180, 78,179,108, 96,135,227,141,141, 36, 73,198,
+  7,182, 46,190,248,210, 36, 77,187,206,172,172, 30, 69, 62,163,148,150,127, 66,104, 54,  8, 47,205,126,121,144,246, 84, 30,192,
+123,103,109,227,156,243, 70, 72,145,176, 32,146, 86,202, 36,201,112,180, 70, 72,118,173,210, 90, 11,123, 69,228, 34, 60,205, 33,
+212,180,121, 82,  7,101,237, 63, 13,175,170, 85,140, 39,129,143,212,  3,242, 96,121, 52,102,246,108, 27, 43,  0,158, 69,107, 67,
+ 68,  2, 66, 72, 33, 65, 83, 90,123,151,179,243, 77, 93,122,111,141, 73,181, 73,162, 98,244,181,119, 41,138,149, 83,197, 30,207,
+ 42, 90,216, 93, 89,204, 63,150, 54, 31, 58,122,  8,109,221, 35,194,172,180,  6, 64, 64,  8,229,169, 82, 74,140,241,161, 73,237,
+156,109, 42,219, 84,136,164,147,212,123, 23,120, 87, 43, 96,254,178,231,194,157,245, 69,  1, 44,139,152, 86,135,224,130, 43,235,
+ 58, 71, 77,211, 56,231, 60,167,218, 27,165, 20, 81,200,233,128,136,128,136, 72,177, 82,164,116, 56,150,247,206, 46, 26, 68, 34,
+109,218,118, 69,200,116, 99, 27,161,227,135, 68, 70, 78,175, 59, 20,117, 40,246, 17, 49,252,201,129,181,215, 38,109,146, 36,233,
+124, 62,183,182,177,206, 37, 73,162,141, 81, 20,187, 11, 49,205, 67, 36, 84,162,160,245,254,100,155,198, 57,203, 77, 77, 74, 35,
+233,246,174,160,109,253,116,  4, 49,232, 65, 40,194,177,135,  6, 26,132, 25, 56,164, 94,173,  6, 44, 33,106,147, 36, 73,146,206,
+166, 37, 55,181,109,154, 36, 73,149,209, 74,233,208, 87, 32,234, 60, 62, 16,169,144, 16,106,147,  8,  0, 55,117, 83, 23, 72, 10,
+ 64,145,210, 44,158, 91,121, 68, 87,198,221,221,197,223, 33,193,208, 18, 10, 81,216, 15,150,119,127, 12,134,195,178, 44,138,249,
+204,130,109,154,198, 24,163,181, 86, 58, 94, 31, 41, 69,136,225, 84,  1,114,  8,173,109, 49, 34, 34,214,214,222, 87, 74, 39, 72,
+ 90, 90,121,180,232,146,239, 14,215, 53,178, 58,142, 93, 84,106, 70, 70,193, 96,181, 32, 16,226, 63,145, 26,175,111,216,166, 89,
+204,103, 13, 87,181, 82, 74, 27,173,117,128,235,149,210,161,102, 13,  0, 65,204,235, 48, 20, 95,204,204,226,185, 41, 11, 32,210,
+ 38,237,105,115,255,112,220,181,210, 98,232,136,158, 99,213, 76, 97,233,186,197,152,100, 99,243,128,243,126, 62,221,243, 77, 13,
+  0, 74,105,109,140, 49, 70,107,163, 77,144,150, 14, 77, 14,128,216,195, 65, 84,164, 52,105, 38,102,107, 43,103,173, 74, 50,136,
+ 30,101,213,  2,219, 94, 94,203,139,244,188,255,186, 96,217, 62, 11, 78, 33, 73,211,173,173, 45, 69,180,179,125,174,170,170,  0,
+119, 24,147,152,196, 24,157,104,163,181, 73,180,214, 74, 41, 34,133,132,225, 80, 72,138,148, 86,138,157,243,222, 85,174,176, 38,
+ 25,196, 11,235,122,104, 49,204,176,136,239,204,222, 71,151,136,109, 53,  4, 44, 93,  9,210,218,166, 54,201,198,129, 45,165,245,
+100,119,103,178,183,219, 84,101, 83, 87,164,148, 49, 38, 73, 50,147, 36,198, 36,161,109, 21, 46,177,205, 43,  8,149, 82, 70,123,
+175,197,214,101, 49, 53, 73,222,111, 48,118, 26,205, 62,132,142, 62,174,194,251,250, 65,253, 47,177,  0, 16,209,218,120, 61, 77,
+179,193,104, 52,157,236, 77,118,119,235,170,180, 77,221,212, 77,146, 36, 73, 26,143,165, 77,212,173,  8, 54,132, 67,105,237,189,
+231,166,168,188, 87, 38,139,161, 32, 52,207,186,126,226, 62,199,120, 97,135,234,194, 51,137,136,214,102,125,125, 51,207,  7,227,
+241,250,116, 58,157,236,109, 91, 91,135, 65,  5,147,166, 38, 73,147, 36,209,218,104,173, 66,219, 69, 68,  0,  9, 73,147,242,164,
+ 77, 83, 21,236, 25,149,105,155,192, 45, 30,231,125,239, 64, 43,241, 21, 86, 78,214,217, 97,123,160,224, 63,148,210,131,225, 90,
+154,229,107,227,241,116,111,111, 58,217,109,108, 19,102, 61,216,123, 99,156,211, 90,107, 67,138,176,197,123, 66, 51,146,148,169,
+203,133, 74,  6,  2,200, 34,  1,165, 12,210,106,205,190, 45, 89,247, 55,203, 58, 70,193,227,228, 15,209, 84, 17, 41, 77,179,  3,
+ 91,  7,179,124, 48,217,219, 13,249, 53, 51,123,159, 24,147,  8,115,128,177, 48,204,109,  0, 34, 42, 34,141,164,170, 98,106,210,
+ 97,119, 99,161,197,  8,  0,250,209,147, 39,185, 77,113,165,107,146,245,187,102,189,191, 59, 26,194,210, 22,151, 22,201,222,115,
+224, 27,137, 48, 34,117,158,179,141, 51,  8, 16,179, 77,231,172,107,106,129,109, 82, 42,176,181,132,125, 24, 10,193,219,110,187,
+109,119,119,119,111,111,239,201,214, 22,250,255,251, 16,145,141,141,141,205,205, 77, 13,  0,147,201,228,145, 71, 30,249,  7,161,
+ 92, 72,242,220,220,220,164,127, 16,196,223,179,118,226, 63,  8,232,239,217, 67,255,237, 95, 98,109,109,237,196,137, 19,215,223,
+112,195, 77, 55,221,116,248,240,225,214,126,187,  0, 20,129, 38,110, 17,185,182,250,216,151,117,  8,123,255,137, 79,124,226,222,
+123,239,189,247,190,251, 62,252,225,143, 88,107,255,158,  9,136,136,190,252,246,219,191,248, 75,190,228,154,167, 92,115,232,208,
+161,124,144, 67,108,175,116,144, 83,139,169,244,249, 41,109,228, 85, 72, 65, 50,  4,  0, 34, 10,128, 85,247, 77, 17, 34,186,245,
+153,255,248,150, 91,159,233,156, 67,132, 48, 28,226,217, 79, 39,147, 83,167, 78, 63,244,224,131, 31,248,224,  7,239,250,232,221,
+ 79, 34,  1, 29, 63,126,252, 25,207,120,198, 55,191,232, 69, 71, 46,190, 56,240,255,100, 95, 36,140,125,195,  8,248,139, 72, 44,
+ 53, 64, 16, 16, 65, 32,212,105,128,161,251,213,  1, 24, 65,120,212,125,220,149,166, 32,128,160, 52,133,239, 81, 58,  3,132,124,
+ 48, 62,116,228,232,211,110,184,241,246,231, 63,223, 57, 11, 34,206,186,143,220,245,145, 63,127,247,123,238,255,212,253, 79,164,
+169,252,133, 20,208,209,163, 71, 95,121,199,171,110,190,249,230,144, 43,198,126, 24,119,229, 59, 68,  8, 64, 68,136,128,133, 48,
+112,170, 25,145, 90,182, 18, 32,138,239,120,147,203,249, 21,150, 94, 49,182, 10, 59, 46,197, 22,236, 17,145,  8, 49,176,178, 66,
+194,171,181, 73,210, 60, 52,234,155,186,186,241,233, 55,221,120,195,141, 72, 36,236,157,119,127,252,199,255,243,119,255,219, 59,
+246,119,  7,190, 32,193,254, 57,207,121, 78, 85, 85, 95,247,245, 47,188,245,214,103,142, 55,198,194,208, 94, 58,  6, 78,188,136,
+ 32,196,191, 58, 90,  1, 17, 17, 97,236,198, 44,105,137, 29, 87,146, 59,190,195,146, 31, 34,125,210,105,132,196,161,195,173,123,
+192, 48, 96, 72,185,149,210, 74,235, 68,107,173,141, 86,164,144, 66,221,  9,222,123,231,154,166,170, 23,139, 89, 85, 46,178, 60,
+ 15,229,134,115,238,204,153,211,239,126,247,123,254,228, 79,255,252,111, 47,154, 99,199,142, 29, 63,126, 28, 79,156, 56,241,149,
+ 95,245,207,110,255,138,219, 91,233, 35,196, 62, 86, 44, 96,161,237,145,176,103, 34, 36,165,195,164,167,247, 28, 89,135,206,133,
+ 25,205,254,124, 23,183, 53,205,178,106, 95, 82,163,151,101, 84, 31, 22,235,154,226,208,182,218,147, 36, 77,210, 88,  6,107,109,
+ 66,177, 16,250, 54, 44,226,157,107,154,186, 42,139,233,100,215,214,229,112,109, 61,136,222, 59,  7, 34,101, 81,188,243,247,127,
+255, 47,254,242,125,206,185,191,141,128,116, 11,229, 43, 22,  9, 77, 16, 68,  1, 17, 20,144, 80,176, 80,160,247,121, 36,242, 44,
+141,173,  2,217,144,189,111,201, 31, 97, 10,198,245, 20,200,119,152, 70, 31, 76,236, 66,216,190,218, 15,164,215, 85,128, 88,177,
+ 73,146,232, 14,239, 19, 16, 16,  4,  8,253, 89, 36,  2, 17,214, 90,105, 29,112,160,249,108,178,187,125, 62, 31, 12,179, 60, 71,
+ 64, 47,146, 15, 71,223,240, 13,223,248,207, 95,248, 66,219, 84,191,244,203,191,114,207,231, 59,178,164,187, 99, 17,182,238, 52,
+152,151,  8,130, 32, 98, 89, 22, 97, 66, 40,216, 76, 39,148,118,182,220,133,143, 34,199,183,141,220,251,197,209,135,  6,162,162,
+194, 42, 55, 64,176, 69,223,  0, 81,136, 16, 16,  9,  9, 81, 17, 17, 97,176,183,128,242, 68,  1, 49,  7, 12, 42,128, 54,158,253,
+246,185,179,117, 85,109, 28,216,  2,239, 24,192, 32,122, 79,128,244,221, 47,254, 46,231,236,221, 31,251,216,175,190,249, 45,159,
+175,147,198,182, 93, 21,  0, 66,  9, 51, 66,182, 44, 75,223, 18,167, 60,  7,177,  4,197,105,  5, 20, 63,115,113,134,255,  2,227,
+233, 58,188,203, 10,167, 67,138,130,211,111, 17, 92,192,229, 28,143,214, 42, 73,211,196, 36,105,154,166,105,150, 36, 75,176,137,
+ 58, 43, 99,  6,  0,142,228,109,109, 76, 58, 24,142,118,206,157,157,207,167,151, 94,126, 37, 88,203,  4, 42,254, 40, 68,196, 27,
+111,184,225,231,126,230, 39,239,185,231,158,223,248,205,183,149, 85,245,255, 28,197,164, 11,200,  0, 68,196,222,213,117,237, 89,
+122,147,158, 29,  9,123,169, 56,206,187,192,240,237, 28,112, 80,132,150,170, 28,116,147,144,144, 72,117, 84, 30, 34, 12,138, 16,
+160, 16,236, 30, 81,125,227,  0, 76,146,164,105,154,182,216, 96,252,230,208, 13,245,237,220, 65, 60, 19,251,  0,176, 41,109,118,
+182,207,231,131,225,230,129,131,200, 32,  8,164,128,  1,  8, 64, 35,122,239,175,189,246,139,126,244, 53,175,124,232,193,135,222,
+252,150,223,124,220,129,173,199,157,223,138, 13,171,  8, 47,  3,  9,179,243,190, 29,190,135, 14, 34,141,142, 57,254,118,158,125,
+108, 79, 34,118, 40, 98,136,203,154,148,210,129,175,172, 84,176,141, 22, 52, 38,  2,  4, 66,138,169,210, 10,109,163,103,142, 68,
+148, 36, 38,207,115, 69, 74, 80, 98,107, 24,164,195, 70,173, 13,252,128, 58,126, 80, 55,214, 90,231,157,247,238,129,123, 63,241,
+180,167,223,154,102, 89,152, 16, 32,138, 93, 72,165, 16,  0,156,133,203,143, 31,191,227, 21, 63,244,192,253,247,255,242,175,190,
+229,  9,106, 80,200,244, 66,110, 39,125,142,  1, 34,119,126, 42,186, 40, 34, 98, 82,164, 16, 41,208, 68,144, 66, 84, 14,248,121,
+196,171,149, 86,132,132,109, 55, 23, 87,166,122,122,238,136, 65,176,157,159,138,226, 38,173, 85,154,101,105,150, 18,  2,179, 13,
+ 57,168,180, 83, 66, 45, 79, 62,200,167, 14,195, 55,145,138, 86, 85,214,218,233,222,238,223,220,253,215,215, 94,127,115,154,229,
+ 24,232, 67,136, 68,196, 44,132, 74,105, 64, 68,  7,120,197, 85, 87,189,230,142, 31,126,231,239,189,235,195,119,221,253, 57,  4,
+ 36,  0,204,136, 40,216,182,199,137,148, 54,128, 68,129, 66,163,156,247, 74,155,174,128, 10,178,164, 72,141, 10, 19,  0, 33,  6,
+ 99,244, 98, 75,127,220, 57,108, 12, 91, 15,130, 52, 36, 82,107,130,228,130,228, 67,199,196, 36,137,209, 10,132,197, 89,  7, 81,
+190,145,206, 26, 66,166,181, 77,171, 63, 77, 59,189, 86,182,252,129,166,174,  5, 96,178,183,187,125,254,220,225, 35,151, 40, 29,
+  3, 17, 18,130, 32, 18, 18,144,136, 34, 37,  0, 96, 18,252,186, 23,188,224, 43,190,252,121, 63,247,198, 95,170,235,230,241,  5,
+ 20, 69, 18, 38, 73, 66,159, 12, 65, 32,178,255,148, 82, 34,105, 32,238,247, 32, 79,192,158,223, 13,201, 53,  6,122,  6,153,118,
+ 70, 93,  0,  0, 11,198, 73, 68, 65, 84,246,184, 25,136,253, 97,182,158,116, 36,230,162, 24,205, 83,107, 77, 20,148, 55,228,158,
+ 81,110,204,194,226,195,102,151,200,204,179,214, 89,219,116,195,125,113,158,110, 81,149, 69, 81, 20,101, 49, 15,155,168,180, 49,
+ 77, 93,123,231, 72,169,158,110,162,244, 88, 65,136, 18, 24,121,131,209,248,101, 63,240,189,111,125,251,127,125,224,161, 79, 63,
+174, 15, 10,195,126,193,210, 34,169, 33,188,215, 72, 17,  1,  1, 65,173, 85,152,236,108,195,157,136, 96,219,151,141,211, 94,130,
+ 93,217, 26, 97,229,182,122,141, 76,  4, 36,210,237,233,226,108, 71, 60, 58,183,236, 55, 98, 17,  8,219, 27,218,141, 55, 62,144,
+128,227,170, 26,219,216,198,134,209,190,192,202,169,138,170,172,234,170,168,170,210,214,165,117, 22, 17,179,124,148,164,169,  0,
+ 98,119, 38,192, 46,  8,133, 68, 66,  4, 73, 72, 68, 17,137, 50,233,191,252, 23,223,120,247,221, 31,127,231, 31,252,247,199,247,
+ 65,220, 50, 79,  0,195, 96, 18,  0, 50,  0,114,156,119, 13,  4,162, 37, 21,140,121,105, 67, 32, 32,216,249,146,126,237, 26, 24,
+101, 33, 90,117,205, 60,223, 94, 34,  9, 98,219,161, 16,241,178, 28,164,106,183, 79,133,209,111,239,156, 13,203,169,218,237, 59,
+ 77, 83,135,137,228,170, 42,155,186,170,235,202,214,181,109, 42,231, 29,138,100,195,209,198,129,131,227,245, 13,173, 53, 68,174,
+ 24, 70, 14, 51,198,207,163,188,144,  0, 37, 68, 85, 17,121,218,117, 79, 77,179,244,119,223,241,  7, 93,254,173,151,252, 59,233,
+184, 59,128,192,  0, 24, 10,112, 64, 16, 22,196,104, 25,161, 72,  7,224,110,138, 38, 26, 29, 47, 53,  6,  0, 34, 41, 87, 17,  0,
+  8,123, 16, 70, 82,161,151, 32,164,195, 55,249,174, 28,241,203, 89,169,229,  7,109,206, 21,213,198,  6,227,138,206,167,174,235,
+166,142,220, 50,103, 27,219,212, 97,172, 73,145,202,135,195, 67,135, 46, 62,112,232,162, 60, 31, 42,173, 58,114, 18, 17,120,223,
+ 86, 83, 75,122, 82, 40,177,163,185, 49,169, 43,143, 31,255,142,111,251,166, 95,252, 79,191, 22, 57, 12,157, 27,229,168, 58, 45,
+125,  9, 56,128, 23,216,242,207, 66, 56,235, 13,174, 71,231,139, 75,239,133, 65, 42, 70,107, 68, 96,118,  0,140,168,208, 36,145,
+ 66, 17,106, 88,207, 18, 50,114,207,222, 89,191,172,235,186, 81, 55,142,217,103,107, 89,174,167, 62,145,235,110,173,179,181,181,
+214,219, 38,164,169,138, 84,146,165,195,181,241,214,193,195,  7,182,182,242,193,  0,145, 32,188, 49,  1,137,221,107,132, 56,109,
+ 29, 75, 41, 89,114, 39, 41,148,128,172,120,109,109,252,157,255,234,155,255,244, 61,239,147, 48,174,  9,171, 60,129, 96, 41, 24,
+181, 34,124, 17,123,233,113,164,171,181,150,  7, 44, 28,124,139, 54,218, 40, 37,194,236, 29,144, 82,202, 32, 82, 28,200,228, 94,
+150, 25, 31,182,151,119, 46, 21,198,123, 27, 63,183,182,245,203,157,  6, 53, 65, 82, 97,135, 95, 24, 73,  8,180,171, 52, 27, 12,
+ 71,163,241,250,230,230,230,214,104, 60, 54,198, 32, 96,104, 16,183,212,185, 96, 17, 34,203, 17,111,145,125,209, 38, 66, 58, 68,
+ 74,175,141,215,111,249, 71, 55,157, 60,117, 70,183, 62,180,125,243,193,169,162,112, 12, 57, 24,233,166,130,209,126, 91,186,125,
+155,215,133, 24,100,140,214,204,206,251,  6, 81, 41,147, 32,146,136,184, 78, 43,194,123,116,237, 62,133, 32, 32,231, 93, 55,245,
+103,109, 40,232, 98,229, 27,191,182,116,207,221, 30,177, 80,177,135, 58, 67, 41,157,228, 73,150, 15,198,235,155,235, 27,155,163,
+181,145, 49,  9, 17,245, 97, 38,236,200, 37,128, 61, 72,165,155,227,107,249,214,216, 18,240,162, 58, 81, 75,198, 91, 42,  9, 75,
+112,203, 81,153,184, 83,150, 46,143, 89,202, 17, 25, 17, 68, 80,107,149, 36,  9,162, 56, 87,135,  9,133, 16,156,124,251, 94,163,
+101,216,166,117, 35,193, 58,130,207,109, 58,117,242,173, 77,113,171, 81,  1, 48,241,109,221,215,173,166,  0,  0,165,117,162, 77,
+146,102,195,193,112, 52, 30,175,173,141,179,124, 16,136,231, 29, 23,105,201,168,235,100, 33,203, 65,198,150,132,222,149,139, 45,
+ 79, 57, 40, 20, 34, 80, 28,176, 91, 58,105,230,142,242, 26,129, 32,232, 49,183, 17,187,118, 56,  4,150,  5, 17,133,156, 57, 96,
+122,132, 10, 73,181, 83, 66, 62,184,143, 54,103,169,235,166,177,117, 29, 92, 72,240, 35, 77,211,116,170,225, 90,213,104,107,153,
+184,242, 38,210, 65, 36, 44,163, 82,164,148,209, 58,201,210,124, 48, 28, 14, 70,249,112,152,231,  3, 99,140, 82,203,249,168, 37,
+185,160,243, 27, 45,  8, 37, 75,106,254,146, 29,222,  1, 10, 75, 48, 50, 74,106, 69,131,218,111, 71, 89,146,190,123,195,227,161,
+ 30, 16, 94,122,159, 64, 18, 52, 90, 57,215,120,231,136, 72, 16, 88,  4,188, 23,145, 40,157,232, 77,227,190,146,118, 67, 71, 21,
+184,186,117, 93, 91,107,131,130,  4,120, 13,162, 41,192,178,200, 71,212,202, 40,173,147, 36, 73,210, 52,207,  6,217, 96, 48, 24,
+ 12,146, 36, 53, 70,135, 42,151,133, 81, 96, 21, 85,105,149,190,  7, 86, 10, 64, 88,177,213, 50,224, 90, 22, 27,244,152,247, 45,
+220, 27, 81,176, 94,152,151, 62, 47,144, 35,160,  8, 45,213,  7, 59,133,100, 14,101, 13,  4,216,193,218,198,217,166,205, 41, 56,
+ 88, 96,240,188, 54,228,117,182, 53,172, 88, 87, 86, 85, 89,150,101, 89, 85, 69, 93,215,174,169,  3,126, 20, 23, 32, 40, 29, 65,
+ 31, 82, 58, 73, 76,192, 58,178, 44, 44,119,  9, 11, 10, 21,169,128, 86, 49, 95, 64,251, 90,150,187, 43,  4,205,152,183,181, 84,
+186, 30, 65,178, 75,145,151,210,234, 91,221,190,106,126,255, 50,137,248, 83, 49,228,202, 75,220,143, 69, 66,  9,194,206,217,166,
+246,236,  1, 64,  9, 16, 49, 32,  5,196,154,195,186, 46,137,236,181,200,245,143,179, 26, 68,161, 36,119, 54,140, 97,135,141,  6,
+121,158,167,249, 32,203,226,106,172, 52, 77,181, 49, 97,190,  7,169, 55,185, 28,192,236,149, 55,198,171,108,157,222, 34,138,110,
+  5, 71,252, 23,232,129, 84,189,192,125,129,128, 59, 93, 90,209, 32, 94,142, 74,  8,180,201, 38,  4,141,236,125,  1, 99,233, 40,
+206,219,166,105,152, 61, 18, 49,139, 82, 10, 73,245, 41,163,  8, 64, 24,214,108,153,214, 65,  4,129, 51,139, 35,132, 36, 73,144,
+104, 48, 92, 91, 95,223, 24,141,199,249, 96, 96,180,  9, 56, 81, 40,111, 90, 64, 82,194,152,220,  5, 32,246,138, 46,244,160,186,
+ 62, 19,122, 73,  5,231,142, 88,212, 49, 54,185, 99, 34,247,189, 58,119,185,229,138,  6,245, 10,240, 40, 42, 89,146,116,  4, 91,
+242,126,200,170,187,218,136,217, 67, 88,118, 20, 55, 13, 80, 75, 55, 14, 67, 94,164,148,  2, 17, 48,  9, 66, 28,122, 51,218,100,
+ 89,106,109, 13, 44, 74,171,192,255, 30, 12,135,198, 36, 29, 84,184,140, 50, 45, 88,213, 49,  5, 87,109,106,229,157,237,163,104,
+239,223,  3,176,106,131, 32,251,168, 79,157, 24,177,207,224,214, 29,127,140,151, 93,209,149,190, 96,175,245, 25,171, 48,239, 37,
+154,152,181,129,248, 27,141, 39,206,242,199, 49,194, 86,101, 34, 37, 15, 49,178,209,125,150,229,126, 24,234,172, 88,214,249,166,
+ 42,132,147,148,148, 10,184,124,139,139,131,244,169,213,189,165,  2,171, 28,254,207, 70,245,234,217, 28,195,231, 32,148, 75,183,
+158,177, 51, 69,221, 25,  5,243,138,137, 45,185, 93, 75,161,197,111,195,152,150,  6, 88,207,  5,183, 78, 20, 40,185,113,223, 65,
+155, 83, 66,151, 76, 18,162,136,104,173, 89, 12,175, 48,113,227, 62, 22,107, 27,104, 98,197, 79, 68,136, 42, 20, 77,225,115,110,
+217,140,125,244,177, 93,119,246, 56, 12, 84,238,  8,219,221,187,223,207,110,135,199,213,184,190,243, 94,201,131, 62,131, 68, 58,
+155,195,126,218,  9, 34,  0,132, 68,204,236,108, 35, 65, 83,108,196, 90, 41,190, 67,236,101,241, 24, 90, 17,  8,130,130,138,116,
+139,151, 45,199,187, 91,169,113, 59,108,237,132, 25, 80, 16,  9, 81,  5, 28, 39, 24, 44,175,188,149,214, 11,115, 39,177,229,222,
+170,126,115,165,123, 90, 59, 16,192,253,225,247,238, 69, 65, 86,154, 83, 49, 15,138, 49,  7, 87, 68,211, 73,168,243, 88, 93,132,
+107, 81, 71,173,181,137,252,113,142,195,190, 74, 41,165,116, 23,180,250,120,124, 91,248,  4,164,140,  0,  5,  5, 69,129,  8,129,
+112,219,203, 97,234, 52, 43,182,115,152,165,  9,192,147,  5, 64,162,112, 55,  1,141,235, 20,135,123,241,234,194,225,131,246, 61,
+119,211, 36, 75,170,125,123, 69,220, 13,  5,112,140,233,210,243, 65,237,172, 69,175,139,119, 33, 99, 99,191,118, 33, 82,146,166,
+109,189,105,189,231, 22,192,215, 42, 12,189,168,  0, 93, 35,117,104, 44, 46, 25,241,171,172, 72, 12,123,117,  3,172,200,204,136,
+ 28,  9,215, 20,185,176, 97,143, 17, 91,219,210,214, 81, 41,141,168,186,112,183,127, 83, 11,175,204,180,180,  2,  1,190,112,148,
+164,219,124,217, 77,229, 74, 79,131,186,103, 96,155, 69, 75, 15, 78, 95,186, 18,108, 65,159, 56,169, 28,223,100,154,231,  0,176,
+ 88,204,156, 43,157,115, 17,107, 33,213, 53,118,130,247,198,182,231, 19,161,  5,164,182, 75,216, 45,219,235,117, 20, 17, 16, 72,
+132,195,119, 49,162, 66,194, 72,  2,247,  1, 44, 97,246,222, 54,225,109, 40,147, 16,169, 94,163,191, 93, 81,215,115,207, 93,  6,
+  2,113, 12,170, 91,227, 41,126,149,220,222, 45,243,130,222,150, 60, 94, 78,181,244, 93,116, 79, 97,160,191,243,177, 99,232,138,
+ 32, 96,146,102,168,148,214,166, 88,204,171,170,242,206,177,212, 97,106, 98,201,209, 32, 21,210, 68, 84,138, 90,157, 10, 13,179,
+168, 87,203,113,139,190,106,181,113,  1,137,  0, 65, 35, 32, 33, 19,162,243,158,188,247, 32,  1, 46,104,  0, 17, 73, 19, 82,200,
+ 87, 47,200, 26,165,219, 35,219, 55, 40,238, 51, 44,186,177,132,118,140,108,213,  7, 45,233,245, 61,161,244, 51,207,149, 32,  7,
+176,210, 73, 22,173,244, 96, 56,210,218,152,164, 40, 22,243,186,170,172,109, 68,154,184,136, 32,136,  2, 85,235,155,218,212, 58,
+238,222,162,214,175,183, 61,179, 22,160,109, 89,223,189,208,213, 54, 37,  1,  9,  0, 61, 32,  1,178,247,222, 91,182, 54,142, 28,
+144, 38,165,151,140,105,142,227,142, 75, 91,107,199,105,132,187,249,173, 56,  6,212,114,  9,188,244,125, 80,231,151,  0, 97,  9,
+ 46,  7, 72,  8, 99,153,218,161,101,  1,141, 70,  4, 94,253,119, 68, 52, 73, 26, 38,221,170, 69,177, 40, 22, 85, 85,218,166,182,
+ 77,195,221,202,227,214,143, 99, 59,118,210,174, 76,136,146,194,158,176, 66,131, 30,  3,140,133, 43,236,159, 16, 55,149,214,128,
+  8, 30,176,221, 76,224,189,243,182,113, 82, 11,160,210,  9, 41,213, 91,132,210,250,151, 22, 57, 89,142,215,200, 50,139,232,207,
+217,244,157,180, 95,118, 32,122,230, 35,176,132, 14,250,176, 64,111,190, 82, 86,225,  2, 65,196, 36, 73,181,210,249,112,216, 52,
+ 77,177,152, 47, 22,243,186, 44, 27,219, 44,215,  1,199,236,  6, 91,225,232,118,168, 94, 71, 40, 59,184,246, 96,140,234,113, 67,
+ 97,204, 56, 66, 49,195,200,180,236, 91,160,247, 14,216, 55,213, 28,144, 72, 27,165,140,180,100, 36,217, 55, 75, 19,215,128, 44,
+195, 26, 47,247, 10,175,104, 16,203,202, 82,195, 85,212,109,245, 11,242,120,214,118,161,241,145, 82,105,150,153, 36, 25,141,215,
+109,211, 84, 85, 89, 44,230, 85, 89, 52,117, 99,157,101,239,156, 11,153,116,112, 68, 49, 63, 80,237,148, 78,224, 79,133,228,179,
+ 83,173, 24,230, 90, 81,117, 59,189, 34,229,138, 64, 84,232, 41,160, 19, 12, 37,145,179, 53,145, 38,149,132,  5, 40,189,133,125,
+ 75,103,180,178, 20,143,123,  4,149,190,128,186,137,141,254,123, 70,196, 54,195,142,195, 64,  1,235,237,125,  9, 91, 82, 98,175,
+ 64,234, 75, 11,128, 72,165, 89,106, 18, 51, 26,173, 49,123,107,109, 85, 85,101, 48,192,186,113, 46, 96,207,214, 54, 77,103, 95,
+173,164,150, 10,165,180, 34,165, 58, 49,133, 40,216, 75, 16, 90,240,129, 84,104,196,171,200,  5, 67, 17,112,174,225,166, 18, 80,
+ 73,146,  9, 66,107, 81,113, 14,170,167, 80, 97,189, 33,123,246,226,125, 55,187,218,213,223,188, 47,116, 44,185,187, 43, 62,121,
+165,124,238, 42, 93,150,213, 58, 69, 86,212,109,185,247, 82,169,  4,201, 36,201,104,180, 22,122, 27, 97,160,186,174,235,248, 63,
+ 37,  9,211,178,206,161,237,100, 21, 54,  3,234,182,226, 11,117, 11,182,179, 96,221,  4,100,191,  0, 84, 68, 34,162, 69,117, 25,
+143, 19, 87,151,174, 38, 74,148, 73,226, 40,244,234,108, 38,199, 21,239, 62,174, 97, 92,241, 65, 97, 49,102,251, 30, 47,100, 55,
+  1,226, 62, 59,234,131, 68,203,116,251,130, 89,156,149,165,118,251,  6,229, 16,148,210,131,225, 48,207,  7,204,236,156, 13,  3,
+232, 85,232,  2,218,166,219,141, 78,138,108,204,168,116,183,225,174,157,197,108, 19,171,150, 20,223, 70,141,208,132, 87,162, 64,
+  4, 84,248,119, 91, 91,187,112,174, 65,101,  8,169,183, 21,169,219,180, 24,247,155,178,247,225,206,117,196,124,150, 21, 62, 66,
+ 95,151,250,  0,230, 74,117,182, 34, 23,232,117, 16, 87,  8, 45,112,193,175,253,131, 96,221,118,  5,212,198, 40,173,211, 44, 31,
+250,246,255,148, 17, 87, 57, 55,129,220,202,236,208, 57,165,136, 72,183, 99, 86,145,103,212,149,126,173,255,110,253, 40, 41, 18,
+ 17,165, 68,132,148, 48, 51, 48,187,166,244, 82,106,147, 19, 81,111,176,143,133,189,116, 20, 66, 31,  9, 71,120,219,109,183,201,
+  5, 20,232, 39,195,164,205,147,228, 24,255, 23,101,110,253,130,218,250, 28,224,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
+  0};
+
diff --git a/source/blender/editors/datafiles/fill.png.c b/source/blender/editors/datafiles/fill.png.c
new file mode 100644 (file)
index 0000000..010cd5c
--- /dev/null
@@ -0,0 +1,534 @@
+/* DataToC output of file <fill_png> */
+
+int datatoc_fill_png_size= 16892;
+char datatoc_fill_png[]= {
+137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  0, 96,  0,  0,  0, 96,  8,  2,  0,  0,
+  1, 26,253,208,249,  0,  0,  0,  4,103, 65, 77, 65,  0,  0,177,143, 11,252, 97,  5,  0,  0,  0,  6, 98, 75, 71, 68,  0,  0,  0,
+  0,  0,  0,249, 67,187,127,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 13,215,  0,  0, 13,215,  1, 66, 40,155,120,  0,  0,  0,  7,
+116, 73, 77, 69,  7,218,  7, 19,  0, 34, 12, 33,249,187,131,  0,  0, 32,  0, 73, 68, 65, 84,120,218,236,188,119,144,101,217,121,
+ 31,118,206,185,231,230,252, 82,231,158,188,121, 54, 47, 22, 27,176,136,  4, 68,144,  4,  8,154,169,192,146,138,182, 44,148,196,
+114,209, 42,209,170,146, 44,217,170,178,252,135,139,150,108, 73,150, 92,101,131,162, 77,194,  4,109, 70,145,  6, 72,  0,139,184,
+187,216, 93,108,158,217,221,217,137,221,211,233,245,235,151,110, 78, 39,250,143,251,122, 22, 18, 19, 68,211, 37,200,165, 91, 83,
+ 93,175,167, 95,223, 62,247,203,223,239,247,125, 15, 62,245,212, 83,224,207,188,254,141, 55,253,200, 71, 30,251,163,239,193,183,
+ 94,237, 92,121,249, 11,159,251,236,169,179,235,255,248, 31,253,195, 34, 26, 29,238,110,255,214,175, 63,253,203, 95,122,  6,  0,
+128,165,148, 47,125,229,127, 91, 61,115,255, 23, 63,247,191, 62,242,196,131,253, 19,231,155, 50,221,187,113,245, 11,191,243,204,
+  7, 63,252,240,223,250,175,255,230, 91, 47,189,128,164,148, 27,183, 63,242,135,191,246,217,251,223,115,239,218,109,143, 50, 90,
+ 15,175, 95,252,195,223,123,238,135, 63,245,254, 39,127,248, 39, 38,251,215,176,138,149,141,205, 77,191, 25,158, 58,187,126,242,
+252,  7,234, 50, 74, 71, 55, 76,215,123,224,145,187, 79,221,251,100,124,120, 37,141,162,167,191,248,  2,134, 16,186,174,125,238,
+225,143, 54, 69, 68,171, 20,  0,168, 96, 13,  2, 36, 57,141, 39,163,195,253,241, 97,148, 33,  0,192,195, 31,250,161, 38,159,113,
+ 82,125,251, 43, 95,129,138, 34, 57, 91, 58,253,192,222,229, 23,  9,161,191,242,175,158,249,153,159,254, 48,  2, 82, 82, 82,209,
+166,186,250,198,119, 46,191,117,243, 91, 79,191, 40,165,216,190,248,117, 70,217,231,127,245, 75, 31,127,252,252,131, 31,252, 17,
+  4,  0, 32,101, 66,203,248, 43, 95,124,225, 61, 79,158,255,201,207,252,117,172,234,164, 33,219,215,246,128,148, 63,240, 35, 31,
+209, 77, 15,  1,  0,104, 93,188,240,205,231,187, 61,239,222, 71,159, 16,156,206, 70,251,117, 89,125,238,247,158,251,212,143,127,
+112,233,204, 67, 55,223,252,  6,  2,  0, 84, 69,124,225,181, 43,247, 61,124,  7, 84,240,246,197,103, 73, 67,126,237, 87,191,252,
+241, 39,206,223,247,196, 71, 56,169, 47,188,244, 38,252,158,116,247,189, 92,112,161,184,171, 47, 95,126,233, 43,219,215,246, 30,
+121,223,163,154,233,214,197,252,139,191,241,229,171, 55, 71,159,255,234,183,  1,  0,240,202,107, 95,242,186,155, 47,127,229,255,
+204,210,226,125,159,248,116,157, 71,180, 78,127,245,127,250,101,203, 54,222,255,177,247,134, 75, 27,207,124,233,105,236,247, 79,
+188,245,220,239,102,105,254,161,255,232, 63, 41,179,153, 20,244, 55,126,233,215,188,192,249,209,191,252,147,118,184,118,241,185,
+ 47,178,134,225,209,245,151,247,182, 14, 63,244, 99,159,174,138,185, 96,205,107,207,124,237,147,159,254,  4,169, 50,127,112,250,
+202, 75, 95, 98,132,125,241,249,139,202,131,167,150,223,251,161,167,116,203,101, 77,245,198,183,191,126,199,  3,247, 67, 41,156,
+112,121,120,253, 85,210,208,127,241, 47,255,239, 31,249,192,131,232,236,237,155,225,202, 57, 82,101,243,225,181,213,181, 37,193,
+ 40, 68,184,204,102,148,210, 23,190,245,218,221,235,131, 31,248,177, 79,161, 51,247, 63,149,207,135,164, 46,126,235, 87,191,248,
+250, 43,239,236, 94,187,230,247, 55,179,249, 52,137,178, 23,223,222,254,196, 79,125,196, 27,156,194,101,114, 36, 56,123,249, 91,
+207,234,134,246,193,143,255,128,219,223,220,121,243, 89, 74,217,191,248,229, 47,126,250,147,239, 59,243,224, 71,162,253,203,136,
+214,121,149,207, 95,121,241,210,195,143,223, 99,249, 75,195,171, 47, 17, 66,159,125,250,229,  7, 79,175, 62,254,  3, 31, 69, 72,
+121,254,171, 95, 69, 77,149,191,244,236,107,157,190,127,238,158,251,164,160,121,146,205,167,201,119,222,185,249,177, 79,190,207,
+235,111,190,254,245,223,110,106,  2,254,162,116,135,255,232,127,253,230,231,254,249,  3,247,221, 61,222,125,251,237,215,222,137,
+102,137,162,192,222,160, 23,158, 60,183,236,163,166,169,154,170, 46,242,234,127,252,236,239,124,243,165,183,254,152, 27,189,231,
+161,123,255,241, 63,248, 27,103,238,125,146, 81,114,225, 91,191,255,213,223,254,191, 44,219,188,253,158, 51, 27,119, 62, 42, 24,
+163, 77,201,105,205,104, 61, 58, 56,124,225,155,175, 29, 77,146,135, 79,109,126,236, 61,247,218,142,249,243,255,221,191, 92,220,
+ 72,  8,241,202,211,255,251,218, 29,143, 74,198, 94,255,198,239, 28,236,142, 92,207,126,232,241,  7, 86,111,123,140,147,138, 54,
+ 21,231, 68, 10,182,115,245,205,103,190,252,114,154, 21, 27, 39,150, 30,251,192,  3, 39,206,221,105,119, 86,  5, 37,127,112,199,
+137, 44,205,139,188,198, 82,130,181,219, 31,217,122,245,203,151,223,186,142, 85,229,174,123,111, 59,117,223,  7,145,130,171,108,
+ 46, 57,227,156,142,119,223,169,203,202,241,236,229,141,193,123, 78, 46,223,245,200, 19,118,176,  2, 33,218,187,244, 76, 26, 39,
+156,243,170,108,254,224,233,151,224,147, 79, 62,249,115, 63,246,104,153, 87,171,155, 75,183,221,255,  4, 21,200,208, 85,206,168,
+ 20,172,206,102,111,124,231,229,123, 30,186, 79, 81,176, 16, 66, 10,142,176,102,122,125, 70,170,241,238,101, 70, 57, 33,244,226,
+171,151,191,242,202,229, 51,161,135,  1,132, 66,200,243, 15,221,189,126,231, 19,130, 19, 88,164,140,148,130,177,189,171, 23,116,
+211, 56,255,208,253, 16, 66, 33,184,144, 28,171, 70,119,253,174,189,119,158,105,202,154,115,145,165,197,239,255,238,183,134, 89,
+249,161,251,206, 61,246,129,  7, 48,144,224,161, 39,159,228,208, 40,147,177, 20, 92,  8, 78,202,228,197,111, 60,119,227,218,222,
+  3,143,220,121, 74,215, 52,221,196,154,237,133, 43, 77, 17,109,191,241, 53,198, 25,103,124,103,123,248,235,191,255,220,138,107,
+255,212, 15, 61,254,192, 99, 15,245, 79,220,135,  1,144,166,219,173,139,152, 53,141, 20, 34,153,238,127,253, 15,159, 63, 28, 78,
+ 79,156, 92,  9, 59,126, 85, 84,186, 21,116,215,239, 60,184,242,124, 85, 20, 92,  8, 82, 55, 47, 62,123,225,155, 23,174,189,231,
+236,198, 19, 31,120,240,142,135,159,112,187, 27, 66, 48, 12,  0,200,231, 67, 41,165,148, 98,122,184,255,181, 63,124, 49,207,138,
+ 59,239, 57,125,255, 35,119,110,220,249, 56, 41,115,136,208,141, 55,190,202, 40, 23,130, 39, 81,254,187,191,253,141,105, 89,127,
+252,241,123,223,243,196,189, 39,239,121, 66,119, 66, 90,231,175,126,237, 95, 97,  0,  0,169,115, 32,229,244,104,252,141, 47,127,
+167, 44,154, 59,207,159,190,239,225,187, 86, 78,223, 95, 23,113,147,207, 38,195, 61, 41, 37, 99,124,231,198,193,111,252,193, 11,
+171,158,253,227, 63,244,248,253,239,185,111,233,244,131, 24, 27,217,116,239,165,175,127, 57,141,243,246, 70,229,108, 18,125,235,
+171, 47,151, 69,115,231, 61,167,238,190,239, 92,111,253,246,186, 76,242,249, 48,154,205,  5,231,148,176, 87, 94,120,235,155, 23,
+174, 61,114,102,253,189, 79,221,127,231,  3, 15,121, 75,167, 33,  4,251,151,159,187,248,202,155,117, 77, 40,161,127,113,113,242,
+ 47,228,218,220,220, 68,127,202,143, 79,110, 44,191,239,209,251,254,237,  2,247,173,203, 52,141, 55,191,243, 37, 78,155,183, 95,
+122,102,103,235,128, 52,164,211, 15,  9,229,143,125,224,241,166, 76,155,186,170,203,102, 62,141,127,230, 23,254,177,148,242,187,
+ 79,244,175,221,232,226,203, 95, 11,130, 32,157,238,188,254,236,179,209, 60, 89, 94,235, 47,175, 14,  6,167,238,227, 36,103,180,
+102, 77,221, 20,201,219, 23,175,189,249,218,149,121, 94,125,245,181,183, 70,179,248,223,188,209, 43, 95,249,165,149,115,143, 66,
+  8,198,219,111, 92,120,233,149,178,168, 87,214,  7,103,207, 63, 96,135,235,180,138, 57,109, 56, 35,121, 52,122,233,217,215, 46,
+189,181, 13,164, 92, 89,237,250,161,251,183,255,135, 95,165,140, 47,110,244,233,159,250,212,223,252,217,143,109,220,253, 20,  0,
+ 96,116,253,149, 11,223,121,149, 82,186,186,185,116,246,222,199, 76,175, 71,202, 68,112,202, 41,201,227,195,231,158,254,246,213,
+119,118, 12, 93, 59,117,219,250,233,115, 27, 75,235,235,182,191,116,112,253,205,157,173,131,151, 47,237,225, 95,248,107, 63,178,
+118,219, 99, 18,202,217,206,219, 23, 95,126,141, 49,182,126, 98,229,236,125,143,153,110,159,148, 49,144,  2,  8, 81,103,179, 23,
+191,249,157,107,151,119, 29,199,188,243,252,153,219,238, 62,211, 63,113, 23, 66,120,186,251,118,154, 22,134,169, 99, 21,227,245,
+219,222, 43, 32,200, 38,187, 23, 95,122,145, 52,100,109, 99,233,236,125,143,  1,108,210, 38, 19,130, 11,193,235, 34,122,253, 59,
+175, 92,189,180, 99, 24,250,189, 15,221,126,238,174, 51,131, 19,247, 73,  0,178,201, 78, 52,139, 16,130, 82,130,249, 52,193,  0,
+130, 38,155, 95,120,238, 27, 69, 86,246,151,187,167,238,126, 16, 27, 30,  2,156,211, 70, 74,193,234,226,234,197,139,103,110, 59,
+177,121,106,237,250, 59,219,103,110, 63,181,122,238,189,148, 84,172,206,167,135,123,  0,  0, 32,193,141, 43, 59,163,180,192,156,
+214, 23,191,253,229,104,158,134, 93,255,244, 29,119,133,203,103, 73,157,209,186,145,146,115, 90, 95,185,240,202,230,153, 77, 85,
+183,133,224, 15,134,193,254,206,104,229, 44,193, 88, 61,216,185, 36,165,  4, 64, 30, 29, 78, 95,184,116, 83,195, 26,190,250,242,
+211, 71,195,169,227, 90, 39,206,158,232,159, 56,207, 89, 77,235, 66, 10,206, 57,221,187,122,209,245, 28,195,242,165, 20,  0, 72,
+168,153,119, 62,248, 48,214,140,253,119,190,205, 24, 19, 82,102, 73,241,205,103, 47, 64,  8,151, 58, 62,186,121, 99, 31, 99,101,
+117, 99,105,229,204, 67, 82,138,166,136,165,224,130,211,232,240,122,211,144,254,234,134,132, 64, 74, 33,129, 68, 72,113,194,213,
+233,205, 11, 77, 93, 11, 33,104, 67, 95,126,225,237,113, 89,159,223, 24, 44,175,247, 49,101,124,117, 99,176,118,246,190, 52,142,
+ 76, 83, 19,156,113,198,234,124, 54,159,204,151, 87, 87, 37,132, 80, 48, 41,  5,148, 32,232,159,204, 38, 59,121, 58,151, 66,  8,
+ 46,110, 92,221,125,125,123,120,166,227,221,255,200,157,251, 57, 64, 97,232,173,159, 58,163, 89,190,101, 25,156, 81,193, 25,167,
+213,149,139,111, 26,134,  6,160,  4,156, 74, 46, 33,128,166,219,149, 64, 68, 71, 55,  5, 23, 66,136,249, 52,249,198,243,111,122,
+186,122,254,190, 51,103,239, 58,107, 58, 33, 90, 89, 31,132, 43,103,129, 20,180,169, 36,167,130,209,209,206,181,139,175, 93,185,
+114,105, 59, 79, 18, 70, 27,  0,129,110,  7, 78,119,125,124,243, 34,231, 92,  8, 81, 87,205,119,158,189,144, 19,122,223,109,155,
+183,223,125,186,183,126,167,162,234,184,191,126, 27,231,140,148,169, 20, 92, 10, 81,166,147, 55, 94,190, 20,207,179,160,227,189,
+242,210,213, 78,199, 58,125,118,253,228,210,169,201,206,197,166,174,  5, 23,156,241,235,151,119, 47,236, 31,221,181,220,189,227,
+252,233,245,179,119,155,110, 23,  0,128, 33,214,105,153, 72,206,164, 16,140, 54, 87,223,190,186,123,243,208,118,204,229,229,238,
+169,219, 54,155,154,158, 58,255,100,157, 71,121, 60, 21, 92,114, 33, 38,227,232,235,207, 95, 12, 52,237,174,243,103, 78,159, 59,
+233, 15, 78, 32,168,208,186,192,  8,  2, 66, 27, 41,133, 20, 34, 26,239, 95,126,235,  6,231,114,117, 99,176,113,106,117,253,246,
+ 71, 57,163, 72, 81,102,195,107,130, 11,206, 89, 85, 54, 47, 62,123, 33, 39,236,169,251,206,158,185,125,179,183,113, 23, 86, 13,
+ 70,155,217,104, 23, 55,197,156,115,  1,128, 96,164,186,122,105,123, 54, 77,187, 93,111,227,196,242, 96,227, 28, 68,138,106,104,
+227,237,215, 41, 33,130, 75,206,197,181,119,182, 47,238, 29,221,181,218,187,237,174, 83,107,167,239, 48,221, 46,  0,114,186,243,
+102, 22,231,152, 51, 34,132,144, 82,206,142,198, 91,215,246,177,130, 86,214,251, 43,235, 75,150, 63,104,202,132,147, 42, 79, 98,
+206,133,224, 98,122, 52,251,198,243,111,117, 12,237,174,123, 78,159, 60,187,225, 15, 54, 33, 84,234, 60,186,250,214,219,140,115,
+ 36, 88,195, 41, 33,117,113,237,242, 78, 18,231, 65,199, 93, 89,235,  7,131, 77, 90, 23,170,110,205,134, 55, 24, 99,130,139,178,
+168, 94,120,246, 98, 78,217,249,219, 79,156, 57,183,209,223,184, 83, 81, 77, 33,200,246, 91,223,142,231,169, 20, 18, 51, 74,133,
+ 20,179,201,108,103,235, 64,193,202,210, 74,183, 55,232,234,166, 71,105,157, 13,247,234,186,225, 66,114,202,174,190,115,243,205,
+253,241,221,171,189,219,238, 60,185,122,234,180,233,118,161,148,179,225,181,189,173,  3,198,184,144,  2,113, 70,155,186,217,186,
+186, 23,199, 69, 16, 56,131,229,174,215, 93,106,234,  2, 33, 20,207, 38,156,113,193,248,124, 18, 63,243,157,119, 66, 67,187,227,
+174, 83,155,167, 87,188,254, 73,128,148,186, 76,174, 94,120,163, 44, 27,193,133, 20, 18,124, 95,229,181,141,141, 13,  4,190,159,
+ 46,  8, 33,254,222,223,253,225,247, 63,250, 87,126,250, 19,247,159,191, 67,210,114, 58, 58, 24, 31, 78,162,121,154,167,101, 83,
+ 19, 33,196,239,125,235,213,215,175,221,108,223,249,139,255,213,223, 56,127,251,186,170,160, 40,206, 47, 93,217,121,250,185,215,
+159,123,229,237,239,245, 76, 79, 61,245,212, 51,207, 60,243, 39,253,248,239,252,194,207,125,230,175,254, 12,  0, 16,  2, 88, 23,
+243,195,237,183, 71,  7,147,100,158,214,117,131, 32,178, 28,195,245, 29, 85,197,142,107,  5, 75, 27, 65,119,169,105,147, 32, 99,
+130,211,246,  5,165,164,200,203,233, 81,116, 52,156,204,167,105, 89,214, 95,125,253,157,183,183,247,254,164, 74,228,143,145, 80,
+183, 19,220,115,231,185,207,127,238,179,109,129, 32, 56,139, 70,215, 15,110, 92,153, 28, 69, 69, 94, 10, 41, 13, 93, 95, 90,235,
+117,186,129,223, 93,182,252, 62,210,108, 40, 24,163, 21,231, 84,193, 42,132, 16, 66,133, 35,196,104, 51,159, 70,187,219,  7,195,
+221,241,124,158,150,132, 34,  8,177,130, 62,116,223,237, 31,125,232,174,207,126,241, 91,121, 85,255,137,253,140,174,107, 47,126,
+253, 55, 73, 58,132,216,222,184,237, 33, 32, 37,128,144,209,122,178,251,214,254,214,141,249, 52,105, 42,  2, 16,240,124, 39,236,
+249,157, 94,199,239,159,176,252, 37,164, 96, 70, 74, 78, 27, 33, 69, 43, 69,  9, 16,128,168, 46,231,163,253,131,155,215, 15,134,
+123,227, 52, 45, 24, 23,134,174,174, 45,117,252,208, 11, 58,174,227, 89,182,109,253,165, 79,190,207, 48,205,  6,232,156, 84,162,
+ 41,247,247,142,190,244,205, 87, 94,186, 58,196, 66,136,203, 47,127, 33,157,237,211,124,118,226,238,247,  3,  8,  1,  0,156, 54,
+211,221, 75,187, 55, 46,207, 39, 73,211, 16,132, 20, 55,176,195,142,215, 29,244,195,149,115,150,215,231, 66,  8, 90,211, 42, 19,
+ 82, 72, 41,129, 20,  0, 72, 41,120,157,207, 71,251,187,215,223,217, 29,238, 31,101, 89, 37,132, 52, 77,189,215,247,251,203,221,
+ 78,223, 15, 59,190,227,251,150,215,215, 12, 23,  0,200,121, 51,217,187, 18,231,105, 81,212,186,166,254,224,251, 31, 94, 89, 27,
+ 97,  0, 64, 30, 31,157,184,251,253, 82,  2,  0,164,228, 60, 58,218,218,189,114, 97,114, 52,175,202,  6, 66,224,184,118,216,241,
+122,203, 75,193,202, 89, 59, 88,170,139, 66,112,202, 73, 37, 56,  7, 64,  0,201,129, 20,130,243,186,136,198,251, 59,215,175,236,
+238,223, 28, 37,113, 46,164,176,109,115,105,165, 51, 88,233,  5,161,211, 95, 30,248,253, 13,211,237,  1,132,  4, 99, 16,193,249,
+193,149,104, 58,174,203,134,115,129,177,  2,128,202, 40, 99,148, 97, 41,193,198, 29,143, 75, 41,165,148,101, 50,222,187,242,202,
+225,254,184,200, 75, 41,164,105,233, 65,232,245,150,123,157,149,115, 78,103, 53,141,102, 64,  8,  8, 88, 91,163, 72, 41,218,156,
+ 67,202,116, 54,218,137,163,  4,  0,168, 40,168,105, 26,195,212,252,208, 89, 90,233,173,159, 88,238, 45, 15,188,222,166,233,245,
+ 32, 84, 24,169, 85,213, 72,163,155,243,163,155, 85, 89, 51,198, 32,132, 72, 65,146,177, 36,206,183,175,238,237, 14, 35, 12, 32,
+  0, 82,210, 42, 63,220,122,109,255,230,110, 60,207, 24, 99,154,166,122,190,211,237,119,186,107, 39,253,254, 73,168,168,138,162,
+ 90,182, 85, 23, 49,144, 66,  8,209,126,229,180, 78, 38,123,123, 55,247, 12, 83, 95, 90, 25, 40, 88, 93,219, 92,127,224,189,247,
+113, 70,227, 89, 12, 32,220, 56,115,167,215,223, 68,138, 70,234, 76, 55, 77, 70,138,163, 27,175,228,105,194, 24,149, 82, 66,  0,
+ 36,144,117, 89,239,239, 30,189,245,214,246,126, 94,114,164, 98,  8, 64, 52,188,122,243,242,197,201, 56,170,170, 90, 65,200,243,
+157, 78,207,239, 45,175,133, 43,103, 12,183, 91,229,153,  6, 97,149, 37,130, 11,  0,132, 20, 66, 74, 33, 56, 43,211,201,193,205,
+237,104,154,156,190,237,132,229,133, 16, 41,  0,  0, 41,132,  2, 36,198,250, 96,205, 70, 16,  9, 78, 47, 60,251,133,251,159,250,
+164,170,155,179,131,119,210,217,144, 54,132, 11,  1, 36,  4, 82,112, 38,226, 89,122,229,237,237,139, 91,195, 82,112, 75, 81, 52,
+ 93,199,  0,192,183, 94,126, 33,137,115, 46,132, 97,104, 65,232,245,  6,221,206,218, 89,183,187, 94, 87,165,228, 12, 73,218,148,
+149,  4, 18,136, 86, 71,156,214,197,236,240,230,206,214, 65,127,169,115,247,131,247, 42,170,  6,  0,132,  0, 72,201,  1,144, 64,
+  2,128, 32,130, 10,214, 76,205,244,239,127,255, 39,170,108,150,140,110, 84,101, 46,184, 16,178,213,179,168,202,122,184, 55,190,
+248,198,181, 27,243, 20, 66,184,106,153, 39,214,250,177, 84, 48,128, 96, 62, 75,145,130, 60,223,233,246,130,222,202,106,176,124,
+198,176,195,166, 42, 84,  5, 85,217, 92, 74,  1,100,235, 76, 66,112, 90,198, 71,  7,187,187, 82,130,219,239, 62,167,154, 54, 82,
+ 48, 60, 62, 44, 16, 92, 72,  9,  0, 64, 72, 81, 52, 51, 88, 58, 45,133,136, 14,174,228,241,132, 49, 42,132,104,159,136, 49,158,
+ 68,217,245,203, 55, 95,191,180, 51,167,212, 65,232,100, 63, 60,113,122,229,196,233,213, 75, 59, 51, 12,  0, 48, 12,221, 11,156,
+222,160,211, 93, 57,229,116,215,234,170,226,140, 10, 86,115,193,164,148,173,142,128, 20,164, 41,230,163,189,233,209, 44,232,120,
+186,161, 43,170, 10, 33,144, 66,  0,  0,  4,144, 80, 74,  1, 33,  4, 16, 41,216,244,122, 94,111, 61,157,236, 37,147,155,117, 89,
+ 74, 33,132, 20,173,120,154,154, 28, 29, 78,222,124,253,218,165,131,  9,147,114,213, 54, 79,109, 12, 78,156, 94, 61,113,102,189,
+211,239,239,229, 42,  6, 18, 12, 86,186,221, 65, 47, 92, 57, 99, 56, 29,210, 52, 42,134, 85, 54,  5, 82,130,214,143,164, 20,130,
+215,217,236,224,230,206,141,171,187, 85, 89,159,187,243, 68,127,169,219,118, 21,  8, 97,136, 16,  4,  0, 32,  5, 35,140, 53,195,
+237,110,  0,  0,198, 55, 47, 20,241,164, 45,130,218,167, 18, 92,228, 89,181,179,189,255,218,171,215,246,178, 92, 87,148,219,122,
+193,169, 83,171,235,167, 86, 86,215,  7,253,181, 51,118,103, 69,187, 52,199,  0,200,213,205, 13,167,119, 66,  8, 32, 24, 19,164,
+ 96,130, 75, 41,128,148,160, 85, 55, 35,233,236,112,251,218,206,214,181,189,233, 36,134,  0,170,154,186,191, 31,217,150,182,186,
+222, 13,187,161, 97,217,138,102,171,134,131, 53, 83,183,188,186,136,146,241,205,186, 44,164,224, 66,200,182,254,163,148,197,179,
+228,202,165,237, 87, 47,237,164,132,118, 12,237,204, 90,255,228,153,213,181,205,229,229,245,149, 96,249,140,229,245, 20,172, 67,
+164, 96,  0,128,219, 63, 89, 22,133,105, 89,117, 62,109,  3, 18,144,242,248, 48,229,116,116,112,253,242,206,206,246, 48,141, 11,
+  8,161, 31,216,166,169,119,250, 94,150, 86, 87,175, 12,  1, 56,116,108,237,212,153,213,179, 15, 60,133,176,150, 28,109,231,209,
+136, 18, 42,229,194,168,132, 20,117,213, 28, 29,206,222,124,253,202,219,251, 19, 33,193,166,239,156, 62,185,188,121,122,117,109,
+ 99,105,176,182,233,245, 79,232,118,128,148,214, 73, 57,  6,  0,112, 70, 85,140,154, 34, 94, 52,220,199,217,160, 46,147,209,193,
+225,245,119,118, 14,246,142,138,162,214, 52,220,237,250,131,213,238,202,106,127,176,186,228,247, 55, 12,167,  3, 21,204, 73,173,
+219, 65, 83,196,179,131,203, 85,150,112, 33,132, 16, 64,  0, 33,  5,231, 60, 79,203,157,173,131,215, 94,191,182,151,230,134,162,
+156, 27,132, 39, 79,175,110,158, 92, 89,217, 24,116, 87, 79,187,225, 26, 54,109,132, 20, 41, 68, 83, 38,121,116,136,  1,  0,172,
+ 41,  4, 39, 66,  2,120, 44, 28, 32, 68, 85,196,195,221,195,235,151,111, 14, 15,166, 77, 67, 77, 83,239,245,131,229,213,222,242,
+ 90,111,176,186,230, 15, 78,234,118,192, 72,195, 41,209, 76, 55,155,236, 38,211,221,166,170, 91,  1,183,206, 77,  9,155,207,146,
+171,111,111,191,126,121, 39, 37, 52, 52,180,179,235,131, 19,167, 87,215, 55,151,151,214,150, 58, 43,103, 44,127,128, 53,  3, 64,
+ 36, 57, 47,179,233,193,181,215,102,227, 49,  6,  0,112, 90, 46,158,  9,  2,208,154,112,145, 30,236, 28, 94,187,178,115,116, 56,
+ 35,132,217,182,209, 31,132, 43,107,253,165,213,222, 96,117,205,237,109,170,186, 93, 23,177,130,117,  5,171,243,131,203,121, 52,
+166,148,181, 33, 83,  2,217,246, 93,163,225,180,245, 38, 41,229,  9,223, 61,117,106,121,243,228,202,202,250, 96,105,109,205, 27,
+156, 52,156,142,130, 53,  0,  0,167,164,136,134, 59, 87, 94, 31,237, 79,234,138, 96,  0,  0,163, 68, 10, 41,193,194,116,234, 34,
+ 63,216, 61,186,126,101,231,104, 52,167,132, 57,174,209, 31,116,150,215,250,203,171,189,254,234,154,211, 89, 67, 88, 43,179,185,
+110, 58,156, 53,243,131, 27, 69,154,112,198, 91,217, 10, 41,  5, 23, 89, 90,236,108, 29,188,254,198,245,131, 44, 55, 20,124,122,
+ 16,158, 60,189,178,126, 98,121,101,117,208, 91,221,116, 58,235,154,229, 34,132,165, 20,156, 52,209,232,250,206,213, 75,211,163,
+168,110,136, 20,178,181, 33, 34,219,243,  8, 94, 85,229,112,119,124,253,234,238,228,104, 78,  8,115, 28,179, 55,  8,151,215,122,
+ 75, 43,221,238,210,178,237, 47, 67,168, 84,121,164,155,110, 83, 38,241,120,187,204, 75, 33,218, 39,145, 66,  8, 74, 88, 52, 79,
+174, 92,186,249,250,149,221,156,208,142,161,159, 93,239,183,246,187,180,218, 15,151, 79, 89,193, 64,213,108,  0,161, 16,156, 86,
+217,120,231,173,221,173,157, 56, 74, 40,229,109, 99,220,170,140,180,186,175,171,230,112,255,232,250,213,189,241,104, 78, 41,179,
+109,163,215, 15,150, 87,122,253,165,110,103,208,183,131,  1,128,176, 41, 34,213,244,234,108, 22, 79,246,234,162,106,147, 65,235,
+154, 77,221, 28, 29,206,222,186,112,253,210,193, 68, 72,185,233,187,167, 79, 46,111,156, 92, 89, 89,239,247, 87,150,252,193,  9,
+195,238, 98, 77,  7,  0,  8, 70,171,108, 58,188,126, 97,184, 63,206,211,130,115,206, 89, 27, 35, 36,134, 16,126,229,185,183, 36,
+  0,156,242, 60, 43,230,211, 36,207, 75,198,132,166, 97, 34, 16, 43,104,122,152,236,101, 84,223,203,145,178,199, 25, 81, 84,141,
+147,166, 46, 19, 74,152,  4,199,122,150,146, 81,158, 38,249,104, 52,155, 21, 53, 82,244,208,210,213,208, 77, 16, 22, 81, 57,101,
+115,125,204, 21, 45,106, 67,168, 16,156,148,105, 50, 27,231, 89, 73, 41,107, 35, 21,144, 64,  8, 49, 73,170,239, 51,188,177,237,
+205,190,127, 14,243,212, 83, 79, 33,  8,225,247,149,128,190,191, 58,215, 63,158,214,249, 94, 46, 69, 81,222,247,232,121,203, 52,
+158,253,206,197, 44, 47,255, 29, 28,200, 52,244,191,247, 95,124,230,209,135,239, 95, 91,238, 36,179,225,248, 96, 52, 29, 71,105,
+156, 63,126,251, 73, 70,232,193, 36,250,236,239,125,189,125,231, 39,127,240,  3, 63,253,137, 39,  7, 29,151, 54,116,239,112,242,
+242, 27, 87,126,231, 75,207, 79,163,244,123,109,165, 55, 55, 55,119,119,119,255,148,119, 60,254,232,131,191,242,191,252,247,109,
+ 93, 90,166,147,209,238,245,241,225, 52,158,167, 85,217,112,206, 33,128,166,109,120,161, 35,165,252,226,243,151,255,155,191,251,
+215,203,116,198, 56, 21,140, 49, 70, 25,227,140, 80, 66,104, 93,145,203,215,118,254,249,255,241,197,209, 52,254,211,141,250,207,
+144,208,205,119,158,  7,  0, 74,  8,  5, 35,209,225,245,131,237,155,211, 73, 84,100,  5, 99,194,178, 12, 47,116, 52, 93, 51, 45,
+195,243,157,149,179, 15, 62,242,254, 15, 18, 82, 33,172,169,  8,113,164, 64,  4, 17, 98, 82,136, 38, 43, 38,163, 25,203,155,159,
+249,208, 99,140,243,127,250,219, 95,249,243,168,236,231, 62,243, 87,254,238,223,254,121,  9, 32,  0,146,213,213,120,231,173,131,
+221,189,104,154,212, 85,  3, 33,234,246,220,160,235,217,182,101,251,158,110,117,131,193,122, 83,198,  0,200,182,192, 18, 28, 34,
+  0,164, 16, 53,173,102,147,120,239,230,240,104, 56, 75,210,178,162, 76,  8,241,233, 15, 63,254,249,175, 61,255,111,113,160,219,
+207,172,255,253,255,242,239,124,224,253,143, 67,132,160,  4, 77, 25, 31, 94,127, 99,184,127, 24, 71, 25,105, 40,214, 84,215,181,
+186,253, 48,236,117,157,112, 25, 27,158, 97, 57, 77,153,  0,  0, 17, 68, 18, 33, 40, 21, 36,165, 96,164, 44,242,195,189,241,206,
+214,112, 60,154,165, 69,205,133,208, 20,164, 25,170,174,169,127,249,  7,158,252,220,211,207,253,217,  7,250,131,223,252,159, 29,
+ 84,157,184,231, 41, 85, 55,  0,  0, 82,202, 50,155, 12,175,191, 62,218,159,164, 73,198, 40, 51, 12,205, 13, 28,223,119,123, 43,
+ 43, 94,111, 19, 40,134,174,107,164,202,164,148, 80, 74,  9, 17,  4,  8, 66,193, 56,205,226,104,127,103,184,115,227, 96, 50,142,
+139,170,  1, 82,186,166,238,  7,142,174,107,166,109,156, 54,180, 78, 63,248,167,159,255,194,159,120,160,127,242,139,255,224, 67,
+143,221,149, 76, 15, 78,156,255, 32,198, 90,219, 83,150,233,228,224,234,171,163,131, 73,150, 22,156,  9,221,208,252,192,237,244,
+194,176,191,236,246, 54,  5,196,134,174,147, 42,  3, 64, 66,  0, 36,132, 64,  2,  0, 32,167, 36,157, 79,118,182, 14,118,183,134,
+211, 73, 84,213,  4, 35,104,219, 86,208,241,252,192,246,  2,215,113, 45,195, 50,238, 60,127,246,199,126,252,163, 37,131,152,231,
+179,113,116,253,198,222,223,255,103,191, 14,  0,128,167, 79,159,254,194,111,253, 82,157, 28, 84,233,108,227,238, 15,168,154,  6,
+ 36,  0, 64, 22,241,209,222,149, 87,143,134,227, 44, 43,  4,151,154,174,122,158,221, 29,116, 58,203,155, 94,111,147,  9,160,235,
+ 58,169, 50, 41,120, 75,111, 74, 33,132, 96,180, 41,226,201,112,251,218,238,238,141,131,233, 52,169, 27,162, 40, 74,224,219,157,
+158,223,118, 90,158,239,216,158,107,121, 61,172,154,  8, 43,201,120,247,104, 56, 74,162,172, 42,235,186,108,126,251,197,235,248,
+231,127,238,103,155,120,159,148,201,250, 93, 79,105,154, 46,161,  4, 64,150,201,244,224,218,107, 71,195,113,158,149, 82, 72,221,
+208, 60,223, 14,123, 65,103,229,132,223, 63,201,152, 48, 12,157, 84,217,162, 57,105,243, 61, 16,156,212,233,108,180,187,181,191,
+187, 53,156, 78, 19, 66,168,138,177,239,219, 75,107,189, 32,244,250, 75,161,235,123,182,215, 53,221, 46, 68, 10,194,106, 54,221,
+137,231, 17, 33, 20, 41, 72,213, 84, 41,165,  4,  0, 55, 69, 76,155,114,229,182,199,116,221,  4,  0, 64,  9,235, 34, 58,188,241,
+250,209,112, 92,228,165, 16, 82,215, 53,207,119, 58,253,176,179,114,210,235,109, 50, 46, 76,203,106,202,180, 61, 77,219,188,  1,
+ 32, 57,105,210,249,225,222,214,254,206,214,193,108,146, 16, 66, 85, 21,  7,161, 59, 88,233,118,251,225, 96,185,227,119,122,150,
+191,164,219,190, 96, 84,193, 90, 17, 13,227,233,184,169, 27, 32,  1, 86, 20,129,133,224,  8,  0,128, 37,103,157,245,187,117,211,
+106,169, 34, 82,167,135, 55,222, 24, 29, 28,101,105,201,185,212, 52,236,250,118,167, 31,116, 86, 78,250,131, 77,198,128,101, 59,
+237,105, 22, 85,153,144, 64, 74, 78,155, 60, 58,220,191,121,176,179, 61,156,141,147,134, 80, 85,197,157,174,183,180,218,239,244,
+252,222,160,211, 25, 44,219,157, 85,205,244, 88, 83,171,186, 85,165,147,104,114, 80, 87, 13,144, 18, 33, 40, 16,132, 16, 52, 53,
+133,  0, 96, 43, 88,182,253, 46,144, 16, 64,192, 72, 57,190,121,113,180, 55, 76,227,156,115,174,170,170,227,217, 97, 39,232, 44,
+111,250,253, 77,164,232,166,134, 73,149,  9,206,142, 59, 73, 33,128,224,140, 20,241,209,112,255,240, 96,239,104, 62, 77,235,134,
+ 96,140, 92,207, 26, 44,119,251, 75, 97,167, 23,118,  6, 43, 86,176,100, 88, 62,107,106,205,176,154, 50,142,198, 59,117, 85, 73,
+ 41, 33,132,109,185,209,212,100, 54,142,  0,  0, 24,171, 26,148, 82, 66, 40, 72, 51,221,187, 52,220,217, 75,146,140, 81,134,177,
+ 98,187,102,216,241, 58,203,107, 94,239,132,170, 59, 82,114, 90, 23,130,145, 22,123,  0,173,202, 24, 45,147,241,100,116,132, 85,
+101,253,196,114,150, 20,140, 49,211, 52,186,253,160,211, 11,250,203,221,160,191,238,118, 86, 84,211,165, 77,169, 26, 22, 37,117,
+124,180, 85,151,165,224, 18, 66,216, 34,136,148,208,217, 36,190,185, 55,  1,160,197,169, 33,148,156, 70,163,107,195,155, 91,241,
+ 60,165, 13, 83, 20,197,114,204, 32,244,194,193,138,215,219, 52,108,191,200, 83, 21, 99,206,154,133,166,128,144, 82,  8,193,170,
+124, 54, 62, 56,160,132,134, 29, 63,  8,188,229,181,193,225,193,116,119,107,127,176,220,233,246,131,160,183,226,117,215, 53,211,
+165,164,194,170, 33,165, 76,199, 91,101,150,113,198,  1, 88,176,192,140,241,120,158,238,238, 30, 29,230,  5, 80,108, 44, 37, 16,
+130,101,211,189,195,237,171,209, 52,105,106,  2, 17, 52, 45,195, 15,220, 78,175,231,247, 55, 13,167, 19,205,142, 92, 47, 32, 85,
+190, 64, 66,142,129,162,186,136, 39,  7,251,241, 60,221, 56,189,166,233,134,162, 96,  9,228,201,211,198,218,198, 96,127,239,200,
+239,118,156,112, 85,179, 60, 78, 27,  8,145,130,113,116,120,163, 72,231,140, 49,121,124, 28,193,121,158, 22,251,187, 71,187,243,
+148, 45,  2,163,148, 85, 58, 61,188,121,105, 54,137,171,170,  1, 64, 26,134,225,  5,118,216, 11,189,254,  9,211,235,167,241,212,
+ 11, 58,164,200,164,224,224,184,247,146, 82,144, 42,155,143,246,199, 71,179,229,213,190,101,123,  8, 99,  8,144,144,  2, 33,140,
+176,122,250,236,137, 56,138, 13, 55,214, 76, 87,  8,174, 25,118, 54,221, 43,162, 17, 37, 20, 72,  0,164, 68,  0, 80, 33,202,178,
+ 62,220,159,108, 13,167, 21,231, 42, 66, 13,  0,152,145,106,124,243,173,201,209,172,200, 43, 41,133,110,232,174,103,133,157,192,
+239,159,176,131, 37,218,212,126,208,109,202, 84,  8,118, 11,207,147, 82,176,166, 72, 38,  7,163,131,177,237, 88,157,254,  0, 97,
+ 13, 32,  4,165, 68,178, 13,215, 16, 42,234, 96,117, 51,159, 13,129, 96,189,205, 59,203,100,156,206,246,155,186,106,  9, 91,  0,
+128,144,160,169,201,244, 40,218,190, 57,138,106,130, 16,236, 25,122,209, 72, 84, 36, 71, 71,135,227, 60, 45, 57,231, 88, 85,109,
+199,244, 67,207,239,175, 58,225, 50, 64,138,170,234,164,202, 57, 35, 45, 24,210,254,227,180,206,162,209,193,222,  8,171,202,198,
+169, 77,164,106, 16, 42,139,  8,  9,110, 33,122, 10, 86,245,254,250, 57,175,183, 70,202, 52,155,236, 54,101,222, 66, 51,237,123,
+ 40,101,241, 60,189,121, 99,184,159,230, 18,128, 64, 83,151,186, 62,  0,  0,229,105,158, 70, 57,163, 84, 81, 20,203, 50,188,192,
+  9,122, 75, 78,103, 13,235, 22, 35, 53,103, 53,163,245,  2,213,147, 66, 72, 33, 57,173,178,217,104,239, 80,  8,177,126, 98, 13,
+107, 38,  2, 10,132, 45,152, 11,160,104,195, 25,104, 79,164,153, 14, 82,112, 54,221,173,138,132,115, 33,  5,  0, 18, 72,  9, 56,
+227, 89, 90,236,109,143,182,142,102, 76, 74, 11,227,101,223, 93, 89,237, 74,  0, 80, 93, 53, 77,211,  0,  8, 13, 83,115,125, 59,
+232,116,220,206,154,110,249,241,116,164, 40, 10,109,170, 69, 68,150,162,157,  4,170,203,120,122, 56, 44,242, 98,243,244,134,225,
+248,  8, 33,128,128, 92,160,238, 66,  2,  1, 32,128, 16, 33,172,106,166,167, 26, 78, 17, 29,150,233,140, 51,  6,110,225, 78, 92,
+ 84,101, 61, 58,152, 92,223, 29,101,148, 97,  8,151, 93,107,105, 57, 92, 94,235,  3,  9, 16,163, 92, 74,160,105,170,227,218,126,
+232,185,221, 53,221,233, 20,105,236,133,221,150,126,  7, 66, 72,193,219,211,208,166,136,199,135,121, 86,174,108, 44,233,166,133,
+ 16,146,  0, 44,128,226,133,201, 75,  4,160,162, 40,134, 29,152, 94,175,136, 71, 69, 60,162,164,121, 23,202, 16,162,105,154,217,
+ 36,218,190,113, 48,206, 43,  4, 96,223, 50,150,  6,193,242,218,160, 55,  8,  1,  0, 72,  2,137, 49,182, 29,211, 11, 28,175,179,
+108,122,125,  9,164,229,122,180,202,  5,167, 64, 10, 41,120,155,178, 56,107,138,232, 40,141,179,160,227,155,150,133,160,210, 34,
+ 74, 18,  0, 40, 23,186,128,  8, 66,132, 20,213,112,194,213, 58,143,242,217, 65, 83, 87,199,237, 63,  0, 18, 48,198,211, 56,223,
+217, 58,188, 57,141,185,148,190,142, 87,122,193,202, 90,127,105,181, 27,246,186,  0, 72,140, 16,180,108,195,245, 29,175,211,181,
+195,101,172, 25,164,174,  5,108, 90, 67,  6,199, 25, 75, 48, 86,103,243,201,209, 84, 81, 21,  5, 35,  8, 17,128,  0, 74,  1,  0,
+148, 64,182,192, 18,  0,  0, 66, 69, 81, 13,127,112,138,145, 42,159,237,215,101, 38,249, 45, 52, 66,114, 33,138,188, 28,238,141,
+183,118,143, 42,198, 45,140, 87, 66,111,176, 28, 46,173,244,130,110,224,245, 54,  0,  0, 72,197,216,113, 45, 63,240,220,112, 69,
+ 51,221,116, 62, 81, 20,200, 72,117, 92,226,112, 41,133,224,188,169,210,217,248,104,116, 48,169,139, 26,  2,  8, 90, 91, 16, 92,
+ 72, 46,133,132, 82,  0,  0, 16, 66, 10,214,156,112, 21, 42, 74, 54,219,171,178, 57,231,108,113, 22, 33,165,144,164, 34,211,113,
+180,181, 53,156, 86,141,  2,209,192,177,150,150, 58,253,229,110,216, 11,188,112,201,176,  3,  0,  0, 86,117,213,245,109, 39, 92,
+ 54,156,176, 44,114,199, 11,142,211,167, 92,132, 65, 33, 24,169,178,249,228,112,239,232,104, 52, 21, 66,216,174,141, 85,140, 56,
+ 65, 64,131, 16, 33,132, 36,128, 72, 81, 16,214, 76, 39,212, 45, 55,155, 31, 22,201,132, 30,163, 60,237,173, 40,161, 73,146,238,
+108, 13,247,102,169,  0, 96, 96,232,203,131,160,191,220,233,245, 67, 47, 12, 45,127,160,234,182,  4,  0,235,154,234,  6, 29,211,
+235,  9,  9, 76,203,166, 85, 46, 56, 59,230,191,  4,144, 82,112, 90,101,179,163,195,241,104, 56, 77,230, 57, 66,  8,171,218, 18,
+ 99,157,110,128, 53,128,176, 42, 37, 82, 20,  5,169,134,170, 91,186, 29,214,121, 82, 68, 67, 82,151, 11,236, 84, 74, 32, 37, 99,
+188, 40,170,131,221,201,214,222,164,226,194, 81,149,229,174, 59, 88,238,244,  6, 97,216, 11,156,112, 69, 51, 61, 69,213,  0,  0,
+ 88, 51,116,203, 31,168,154,217,212,149,100,148,211, 70,182,  8,234, 49, 39, 71,170,108, 54,153, 30,238, 79,230,179,180,174,155,
+ 50,175,242,188, 44,111, 52, 89, 90, 46,175,245, 29,199, 70,134,174,104,166,170,219,170, 97, 75,193,243,104,191, 46,178, 54, 72,
+220,210, 87, 83, 55,211,163,249,246,214,193,172,174, 85,  4,151, 61,123,176,212,233, 14, 58,157,110,224,117,150, 13,167,131, 53,
+  3, 66,  4,  0,192,170, 97,105,166, 27,205,198,126,216, 37, 85,218, 34,168,224,216, 73, 25,169,179,249,100,180, 63,153,142,163,
+170,172,165,  4, 16, 33,172,192,154,240,253,253,249,108,154,118,186,110,183,231,123,129, 23, 44,157,196,184,147, 39,163, 42,157,
+115, 78, 23,135, 17, 82,  8, 73, 40, 77,230,217,206,214,225,238, 44,  5,  0,116, 77, 99,105, 16,246,150, 58,221,158,239,117,187,
+166, 63, 80,117, 27, 33,101,209,117, 96,213,  4,  0,250, 97,151,214,109,250,  4,239,214,166,156, 86,121, 52, 62,154, 29, 29,206,
+210,164,224, 92,152,166,102,219,134,237,152, 30, 86,226,184,164,140,207,102, 25,132,112,245,212, 57,183,187, 81,101,179, 50, 30,
+ 83,218, 72, 46,165, 20, 45, 49,196, 25, 47,179,234, 96,111,188,181, 63,174, 56,119, 84,188,220,245,122, 75, 97,183, 31,  4,221,
+192,  9, 86, 52,211, 67, 88,133,  0, 74, 41,  0,  0, 88,193,106,153,167,134, 97,  8, 70,133,148, 16, 28,187,186, 20,180,206,163,
+217,124, 52,156, 70,243,148, 16,138,177, 98, 59,182, 23,184, 94,224,116,186,193,201, 51,184, 21,193,192, 53,  0,  0, 32,  0, 73,
+ 68, 65, 84,169,106,211,113,123,235,103,109,127,137,209,170,136, 15,155, 42, 63, 70, 29, 91,142, 79,214,117, 51, 62,154,111,109,
+ 29, 76,203, 26, 67,212, 42,171, 55,  8,195,174,231,134,203,134, 19, 98, 85, 71, 16, 74, 41, 89, 83, 66,  0,112, 89,100,150,109,
+147, 42, 95,240, 44, 82, 66, 32,165,148,156,145, 34,141, 39,163,217,116, 28, 87, 85, 13, 32, 48,109,221, 11,236, 32,116,253,192,
+ 13,250, 43, 78,184,162, 26, 14, 99, 68, 81, 84,  0,100, 62, 63,172,243,152, 51,254,174,229,  8, 73,  9,141,163,108,103,123,184,
+ 59, 75, 37,144, 93, 75, 91, 26,132,221, 65, 24,118,125, 63,236,153, 94, 79,213,173, 86, 89,130,179, 34, 25,  3,  0,144,105,217,
+164, 46,229,130,112,105,169, 49, 33, 56, 35, 85, 22, 77,226,241,104,158,165, 57, 99, 66,215, 53,215, 93,156,198, 11,  2,219, 31,
+232,118,  0, 32,144, 66,168,154, 81, 38,147, 42,157, 16, 66,110, 21,255, 82, 74,206,121,150, 21,195,221,163,173,189,113,195,185,
+173,226,149,174,223, 27,132,221,158, 31,132,190, 21, 44,233,166,135, 20, 21, 64,216, 86, 87,209,104, 11,  0,136, 91,106,236, 56,
+  3, 44,158,141,179, 38, 79,147,201,209, 60,154,167, 77, 67, 21,  5, 89,182,225,  5,142, 23, 56,110,224,216,126, 95, 51, 93, 41,
+ 37,169, 74,221,114, 72,157, 21,241, 97, 83,151,173,142,142, 79, 35,170,170,153, 30,205,183,182,135,179,170,198,  8, 45,123, 78,
+127, 16,118,251, 65,208,241,221,112,201,112, 66, 69,211,  1,132, 82, 74, 78, 73, 54,223,159,140,166,  0,  0, 44, 56, 21,156, 75,
+ 32,161, 92,152, 15,144,162, 41,139,249, 52,153, 78,162, 34,175,164,148,134,161,185,174,229,249,142,231, 59,142, 23,234,118,  8,
+ 21, 76,235, 82,193, 24,  0, 80, 68,163, 42, 79,216,119, 43,139, 11, 74, 72, 18,165, 59, 91,135,123,179, 84,  0, 56, 48,245,165,
+ 65,208, 27,132,157,174,239,133, 97,171, 44,  8, 23, 12, 80,157,207,103,135, 59, 89, 82,  0,  8,208, 34, 81, 75, 33, 36,147,156,
+  3,201, 25,169,243, 52,155,142,163, 36,206, 73,195, 20, 69,177,109,211,243,109,207,183, 29,207, 49,221, 46,214, 12,206,  8,103,
+  4,171, 70,157, 78,139,116, 66,201,194,207, 91,230,144, 49,158,167,213,254,238,120,107,127, 82, 51,238, 96,101,185,235,245,  6,
+157, 78, 47,240, 59,158, 19, 44,233,150,167, 96, 29, 64,  8,164,164, 77, 17, 31,109,207, 39, 73, 93,214,  0,  0, 44,133,  0,146,
+ 47,218, 79, 41,165,224,117, 93,204,103,201,108, 22, 87,101, 13,128, 52,116,213,241, 76,199,115,108,215,182,188, 80, 51, 93,  9,
+ 32,169,114, 77,183, 24,173,242,248,176,169,170, 91,170,  2,  2,  8, 41,235,170, 25, 31,205,182,183,134,179,170,193,  8, 46,123,
+ 78,191,109, 66, 58,174, 27, 14,116, 39,196,154,  1, 32,132, 64,114, 78,202,104, 52, 25,141,242,188, 96,156,183, 69,190, 16,124,
+209,148,180,206,149,167,197,108, 18,165,113, 65,  8,197, 24, 91,182,225,184,182,227, 89,142,107, 27,118,128, 20,149,145, 26,  0,
+137, 20, 37,155, 29,214, 69,198, 25,107,179, 68,203,134,146,134,196,243,116,103,107,184, 23,181,158,101, 14,150,194, 94, 63, 12,
+187,158, 23,132,166,215, 83, 13, 27, 34,  5,  2, 33,185,104,138,100,118,184,157,204,211,166,166,109,149,135,165,148, 66, 48,  0,
+  1, 20, 64, 72,209, 84, 85, 60, 75,230,179,180, 44,106, 41,129,166,171,150, 99,186,174,237, 56,150,233,120, 88, 51,165, 20,180,
+ 46, 52,203, 35,101, 82, 38, 19,210,144,118,244,131, 75,177,200, 89,105,121,176,119,180,125, 48,173, 25,119, 53,117,165,235,247,
+251, 65,216,245,189,192,179,131,129,102,122,138,162, 65,  9,133, 20,156, 84,201,100,103, 58,158,151,101,221,150,128,237,129,132,
+ 20,162, 45, 40, 24,165, 89, 86,204,166,113,154,228,140, 49,  5, 43,166,101, 56,174,101,187,150,229,152,186,233, 41,138, 74,155,
+ 18, 33,  4,129, 40,226,163,186, 42,  5,231, 92,138,182,179, 17, 66,212,101, 61, 30, 71, 91,219,135,179,170, 81, 17, 90,246,157,
+222, 82,208,233,  7, 65,232,122, 65,215,112, 66,172, 26, 16, 66,  9,132,224,180, 72,198,211,225,126,150,228,140,178, 54, 94, 44,
+250, 50,113,156, 49,154,186,137,103,233,124,154,180,226,209,117,213,118, 76,199,181, 45,199, 52, 44, 87,209, 45, 46, 56,167,141,
+102,121, 77, 17,151, 69,204, 40,227, 45,115,210,114, 83, 13,141,163,108,119,251,112, 63,202,  0,  0, 93,203, 24, 12,130, 94, 63,
+ 12, 59,158, 23,248,166,215, 83,117, 27, 41, 88, 74,  0,  0, 39,101, 58, 31,109, 71,243,180,174,155, 69, 34, 22,  2,  0,128,133,
+ 20,109, 10, 99,140, 23, 11,241, 20,132, 48, 85, 85, 76,211,112, 92,203,118, 12,203, 50,116,211, 69, 72, 97,164, 70, 10,  6,130,
+151,201,132, 84, 13,231,139,182, 70,112,201, 57, 47,242,242,240, 96,178,125, 48,105, 56,119, 84,117,185,235,117,251, 97,216,241,
+252,192,181,252,190,110,249, 10,214,164,  4,  0, 10, 70,234,108,186, 55, 61,154, 20,121,185,168,215,197, 66,101,168,237,254,  4,
+ 23,164,110,226, 40,139,102, 73, 85,213,  0,  0, 77, 87,109,199,180, 29,211,178, 77,195,182,177,102, 72, 33, 56,105, 20,172,213,
+ 69, 84, 21, 57,165,183,170, 65, 33,  4,111,106, 50,155, 38, 59, 55, 71,243,186,193, 16, 45,251,118,175, 31,118,187, 94, 16,186,
+ 78, 16,154, 78, 71,209, 12,  8, 33,128, 82, 50, 90, 37,227,201,225,126, 26, 23,148, 48,177, 24,191,144, 66,  8,  8,  0,190,190,
+ 55,105, 59,135,166, 38,243,121,146, 68, 89, 93, 81,136, 96, 89,137, 42, 42,103,124,186, 51,175,140,155,177,170,239, 11,193,129,
+  4, 72,193,117, 17, 55,117, 45,223,173,221,  1,231,162,169,155,233, 56, 62, 76,106,174,232,154,170, 84, 88, 31, 22, 52,223,143,
+246, 82, 98,238, 21,170,113,136, 20, 13, 66, 32, 37,224,180, 41,147,113, 28,197,117,213,220,154,  6,105,115,223, 98, 40, 46,138,
+162, 56,142,191,223,104,161,127,183,151,148, 50,  8,130, 48, 12, 49,  0, 32, 73,146,189,189,189,255, 32,148, 63, 58,228, 25,134,
+ 33,250, 15,130,248,247,140,223,252,255,  9,223,250, 61, 50,162,129,239,134,129,119,234,196,218,  3,231,111, 63,177, 62, 56,119,
+ 98, 89, 85,100, 93, 86,121, 94,214,101, 93, 85, 77, 83, 55,156,137,162,172,223,217, 62,120,246,213, 75,251,227, 89, 85,147, 63,
+201,224,187,161,103, 91,134,101,234,  8, 66,198,120, 81,213, 85, 77,146,172, 96,140,255,251, 33,160,187,239, 56,243,153,255,248,
+167, 63,246,225, 39,  5,151,  8, 43, 16, 66, 41, 56,163, 85,153,206,139, 44, 42,210, 98,180,191, 95, 23,117, 85, 18,210, 16, 66,
+ 41,103,156, 83, 46,128, 16, 28,156, 90,234,157,254,225,167, 16,132,148,138,225, 56,250,252,211,207,101, 69,  5,  0,248,137, 31,
+253,216,127,254,215,126, 74,195, 66, 50,194, 57,227,188,  5, 98,196,241,213,118, 71,156, 49, 70, 40, 31, 29,205,191,241,194,133,
+175,189,112, 49,201,138,191,176, 72,244,212, 83, 79,221,188,121,243, 79,167,164,255,148,235,161,  7,238,249, 91,255,217,127,250,
+240, 67,247,170,170,182, 88,237,146, 64, 74, 65,235,178,202, 38, 89, 52,205,146, 52,207,202,170,172,155,138, 52,132, 48,202,133,
+ 16, 64,  2, 69, 65, 88,197, 88, 85, 16,130, 72, 81, 76, 83, 51, 45,211, 52,117, 77, 87, 21,221,246,251,107,166,105,113, 86,211,
+166,108,201,184,  5, 22, 45,132,120,183, 82,225,139,246,145,115,198, 56, 37,180,105,104, 93,214, 85,217,212, 85,221,212, 36, 78,
+139,107, 59,195, 47,189,120, 49,254,115,201,107,115,115,243,228,201,147,127, 78, 11, 58,127,207, 29,191,248,223,254,189,123,238,
+190,131, 49,142, 16, 90,172,188, 73,201, 24,105,242, 40,159,143,146,104,154,165, 69,153, 87,117,213,144,134, 50,198,132,144, 16,
+ 66,221,208,116, 93,213, 13,205, 48, 52, 85,215, 84, 21,171,154,170,170, 24,171,154,162,106,166, 55,112,195, 62,167, 13, 35, 21,
+167,149,224,  2, 33, 12, 32,146, 72, 17, 82,  0, 46,  4, 18, 80,112, 36,133, 20,156, 11,196, 25,147,140, 55, 13, 41,243, 42, 75,
+139, 52,206, 23,127,180, 38,132, 48, 66,153,165,168, 63,250,216,131,  0,130, 23,223,185,113,121,119,248,255,185,139,233,186,246,
+207,254,209, 63,252,248, 95,250,136,  4,  0, 34,  8,  0,196, 90, 75,208, 51, 70,202, 50, 25,167,179,195, 52, 74,242,172, 44,139,
+170,105,  8, 35,140,115,  1,  0, 80,176,162,171,216, 52, 13,199, 53, 13,203,208, 84, 85, 51,116,221, 48, 85,195, 86,117, 11, 41,
+134,102,121, 24, 99, 70, 42,214,148, 66,176,150,149,128,  8,  0,  9,128,132, 64, 64,  4, 17,128,  2,112, 46, 33,228,140,  8,206,
+ 73, 93, 23, 69,149, 39,121, 28,101, 73,148,229, 73, 81,148,117,221, 16, 66, 57,227, 92, 72, 41,  0,132, 82, 42,  8, 73, 32, 31,
+187,243,204,163,119,156,121,250,213,183,134,179,232, 47, 82, 64,239,123,236,193, 79,253,224, 19,203, 29,167, 55, 88, 57,115,247,
+195,166,229,112, 33, 90,238, 15,  2,  0, 32,224,140,145, 42,201,163, 81, 58, 27,165,113, 90,228, 85, 93,213,164,166,140,243, 91,
+ 38,163,105,170,102,104,134,169,155,166,110,217,134,229,250,186, 29,232,166,139, 53,139,113,169,235, 38,132,146,145,154, 54,185,
+ 16,  2,  0,137, 32, 20,168,229,219, 17,148,176,133,153, 65,203,103, 72, 78,234,170,174,202, 60,205,147, 40,139,231,105, 26,231,
+121, 86, 86,101, 83, 55,148, 50,198,219, 22, 74, 81, 84,140, 84,140, 49, 86,212,246, 27,  4, 21, 69,249,171,235,253,183,183,246,
+127,231,155, 47,253,191, 18,208,163,143,220,255,153,159,253,201, 71,239,191,173,202,102,121, 26,235, 78,111,253,220,  3,120,193,
+226,  3,  5, 35,  0,  0, 16,146,115, 82, 23,113, 62, 59, 72,102, 71, 89,146, 23, 69,217, 84,132, 16,202,185,104,  9, 93, 77, 83,
+117, 67, 51, 76,189,253,106, 88,150,229,120,186, 29,234,150,167,168, 38, 23, 18,169,170,  9, 33, 37,149, 96, 20, 72,113, 28,193,
+ 32,144,139, 23,  8, 32,  1,  4,  4, 72,  2,198, 89, 67,235,162,204,179, 44, 41,226, 40,141,102, 11,209,212, 53, 33,132, 82,206,
+129,  4,  8, 33, 29, 43,170,138,117, 93,181,108, 67, 55, 52,140,177,170, 98, 85, 87, 13, 67, 83,176,130, 20,116,199, 61,167,127,
+242, 83, 31,152,199,217,239, 62,253,194,206,112, 90, 55, 76, 85,149,126,215,239,248, 54,105,216,120, 22,237, 13, 39, 81, 90,180,
+197,244, 66, 64,237,171, 51,167, 79,252,202,103,255, 73, 63,180,202,116, 74,171, 44,153,238, 99,221, 61,251,224, 71,177,170,201,
+182, 11,129,  0,  2,  9,132,100,140,212, 69,148,207,246,227,233, 81,154,228, 85, 81,181,107,197,139,246, 14, 33,172, 42,186,174,
+234,134,110,217,166,229,152,166,229,232,182,111,216,129,102,186, 88, 51, 72, 67,177,102,168, 82, 48,210, 16, 78, 90, 28, 19,194,
+ 91,204, 43,  0,139, 81, 13,185,128, 74, 89, 67,171,188,200,178, 52, 78,231,179, 36,154,165,121,154,231, 89, 89, 85,132, 80,198,
+133,104,233,126, 93, 83,117, 93, 53, 76,205,178, 12, 85,215,116, 67,179, 29,203,180,116, 77, 87,117, 93, 85, 53, 77, 85,177,166,
+105,170, 97, 98,205,130,  8, 63,249,193, 15, 65,  4, 41, 41,139,116,150, 37,121,153,151, 85, 89, 55, 53,169, 27, 74,  9,141,227,
+236, 15, 95,186, 34,165,132, 79, 62,249,228, 71, 63,252,190,159,249,137,143,147, 42,169,178, 57,109, 10,206,136,102,134, 75, 39,
+207, 99, 77,111,149,185,144,141, 20,156,209, 99,209,140,210, 36, 43,243,186,174, 27, 74, 91,132, 10, 32,  5,169, 24,171,186,106,
+ 26,154, 97, 25,150,109, 90,142,107,184,161, 97,119,116,211, 83, 84,189,174,107,195, 48,  0, 16,140,212,130,179,150,197,  2,199,
+125,106, 11,255,221, 98,210,132, 96,156, 18, 82,229,101,158, 36, 81, 18, 77,147,249, 44, 78,227,162,200,203,170, 34,140,113,206,
+ 57,128, 80, 65, 72,215, 85,211, 92, 40,195, 48, 53,195,208, 44,199, 50, 45, 93, 55,116, 93,215, 52, 93,215, 12, 75, 51, 28,172,
+ 91, 72, 81,165,148,  8, 33,  0, 17,107,202, 50,157, 20, 73, 84, 20, 85, 83, 53, 13,161,140,114,198, 24,103,156, 49,193, 57,123,
+251,230,244,205,221, 25,  6,  0, 88,154,204,103,187,164, 46, 56, 35,138,106, 47,159,121, 68, 55,109,176, 96,190,160,108,199,152,
+ 57, 37,101,154,205, 15,226,201, 48,141,147, 34,171,234,186,161,132,113, 46, 32,  4,  8, 41,170,170,168,186,106, 24,186,105, 25,
+150,109,152,142,103, 58,161,238,132,186,233, 41,170,209, 84, 21,194,194, 52, 77, 70, 42,193,105, 27,107, 90, 68, 30,  8,  9, 22,
+ 11, 23, 11,142, 71,  8, 46, 88, 67,234,188,204,226, 52, 78,231,211,116, 62,141,227, 40, 43,242,178, 42, 27,198,184, 16,  2, 66,
+168,105,170,170,169,166,169,217,182,233,250,142,229, 24,134,161,219,142,105,217,150,110,106,154,110,104,186,165, 26,142,102,216,
+  8,107, 16,162,246,183, 16, 82, 24,171,171,116, 92, 36,179,178, 40,155,154, 80, 66,185, 16,  8, 34,172, 72,  0, 49,130,  8, 33,
+206, 57,108,231,222,219, 25,243,138, 53,  5, 68,120,112,250,188,101,  7, 18, 74, 32,143,131, 48,  4,146, 51, 90,231,121,116,152,
+ 76,246,147,121,156,103,101, 85, 53,180,141, 53, 64,182,229, 76,235, 80,166,101,152,182, 97, 59,158,233,118, 13, 39,212, 76,175,
+ 37,  0, 25, 37,166,109, 51, 82, 19, 82, 73, 33, 90, 51,105, 77,  6,  2, 41,129, 56,158,233, 21, 64,114,206,  8,173,243, 50, 79,
+210, 40,142,102,233,124, 26, 39, 81,150,101,101, 85,214,132,176,246, 73, 84, 21, 27,134,102,217,134,101,155,142,107, 89,142,105,
+ 24, 90,139,237,153,182,173,155,142,102,186, 88,183,177,110, 42,138,218,  2,205, 16, 65, 77, 53, 24, 39, 85, 54, 43,146, 73,157,
+103,117,221, 80,202, 56, 23, 45,113, 46,145,128,  0, 41,  0,  0,  5,  8, 41, 36, 61, 70,168, 90, 26, 59, 88,189,203,246, 58,173,
+189,220,226,184,129,224,172,169,138,100,146, 78,118,227,249, 44, 75,139,186,172,155,134,114,198, 37,144, 16, 34,172, 98, 93, 83,
+117, 67, 51,109,211,178, 77,203,117, 77,167,107, 56,161,110,121,170,110, 53,117,221, 84,165, 97, 59,140, 52,164,202,165, 96,183,
+136, 37,120, 76, 92,139,133,164,132,148, 66, 48, 66,155,178, 46,162, 44, 78,163, 89, 50,159, 38,113,148,102, 73, 81, 85,117,211,
+180,250,  0, 42, 86,116, 93, 51, 77,221, 11, 28,215,119, 28,215,212,116,205, 48,117,219,181, 44,203,210, 45, 87,179,124,253,150,
+ 55,  9,206, 25,129,  8,181, 68, 89, 83,196, 69,114, 84,102,113, 83, 55,148, 18,206,132,108,131, 38,132,  2, 65,  8, 16,  2,160,
+173, 67, 73, 77,242,172, 44,203, 26,  2,128,165,  4,126,127,211,241,187,242, 56,157,  2,  9, 37,144,130, 52, 85, 54, 75,167,123,
+241,244, 40, 75,243, 50,175,235,154, 48,198,164,144, 16, 65,172, 96, 77,195,250, 34,115, 91,182,235,152,110,215,112, 59,186,229,
+171,186,  5,  0, 72,227,185,235,  5, 82, 74, 90,101,156,177,118, 21, 99,177,  2,241, 46,255, 38, 23,156, 58,167,180, 41,155, 50,
+ 41,210, 56, 79,139,178,168,242,188,170,170,186, 44,235,182,228,147, 18, 96,172,168, 42, 54, 12,221,180,117,199,177,252,142,231,
+122,150,105, 25,150, 99,218,142,123, 92, 55,152, 88, 51, 21,172,181, 43,218,  0, 66,213,176,  1,  0,164,202,170,116, 92,166,179,
+186, 44, 41, 89,148, 32,139,208, 42,129,132,173,171,  0,198, 57,105, 88,158, 21,241, 60,141,102,105,146,150,183,210,252, 34,103,
+ 64, 40,164,  0,130, 19, 82, 38,217,124, 24, 79,134,105,156,182,225,134,209, 54,220, 64,165,205,163,134,102, 90,186,105,153,182,
+107, 91,110,104,186, 61,221,246, 85,221, 65, 88, 45,178, 88, 55, 44, 55,232,112, 82,115, 70, 90,150,255, 22,217, 10,165, 20,199,
+107, 61,  0, 72,193, 25,163, 21, 41,211, 60,141,179, 36,163, 13,213,116,181,211, 15,123, 75, 93,  0, 36, 99, 34,142,210,131,221,
+201,124, 50,111, 25, 22,211, 50,108,215,116, 92,219,241,108,207,179,109,207, 51,157,176,157,152, 80,117, 19, 41,154, 16,156,209,
+ 90, 10,161,234, 38, 82, 48, 35, 85,149, 78,203,116, 82,151, 89, 83, 55,188, 21,141,  4,173,159, 64,  4,165,108,105,125, 73,  9,
+ 45,203, 42,137,242,249, 36, 30, 79,147, 89, 89,165, 28,  2,168,181, 11,128,173,140,218, 49,151,162,140,143,146,201,254,108, 58,
+171,138,186, 42,107, 74, 40,231, 92,  2,128, 20,164,170, 88,211, 85,195,212, 77,203,176, 28,203,118,125,211,237, 25, 78,160, 25,
+158,162, 25,180,174,138, 44,241,194, 30,163, 53, 45,179,150,193,105, 39, 42,222,149,200, 98,138, 79, 74, 41, 56,109, 72,157,149,
+105,148, 70,113,150,150, 82, 74, 63,116, 45,219, 68,138,  2, 33,132,  8, 65,  0, 93,223,221,216, 92,105, 33,212,163,241,188, 72,
+203, 32,116, 28,207,118, 92,219,242, 58,150,211,213,109,191,117, 40, 32, 37,163, 53,103, 12,171,170, 98, 24,130,179, 42,159,151,
+241, 81,149,199,164,174, 24, 99,156, 47,150, 15,224,187,167,  1,  0, 72,198, 88, 93, 53,121, 90,206,103,241,248, 40, 26, 71,121,
+212, 52, 84, 74,129,212,119, 99,144, 20,130,145,186,206,231,217,116, 55,158, 78,210,164, 40,139,186,105,  8,103, 76,  8,137, 16,
+196, 88,209,116, 77, 55, 52,203,210, 45,219,178, 28,199,116,187,166,219,209, 90,159,130, 48,139,103,142,231,219,170, 79,170,156,
+115,210, 18,252, 82,182,171,111, 18, 72, 32, 97,235,243,237, 88,  4,101, 77, 81,229,113, 26,197,113,148,212, 85, 99,154, 70,111,
+169, 99, 90, 22, 84, 48,130,  8, 34,180, 88, 41,148, 64, 10,161, 74,161, 25,166,227,123, 66,240,166,170,147, 36, 79,179,218,239,
+219,186, 19,170,186,  5,145,194, 25, 21,180,129,138, 98, 88, 46,128,128, 84,121,149, 77,171,116, 90, 87, 57, 37,132, 51,126,107,
+106,106,225, 47, 45, 15, 38,  4,161,180,204,235, 36,202, 38, 71,243,163,113, 60,206,138,130,113,  1, 36,  4,  8, 73,  8, 96, 43,
+ 32,206,154, 34, 78,103,  7,241,228, 32,141,210, 60,111, 83, 56, 21, 92, 64,  8,177,138, 85, 85,209, 13,221, 52, 13,211,214,109,
+219, 54,189,208,112, 58,134, 29,170,166,163, 40,106,145,197,  8, 41,158,223,161,164,226,172,145, 98, 65, 35,130, 69,230,190,229,
+ 77, 18,  2,201, 57,227,164,106,170, 52, 75,162,100, 22,103, 89, 33,  5,  8,187,126,119,169,167,106,  6, 66, 10,108,165,  3,222,
+221, 87,  1,  8, 73, 41,161, 88,220, 80,213, 76,199,239, 64,  8,103,195,221,139, 47,191,186,121,230,212,202,198, 89,213,176,177,
+110, 33,140, 57,169,235,124, 94,102,211,166,136,105,211,180,229,210,177,143, 31,227,205,  0,182,139, 92, 77,211,228,105, 57,159,
+198, 71,163,249,104,154,204,234,134,112,  1, 16,192,  0,154, 24, 49,168, 16, 14, 48,  4,160, 46,162,201,238,219,209,116,154,165,
+ 69, 89,212,132, 16,206,132,148,178, 45,252, 52, 93, 53, 44,221,180, 12,203, 50,109,215, 55,220,174,225,  4,186,233, 41,154, 41,
+ 56,139,103, 99, 63,236,114, 70,155, 50, 21, 98,193,105, 66, 40,143, 83,184,  4,183, 86,176,132, 96,172,161,117, 94,166, 81, 28,
+ 69, 73,148, 49,202, 12, 83,239, 45,117, 93, 63, 68, 88, 93,140,176,200,182,209,128,240,248,137, 32,128, 18, 10,136,  0,144, 16,
+ 64,  8, 33, 68, 80, 65, 88, 93,218,236, 44,109,158,169,203,148,115, 98,234, 61,  0,100,147,205,203,108, 90,231,115, 82,151,140,
+182,224,145,252,174,207,216,185,181,203, 37, 72, 67,202,178, 73,162,116,122, 20,141, 70,243, 81,146,103,148,113, 41, 21,  8, 53,
+132, 92, 21,  7,150,145,  8,148,100,  4,  3,  0,243,120, 54, 58, 48,242,172,108,170,166,221, 80,131, 16, 96,220,230, 41,205,176,
+ 12,219, 54, 45,199,177,188,208,116,186,154,229,171,134,  5,129,146, 70, 83,219,241,188, 32,164, 77,217,  6, 99,112,108, 48,237,
+108,238,241,194,146,  4, 82,  8,206, 40, 41,155, 34, 73,227, 40,154, 38, 85, 81,169,134,218, 95,238,  6,157,142,102,182, 83,  3,
+237,182,141,132,  0,181,180,104,235, 95,237, 99, 65,  0,193, 45,249, 32, 69, 65, 24, 97, 77,193,154,162, 26,150,215, 67, 88,231,
+164,170,243,168,202,166, 77,153, 82,210,112,206, 23,227,129,139,117, 70,112,188, 90, 38, 25,227, 77,221, 20, 89, 57,159, 38, 71,
+135,179,195, 73, 52, 45,234, 90,  8,  0,128, 10,161,165,226,192,208,124,199, 10, 66,135,103,  4,100,  4,  3,  0,202,162, 74,230,
+ 89,211, 16,182,104,249,224,113, 48, 54, 76,219,176,109,203,242,124,211,237,154,118,168,154, 14, 86,205,166, 46,154,186,114,253,
+144, 83, 66, 72, 41,  4,147, 66, 44,158,231,214,185,142, 69, 35,165, 96,180,161, 85, 86,164, 81, 60, 79,146, 40,149, 82,118,  7,
+ 29, 63,244,116,203, 86, 20, 13, 34,  4,225, 98,242,178, 21,133, 20, 16,  0,177, 24,159, 23,109,179, 35, 37,  0, 16, 66,132, 16,
+ 68, 10,196,170,130, 53, 85,183,117,203,147, 82, 52, 85, 90,165,179,186,136, 73, 93,112,198,196, 49,155,121,139, 16,111, 77,135,
+115, 78,  8,171,203, 58,137,243,233,120,126, 56,156,141,162, 44,110,  8,151, 18, 66,104, 32,228,233,106,104,155,158,111,  7,129,
+ 27,116,189,116, 24,203, 97,140,  1,  4,132,208,170,170,219, 44,142,177,162,105,170,110,106,134,105,216,182,105,187,182,225,118,
+ 76,167,163, 91, 62,214, 45,  8,225,124,122, 24,116,122, 24,171,180, 41, 56, 37,114, 49, 20, 41,192,162, 54, 22, 18,220, 26, 56,
+151,146, 51, 74,202, 58,143,211, 56,206,210,156, 52,212,118,237, 78, 63, 48, 45, 27, 41,154,162, 96,208,146,137,176,157,231, 19,
+  2,182,222, 41,142,  5, 13, 22,245,  7, 88,248, 22, 66, 88, 81, 13,221, 14, 52,203, 71,138,202,154,162,202,102,117, 62,107,170,
+156,145,134,243, 99, 43, 62, 54,153,182, 95,226, 66,112,198, 73, 67,243,188,140,102,233,209,225,244,112, 52, 31,231, 85,201,152,
+  4,  0, 67,104,170,184, 99,234,129,107,251,129, 19,116, 92, 63,244,130,192,217, 79, 27, 32, 65,187, 27,201,133,248,174,166,193,
+ 52, 44,203,176, 28,211,114, 92,203,237,233, 78,168, 25,142,162, 26, 77, 85, 16, 90,251, 97,143,145,134, 51, 34, 57,107,245,  4,
+143,  7, 67,142, 69, 35,219,105, 93, 70,  9,169,210, 50,139,146, 56, 35, 13, 81, 85,236,122,142,105,155,170,170, 35,164, 30,231,
+ 41,  8, 96, 27,167,128,148,  0, 74,177, 24,125,129, 18,180,  9, 16, 44,198,189, 17, 82, 32,194,170, 97, 91,193,178,170,153,156,
+147, 42,157,212,217,172, 46, 99,218, 84,183, 12,  7,252,235,210, 57,158, 55, 97, 85,213,100,105, 62, 27,199,163,225,116, 56,141,
+231, 85, 67,133,132, 16, 24,  8,185,186,214,113, 12,223,119,130,208, 11, 58,110,208,241, 92,207,182, 29,203, 58,136,  1,144,120,
+241, 49, 40, 88, 81, 53,220, 46,159, 88,150,105, 57,150,233,  6,166,211,213, 45, 31,235, 54,128, 48,153, 79,188, 32, 84, 85,149,
+214,133,224, 84, 10,126, 28,101,110,233, 76,130,119,167, 68, 24,107,170,186,140,243, 36, 41,242, 10, 66,224,122, 54,198, 10,198,
+170,130, 20,132, 80,139, 15,182, 40, 71,251,203, 16, 30,  3, 28,112, 17, 52,224,187, 65, 89,129, 72, 81,176,102, 56,161,233,245,
+ 17, 68,164, 74,171,108, 86, 23, 17,169,114, 74,137, 20,239,110,140,  2,249,238,185,164,148,156,241,166,161, 85, 81,197,243,116,
+124, 56, 63, 28,205, 70,113,158, 81,202,165,196, 16, 90, 42, 14, 77, 61,244,108, 47,112,194,142, 23,118,125, 63,116, 29,215, 50,
+ 45,203,241,187,186, 57, 95,212, 65, 10, 86, 76, 75,211,244,214,112, 12,203,113, 77,183,163,219,161,110,186,138,102,144,166,174,
+171,210, 11, 66, 70, 27, 65, 27,177, 24,184, 90, 36,225,197, 72,182, 16,139, 71, 21,156, 51, 66,155,188, 76,227, 36, 74,211, 36,
+ 23, 92,216,174,133, 80, 59,146, 42,219,209,127, 41,165,  0, 28, 66,180,248,148,146, 54,124,  9,  1, 91,  4,161, 29, 90,133, 80,
+ 65,  8, 64,164, 96, 85, 53, 29,211,233,170,134,205, 41, 41,242,184,202,167,164, 76,105, 83,114,206, 91,124,238,187,162,222,226,
+ 59, 33,218, 10,144,228,105, 49,159, 38,163,225,116,120, 52,159, 22, 85, 37,  4,  4, 64, 71,200,213,181,174, 99,250,254, 98, 54,
+204,239,184, 65,232,121,190, 99, 88,142,110,133,150,215, 81,180, 27,237,124,  7, 80, 85,108, 57,182,105, 26,182, 99, 90,174,111,
+ 56, 29,221, 14, 84,221,  6, 16,166,209,204,241,  2,199,113, 72,157, 11, 70,191,107,191,  6,128,119, 77,166,157,133,106, 63, 92,
+163,108,202, 52,143,147,104,158, 68,179, 36, 77,114, 69, 65, 66, 10, 21, 43,150, 99, 74,137,164,224, 66, 32,  8, 36, 66, 10,144,
+  2, 64,180,200, 80,162,197,204,224,194,167, 80,187, 20,135, 21, 77, 55,172, 54,226, 40,164, 76,171,108, 94, 23,115, 82, 21,148,
+ 54,146,139,  5, 72,210,170, 75, 44,108, 16, 72,201,185,160,116, 17,143, 39,163,249,225,225,244,112,154,196, 53, 33, 82, 40, 16,
+ 26,138, 18,154,122,199,179,253,192,246, 67, 47,  8, 92, 55,112, 92,207,118,  3,215,118,187,134,237,107,166,167,234,166,162,104,
+178,181, 32, 77,215, 60,207, 54,109,203,114, 66,221, 13,117,211,199,154,217,212, 37, 33,141,235,  5,140,214,156, 53,178, 45,183,
+128,132,199, 62,181,  8, 56,139,246, 74, 10, 78,104, 83,214,121,146, 68,201,124, 22,207, 39,113, 18,231,101, 89, 35,  4,185,144,
+140,114,187,176, 92,207,178,108, 83, 74,169, 40,138, 68, 28, 34,  5, 34,212, 46,195,  1,  8,165,132, 16,  1,  4, 49, 68, 10, 66,
+ 24, 41,170,162,233,186,229,169,186, 45,165,168,146, 73,149,207,234, 34,101,164, 98,148,222, 26,228, 56, 94,117, 63, 78,229,162,
+117, 43, 82, 22,117, 28,165, 71,195,233,112, 56, 27, 37,121, 78,153,  4, 82, 69,208, 81,213,142,109,134,190, 19,132,142, 31,186,
+ 94,224,122,190,237,248,182,227,122,166, 27,234,118,168, 27,174,162,233, 24,107,  8, 31,227, 65,186,174, 58,190,103,216,129,225,
+116, 84,195, 65, 10, 78,230, 19,199, 15, 85, 85, 37,117,206, 25,249,174,196,112,236, 91,224,221, 15, 40,104,187,170,166,206,202,
+ 52,141,163,100, 54,137,163,105, 18,199,121, 85, 86,164, 97,109,204,  1,  0, 20, 37,153,207, 51,203,212, 92,223,118, 92, 75, 55,
+116, 85, 85,145,162, 32,132,129,  2,  1, 68, 10,194, 16, 97,132, 85,  5,171, 80,193, 24,235, 88,183, 20,172, 51, 82, 85,217,172,
+201,163,166,206, 24,165,226,184, 50,190,229, 80,199,146, 18, 66, 72,206,120, 85, 53,121, 86,206,167,209,232, 96, 58, 60,138,198,
+121,217,112,  1, 33,208, 21,197,215,181,174,107,  6,161, 23,  4,142, 31,122, 94,224,184,158,253,255, 52,118,101, 59,142,228, 70,
+144, 87, 93, 60,234, 80,143, 97, 24, 48,224, 63,217,255,255, 16, 79,171, 53, 82,221,  7,111,210, 15, 44, 73, 61,126,216,221, 22,
+208,221, 15,  2, 36,164,146,153,145, 17, 25, 20,111, 24, 19,109,197, 47, 57,171,179,130,145,172,128,136, 64,132, 19, 37, 70,  0,
+136,121, 89,177,250, 71, 78, 91, 82, 82, 16,193, 60, 62,234,246, 35, 56,227,173,142,225,213,170,158,180,223,247,244, 73,240,216,
+ 40,125, 44,235,188,140,195, 60,220,167,177,159,151,121,151,135,182,206,129,  8, 32,132,214,122,163, 13, 68, 80, 43,188,174,250,
+254, 88,243, 12, 87, 52,231,188,226,130, 82, 86, 21, 85,153, 23, 37,202, 16, 66,  0, 65,  4, 17, 38,164, 32, 57, 69,  8,155, 99,
+150, 91,175,143,217,170,195, 57, 23,227,183,101, 81,240, 91,241,241, 62, 56, 99, 15,169,151,105,123,220,134,207,159,143,107, 63,
+141,202,184,  0, 16,132, 52,195, 93, 85, 94, 26,214,116,162,237,234,166,227,117,195, 69,205,184,224,180,190, 20,188, 75, 42, 11,
+ 38, 57, 68, 56,161,138, 87,128, 64,218,  4, 71, 89,169,246, 13, 34, 92, 55,157,211, 71,240, 38,156,  3,103,  4,240,221,174,224,
+ 59,143, 66,112,206,154, 67,238,203, 58, 46,125, 63, 13,143,105, 26,214,109, 61,148, 52, 73, 47, 79,196, 72, 89,230,121,158, 81,
+ 90, 34,136,180,113,218,120,169,156, 84,118, 28, 15,130,135, 44, 39, 69, 78, 42, 90, 48, 94,118,151,182,251,231,191,185,248,200,
+ 10,234,189,149,107,175,182, 65,203,213, 26, 21,220,247, 70,  5, 94,236, 82, 76, 91,239, 62, 24,101,246, 93, 78,195,114,187,246,
+215,107,255, 53,109,155,117, 33, 70,130, 32,207,179, 15, 86,117, 29,111, 91,209, 92,234,166,229,162,230,162,102,188,174,171,250,
+ 82,208, 46, 47, 57,201,203, 52,238,  0,248, 84, 65,227,147, 81, 68,164,192, 89,126,236, 11,201, 11,130,137, 85,155, 63,235,241,
+ 89,245, 78,218,248,  5,222,146,111,194, 26,173,118,185, 45,211,184, 12,247,121,232,167,121,218,246, 77,106,109,188,255, 70,140,
+242,146, 11,202,107,198, 57,165,172, 36, 25,113,206, 29,187, 86,218,  6,231, 33, 66, 89, 70,152, 40,127,252,227,199,199,191,254,
+195,187,127,225,188,  4, 49, 26,185,202,173,215,251,100,212,238,172, 77,247,203,156,222,153, 84,110,194, 57,173,197, 16,172,117,
+ 74,233,109, 57,250,199,116,251,124,124,222,198,251, 38,149,119,  0,194,  2,227,182,204, 46,130,117, 23,113,110, 50, 55, 92, 52,
+140,215,156,214, 13,229, 63,114, 90,103, 37, 35, 89,129, 48,  1, 16,  2,128, 18,253,224,189, 13,222,194,151, 46, 54, 13,143,166,
+251, 17,188,117,122, 15,193,129, 87, 64,206,  9,224,196,180, 47, 26,208, 90,101,213,190, 45,235, 52, 44,253,125, 28,250,121,153,
+143, 99,151,198,184, 24, 35, 66,248, 84, 96, 88,197, 69, 37,  4,227,130,241,186,162,140, 86,140, 22, 21,199, 57,197, 36, 71,  8,
+ 35, 76, 48,206, 35, 68, 16,227, 44,171, 80,150,  5,107,244, 62,202,109,208,199,236,140,118,214,197,231,236,  2,190,131,235, 24,
+ 67, 56,167,  7, 41,213, 50,109,247,219,248,245,243,113,237,167, 65, 25, 31,  2,130,176,194,228, 66,203, 75,203,218,238,140,142,
+104,184,168, 41,175, 57,173, 79,214, 60, 43, 40, 38, 57,196,  4,  2, 24, 79,200, 26,131, 53, 70,173, 86,110,103,  6,121,239,154,
+246,226,140,124, 17,128, 79, 42,230,153, 49,239, 71,210,126,180,150,219,182,172, 99, 63,247,247,105, 28,150,117, 62,164, 84,214,
+ 58,  0,  0, 33,168, 44,242,146,150,140, 87, 92, 80, 33, 40, 19,148,215,148,113,198, 68, 91,242,143,156, 10,146, 87, 73,129,  9,
+206, 56,103, 16, 34, 89, 81, 65,132,157,218,228, 58,168,109, 48,106,115,198,120,127,242,109,225, 73, 86,196,111, 63,206,122,163,
+205,190,203,169, 95,110, 95,253,245, 58,124, 77,235,102, 93,136,128, 32, 36,242,236,131, 85,151,142,183,151,186,238,120,211,  8,
+209, 50, 46, 24, 23,130,138,143, 34,137,116, 69,133,113,  6, 16, 78, 56, 21, 70, 16,162,247, 86,235,125,218,199,235,177, 62,129,
+ 34, 66,200,233,195, 89,157,  6,171, 51,135,207,146, 12, 32,248,118,236,163,119, 70, 41,185,109,243, 54,244,243,144,162,179, 28,
+ 82, 26,239, 29,  0, 32,203,112, 81, 20, 21, 43, 56,163,188,166, 92, 80, 46, 40, 19,140, 11, 70, 69, 87,176, 75, 65,  5,206, 75,
+132,136,247,222, 91, 29,188,197, 89, 65,242, 18,132,168,183, 65,110,131,218, 39,171, 14,231,236,183,  5,238,247,193,  6, 32,196,
+  8,210,125, 47, 74,153,109,217,135,251,244,117,125,124,126,141,247, 93,170, 16, 32,  0, 37, 65, 77,145,255,168, 89,219,137,230,
+ 52,  8, 48, 81, 51, 94,115, 38,154, 68,242,229, 37,199, 89,129, 73,  6, 33,138, 16,194, 51, 37,189, 51, 82,109,227,210,255,156,
+ 30,183, 99,151,167,133, 53, 56,227,172,244,222,191,228,205, 87,116, 82, 10,133,240,  4,238, 90,170, 99, 95,151,125,184,207, 67,
+ 63,142,195,146,196, 95,231,  2,132, 48,203,112, 89, 22,148,149, 76, 80, 33, 42, 81, 51, 38, 40,231,140,  9, 86,137, 75,193,218,
+188, 20, 56, 43,  0, 64,206,106,103, 84,140, 49, 43, 42, 76,138,224,140,222, 38,185,245, 90, 46, 70,235,224,125,240,225, 61,118,
+130,120, 94,200, 21,207,141, 92,107,173,220,213, 60,109,247,219,240,117,237, 63, 31,243,172,141,  9,  1, 67, 72, 51,114,169,202,
+ 75,195,218, 11,111,218,186,233,206,122,204,106,198, 68, 87,242,174,168,106, 82, 48,156, 23,  8,145,211,212,251,132, 42, 78, 31,
+114,237,231,254,191,227,253,177,206,155, 86,230,201, 40,  6, 23,188,123, 79, 84,239,142, 14,222,208,221,123,103,149, 58,142,101,
+218,134,126, 58, 53,153,229, 44,201, 16,194, 60, 39,101, 89,176, 84,146,207,170, 92, 49, 65,153,168, 43,222, 37,104,142, 73, 30,
+  1,  8, 70, 57,171, 16,194, 89, 73, 33, 34,206,236,106, 29,228, 54,164,193, 42,221,146,246,106,154,224,197,105,251,152,174,231,
+ 54,218,236,219,217,173, 62,175,253,109,217, 55, 99, 35,  0, 25,130,117,158,127,240,170,235,120,211,138,166,123,213, 99,198, 57,
+167,245, 37, 29,171, 44,167,232,236,229,233, 88,165,118,108,141,218,142,249,215,252,248, 57, 62,134,117, 61,212,161,156,115,111,
+109, 62, 25,233,158,250,  6, 56,181,241, 23,236,  9,206, 26,163,228,177,190,163,179,110,235, 97,180,245,222, 35,136,178,156,148,
+ 85,193,121,197, 56,229, 53, 21,130,242,154, 49, 65, 25, 23, 37,239,210,196,139, 72, 22,162,119, 90,123,103, 49,201, 72, 81,  1,
+  8,237, 49, 31,169, 91,201,195,189,169,156,239,  3,240,217, 27,124,  8,206, 56,165,244,186, 30,195,125,252,250,236,175,191,198,
+251, 38,117,154,173, 48,238,202,252,163,102,109,199,219,132,  0, 79,152, 67,153,168, 43,113, 73,162, 11,201, 75,140, 51,136,113,
+162, 11, 32,136,209,  7,239,180,150,235, 62, 93,167,251,117, 26,230,125, 61,164,210,206,184,115,249,255,233,203,114,103,124, 96,
+132,  1,  4,144, 32, 94, 72,194,185, 51, 90, 29,199, 50,239,195, 99,238,251,105, 30,215,125,147, 90,153, 16, 34,130, 40,207, 73,
+ 89, 21,140, 83, 46, 42, 81,211,228,165, 96,156, 81,206, 43,126,201,169, 32, 57,197,  8,121,231,188, 85,222, 89,146, 23, 36, 47,
+ 99,240,230, 88,229,246,208,199,162,149,242,206,199,144, 22,122,146, 84, 15, 35, 72, 64,228,180, 15,105,237,164, 84,235,180,222,
+111,227,245,243,113,237,151, 73, 27, 23, 34, 70,144, 18,124,161, 85,215,208,180, 70,159, 18, 71, 36,229, 67, 52,233, 88,101, 37,
+ 71, 89,142,113,  6, 33,138,175, 59,  6,157,243, 86,233,125,218,134,207,241,241,107, 30,151, 99,151, 74,153,196,255,164, 51,244,
+204, 32,255,156, 66,195,155,219, 14,  1, 68,239,156, 51,234, 80, 75,170,202,143,121, 26,215,125, 63,140,180, 62,  4,132,224, 51,
+ 58, 21, 23, 85,242,152, 48, 65, 25,163,148,179,146,167,117,142, 10, 66,232,156,245, 86,133, 16, 72, 86,146,172,  8,206,232, 99,
+ 82,235,160,228,102,181,246, 62,156,209,241, 33, 49, 29, 47, 78, 48,132,232,189,211,202,238,155, 28,135,249,215,215,112,189, 14,
+183,101,219,173, 15, 49,230,  9,  4, 10,218,181,188,233, 68,219, 10,209, 48,209,112, 33, 40, 21,140,242,238,164,207,139, 10,227,
+252, 68, 58, 39,  1,229, 19,153, 39,151,126,237,127, 78,253,144,214, 84,140,177,206,251,211, 52,  9,158, 25,148, 56,227,111,176,
+231,133, 36,189,181, 70, 73,189,206,251,216, 79,125, 63,207,195,186,109,210,156,106, 63,204,114, 82,156,209,161,188,102, 92, 84,
+140, 83,198,171,138,179,103, 73,206, 35,128,193, 25,103, 52,  0,  1,103, 37, 38,153,183, 74,109,147,218,  6, 45,119,107,173,247,
+111,223,219, 55,254, 24,156, 20,178,181, 74,153,117, 57,250,251,116,187, 62, 62,127, 77,253, 46,181, 15,  0,130,146,224,174,204,
+ 47, 34, 29, 43,241,251,177,226,137,  5,205, 42, 78,178, 50, 21,157,231,199,158,  6, 36, 99,212,118, 44,247,249,241, 57,245,211,
+182,238,242, 80,214,158, 55, 30, 62,155,210, 43,131, 82,111,120,  9,  0, 73, 99, 77,149, 75,234,196,167,244,253, 60, 15,203,190,
+ 43,165, 76,  8,  1, 33,148,165,170,204, 18,222,169, 24,175, 24,167,148, 87,148,241,146, 54,121,201, 48,201,  1,128,222, 25,111,
+ 84,140,145, 20, 37, 38,196, 25,169,247, 81,110,163, 86,210, 25,235,211,218, 24,136, 48,177,137, 39,227, 26,  1,136,222,  7,107,
+172, 60,244, 60,175,247,219,120,187,246,159,253, 50, 43,227,226,179, 91,209,178,107, 88,219,213, 77,203,155,150,243,154,  9, 65,
+153, 96, 76,212, 37,239,114,154, 38,207, 18, 98,114, 58,199,  1,  0,167,208,173,244,177,236,227,117,234,111,243,184,166, 69,202,
+228, 61,249,206,103,131,239, 11, 84, 33,250, 24,222,234, 72,240,206, 89,167,164, 89,151,109, 28,230,225, 49,207,227,186,109, 50,
+ 45, 17,156, 39,171, 44, 40,171, 24, 79,246, 36,250,180,190,208,156,114, 82,178,228, 81,115,206,120,171, 65,  4,164,168, 48,202,
+156,150,106, 27,228, 62, 25,245,252,184,192, 11,220,156, 19,121,122,111,206, 57,163,237,177,203,105, 88,127,125,245,215,175,254,
+107,218,119,231,124,  4, 57, 66, 34,207, 46,188,186,156, 48,231, 89,113, 56,101,130, 81,222, 20,172,203,169,200,138, 10,227,  2,
+ 98,146,184,  4,248,162, 58,147, 62, 58, 92,231,254,177,204,219,177, 43,173,140,127,169,174,241,237,137,249,109,195, 44,248,115,
+ 54, 75, 81,147,158, 10,119,  0,  0,  1, 97, 73, 68, 65, 84,118,214,105,165,215,101, 31,135,121,120, 44,243,184,110,219, 97,140,
+123, 69,167, 40,114,202, 74,158, 74,143,160, 60,185,130,170, 42,175, 88, 94,112,242,138,142,209, 16,  0, 92, 84, 16, 33,171,119,
+189, 15,114,155,141,214,175,100,  6,223,166,187, 23,105,225,156,215,202,236,235, 49,244,211,237, 58,124,222,198,251,126, 40, 23,
+  0,  0, 37, 70,109, 89,124,212,180,237, 68,219,242, 58, 21,157,154,114,206,168, 96, 21,107, 11,214,228,165,192,121,137, 73,210,
+ 75, 96,186,237, 40,233,234, 86,237,114,125, 44,253,117, 26,198,117, 57,212,161,141, 61, 69,192,211,163,248,252,125,238,189,189,
+151, 23,210,224, 14,211,136,238,149,212,219,122,140,195, 60, 62,115,199,104,235, 67, 68,  8,230, 25, 46,203,156,241,146,215,148,
+ 37,160,204, 43,202, 43,202,170,138,241,156,214,201, 88,237,157,245,206,  0,  0,178,162,132, 24, 59,125,168,125, 80,219, 98,140,
+182,169,131, 62, 73,165,111,168, 52, 38, 11,165, 58,244,178,238,253,125,186,254,124, 92, 31,211, 32,181,241,  1, 35, 88, 17,114,
+169,138,143,150, 53, 93,221,180,188,110,121,157, 58,166, 72, 29,179, 45,104,147,149,140,100, 37,194,217,171,232, 36,136,235,157,
+ 54,114, 61,166,219,244,184,205,105, 35, 67,106,235, 92,112,175,235, 24, 99,120,157,172,248,114,212,  1,248,199, 31,127,188, 56,
+167,255,255,138, 15,  8,254,196, 33, 21,127,251,243,219,127,127,255, 43, 68,254,228, 89,240,181,175,248,187, 77,233, 47, 95, 61,
+254,197, 11,195,191,243, 70,224,211,255,240, 63,105,223,243,224, 10,178,220,221,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
+  0};
+
diff --git a/source/blender/editors/datafiles/flatten.png.c b/source/blender/editors/datafiles/flatten.png.c
new file mode 100644 (file)
index 0000000..6c82bae
--- /dev/null
@@ -0,0 +1,291 @@
+/* DataToC output of file <flatten_png> */
+
+int datatoc_flatten_png_size= 9114;
+char datatoc_flatten_png[]= {
+137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  0, 96,  0,  0,  0, 96,  8,  2,
+  0,  0,  1, 26,253,208,249,  0,  0,  0,  4,103, 65, 77, 65,  0,  0,177,143, 11,252, 97,  5,  0,  0,  0,  6, 98, 75, 71, 68,  0,
+  0,  0,  0,  0,  0,249, 67,187,127,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 13,215,  0,  0, 13,215,  1, 66, 40,155,120,  0,  0,
+  0,  7,116, 73, 77, 69,  7,218,  7, 19,  0, 34, 12, 33,249,187,131,  0,  0, 32,  0, 73, 68, 65, 84,120,218,237,125,121,176,165,
+ 87,113,223,175,251,124,247,190, 89,222, 44, 26, 52,131,144, 52, 35,246, 29,155, 29,140,164, 17, 20, 24, 12,  9, 24,108,150, 56,
+198, 24, 85,217, 18, 18,184, 92,177, 42,148, 77,  2,146,192,142, 67,197, 46,178,176, 99,138,148,169, 74, 48,149,160,120,  9, 78,
+ 88, 21,177,  8, 36, 52, 90,144, 70, 27, 90,162,145, 70,219,236,111,222,125,247,222,239,156,254,229,143, 62,231,124,223,125,243,
+102, 24,  9,129, 69,202, 87,175,230,189,121,115,239,247,157,175, 79,159,238, 95,119,255,186, 37,219,183,111,199,143,125, 29,207,
+155, 26, 51,187,125,231,119,174,251,206, 87, 83, 59, 53, 99,138,113,105, 52,249,224,199,255,234,142,187,239,175,111, 82,  2,195,
+ 85,243,128,137,  8,  4,162, 58, 92, 61,184,240, 61,255,236,211, 23,159, 87,223, 20,182,109,219,246,132,117, 75, 34,194, 68, 26,
+ 33, 80, 81, 85,  0,242,218, 51,158,255,119,151,254,  0,128, 10, 32,  2,  0, 18, 68, 84,  0,136,136,134,102, 48, 28,204,173, 26,
+126,250,226,119,  3,104,  0,168,170,  6,141, 45,168, 52,  3,  0, 21,145,160, 24, 52,  0, 62,243,161,119, 43,128, 39, 63,251,249,
+ 42, 26,130,138,223,201, 47,172,170, 65, 67,208,225,176,105,  0,140, 15,239, 75, 41,  1,  8, 33,128, 64,132,193,252,125, 65,131,
+136, 40,128,241,226,161,141, 27,215,129, 16,129,170,168,138,136,132, 32,180, 68, 80, 68, 26, 64,198,163,165, 24,147,  0,162,106,
+ 52, 81,136,177,109, 13, 16,  8,255,247,151,191,215,  0, 88, 60,188,148,146,197, 24,151, 70,147,209,226,210,250,141,243,131,225,
+ 64,140, 42,114,197,183,175,155,154,201,113,237,221,241,188,228,142, 27, 47,167,165,107, 46,251,123, 51, 75,137,211,233,116,188,
+ 52,249,221,247,127,108,230, 77,187,126,116,245,213,151, 94,146,146, 89,178,148, 44,165, 20,219, 52, 25, 79,191,119,237, 45,127,
+241,223,190,146, 55, 24, 22,105,  4, 64,130,194, 16, 66, 51,108, 86,173,158,251,165,231, 62,229,147, 23,230, 61,214, 56, 25,105,
+  8, 34, 34,  2,133,  2, 16, 32, 52, 58,156, 27, 14,  6,225,147, 23,190, 11, 64, 19,227, 68,131,  8, 26,146,180, 68, 64, 85, 73,
+ 54, 77, 32,243,230,203,206,203, 47,185,243,230, 31,  2,136, 49,198, 54,165,148, 72,  0, 32, 25,167,209,104, 42, 65,167, 75,135,
+ 78,222,122, 42,128,188, 81, 26, 68,178,194, 72, 16, 85, 37, 83, 51, 25, 29, 76, 41,182,109,108,154, 16, 52, 88,136,201, 40, 10,
+ 26, 72,  2,248,202, 55,119, 52,163,197, 37, 51,155, 27, 14, 82, 50,  8, 20, 74,101,140,201,204, 84,212,104,139,163, 73,179,120,
+120, 68, 50,198, 52, 29,183,163,209,120, 50,158,108,121,220,137,170, 66,202,173, 55,221,185,235,174,251,219,148,240, 72,237, 93,
+227,223,214,172, 94,245,189,175,253, 87, 17, 34,165, 59,110,185,121,188,116, 24,132,153,165,152,110,186,253,158, 15,125,236, 11,
+ 63, 94,  7, 78, 63,227,140, 47,252,231,255, 64,242,202,175, 95,210,136, 36,146, 32, 19, 65, 26, 64, 99, 74,201, 21, 50,181,150,
+146,157,123,209,199,143,190, 34,145, 29,223,248, 31,  3, 13, 20,136, 25,141, 16, 33,  1, 35,128,160, 42, 34, 26,148,141,197,148,
+ 62,251,199,239,137, 41,209,248,174,139, 63,185,252, 66, 54,157,136,  8, 68,224,251,234,138,  5,138, 10,  8,136, 40,169,  0, 69,
+ 52, 72, 10, 33,196,148, 98,250,244,197,231,  3, 60,231,194, 79,100,125, 19, 32, 78, 71, 42,162, 42, 33,  4,205,  7, 59,171,  1,
+136,172, 12, 34,126,150,  7, 77, 24, 12,154,225,220,112, 56, 55,  8, 77,243,153, 15,157,191,102,245, 42,  0, 10, 32,182, 19, 13,
+ 65, 85, 67,208,166,  9, 65, 27, 13,170,170, 34,208,  0, 74, 94,166, 95, 75, 84, 67, 19,180,145, 16,116, 56, 12,131,193,224,163,
+ 31, 56,231,233, 79, 60, 77,  1,180,227,133,211,158,252,212, 20, 19, 96, 34,  8,  1,170, 18,154, 16,154,160,162, 65,202,234,208,
+173, 46,104,  8, 33,248, 51, 52, 33,188,239, 93,191,214,  0,152, 44, 30, 48, 75,143, 61,121,203,158,  7,246,166,148, 84, 85, 85,
+  0,131,  4,138, 32, 37,163,128,249, 49,  1,138, 42,141, 52,131,136,138,  2,112,  3, 39, 75,139,135,141,164,113,245,234,185, 24,
+227,210,210, 52,111,148,208, 40, 84, 13, 68, 50,  3,141,160,153,144,137, 70, 26,140, 38, 34,162,242,197, 47, 93,214,  0, 24, 45,
+ 46, 17, 66, 75, 70, 90, 50,166, 52,153,164,233,180,157, 95,191, 86,  4, 34, 66,154,138,152,  8,  8, 34, 17, 16, 17,  4, 40,244,
+219, 95,223,177, 48,158, 68,179,  6,192,225,133,145, 31, 62,146, 61, 13, 76, 15,220,187, 55,197, 52,157,182, 41,166,148,204,204,
+ 82,178,118,218,166,104,211,105, 59, 30, 79,199, 75,147,209,184, 93,154,198, 81, 27, 31, 57, 59,249,136,188,182,109,219,166,143,
+212,181,242,233,127,203, 27, 95,243,193,247,189, 39, 78,167,139,135, 15,221,121,243,141, 33,  4,154,197,148,226, 52,126,232, 19,
+ 95,188,245,206,221, 63,254,244,223,246,195,203, 52, 52,164,105, 24,236,184,244,111, 72, 10,132,164, 25, 45,165,148,172,109,219,
+ 20,109,113,113,233,247,254,205, 95, 28,227,209,228,238,219,174, 54, 75,128, 92,125,233, 95,155, 25,  0, 26,205,204,  0, 38, 35,
+105,201,218, 54,186,247,184,245,174,123,255,221,103, 47, 89, 89, 70, 34, 42, 34, 87,125,227, 75, 66, 87, 25,186, 42,136,229,211,
+  0,149,166,  9, 77, 19,154, 65,120,234,105, 39,187,219, 56,242,165,174,114, 65,149,126,158,  4,116,147, 86,206,106, 40, 71,171,
+105,154,166,  9, 33,132, 79, 92,248,174, 77, 27,230,151, 95,200, 44, 45,236,187, 31,200,159, 19,138, 95, 77, 32, 32,220, 78,  5,
+ 17,  7, 13,161,  9,205, 32, 52, 33,252,233, 31,252,214,139,159,243,148,217, 11,197,118,255,  3,247,160, 28,112, 10,253,121,  8,
+ 80,233,199,189,119,228,125,105, 65, 69,127,231,205,191,252,148,211, 78,233, 93, 40,181, 89, 20, 42,  0, 52,123, 83,170, 80, 32,
+125,211,161,128,  4,213, 32,218,104,211,  4, 17, 92,240,206, 95,237, 95, 40,206,111,120, 12,  0, 17, 13, 33,136,102,115,232, 54,
+111,198, 12,169,  6,113,104,164,161,209,102,208, 52,141,124,234,162,243, 11,192,179, 56, 92,181,202,141, 95,190,115,190, 24,139,
+  1,154,189,158, 58,230,146, 16, 52, 52,218, 52,250,194,231, 60,189, 60, 26, 77, 51,128,130,255,160,170,254,161,229,139, 18,209,
+238, 95, 37,132, 16, 26, 61,255, 55, 94, 13, 64, 83, 59,141,237, 36,165,  4, 80,139, 54,136, 64, 84, 84,225,184,178,191,180,252,
+216,110, 70, 69, 84, 67,  8,178,229,132, 13,106,113,106,105,242,196,167, 61,211,140,  0,243, 51,170,168,170,168, 66,160, 10, 71,
+162,221,181, 84, 33,160, 80,213,111,164, 27,215,205, 55,169, 29, 39, 75, 52,139, 49,133, 80,228, 36,170, 98, 16, 82,164,248, 52,
+ 33,217,191,150, 38, 71, 62, 26,  2, 53,168,182,237, 56, 78,199,177, 29, 63,238,228, 45,180,124, 62, 84,125,183,125,  7,178, 30,
+ 72, 39, 36,145, 89,217, 49, 37,141,211,113,108, 39,237,116,218,182,237,250, 13,243,142,224,  0,  8, 84, 85,144,101,150,127,  5,
+129, 64,204, 44,165,212,223,210, 16,180,105,167,173,145, 52, 51, 99, 74,105, 56, 28, 76,219, 54,  4,133,  8,  8,113,143, 45,166,
+128, 17,110,211,153, 40,238,  8, 72,  8,190,253,173,107, 29,253, 69, 51,186,233, 72,102,150, 18,140,212,124,115,241, 35,  7, 49,
+128, 25,111, 10,132,249, 63, 17,  9,114,112, 97, 68,162,105, 39,109, 34, 65,152, 37, 51, 90,178, 24, 83,187, 52,  1,176,122,237,
+106,144,249,228, 37,138,128, 52,208,111, 65, 18,139,163,165, 43, 47,191, 33,153, 25,165,153, 76, 91, 26,125,153, 52, 75,201, 82,
+ 76, 41,166,182,141,135, 14, 30,158,140,167,243,235, 86,175, 93, 63,175,170,102, 38, 84, 19,  3, 48,153,180,215, 92,113, 99,219,
+198, 73,219, 70,163, 81,154,118,218,166,100, 32,  8,184,172,252, 66, 41, 37, 26, 85,245,208,129,197,125,123, 14,154,209,239,209,
+ 78, 99, 27,227,116,210,210, 56,157,198,105,178,169,195,207, 71,149, 95,219,186,117,171,226,209,244,242, 88,107,229,215, 73, 91,
+ 54,253,234,107,207,122,198, 83,182,157,122,210,137,243,107,230,134,195, 64, 98,225,240,120,255,254,133,123,239,223,123,251,174,
+251,190,125,197, 15,111,250,209,157,143,248,154,242,130,182,158,250,184, 75,191,252, 95,140, 36, 32,204,240,243,254,187,239,184,
+239,206, 31, 97, 50, 58, 60, 25, 65, 68, 64, 51, 89, 59,144, 39,159,250,152, 39,159,178,233, 85, 47,126, 58,137,148, 82,140,201,
+104, 76,136, 41,189,247,207,254,242,224,194,225,159,104, 65,201,108,215,143,174, 50, 51,210,130,251, 87,209, 43,191,246,165,102,
+ 48, 32, 25,154,224,  7,211,151,170, 10, 18,  6,  1,161,162, 36, 33, 65, 84,204,104,106, 26,244, 35,127,120,182, 71,144, 49,165,
+ 63,250,200,231, 15, 29, 30, 61, 28,  9,169,  6,210,163, 61,220,121,227,142,  3,247,221, 53, 24, 14,114,204, 71,230,224, 28, 98,
+102, 16, 41,232, 48,227,149, 98, 74,161, 18,204,104, 38, 74, 85,181, 16,228,207,223,251, 78, 51,144,118,241,199,191,120,239,131,
+251, 30,202,150,185,217, 20,236,252,254, 55,198,139,135,220, 22,250, 13, 33, 98, 52,146, 30,142,228, 31, 28, 28, 72,142, 88,131,
+170,  1, 32, 69, 77, 25,104, 52, 85,210, 44,209,204, 44,201, 69,239,121,155,  3,220,247,252,241,103,146, 39, 41,126,204,130,204,
+ 72,139,211,201,210,226, 65, 55,232,  6,  8,144,111,131,140,150,136,158,173,151,238, 92, 24, 89, 62,165, 34,142, 63, 72,170,170,
+165, 36, 26,104, 73,204,104, 98, 31,251,192, 57, 34,242,169,191,250,202,142,157,183, 29,107, 65,180, 72,179,125,247,254, 95,247,
+ 21,142,150, 44, 71,107,112,155, 74, 80,  4, 48,152, 64, 76,216, 67,  4, 46, 39, 58, 88, 35, 77, 68,130, 24, 41,166, 34, 98,102,
+170, 98,137,102, 30, 76,218,185,111,123, 53,128,207, 93,242,205,239, 93,115,211, 74,136, 15, 72,169, 77,177, 29,143, 22,  4, 57,
+126,103,193,  8,217,147, 21,159,230,216,  4,130, 30,102,234, 96,133,123, 84,247,209,142, 19, 53,116,  8,175,130, 60, 21, 21,200,
+217,111,124,197,167, 63,120,126,208,229,134, 80,  1, 88,140,150,218,185, 53,235, 28,173, 57,152,145,242, 86, 41,191,113,255,234,
+112, 46,227, 85, 46,195, 75,218,161, 67,213,144, 63,231,128, 76, 28, 44,250,178, 66, 80, 13, 10,200,199, 63,112,238,187,127,243,
+159, 46, 95, 16, 45, 90,138,107,215,109, 40, 23,205,104, 44,104, 80, 13,170,  5,183,105,150, 74,134, 50, 88, 17,200,161, 11, 86,
+203,229, 84,160, 65, 58,112,231,144,184,113, 60,171,207,125,250,105, 31,191,240,252, 89,  9,165,  8, 75,205,160,241,107,169,170,
+  4,136,138,  4,  4, 69, 21,143,138,170,104, 65, 53, 25, 40, 45,147, 83,127,  7,243, 46,107,  1,106,245,193, 68, 67,144, 16,130,
+ 35,207, 16,194,220, 48,124,246, 79,126,175, 91, 80,138,211,148,166,169,157,156,242,196,167,151,187,101, 52,  4, 17, 85,212,173,
+ 20,173, 48, 23,249,225,  5,162, 43,139,170,175, 91, 29, 76,150,154,147, 82,207, 82,132, 32,170,162, 65, 47,254,253,179,147,135,
+195, 22, 39,102,  4, 48, 28, 52,107,230,215,141, 14, 31, 86,101,145,189, 63,164,159,123, 35, 65,168,209,132, 66, 51, 81,  8,212,
+140, 65,213,140,196,172,170,163, 59,134,102,230,151,163,250, 37, 20,  2,199,163,244,120, 71,248,164,173, 27,159,118,218,201,141,
+ 75,200, 35, 59, 18,155, 54,111, 86,213,133,131,  7,242,241, 18, 55,199, 32,225,219,  4,165, 82,104,128,239,159,153, 10, 72, 95,
+180,  2,168,247, 94,182, 38,127, 38,133, 16,160,155,171,236, 54, 25,130,144, 66,162,105,  6, 13,128,212,142,205,220,177,146,228,
+252,252,234,185,185,193,  3,247,221, 31, 66,240,171, 23,111,235,139,115,237,241,127,  0, 85, 96,  2,208, 68,  5, 52,203,193, 65,
+183, 44,130, 25,197, 66, 85, 65,154,153, 27, 14, 19,235, 97,100,138, 32,182,109,  3, 32, 78,199,201, 23, 84,226, 87,146, 39,110,
+222,244,192,253,123, 85, 85,212, 67,146,172,239,110, 47, 13,210, 25, 71,117,227,108, 16,120,212,195,178,172,146, 22, 83,130,254,
+204,254, 45,107,152,205,236,240,129,131, 75,131, 65,211,  0,104,219,169,153, 21,175, 14,130, 30, 57,108,220, 48, 31, 83, 26,141,
+198, 38,156,141, 17, 28,140, 80,202, 53, 13, 84, 40, 65, 55,173,121, 89,126,181,124, 89, 95, 72,246,202,174,133,117, 53, 36,  7,
+195,193, 55, 47,251,174, 80, 27, 64,226,180, 53, 22, 35,157,151, 38,158, 50,176,100,195,193, 32,165,228, 14,203, 93,  1,  4, 32,
+144,227,  9, 16,208,124,107,223, 29,161,229,237,119,140, 32, 16, 35, 93,162, 42,106, 48,165, 66,115,184, 65,114,113,113,233, 91,
+255,235,251,110,220, 26,  0,211,182,166,176,243,134,121,192,231, 50,166,209,104,150, 44, 26,  1, 12,230,  6,197, 36, 58, 42,200,
+ 46,143,200, 16,193,213, 70,202,163, 67,  4,102, 57,140,  1, 64, 40,114,189,193, 31,236, 27, 95,189,210,140, 41,223,204, 23, 52,
+153,246,178,159, 21,240,148,147, 78, 88,126,209, 82, 90, 26,141,205, 44,198, 36, 34,107,231, 87, 15,231,134,240, 40,208,186, 43,
+212, 51, 37,  2, 71, 84,  2,192,213, 92,132,100, 51,108,118,124,255,134,195, 11,163,148,140,228, 52,165,104,140,164,145,190,160,
+182,202,166,250,120,228,200,200,195, 35,171,209,155,165,186,184,184,111,207,212,115,120, 94, 63,176,152,131, 86, 17,184,219, 82,
+ 21, 75,214, 78,227,120, 60,153, 44, 77, 61, 47,108,100,140,201,191, 38,109,156,198, 20,205,218,148, 34,153,160,141,  8,190,115,
+205, 29,245,120, 18, 51, 66,167,213, 45, 97, 81, 82,150, 48,174,190,234,143,229, 49,202,111, 45,203,152,229,132,177, 19,182, 89,
+ 74, 76,100, 50, 68,147,196,144,  8,106,120,148,229, 27, 61, 54,123,244, 44,102,251,246,237,122,164,153,255,135,125, 61,186, 34,
+215, 71,227,130,142, 26, 74,191,252,244,231,191,106,251,139,182,157,186,229,132,245,107,231,215,204,  1,108, 35,247,237, 59,180,
+119,255,194,221,187, 31,184,226,218, 91,190,254,237, 43, 65, 62,242,225,253,182,109,219,238,186,235, 46,255,203,147,159,120,218,
+191,254,151,231,188,244,133,191, 24,219,  8, 26,105,177,157, 30,216,183,247,193,221,119,123, 80,225, 38,217,253, 82, 74,  6,179,
+105,107, 95,250,234,229,223,185,106,231,254, 67,135, 31, 17,165,150,173, 91,183,238,218,181,235, 51,255,241, 79,206, 58,243,165,
+162, 66, 51, 41, 46,225,218,239,126,189,198, 33, 21, 65, 87, 51, 83,141,100,108,141,180,148,236,  7, 59,111,255,212, 23,254,254,
+ 39, 93,208, 69,255,234,130,119,190,253,205, 70, 74,182,141,  4,112,112,239,  3,183, 95,255,131, 92, 63, 67,231,186,221,209,185,
+  1, 44, 86,142,102,158,168,180, 20, 41,194, 27,110,221,245,145,191,252,155,135,127,236, 31,115,226,102, 13,131, 16, 26,245,216,
+ 36, 52,123,238,223,125,231,141, 59, 66, 19,114, 74, 79,220,133,103,  8,154,145, 90, 77,241,170,151,231, 60, 31,174, 34,242,140,
+ 39,157,250,153, 15,190,251,181,219, 95,240, 48, 79,153, 87, 17, 50,206, 14, 77, 59,157,238,190,245,186,238,150,217,115,118,  1,
+164,195,142,153,208, 66,187, 11,120, 16, 38,130, 55,189,242,197,159,186,232,188,117,107, 87, 63,244, 99,159,113,129,250,237,111,
+184,252, 43, 30, 87,104,