Cleanup and new features for vertex keys.
authorTon Roosendaal <ton@blender.org>
Mon, 26 Sep 2005 15:34:21 +0000 (15:34 +0000)
committerTon Roosendaal <ton@blender.org>
Mon, 26 Sep 2005 15:34:21 +0000 (15:34 +0000)
User doc: http://www.blender3d.org/cms/Shape_Keys.678.0.html

- The mixed use of "Vertex Key","Key" or "RVK" in Blender was a bit
confusing. Also a 'vertex key' assumes keys per vertex, which actually is
only a single key for the entire shape. The discussions on blender.org
forums all mentioned "Shape" or "Blend Shapes", which I think is an OK
name for a "Vertex Key" in the UI. :)

- Most work was code spaghetti cleanup. Doing shape-keys now nicely goes
via the depgraph and DerivedMesh. That then allows to have different
shapes per object, with the new "Pin" feature.
Objects now define what Shape is shown (ob->shapenr)

- Added a Shape Panel in the Edit buttons with the various options

- Fixed a lot of issues in the IpoWindow, with drawing the channels.
For example, deleting a key-line there caused the entire Relative option to
go wrong, same for moving the lines up/down.
Changing key-line order now reflects in order of channels. The active
Shape is drawn more clear now too.

- Noticed it doesnt work yet for curves/lattice. Need modifier advise!

32 files changed:
source/blender/blenkernel/BKE_ipo.h
source/blender/blenkernel/BKE_key.h
source/blender/blenkernel/intern/DerivedMesh.c
source/blender/blenkernel/intern/depsgraph.c
source/blender/blenkernel/intern/displist.c
source/blender/blenkernel/intern/ipo.c
source/blender/blenkernel/intern/key.c
source/blender/blenkernel/intern/lattice.c
source/blender/blenkernel/intern/scene.c
source/blender/blenloader/intern/readfile.c
source/blender/include/BIF_editkey.h
source/blender/include/BIF_resources.h
source/blender/include/BSE_editipo.h
source/blender/include/butspace.h
source/blender/makesdna/DNA_key_types.h
source/blender/makesdna/DNA_object_types.h
source/blender/python/api2_2x/Lattice.c
source/blender/src/blenderbuttons.c
source/blender/src/buttons_editing.c
source/blender/src/drawaction.c
source/blender/src/drawipo.c
source/blender/src/drawobject.c
source/blender/src/editaction.c
source/blender/src/editcurve.c
source/blender/src/editipo.c
source/blender/src/editkey.c
source/blender/src/editlattice.c
source/blender/src/editmesh.c
source/blender/src/header_ipo.c
source/blender/src/outliner.c
source/blender/src/space.c
source/blender/src/transform_conversions.c

index 4d23be16804ee152b17d2b2f69b306df9688ca5f..c0a5be27bcf5225994ca81208a47b6a0b4dec7fe 100644 (file)
@@ -59,6 +59,8 @@ void make_local_obipo(struct Ipo *ipo);
 void make_local_matipo(struct Ipo *ipo);
 void make_local_keyipo(struct Ipo *ipo);
 void make_local_ipo(struct Ipo *ipo);
+struct IpoCurve *find_ipocurve(struct Ipo *ipo, int adrcode);
+
 void calchandles_ipocurve(struct IpoCurve *icu);
 void testhandles_ipocurve(struct IpoCurve *icu);
 void sort_time_ipocurve(struct IpoCurve *icu);
index 59984389f2141c6de9191fe3b3b20ce2324cb8a8..94ba1cbd69dc0bca259bb82bf01f3522a77e3e8e 100644 (file)
@@ -48,19 +48,17 @@ struct Key *add_key(struct ID *id);
 struct Key *copy_key(struct Key *key);
 void make_local_key(struct Key *key);
 void sort_keys(struct Key *key);
+
 void set_four_ipo(float d, float *data, int type);
 void set_afgeleide_four_ipo(float d, float *data, int type);
-void cp_key(int start, int end, int tot, char *poin, struct Key *key, struct KeyBlock *k, int mode);
+
+/* only exported to curve.c! */
 void cp_cu_key(struct Curve *cu, struct KeyBlock *kb, int start, int end);
-void do_mesh_key(struct Mesh *me);
-void do_curve_key(struct Curve *cu);
-void do_latt_key(struct Lattice *lt);
-void do_ob_key(struct Object *ob);
-void do_spec_key(struct Key *key);
 
-void unlock_all_keys(void);
+int do_ob_key(struct Object *ob);
 
-struct KeyBlock *key_get_active(struct Key *keyData);
+struct Key *ob_get_key(struct Object *ob);
+struct KeyBlock *ob_get_keyblock(struct Object *ob);
 
 #endif
 
index fda0e39df938cbe2453b393e5c53ca1e6a80c0c0..e63fe3ab16343c52ff2317955907e9394ed82bdd 100644 (file)
@@ -1474,8 +1474,9 @@ static void mesh_calc_modifiers(Object *ob, float (*inputVertexCos)[3], DerivedM
        *final_r = NULL;
 
        if (useDeform) {
-               do_mesh_key(me);
-
+               if(do_ob_key(ob))       /* shape key makes deform verts */
+                       deformedVerts = mesh_getVertexCos(me, &numVerts);
+               
                        /* Apply all leading deforming modifiers */
                for (; md; md=md->next) {
                        ModifierTypeInfo *mti = modifierType_getInfo(md->type);
@@ -1601,7 +1602,7 @@ static vec3f *editmesh_getVertexCos(EditMesh *em, int *numVerts_r)
                VECCOPY(cos[i], eve->co);
        }
 
-       return cos;
+       return (vec3f *)cos;
 }
 
 static void editmesh_calc_modifiers(DerivedMesh **cage_r, DerivedMesh **final_r)
index f23a30fba7f0c3d041b3e134eebbf861c54fdba7..61a0ea20a2eb9288e58dffbc3b7f7bd9fdad1734 100644 (file)
@@ -60,6 +60,7 @@
 
 #include "BKE_action.h"
 #include "BKE_global.h"
+#include "BKE_key.h"
 #include "BKE_mball.h"
 #include "BKE_modifier.h"
 #include "BKE_utildefines.h"
@@ -1437,7 +1438,12 @@ void DAG_scene_update_flags(Scene *sce, unsigned int lay)
                        switch(ob->type) {
                                case OB_MESH:
                                        me= ob->data;
-                                       if(me->key) ob->recalc |= OB_RECALC_DATA;
+                                       if(me->key) {
+                                               if(!(ob->shapeflag & OB_SHAPE_LOCK)) {
+                                                       ob->recalc |= OB_RECALC_DATA;
+                                                       ob->shapeflag &= ~OB_SHAPE_TEMPLOCK;
+                                               }
+                                       }
                                        else if(ob->effect.first) {
                                                Effect *eff= ob->effect.first;
                                                if(eff->type==EFF_WAVE) ob->recalc |= OB_RECALC_DATA;
@@ -1452,11 +1458,21 @@ void DAG_scene_update_flags(Scene *sce, unsigned int lay)
                                case OB_CURVE:
                                case OB_SURF:
                                        cu= ob->data;
-                                       if(cu->key) ob->recalc |= OB_RECALC_DATA;
+                                       if(cu->key) {
+                                               if(!(ob->shapeflag & OB_SHAPE_LOCK)) {
+                                                       ob->recalc |= OB_RECALC_DATA;
+                                                       ob->shapeflag &= ~OB_SHAPE_TEMPLOCK;
+                                               }
+                                       }
                                        break;
                                case OB_LATTICE:
                                        lt= ob->data;
-                                       if(lt->key) ob->recalc |= OB_RECALC_DATA;
+                                       if(lt->key) {
+                                               if(!(ob->shapeflag & OB_SHAPE_LOCK)) {
+                                                       ob->recalc |= OB_RECALC_DATA;
+                                                       ob->shapeflag &= ~OB_SHAPE_TEMPLOCK;
+                                               }
+                                       }
                                        break;
                                case OB_MBALL:
                                        if(ob->transflag & OB_DUPLI) ob->recalc |= OB_RECALC_DATA;
@@ -1481,9 +1497,13 @@ void DAG_object_flush_update(Scene *sce, Object *ob, short flag)
        if(flag & OB_RECALC_DATA) {
                ID *id= ob->data;
                if(id && id->us>1) {
-                       for (base= sce->base.first; base; base= base->next) {
-                               if (ob->data==base->object->data) {
-                                       base->object->recalc |= OB_RECALC_DATA;
+                       /* except when there's a key and shapes are locked */
+                       if(ob_get_key(ob) && (ob->shapeflag & (OB_SHAPE_LOCK|OB_SHAPE_TEMPLOCK)));
+                       else {
+                               for (base= sce->base.first; base; base= base->next) {
+                                       if (ob->data==base->object->data) {
+                                               base->object->recalc |= OB_RECALC_DATA;
+                                       }
                                }
                        }
                }
index d18c205d82560e12e01ce7ca5a84a28a2cc25e83..02d9f7be007dcb5c7664ead9cf51fe4b0782bd09 100644 (file)
@@ -1446,6 +1446,11 @@ void curve_calc_modifiers_pre(Object *ob, ListBase *nurb, int forRender, float (
        float (*originalVerts)[3] = NULL;
        float (*deformedVerts)[3] = NULL;
 
+       if(ob!=G.obedit && do_ob_key(ob)) {
+               deformedVerts = curve_getVertexCos(ob->data, nurb, &numVerts);
+               originalVerts = MEM_dupallocN(deformedVerts);
+       }
+       
        if (preTesselatePoint) {
                for (; md; md=md->next) {
                        ModifierTypeInfo *mti = modifierType_getInfo(md->type);
@@ -1522,7 +1527,6 @@ void makeDispListSurf(Object *ob, ListBase *dispbase, int forRender)
                nubase= &editNurb;
        }
        else {
-               do_curve_key(cu);
                nubase= &cu->nurb;
        }
 
@@ -1606,7 +1610,6 @@ void makeDispListCurveTypes(Object *ob, int forOrco)
                
                if(ob->type==OB_FONT) text_to_curve(ob, 0);
                
-               if(!obedit && !forOrco) do_curve_key(cu);
                if(!forOrco) curve_calc_modifiers_pre(ob, nubase, 0, &originalVerts, &deformedVerts, &numVerts);
 
                makeBevelList(ob);
index a926e8f67a7f4089cb8e99ebb4d5b536cc3f22ef..606855182384422d4e3a2e6ccb3e4e1aff7a88f3 100644 (file)
@@ -386,6 +386,17 @@ void make_local_ipo(Ipo *ipo)
 
 }
 
+IpoCurve *find_ipocurve(Ipo *ipo, int adrcode)
+{
+       if(ipo) {
+               IpoCurve *icu= ipo->curve.first;
+               while(icu) {
+                       if(icu->adrcode==adrcode) return icu;
+                       icu= icu->next;
+               }
+       }
+       return NULL;
+}
 
 void calchandles_ipocurve(IpoCurve *icu)
 {
index 8167021405567c302e0dd403da89492b0a9ff234..c32874f69c5709d154e35d0f6c303525191dcf82 100644 (file)
 
 #include "MEM_guardedalloc.h"
 
-#include "DNA_key_types.h"
+#include "DNA_curve_types.h"
 #include "DNA_ipo_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lattice_types.h"
 #include "DNA_mesh_types.h"
 #include "DNA_meshdata_types.h"
 #include "DNA_object_types.h"
-#include "DNA_curve_types.h"
-#include "DNA_lattice_types.h"
 
-#include "BLI_blenlib.h"
-#include "BKE_utildefines.h"
 #include "BKE_bad_level_calls.h"
-#include "BKE_global.h"
-#include "BKE_main.h"
-#include "BKE_library.h"
 #include "BKE_blender.h"
 #include "BKE_curve.h"
-#include "BKE_object.h"
-#include "BKE_mesh.h"
-#include "BKE_key.h"
+#include "BKE_global.h"
 #include "BKE_ipo.h"
+#include "BKE_key.h"
 #include "BKE_lattice.h"
+#include "BKE_library.h"
+#include "BKE_mesh.h"
+#include "BKE_main.h"
+#include "BKE_object.h"
+#include "BKE_utildefines.h"
+
+#include "BLI_blenlib.h"
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -191,23 +192,20 @@ void sort_keys(Key *key)
        while(doit) {
                doit= 0;
                
-               kb= key->block.first;
-               while(kb) {
+               for(kb= key->block.first; kb; kb= kb->next) {
                        if(kb->next) {
                                if(kb->pos > kb->next->pos) {
                                        BLI_remlink(&key->block, kb);
                                        
-                                       /* insertlink(lb, prevlink, newlink): newlink komt na prevlink */
                                        BLI_insertlink(&key->block, kb->next, kb);
                                        
                                        doit= 1;
                                        break;
                                }
                        }
-                       kb= kb->next;
                }       
        }
-       
+
 }
 
 /**************** do the key ****************/
@@ -407,7 +405,7 @@ static void flerp(int aantal, float *in, float *f0, float *f1, float *f2, float
        }
 }
 
-void cp_key(int start, int end, int tot, char *poin, Key *key, KeyBlock *k, int mode)
+static void cp_key(int start, int end, int tot, char *poin, Key *key, KeyBlock *k, int mode)
 {
        float ktot = 0.0, kd = 0.0;
        int elemsize, poinsize = 0, a, *ofsp, ofs[32], flagflo=0;
@@ -578,7 +576,6 @@ static void do_rel_key(int start, int end, int tot, char *basispoin, Key *key, f
 {
        KeyBlock *kb;
        IpoCurve *icu;
-       float fac[KEY_TOTIPO], fval;
        int *ofsp, ofs[3], elemsize, a, b;
        char *cp, *poin, *reffrom, *from, elemstr[8];
        
@@ -611,30 +608,23 @@ static void do_rel_key(int start, int end, int tot, char *basispoin, Key *key, f
        elemsize= key->elemsize;
        if(mode==KEY_BEZTRIPLE) elemsize*= 3;
 
-       /* step one: fetch ipo values */
-       icu= key->ipo->curve.first;
-       for(a=0; a<KEY_TOTIPO; a++) fac[a]= 0.0;
-       while(icu) {
-               fac[icu->adrcode]= icu->curval;
-               icu= icu->next;
-       }
-       
-       /* step 2 init */
+       /* step 1 init */
        cp_key(start, end, tot, basispoin, key, key->refkey, mode);
        
-       /* step 3: do it */
+       /* step 2: do it */
        
        a= 1;
        kb= key->block.first;
        while(kb) {
                
                if(kb!=key->refkey) {
-                       fval= fac[a];
+                       icu= find_ipocurve(key->ipo, kb->adrcode);
+                       
                        a++;
-                       if(a==32) break;
+                       if(a==64) break;
 
-                       /* no difference allowed */
-                       if(kb->totelem==tot) {
+                       /* only with ipocurve, and no difference allowed */
+                       if(icu && kb->totelem==tot) {
                                
                                poin= basispoin;
                                reffrom= key->refkey->data;
@@ -655,16 +645,16 @@ static void do_rel_key(int start, int end, int tot, char *basispoin, Key *key, f
                                                
                                                switch(cp[1]) {
                                                case IPO_FLOAT:
-                                                       rel_flerp(cp[0], (float *)poin, (float *)reffrom, (float *)from, fval);
+                                                       rel_flerp(cp[0], (float *)poin, (float *)reffrom, (float *)from, icu->curval);
                                                        
                                                        break;
                                                case IPO_BPOINT:
-                                                       rel_flerp(3, (float *)poin, (float *)reffrom, (float *)from, fval);
-                                                       rel_flerp(1, (float *)(poin+16), (float *)(reffrom+16), (float *)(from+16), fval);
+                                                       rel_flerp(3, (float *)poin, (float *)reffrom, (float *)from, icu->curval);
+                                                       rel_flerp(1, (float *)(poin+16), (float *)(reffrom+16), (float *)(from+16), icu->curval);
                        
                                                        break;
                                                case IPO_BEZTRIPLE:
-                                                       rel_flerp(9, (float *)poin, (float *)reffrom, (float *)from, fval);
+                                                       rel_flerp(9, (float *)poin, (float *)reffrom, (float *)from, icu->curval);
                        
                                                        break;
                                                }
@@ -898,16 +888,15 @@ static void do_key(int start, int end, int tot, char *poin, Key *key, KeyBlock *
        }
 }
 
-void do_mesh_key(Mesh *me)
+static int do_mesh_key(Mesh *me)
 {
        KeyBlock *k[4];
        float cfra, ctime, t[4], delta, loc[3], size[3];
        int a, flag = 0, step;
        
-       if(me->totvert==0) return;
-       if(me->key==NULL) return;
-       if(me->key->flag & KEY_LOCKED) return;
-       if(me->key->block.first==NULL) return;
+       if(me->totvert==0) return 0;
+       if(me->key==NULL) return 0;
+       if(me->key->block.first==NULL) return 0;
        
        if(me->key->slurph && me->key->type!=KEY_RELATIVE ) {
                delta= me->key->slurph;
@@ -969,6 +958,7 @@ void do_mesh_key(Mesh *me)
                        else boundbox_mesh(me, loc, size);
                }
        }
+       return 1;
 }
 
 static void do_cu_key(Curve *cu, KeyBlock **k, float *t)
@@ -1042,7 +1032,7 @@ static void do_rel_cu_key(Curve *cu, float ctime)
        }
 }
 
-void do_curve_key(Curve *cu)
+static int do_curve_key(Curve *cu)
 {
        KeyBlock *k[4];
        float cfra, ctime, t[4], delta;
@@ -1050,10 +1040,9 @@ void do_curve_key(Curve *cu)
        
        tot= count_curveverts(&cu->nurb);
        
-       if(tot==0) return;
-       if(cu->key==NULL) return;
-       if(cu->key->flag & KEY_LOCKED) return;
-       if(cu->key->block.first==NULL) return;
+       if(tot==0) return 0;
+       if(cu->key==NULL) return 0;
+       if(cu->key->block.first==NULL) return 0;
        
        if(cu->key->slurph) {
                delta= cu->key->slurph;
@@ -1110,17 +1099,18 @@ void do_curve_key(Curve *cu)
                        if(flag && k[2]==cu->key->refkey) tex_space_curve(cu);
                }
        }
+       
+       return 1;
 }
 
-void do_latt_key(Lattice *lt)
+static int do_latt_key(Lattice *lt)
 {
        KeyBlock *k[4];
        float delta, cfra, ctime, t[4];
        int a, tot, flag;
        
-       if(lt->key==NULL) return;
-       if(lt->key->flag & KEY_LOCKED) return;
-       if(lt->key->block.first==0) return;
+       if(lt->key==NULL) return 0;
+       if(lt->key->block.first==NULL) return 0;
 
        tot= lt->pntsu*lt->pntsv*lt->pntsw;
 
@@ -1171,51 +1161,79 @@ void do_latt_key(Lattice *lt)
        }
        
        if(lt->flag & LT_OUTSIDE) outside_lattice(lt);
-}
-
-
-/* going to be removed */
-void unlock_all_keys()
-{
-       Key *key;
        
-       key= G.main->key.first;
-       while(key) {
-               key->flag &= ~KEY_LOCKED;
-               key= key->id.next;
-       }
+       return 1;
 }
 
-void do_ob_key(Object *ob)
+/* returns 1 when key applied */
+int do_ob_key(Object *ob)
 {
-       if(ob->type==OB_MESH) do_mesh_key( ob->data);
-       else if(ob->type==OB_CURVE) do_curve_key( ob->data);
-       else if(ob->type==OB_SURF) do_curve_key( ob->data);
-       else if(ob->type==OB_LATTICE) do_latt_key( ob->data);
+       if(ob->shapeflag & (OB_SHAPE_LOCK|OB_SHAPE_TEMPLOCK)) {
+               Key *key= ob_get_key(ob);
+               if(key) {
+                       KeyBlock *kb= BLI_findlink(&key->block, ob->shapenr-1);
+
+                       if(kb==NULL) {
+                               kb= key->block.first;
+                               ob->shapenr= 1;
+                       }
+                       
+                       if(ob->type==OB_MESH) {
+                               Mesh *me= ob->data;
+                               
+                               cp_key(0, me->totvert, me->totvert, (char *)me->mvert->co, key, kb, 0);
+                       }
+                       else if(ob->type==OB_LATTICE) {
+                               Lattice *lt= ob->data;
+                               int tot= lt->pntsu*lt->pntsv*lt->pntsw;
+                               
+                               cp_key(0, tot, tot, (char *)lt->def->vec, key, kb, 0);
+                       }
+                       else if ELEM(ob->type, OB_CURVE, OB_SURF) {
+                               Curve *cu= ob->data;
+                               int tot= count_curveverts(&cu->nurb);
+                               
+                               cp_cu_key(cu, kb, 0, tot);
+                       }
+                       return 1;
+               }
+       }
+       else {
+               if(ob->type==OB_MESH) return do_mesh_key( ob->data);
+               else if(ob->type==OB_CURVE) return do_curve_key( ob->data);
+               else if(ob->type==OB_SURF) return do_curve_key( ob->data);
+               else if(ob->type==OB_LATTICE) return do_latt_key( ob->data);
+       }
+       
+       return 0;
 }
 
-void do_spec_key(Key *key)
+Key *ob_get_key(Object *ob)
 {
-       int idcode;
-       
-       if(key==0) return;
-       
-       idcode= GS(key->from->name);
-       
-       if(idcode==ID_ME) do_mesh_key( (Mesh *)key->from);
-       else if(idcode==ID_CU) do_curve_key( (Curve *)key->from);
-       else if(idcode==ID_LT) do_latt_key( (Lattice *)key->from);
        
+       if(ob->type==OB_MESH) {
+               Mesh *me= ob->data;
+               return me->key;
+       }
+       else if ELEM(ob->type, OB_CURVE, OB_SURF) {
+               Curve *cu= ob->data;
+               return cu->key;
+       }
+       else if(ob->type==OB_LATTICE) {
+               Lattice *lt= ob->data;
+               return lt->key;
+       }
+       return NULL;
 }
 
-KeyBlock *key_get_active(Key *keyData) 
+/* only the active keyblock */
+KeyBlock *ob_get_keyblock(Object *ob) 
 {
-       if (keyData) {
-               KeyBlock *key;
-
-               for (key=keyData->block.first; key; key= key->next)
-                       if (key->flag&SELECT)
-                               return key;
+       Key *key= ob_get_key(ob);
+       
+       if (key) {
+               KeyBlock *kb= BLI_findlink(&key->block, ob->shapenr-1);
+               return kb;
        }
 
        return NULL;
index df0f9e7d8f8059ec0db40101dadf8fa18e4b006d..940bd865185173c792c94554f5242306a4696ed8 100644 (file)
@@ -707,7 +707,7 @@ void lattice_calc_modifiers(Object *ob)
        freedisplist(&ob->disp);
 
        if (!editmode) {
-               do_latt_key(ob->data);
+               do_ob_key(ob);
        }
 
        for (; md; md=md->next) {
index 8cfcdd41169fdc181f44f8215cf8bb263ad288a6..fdbfa081f3234bd05d27da5ef2924d5784d4937c 100644 (file)
@@ -436,6 +436,7 @@ void scene_select_base(Scene *sce, Base *selbase)
 void scene_update_for_newframe(Scene *sce, unsigned int lay)
 {
        Base *base;
+       Object *ob;
        int setcount=0;
        
        /* object ipos are calculated in where_is_object */
@@ -443,9 +444,6 @@ void scene_update_for_newframe(Scene *sce, unsigned int lay)
        
        if (G.f & G_DOSCRIPTLINKS) BPY_do_all_scripts(SCRIPT_FRAMECHANGED);
        
-       /* if keys were activated, disable the locks */
-       unlock_all_keys();
-       
        /* for time being; sets otherwise can be cyclic */
        while(sce && setcount<2) {
                if(sce->theDag==NULL)
@@ -454,11 +452,13 @@ void scene_update_for_newframe(Scene *sce, unsigned int lay)
                DAG_scene_update_flags(sce, lay);   // only stuff that moves
                
                for(base= sce->base.first; base; base= base->next) {
-                       object_handle_update(base->object);   // bke_object.h
+                       ob= base->object;
+                       
+                       object_handle_update(ob);   // bke_object.h
                        
                        /* only update layer when an ipo */
-                       if(base->object->ipo && has_ipo_code(base->object->ipo, OB_LAY) ) {
-                               base->lay= base->object->lay;
+                       if(ob->ipo && has_ipo_code(ob->ipo, OB_LAY) ) {
+                               base->lay= ob->lay;
                        }
                }
                sce= sce->set;
index a632b2bb12e256de97f0850b0f58a033ac5f072a..1fcc572238c0cfd14290eb0e1f20d5ccc403f782 100644 (file)
@@ -4848,6 +4848,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
                Object *ob;
                bArmature *arm;
                Mesh *me;
+               Key *key;
                Scene *sce= main->scene.first;
 
                while(sce){
@@ -4941,6 +4942,29 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
                                mesh_strip_loose_faces(me);
                        }
                }
+               
+               for(key= main->key.first; key; key= key->id.next) {
+                       KeyBlock *kb;
+                       int index= 1;
+                       
+                       /* trick to find out if we already introduced adrcode */
+                       for(kb= key->block.first; kb; kb= kb->next)
+                               if(kb->adrcode) break;
+                       
+                       if(kb==NULL) {
+                               for(kb= key->block.first; kb; kb= kb->next) {
+                                       if(kb==key->refkey) {
+                                               if(kb->name[0]==0)
+                                                       strcpy(kb->name, "Basis");
+                                       }
+                                       else {
+                                               if(kb->name[0]==0)
+                                                       sprintf(kb->name, "Key %d", index);
+                                               kb->adrcode= index++;
+                                       }
+                               }
+                       }
+               }
        }
        /* WATCH IT!!!: pointers from libdata have not been converted yet here! */
        /* WATCH IT 2!: Userdef struct init has to be in src/usiblender.c! */
index 46f9d8e2aa40ae525209c3085bfd030a292b3531..ff78f78da2bfe3533d96dce0a26ddb0275987d48 100644 (file)
@@ -39,25 +39,27 @@ struct Mesh;
 struct Object;
 struct Lattice;
 struct Curve;
+struct uiBlock;
 
 void mesh_to_key(struct Mesh *me, struct KeyBlock *kb);
 void key_to_mesh(struct KeyBlock *kb, struct Mesh *me);
-void insert_meshkey(struct Mesh *me, short offline);
+void insert_meshkey(struct Mesh *me, short rel);
 
 void latt_to_key(struct Lattice *lt, struct KeyBlock *kb);
 void key_to_latt(struct KeyBlock *kb, struct Lattice *lt);
-void insert_lattkey(struct Lattice *lt);
+void insert_lattkey(struct Lattice *lt, short rel);
 
 void curve_to_key(struct Curve *cu, struct KeyBlock *kb, ListBase *nurb);
 void key_to_curve(struct KeyBlock *kb, struct Curve  *cu, ListBase *nurb);
-void insert_curvekey(struct Curve *cu);
+void insert_curvekey(struct Curve *cu, short rel);
 
-struct Key *give_current_key(struct Object *ob);
-void showkeypos(struct Key *key, struct KeyBlock *kb);
+void insert_shapekey(struct Object *ob);
 
-void deselectall_key(void);
-void delete_key(void);
-void move_keys(void);
+void delete_key(struct Object *ob);
+void move_keys(struct Object *ob);
+
+void make_rvk_slider(struct uiBlock *block, struct Key *key, int i,
+                                                       int x, int y, int w, int h, char *tip);
 
 #endif
 
index 9b4f92c9d1b89989eaaa82cc4de3b91d95054f01..7040c78192721475173308a9ea3c6a2b70d1de23 100644 (file)
@@ -54,8 +54,8 @@ typedef enum {
        ICON_SPACE2,
        ICON_SPACE3,
        ICON_SPACE4,
-       ICON_SPACE5,
-       ICON_SPACE6,
+       ICON_TRIA_LEFT,
+       ICON_TRIA_UP,
 
        ICON_ORTHO,
        ICON_PERSP,
@@ -76,8 +76,8 @@ typedef enum {
        ICON_SORTSIZE,
        ICON_LONGDISPLAY,
        ICON_SHORTDISPLAY,
-       ICON_TRIA_OPEN,
-       ICON_TRIA_CLOSED,
+       ICON_TRIA_DOWN,
+       ICON_TRIA_RIGHT,
 
        ICON_VIEW_AXIS_ALL,
        ICON_VIEW_AXIS_NONE,
index ccdbb8a8324aa6ef98a187257a2dd8ba81e27a0e..8b5139f14e729dd038ddc0cfbfb5dd4c9616bcb5 100644 (file)
@@ -59,7 +59,7 @@ char *getname_key_ei(int nr);
 char *getname_la_ei(int nr);
 char *getname_cam_ei(int nr);
 char *getname_snd_ei(int nr);
-struct IpoCurve *find_ipocurve(struct Ipo *ipo, int adrcode);
+
 void boundbox_ipocurve(struct IpoCurve *icu);
 void boundbox_ipo(struct Ipo *ipo, struct rctf *bb);
 void editipo_changed(struct SpaceIpo *si, int doredraw);
index 76d2069a9a97638eb02d208322ec5ee73c3772f8..0557a6110bd3fcadea900893aa1bce4fe8bffab5 100644 (file)
@@ -325,9 +325,17 @@ enum {
 #define B_DOCENTRENEW  2016
 #define B_DOCENTRECURSOR       2017
 
-       /* 32 values! */
+       /* 20 values! */
 #define B_OBLAY                        2019
 
+#define B_ADDKEY               2041
+#define B_SETKEY               2042
+#define B_DELKEY               2043
+#define B_NAMEKEY              2044
+#define B_PREVKEY              2045
+#define B_NEXTKEY              2046
+#define B_LOCKKEY              2047
+
 #define B_MESHBUTS             2100
 
 #define B_FLIPNORM             2050
@@ -367,7 +375,6 @@ enum {
 #define B_DRAWEDGES            2087
 #define B_DRAWCREASES  2088
 
-
 /* *********************** */
 #define B_CURVEBUTS            2200
 
index ea4b1b866a51106625fbb29da416c364a3c91907..a41d93997c1dfd1fec31520f94c749b5747140d9 100644 (file)
@@ -43,8 +43,8 @@ typedef struct KeyBlock {
        struct KeyBlock *next, *prev;
        
        float pos;
-       short flag, pad;
-       short type, rt;
+       int pad;
+       short type, adrcode;
        int totelem;
        
        void *data;
@@ -77,8 +77,8 @@ typedef struct Key {
 /* key->type */
 #define KEY_NORMAL      0
 #define KEY_RELATIVE    1
+
 /* key->flag */
-#define KEY_LOCKED             1
 
 /* keyblock->type */
 #define KEY_LINEAR      0
index 6bb18fe1df96195fdf8b572c15ea3badeb990df1..b4f0c369d55f3ff40258769449f22c2a946754fd 100644 (file)
@@ -190,10 +190,10 @@ typedef struct Object {
        LBuf lbuf;
        LBuf port;
        
-       float pad3, smoothresh;         /* smoothresh is phong interpolation ray_shadow correction in render */
+       short fluidsimFlag;                     /* NT toggle fluidsim participation on/off */
+       char shapenr, shapeflag;        /* current shape key for menu or pinned, flag for pinning */
+       float smoothresh;                       /* smoothresh is phong interpolation ray_shadow correction in render */
 
-       short fluidsimFlag;  /* NT toggle fluidsim participation on/off */
-       short dnapadFluidsimDummy1, dnapadFluidsimDummy2, dnapadFluidsimDummy3; /* 8byte align */
        struct FluidsimSettings *fluidsimSettings; /* if fluidsim enabled, store additional settings */
   
        struct DerivedMesh *derivedDeform, *derivedFinal;
@@ -375,6 +375,11 @@ extern Object workob;
 #define OB_ADDACT              1024
 #define OB_SHOWCONT            2048
 
+/* ob->shapeflag */
+#define OB_SHAPE_LOCK          1
+#define OB_SHAPE_TEMPLOCK      2
+
+
 /* ob->softflag in DNA_object_force.h */
 
 #ifdef __cplusplus
index 1c177cc67dbb0d129be0e5837bb9cf3aca4faba9..3ea371ec4e58385dcc746cb3034eea8952e320f3 100644 (file)
@@ -757,8 +757,8 @@ static PyObject *Lattice_insertKey( BPy_Lattice * self, PyObject * args )
 //              return (EXPP_ReturnPyObjError (PyExc_RuntimeError,
 //                                              "frame value has to be greater than 0"));
 
-       //insert a keybock for the lattice
-       insert_lattkey( lt );
+       //insert a keybock for the lattice (1=relative)
+       insert_lattkey( lt , 1);
 
        if( frame > 0 )
                G.scene->r.cfra = (short)oldfra;
index 7a2ae2b16b93cdf18448521f20a35f67572ed3f7..07d500323154cbb8b0bc922cb68989c765bd8a10 100644 (file)
 /* DataToC output of file <blenderbuttons> */
 
-int datatoc_blenderbuttons_size= 46456;
+int datatoc_blenderbuttons_size= 46549;
 char datatoc_blenderbuttons[]= {
-137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  2,  0,  0,  0,  1,  0,
-  8,  2,  0,  0,  0, 74,242, 89, 48,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 11, 19,  0,  0, 11, 19,  1,  0,154,156, 24,  0,  0,
-  0,  4,103, 65, 77, 65,  0,  0,192,153,201, 12,156,227,  0,  0,  0, 32, 99, 72, 82, 77,  0,  0,110, 39,  0,  0,115,175,  0,  0,
-246,112,  0,  0,129,232,  0,  0,107,215,  0,  0,226,170,  0,  0, 48,131,  0,  0, 21, 42,251,118,133,113,  0,  0,180,238, 73, 68,
- 65, 84,120,218, 98,244,137,169,101, 24,  5,163, 96, 20,140,130, 81, 48,242,  0, 64,  0, 49,141,  6,193, 40, 24,  5,163, 96, 20,
-140, 76,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16,
- 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64, 44,112,150,
-175,173, 12,241,218, 54, 31,126,130,204, 29,213, 59,  8,245,162,105,167,186,189,  7, 14, 28,112,112,112, 24, 13,231, 81,189,163,
-122,  7,185, 94, 60,  0, 32,128, 88,134, 95,157,150,158,158, 14, 36,103,206,156, 73,103, 27,103,204,152,193,200,200, 56,236,155,
- 12, 16,207,  2, 65,100,100,228,154, 53,107, 32,236,144,144,144,209,198,212,240,139,104,122,102,162, 81, 48, 32,  0, 32,128, 88,
-104,145,  2,110,223,190,221,211,211,  3, 97,151,148,148,168,170,170,210,173,208,  7, 50, 30, 63,126, 12,100,203,202,202, 66,164,
-104,157,136,129, 54, 62,120,240,  0,200, 80, 80, 80,160,115,197,131,171,104,198,229,113, 96,155, 29,191,  9,203,151, 47,199,239,
-126,160, 21,171, 86,173,130,176,215,175, 95,239,234,234, 10, 97,  3,107,  2,218,213,  1,198,198,198, 64,242,236,217,179,100,200,
-142, 76,112,239,222,189,206,206, 78, 56,183,188,188, 92, 73, 73,105,144, 87, 27,  3,232,230,145, 12,  0,  2,136,  5, 79, 33, 14,
- 33, 73, 45,190, 33,197,144, 81,153,133,176,174,196,219,203, 47,122,186,122,232, 83, 44,  2,203,125,120,161,143, 75,132, 22,  0,
-232, 53, 96,209,255,  0, 12,118,236,216, 65,255,118, 19,188,242,131,212,127, 93, 93, 93, 64,110, 89, 89, 25, 86,197,129,129,129,
- 16,198,159, 63,127,127,253,254,249,235,231, 47,  8,248,243,231, 15, 46, 45, 88, 75,127, 52,  0,172,  9,104, 90,  7,224,169,189,
- 32, 21,192, 40,192,213, 14,  0,  2, 72,193, 74,135,100,  9,177,154,140, 44, 48,128,110, 30,225,  0, 32,128,112, 86,  0,192, 38,
-124,137,182,  6,144, 36, 41, 14,128, 17,  9, 41,250, 33, 92, 32,195,117,113,  0,176, 26, 24,168,238, 36,164, 14,160,181,213,240,
- 58,192,195,195,  3, 72,  2,217,116,243, 44, 48, 96,247,239,223, 15,100, 56, 58, 58,162,213,  1,120,  0,176,184,255,245,235,247,
-175, 95, 40,165,255,153, 51,103, 76, 76, 76,  8,218, 24, 22, 22,  6, 31,  2,218,189,123, 55,188,  2, 32, 35,183, 19, 25, 74,192,
-214, 61,176,244,119,115,115, 67, 22,220,181,107, 23,176,191,  2, 97, 99,157,138, 24,225,165, 63,114,216,146, 81, 46,147,173,133,
-140,126,  0,181,220, 60, 10,200,  0,  0,  1,196,130,167,249,111, 39, 42,218,195,112,131,248, 78,  0,114,233,191, 59,118,  3,180,
-104, 88, 28,  0, 20,  1,138, 19,140, 75,204, 86,  0,169, 77,  0, 92, 77,126, 90, 36, 35, 52, 51,225,117,192,239,223,127,102,204,
-152, 65,121, 35,136, 24,237,104,165, 63, 92, 35,214,144, 68, 41,253,127,  3, 75,255,159, 63,193,149,  0,188,244,255,255,239, 63,
- 49,165, 63, 80, 37,132,221,219,219, 11,111,242,195, 39,  3,136,119, 51,154,179,137,  7,240,162, 31, 88,  3, 25, 26, 26,142,230,
- 97,228, 81, 20,172,137,  7,158, 36,128, 10,  8,142,171, 32,143,166,194, 53, 18, 19, 77,200,  9, 15,174,158, 96, 70, 64,115, 51,
-176, 73,193,200,200,232,226,226, 66,146,155, 33, 32, 57, 57,121,238,220,185,163,201,128, 36,  0, 16,128, 29, 51, 72,  1, 16,  4,
-162, 40,132, 29,165, 43,216,186, 67,116, 19,111,101, 71, 16,218,116,165,136, 22, 66, 95, 63,197, 64,165, 25, 45,251,136,136,136,
- 12,168,111,156, 95, 37,190,255, 24,176,  8,120,178, 17,115,198, 65,127, 99, 12,142, 16, 61, 51,  1,231,185, 38,161,166,159,100,
-251,176, 14, 72, 51,241,  5,253,193,250, 51,178,145,  3,128,212, 86,235,210,221,232,174, 64,227,174,108,192, 36,105, 23,117,126,
-240,247,244,247,  1,251,107, 48,127, 36,253,189,247,243, 50,103, 67,101,149, 32, 11,133, 33,234,161,249, 19, 98, 22, 78, 14,198,
-165,231, 66,250,  3,253,168,114, 72,255, 90,213,255, 51,206,218, 38,156,148, 38,123, 26,229,239,126, 96, 92, 44,233,127,247,177,
-187,140, 25,244,199, 93,178,214, 58,231, 74, 99,  6,253,149, 82,232,255,107, 80,164, 77,  0,118,172,102,  5, 64, 16,  6,215, 78,
- 82, 93,123,255,187,189, 93, 34, 88, 94,154,142, 70,100,216, 12,164,139, 10,130,138, 32,202,190, 63,200,200,127, 30, 95,129,155,
- 56,  3,101, 62,163, 63,153,  6, 28,153,  3,112, 87,200, 37, 31,208,243,151,183, 75, 57,  0,155,219, 55,231, 92,105,134, 67,217,
-250, 28, 95,155,164,113,190,114,174, 58, 58, 53,206,153,186, 13,185, 63,194,127, 20,255,140,254,222,123,107,173, 89, 77,237,116,
- 66,235,229,156,245,177,119,184, 34,255, 62, 70,127,130,126,  0, 80, 74,141,211,208,202,184,146,175, 21,122,202, 71,242,184, 37,
- 66,146,179,236, 35,145,  3,138,174, 77,232, 31,  2,141,198,  1,133,237, 16, 64, 44,120,154,255, 16, 64,252, 76,  0,124,232, 31,
-121,200,  8,206,134,203, 82, 55,189,162,173,249,129,112,177, 50,168,  8,102,204,152,  1,159,248,133,143,248,  3, 29,  3, 20,255,
-241,253, 59,241, 21,  0, 80,203,252,249,243,159, 60,125,202,202,204, 44, 46, 33,  1, 47,253,243,242,242,180,181,181,241,100, 27,
-160,141, 64,101,240, 58,  0,185, 95,130,127,  6,226, 23,184,252,255, 13, 42,253,255, 66, 74,127, 96,109,240,237,219,183, 47, 95,
-190,124,254, 76, 84,  5,  0, 31,  2,130,  0,226,219,254,171, 86,175, 98,248,207,240,230,213, 43, 32, 23, 52,216,  4,236,234,255,
-255, 15,170,  3, 86,175, 14, 11, 13, 37, 38,129, 33,151,254,172,172,172,236,236,236, 28, 96, 64,164,203, 71,  1,193,145, 31, 60,
-  5, 55,169,171,171,177,142,  8,225,  7,161,161,161,144,162,159,164,213,  4,240,210, 31, 90,162,177,176,  0, 91, 54,163, 99, 65,
- 68,  2,128,  0, 98,194,211,252,135,  0,226, 59,  1,111, 47,191, 64, 54,  4,141, 13,151,165, 34,  0, 38, 44, 72,209,143,127,193,
- 15,213,231,129, 33,235,253,119,236,216,  1,239,  7, 64, 74,127, 61, 61,189, 31,192, 26,224,251,119, 80, 25,247,255, 63,193, 44,
- 55,117,218, 84, 96,235, 91, 70, 90,250,247,223,191,104,165, 63,193,108,  3,169,  3,144, 27, 92,144,213,168, 88,251, 37, 40, 21,
-192,175,223,144,210,255,244,169,211,223,190,127,  7,150,158, 31, 63,126,252,240,225,195,251,247,239,137, 15,  1,200, 40, 16,241,
- 67,255,160,  4,240,230,237,219,183,111,222,188,125,  7,162,193, 76,160,160,134,166,230, 59, 48,131,152,230, 63,144,  4,150,254,
-208,134, 63, 55, 55, 15, 15, 47, 47, 15, 47,144, 49,154,141,113,149,230,196, 55,192, 33, 43,  8,224, 12, 92,108,146,108, 71, 27,
- 17, 34,168,203,197,197,  5, 88,  7,  0, 75,127, 87, 87, 87,226,251, 28,192,178, 30, 88,226,195,185,163,165, 63, 73,  0, 32,128,
-152,240, 55,255,145, 59,  1,248, 13, 42, 41, 41, 57,215,117,130,  1, 60,235, 11, 84, 12, 95, 69, 10,100,  3, 69,128,108,160, 44,
- 80, 13,237,124, 66,139,150, 62,254, 12,147,145,145,  1,100,  0, 75,211,107,215,174,157, 63,119, 78, 95, 79,255,199, 15,112,  7,
-224,251,247, 37,139, 23, 67,100,241, 36,247,222,222, 94, 45, 77, 45, 96,  5,  0, 12,165, 63,191,127, 61,125,242,148, 12, 55, 32,
-179, 33, 27, 17,  8,244,  0,126,255,252,243, 23, 52,242,115,242,228,137,175,223,191,126,249,252,  9, 88,250,191,  7,149,254,239,
-128,128,120,171, 33,253,  0,146, 90,106,135, 14, 29,250, 12,  2,159,192,228,103, 17, 97, 97, 96,233,127,227,250,245,131,135, 14,
- 17,163, 29,210,252,103, 97, 97,229,226,226,226,  1,150,253, 64,204,195,197,201,197,249,226,197,139,209,108, 12,  1,229,229,229,
-240,242, 23, 62,185, 10, 97, 64,  4, 33, 10,136,108,182,227, 31, 23,194, 95,250, 19,223,246, 71,115, 51,176, 14,  0,150,254, 36,
-185, 25,185, 14, 24, 45,253, 73,  5,  0,  1,132,101,  8,  8,185,249, 15, 23,233, 97,184,129,223, 32,200, 80, 15,176,153, 15, 89,
-250,217, 19, 11,173, 48, 32,165, 63,164,249, 79,112, 53,209,237,213, 54,228,117,  2,240,148,254,180, 91,  6, 10, 41,115,129, 13,
-127, 51, 51,179, 31, 63,127,126,255,241, 29,220,250,255, 14, 98,252,248, 49,101,202, 20, 92, 57,  7,178, 82,243,239,223,191,103,
-207,158, 99,101, 97,134,132,204,253,  7, 15,158, 62,125,186,124,249,138,200,200,  8,160,  8,188, 31,128, 53,131,193,  7,157,208,
- 90,112,  4, 87,160, 66,218,254,199,143, 31,255,250,229, 27,104,220, 31, 84, 30,127,250,244,233,227,167, 79, 95,136, 31, 72,129,
- 52,255,225, 59,129,137,169,  6,128,138,225,108, 69,  5,  5, 96,209, 15,100,  0, 75,255,251,224, 94, 11,178, 44, 30, 96,105,101,
-201,206,198,206,201,201,  9,236,  1,176,179,179,179,178,178,210,185,214, 31,228,  0,121,181, 12,124,241, 12,188, 38, 64, 83,128,
-191, 16,199, 58,148, 79, 82,207,131,200,106,131, 90,110,134,212,  1,163,165, 63,169,  0, 32,128, 88, 48,199,127,252, 14, 28,198,
- 94, 58, 19, 90, 15, 10,105, 62, 64, 86,130, 66,202,125,248,224, 15,176,249, 79, 48, 53,144, 93, 76, 19,172,  3,104,218, 15, 64,
-203, 33, 75, 22, 47,  1,150,254,144, 29, 86, 88,215,227, 35,175,211,255,247,239,175,158,190,209,197,139,151,174, 95,187,198,194,
-202, 10, 44, 25,159, 60,125,  2,108,234, 50, 51, 51,135,133,133,  1,235,  0,  6,  6,126, 76, 19,128,218, 33,185, 11, 98, 59,218,
- 62,  0,252, 14,  6,150,254, 71,143, 30,253,  2,  4,160, 89,223, 79,224,210, 31, 72,124,254,242,249,203,215,111,223,  8,122, 22,
- 88,244,159,  1,  3,  6,140,101,160,248,171,  1,  7,  7,  7,228,128,130,148,251,231,207,159,103, 32, 98,251,177, 49, 24,  0, 25,
- 60, 92, 60, 28,160,194,159,131,141,141,141,137,137,105,180,244, 71,  3,200,229,230,234,213,171,129,173,105,  6,212,  9, 85, 98,
-150, 84, 34,183, 45, 72, 93,205, 76,198,184, 63, 85,220, 12,175,  3, 70,211,  0,169,  0, 32,128, 88,208, 90,241, 20, 54,150,225,
- 41,  0,190, 19, 24, 50, 46, 68,135,173, 88,  3, 88,  7,192,217,255,255,255,143,137,141,153, 50,101, 42,120,156,253, 15, 63, 63,
- 63,193,122,238,214,173, 91,192, 22, 45, 68, 47,144,141,166,236, 30,142, 67,157,144,235,  0,200,108, 48,100, 73, 40,254,112,134,
- 44,159,183,182,182,166,196,179,240, 53,160,164,158,  5,  4,212,123,224,192,129,229, 96,128,220, 51, 32, 50,109,  0,171,144,223,
-127,126,255,254,252,123,116,202, 23, 23, 32,184, 98, 18,168,128,200,208,134,239,  3, 32,175,  4, 32, 94, 35, 21,221, 60, 10,200,
-  0,  0,  1, 68,253,195,224,128,177,  5, 26,250,239,162,235, 89, 64,  3, 91,  7,192,  1, 35, 35, 35,124, 47, 46,214,210,159, 42,
-  0,243,204,  6,200,178, 81,130, 77, 54,170,100, 36,184, 33,192,210,156,212,179, 31, 28,192,128, 84, 27, 71,207,249, 33,163, 45,
- 66,221, 72,167,220, 25,131,220,205, 35, 22,  0,  4, 16, 77, 78,  3,165,188, 39, 65,118,202,219,182,109,219,208,202,  0,148, 27,
- 62,154, 91, 70,193,144, 75,198,163, 96,144,  0,128,  0, 98,244,137,169, 29, 13,133, 81, 48, 10, 70,193, 40, 24,129,  0, 32,128,
- 70,111,  4, 27,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,
-  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,244, 82,248, 81,189,163,122,
-105,174, 23,215,242, 92, 90,235, 29,141,163, 81,189,248,  1, 64,  0,141,246,  0, 70,193, 40,160, 45,128,156,110, 15, 33, 73,  5,
-196, 28,169, 63, 10,176,130,155, 55,111,142,  6,  2, 65,  0, 16, 64,163, 21,192, 64,130,107,215,174,165, 35,  1, 32,119,240,235,
- 29,  5, 36,129,123,247,238, 65, 14, 54,  0,146,200,199, 30, 16, 95,250, 67,142,149, 37,251, 76, 30, 92, 34, 84,212, 75,225,157,
- 28,180,168,222,128,165,127,127,127,255,104,242, 35,  8,  0,  2,136,101,248,121,233,240,225,195,182,182,182,131,223,157,144,116,
-223,219,219, 11, 23, 41, 46, 46,102, 32,250, 50, 72, 32,249,111,165, 32,162, 38, 15,159, 72,  7,189,163,128, 84,128,124,212,  1,
- 73,167, 26, 32,151,254, 64,146,145,145,145,248, 35, 22, 40,217, 45, 72,134, 94,200, 57,254,120,156,  7,236,253, 64, 14,249,193,
-227, 89, 76,189,  4,117,225, 47,253,255,253,251, 55,107,214,172,165, 75,151, 70, 71, 71,143,166, 67, 92,  0, 32,128,134, 97, 15,
- 96,201,146,101, 67,162,244,207,207,207, 71, 46,253, 33,149,  1, 80,144,152,  6,215,130, 92,110,228, 18, 28, 82,160,  3,  5,105,
-170,247,227,199,143,153,153,153,240, 91,104, 94,188,120,  1,212,210,218,218,218,220,220, 92, 85, 85,  5, 57,175, 31, 23, 96,251,
-248, 85, 55,115, 62,207,254,251, 16,238,159, 23,127,174,166,255,184,212,202,118,164, 89,112,115,149,252,185, 93,210,195, 53,131,
-145,113,158, 62, 90,233, 15,  1, 36,245,  3,232,220,  3,128,156,227, 15, 81,185,  7, 12,208,202,113,252, 55,124,193,245, 98,234,
- 34,163,115,  0, 47,253,129,205, 41, 96,233,127,228,200, 17,134, 81,128, 27,  0,  4,208,112,171,  0,128,205,127, 96, 91,105,144,
-199, 58,100,200, 69, 78, 78, 14,222,240,135,180,253,225,130,120,198,100, 32, 82,113, 54,108,176,198,251,123, 32,130,176, 33,130,
- 52,210, 11,  4, 39, 79,158,228,224,224, 56,126,252, 56, 34,245, 48, 49, 85, 87, 87,215,214,214,198,199,199,111,221,186, 21,143,
- 94,137,147,215,254,115,176,114, 29,127,  4, 23, 97,100,250,175, 87,253,203,166,246,189,121,252,171,211, 91,165, 71,179, 34,102,
-233,207,  8,  3, 68,214,  1,200, 19,  6,233,168,128,129,208,116,  2, 37,122,225,117,192,187,119, 46, 51,103,190, 39,169,244,199,
- 90,127,192,117,145,218, 43,  5,150,254,125,125,125,192, 16,  3,166,204, 51,103,206,  0, 75,131,209,228,132, 31,  0,  4, 16, 19,
-254,194,148,140, 16,164,112,124, 25,104, 35, 68, 35,121,145,  7,108,254,207,152, 49,141,236, 78,  0,125, 82,204,196,137, 19,225,
-109,127, 96,209,223, 11,  6,240, 58,  0,200,  6, 42,192,163, 23,222,126,  7, 22,223,183,183,197,  2, 17,188, 28,  7, 74, 17,175,
- 23,210, 38, 37, 82, 47,176,244, 57,118,236, 24,176, 55,253,232,209,163,231,207,159,163, 73, 61,124,248, 80, 82, 82,146,  1,183,
-102,201, 99, 87,158, 68, 91,179, 61,250,200,248, 28,126,232, 52, 35, 88,134,225,221, 67,118, 33,201,239,195, 44, 95,221,187,119,
- 15, 79, 81,139,103, 50,  0,173,237,143,118,175, 28,254, 58,  0,249,  6,174,153,168,128,129,208,253, 92,200,178,255, 87,  9, 34,
- 35,  6, 18,239,246,130,148,251, 36,149,227,200,245,  7, 16,145, 87,250,  3,187,167, 19, 38, 76,  0,182,253, 11, 10, 10,128,117,
-  0,164, 45, 56,125,250,244,209, 82, 30, 15,  0,  8, 32, 22, 60, 69,225,210,165,203, 33,  9,142,248, 33,117, 72,210,140,137,137,
-129,104,  1, 26,  2, 41, 83,136,140, 75,160,250, 37, 75,150,  0,181,131,139,242, 37, 36, 89, 13,111,254, 67,242,  9, 25, 51,  1,
- 16,219, 73,181,148, 18,  0, 41,253,225,229, 62, 50,151,112,213, 13, 46,253, 33,108, 80, 29,224,181, 24,109, 96,  7,191, 94,120,
-140,128,235,128,116,130,122,129, 69,252,175, 95,191,140,141,141,129,189, 43, 96, 39, 32, 40, 40,  8, 84,103,252,251,215,222,222,
-254,229,203, 23, 86, 86, 86, 96,246,195,165, 87,232,225, 83,166, 95,127, 62, 24, 43,176, 30,121,198,114,252,229,239, 32, 69, 80,
- 28,253,251,127,169,157,237,221, 23,222,239,172, 60,174,153,183,135, 83,166, 34,216,236,237,236,236,  4,150,119,152,  3,220,152,
- 37, 59,188,249,143,169,114, 16,158,226,149,158, 46,136, 84,163,128, 26, 22,192, 96, 32,111,110,137,140,182, 63, 48,215,195,239,
-134,180,177,177,  1,102,231,209,210,159, 32,  0,  8, 32, 22,220, 69,225,178,153, 51, 65,193,151,145,145, 69,100,153,  8, 25,215,
-214,210,210,130,139,216,130,  1,164, 79, 64, 48, 70,225,165, 63,220, 46, 82,139, 99,160,155, 99, 98,162,192, 53, 80, 20,144, 77,
-106,229,  1,180, 14,126,159,193,144,152, 70,166, 39, 56,122,244,168,185,185, 57,176, 60,  2,146, 27, 54,108,  8,  8,  8,128, 12,
-  1, 85, 86, 86,  2, 25,111,223,190, 93,190,124, 57, 80,202,212,212, 20, 83,175,252,209, 51, 47,204, 53,129,133,217, 87,115, 89,
-230, 13,207,127,  7, 40,130,135,128, 24,244, 42,127,  1,181,126,125,251,113,223,114, 21,121,243, 47,122,166, 79,134, 65, 64,225,
-191, 84, 29, 14, 86,131,  1,102, 33,142,124,167, 10,174,107,165,177, 94,220, 56,224,  0, 88,159, 97, 46,117,133,140,237,144, 10,
-200,208,  5, 57, 51,156,133,133,165,176,176,240,204,153, 51,163, 67,255, 68,  2,128,  0,194, 94,  1,  0,219,254,144,146, 20,  8,
-162,163, 35,129, 92,130,  5, 34,100,168,  7,185,244,135,  3,136, 32, 80,  1, 86, 89,164,226, 27,165,244,135, 48,128,130, 68,150,
-197,192, 40,  7, 22, 79, 16,197, 64, 18, 88,  1, 16,223,  9,128,151,254,200,185,139,200, 58,143,146,246, 11,114,171,159,164,230,
- 63,100,196,  6,216,234,135,116,  2, 84, 73,105,254, 67,245,134,167,195,239,126, 34,168,247,247,239,223,192, 76,197,203,203,123,
-233,210,165,191,127,255,126,250,244,233,250,245,235,194,194,194,112,  5, 64,182,183,183,247,180,105,211, 48, 43,  0,230,223,191,
-101,207, 92,102,227,149,102,189,244,246,227, 95,222,207,159,216,254, 94,255,194, 32,204,  1, 87,192, 45,252,199,212,251,201,194,
-105,182,195,163,  2,  0,134, 42,230,208,  7,230, 37,139,144, 30,  0,218,134, 29,146,214,234, 16,191,217,135,190,222,127, 15,233,
- 10, 32,247,  6,136,239, 64,  0,195,141,140,210,127,233,210,165,135, 14, 29,250,191, 74,144, 49,236,125,127,127, 63,176,226,  4,
- 54, 77,102,204,152, 49, 90,190, 19,  4,  0,  1,196,130,181, 52,  4,134, 32,114, 65, 12,172,  0,128,197, 43,176, 87,133,199,160,
-137, 19, 39, 66,134,110,176,  2,160, 20, 80,  1,158,244, 13, 25,124, 71, 43,115,193,229,248, 18, 98,202,113,228, 46, 11,  4,196,
-198, 70, 47, 94,188,148,152,114, 28,185,244, 71,107, 97, 17,212,139,199,203,120,  0,176,159,  4, 47,238,225,163,255,200,179,  2,
- 64,  5,120,244, 50,133, 67,135,242, 33,117,  0,  3,210,154, 78,166,240,247, 36,232, 13, 79, 39, 82,239,133, 11, 23,228,228,228,
-128,109, 43,  8,119,209,162, 69,199,143, 31,247,241,241, 65, 86,243,242,229, 75, 14, 14, 14, 76,189, 10, 23, 46,124,144,147, 60,
- 89,152,  4,225,178, 45,186,253,247,248, 71, 38, 31, 20,149, 31, 95,114,178,115,252, 30, 54,153, 10, 88,178, 43, 41, 41,225,185,
-235,170,188,188,156,200,107, 14,145,135,128,112,117,  8,  6,109, 32,144,161, 30, 82,113,146,164,119,217,178,165,  7, 14, 28, 96,
- 92,  3,106,142,236,170,225,117,107,249,108,103,103, 55,186,244,147, 72,  0, 16, 64, 44,152,165, 33,114,243, 31,222,  9,  0, 22,
-166,200,181,  2, 86,128, 71, 22, 82,148, 19,108,254, 99, 45, 97,  9,118,  2, 32,110, 70, 46,253, 33,131,128, 64,  7,  3,197,129,
- 89,  8, 79,213,133, 89,250,147, 84,  7,144, 55, 82,  4,233,  9, 61,122,244,  8,178,230,  7,185,225, 15, 20,196,213,145, 66,214,
-187,232,200, 47,200,186, 29,228,198, 59, 80,144, 70,122,129,197, 61,178, 79,237,237,237,187,187,187,157,157,157,255,253,251,215,
-214,214,  6, 36,191,127,255, 14, 12,103,172, 49,168,126,252,248, 37, 91,  7, 56,247,143,189,228,223,238,199, 12,206, 98,255,255,
- 49, 92,106, 99,253,242,143,231,221,119,190,119,140, 66,126, 49, 23,135, 83,190,  2,150,239,248,167, 91, 73, 41, 26, 87,129,200,
- 61, 97,196,244, 71,225,233, 22,235,106, 78, 60,247, 53, 34,235,  5,182,163, 73,210,139,217,138,135,220,225, 76,159,  1, 55,208,
- 52, 53,164,244,191,244,103,254,254, 95,224,242,106,180,244, 39, 22,  0,  4, 16, 74,  5,144,145,145,  5,186,213, 54, 38, 10,179,
- 37, 14, 25, 23,  2,162, 25, 51,166,209,200, 41, 88, 11, 83,130, 53,  7,220,205,184, 12,  4, 86, 93, 64,132, 86, 61, 32, 87, 60,
-120, 50, 42, 48,121,209,104, 50,  0,158,217,200,216,  8,  6, 84,144,144,158,158, 48,249, 43,234,102,174,247,180,211, 11,190,158,
- 30,  1,228,229,229,167, 76,153, 66,100, 89,182, 13, 85,239, 63,121, 30,206, 41,154, 64,134,246, 76, 86,  6,  6, 96,171,255, 61,
- 24, 61, 28,174, 25, 12, 94, 16, 67, 24,116,184, 45, 14,107, 73, 13, 23, 33,184, 10,136, 12,189,152,173,120, 34,251, 55,148,135,
- 45, 48, 25,  3,203,125, 32,123,193,254, 95, 43,142,253,  2, 22,  5,163,251, 25, 73,  2,  0,  1,132, 82,  1,224, 41,220, 33,211,
-185,  4, 19, 31,217, 10,200,190,201, 22,127,133, 68,161,179,105,157, 93,175, 93,187,  6, 95,253,  9, 25,162,193, 63, 77,130,166,
- 23,178,131,151,158,122, 71,  1,169,160,188,188, 28, 62, 22,  4,100,211,199, 82, 58,239,  4, 30, 88,224,222,242,121,168, 56,117,
- 16,  2,128,  0, 98, 25, 13,130,  1,  4,192, 98,151,236, 36, 59, 80,122, 71,  1,169, 99, 65,144,147, 18,128, 36,241,237, 98,148,
-213,159,176,193, 31, 92, 75, 66,113,141,231,224, 23,161,133, 94, 90, 84, 93,248,  1,176,243, 10, 12, 22, 63,255, 52,104,119,115,
-251, 57,  8,195,203,211,104, 52,237, 17,  3,  0,  2,104,180,  2, 24,  5,163,128,182,192,197,197,  5, 88,  1, 16, 63,177, 73,121,
-105, 59,176, 61,  0,250,214, 22,255, 33, 59, 10, 71,  1,121,  0, 32,128, 70, 47,133, 31,137,128,243,231,141,239,236, 26,163,225,
- 48, 10, 70,193,  8,  7,  0,  1, 52,122, 28,244, 72,  4,163,165,255, 40, 24,  5,163,  0,  8,  0,  2,104,180,  2, 24,  5,163, 96,
- 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17,
- 10,  0,  2,136, 38,151,194,223,191,122,156,129,233,135,164,140,244,231,239, 95,223,191,253,170,166,105, 67,188,222, 35,231,238,
- 50,252, 99,127,249,244, 41, 55, 39,183,160, 16,183,185,137, 34,241,122, 41,113,243,211,103,171,217, 56,254,176,115,176, 48,179,
- 48,255,101, 96,228, 99, 11, 36, 94,175,128,144,177,160,160, 32, 39, 39, 39,  3, 35,227,181,203,155,240,219,203, 41,125,131,120,
- 55,127,127,138, 50, 88, 47,197,245,146,120,189,207,190,137,163,232,253, 73,130,189,207, 80, 39,  9,164,127,145,112,189,234, 83,
- 54,245,193,160, 87, 27, 91, 56,119,118,174, 46, 47,199,114,212,204, 85,212,112,230,148,249, 69, 66, 28, 61, 97, 67, 73, 27,210,
- 36,196,209,230,167, 40,113,244,227, 39, 55,241,122, 57,216,191,162, 24,229, 55,133,120,189,190,155,114,144,185,197, 47, 72, 56,
- 54,167, 87, 34,131, 70,121,112, 84, 47,141,244,226,  1,  0,  1,132,111, 25,104,234,129, 34, 70,199,248, 89,255,245,137, 49,232,
-222,149, 93,140, 12,255,120,216, 57,231,207, 92,182,112,225, 68,107, 23,235, 63, 95,191,105,105,216,253,251,199,144, 93,246, 87,
- 75, 75,253,206,157,135, 63,190,255,225,149,180,198,212,123,244,252,171,255, 12,140, 95,126,126, 79, 47,106,105,156,228,254,236,
-234, 89, 96,242,222,118,241,  9, 19, 19,195,196,134,154, 91,183,110, 42, 40,200,179,115,178,  8, 11,178, 99,234,189,190,121, 59,
- 59, 59, 59, 23, 23, 23, 47, 47,175,128,128,128,176,144,176,144,144, 32, 63,191,  0, 15, 55, 55, 51, 11,203,191,127,127,191,127,
-255,254,249,211,231, 11,223, 62,226,114,249,157, 91, 43,217, 57,190,243,240,114,112,112,177,179,176, 49, 51, 50, 49, 50,177, 48,
-255,103,222,245,251, 15, 35,219, 31, 87,252,190,190,255,136, 73, 68, 68,132,131,251,199,207,159, 63,152,152,153, 24, 25, 25,164,
-100,109, 63,124,120,255,237,243, 21,218, 85,218,179,102,205, 74, 75, 75, 27,109,188, 16,  4,184,138,123, 82,213,  0,129,  4, 39,
-215,211,167, 79, 89, 57,216,255,113,113,209,211, 11,223,222, 93, 56,182,119,  5,178,136, 75,104,199,224, 12,237,197,139, 22,177,
-179,177,253,251,247,143,155,135,199,215,207,111, 52,249, 13,  9,  0, 16, 64,  4,246,  1,252,223,187, 48,205,153,112, 29, 16,234,
-167,242,211, 73,232,247,151, 15, 44,127,153,204,244,100,226,227,161,103,138,  1, 75,240, 19,199, 23,136,200, 73,255,251,242,201,
-222, 92,247,217,179,247,123,206,255, 65,211,155,158,222,198,192,198,207,200,197,247,159,249,255,197,107,137,243, 86,236,132,136,
-  3,107, 14, 15, 75, 75,134, 47, 47, 24, 24,120,239, 94,190,206, 42, 34, 96,109,161,195, 35, 32,134,105, 59, 35,104,139, 12,168,
-220,102,102,  2,150,249,204, 44,172, 32,  0, 36, 89, 88, 88,254,252, 97,100, 98, 98,198,179,131,230,226,249, 89,252,252, 44,188,
- 60, 60,162, 98,194, 60,188, 92,127,255,255,253,241,243,251,239,191,127,185,120,184, 68,197, 36,255,254,123,240,248,134,  2, 86,
-141, 59,118,223,226,229,229, 17, 16, 16,252,246,141,243,219, 55, 46, 14, 14,118, 70,240,112, 26,176,190,249,246,237,219,155,247,
-124,111,222,188,121,251,230,165,181,165, 44, 86,237,171, 59,  9, 93,147,148,224, 34, 40, 46,136,181,244,167, 98, 29, 80,213,221,
- 13, 36,219, 74, 75,201,208, 91,217,213,  5, 36,219,203,202,136,215,114,229,233,211, 91,183,110,  1, 25, 65,142,142, 68,106,153,
-185, 10,116, 18, 14,242,173, 88, 64, 54,132,100,128,157,143,  6,100,167, 97, 59, 66, 18, 88,178,227, 47,223,137, 41,253, 21,  5,
-133,190,255,250,  9,100,176,113,114,252,250,254,227,223,215,111,111, 94, 60,151,212,213,197,163, 69, 82, 89,141,160,191,248,229,
- 53,111,236,219, 72, 80, 25,176,244,183,113,137,224, 16, 52, 32, 42,176, 66,223, 17, 84, 18, 22, 22,182, 42,116, 15, 86, 41,199,
- 61,175,225,108, 45,  1, 80,201,240,234,199,191,239,127, 64, 33,252, 21, 76,206, 52, 23, 80,227,101,197,170,183,167,167,167,170,
-160,196, 63, 40,240,199,143,239, 19,251,251,166, 76,153,146,147,147, 67, 97,226,188,115,231, 78, 55, 56,125, 18,220, 88,112,252,
-248,241,  7, 15, 30,188,125,251,246,243,231,207,192,134,160,176,176,176,130,130,130, 37,176,244, 24,  5, 96,176,101, 73, 51,156,
-141,182,238, 31, 32,128,240, 85,  0,179, 29,250,130, 79,180,254, 59,182, 53,205,138,  1,127, 29,240,243,203, 59,  9, 21,231,150,
-210,160,  5, 51, 15, 64, 68, 14, 30,155,241,245,219, 79, 47,151,124, 43,235,132,136, 48, 39, 78, 78,246, 95,127,255,124,254,246,
- 75,205,  2,243,208,158,135, 12,191, 24,130,162,167,167, 22, 65,187,150, 30, 86, 14,192,242,116,195,190,157,219,142, 30, 95, 52,
-127,218,143,239, 63,217,152, 89,120,184,216,248,216,254,222,121,244,  2,189,138,250,207,240, 31, 92, 14,128, 73, 48,227, 31,136,
-250,247,255,223, 95, 48,248,  3,  6, 88,157,125,242,248, 44, 49, 81,102, 94, 94,110, 89, 89, 57,117, 77, 85, 30, 30,174,119, 31,
-222, 62,123,241,252,245,219, 55,255,254,252,231,230,226, 86, 87,211,226, 23,120,116,229,  4, 15,154,198, 77, 27, 78, 49,176,176,
-127,103, 97, 98, 99,103,251,246,141,  3, 88,  7,128, 42,  0, 70,208,158,148,111, 32,240,229,219,183,175, 95,191,124,122,251,250,
-217,146,  5,231,248,149,177, 31,140,213,189,168, 27, 87,120,150,198, 97, 47,145,223,191,127,143,204, 22, 18, 18,130,148,134,130,
-130,130,119,239,222, 93,189,122, 53, 73,181,  2,155, 56,116,252,  1,104,168, 32,185,105,107,214,234,213,217,217,217,191, 95,189,
- 34,166,244, 23, 19, 19, 11,114,115,251,205,206,222,219,219, 27,236,228, 68,204,241,150, 64, 15,246, 52, 52, 64, 71, 42,234,235,
-123, 27, 27,177,178,113,105, 71,174,  3,128, 12, 99, 99,227, 61,123,238,185,184, 40, 17, 89,250,107, 72, 72, 10,240,241, 65,106,
- 26,110, 14,206,231,175, 95,125,122,255,129, 71, 64,240,225,233, 51,242,166, 38,120, 52,250,165,149,196,  4,251,170, 42, 64, 91,
- 15,245,189,147,225, 82,141,197,185, 64,242,209,246,189,102,106,178, 68, 13,245, 16, 89,250, 67, 91, 22, 66,132, 84, 16,222,143,
-198,205,194,120,177, 49,153,145, 79,228,239,189,139, 63,239, 93,189,245,238,171,201,118,124,241, 59, 99,230,204,162,244,236,184,
-148,164,213, 75, 87,  0, 75,222,150,206, 46,222,134, 22,248,165, 17,148, 20,253,160,188,128,183,117,  2, 44,241,119,237,218,245,
-251,247,111,101,101,101, 91, 91, 91,126,126,254, 15, 31, 62, 60,123,246,236,254,253,251, 64,210,205,205, 13, 88, 31,140,150,254,
-104, 92,228, 58,  0, 32,128,208, 43,128,180,219,176,163,117,192, 59,236,254,255,251,194,240,235,231,239,  3,203,210, 28, 24,  8,
-245,  3,216,180, 52,213,153,152, 14,220,250,240,150,129,225,250,199,167,183,129,253,229,141, 91, 39,125,123,243, 55, 58,177, 16,
-216,156,247,243,181,252,203,194,131, 75,243,173, 91,215,129,106,188,244,129,205, 58, 41,  6,  6,249, 31, 63,127,133,120,184,113,
-  8, 48, 45, 90,182,  3,216,141, 88,179, 98,  1,243,159,207,154,242,236,119, 30, 97,244, 81,128,101, 61, 24,128,202,250,191,127,
-126,253,254,245,243,231,207,239, 63,190, 67,238,  5,253,243,231, 55,168, 64,254,254,157,  1,219,108, 55, 63,223,127, 96, 95, 65,
- 72, 72, 88, 69, 89, 85, 77, 69,  3,216, 85,248,243,247,223,171,215,239,126,254,248,253,247,223,215,215, 47,223,200, 72,127,215,
- 80,213, 56,119,126,  3,  3,131,  4,178, 70,118, 38,160,173,223,127,127,251,243,149,153,129,131,157, 13, 88,250,  3,251, 27,255,
-254,253,  1, 90,250,245,219,183, 87, 47,159, 93,189,116,230,237,171,103, 64, 71, 49, 49, 18, 59,205, 62,111,250, 60,  8, 35, 41,
- 51,  9,103,238, 70,186,103, 10,200, 46, 42, 42,122,244,232, 17,208, 82,242,246, 94, 78,157, 58,245,229,203,151,107,214,172,241,
-182,179, 19, 20, 19, 35, 85, 59,176,237,255, 30, 28,254,144,131,225,210,195,  8, 28, 87,  9,108,251,  3, 75,127, 80, 66, 97, 99,
- 83, 83, 83, 91,187,111, 31, 49, 93,  1,202,207, 64,  6,150,242,192, 66, 31,114, 97,  8,156, 12, 13, 13, 37, 88,250,171,137,137,
-  3, 75,127,102, 38,166,172,152,232,239, 63,126,246,206,157,203,197,201,249,  3,  8,190,127,103, 98, 97,126,124,254,188,172,161,
- 33, 46,189,144, 82,254,246,131,  7,200, 92, 50,128,185, 83,196,158,213, 21,174,126,201,255,217, 85,137,212,  2, 63,203, 19,114,
-155, 35, 86, 17, 92,  0,216,240,127,248,229,239, 65, 87, 81,214,252,153,159,162, 21, 89,  4,197,  8,150,254,123,247,238, 85,144,
-148, 74,201,202,168, 40, 44,155, 50,127,134,153,145,209,140,201, 51, 10,202, 74,150, 90,154, 95,190,124, 89, 23,111, 87,137, 96,
-209,175,162,162,130, 95, 61,176,244, 23, 21, 21, 53, 52, 52,  4,102,118,240,176,193, 63,112,142, 22,146,144,144,  0,214,  1, 64,
-217,224,224,224,209,210, 63,173, 28, 58,108, 56,171,179,  2,173, 14,  0,  8, 32,148, 10, 32,245, 88,229, 55,102,142,127,127,255,
-253, 99,100,230,253,255,157,225,247, 15, 70,  6,102,  6,105, 53,214, 95, 95,255,239,153,151,230,146,132,183, 14,248,199,204,204,
- 12,102,  0, 91, 76, 50,252,210,234, 15,111,174,153, 62,115, 62,211, 79, 46, 55, 71,235, 29,123,143,126,251,198,192, 37,196,143,
-169,141,147, 75,253,251,183,155,192,226, 27, 38,  0,108,227, 63, 99, 98,118,136,139, 79,254,199,254,117,203,214,121,126,190, 73,
- 92,220, 12,223,222,190, 71, 43,133,161,182,130, 90,250,255,128,109,124, 96, 43,224,231,143,159,192,194, 30,152,  2,128, 85,215,
-175, 95,191,128,133, 47, 80, 28,212, 32,255,242,133,129, 31,125,232,246,224,254,153, 18,226,160, 90,130,133,153,245,239,191,255,
-239,222,126,252,245,231,215,203, 23,111, 63,188,255,252,237,235, 47,134,239,127,254,253,123,193,204,114, 69, 74, 70,158,155,147,
- 19,219,184, 19,  3,195,159, 95,223,223,191,126,245,253,203,191,223, 63,152,129,149,199,159,223,175, 94, 62,189,118,233,236,203,
-103,143,193, 87, 82, 48,131, 18, 37, 35, 53,247,169, 67, 26,248,179,102,205, 10,  9,  9, 49, 48, 48, 96,103,103,239,235,235, 35,
-207, 40, 72,243,223, 66, 71, 71, 92, 92, 28, 88,130,251,216,219, 75,145, 94,  7,  8,130,203,125, 86, 49, 49,160,  9, 64,146, 96,
- 63,  0,216,246,103,253,249,115,237,218,181,200, 93,  1,226,135,131,200,  6,144,114, 31,249, 74, 22, 96,245, 73,176,  2,  0,214,
-229,162, 66, 66,137, 33, 33, 31, 62,126,122,253,238, 45,120, 76, 17,  4,128,  9,140,157,147,235,211,219, 55,159, 31, 63,225,149,
-197, 57, 53,  7, 44,253,151,172,221,140, 92,  1, 64,250,  1,230, 70,122, 94,142,246, 68,184,250, 51,  3,  3, 47,175,176,129,139,
- 31,247,238, 77,115,233, 51,250,127,105,225,132,159, 59,230,139,205, 62,  7,172,  9,152,249,132,254,188,127,  5, 44,253,129, 29,
-130,175,127,254, 51,227,104,201,220,191,115,103,219,166,173, 11,103, 47,156, 52,119,218,140,190,  9, 66,194, 66, 45,109, 45,139,
-150, 45,181,181,176,158, 55,119, 94, 80,104,144,173,181, 45,121,165, 63, 68,  4, 79, 29,112,252,248,113, 96,174, 55, 50, 50,  2,
-102,115, 96, 87,128,131,131,  3, 88,  1,220,184,113,  3,216,212,224,225,225,  1,246,246, 94,188,120,  1, 84, 51, 58, 22,132, 40,
- 64,202, 59, 32,117,  0, 28,  0,  4, 16, 74,  5, 48,219,170, 29,170,142,233,242,255,125,243, 25,133, 37, 25, 82, 38,159,230,212,
- 52,125,188,241,223,172, 90,230, 35,203,211,108,153,102,253,195, 82,165,111,218,247, 46, 77,229,147,127,124,126,113, 46,176,  3,
-241, 14,152,112, 25, 24,126,202,171, 27,113,176,179,124,255,250,147,225, 23,168, 98,  0,246,197, 94,189,123,143,169,119, 66,127,
- 17,232,238,248, 19,115,153,152, 32,203, 24,254,129,240,247,171, 63,126,254,230,228,225, 96, 96,  3, 85, 12,159, 63,125, 18, 67,
-186,127, 10,165,  2,  0,183,254,129,133,239,207,159,191,190,179,126,103,254,  2,242,209,159,223,127,128,205, 76, 96,211, 24,216,
- 39,  0,182,216,128,117,  0,102,  5,192,206,254,235,239, 95,214, 95,191,254,188,255,240,233,206, 29, 96,135,241,213,143,159, 63,
- 63,126,  2,102,246,143, 95,190,255,  4, 22,220,223,191,255,253,250,237,207,227,167,111,222,189,255, 10,236, 45,160,183, 76, 97,
-140, 95,223,191, 61,189,127,251,245,179,199, 47, 94, 61,254,252,233,  3,164,220,  7,146,144, 19, 74,  8, 22,255,165,113,165,120,
-198,130,176, 76,218,176, 64,163, 76, 80, 80, 16, 88,227, 34, 31, 54, 73,106,243, 31, 88,139,128,198,184, 69, 69, 25, 41,171,165,
- 32,229, 62,176, 14,192,211,  9,184,242,244, 41,  3,248,236,107, 96,139, 12,210, 15,  0, 21, 55,151, 46,  1,201,117,251,247,227,
-175,  3,138,235,235, 33, 35, 93, 64,118, 73, 67,  3,188, 79,128,103,228,  7, 25,  0,155,255,104,227,200,144, 67,143,225, 99, 65,
- 88,129,  0, 11,203,143, 95, 63,129, 33,124,227,222, 93,160,141,215,110,221,254,245,235, 55,176, 62,  7,134, 63,208, 49,192, 70,
-199,247,175,223,118,175, 90, 25,132,116,152, 43, 26,128,151,254, 49,193,190, 40,  3,143,231, 46,169, 42,202,179, 19,118, 56,108,
-236,130, 93, 21, 88,244,  3,251,  1, 64,228, 25,152,252,155, 69,149,134, 37,196,187,231,108,114,106,175,178, 57,216,157, 34,255,
-158,217,241,247, 19,104, 82,225, 85,182,149,252,204,227,192, 70, 18, 86, 29,234,170,234, 92, 92,220,147,230, 76,117,180,183, 55,
-183,180,216,181,109,231,141, 59,183,128,237, 50, 14,118,118,107, 99,235,173,155,182,190,121,245, 38, 48, 48,144,248,162, 31,216,
-108,223,189,123, 55,116,152,180,187, 27, 79,239,246,193,131,  7,202,202,202, 16,198,197,139, 23,229,229,229, 21, 21, 21,223,191,
-127,127,230,204, 25, 37, 37, 37, 96, 35,  3, 40,  2,148, 26,173,  0,240,  0,128,  0,194, 50,  7,144,198,120,241,255,193,101,140,
-204, 44, 12,185,115,243, 31, 72, 78,234, 91,200,192,203, 51,189,246,102,106,155, 58,243,158, 89,105,178,154,179, 84,179, 64,131,
- 27, 76,204,200,186, 84,248,100,174, 92, 90,  7,102,  2,155, 10, 95,193, 71,189,255,102,248,253,147,229, 31,176,233,  0, 42,211,
-215,111,216,  5, 36,173, 61,177,148, 17, 59, 46,255,247, 48,212, 65,106, 91,  3, 93,197,202,192,202,241,135,241,239, 63,112, 17,
- 26, 30, 13, 58, 83,254,225,177, 89, 88, 43,128, 63,127,255, 50,253,254,195,196,244, 19,220, 13,100,252,251,247,207,207,159, 63,
-128, 13, 53, 96,177,  6,236, 88,  0,187,  2,192,158,  1,187,172, 36,154, 70, 96,191,225,215,239,127, 12,223,127,189,121,243,254,
-219, 55, 96, 86,103,  1,230,240,159, 64,252,247, 55,176, 87,241, 31,168,153,233,247,231, 47,191, 94,191,254,252,245,251, 31,  6,
-  6, 53, 28,229, 63,148,241,243,199,247,143, 31,222,129, 39,156,193,147,210,164,196,193,205,135, 55,213,229,213,241,140,252, 32,
- 15,136,115,194,186, 35,192,146,232,222,189,123,144,210, 31, 88, 13,240,243,243,127,252,248,241,195,135, 15,196,140,153, 64,154,
-255,192,110, 50,132,155,147,147, 51,121,242,100,242, 58,  1,112, 19, 32,  3, 65,248, 71,255, 25,121,121,129, 14, 46, 43, 43,  3,
- 54,162,127,191,127, 15,116,115, 69, 78, 14,193,126,  0,242, 88, 63,174,249,  0, 76, 93,157,132,166,217,207,130,  1,132,141,121,
- 34,214,251,119,239,120,120,121,223,188,127,191,255,228, 73, 22, 38,230,159,191,127,127,251,254, 29,152,216, 32, 85,209,159,223,
-192, 84,245, 19,127, 80, 99, 14,251,  0, 69, 32,157,  0, 85,  5,133, 71,247,238,144, 20,194,192, 58,224,235,235,147,219,215,207,
- 37,163, 31, 64,112,228,  7, 14, 46,172,154,109, 16, 95,200,174,168,  7,106, 69,189,121,126,235, 29,104,165, 41,187,165,207,163,
-191,127,184,166,156,196,170,229,211,167, 79,236,156, 28, 42,138,138,247,159, 60,126,251,250,109,120, 76,244,182,189,187, 39,118,
-244,174,223,182, 73, 85, 81, 53, 46, 56,246,248,185,163,235,215,174, 13,196, 61, 20,  3, 47,253,129, 69,191,171, 43,104,221, 29,
-164,  2,128, 87,  9,184,192,219,183,111,109,109,109,129,121, 28, 88,202, 31, 61,122, 84, 75, 75, 11,152,162,100,101,101,129,157,
- 99,112, 35,140, 73, 82, 82, 18, 30,197,163,  0, 43,  0,  8, 32, 22, 44,165,255,190,  5,192,230, 49,131,144,220, 55, 89,243, 73,
- 45, 51, 24,254,126,101,120,241,169,102,249,193, 12,255, 12,134, 61, 11, 31,189,120,205,160,202,  0,108,115,163, 85,  0,119, 62,
-125, 82, 19,224,251,243,147,225,206,129, 37, 42, 14,238, 12, 12, 32,217,223,191,126,179, 50, 48,125,249,  1, 90, 68,225,225, 96,
-196, 41, 44,141,213, 17, 30,186,140,219, 46,254,103,  5, 54,247,229,220,127, 61, 58, 12,233,  4,176,178,177,255,102,248,193,195,
-  9,186, 59,112,211,182,229,223,223, 62,182, 80, 22,192, 86,  1,252,  7,141,254, 51,  2,221,195,  8,169, 15,128, 37,254,247,239,
-223, 33, 45,101, 80,245,240,231, 15, 80, 68, 20, 67,227,143, 31,127,192,227, 54,255,126,254,252,251,249,243,119, 96, 94,  6,178,
-127,255,254, 11,172,191,152, 88,152, 25,152, 24,255,131,178, 58,227,159,127, 95,191,255,248,139, 47,119,193,107,  1,104,193,207,
-  8,107,251, 67,248,140,248,155,255,164, 70, 24, 23,108, 25, 34,114,233, 15,108,239,  0,187,192, 64,159,194, 91,202,196, 52,255,
- 21, 68, 68, 32, 92, 32,131,145,145,134, 71, 42,194, 71,255,255,127,254, 92, 91, 91,251,243,237, 91,200,245,143, 42,224, 26,136,
-245,231, 79, 95, 95,223,167,175, 94, 73, 83,117,133, 37,124,132,  7, 62,  1,128,  6,140,141,141,225, 61,128,171, 79,209,101,255,
-252,252,245,225,215, 59, 96,247, 81,128,159,159,  3,152, 20,255,254,  1,  6, 44,164, 61,241,251,247,111, 96,163,  3,127, 56,223,
-126,240,  0, 62,  3,140, 60, 22,132, 60, 51, 76, 42,224, 22, 53,  7,182,163,200,208, 72,252, 28,128,253,238,215,175, 20,214,  0,
- 59,  1,140,138,122,242,243,207,191,249,241,143,155,133,241,215,145, 13, 55,239,221,199,149, 64,190,255,249,117,246,248,169,  9,
- 61,253, 86, 14, 54, 53, 77, 13, 59,183,239, 92,186,104,177,165,157,141,172,130, 28, 11, 23,235,222,195,123,151, 45, 92,188,110,
-195,218,173, 91,183,122,123,123, 99,106,135,220,147,  3, 47,250, 73,  2,192, 52, 15, 44,241, 65,  9, 88, 65,  1, 24,155,192,238,
- 26, 48,191,  3, 91,253,236,236,236,192,198, 16, 80,144,151,151, 23,168,102, 36,151,239,192,150,205,150, 37,205,104,195, 62,200,
-  0, 32,128, 80,  6,246, 64, 35, 63,135,151, 50,112,114, 60,248,244,139,225,251, 71,246,127,223,244,116,148, 24,222,126, 99,248,
-245,199, 65, 95, 13,180, 48,243,247, 15,102, 70,240, 16,205, 63,204, 50,241,195,173, 15,143, 88,216, 25, 60,252, 10,151, 77,  2,
- 54, 82,126, 49,124,251,249,247, 59,195,134,253, 23,246,156,  6,221, 23, 47, 35,167,  8, 42, 88,113,  0, 47,125,198,223, 63, 24,
- 54,109,221, 97,226,150, 11,106,254, 51,176, 50,115, 50,132,249,132,122,217,249,  3,101,159, 60,188,251,255, 55,246, 82, 24, 50,
-  7,252,  7,216,234,255,245,235,  7,176, 29,254, 29,180,254,  6, 24,235,192, 20,240,233, 35,176,117,242,249,203,151, 47,160, 33,
- 32,204, 17,222,175,255,190,127,255,  3, 68, 95,191,254,250,252,249,199,167,207,223, 63,127,249,241,229,203,207, 79, 31,127,124,
-254,252,243,243, 39, 16,250,248,241,231,199, 15,223,223,191,255,142,213, 98, 88,209, 15, 93,130,  4, 46,248, 25,225,109,117,  6,
-226,142,169,213,180,212, 60,186,237,232,206,125, 59, 33,245,  1,176, 55,128, 71, 49, 48,137,179,192,194,176, 11,188, 10,179,162,
-162,  2,114,202, 60,242,178, 72, 98,154,255,226,226, 40, 91,144,178,179,179,183, 30, 58,244,140,136,197, 60, 88,  1,176,249,143,
-191, 10,  1, 54,243, 33,140,149, 43, 87,222,121,  1, 90,202,181,229,192,  1,184,224,205,155, 55, 69, 69, 69,105,148,  7, 32,165,
- 60,242, 21,137, 16, 54,158,241, 31, 80, 69,203,199,251,239,239,223, 79,239,222,131,150,243,126,120,255,245,219, 55, 32,  2, 38,
-166,175, 31, 63,125,254,240,225,199,247,111,191,126,252,  0, 38, 59, 92,218,145, 75,121,120,233, 15, 97, 35,175,  8,194, 15,190,
-188, 62,185,103, 53, 34,235,126,123,119,129,214,229,197,243,112,  5, 96,185, 15, 44,253,127, 30, 92,243, 48,209, 16, 88,250, 31,
-118, 21,253,243,241,181,201,142, 87, 44, 56,162, 23,216,146, 72,205,207,188,115,243,230,241,  3,135,249,121,249, 35,195, 35,  5,
-132,133,206,157, 58,195,195,198,193,205,205, 45,169, 32,181,124,197,242,138,234,170, 47, 31, 62, 16,239, 12, 34, 43,  3, 96,249,
- 14,204,230,192,150, 62,176,213,111,102,102,166,173,173, 13,218,148,195,193,  1, 44,250,245,245,245,  5,  4,  4, 32,171, 66, 71,
-120, 27, 31,185,119,139,217,211,  5,  8, 32, 68, 15, 32,237,214,180,255,175, 31,252, 96,229,216,243,138, 11, 24,215, 10, 31,158,
- 51,175,107,217,158,222,220,173,165, 34, 41,200,145,171,193,201, 48,245,252,255,223,191, 30, 51, 75,160, 12,129, 32,  0, 15, 48,
-197,  2,169,139,151, 54,235, 27,248,214,213, 44,218,184,174,111,215,254,235,142,150,218, 44, 44,236,187, 15,159,251,207,204,242,
-235,239, 95,252,110,245, 48,212,216,113,246,  6, 67,111, 71,136,175,151,143,143,239,206,125,235,255,252,254,225,237, 30,201,244,
-247, 55, 43, 51, 51,142, 57,128,255,144, 30,  3,116,237,231,191,127,204,160,225, 32, 38, 80,135,  0,216, 28,254,  7, 93, 37,132,
-165,  2,248,198,198,200,248,157,149, 21,180,243, 11, 92,141, 48,252,  5,117, 23,128,232, 63, 35,243, 31,144, 94,  6, 96,243, 31,
- 88,247,253,  3,246,  0,184,  4,113,182,254,145, 89,140,140,144,130, 24, 41,175, 48,226,107,254,  3, 75,127,104, 43,117,193, 30,
- 32,  2, 50,128,149,  1,131, 23,190, 32,  2,251,151, 97,205,154, 53,144,188,167,168,168,  8,233,232,  0,155,165,192, 30,  0,193,
- 10,  0, 88,250, 67,154,255,138,212, 43,112, 89,193,  3, 71,222,246, 56, 39, 54,173,116,117,123,123,123,129,205,124, 96, 65, 15,
-236, 13,  4,128, 79,198, 87, 87, 87,135, 11, 62,124,248, 80,132,157, 93,  2,214, 35,161,238, 28,  0, 16, 64,174,100, 65,190,246,
-150,224,165,181,239,223,124,100,100,248,  3, 26, 62,124,249,141,141,131,  3,216,161,132,244,  0,190,  3,219,  8, 95,191,254,252,
-249, 19, 88,162,121,224,190,123, 22, 82,202, 67, 70,129,204,141,244, 78,158,187,  4,151, 66,155, 18,192,217,188,125,125,242,228,
-129,245,206, 94, 17,208,202,224,227,237,155,151,142,146,209,240, 39,126,252,  7,212, 87,123,247,245, 81,138,233,255,251,151,196,
-102,159,251,250,231,255,167,104, 69,254,101,247, 63, 37, 10,  3, 75,127, 38,220, 21,124,118, 78, 78,109, 71,139,152,176,200,239,
-127,127,111, 63,190, 23, 29, 25,181,104,201,146,141, 27, 54, 69, 69, 71,253,252,241,243,240,153, 99,223,191,127, 73, 75, 72,216,
-123,252, 56,230, 58, 14, 96,140,220,185,115,199, 13,220, 65, 68,235,  7,148,150,150,226, 31,  5, 18, 22, 22,126,246,236,153,160,
-160,224,140, 25, 51, 76, 77, 77, 13, 13, 13,217,216,216,128, 57,255,196,137, 19, 22, 22, 22, 64,  5, 64, 89, 97, 28,115,135, 35,
-182, 14, 64,  3,  0,  1,132,168,  0,102,169,101, 57,124,157,121,235,201,251,231,190,224, 70,199,201,138,255, 91,166, 75,189,188,
-223,111, 31,196,240,225, 29, 67,219,130,255, 79,111,252,229,228,254,240, 14,212,125,103,100, 66, 95, 19,112,240,192, 70,123,  7,
-103, 80,193,250,239,247,157, 15,143, 24, 24,254,170,240, 41, 58, 58,234,137,139, 72,188,253,248,  9,212, 65,248,245,231,249,135,
-175,154,216, 28, 33, 35,103,249,228,209,113,112,154,101,241,  0,173,  4,101,217,113,249,247,206, 45,107, 94,190,121, 38, 44,  0,
-234,226,  9,176,177, 74, 10,240,224, 40,131,255,131,139,247,127,144, 93,  0,160, 25, 97,166,191,192, 50,157, 17, 92, 18,255,135,
-238, 14,192, 82,  1, 68, 70,229, 47, 94,212,  8,204,218,204,204,144,177,163,255,255,254,254,  7,246,236, 65,253,123, 96, 33,203,
-  8,236,233, 48,254,253,251,255,231,239,127,249,153,141,104, 91,171,145,102,  0,254,195, 57,240,162, 31, 65,225,237,  4,192, 75,
-127, 52, 54,168, 14,192,  1,128,  5, 16,176,232,  1, 22,223,144, 10, 96, 13, 24,  0,185,202,202,202, 64,219, 39, 78,156,  8,236,
- 16,188,123,135,111, 55, 80,  9, 24,236,216,177,227,235, 75,148, 19, 11,128,245,193,253,251,247, 25,240,110, 10,195,220,249,  5,
- 44,250,129,213,  9, 48,124,125,236,237,165,113,207, 31,  0, 75,118, 43, 61,189,183, 15, 30,  0, 75,249, 91,176,181, 64,170,146,
-146, 69, 69, 69, 71,143, 30, 85, 83, 83,211,145,150,198, 51,237,129, 60,238, 79,252, 28,  0,242,100, 64,121, 57,104,209,231,189,
-123,208,182, 63,124, 91,  0,158,133, 64, 60,210, 98,223,159,191,  0,182,241,191,  2, 27,153,111, 94, 51, 50,130, 86,254,254,248,
-241,  3,146,204,238, 95,187,254,251,215, 79, 60, 75,128, 80,122,183,142,246, 64,  4, 95, 18, 74,204, 16,208,151, 55,167,128,165,
- 63,200, 25,220,220, 27,145, 58,  1, 38,182,129, 52, 45, 41, 76,182,191, 58,227,201, 96, 96,236,242, 42,219, 74, 98,218, 49, 96,
-125, 32,200,198,248,246,221,123, 22, 70, 70, 22,188,253,217,184,184, 56, 56,123,243,230,205, 94,222,158, 91, 54,109, 89,181,106,
- 85, 67,117,237,174,  3,123,153, 89,152,165,101,164,129,  1,201,192,134,101, 33,159,138,138, 10,102, 53,  0,153,  6,192,191,190,
- 25,216,210,191,119,239,158,150,150, 86, 65, 65,193,138, 21, 43,248,249,249,111,220,184,129,220, 69,  7,202, 42,144, 59,224, 54,
- 66,  0, 64,  0,161,204,  1, 28, 48, 76,103,128,173,108,222,242, 74,192, 71,148,241,255,153,109,255,143,111,  2,149,108, 28, 28,
- 63,184,120,119, 11, 56,188,176,116,  1,143, 69,160,111,  8,188,121,235,215,145, 19,109,160,146,148,153,  3, 50, 92,113,231,211,
-243,186,156,164,111,223,126,126,250, 14,154,  3,248,197,196,238,228, 17,130,213, 17,181,213,  9, 59,182,130,183,213,252,133,156,
-193,242,199, 67,151, 49, 34,171,143,139,139,157, 15, 60,  7,192,250,239,135,180, 40,142,242,  5,180, 43, 20, 84,124, 67, 26,137,
-255, 24, 65, 16,178, 55, 24, 84,250,254,199, 55, 46,242,237, 27,231,247,239,159,129,157,  0, 96, 31,  0, 88,230,  3, 13,  1,247,
-  0,254,125,  3,109,127,100,  4,138,252,  6, 54,169,153, 24,177,217,  9, 46,217,255,195,235,128,255,152,125, 34,200, 84, 64, 76,
- 98, 32,174,115, 57,174, 31,191, 78,106,108,  1,125,242,253,251,119, 93, 93, 93, 37, 37,165,  7, 15, 30,172,  2,239,146,133, 84,
-  6, 16,208,209,209, 65,176, 14,  0,130,140,140, 12, 76,193,224,248,120,  6, 34, 54,133, 65,182,230, 34,  3, 95,  7,  7,130,179,
-199, 18,176,134, 24,114,111,  0,216,240, 55, 81, 87,103,251,250, 21,191,151, 41, 73,223,200,165, 60,242, 46, 10,  6, 34,246,  9,
-115, 74, 74,124,187,125,231,239,159, 63,159,222,127,  0,247,174, 64,205,136,247, 47, 95,125,122,255, 30,232, 42, 60,205,127,180,
-201,128, 37,107, 55, 35, 47,253, 68,158, 30,192,145, 46, 47,158,216, 15, 89, 79,193,176,113, 53,104,  1,168,145,125,132,144,152,
-  1, 45,203,129,255, 40,117,  0,195,108,131,140,186, 23,255,254,233, 47, 56,117,202, 67, 92,123,203, 75, 96,233,207,203, 74,236,
-142, 22, 96,228,238, 59,176,207,201,213,121,211,218, 13,205,157, 29,229, 31, 63,  2,219,101, 43, 87,174, 21, 17, 17,121,244,  9,
-167, 46,180,106,128,129,208, 22, 48, 32,176,180,180,  4,182,241,207,157, 59,103,100,100,228,236,236,188,127,255,126, 57, 57, 57,
- 96, 11,201,222,222, 30, 24, 65, 64,113, 86, 86,214, 17,190,  4,  8,178, 15,  0,222,  3, 64,227,  2,  1, 64,  0,225,220,  9, 12,
-236,  7,204,189,188, 71,231,239, 85,  9,214,143, 63,254,179,220,254, 47,192,252,250,211, 11, 11,232, 54, 66, 38,108,  3, 50,162,
- 66,134, 94,  9,113,127,255,195,155,234,255,191,124,253,196,204,194,207,192,196, 85,214, 67, 96,167,146,135,183,206,134,169, 21,
- 12, 76,223, 24, 96,141,117, 30, 30,254,191,191,223, 51,252,255,250,240,216, 44, 19, 61, 57,124, 41, 23, 84, 70, 48,  2,139, 97,
-208,168, 13, 35,120, 44,158, 17, 54, 12,143,145,190,145, 65,122, 70,217,148,201,109,159, 63,127,100, 97,129,236, 34,  1,246,241,
- 65, 61,128, 47, 95,126,253,250,  3,170, 83,152, 89,152,186,218, 39, 96,106,244,244,  7,117, 48,119,110, 62,241, 23, 60, 10,252,
- 31,226,  4,232,156, 47,212,246,248,148, 16, 60,254, 77,105, 78,121,112,247,  1, 25, 49, 10, 76,223,239,193,235,103,140,141,141,
-205,204,204, 94,191,126,125,247,238, 93,208,194,196,127,255,214,174, 93, 75,176, 14,200,137,143,231, 20, 19,243,193, 54, 92,147,
-  3,174,  0, 56,113, 23,229,144, 12,137,166, 87, 26,117, 46,129, 32,  0,246,  6,172,193,189,  1, 49, 78, 78, 29, 43, 43,154,166,
-126,180,242, 29, 24, 98,104,179,193,  4,235,  0, 97, 85,149,207,239,223,179,176,179,253,252,249,227,239,111, 96,154,248,199, 43,
- 40,248,241,221, 59, 96,233,143,191,249, 15,223,  8,  6,153,  0, 56,121,238, 18,176,  2,128,143,254,227,218, 23,166, 38,249,254,
-205,219, 55,171, 86, 47,135,139,132, 69, 39,191,251, 69,218,186, 79,204, 49, 31, 12, 17, 70,130,253,  0,134,237,208,131, 28, 84,
- 54, 66,247,222,127,252,253,151,120, 55, 56, 57, 56, 93, 20,188,232,230,237,145, 26,155,172,167,175,187,105,227,230,227, 23,206,
-166,165,165, 61, 34,116, 72, 25,188, 26,232,  6,  3,130, 59, 28,129,181,  5,176,199,176,101,203, 22, 96,147,  8,216,111,128,172,
-133,187,122,245, 42,176,237, 15, 44,253,225,117,201,  8,  7,104,155,129,145,  1, 64,  0,225, 59, 10,226,159,174,203, 37,  6,151,
- 75,164,216,164,163, 99, 61,105,210,162,188,252, 72,105,121, 96,170,253,201,202,206,241,228,249, 39,123,223, 56, 98,244, 26, 26,
- 42, 37, 36,132, 45,152,183,142,225,223, 67,  6,  6,150, 63, 63,190, 75, 75,242,203,241,253, 33,216, 40,  6,150,184,255, 65,144,
-225, 63,108,255, 50,  3,164, 63, 64,132,165, 57,185, 85, 64,178,170, 50,143,153,153,233, 63,104,140,  5,216,  9,248,251,229, 11,
-168,248,103, 98, 98,156, 62, 29,223, 41,137,238,190,160,106, 96,219,134,163,255, 17,197, 63, 40,107, 37,167, 71, 18,180,247,227,
-151,143, 88,143,250, 33,  8,128,101, 16,176, 19,240,247,239,223, 79,159, 62, 49, 51, 51,  3, 25, 18, 18, 18,191,127,255, 70,206,
- 42,192, 58,  0,215,153, 16,144,166,186, 32, 89,203, 61,133, 32, 85, 42,137, 37, 62, 38, 16, 39,113, 88,150,236, 57,  0,180,146,
- 29,235, 90, 32,130,219,193, 20,204, 76,129,228,141,131,  7,127,124,251,254,239,239, 95, 77, 99, 99, 93, 43, 59, 30,105,188,  1,
-248,159,241,225,253,187, 64,154,141,129, 33, 41,  8, 58,165,  3, 20, 65,102, 99, 93, 42,124,235, 57, 48, 73,  8,134, 71,167, 60,
-124,252,226,196,161, 45, 64,145, 85, 75,231,154,219,249,240,138,219, 16, 19, 80, 97,160,125, 24,132, 79,122,248,203,136,125, 19,
-194,163, 64,137,237,207,126, 80,171,208,209,  7,131, 51,103,206,236, 61,113, 80, 88, 68,152,164, 67, 74, 32,213,  0, 49, 42,121,
-121,121,131,131,131,143, 31, 63, 14,108,  6,157, 58,117,106,244, 44, 32,204,209,127,180,210, 31,109, 62,  0, 32,128,168,127, 41,
-188,178,134,233,214,157,119,  2,188,185,196,164,101,223,125,254, 99,239, 29, 75,188, 94, 75, 83, 13, 75,211,170,244,244, 58,  6,
-134,151,130,188, 44,114, 66,255,  8,107,137, 14,167,220,205,109,237,147,128,100, 94, 94,238,239, 95,191,254,253,  7, 45,181,236,
-239,239, 39, 82,175, 87,  0,232,124,211,173,235,143, 48, 50, 50,165,101,197,208, 33, 82,129, 37, 32,176, 31,240,235,215, 47, 72,
-177,  8, 41, 16,135,235,249,160,  4, 79,152, 32, 30, 16,115,234, 39, 46,160, 97,111, 79,188,226,231,247,110,154,171,202,144,109,
-215,219, 95, 42, 60,226, 42, 46,161, 54,164,106,196,117,202, 27, 18, 96,250,195,200,254,157,  9,251,252,255,221,207,127,212,120,
-241, 20,  8,228, 44, 20, 54, 49, 49,161, 67, 34,177,  4,131,209,226, 30, 87, 29,128, 71, 22, 32,128, 70, 47,133, 31,146, 96,244,
- 86,247, 81, 48, 10, 70,  1,229,  0, 32,128, 70,111,  4, 27,146, 96,180,244, 31,  5,163, 96, 20, 80, 14,  0,  2,104,180,  2, 24,
+137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  2,  0,  0,
+  0,  1,  0,  8,  2,  0,  0,  0, 74,242, 89, 48,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 11, 19,  0,  0, 11, 19,  1,  0,154,156,
+ 24,  0,  0,  0,  4,103, 65, 77, 65,  0,  0,192,153,201, 12,156,227,  0,  0,  0, 32, 99, 72, 82, 77,  0,  0,110, 39,  0,  0,115,
+175,  0,  0,246,112,  0,  0,129,232,  0,  0,107,215,  0,  0,226,170,  0,  0, 48,131,  0,  0, 21, 42,251,118,133,113,  0,  0,181,
+ 75, 73, 68, 65, 84,120,218, 98,244,137,169,101, 24,  5,163, 96, 20,140,130, 81, 48,242,  0, 64,  0, 49,141,  6,193, 40, 24,  5,
+163, 96, 20,140, 76,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140,
+ 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,
+ 44,112,150,175,173, 12,241,218, 54, 31,126,130,204, 29,213, 59,  8,245,162,105,167,186,189,  7, 14, 28,112,112,112, 24, 13,231,
+ 81,189,163,122,  7,185, 94, 60,  0, 32,128, 88,134, 95,157,150,158,158, 14, 36,103,206,156, 73,103, 27,103,204,152,193,200,200,
+ 56,236,155, 12, 16,207,  2, 65,100,100,228,154, 53,107, 32,236,144,144,144,209,198,212,240,139,104,122,102,162, 81, 48, 32,  0,
+ 32,128, 88,104,145,  2,110,223,190,221,211,211,  3, 97,151,148,148,168,170,170,210,173,208,  7, 50, 30, 63,126, 12,100,203,202,
+202, 66,164,104,157,136,129, 54, 62,120,240,  0,200, 80, 80, 80,160,115,197,131,171,104,198,229,113, 96,155, 29,191,  9,203,151,
+ 47,199,239,126,160, 21,171, 86,173,130,176,215,175, 95,239,234,234, 10, 97,  3,107,  2,218,213,  1,198,198,198, 64,242,236,217,
+179,100,200,142, 76,112,239,222,189,206,206, 78, 56,183,188,188, 92, 73, 73,105,144, 87, 27,  3,232,230,145, 12,  0,  2,136,  5,
+ 79, 33, 14, 33, 73, 45,190, 33,197,144, 81,153,133,176,174,196,219,203, 47,122,186,122,232, 83, 44,  2,203,125,120,161,143, 75,
+132, 22,  0,232, 53, 96,209,255,  0, 12,118,236,216, 65,255,118, 19,188,242,131,212,127, 93, 93, 93, 64,110, 89, 89, 25, 86,197,
+129,129,129, 16,198,159, 63,127,127,253,254,249,235,231, 47,  8,248,243,231, 15, 46, 45, 88, 75,127, 52,  0,172,  9,104, 90,  7,
+224,169,189, 32, 21,192, 40,192,213, 14,  0,  2, 72,193, 74,135,100,  9,177,154,140, 44, 48,128,110, 30,225,  0, 32,128,112, 86,
+  0,192, 38,124,137,182,  6,144, 36, 41, 14,128, 17,  9, 41,250, 33, 92, 32,195,117,113,  0,176, 26, 24,168,238, 36,164, 14,160,
+181,213,240, 58,192,195,195,  3, 72,  2,217,116,243, 44, 48, 96,247,239,223, 15,100, 56, 58, 58,162,213,  1,120,  0,176,184,255,
+245,235,247,175, 95, 40,165,255,153, 51,103, 76, 76, 76,  8,218, 24, 22, 22,  6, 31,  2,218,189,123, 55,188,  2, 32, 35,183, 19,
+ 25, 74,192,214, 61,176,244,119,115,115, 67, 22,220,181,107, 23,176,191,  2, 97, 99,157,138, 24,225,165, 63,114,216,146, 81, 46,
+147,173,133,140,126,  0,181,220, 60, 10,200,  0,  0,  1,196,130,167,249,111, 39, 42,218,195,112,131,248, 78,  0,114,233,191, 59,
+118,  3,180,104, 88, 28,  0, 20,  1,138, 19,140, 75,204, 86,  0,169, 77,  0, 92, 77,126, 90, 36, 35, 52, 51,225,117,192,239,223,
+127,102,204,152, 65,121, 35,136, 24,237,104,165, 63, 92, 35,214,144, 68, 41,253,127,  3, 75,255,159, 63,193,149,  0,188,244,255,
+255,239, 63, 49,165, 63, 80, 37,132,221,219,219, 11,111,242,195, 39,  3,136,119, 51,154,179,137,  7,240,162, 31, 88,  3, 25, 26,
+ 26,142,230, 97,228, 81, 20,172,137,  7,158, 36,128, 10,  8,142,171, 32,143,166,194, 53, 18, 19, 77,200,  9, 15,174,158, 96, 70,
+ 64,115, 51,176, 73,193,200,200,232,226,226, 66,146,155, 33, 32, 57, 57,121,238,220,185,163,201,128, 36,  0, 16,128, 29, 51, 72,
+  1, 16,  4,162, 40,132, 29,165, 43,216,186, 67,116, 19,111,101, 71, 16,218,116,165,136, 22, 66, 95, 63,197, 64,165, 25, 45,251,
+136,136,136, 12,168,111,156, 95, 37,190,255, 24,176,  8,120,178, 17,115,198, 65,127, 99, 12,142, 16, 61, 51,  1,231,185, 38,161,
+166,159,100,251,176, 14, 72, 51,241,  5,253,193,250, 51,178,145,  3,128,212, 86,235,210,221,232,174, 64,227,174,108,192, 36,105,
+ 23,117,126,240,247,244,247,  1,251,107, 48,127, 36,253,189,247,243, 50,103, 67,101,149, 32, 11,133, 33,234,161,249, 19, 98, 22,
+ 78, 14,198,165,231, 66,250,  3,253,168,114, 72,255, 90,213,255, 51,206,218, 38,156,148, 38,123, 26,229,239,126, 96, 92, 44,233,
+127,247,177,187,140, 25,244,199, 93,178,214, 58,231, 74, 99,  6,253,149, 82,232,255,107, 80,164, 77,  0,118,172,102,  5, 64, 16,
+  6,215, 78, 82, 93,123,255,187,189, 93, 34, 88, 94,154,142, 70,100,216, 12,164,139, 10,130,138, 32,202,190, 63,200,200,127, 30,
+ 95,129,155, 56,  3,101, 62,163, 63,153,  6, 28,153,  3,112, 87,200, 37, 31,208,243,151,183, 75, 57,  0,155,219, 55,231, 92,105,
+134, 67,217,250, 28, 95,155,164,113,190,114,174, 58, 58, 53,206,153,186, 13,185, 63,194,127, 20,255,140,254,222,123,107,173, 89,
+ 77,237,116, 66,235,229,156,245,177,119,184, 34,255, 62, 70,127,130,126,  0, 80, 74,141,211,208,202,184,146,175, 21,122,202, 71,
+242,184, 37, 66,146,179,236, 35,145,  3,138,174, 77,232, 31,  2,141,198,  1,133,237, 16, 64, 44,120,154,255, 16, 64,252, 76,  0,
+124,232, 31,121,200,  8,206,134,203, 82, 55,189,162,173,249,129,112,177, 50,168,  8,102,204,152,  1,159,248,133,143,248,  3, 29,
+  3, 20,255,241,253, 59,241, 21,  0, 80,203,252,249,243,159, 60,125,202,202,204, 44, 46, 33,  1, 47,253,243,242,242,180,181,181,
+241,100, 27,160,141, 64,101,240, 58,  0,185, 95,130,127,  6,226, 23,184,252,255, 13, 42,253,255, 66, 74,127, 96,109,240,237,219,
+183, 47, 95,190,124,254, 76, 84,  5,  0, 31,  2,130,  0,226,219,254,171, 86,175, 98,248,207,240,230,213, 43, 32, 23, 52,216,  4,
+236,234,255,255, 15,170,  3, 86,175, 14, 11, 13, 37, 38,129, 33,151,254,172,172,172,236,236,236, 28, 96, 64,164,203, 71,  1,193,
+145, 31, 60,  5, 55,169,171,171,177,142,  8,225,  7,161,161,161,144,162,159,164,213,  4,240,210, 31, 90,162,177,176,  0, 91, 54,
+163, 99, 65, 68,  2,128,  0, 98,194,211,252,135,  0,226, 59,  1,111, 47,191, 64, 54,  4,141, 13,151,165, 34,  0, 38, 44, 72,209,
+143,127,193, 15,213,231,129, 33,235,253,119,236,216,  1,239,  7, 64, 74,127, 61, 61,189, 31,192, 26,224,251,119, 80, 25,247,255,
+ 63,193, 44, 55,117,218, 84, 96,235, 91, 70, 90,250,247,223,191,104,165, 63,193,108,  3,169,  3,144, 27, 92,144,213,168, 88,251,
+ 37, 40, 21,192,175,223,144,210,255,244,169,211,223,190,127,  7,150,158, 31, 63,126,252,240,225,195,251,247,239,137, 15,  1,200,
+ 40, 16,241, 67,255,160,  4,240,230,237,219,183,111,222,188,125,  7,162,193, 76,160,160,134,166,230, 59, 48,131,152,230, 63,144,
+  4,150,254,208,134, 63, 55, 55, 15, 15, 47, 47, 15, 47,144, 49,154,141,113,149,230,196, 55,192, 33, 43,  8,224, 12, 92,108,146,
+108, 71, 27, 17, 34,168,203,197,197,  5, 88,  7,  0, 75,127, 87, 87, 87,226,251, 28,192,178, 30, 88,226,195,185,163,165, 63, 73,
+  0, 32,128,152,240, 55,255,145, 59,  1,248, 13, 42, 41, 41, 57,215,117,130,  1, 60,235, 11, 84, 12, 95, 69, 10,100,  3, 69,128,
+108,160, 44, 80, 13,237,124, 66,139,150, 62,254, 12,147,145,145,  1,100,  0, 75,211,107,215,174,157, 63,119, 78, 95, 79,255,199,
+ 15,112,  7,224,251,247, 37,139, 23, 67,100,241, 36,247,222,222, 94, 45, 77, 45, 96,  5,  0, 12,165, 63,191,127, 61,125,242,148,
+ 12, 55, 32,179, 33, 27, 17,  8,244,  0,126,255,252,243, 23, 52,242,115,242,228,137,175,223,191,126,249,252,  9, 88,250,191,  7,
+149,254,239,128,128,120,171, 33,253,  0,146, 90,106,135, 14, 29,250, 12,  2,159,192,228,103, 17, 97, 97, 96,233,127,227,250,245,
+131,135, 14, 17,163, 29,210,252,103, 97, 97,229,226,226,226,  1,150,253, 64,204,195,197,201,197,249,226,197,139,209,108, 12,  1,
+229,229,229,240,242, 23, 62,185, 10, 97, 64,  4, 33, 10,136,108,182,227, 31, 23,194, 95,250, 19,223,246, 71,115, 51,176, 14,  0,
+150,254, 36,185, 25,185, 14, 24, 45,253, 73,  5,  0,  1,132,101,  8,  8,185,249, 15, 23,233, 97,184,129,223, 32,200, 80, 15,176,
+153, 15, 89,250,217, 19, 11,173, 48, 32,165, 63,164,249, 79,112, 53,209,237,213, 54,228,117,  2,240,148,254,180, 91,  6, 10, 41,
+115,129, 13,127, 51, 51,179, 31, 63,127,126,255,241, 29,220,250,255, 14, 98,252,248, 49,101,202, 20, 92, 57,  7,178, 82,243,239,
+223,191,103,207,158, 99,101, 97,134,132,204,253,  7, 15,158, 62,125,186,124,249,138,200,200,  8,160,  8,188, 31,128, 53,131,193,
+  7,157,208, 90,112,  4, 87,160, 66,218,254,199,143, 31,255,250,229, 27,104,220, 31, 84, 30,127,250,244,233,227,167, 79, 95,136,
+ 31, 72,129, 52,255,225, 59,129,137,169,  6,128,138,225,108, 69,  5,  5, 96,209, 15,100,  0, 75,255,251,224, 94, 11,178, 44, 30,
+ 96,105,101,201,206,198,206,201,201,  9,236,  1,176,179,179,179,178,178,210,185,214, 31,228,  0,121,181, 12,124,241, 12,188, 38,
+ 64, 83,128,191, 16,199, 58,148, 79, 82,207,131,200,106,131, 90,110,134,212,  1,163,165, 63,169,  0, 32,128, 88, 48,199,127,252,
+ 14, 28,198, 94, 58, 19, 90, 15, 10,105, 62, 64, 86,130, 66,202,125,248,224, 15,176,249, 79, 48, 53,144, 93, 76, 19,172,  3,104,
+218, 15, 64,203, 33, 75, 22, 47,  1,150,254,144, 29, 86, 88,215,227, 35,175,211,255,247,239,175,158,190,209,197,139,151,174, 95,
+187,198,194,202, 10, 44, 25,159, 60,125,  2,108,234, 50, 51, 51,135,133,133,  1,235,  0,  6,  6,126, 76, 19,128,218, 33,185, 11,
+ 98, 59,218, 62,  0,252, 14,  6,150,254, 71,143, 30,253,  2,  4,160, 89,223, 79,224,210, 31, 72,124,254,242,249,203,215,111,223,
+  8,122, 22, 88,244,159,  1,  3,  6,140,101,160,248,171,  1,  7,  7,  7,228,128,130,148,251,231,207,159,103, 32, 98,251,177, 49,
+ 24,  0, 25, 60, 92, 60, 28,160,194,159,131,141,141,141,137,137,105,180,244, 71,  3,200,229,230,234,213,171,129,173,105,  6,212,
+  9, 85, 98,150, 84, 34,183, 45, 72, 93,205, 76,198,184, 63, 85,220, 12,175,  3, 70,211,  0,169,  0, 32,128, 88,208, 90,241, 20,
+ 54,150,225, 41,  0,190, 19, 24, 50, 46, 68,135,173, 88,  3, 88,  7,192,217,255,255,255,143,137,141,153, 50,101, 42,120,156,253,
+ 15, 63, 63, 63,193,122,238,214,173, 91,192, 22, 45, 68, 47,144,141,166,236, 30,142, 67,157,144,235,  0,200,108, 48,100, 73, 40,
+254,112,134, 44,159,183,182,182,166,196,179,240, 53,160,164,158,  5,  4,212,123,224,192,129,229, 96,128,220, 51, 32, 50,109,  0,
+171,144,223,127,126,255,254,252,123,116,202, 23, 23, 32,184, 98, 18,168,128,200,208,134,239,  3, 32,175,  4, 32, 94, 35, 21,221,
+ 60, 10,200,  0,  0,  1, 68,253,195,224,128,177,  5, 26,250,239,162,235, 89, 64,  3, 91,  7,192,  1, 35, 35, 35,124, 47, 46,214,
+210,159, 42,  0,243,204,  6,200,178, 81,130, 77, 54,170,100, 36,184, 33,192,210,156,212,179, 31, 28,192,128, 84, 27, 71,207,249,
+ 33,163, 45, 66,221, 72,167,220, 25,131,220,205, 35, 22,  0,  4, 16, 77, 78,  3,165,188, 39, 65,118,202,219,182,109,219,208,202,
+  0,148, 27, 62,154, 91, 70,193,144, 75,198,163, 96,144,  0,128,  0, 98,244,137,169, 29, 13,133, 81, 48, 10, 70,193, 40, 24,129,
+  0, 32,128, 70,111,  4, 27,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,
+180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,244, 82,248, 81,
+189,163,122,105,174, 23,215,242, 92, 90,235, 29,141,163, 81,189,248,  1, 64,  0,141,246,  0, 70,193, 40,160, 45,128,156,110, 15,
+ 33, 73,  5,196, 28,169, 63, 10,176,130,155, 55,111,142,  6,  2, 65,  0, 16, 64,163, 21,192, 64,130,107,215,174,165, 35,  1, 32,
+119,240,235, 29,  5, 36,129,123,247,238, 65, 14, 54,  0,146,200,199, 30, 16, 95,250, 67,142,149, 37,251, 76, 30, 92, 34, 84,212,
+ 75,225,157, 28,180,168,222,128,165,127,127,127,255,104,242, 35,  8,  0,  2,136,101,248,121,233,240,225,195,182,182,182,131,223,
+157,144,116,223,219,219, 11, 23, 41, 46, 46,102, 32,250, 50, 72, 32,249,111,165, 32,162, 38, 15,159, 72,  7,189,163,128, 84,128,
+124,212,  1, 73,167, 26, 32,151,254, 64,146,145,145,145,248, 35, 22, 40,217, 45, 72,134, 94,200, 57,254,120,156,  7,236,253, 64,
+ 14,249,193,227, 89, 76,189,  4,117,225, 47,253,255,253,251, 55,107,214,172,165, 75,151, 70, 71, 71,143,166, 67, 92,  0, 32,128,
+134, 97, 15, 96,201,146,101, 67,162,244,207,207,207, 71, 46,253, 33,149,  1, 80,144,152,  6,215,130, 92,110,228, 18, 28, 82,160,
+  3,  5,105,170,247,227,199,143,153,153,153,240, 91,104, 94,188,120,  1,212,210,218,218,218,220,220, 92, 85, 85,  5, 57,175, 31,
+ 23, 96,251,248, 85, 55,115, 62,207,254,251, 16,238,159, 23,127,174,166,255,184,212,202,118,164, 89,112,115,149,252,185, 93,210,
+195, 53,131,145,113,158, 62, 90,233, 15,  1, 36,245,  3,232,220,  3,128,156,227, 15, 81,185,  7, 12,208,202,113,252, 55,124,193,
+245, 98,234, 34,163,115,  0, 47,253,129,205, 41, 96,233,127,228,200, 17,134, 81,128, 27,  0,  4,208,112,171,  0,128,205,127, 96,
+ 91,105,144,199, 58,100,200, 69, 78, 78, 14,222,240,135,180,253,225,130,120,198,100, 32, 82,113, 54,108,176,198,251,123, 32,130,
+176, 33,130, 52,210, 11,  4, 39, 79,158,228,224,224, 56,126,252, 56, 34,245, 48, 49, 85, 87, 87,215,214,214,198,199,199,111,221,
+186, 21,143, 94,137,147,215,254,115,176,114, 29,127,  4, 23, 97,100,250,175, 87,253,203,166,246,189,121,252,171,211, 91,165, 71,
+179, 34,102,233,207,  8,  3, 68,214,  1,200, 19,  6,233,168,128,129,208,116,  2, 37,122,225,117,192,187,119, 46, 51,103,190, 39,
+169,244,199, 90,127,192,117,145,218, 43,  5,150,254,125,125,125,192, 16,  3,166,204, 51,103,206,  0, 75,131,209,228,132, 31,  0,
+  4, 16, 19,254,194,148,140, 16,164,112,124, 25,104, 35, 68, 35,121,145,  7,108,254,207,152, 49,141,236, 78,  0,125, 82,204,196,
+137, 19,225,109,127, 96,209,223, 11,  6,240, 58,  0,200,  6, 42,192,163, 23,222,126,  7, 22,223,183,183,197,  2, 17,188, 28,  7,
+ 74, 17,175, 23,210, 38, 37, 82, 47,176,244, 57,118,236, 24,176, 55,253,232,209,163,231,207,159,163, 73, 61,124,248, 80, 82, 82,
+146,  1,183,102,201, 99, 87,158, 68, 91,179, 61,250,200,248, 28,126,232, 52, 35, 88,134,225,221, 67,118, 33,201,239,195, 44, 95,
+221,187,119, 15, 79, 81,139,103, 50,  0,173,237,143,118,175, 28,254, 58,  0,249,  6,174,153,168,128,129,208,253, 92,200,178,255,
+ 87,  9, 34, 35,  6, 18,239,246,130,148,251, 36,149,227,200,245,  7, 16,145, 87,250,  3,187,167, 19, 38, 76,  0,182,253, 11, 10,
+ 10,128,117,  0,164, 45, 56,125,250,244,209, 82, 30, 15,  0,  8, 32, 22, 60, 69,225,210,165,203, 33,  9,142,248, 33,117, 72,210,
+140,137,137,129,104,  1, 26,  2, 41, 83,136,140, 75,160,250, 37, 75,150,  0,181,131,139,242, 37, 36, 89, 13,111,254, 67,242,  9,
+ 25, 51,  1, 16,219, 73,181,148, 18,  0, 41,253,225,229, 62, 50,151,112,213, 13, 46,253, 33,108, 80, 29,224,181, 24,109, 96,  7,
+191, 94,120,140,128,235,128,116,130,122,129, 69,252,175, 95,191,140,141,141,129,189, 43, 96, 39, 32, 40, 40,  8, 84,103,252,251,
+215,222,222,254,229,203, 23, 86, 86, 86, 96,246,195,165, 87,232,225, 83,166, 95,127, 62, 24, 43,176, 30,121,198,114,252,229,239,
+ 32, 69, 80, 28,253,251,127,169,157,237,221, 23,222,239,172, 60,174,153,183,135, 83,166, 34,216,236,237,236,236,  4,150,119,152,
+  3,220,152, 37, 59,188,249,143,169,114, 16,158,226,149,158, 46,136, 84,163,128, 26, 22,192, 96, 32,111,110,137,140,182, 63, 48,
+215,195,239,134,180,177,177,  1,102,231,209,210,159, 32,  0,  8, 32, 22,220, 69,225,178,153, 51, 65,193,151,145,145, 69,100,153,
+  8, 25,215,214,210,210,130,139,216,130,  1,164, 79, 64, 48, 70,225,165, 63,220, 46, 82,139, 99,160,155, 99, 98,162,192, 53, 80,
+ 20,144, 77,106,229,  1,180, 14,126,159,193,144,152, 70,166, 39, 56,122,244,168,185,185, 57,176, 60,  2,146, 27, 54,108,  8,  8,
+  8,128, 12,  1, 85, 86, 86,  2, 25,111,223,190, 93,190,124, 57, 80,202,212,212, 20, 83,175,252,209, 51, 47,204, 53,129,133,217,
+ 87,115, 89,230, 13,207,127,  7, 40,130,135,128, 24,244, 42,127,  1,181,126,125,251,113,223,114, 21,121,243, 47,122,166, 79,134,
+ 65, 64,225,191, 84, 29, 14, 86,131,  1,102, 33,142,124,167, 10,174,107,165,177, 94,220, 56,224,  0, 88,159, 97, 46,117,133,140,
+237,144, 10,200,208,  5, 57, 51,156,133,133,165,176,176,240,204,153, 51,163, 67,255, 68,  2,128,  0,194, 94,  1,  0,219,254,144,
+146, 20,  8,162,163, 35,129, 92,130,  5, 34,100,168,  7,185,244,135,  3,136, 32, 80,  1, 86, 89,164,226, 27,165,244,135, 48,128,
+130, 68,150,197,192, 40,  7, 22, 79, 16,197, 64, 18, 88,  1, 16,223,  9,128,151,254,200,185,139,200, 58,143,146,246, 11,114,171,
+159,164,230, 63,100,196,  6,216,234,135,116,  2, 84, 73,105,254, 67,245,134,167,195,239,126, 34,168,247,247,239,223,192, 76,197,
+203,203,123,233,210,165,191,127,255,126,250,244,233,250,245,235,194,194,194,112,  5, 64,182,183,183,247,180,105,211, 48, 43,  0,
+230,223,191,101,207, 92,102,227,149,102,189,244,246,227, 95,222,207,159,216,254, 94,255,194, 32,204,  1, 87,192, 45,252,199,212,
+251,201,194,105,182,195,163,  2,  0,134, 42,230,208,  7,230, 37,139,144, 30,  0,218,134, 29,146,214,234, 16,191,217,135,190,222,
+127, 15,233, 10, 32,247,  6,136,239, 64,  0,195,141,140,210,127,233,210,165,135, 14, 29,250,191, 74,144, 49,236,125,127,127, 63,
+176,226,  4, 54, 77,102,204,152, 49, 90,190, 19,  4,  0,  1,196,130,181, 52,  4,134, 32,114, 65, 12,172,  0,128,197, 43,176, 87,
+133,199,160,137, 19, 39, 66,134,110,176,  2,160, 20, 80,  1,158,244, 13, 25,124, 71, 43,115,193,229,248, 18, 98,202,113,228, 46,
+ 11,  4,196,198, 70, 47, 94,188,148,152,114, 28,185,244, 71,107, 97, 17,212,139,199,203,120,  0,176,159,  4, 47,238,225,163,255,
+200,179,  2, 64,  5,120,244, 50,133, 67,135,242, 33,117,  0,  3,210,154, 78,166,240,247, 36,232, 13, 79, 39, 82,239,133, 11, 23,
+228,228,228,128,109, 43,  8,119,209,162, 69,199,143, 31,247,241,241, 65, 86,243,242,229, 75, 14, 14, 14, 76,189, 10, 23, 46,124,
+144,147, 60, 89,152,  4,225,178, 45,186,253,247,248, 71, 38, 31, 20,149, 31, 95,114,178,115,252, 30, 54,153, 10, 88,178, 43, 41,
+ 41,225,185,235,170,188,188,156,200,107, 14,145,135,128,112,117,  8,  6,109, 32,144,161, 30, 82,113,146,164,119,217,178,165,  7,
+ 14, 28, 96, 92,  3,106,142,236,170,225,117,107,249,108,103,103, 55,186,244,147, 72,  0, 16, 64, 44,152,165, 33,114,243, 31,222,
+  9,  0, 22,166,200,181,  2, 86,128, 71, 22, 82,148, 19,108,254, 99, 45, 97,  9,118,  2, 32,110, 70, 46,253, 33,131,128, 64,  7,
+  3,197,129, 89,  8, 79,213,133, 89,250,147, 84,  7,144, 55, 82,  4,233,  9, 61,122,244,  8,178,230,  7,185,225, 15, 20,196,213,
+145, 66,214,187,232,200, 47,200,186, 29,228,198, 59, 80,144, 70,122,129,197, 61,178, 79,237,237,237,187,187,187,157,157,157,255,
+253,251,215,214,214,  6, 36,191,127,255, 14, 12,103,172, 49,168,126,252,248, 37, 91,  7, 56,247,143,189,228,223,238,199, 12,206,
+ 98,255,255, 49, 92,106, 99,253,242,143,231,221,119,190,119,140, 66,126, 49, 23,135, 83,190,  2,150,239,248,167, 91, 73, 41, 26,
+ 87,129,200, 61, 97,196,244, 71,225,233, 22,235,106, 78, 60,247, 53, 34,235,  5,182,163, 73,210,139,217,138,135,220,225, 76,159,
+  1, 55,208, 52, 53,164,244,191,244,103,254,254, 95,224,242,106,180,244, 39, 22,  0,  4, 16, 74,  5,144,145,145,  5,186,213, 54,
+ 38, 10,179, 37, 14, 25, 23,  2,162, 25, 51,166,209,200, 41, 88, 11, 83,130, 53,  7,220,205,184, 12,  4, 86, 93, 64,132, 86, 61,
+ 32, 87, 60,120, 50, 42, 48,121,209,104, 50,  0,158,217,200,216,  8,  6, 84,144,144,158,158, 48,249, 43,234,102,174,247,180,211,
+ 11,190,158, 30,  1,228,229,229,167, 76,153, 66,100, 89,182, 13, 85,239, 63,121, 30,206, 41,154, 64,134,246, 76, 86,  6,  6, 96,
+171,255, 61, 24, 61, 28,174, 25, 12, 94, 16, 67, 24,116,184, 45, 14,107, 73, 13, 23, 33,184, 10,136, 12,189,152,173,120, 34,251,
+ 55,148,135, 45, 48, 25,  3,203,125, 32,123,193,254, 95, 43,142,253,  2, 22,  5,163,251, 25, 73,  2,  0,  1,132, 82,  1,224, 41,
+220, 33,211,185,  4, 19, 31,217, 10,200,190,201, 22,127,133, 68,161,179,105,157, 93,175, 93,187,  6, 95,253,  9, 25,162,193, 63,
+ 77,130,166, 23,178,131,151,158,122, 71,  1,169,160,188,188, 28, 62, 22,  4,100,211,199, 82, 58,239,  4, 30, 88,224,222,242,121,
+168, 56,117, 16,  2,128,  0, 98, 25, 13,130,  1,  4,192, 98,151,236, 36, 59, 80,122, 71,  1,169, 99, 65,144,147, 18,128, 36,241,
+237, 98,148,213,159,176,193, 31, 92, 75, 66,113,141,231,224, 23,161,133, 94, 90, 84, 93,248,  1,176,243, 10, 12, 22, 63,255, 52,
+104,119,115,251, 57,  8,195,203,211,104, 52,237, 17,  3,  0,  2,104,180,  2, 24,  5,163,128,182,192,197,197,  5, 88,  1, 16, 63,
+177, 73,121,105, 59,176, 61,  0,250,214, 22,255, 33, 59, 10, 71,  1,121,  0, 32,128, 70, 47,133, 31,137,128,243,231,141,239,236,
+ 26,163,225, 48, 10, 70,193,  8,  7,  0,  1, 52,122, 28,244, 72,  4,163,165,255, 40, 24,  5,163,  0,  8,  0,  2,104,180,  2, 24,
   5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,
-140,130, 17, 10,  0,  2,136, 38,151,194,143,234, 29,213, 59, 56,245, 66, 78,131, 24, 13,171, 81,189, 35, 74, 47, 30,  0, 16, 64,
- 44,104,217,131, 24, 61, 88,179, 16, 37,122, 71,  1,169,  0, 87, 65, 54, 10, 72, 13, 37, 34, 67,242,209,163, 71, 79,159, 62,101,
-103,103, 23, 17, 17,145,147,147,163,155, 23,224,103,190, 14,230, 28,244,234,213,171,167, 79,159,226, 87, 35, 45, 45, 45,134,109,
-247,  9, 37,122, 71,  1,229,  0, 32,128,208,151,253, 18,220,121,143,231,208, 71, 52,189,152, 71, 19,211,244,204, 97,250, 23, 46,
-248, 21, 20, 20, 20,104,106,106,146,173, 61, 52, 52,212,197,197,  5,143, 94,170,212,  1,238,238,238, 64,114,231,206,157,116,208,
-251,245,235,215,181,107,215, 66, 46,133, 15, 14, 14, 54,196,125,159, 34,166,103,  9, 94, 10, 63, 99,198, 12,172,173, 13,252,161,
- 68, 76, 24,  2, 75,168,159, 63,127,  2,173,224,224,224,248,241,227,  7,176, 38, 56,125,250,180,190,190, 62,158,155,170,172,173,
-173,  9,250,235,249,243,231,192,194,157,160, 50, 96,233, 15, 57,238,155,152,176, 34,102, 47, 72, 88, 88, 24,254,116,  5,  1,242,
-242,242, 12,224,243,150,129,126,135,196, 29,158, 52,  9, 44,193,139,138,138,240, 88,250,254,253,123,115,115,115,172, 65, 13,212,
-171,165,165,133, 71,239,203,151, 47,107,107,107, 71,155, 59,148,  0, 60,151,194,  3,  4, 16,203,176,241, 36,253, 27,197, 27,103,
-120,224,146, 10,200,220, 65, 73,103,  8, 79,245,176,103,207, 30,100, 54,114,134,  4,114, 87,175, 94, 77,124, 32, 92,190,124, 25,
- 82,136,163,153, 67, 18,200,200,200,200,206,206, 38,230,234, 87,200, 77,144,113,113,113,192,226,160,183,183, 87, 65, 65, 65, 80,
-144,240, 94,104, 96,201,187,125,251,118,  8,219,195,195, 99,199,142, 29, 88,217,120,  2, 25,158, 48,128, 12, 99, 99,227, 89,179,
-102, 65, 10, 74, 98, 18,204,199,143, 31,121,193,  0, 88,250,115,114,114,  2, 43,131, 15, 31, 62,240,243,243,159, 58,117,138,  1,
-188, 97, 21,151, 70, 29, 29, 29, 96,113,  9, 47,184,145, 91,241,192,  2, 29, 72,158, 56,113, 34, 42, 42,138,152, 16, 38,178,244,
-135,128,  9, 19, 38, 80,158,176,185,185,185,175, 93,187,198,202,202,250,235,215, 47, 96, 32,223,190,125,187,178,178,146,160,174,
-151, 72,199, 11,218,218,218, 30, 62,124, 24,206,125,243,230, 13,145, 26, 49,193,  3,216, 33,122,163,128,242,210,159,  1,227, 82,
-120,128,  0,236,157,177, 13,195, 32, 20, 68, 35, 81,101,  6, 24,130, 34, 61,131, 48,  5, 61,101,182,178,216, 32, 18,227,208,230,
-137,111, 33,100, 43, 54, 33,141,139, 92,101, 91,194, 66,248,251,238,190, 37,115, 23, 21,128,156,243,160, 67,188,206,135, 17,253,
-120,174,166,230, 21, 39,134, 67, 76, 35, 62,110,147, 11, 15,113, 47,203,  2, 75,110,118, 58, 27, 65, 11,133,151,108,200,111,129,
-247, 79, 41,181, 80,248,211,149,199,251,203,158,145, 18, 10,143,  6,140,180,  2,191,135,194, 51, 49,214,182, 15,133,167, 78, 96,
-231,211,  9, 35, 84,240,254,173,134, 37,224,253,105, 50,238, 53, 20,190,148,162,148,226, 86,  7,  2, 32, 44,223, 60,190,156, 78,
-128,129,204,118,188,  9,  0, 33,  4, 57,104,127,179,239,175,124,  2,198, 31,178,142, 49,162,  1, 20,134,115,110,144,253,123,192,
-254,222,251, 94,  3,164,141, 56, 40,164,233,135,107,173,213, 90, 35, 87,178,151,173,192, 24, 67,129,241, 82, 80,159,127,246, 95,
- 89,165,230,194,239, 67,225,223,  2,176,119,245, 40, 12,131, 96, 52, 32,189,129, 91, 15,225,232,  1,218,205, 11,184,123, 12,239,
-147,123,120, 24, 71,221,116, 19,250,234, 71, 37,132,196,216, 31, 58,148,190, 65, 36,  1,135,160,239, 39,131,239,147,  2,208, 40,
-172,243,100, 16, 56,108,176,150,207,106,  0,182,221,207,255, 28,111,102, 22,172, 77,151,167, 47,111,  3, 29,  7,236,255,116, 47,
- 69,185, 82, 41, 60,198, 17, 23,191,194,165,  2, 75, 97,  5,140,135, 43,128, 82,225,250, 95,139,  2,239, 96,179, 20,254, 48,244,
-228,156, 33,  0,198, 24,228,128, 16,194,233,209, 10,143,  9,148, 32,198,216, 79, 78, 96,255,166,202, 36,  0,148,  3,106, 19,217,
-104,222,  2,239,183,218,231, 47,108,108,216,109,231,156, 82, 10, 74,192, 57,199, 28,236, 15, 49, 72, 41, 49,198,  6,217,223, 90,
- 75,135,113,149,  3,246, 48,207,115, 39,  4,120,239,181,214,123,111, 75, 41,231, 10,124,109, 10,199, 66,  8, 41, 37, 25,142,191,
-253, 95,178,255,180, 85, 10,127, 19, 64,212,172,  0, 48,  7, 46,136,156, 25,166, 86, 29,224,229,229, 69,106, 63,128,160, 11,  9,
- 26, 21,156,179,115,237, 20,247,  1, 28,185,130, 95,114, 66,106,243, 31,210,240,  7,150,218,192,182, 18, 48,  7,146, 81,  1, 64,
-  0, 68, 35,176, 14,192,229, 17,200,232, 63,  3,236, 82,120,248,217,241,144, 75,225, 33,130,120, 34,218,195,195,  3, 62,159,228,
-233,233,  9,239, 19,224, 25,249,193,108,133, 96, 94, 10, 15, 31, 11,194, 10,238,220,185,  3,190, 98, 26,196,  0,218,120,243,230,
- 77,200,225, 75,144, 75,225,129,229, 14,176,122, 88,191,126, 61,158,162, 28, 94,250,  3,123, 27,104,181, 17, 73,163, 58, 64,197,
- 16,  7,147,218, 21, 32,  3,252,254,253,219,200,200,232,192,129,  3, 38, 38, 38,192, 88,131, 12,178,  1,185,238,238,238,127,254,
-252, 33,166,244,  7,146,173,173,173,184,198,130,168, 14,128,205, 14, 96,135, 18, 88,167,  2,131,  5,232,114, 96, 28, 65, 74,127,
- 96,125,  0,116,246,104,209, 79, 16,  0,  4, 16, 53, 43,  0,170, 79,  2,147, 81,  7,  0,155,147, 36,245,  3, 32, 89,107,233,210,
-165,104,226,219,182,109,  3, 10, 18,105,200,137,251, 90, 22,138,215,200, 27,249,129, 36, 86, 96,242, 37,251, 52, 55, 72,233, 79,
- 82, 45,  2,105,254,163, 93, 10, 79, 94, 39,  0,110,  2,158, 75,225,225, 77,126, 96,153,  2,108,204,170,170,170,  2, 27,209,236,
-236,236,252,252,252, 45, 45, 45,  4,251,  1,200, 99,253,184,230,  3,200,168,218,129,  5, 49, 92, 13,230,137, 88,192,  6, 62, 47,
- 47, 47,176,212, 59,118,236, 24,176,241, 11,185,104, 26,126, 41, 60,176,160,252, 73,232, 82,120,204, 97, 31,120, 91, 30, 24,221,
-175, 72,188,125, 19, 24,191,144, 21, 65,100, 52, 23,136, 63,217, 16, 24, 17,165,165,165,144, 28,  7,180,238,246,237,219, 12,160,
- 99,122, 13,129,245, 31, 49,235,112, 40, 41,235, 33,149,  7, 25,  6,  2,227, 17, 24, 59,150,150,150,240,131,231,128,174,  5,246,
- 93, 70, 11,119,  6,164, 59,129,145,135,128,144, 83, 59, 64,  0, 13,246, 73, 96,250,212,  1, 64,245,144,126, 43,188, 35, 76,100,
-233, 15,108,254, 83,183,207, 68,135,210, 31,222,252,215,209,209,129,112,129, 12, 10, 59,  1,248,  1,124,244,159,155,155,187,182,
-182, 22, 88,250, 67,196, 13, 12, 64,151,156,  0,203,125, 95, 95,223, 35, 71,142,  0, 73,170,143,149, 65,122,  0,184, 46,133,135,
- 87,186,152,235,166,129,101, 10,176, 14,248,241,227,  7,176,150,  2,214, 85,144,235, 54,225,151,194,  3, 25,248, 75,127, 72,165,
-142, 57, 22,132, 60, 51, 76, 42, 32, 91, 35,241,115,  0,192,250,216,219,219, 27,152,131,184,184,184, 28, 28, 28,128, 33,  0,140,
- 50, 96, 13,189, 96,193,  2, 38, 38,218,110, 26,  5,150,245,240,225, 35, 72,  6, 36,190, 58,  1, 54,104, 30, 61,122, 20, 30, 14,
- 58, 24,120,229,202,149,160,171,199, 70,  1, 90, 63, 24,199,189,240,  0,  1, 52,216,119,  2,147, 49, 19,  0,  4,196, 55,222,225,
-133,  5,188,223, 74,124,233, 15,  1, 70,134,  6,123,247,237, 95,182,143, 11, 82, 31,  0,123,  3, 36, 57, 21, 88, 12,237,  1,  3,
- 72,105, 78,204,210, 64,248,253, 54,144,139,189, 72, 45,253, 33,205,127,204, 75,225,215,172, 89,  3,145, 34,  3, 16,188, 20, 30,
- 88,136, 64, 24,192,252,121,225,  2,232,114,243, 21, 43, 86,192,  5,105,122, 41, 60,124,205, 15, 90,173,137,191,203,  5,108,254,
-  3, 75,121,160, 11,223,188,121,  3, 36,191,129,193,151, 47, 95, 62,125,250,  4, 44, 95,128,189,  1, 96, 15,224, 47,238, 59,174,
-145, 11,107,180,121,123,180,117,253,248,107, 17,100,103, 19,151, 54, 40,  2, 11, 23, 46,  4,150,251,192,210,255,218,181,107,  7,
- 14, 28,  0,150,254,117,117,117,192,186,185,178,178,146,152, 10,192, 22, 27, 32,169, 14,  0,102, 67, 82, 75,127,200, 32, 36,164,
-244,  7,  2, 32,195,158,148,179,187, 71,  8,  0,246,  0,224, 51,  1,200,  0, 32,128,  6,233, 36, 48, 37,165, 63, 48, 13,145,209,
- 77,134,140,  5,  1,187,  2,196,151,254,192,226, 30, 88,250, 67, 71, 57,214,173, 95, 11,190,197, 15, 88, 25, 48, 56, 57, 50, 48,
- 16, 94,  6, 10, 89,149,  8, 47, 23, 32,197,  4,113, 43, 50, 65, 69, 45,252, 94,120, 82, 75,127, 72,243, 31,107, 99,159,188, 78,
-  0,164,218,200,201,201,193, 25, 80,193,193,200,151,194,199,196,128,110, 77, 64,187, 20, 62, 54, 22,231,189, 17, 20,206,  1, 48,
-144,117, 41,188,176,176,240,219,183,111,129,237,253,215,175, 95,  3,123,  0,240, 75,225,191,126,253, 10,172,  9,128,165, 63,176,
- 26, 64, 27,220, 71,  6,144, 82, 30, 50, 10,132,118, 19, 25, 30, 93,104,165, 63,100, 19,  0, 50,151,140,134, 63,241,227, 63, 64,
-112,251,246,109, 96,116,  0, 61,104,105,105,  9, 36,129,129,  6, 44, 79, 55,109,218,196,204,204, 76, 76,  5, 64, 73, 43, 30,217,
-  4,146,116, 25,131,  1,144,113,238,220, 57,160,155,109,108,108,128, 73, 11,216,203, 68, 94, 48, 61, 98,  1,100, 21, 16,218, 36,
- 48,242, 42, 32,128,  0,236, 93, 49, 14,128, 32, 12,252,  0, 79, 32,225, 25,204, 36,254,136,111,242,  4, 38,190,193,226,233, 37,
- 77, 21,163,213,193, 56,216,169, 49, 12,166,150, 94,165, 71,238,187, 67,224, 55,171,191,198,128, 91,189,255,161,191, 96,128, 45,
-113, 15,125, 75,226,142,186,240,100,  4, 93,190,191,136,194,143, 61, 20,137,116, 39,156,188,241,230, 23,225,  4,149, 17,213, 95,
- 14,148, 70,195,119, 12, 33, 80,255, 29,  0, 64, 46,144,126,168, 37,197,247, 88,183,189,  7, 96,159,  1,232, 36, 68, 76,  0,171,
-  8,172, 62, 49, 59,143,149,247,190,214, 74,229,181,222, 59, 17, 72, 68,225, 57, 19, 54,146,121,166,213,164,127,183,156,228, 72,
-185,199, 98,189,137, 30,211, 73,141, 70,198,103,206, 25,237,127, 74,  9,120,224,156,107,173, 25,  1, 64, 42, 56, 27,169,103, 35,
-129,187,189, 63,247, 14, 34, 86, 74,129,131,210, 31, 99, 68,220,240, 43,243,207,129, 47,109, 22, 64, 44,152,249,141,108,179,208,
- 82, 39,114,251,  5,185, 89, 68,187,210, 31,152,236, 40, 95, 81, 67,188,226,199, 79, 94,224,146,226,228,228, 34,168, 29,235,192,
- 52,145,  0, 88,160,  0, 75,252,189,123,247,194,239,133,135, 47,  6, 37,166, 14,195,122, 41, 60,100,199, 13,193, 46,  8,102,165,
-158,155,155,139,167,244,135,  0, 33, 33, 33,200, 16, 63,176, 53,141,220,240,175,169,169,193,159,228, 40,220,  7,128, 28, 26,104,
- 91, 37,  8,214,247,246,246,246,219,182,109,251,243,231,207,135, 15,144, 75,225, 65, 46,  1,118,  8,128, 92, 32,155,248,134, 60,
-208, 94,228,165,159,200,211,  3,248, 75,127,  6,114,231,120, 40,175,  3, 42, 42, 42, 14, 30, 60,  8,140,166,246,246,118, 96,139,
-  1,216,  1,130,108,137, 32, 56,196, 71, 70, 43, 30, 89, 47,169,  0, 88, 51, 61,125,250, 20,121, 31,192,197,139, 23,129, 93, 55,
- 96,171,130,200,117,171, 35,  1,160, 77,  2, 35,  3,128,  0, 98,193, 95,136,227,234,219,210, 26,144, 81,250,211, 57,159,180,180,
-180,224,223,223, 72,176,178,164,100, 72, 23, 82,104, 66,150,225,  3, 25,144,189, 96,240,123,225,241,148,107,144,139,221,129,133,
- 23,242, 28,  0,164,121, 91, 86, 86,134,191,180,197,170,151,212, 33, 35, 34, 27,254,212,234,146, 34,135,  3,230,165,240,248,235,
-  0, 96,176,120,123,123,  3, 91,178,108,108,108, 63,127,254,  4,214,  1,192, 16, 22, 16, 16,  0, 22, 88,120, 14,234, 64,206, 71,
-240,233, 95,160,189, 64,245,240,188,131, 43,151, 65,146,  4,218,182, 97, 82,231,126, 49,199,124, 72, 26,  5,130,212,  1,240,205,
- 95, 89, 89, 89, 16,  6,176, 39,132, 71,203,179,103,207,144,119,123,173, 88,177,130,224,  9, 63,184,244,146,  4, 46,128,  1,154,
-224, 19, 48, 24, 45,247, 25,144,238,  4, 70, 46,250,145, 87,  1,  1,  4, 16, 11, 21,203,119, 76,189,244,169, 45,232, 95,250,  3,
-129, 40, 24,144,173, 93,  9, 12,168,229, 24,248,248, 15,114,217,135,245,178, 79,178,143,124,160, 80, 47,214,222,  0,145,128,236,
- 57,  0,180, 36,129,181,203, 69, 48,217,  0,187,149,119,239,222,221,191,127,255,247,239,223,255,254,253,107, 96, 96, 16, 22, 22,
- 70, 48,238, 78,156, 56,  1,239, 70,192, 69,144,217,184, 82,  5,188,113,  0,169, 57,128, 57,136, 96,101,  3,  7, 97,148,221,159,
- 76,118, 14,146,150,150, 14, 12, 12,196,175,166,185,185,153,234,122, 71,  1, 73,117,  0,102,233, 15,  4,  0,  1,196, 66,173, 50,
-116,244,180,166,  1,  7,104, 81, 64,252,145,176, 67,200, 83,  3, 98,148, 50, 24, 16,175, 30,216,191, 33,242,156, 31, 60,141,  3,
- 50,170, 91,106,213,208,164,  2, 49, 49, 49,178,195,150, 18,189,163,128,248, 58,  0,151, 20, 64,  0,141, 94, 10, 63, 10, 70,193,
- 40, 24,  5, 35, 20,  0,  4,208,232,141, 96,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48,
- 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,
-209,240, 82,248,209, 11,184, 71,245, 14, 81,189,155,253,166, 16,175,215,119, 83, 14,181,244,110,244, 37, 65,175,255,102, 20,189,
- 62, 54,210, 12,224,189, 11,191,127,255,190,127,255,254,175, 95,191, 88, 88, 88,158, 60,121, 18,201,175,176,243,204,153,239,122,
-178, 22, 22, 22,204,204,204,144, 69,180, 91,142, 60,165, 86, 88, 65,236,133,  3,200, 14,149,171, 87,175, 74, 73, 73,189,123,247,
- 14, 72,114,114,114, 50,192, 54,244,161,217,139, 85,239,227, 43, 75,210,109, 31, 45, 59,163,198, 34,230,198,195,203,135, 75,239,
-104,122, 38, 94, 47, 30,  0, 16, 64, 36, 28,  5,129,127, 83, 34, 21, 47,224,150, 56,113,237,206,171,231,156,108, 28,234, 92,252,
-119,236,116,232, 86, 25, 14,137, 11,184,  7, 27,184,121,243,102,127,127,127,111, 21,136,189,225, 48,232, 12,  0, 60,138, 31, 60,
-121,252,244,201,147,155, 55,110,188,127,255, 94, 94, 94,158,135,151,215,195,213, 13,191,249,187,119,239, 38,232,134, 53,107,214,
- 16, 31, 83,144, 93,208, 88,239, 16,198,  7, 66,223,129,169,255,160,131,152, 86, 11,145,160,209,184,159, 65, 41, 30,156,188, 22,
- 48,156, 45, 34, 57,124, 67,222, 32,236, 93, 35,130, 71, 33,176,244,252,250,245,235,174, 93,187,128,201, 56,148, 85, 88, 66, 86,
-244,199,215,239,156,223,254, 88,151,164,218,249,134,111,153, 59, 99,243,222,189,110,110,110,116, 72, 18,127,255,254,  5,186, 65,
- 95, 95, 95, 77, 77,237,220,185,115, 63,126,252, 80, 85, 85,197, 60, 28, 30, 43,248,243,231,207,197, 51,231,101,146, 13,203,204,
-180, 79,236,234, 89,123,217, 65, 85,199,137, 72,189,163,128, 12,  0, 16, 64, 68, 85,  0,196, 28,233, 67,149, 11,184, 85,207,221,
- 21,124,251,133,145,225,255,175,191,204,191,223,125,121,242,230,227,131, 41,103,121, 28,205, 69,180, 53,240,232, 58,187, 63, 93,
-  3,186, 74,155,121,253,174,127,135, 79,255, 79,139, 96,  0,138, 20,181,146, 86,148,147,116,  1, 55,174,154,131,214, 87,118,128,
-202,162, 80,208, 22, 33, 33, 33, 44, 71,  6,189,123,231,  2, 14,106, 65,250, 44,  9,135,149,254,255,193,165,191,221,145, 35, 71,
-240, 84,  0,122,250,187,158, 61, 91,187,104, 62,148,123,235,198, 77, 32,153,146,184,238,227,151,156,207, 31,240, 85,243, 43, 87,
-174,196,239, 12,226, 55,253, 99,166,228,140,244,244, 25,196, 85, 30,200,215,208,147,  0,148,226, 17,135,178,145, 81,  1,192,124,
-135,231,228, 81,  8,184,123,247,238,129, 85,171,154, 92,194, 12,162,179,216,196,  5, 25, 88,152, 24, 24,152, 24,254,253,103,248,
-199,250,239,231,127,175,248,180, 71,147, 58,142, 29, 59,102,101,101, 69,235,194,148,137,137,201,192,192,224,192,129,  3,192, 58,
-192,204,204,236,197,139, 23, 23, 47, 94,212,211,211, 35,230,152, 25,160,103,157,157, 92,219,251, 54,149, 39, 92,182,240,200,180,
- 48,223, 83, 50,249,137,154,105, 28, 86,189,144,216,196, 95, 61,  0,101, 73,174,236,135, 17, 64,187, 16, 24,209,247,130,173,254,
-  7,  8, 32, 22, 98, 51,140,203,170,153,161,239,137,175,  3,200,184,128, 91,230,238, 75, 35, 78, 65, 54, 73,254,191, 12,255, 57,
- 63,112,189,120,253,250,197,231,143,138,236, 60, 55,118, 30,  1, 70,175, 40,238, 58,  0, 88,214,223,184,203,244,255, 63,199, 95,
- 70,246,  0,215,223,129,110,223, 25, 24,254,193,218, 77, 36,230, 86, 18,203,110,248,145,141,144,131,168, 76, 42,238,117,158,  5,
-214, 36, 97,  4,171,  1,130,117, 42,193,253,159,144, 91,144, 48,132,137, 61, 86,229,246, 94,190,158, 85,145, 16,118,113,232,114,
- 53,151, 79,100,148,254,125,125,125,192,220, 94,220,  6,189,248,  9, 79, 14,  7,150,254, 22,230,107, 45,204, 25, 26, 27, 17,130,
- 81, 81, 12,224, 59,220,166, 44, 95,133,175, 14,  0, 22, 10,144,195,239,128,133, 96,120,120, 56,228,212, 35,130,  5, 34,214,182,
- 63,228,192, 12,184, 59, 51, 50,136, 45,253,201,  4,198,125, 12,176,139,218, 65, 21,128, 81, 47,195,185, 98, 26, 89,181,111,223,
-190,233,129,105,138, 78,174, 12,204, 63, 25, 89,153, 24, 89,152, 24,153, 89,255,255,103,252,247,245,207,255,191,127,129, 77,170,
-212,248,172,172,186,252,187,226,226, 36,109,106, 35,  3,  0,243,130,164,164, 36, 48,156, 15, 30, 60,120,227,198, 13, 87, 87, 87,
- 75, 75,203,147, 39, 79,106,107,107, 19,212,123,100,239,242, 32,131,111,103, 63, 51, 71,213,127,177, 49,156,152, 83, 16,222, 83,
-254,161,188,103,169,146, 97, 20,158,194, 29, 94,188,  0,163, 24, 77,132,242, 43, 55,134, 55,  0,  8, 32, 22, 34, 75,127, 16,119,
-181, 32, 49,117,  0,121, 23,112, 43,220,120,166,206,198,205,246,255, 15,103, 79,233,159,111,191, 56,138, 91,249,217, 56,126,176,
-126,255,250,227, 59, 39,  3,227,243,131, 39,216,100, 36,249,249,249,177,234,189,113,151, 97,214, 10, 96,137,255, 13,140, 24,108,
- 77,153,  2,221, 24, 97,117,  0,  3,176, 55, 48,107,  5, 81, 97, 65,234,  5,220,144,210, 31, 82,244, 67, 74,127,120,112,117, 18,
- 81,  7,220,237,184,139, 75, 74,185,  2, 95, 22,  5,182,253,145, 47, 51, 65,149, 74,  7, 75,225, 59,167,236,205,101,201,154, 41,
-254,255, 25,254, 91, 10,213, 88,187,104, 31,217,125,181,119,117, 20,195,234,255,245, 69,211,164,212,137,109, 74,127,121,152, 46,
-205,193,240,237,237, 85, 96,227,139, 87, 76, 15, 82,250, 79,159, 62, 29,171, 98, 94,129, 43,192,210, 31,194, 62,121,146,  1,124,
-103, 31,  8,192,119,248, 71,134, 77,153, 49,167,154,233,159, 44,158, 65, 30, 10, 19, 58, 48,102, 33,165, 63, 82,125,144, 62, 99,
-  6,246,100,201, 20,246, 30,222,124, 96,  4,227,127,161,168,178,140,144, 81, 25, 16,229,141,218,231, 97, 10,127, 15, 25,176,  1,
-130,127,255, 18, 10, 10, 10, 32,226, 64,  6,176, 38, 96, 82, 77,134, 26, 12, 86,131,166,151, 37, 28,221, 94,228,123, 24, 65,178,
-184,237,253,241,227,135,132,188,  2,195,191, 95, 76,236, 12,140, 44,204,127, 62,127,252,113,239,254,235, 39, 79,101,172, 28, 24,
-217,  4, 24,127,255, 98, 96,102,234,204, 44,113,157,213, 80, 84, 84, 68, 73, 48,226,219, 86, 10,110,140,127,255,254, 93, 72, 72,
-  8,216, 62,  0,134,246,253,251,247, 23, 44, 88,160,169,169,249,225,195,  7,130, 29, 44,160, 94,121,166,147,146,114, 30, 31, 14,
- 94,254,248,158,125,241,150, 63,219, 78, 44,201, 11,229,100,249,  6,140, 53, 44, 21,192,232,184, 16, 65,128, 25, 89,104,125,  2,
-128,  0, 98,193, 95,244,  3,131,152,209, 21,118,134,226,158, 48,134, 80,194,205, 37, 72,185,255,237,219, 82, 96,156,254,248, 49,
- 15, 88, 90, 17,115,  1,183,216,243,119, 98,226, 28, 28,245, 89,127,223,188,251,243,236, 13, 11, 27, 43, 23, 35, 51, 55, 16, 49,
-179,  8,177,114,188,255,252,225,249,190, 99,252,129,158, 88,245,162,149,239,135, 79,255,  3, 87,  0, 12,125,213,140,255, 25, 25,
- 24,255, 19,219, 21, 32,245,  2,110,228,210, 31, 29,128,235,  0,146,166, 16,  4,211,160, 97,254,126,214, 76, 98,156, 74,118, 39,
-166,122,138, 31,164,232,183,210,  6,221, 37,  0, 36,143, 93,  5, 85,  3,141,125,217, 51,103, 18,219, 89,  6, 22, 65,233,133, 87,
- 32,249,214,198,198,  6, 88,  1,224, 42,253,129,192,206,230, 52,156,109,106,202, 48,123, 54,195,254,253, 12,170,170, 64,167, 34,
-122, 12,  6,186,215, 47, 93,148,197, 53,166, 76,252,112, 16,158,158, 22,114,233,207,  0,154,  6,192, 25,206,192,110,  1,164, 12,
-199, 90,203,254,131,149, 59,192,198, 14, 48, 28, 54, 31, 66,153,112,155, 62, 99, 38,196, 87, 10, 10, 10,192,236, 51,113,226, 68,
-136, 56,144,  1,172,  0,118,238,220,  9, 63,183,146,  1, 67, 47,164, 59,  2,212,149,154,154,138,105,239, 31, 88, 56,204,154, 61,
- 27,104,239,150,195, 79,209, 74, 67, 22, 94, 94,  6, 86,230,191,223, 62, 92,223,182,119,233,170, 53,211,158,129, 44, 58,213,200,
-167,106,231,245,243,209,227,171, 23,207, 94,190,127,235,227,139, 23, 87,174,  0, 35, 78,130,140,210,  4,243,216, 53,204, 18,252,
-217,179,103,181,181,181, 61, 61, 61,191,126,253,  2,118,221,120,121,121,191,126,253,122,234,212, 41,252,201, 18,162,247,195,147,
-163,141,243, 31,205, 45,144,122,247,149,141,141,133, 73, 70,144,227,197,155, 95,233, 93,127,244, 77,140,229,112,247,234, 32,213,
-  0, 60,162, 49, 25,163,  0,173,244, 71,174, 21,  0,  2,136,  9, 87,158,129,156,123,142, 16,221, 67,212, 57, 83,144, 27, 96,190,
-125, 91,  6, 41,253,225,163,210,248,111,134, 97, 57,112,150,255,221,231,127,108, 44,191,206, 94,253,121,253,222,143, 93,135, 25,
-190,255,100,251,255,159,139,129,153,133,129,241,231,191, 63,239,126,254,152,182,123, 11, 46,237,125,213,160,102, 62, 28,128,217,
-144,252,251,255,230,157,255, 69,173, 36, 52, 19, 32, 23,112, 51, 16,113, 57, 23, 80, 22,249, 16,127, 68,243, 31,169, 14,160,195,
- 21, 78,164,130,187,231,191,  0, 67,  6, 94,250,  3, 65, 80, 61,107,207,170, 72, 27, 87, 96,247,252, 63, 88,150, 48, 88,182,108,
- 89,113, 27, 35,143,168, 46, 48,100, 61,  2, 51,143, 28, 57,130, 71,241, 63,166,199,210, 82, 40,103,159,233,235,131, 74,255,184,
- 56,148,241, 34, 89,217,167,120,134,128,128, 32, 60, 60,156, 25, 21,192, 69,240,187, 22, 61, 37, 19, 89,195, 33,149, 77, 16,128,
-201,101,196,214,180,128,107,116,115,115, 67,107,107,  3, 59,  1,144, 99,251, 96, 46, 67,215,187, 97,230, 76, 96,233, 12, 49, 28,
-238, 77,228, 64,128,112,177,218, 11,204, 47, 76, 92,236,191, 95, 60,156, 89, 83,179,224,235,135,247,246, 22, 16,241,185, 75, 22,
- 52,148,164,168, 21, 69, 54, 93,222,183,234,253,125, 87, 63, 63, 34, 59,184,192,226, 30,152, 11,206,159, 63,143, 84,101,206,192,
- 58,202,  7,  9,144,203,151, 47, 31, 60,120, 48, 50, 50,114,202,148, 41, 95,190,124,129, 28,160, 13,236,151,240,240,240,132,133,
-133, 89, 91, 91,227, 42,250, 65,122,143,175,189,181,179,168,168,178,119,115,189,212,245,167, 44, 31,191, 48,255, 99,100,120,251,
-229,215,127, 97,229,194,170, 86,159,128, 24,156, 85, 53,176, 26,  7,103,216,153, 96,128,149, 49, 10,112,149,254, 64,  0, 16, 64,
- 44, 88,139,126, 50, 58,134,104, 34,144,210, 31,185, 91,128,231,  2,110,150,183, 31,222,253,103,101,123,251,142, 99,195, 62, 70,
- 22, 38,134, 31,191,254,127,254,202,248,231, 15, 43,176,245,247,255,223,143,191,127, 62,255,249,197,240, 15,231,152, 47,100,178,
-183,175, 26, 75,234,  2, 79, 14,147,236, 29, 98, 46,224, 70,107,254,159,233, 80,194,172, 12,136,185,194, 91,185, 66, 25,207, 88,
- 16,213, 65,215,140, 98, 11,193, 26,120,233, 15,  1, 16, 17, 75,161,171, 64, 89,130, 14, 94,186,116,233,161, 67,135,222,190,117,
- 22, 22,222,203, 35,162,  3, 76, 45, 76, 76, 76,120,230,217, 30, 61, 98, 64,174,  7,129,137,203,204, 12,196,184,125,155, 97,234,
- 84,168,224,187,119, 12, 44, 44, 56, 71, 23,  9, 14,247,147,119,242, 59, 60, 65,226,247,114,126,126, 62,188, 21,143, 92,148,227,
- 55, 92, 81, 81, 17, 62,250, 15,  7,144, 78,  0, 80, 10,209,  9, 64,  5,201,210,106,183,174, 94,123, 42, 40,  8, 12,210,188,188,
-188, 73,147, 38, 17,111,175,237, 79,129,255,255,190,164,180, 85,235,134,132,204,108,107,131,223,223, 50,243,246, 21,104,207,248,
-240,225,221,187,119,  3,173,  6,103,240,111,  4, 75,127, 72,151, 14, 24, 56,192, 86,182,129,129,  1,176, 38,  0,106,204,204,204,
-124,252, 25, 75, 21,251,228,201, 19,127,127,127,160,215,182,109,219,  6,185, 50,147,  1,188,164,135,  1,124,143, 16,158,121, 90,
-160,248,189,155, 23, 26,202,146,132, 85, 87,159, 95, 29,127,233, 49,227,163,151, 44, 12,255,153,126,254,250,253,238,191,112,118,
-114, 22,121, 75,128, 40,185,215,100, 68,  1,128,  0,162,206, 70,176,153, 48,  0,107, 20,163, 71, 24, 80, 28,174,  6, 83,251,181,
- 39,143, 78,191,121,118,245,254,189,151,247, 31,124,122,240,228,243,227,167,127,190,125,255,253,251,207,231,191,191,190,253,253,
-243,243, 63,176,  0,248,255,159, 80,140,194,215,252,220,184, 11, 98,  3, 27,254,224,182, 63, 83,111, 53, 57,183,158, 17,211, 74,
-  2, 22,244,240,178, 30,194, 70, 22, 65,174, 18,  8,116,155,222,207,130,140,252, 64, 16,173,163, 28,220,216,  7,  7,212, 43,208,
-221, 94,235, 26,127,151, 21,212,  3, 25,192,110,  1, 49,109,255, 64,187, 67,192, 94,157,224,137,189,253,213,160,220,107,103,103,
-135,103,240,  7, 52, 18, 34, 35,171,172,204,  0, 71, 55,110, 48, 64, 14,202, 84, 85,253, 15, 44, 30,133,132, 64, 72, 69,133,193,
-213,157, 64,249, 14,111,245, 35, 55,135,225, 55,193, 82,146,104,241,168,  1,150,152,104,133, 56,180,211,217,215,135,127,125,170,
-139,139, 11,252, 42,118,100,  0, 20, 68,233,  4,160,130, 67,215, 30, 37, 37,103,159, 93,182,172,178,178, 18,179,214,129,216,187,
-119,239, 94,172,165,155,157,150,220,188,185, 83,141,163,162,218,219,219,177, 90, 13,172, 60,156,157,157,137, 44, 76,129,113, 10,
-180,  5, 24, 56, 64,245,144,218, 29,210,252,  7,214,  4, 88,213,255,254,253,123,203,150, 45,215,174, 93,187,125,251,246,215,175,
- 95,129, 92,160,224,175, 95,191,  2,  2,  2,  8,182, 41,127,254,252,121,118,109,212,143, 91,147,119, 30,188,123,255, 57,243,167,
-175, 76,127,255, 51, 60,253,202,153, 93, 84, 77, 80, 47,176, 22,135,172,235,  5,146,144, 26, 61, 29, 12,128,186, 32,140,209, 34,
- 30, 79,243, 31,  8,  0,  2,136,  9, 51, 75, 32,119,120,145,  7, 52,136,177,  6, 50,102,202,197,133,152,159,130,172, 86,196,127,
-  1, 55, 43, 27, 51, 48,202,159,124,253,240,232,227,187,215,159,222,127,252,241,227,253,175,239,175,127,126,127,254,227,219,211,
- 31, 95,222,253,254,249,254,223,239, 95,168,  3,184, 40,109, 31, 83,212,242, 20, 54, 37,144, 18,206,243, 31,216, 51,102, 96, 35,
-198,229,100, 95,192,141,101,240,135,232,210, 31,255,100, 47,141,192,209, 61, 87, 33, 12, 13, 49,247,160,122, 86, 56,234, 93, 21,
-197,200,192,136, 63,179,249,219, 28,140, 47,  2,149,254,192, 20,178,241,168,  3,  3,248,184,124,130, 54,170,105,168, 35, 85, 33,
- 12, 83,166, 48,220,185,  3,234,  7, 52, 54,254,135,  3, 65, 65, 65,252, 61,128,191, 96,  0,153,  3,248, 11,  3,164, 78,  9,144,
- 10, 32, 77,117,180,118, 55,176, 79,  0,244, 62,174, 86, 60,188,  5,138,181,230,192, 42,  8,  7,135,217, 63, 48, 50,241,204,169,
-106,229,217,178,  7,152,101,224,103, 74,167,171,234,228, 27, 91,113,113,113,  1,171,219,218,218,218, 61,123,246, 96,222,162, 53,
-247,233,173,231,218, 90,210,210,210,255,254,253,195, 90,121, 96, 21,196, 21,209,240,  5, 54,192, 38, 63,  3,108,243,  4,214,139,
-228, 32,158,149,149,149,125,244,232, 17,176,147,161,162,162,194,194,194,  2,169,179, 45, 44, 44,136,105,170, 43,107, 24,206,218,
- 37,112,105, 91,189,173,165, 38, 55,  7, 19, 55,215, 95, 78,246,159,158,254, 68,141, 57,  3,203, 43,120,253, 52, 58,  4, 68,  6,
-  0,  8, 32, 38, 92, 45, 35,120, 53,240,127,119, 40, 49, 61,101, 56,128, 92,149,  7, 41,247, 33, 36,193, 11,184, 53,173,172,254,
-240,112,189,255,255,247,218,215,247, 87, 62,190,189,250,233,205,213, 79,239,174,125,125,119,231,219,251,183, 63,127,124,249,243,
-231,217,183,175,120,110,224, 11,116, 99,236,171,102,  6,162,255, 12,204,255, 25,153,210, 34, 24, 83, 35,216,146,195, 69,149,149,
-197,255, 49,176, 50, 48, 16,238, 12,146,113,  1, 55, 92, 49,164,172,199, 44,241, 87,175, 94, 77,204, 13,174,192,192,  1,230,231,
-138,179, 21,144,250,  0,210, 27,160, 29, 40,  9, 91,126,252, 93,235,177,171,208, 69, 53,192,230,191,133, 96, 13,132,221,154,189,
-101,  6,238, 73, 96, 96,161,208, 95,195,144, 80,228, 44,112, 98,143, 99,151, 61,147, 55,195,129,  3,  7,136, 76, 18,242,242,242,
-112,182,147, 19,131,128,  0,176,131,197,224,137, 58,163,111, 98,106,138,167,  7,128,217,246,135,136, 16,211,  3, 64, 27,196,135,
-  3, 96,147,145, 24,199,  3, 91,250,104, 55,106,  1, 11,113, 98,182,167,193,235, 54,100,238, 63,220,237, 24, 80,147,153,145,241,
-223,183,159,172, 18,242,233, 45, 45,  9,220,  2,  2,  7,142, 67,135,134, 98, 18, 26,122,230,220,238, 91, 94,167,235, 20, 38,168,
-184,123,211, 38,204,  6, 74, 64, 70,186,182,142, 14,100,130, 26, 94, 65,194,107, 80,100, 46,214,  1, 31, 96,225, 14,153,227,133,
- 12,250,195,203,122, 96,147, 31, 50,209, 10,172,  9,112, 53,255,129,178,172,172,172,192,198,254,199,143, 31,129, 53, 19, 39, 39,
-167,168,168,168,128,128,  0,254, 91, 36,225,122,217,217,217,131, 51, 38, 45, 56,109,242,224,241, 39,113,126,102, 75,117, 70, 61,
-197,255,220,124,124,163,165, 51,173,155,255, 64,  0, 16, 64, 44,120,170, 86,148,161, 52,226,122,  0,200, 23,112, 11,  9,173,102,
- 32,238,  2,238, 47,250, 42,223,110,221,250,246,231,231,167,175,223,238,254,254,205,250, 15, 52,132,244,241,247,143,127,224,220,
-179,237,229,253,175,127,126,227, 29,147, 97, 44,106, 69, 36,110,240,100,192,191,191, 12, 63,175,223,249, 60,111,229, 39, 34, 75,
-127,  6, 18, 47,224,  6,185,167, 51, 12,107,176, 64, 42,  3,130, 19,  0,192,226, 30, 94, 53,174,  6,  3,  6,200,141,240,180,220,
-194,165,234,252,137, 97,213,127, 72, 39,  0, 50, 19, 80, 86, 80,127,236,170,118,207,170,168,170,169,222,248, 29, 12,108,251,195,
-118,159, 29, 96,  0, 79,239,255,255,191, 26,156, 66,254,175, 94,141,111,225,105, 72, 80,240,238,157,187, 24,192, 11,255, 29, 29,
-161,105, 10, 24,183, 91,182, 48,248,248,128,216,230,150, 22,122,218, 58,248,123,  0,152,108, 34, 91,136,240,148,201,196,196,132,
- 92,254,  2,155,140,196,236,  2,131, 12,154,195,103,  2, 32,189,  1,252,205,127,  6,164, 85, 15,200,235,121,240, 47,133,128,100,
-183, 63,159, 63,179,138,  8, 49,115,241,104,  7,135, 52,185,185, 86, 65,150,114, 26, 26,253,253,254,131, 85, 88, 92,215,194, 65,
- 65, 70,113,210,245,227, 58, 58, 58,207, 79,163,220, 72,154,  1, 74,186,160,144,205,  2,150,221,224,213,162,127,144,194, 10,216,
- 40,  7,138,192, 23,152,122,163,150,  5,192,146, 29, 50,212,  3,105, 71,163, 13,245,  0,217,120, 74,127,136,179,129,197, 61,176,
-189,127,227,198,141,115,231,206,  1,227,136,155,155,251,219,183,111, 68, 14,214,139,139,139,251,251,251,159, 56,114,106,194,234,
-221,124,140,108,234,226, 63,239,188,225,182, 81,255, 13,175, 33,112, 13,232,  3,197,225, 25, 22,207,114,160, 81,128,  7,  0,  4,
- 16, 11, 49,249,  7, 20,148, 68,172,  1,165,228,  2,110, 41, 49,241,203, 63, 30,124,100,250,247,226,199, 23,134,223,191,255,  2,
- 99,157,129,225,250,151, 15, 79,191,125,130, 92,192,141,183,  2,248, 15,108,245,207, 90,241, 31, 62,  7,160,161,252,135,153,225,
- 43, 73,165, 63,  3,233, 23,112,131,215,140,  2, 59,170,103,224,229,190, 73,197, 61, 72,233,111, 98, 98, 66,176,249,143,220, 49,
- 66,102,131,234,  0,188,  0,188,176,234,189,171,235, 44,  6,140,185, 10,136, 84,122, 58,190,139,221,219,178,183, 84, 79,245, 61,
-190,234,191,165,208, 85,200, 62,128, 19,239, 91, 24, 25, 24, 91,179, 55, 51, 48, 60,195, 99, 47,176,244,  7,102,185,192,192,192,
-217,179, 63, 65,178, 36, 35,108, 61, 10,100,115, 50,  4,108, 62,108,137,169, 55, 59, 47,119,234,164,201,192,230, 63,178,123,189,
-188, 24,234,234, 24,118,238,182,112,194,187, 74, 24, 50,158, 16, 18, 18,178,114,229, 74,172,155,194,136,172,  9, 32, 27,193,144,
-199,148,103,128,  4,211,241,172,  7,133,199,  8,176,213, 15,169,  0,128,189,  1, 98,154,255,200,133, 20,241,138,129, 77,230, 23,
- 15, 31, 40, 42,171,254,251,243,147,241,207, 95, 22, 94, 62, 94, 35, 19, 30, 67,211,127, 95,255,252,253,246,243,255,159,191, 12,
-127,255,149, 79,239,  9,143, 10,199,108, 92,255, 89, 33,136,199,100, 52, 89,255,205,232, 10,128, 69, 60,176,244,135,100,  1,248,
- 61,192,200,117,  0,126, 15,170,171,171, 79,158, 60,249,245,235,215,174,174,174,103,206,156,  1,150,254, 64, 45,  4,239, 76,133,
-232,181, 48, 55,207, 72,206,184,255,228,126,108,114,198,201,221, 11,159,127,126,103, 98,239, 42, 46,163,134,214, 81,192,218,123,
-128, 23, 80,152,251,191, 70, 55,130, 17,  3,  0,  2,136,133,200,204, 67,100,219, 31,185, 68, 35,233,  2,238,159,246,198,106, 12,
-198, 79,103, 46, 96,224,228,120,255,255,207,175, 63,127,254,253,255, 39,204,207,255,228,235, 71,130,123, 98,209, 22,122,194,230,
-  0,254,146, 84,250, 51,144,126,138,  3,100,223,  0,164,172,135,140, 80, 33,151,254,  4,141,194,122, 69, 45,241,  0,121,183, 29,
- 82, 32, 19,238, 62,  8,235, 61,157, 49,115,198,173, 61,124,189,171, 35,143,175,  2,182,  7, 25, 75,194,150,131,122,  6,120, 75,
-127, 72,196,129, 11,250, 79,224,188,199,128, 86,178, 45,232,221, 11, 36,185,229,128,249, 16,203, 65, 84,192,  6, 62,208,  4, 17,
- 49, 96, 63, 96, 29, 60,243,127,254,172,102,104,172, 35, 46,227,202,242, 31, 95, 41,137,171,  7,  0,159,  0, 32,114, 21, 16,176,
-140,  0,214,  1,240,229, 49,240,126,  0,241, 51,  1,144, 98,136, 96,243,159,108,224,228,228,148,189,106, 86,211,231, 15,  6,246,
- 54, 76,226,130, 32,235,126,255,  7, 29,231,192,192,202,200,204,194,200,198, 60,123, 70, 31,159,179,137,178,178, 50,213,247, 64,
- 65,134,122,166, 79,159, 14, 36,245,245,245, 73,210,123,247,238,221,189,123,247,  2, 99,193,214,214, 22, 24,188,104, 67,255,192,
- 40,  3,198, 53, 90,176,195,  1,176,199,176,104,193, 66, 54,102,246,144,200, 16,160, 26, 27,175, 20,148,122,235,207, 31,136,222,
-209, 85, 61,180, 24,255,  1,  2,128,  0, 98,161,150, 53, 84,185,128,219, 49, 61,225,222,221,123,231,182,239,252,250,243, 23,176,
-  3,171,108,102,228, 33, 23, 73,176, 36, 37,123,170,  7, 82,130,147,119,  1, 55,220,  4,200,154, 81, 96,161, 15,175, 69,136,113,
- 15,196, 94,242,156,157,158, 46,136,203,215,192,182, 63,145,134,168,185,124,154,233,  2, 55,129,216,115, 32,192,165, 60, 99,124,
- 17,244,124, 46, 72,174,  4, 10,  2,203,125,110,185, 80,130,218, 95, 62,119,155, 53,203,237, 31,211, 99,126,190,143, 64, 46,228,
-248,  7,130, 73,144,188, 85,158,120,234,  0, 50, 52,194,103,  2, 72,106,254,227,105,189, 98, 31, 21, 84, 86,150,200,203,155,176,
-107,215,189,230, 13,161,172,194,  2,224,  3,221,190,127,251,147, 95, 82,201,204, 37,180,109,225,204,139, 34,140,110,164, 28,230,
-243,247,239, 31, 98,230,192,136, 28,234,193,229,187, 91,183,110,  1, 73, 13, 13,141,183,111,223,178,176,176,  0, 75,109, 97, 97,
- 97,  6,216,249,116,108,108,160, 85, 24, 88, 43,  0,160,174, 83,167, 78,253,251,195,104,101,173,255,228,201, 19,160,202, 95,191,
-126,201,200,200, 64,164, 62,126,252,  8,236,232,  0, 13, 97,103,103,199,211,238,132,212, 13,200,140,209, 33, 32,226,  1, 64,  0,
-177,208,200, 92,242, 11,101,101, 37,165,156, 76,186,249,159,236, 11,184, 49,171,  1, 50,236, 37,207, 58, 60,174,165,245, 25,112,
-224,  6, 62,  3,218,184, 11, 49, 69, 63, 50, 96,250, 39,251,249,131, 44,145,138, 93,193,128,138, 94, 32,239,104, 48, 96,171,159,
-224,  8, 62, 86, 64,146, 46, 96,169,199,197,197, 21, 24, 24,  8, 57,210,249, 17,236, 72,231,163,123,119, 67,142,116,118,182,112,
-198,165,119,246,251,246, 84,193, 74, 20, 33,188,167,135,226,170,  3,200,240,163,169,169, 41,100,201,255,191,127,255,128, 37, 56,
-144,241,250,245,107, 32,201,195,195,195,  0, 94, 12, 10, 36, 89, 89, 89,177,250,215,199,199,  7,162,  0,168,247,199,143, 31, 12,
-160,141, 35,143,128, 36,100, 85, 24, 68,  4, 88, 49, 96,237,  1,140, 46,242, 33,  6,224,191,245, 29, 32,128, 70, 47,133, 31,  5,
-163, 96, 20,140,130, 17, 10,  0,  2,104,244, 70,176, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 70, 43,128, 81, 48, 10, 70,193,
- 40, 24,161,  0, 32,128, 70, 43,128, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 88, 70,131, 96,168,  0, 67, 28,151,251,224,  1,
-231, 71, 39,120, 70,193, 40, 24,  5,184,  1, 64,  0,209,240, 82,120, 58,232, 53,146,185,201,193,120,157,133,233, 25, 19,195, 55,
-240,201,255,204,255,192, 39,255,128,151, 40,254,135,156,  3,193,204,240,171,180, 21,116,112, 10,218,116,247, 80,244,175, 12, 41,
-203, 30,158,160, 46,131, 27,189, 68,123, 84,239,168,222,145,169, 23, 15,  0,  8,160,161,221,  3,104,234, 88,149, 26,193,166,169,
-252,251,198,221,255,144,253, 95,125,213, 76, 69,173,136,237,254,189, 53, 76,192,202,  0,121,159, 48, 46,176,255, 24,232, 80,123,
-214,255,191,205,109,157, 62,190,124,116,249,246,195,191,223,126,208,231,102,221,145,  6,174,223, 60,247,235,199, 55, 94, 94, 41,
-146, 22,194, 98, 93,214, 77,228, 66, 64, 74,244, 66,128,162,162, 34,100, 53, 42,228, 68,101,146,252,139,124, 18, 34,121,107, 73,
- 71,193, 40,160, 17,  0,  8, 32,244, 10, 96,225,162,185,248, 53,196,199, 37,227,146,162, 68, 47,217, 96,246,138, 95,125,213,200,
-151,130, 33, 74,127, 96,185,207,  8,218, 50,243, 95, 67, 25,116, 64,208,190,135,248, 74,255, 59,215,111,169,104, 41, 75, 73, 11,
- 60,121,120,131,149, 83, 68, 75, 67,109,251,198,141,123,246,236,161,117, 29, 64,231, 11,229,  7, 22, 92,186,184, 71, 65,230,167,
-174,242,255,127,255,254,126,252,248,228,198,149, 51, 95,126, 74,154, 24,219, 18,169,253,227,235, 57,204,204,208, 61,107,119, 38,
- 84, 24, 52,253, 34,222,106,228, 82,123,237,218,181, 37, 37, 37, 36,185, 28, 88,250, 23, 20, 20, 48, 50, 50,246,247,247,147, 81,
-136,147,121,161,252,200,  0,248,143, 10,102,  0,  7,220,172,217,179,113,213,235,240, 45,  2,144, 83,131,224,103,  7, 65, 66,123,
-132, 95, 10, 15,  1,200,215, 64,162, 13,132,  0,  4, 16,253,122,  0, 76, 12,212,223,204,221, 91,205,206,200,240, 19, 92,214, 51,
-104, 64, 79, 86,102,182, 53,253,119,248,244,127,176,200,127,248, 37,  1, 96,159,227, 44,253, 47,157, 57,163, 32, 37,115,233,248,
-137,147,191,126,191,127,243,158,141,157, 87,211,208, 90,223,218,109,255,102,208, 14, 97, 26,213,  1,104, 23,202, 47, 88,176,224,
-235,215,175, 36, 93, 74, 60, 80,224,194,249, 61,236, 44,239, 88,152,126,253,248,241,247,227, 87, 78, 27, 59,194, 39,247, 94,187,
-113,142,151,227,173,147, 53,187,130,188, 50, 31, 31,255,239, 63,127, 94,191,126, 35,254,232,241,237,187,247,142, 29,125,103,101,
-237, 79,140,189,192,210,255,239,157, 86,178,157, 77,246,217, 27,144,219, 93,224,103,  1,225,185,209,101,176,  1, 96, 11,  6, 88,
-219,161, 28,127, 68,195,210, 16,118,  1, 43,169,218, 30,173, 99, 60,153,  2, 43,196, 25, 96,151,173, 33, 76, 74,153,241,213, 44,
-124, 50,214,106,117,251,246,237, 16,182,135,135,199,142, 29, 59,176,178, 71, 75,127, 76, 46,188, 26,  0,  8, 32,236, 21,192,209,
- 35, 39,173,109,204,169,235,142,127,132,110,230, 34,242,134, 38, 20, 51, 25,153,110,223,  1, 21,253, 64,116,227, 46,211,255,255,
- 28,127, 25,217,  3, 92,127,  7,186,125,135,117,  5,  8,143,252, 28,217,183, 87, 81, 82,244,202,197, 43,213,205, 13,112,241,214,
-198, 54, 38,102, 70, 35, 99,163,237, 59,246, 18,172,  0,254,253,251,  7, 44,196,239,220,185,195,201,201,169,171,171,171,162,162,
- 66,100,233, 15,191, 83, 12, 88,250, 67, 24, 57, 57, 57,144, 90,129,254,117,192,249,243,231, 13, 13, 13,241,171,185,114,237,220,
-255,159, 15,228, 37,127,240,243,177, 51, 49,113,125,255,254,231,237,187,239,  7,247, 76,224,224, 51, 50, 55,179,195,163,145,131,
-249,181,154,226,127,109,109,205,231, 47,222,159, 61,127,238,203,151,175,252,252,188, 74, 74,242, 76,204,172,127,255, 62, 58,127,
-225,136,161,129,205,160,205, 66,192,230, 63,252,138, 21, 96, 63,  0, 88,  7,204,198,214, 32, 37, 92,210,209,189,  7,  0, 73,186,
-107,214,172, 33,239, 94, 45,226,  1,188, 49, 62,115,230, 12, 82,237, 97,146, 15,134,232,253,187, 82,  0,222,154, 31,156,225, 57,
-116,  1,188,196, 71,171, 15,  0,  2,  8,103, 15,  0, 88,  7,  0, 73, 82,171,129, 35,121,183,177,138,219, 76, 82, 37, 62, 70, 33,
- 61, 56, 98,170,129,210, 22,208,205,115,125,213,160, 19, 64,103,173,248,  7,190,232, 14,116,  8,173,173, 41, 19,248, 94,248,127,
-176,177, 32, 96, 13,193,136,107,  8, 72, 83, 81,252,225,221, 87,200,165, 63, 16, 84,215, 87,181, 53,119, 73, 90,234,  9, 10,240,
-226,119,195,247,239,223,129, 37,194,195,135, 80,211,129, 77, 15, 47, 47, 47,127,127,  2, 77, 90, 60, 23,202, 67,234,  0, 58,111,
-115,  7,150,254,240, 43, 53,240,128,159, 95,159, 42, 74,127, 23, 17,230,150,145,150,224,226,230,122,248,240,233,223,191,255,164,
-165,120,175, 94, 63,126,129,147,219, 64, 23,251,197, 15,151, 47, 31,209, 83,251, 37, 39,167,120,237,250,195,179,103,175,191,126,
-243, 25, 24,207,130,130,156,223,190,125, 49, 52,212,254,240,225,227,211,179,231, 47, 94,230,212,215, 53, 30,132, 57,  7,237,114,
- 71,130,215, 58, 34,143,108,160, 29,101, 12,100,195,135, 59,200, 24, 71,106,110,110,246,245,245, 37,245,180,  6, 96, 29,  0,180,
-119,213,170, 85,184,142, 99, 99,  0,159,165,140,214, 51,128, 92,  9,  9, 20, 71,107, 19,  0, 11,122,204,179,  3,224,199, 43,129,
-239,225,202, 32,169,147,129,172,151, 57,252,195,191,149,  2,163,133, 53,213,155,255,200, 81,134, 22,125,  0,  1, 68, 96, 31,  0,
-176, 26,128,212,  4, 68,  2,172,  5, 61,145,165, 63,  4, 28, 60,120,240, 41, 24,144,116,150, 19,210, 28,  0,  8, 28, 62,253, 15,
-210,136,232,171,102,236,173, 97,  4,150,254,255, 25, 88,177,106,252,246,225,241,139,119, 95,138,235,234, 48,165, 62,124,124,247,
-254,245, 11, 70, 66,141,145,213,171, 87,195, 75,127,  8,216,182,109,219,245,235,215,241, 55,255,145,207,127,134, 55,255,145,235,
-  0,122, 94, 40, 15, 41,253,  9, 42,  3, 54,255, 57, 88,158,115,114,178,114,176,179, 41, 42, 42,152,152,153,  9, 10, 10,178,176,
- 48,179,177, 49, 11,  9,114, 60,125,252,  0,151, 70,150,255, 79,121,121, 56,191,125,255,115,229,202,237,103, 47, 62, 62,122,242,
-233,214,189, 95,207, 95,124,126,253,250,195,237, 91,247, 84,148,149,165,165,248,222,190,126, 52,104,155,255,104, 55,130,225,191,
-214, 17, 37,119,129,143,177,196,122,161, 60,121, 29,  8, 96,161, 12,185,182,133,120,176,119,239, 94, 96, 18,133,156, 86,139,167,
-201,140,124,249, 59,242,133,192,200,214,225,178, 26, 98, 44,228,238, 48,242,122, 69,171, 10,185,177,203, 50, 48,224, 63,204,206,
-195,195,195,211,211, 19, 50,206,  3, 97, 64,216, 30, 48, 48, 90,  7,224,  7,  0,  1, 68,212, 28,  0,121,189,  1,178,193,237,219,
-160,110,  4,176, 14,144,150,150, 38,174, 33,204,216, 87,253, 31,220,  9, 96,128, 55,249,193,137,  7, 52,146,120,243, 14, 68,252,
- 23,214, 57,128,115,231,239,126,249,130,101, 46,177,163,190,158,157,157,227,251,247,143,127,255,253,193,111,247,185,115,231, 48,
-  5,207,158, 61,171,169,169, 73,100,243, 63, 33, 33,  1,179, 50,160, 93, 39,  0,109,168,  7, 94,250, 19,204,192,239,223,189, 18,
-225,101,252,243,247,223,175,223,127, 94,191,121,199,202,198,241,243,231,239,223,127,254,254,249,243,239,207,223,255, 31,222,191,
-193,165,145,141,245, 43,  7,167,204,219,183, 31, 63,125,254,246,238,253,119, 62, 97,125, 43, 61,189, 83, 71,119, 72,253,250,243,
-241,211, 71,117,117,101,118, 54,150,175,159,223, 13,206,230, 63,176,132, 66,187, 76, 17,216,  3, 32,114, 38,  0, 88,115, 96,222,
-  1,  9, 63, 86, 26, 23,128, 95,174,144,145, 33,228,236,140, 56,253, 13,152, 35,128,228,166, 77,155,222,188,121, 67,228,188,212,
-158, 61,123, 32,165, 63, 68,253,218,181,107,113,149,194,200,253, 63,200,133,192,144,235,  1, 32,183,196, 64,196, 33,215,  2, 99,
- 53,  1,114,140, 40,144,132,244, 27,176,122, 16, 87,122,  6, 58, 47,196,114,207, 74,  6,134,240,254,175, 76,225, 31,176,234, 53,
-195,113,243, 27,242, 88, 63,174,249,128,209, 82, 30,121,228,  7,173,  7,  0, 16, 64,212,223,  9,140,214,222, 39,169,249,255,241,
-227, 71,228,106,  0,152,121,  8,246,  3, 82, 35,152,129,  9,184,168, 21, 84,202,247, 85, 67,145,  6,226,170, 93, 80,243, 31,143,
-246,218,234,154,206,246, 38,204,108,163,172, 40,207, 47,192,205,241,239,215,151,111,191,105, 17, 31, 11,192,  0,153,141, 44,130,
- 92, 37, 80,189,244, 71,110,214, 65,184,144,158, 56,193,177,133,191,127, 25,190,126,251,253,245,235,175, 79,159,126,190,124,249,
-254,217,179, 55,159, 63,255,252,242,229, 55,176,  6,253,250,245,247,199, 15, 31,113, 14, 28,253,252,243,227,199,223,223,191,127,
-241,242,178,201, 74,243,113,113,131,154,123, 74,202, 10, 50, 82,124,252,124, 28,255,255,255,253,253,231,223,207,159, 95,  7,103,
-243,191,168,168,  8,107,201, 78,176, 19,128,121,151, 36,  4,  0,  5,  9,222,249,131, 52,162,130,  0,144,194, 23, 88, 13,  0,203,
-116, 98,250,199,192,182,255,154, 53,107,224,165, 63,144, 12,  9,  9,193, 85,124,  3, 13,199,188, 18, 18,210, 38,128,139,  3,221,
- 67,232, 48,237,255,104,  3,185,200,195, 95,184,244,136,136,136, 48,194,218,249,164,234, 29,  5, 36,149,254, 12, 24,115,  0,  0,
-  1, 68, 84, 15,128,110,109,127, 88, 65,243,151,200, 35,224, 83,195,217, 53,149,127,  1,219,254, 16,  0,172,  6,192,247, 65, 50,
-192,122,  3,144, 81, 32,230,222,106,198,191, 12, 60,135, 30, 18,101, 59, 48,115, 50,115,113,188, 99, 21,225,250,253,228,206,211,
-255, 78, 14,118,248,213,  3, 91,211,199,142, 29, 67, 19, 36,120, 13, 50,188,232,199, 44,235,105, 87,250, 67, 92, 11,105,226, 65,
-174,199,130, 52,238, 48,135,122,177,  2, 65, 33,209,103,247,175,176,179, 49,255,250,253,239,199,207, 39,143,159,188,125,247,254,
-211,187,119,223,222,190,251, 14, 68,  2, 66, 10,184, 52,190,124,243,255,197,203, 55,154,154,202, 31,222,191,103,101, 97,250,244,
-249,201,215, 15,255,180, 84,190,138,139,138,114,113,113,177,179,115, 62,127,241,153,145, 89,112,112,102, 30,172,215,184, 67,102,
-  2,240,107,132,244, 15,224,119, 73,194,107, 14,  6, 82,174,148,  9, 11, 11,131,183,136, 33,183, 86,  0, 99, 45, 56, 56, 24, 88,
-253,224,223,236,131,214,246,135,  0,228,254,  4, 50,192,117, 37, 36, 68, 28,152, 90, 32,119,175, 67,196, 31, 99,179, 23,168, 38,
- 43, 43, 19,114,187, 14,184,218,128,244,191, 65,157,  6,136,251,241,212, 28, 64,189, 83, 29,  5,195, 39,124, 67, 27, 11,  2,138,
- 64,244, 38, 57,178,142, 22,226,148,128,180,242, 14, 56,123, 86,103,  5,176, 14,128,247,  3,  0,  2,136,133, 22, 69, 63,176,213,
- 15,153, 13, 38,169,249, 15,  7,200,165, 63,176,  7,135,231, 30, 49, 13,149,127,144,101,254,182,166, 12,135, 79, 35,196,225, 99,
- 65, 41,225, 60,255, 25,254,254,103, 96,100,250, 79, 84, 95,  7,152,109,120,196,101, 95,126,249,255,245,206,  1, 22, 70,230,210,
-250,106, 98,178,232, 99, 48, 64,118, 51,158,241, 31,  6,240,122,255,175, 95,191,194,203,122, 32,137, 54, 13, 64,228,133,242,228,
-  1,200,197, 79,192, 32,133, 76, 81, 18,211,246,135,  0,125, 93,227,235, 87,206,254,127,250,233,219,247,223,239,217,127,252,103,
-120,255,227,199, 31, 96,111,224,213,155,111,207,158,127,177,117,148,199,165,241,251, 47,145,123,247, 95, 43, 41,202, 41, 42,202,
-188,125,251, 70, 80,224,175,170, 42,191,152,168, 18,  7, 39,231,135, 15, 95,206,158,187,241,228,233, 39,  9, 25,237,193,147, 97,
-254,131,111,187,132, 20,188,240,242, 23,235, 90,126, 44,163, 21, 72, 43, 24,129,157,  0,248, 93,146, 16,208,215,215,183,107,215,
- 46, 92,122, 33, 49,  2,185,240,  7,114,217, 50,114,145, 13,169,  0,128,173,120, 60,227, 63, 72,195, 71,123, 73,186,221,  8,215,
-149,144, 16,113, 72,241,141,171, 16,135, 44, 49,154, 54,109, 58,100,134,195,192, 64, 31, 62,112, 15,107,209,227,188,105,  0,162,
-151, 41,236, 61, 68,111,168, 37, 59, 60, 96,194,250,191, 50, 48, 48,224,111,253,  3,243, 26,124,129,147,167,167, 39, 60,118, 70,
- 71,126,136,  4,  0,  1,196, 50, 72, 90,253, 16, 16, 17, 17, 65,146,122, 70,216, 64,127,160, 27, 99,160, 27, 19, 52, 83, 49,254,
- 79,139,  0, 38,  4,214,127,255,249,149,149,249,254, 49,188,102,100,248,251,143,184,  5,202,223,222,189,224,144,209,184,191,103,
-137, 40, 11, 83,108,117, 21, 49, 90, 56, 57, 57,171,170,170, 72, 90,  6, 10,185,125, 62, 39, 39,  7, 83, 10, 82, 37,208,116, 21,
- 16,228,242, 63,248, 29,170, 36,173, 42,145,145, 87, 63,115, 98,167,152,  8,176,225,206,  2, 30,219,249,251,233,243,175,119,239,
-191,203, 42,106,219, 88,217,227,210,229,229, 21,188,107,251,252, 19,167,174,218, 90,235,203,203,203,255,254,245,195,208, 64,143,
-155,159,255,225,189, 71, 79,159,125, 56,122,252,250,251,207,252,129,150,246,131, 39, 87,100,102, 64,  6, 88, 24, 51,129,  5, 34,
-184, 64,255,135, 84,238, 51, 49, 49,226,185, 96, 29,116, 57,251,127,120,  1,200,248,239,223, 63,120, 39,  0,200,  0,150, 86, 30,
- 30,238,176, 74,134,193, 59,186, 22,115,172,  3, 87,169, 13,148,197, 95,250, 35,  3,160, 74, 92,237,125, 60,169,  2,243, 74, 72,
-184, 56,158,203,194,224, 53,  7,176,252,  5, 55,255, 25,145,235, 15,252,246, 34,235, 93, 85,200,131, 92, 45,194,185, 59, 47,254,
-198, 21, 32,200,227,254,163,115,  0,100,  0,128,  0,194, 94,  1, 88, 89,155, 81, 56,238, 70, 94,219, 31, 30,109, 68,130,235,119,
-255,107, 66,135,251, 25,139, 90, 17,183,197,130,  7,130,254,253,101,248,121,253,206,103,200,213,240, 54,166,191,  5,212,  9, 55,
-255, 63,124,251,254,254,204, 54, 85, 89,214, 43, 79, 73, 24,146,102, 98, 98, 50,  3,  3,226,181,128, 47,148,239,132,143,246, 64,
- 58,  1, 16, 46, 49, 23,202, 83, 62, 16,  4,105,205, 17, 51,242,131, 18,173,224, 82,254,214,141,107,207,238, 61,  4,150,131,127,
-255,254,231,224, 20, 82,211,212,  9, 12, 32,112, 41,152,152,180,222,137, 83, 59,128, 61,  6, 93, 29, 37,105, 41,145, 71,143, 95,
-190,191,124,247,230,173, 71,123,247, 93,122,248,244,127, 74,106, 46,145, 14,184,191,229, 51,217,190,126,240,224,  1,145, 42,255,
-173, 20, 36, 94,214,119, 19, 94,189,119,231,195, 59,  1,160, 81,163,123, 11,144, 21,160,233,197,218, 33, 64, 46, 43, 73,107, 30,
-145,152,133,113, 93,  9, 73,204, 85,145,240,130, 30, 77, 25, 49,205,139,127, 15,215,174,153, 16,  7,234,190, 88,162, 12,245,192,
-185,184, 42,128,209,125,  0, 68,130, 89,157, 21,200,163, 64,200,  0, 32,128, 88,168,146,116,168,  2,200,104,243,206, 94,241, 23,
- 86,220,163, 28,248,115,227, 46,131,134,242, 31,102,134,175,144,210, 31,  8,142,156,254,229,163, 78,160,244,191,123,235,188,185,
-179, 15,139,136,249,221, 91,167, 88, 94,172, 41, 43,173,236,234,110,167,145,103, 49, 47,148, 71, 46,253,233,176, 11,140,212,162,
- 31,185, 14,  0,162, 11,151,207,190,124,241,146,155,155, 27, 79,195, 31,165, 32,208, 51,  6,162,165, 75,102, 94,187,121, 82, 82,
-156,135,131,131,245,203,151, 95, 79,159,127, 98,100,145, 77, 73,141, 35,210,106, 30,161, 34,178,253, 11, 89,206, 63,  0,224, 92,
- 49,131,114, 34, 98, 33,233, 89, 18,188, 64, 70, 54,204,200, 16,130, 85, 27,228, 20,142,184,202,107,130,229, 56,121,119, 73,194,
-189,137, 60,242, 51, 10,168,  8,124, 98,106, 33,179,190,192, 58,  0, 89, 16,206,  6,  8, 32,244, 10,128,146,227,122,104,113,212,
- 15, 49,224,198, 93, 38,240,102,224,255,105,176,  1, 36,216, 42,160,127,105,225, 44,179, 86,254, 33,104,  2,176,244,215, 86,231,
- 43,206,111,250,206, 38,179,110,207, 83,101, 53, 80, 91,158,231,244,150,226,146,202,222, 30, 26,214,  1,228, 93, 40, 63, 24,  0,
-104,207,151, 46,201,186,162, 99,210,143, 28, 59,248,250,237,235,239, 47,190,113,112,  8,203, 40,234, 17, 89,127, 48, 80,118,  1,
- 44, 85, 66,245,255,255,127, 12,228, 29,103,114,111,  1,116, 57,208,189,133,180,142, 23,146,134,125,  6,  9,112,243,  9, 39,216,
-150,199,213,185, 30,157,  3, 32,190, 14,192, 44,253,129,  0, 32,128,134,195,125,  0,255, 25, 32,190,248,131,124,248, 15,184, 91,
-192,172,170,194,193,192,240,133,160,  9,122, 10, 95,188,131, 67,191,176,168,138,241,112, 71,  5, 10, 45, 91,127, 25, 82,  7,252,
-254,187,142,214,142, 39,227, 66,249, 33, 13,136, 47,241,  7,178,203,252,190, 35, 77,176,  2, 69,104,181, 16,249,122,129,173,254,
-179, 69, 12,163,  0,  7,  8,201,158, 50,128,245,250,  8,169,  3,112, 73,  1,  4,208,232,165,240, 67,  6,140, 94,  8, 51, 10, 70,
-193, 40,160, 46,  0,  8,160,209, 27,193,134, 12, 24, 45,205, 71,193, 40, 24,  5,212,  5,  0,  1, 52,122, 39,240, 40, 24,  5,163,
- 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,
-  0, 16, 64,  3,127, 41,188,189,153, 52, 46,149, 95,223,189,128, 48,184,133, 36, 32,140,131,167,158, 34, 43,248, 41, 42,142, 75,
-239,238,126,232, 62, 91,215, 66,232, 26,  3,246,215, 47,137,180, 23, 19, 16,111, 47, 38, 64,179,215,196, 80, 10,151,202, 55,247,
-175, 66, 24, 34,138,208,115, 17,206,156,127, 70, 45,255,122,236,198,126,  0, 61,191,148, 84, 44,236, 40,224, 41,226, 80,243,119,
-184,166, 81, 43,126,145,245,222,188,121, 19,249,124,180,194,194, 66,117,117,117, 26,165,171, 81,189, 84,209,123,249,242,101,  8,
- 67, 87, 87,151, 84,189,152, 87, 60,141,134,243,128,232,197,  3,  0,  2,  8,251, 36,240,159, 63,127,126,252,248,193,200,204, 10,
-186,166,231,207,111, 54, 86, 22,118,118,118, 82,235, 22,160, 33, 32, 11, 88, 72,155,103,  6, 22,250,192,226, 30, 82,244, 75,200,
- 42,  0,201, 23,184, 15,154,199, 44,  4,129,197, 31,164, 40,156,186,233, 20,144,204,246, 51, 99, 24,220,  0, 88,232,  3,139,123,
- 72,209,175,109, 98, 13, 36,175,158, 57, 74,107,255,110,254,242,101,231,215,175,238,220,220, 64,146,225,229,203, 83,229,101, 64,
- 65,179,206, 46,154,250,244,192,129,  3, 43, 86,172,  0,166, 43,184,  8,  7,  7, 71, 68, 68,132,131,131,195,104, 67,108, 80,  1,
- 96,161, 15, 44,238, 33, 69, 63,169,105, 18,114,114, 23,164,232, 39, 41, 77, 34,159,111, 74,222,250, 78, 50,174, 20, 28,  5,  0,
-  1,132,165,116,254,244,249,139,164,154,169,189,174,  6, 23, 59,235,255,255,255,255,254,253,127,229,246,195,251,151, 14,115,178,
-179, 18,121, 72, 39, 16,240,112, 60,208, 86,189,119,229,150,210,215,159, 10,196, 23,253, 64,146,147, 95, 24,200,128, 20,253, 88,
-123,  3,120,218,191,102,209, 21, 64,  6, 36,217, 97,202, 98, 93,240,138,108, 44, 27, 27, 27,  3,120,127,249,191,127,160,171,196,
-254,254,253, 11,113, 15, 19, 51, 43,254, 70, 55, 16, 72,138,129,218,206,191, 62,125,248,  9,174,246,190,252,249, 11,113, 15,191,
-152, 12,254,246, 62,191,148, 50,144,  1,201,102,216,122,  3,130,212,245, 47, 16,228,188,  4,245, 12, 32,165, 63,164,232,  7,181,
-205,119,237, 70,150,245,193, 27, 83, 31,185,223,188,229,121,253,225,237, 29, 49,  1, 77,153, 55, 42,196, 68, 46,176,237,191,114,
-229, 74,228,210, 31,  8,128, 92, 78, 78, 78, 73, 73, 73,180,126,192,240,  6,123,246,236, 33,233,150,105, 60,135, 33,210,162,232,
-135,164, 73, 32,  3, 51, 77,194,122,  3,130,120,202, 95, 96,154,  4, 50, 48,211, 36, 68, 22, 87,154,  4,202, 78, 95,176, 28,193,
- 77,136, 36,213,203,200,245,  7, 61, 67,108,144,131, 45,216,214,142, 35,199,  2, 64,  0,161, 87,  0, 95,191,255,114,246,139,146,
- 21,227,231,226, 96,  1,150,131,127,255, 49,176, 48, 51, 10,241,107,104,171,202,237,217,185,245,239,239,175,196,212,  1,191,126,
-253,210,212,190,175,175,113,159,153,233,239,129, 51,210,108,172,132, 79,115,  5, 22,196,192,162,150,159, 15,116,255, 34,132, 68,
-147,  5, 86,  9,184,186,  2,192,242, 14,152,236,226,195,131,128,108,  8,137, 38, 11, 76,142,  4,155, 33, 64,127,201,200,200,  0,
- 73,160,227,191,126,253, 10, 44,253,223,191,127, 79,108,109,199,194, 60,111,194,122,118,126,134,151, 15, 24, 78,127,121,250,250,
-197,157,197,253,149,  4, 27,254,192,108, 38, 35,  5, 26,218,130,144, 88,199,130,200,243, 47,158,115,  0,128,229, 59,176,232,111,
-206,201,  6,178,155, 97, 69,255,146, 91,183, 16,165, 63,161, 67,  4, 30,252, 63,204, 96,246, 52, 66, 46,230,231, 63, 21,246,127,
-255,175,191,217,123,126,247, 77,149,127, 89,248,253,219,223,223,255,253,251,119,228,227,175, 33,108,160, 32,176, 31, 64,203,155,
-202,  7, 93,233,191,106,213,170,247,239, 93, 87,175, 14, 37, 70, 61,228,116,126,250,148,104,192,242, 29,152, 38,111,157, 63,  6,
- 44,250,145,211,228,190,173,235,196,197,197,225, 99, 65,184,202, 95, 60,105, 18, 84, 58,195,143, 87, 37, 84,250,  3,  1,144, 75,
- 70, 29, 48, 10,200,  0,  0,  1,132, 50,  9,252,249,243,103, 27,183, 64, 13, 57, 97,118, 86, 38, 96,233,255,226,197,139,203, 23,
-207,255,250,  3,100,254, 23,230,231,114,243,244,249,254,243, 15, 49,134,178,179,190, 82,150,123,193,192,204,168,165,250,152,157,
-229, 37, 73,165, 63, 74, 75,243,211,103, 96,161, 15,148,194,236, 16, 96, 45, 13,145,193,194,149,235,128,133, 62, 80, 10,179, 49,
-130,  6,128, 13,127, 96,185,207,199,199,119,239,222, 61, 96,161, 15,170,246,136, 46,253,129, 13,127, 96,233, 31,152,219,226, 25,
-101,181,229,202,211, 23,223, 25, 72, 45,253,145,193,147,103, 47,128,125,109, 81, 65, 62,112,213,204, 76,134,127, 61,130,227, 65,
- 45, 52, 22, 86,130,165, 63, 16,212, 78,153, 10, 68,144,210, 31,216, 27, 40,117,  3,183,251, 69,217,240,149, 71,252,219,220, 66,
-164, 18,229,179, 88,153,120,184, 25,184,152, 24,152,165,197,173,109,130,157,239, 73,245,227, 31,252,  1,185,112,225, 66,  6,216,
-149,103,200, 36, 92,193, 32,  7,105,105,105,161,161,171,151, 46, 93, 74,121,233, 47, 36,180,135, 72, 45, 51,193,128,145,145, 17,
-249,202, 70,218,149,254,173, 85,133,171, 87,175,158, 51,185,  7,185,244,  7,138, 76,153, 50,  5, 79,154, 68, 46,253, 49,211,164,
-167, 53,248,212, 41, 94,110, 34, 75,127, 68, 29, 64,202,165,176,163,  0, 15,  0, 54,249,145, 17,178, 20, 64,  0, 33, 42,  0, 96,
-169, 39,172,160,167, 32, 33,240,227,247, 95, 96,109,189,115,231,142, 69, 11, 23, 92,186,120,177,180,168,128,153,153,  9,216, 23,
-224,227, 98, 87,208,179,  1, 54,217,240, 91,246,251,247,111,109,213,135,124, 60,223,230, 45,124,197,196,248,223, 76,247, 38, 80,
-132,160, 19,209, 74,127, 72,209,255,253,227, 91,120,197,  0, 20,193,165, 23, 45,229, 65,146,221,169,165, 29,240, 68,  9, 20,193,
- 99,181,178,178,178,176,176,240,167, 79,159,128, 53,  1, 19, 19, 19,208,131,192,210, 31,210,209, 33,120, 26,215,218, 13,235, 11,
- 38,236, 90, 63,185,  6, 88, 19,112,113, 11, 61,254,251, 20, 88,250,243,128,243,  9, 51, 94,189,104,165, 63,164,232,255,248,236,
-174,134,140,216,231,111, 63,216,185,216, 25,254,254, 37,213,191,149,179,183, 92, 61,119, 92, 71, 73,235,227, 95,156,245, 52,164,
-244,  7,182,250,129, 69, 63, 68,  4, 88,244,  3,209,189,244,198, 93,215, 46,105,155, 41, 49,188,197, 25, 89, 23,217,182, 88, 59,
-136,138,114,107,126,255,255,153,225,231, 43,182,159,239,126,254,253,252,227,223,247,127,108, 60,210,182, 38,107, 46,180,225,210,
-  8, 25,250,135, 92,107,  5,207,246,112, 54, 80, 10,168, 96,240,231, 34, 96,193, 77,149,182, 63,176,244,175,170, 34,234,164,113,
-120,161,143,124, 47, 35,237,  0, 48, 77, 66,206, 37, 60,123,246, 44,176,220,  7,166, 73, 72,233,207,  0,190,181,145,188, 52,217,
-149,224,115,229,238, 99,  9, 37, 73,134,175,223,104,234,120,228,238,194,104,215,129,120,  0, 16, 64,136, 33,160,159, 63,127, 26,
-106,104,112,113,178,  2,219,251,127,255, 49, 28, 61,124,164,177,185,229,223,127,134,219,119,238, 92,186,120, 65, 71, 71,159,153,
-153, 81, 93, 73,230,222,185, 63,156,156,120, 27,212, 44,175,212, 20,158, 49,176, 48, 62,126,254, 27, 72,234,105, 60, 60,117,249,
-213,127,  6, 98,151,220,192,199,121,208,250,  4,192,202,  0,188, 22,232, 41, 30,189,240,113, 30,180,246,  8, 48, 33,130,214,198,
-188,198,222, 23,249,243,231, 15, 23, 23, 23,176,232, 23, 20, 20,252,246,237, 27,228,170, 22, 81, 81,209,183,111,223, 18, 60,163,
-234,199,123,  6, 51, 78,206,210,201,135, 93,245, 25, 30,158,103,128,220, 73,  3,228, 78, 42,116,252,251,239, 47, 49,254,133, 79,
-175, 57, 27,107,176,240, 50,237, 60,112,205, 80, 67,150,143,135,253,224,153, 59, 34,138,218, 15, 80, 87,  1,225,242,239,166,107,
-255, 25,158, 51,248, 57, 51,206,222,114, 79, 88, 80, 49,200,154, 17,143,127, 33, 99, 62, 59,191, 66,207,187,254,223,208,207, 32,
-253,145, 49,181,254,127, 99, 51,  3,211,119,198, 83,109, 83,196,197,177,158,202,253, 67,227,161,188,128,215,167,191, 95,126,190,
-191,179,248,209,178, 35,126,239,181, 82, 28,221,114,121, 56,  5,213, 57, 88,  4, 89,252, 62,158, 94,119,218,212,196, 20,103,103,
-147,137,  9, 30,158,200,236,161,  2,  2,  2,126, 81,171,244,151,151,151, 39,178, 80,131,151,251,144, 78,  0,217,103,184, 18,  9,
-156,188,131,128,253, 96, 96,  5,  0, 44,247,141,193, 12,  6,240,245,118, 30,246, 38,144, 52,169,171,171,251,  0,239, 10, 19,120,
-154,124,190,161,131, 87,155,131, 71,181, 96, 85, 71,138,190,142,132,186, 79, 11,208, 59,196,175, 78,161,176, 14, 24,  5,200,  0,
-207, 97,112,  0,  1,132,168,  0,254,253,251,199,197,206,246,235,207,127, 38, 70,  6, 32,170,111,106,  1, 86,  3, 95,191,126,121,
-241,226,185,184,184,196,255,255,255,254,252, 97,224, 96,101, 97,102,197, 55, 68,  0, 44, 76,181,148,159,136,  8,126,  2, 13,249,
-129, 47,250,100,100,252,111,164,125,251,228, 37,113, 98,150,  3, 65,154,249,152,195, 65,120,154,255,200,141, 14,204,162,159, 96,
-243, 31, 52, 32,243,230,141,152,152, 24,100,153, 19,176,179,  2,153,251,229,231,231,103,101,101,125,252,248, 49,254,233,139,249,
-123, 14,166,248,216, 59,128,217,183,254,128,198,127,128, 12,  7, 53,  6,190,150,253,133, 37, 86,  4,221, 12,108,100,  1, 73, 57,
- 49,161,247, 63,127,178,240, 49,255,120,253, 13, 88, 52, 74,202,203,236,218,119,154, 72,255,198, 23,183,222, 63,186,151,229,  5,
-195,  7,113,  6, 96, 37,102,161,160,232,100,143,111,137, 42,242,136,255,146,240,148,181, 63,111, 50,168,252, 96, 56,201,194,192,
-195,194,224,107, 44,227, 27,143,175,171, 36, 45,244,235,215, 59,214, 63,191,129,165,255,241,  4,126,187, 64,127, 13, 49,205, 43,
-187, 14, 24,134,126,101,253,245,245,143,198,191,215, 47,241, 77,212, 67, 74,124,200, 28,  0, 50,123,144, 15,251,  0, 75,109, 96,
-209, 31, 13,  6,244, 44,253,209,198,124, 32, 23,167,208,161,140,243,  8,142, 81, 82, 82,  2, 86,  0,144,210, 31,216,246, 23,151,
-148, 36, 41, 77,166,249,218,157,120,246,138, 87,159,247,233,206,187, 12, 28,236,193,185,113, 66, 50, 62, 52,117, 51,230, 96,209,
-104,101,128,167, 50, 64,174,  3,  0,  2,  8,101, 14,224, 63,100, 13,204,127,  6, 96,209,207,  4, 42,187, 25,214,173, 93, 19, 24,
- 20, 34, 34, 42,  6,201,180,255,  9,157,217,205,204,244, 74, 91,  5,122, 57,162,158, 14, 23,184,233,194, 96,164,117, 15, 40, 78,
-140,227,144,199,124,208,196,225, 91,  1,112,  1,228, 49, 31, 52,113,248,210,120,172,224,211,167, 79,159, 63,127,  6,118,128,128,
- 85,224,235,215,175, 33,227, 63,192,174,192,151, 47, 95,  8, 14,  1,173,159, 92,115,224, 10,195,199,  7, 12,191,191, 51, 76, 42,
-119,132,140,255,156, 59,207,112,225,249, 81, 98,214, 75,125,124,118, 87,136,159, 91, 88,136, 91, 93, 77,243,222,253,215,183,158,
-190,149, 19,230,255,249,242,213,159,223,127,224, 91,  1,240,248,215,202,193,223,198, 49,114,253,230, 85,251, 15,173, 90,214, 87,
- 28, 92,220,118,233, 55,195,235,183,175,240,248, 23, 62,226,159,104,101, 30,173, 37,191,106,253,190, 75,151, 30,244, 93, 62,187,
-194, 53,142, 97,238,177,167, 79, 95,195,183,  2, 96, 25, 34,248,193,254,247,215,155, 95,191, 64,151,191,139, 75,203,106,104,106,
-126,226,  4,205,148,124,255,247,141,233,231, 87,206,175,204, 47,159, 99,175,  0, 32,193,248,  3, 12,224,195, 62,104, 43,130,134,
-229,176, 15,217,165, 63,114,243, 31, 50,247,  0,239,  4,208,218,203,192, 52,137, 38,  2, 79,147,240,173,  0,120,210,164,173,169,
-186,139,181, 90,107, 83, 79,239,132,109,117, 75,246,101, 56,153,188,216,184,237,227,251, 79,184, 74,100,160,120,102, 66, 36,166,
-120, 38, 41,147,192,163,197, 61,126,128, 54,250,143,220, 33,  0,  8, 32, 38,228, 30,250,199, 47,223,152,153, 24,255,252,249,251,
-239,255,255, 63,255, 64,147,246, 23, 47,156,119,114,  6,221, 96,247,247,255,127,102, 38,230,207,223,126,253,249,245, 19,103,243,
-255,239, 95, 69,233,231,162, 66, 31, 33,149,137,149, 25, 15,228,114, 85, 96, 39,192, 80,243,206,159,191,127,137,105,254, 99,157,
- 10, 38,182, 57,140,109, 26,138,160, 94, 65, 65, 65, 96,185, 15,236,  1,  0,171,  1, 81, 81, 81,200,132, 48,176,120,250,240,225,
-  3,193, 10, 32,173,117,  5,176,220,231, 87, 96,  0, 86,  3,121,157,251,129,165,127, 80,126,251,147,127, 47,150,246,149,  1, 67,
-146,152,230,191,177,177,154,168,146,130,152,168,  8, 27, 48,228, 25,255,191,254,250,253,253,231, 31, 68,250,183,183, 99, 67,128,
-166, 34, 31,159, 48,151,168,212,239,119,239,207,111, 89,254,225,221, 35, 34,211,196,188,142, 28,134, 66, 23,150, 63,191, 20,190,
- 50,188, 98,254, 52,233,249,105,  6, 54, 62,  2,227, 93,119, 63,189, 97,250,254,136,237,155,137,138,163, 86, 28,207, 61,193,  3,
-162,162,231,101, 45,238,125,100,250,252,243,255,247,111, 75,254,113,240,240,226,105,251, 15, 69,144,158, 46,136, 57,242, 67,252,
-108, 48,217,165, 63,114, 65, 15,175,132, 32, 55,182,211,212,191,192, 52,121,252,248,113,200,184,191,177,177, 49,  3,248, 34,226,
-149,155,182, 17,159, 38, 55,174,111,112, 47,207,245,242,114, 22, 97,103,254,204,248,127,231,173,199,199,175, 60, 37, 88,124,163,
-213,  1, 16,238,232, 36, 48,181,138,126, 92,227, 63, 64,  0, 16, 64,136, 97, 25, 96,  9,120,251,218, 37,  5, 41, 33, 78, 86,150,
-191,127,255,129,175,104,102, 72, 75,207,  6,118,  9,254,130,119,  3,124,251,241,227,250,173,123,108,108, 56,  7, 69,254,252,126,
-103,168,117, 31,158,233,179, 10,239,175, 93,162, 10,233, 51,152,232,220, 61,113, 81,147,133, 89,148, 96,243, 31,173,232,  7, 10,
- 50, 32,237,  4,198,223,252, 71, 75,142, 64, 65,  6,164,157,177,184,192,223,191,127, 37, 36, 36,128, 61,128,151, 47, 95,  2,217,
- 34, 34, 34,111,223,190,  5,146,144, 91,170,241,235,125,253,226, 78, 77,203,126, 96, 15,160,187,216,246,203,159,191, 69,157,171,
- 39,150,135, 22,247,109, 97, 97,100, 36, 84,254,131,154, 90,146, 34,  2,172, 12,172,127, 25, 24,159,223,191,250,240,213, 71,101,
- 81,161,139,239,158,157,187,251,148,152,230,127,112, 82, 17,171, 16,  3, 19, 51,195,130,109,247,215, 78, 43, 77,234,152, 89,228,
-171,159,237, 44, 79,208,191,192,230,127,175, 95, 24,195,  7, 14,  6, 70, 86,134,222,158,144,211,135,119, 57,103, 50,182,231, 50,
-158, 40,195,211,252,  7,130,139, 47, 68,108,190,127,252,194,201,252,141,131, 67, 57,152, 21, 88,232,127,100, 98,253,195,160,246,
-255,239,183,223,111,158, 31,157,252, 49, 58, 74,121,152,229, 31,172, 11,246,137,236, 22,144, 93,250, 51,160,142,254,163, 45, 24,
-165,233, 76,192,173,243,199,224,227,254, 89, 73, 97, 59, 96, 99, 65,219,149,148,  8,238, 93,  0,166,201,112, 23,115,254,127,130,
-223, 24, 88,215,246,231, 78,219,114,161,212,195, 38,161,111, 89, 72,219, 98,130,245, 22,104,239, 24, 82, 29,  0,223, 74, 54,186,
-162,159,214,  0, 32,128, 16, 61,  0, 96,203,247,195,243, 59,119, 31,191,101, 97,101,  6,246,  1,126,255,249,123,238,220,217, 69,
-139,230,255,250,251,255,247,223,127,108, 44, 76,175,222,127,121,122,253, 56, 39,142, 41, 96, 96,209,169,169,252, 16,218,252,  7,
-247,251,215, 46, 81,  3, 13,  0, 49,253,  7, 34, 38,166,127, 22,250,215,255,226,238,  4,160, 53,255,225,171,128,128, 69, 63,193,
-210, 31,173,249, 15, 95,129,  0, 44, 10,  9,150,134,224,252,252,254,203,151, 47,172,172,172,144,230,255,191,127,255, 32, 36, 49,
- 21,192,226,254,202,115, 79, 15,242, 72,128, 38,126,121, 89,152,129,245,  1, 31, 59,235,135,119, 79,128,205,127, 22, 38, 38,130,
-205,127, 89, 33,222,107,247,238,255,249,245,139,157,133,237,203,151, 31, 23,239, 63,  3, 22,253,  4, 75,127,136,127,253,115,154,
-151, 78,154,248,237, 31,131,172,178,204,149,171, 39,128,165, 63,145,254,  5,130, 34,101,147,205,183,247, 49,124,252,195,192, 33,
-178,251,212, 53, 96,233, 15, 44,250,241,151,254, 64,160,255,203,231,232,238, 83, 12,191, 62,127, 97,252,252,158,233,203, 71,150,
-223,191,255,126, 98,255,241,141,227,217,253, 21, 85,183, 21, 12,212,240,204,  0,  3,  1, 60,229,112,128,  1,154,224, 32,  7,144,
- 86, 63,176, 76,103,  0,207,  6, 19,156, 16,166,164,244,  7, 22,241,184,250, 76, 52, 93, 14,  4, 76,147,240, 53, 63, 53,181,133,
-192, 52, 41, 46, 46, 14, 89, 23,  4, 17, 39,152, 38, 83, 28,244, 10,122, 38,126,126,249, 74,148, 79,236,234,181, 71,192,210, 31,
-178,140,149,200, 58, 15, 14,144, 71,117, 70,251,  1,148,128, 45, 75,154,183,224,189, 71,  4, 32,128, 80, 38,102,121,121,121,207,
- 30,216,240,255,191,159,130,148, 48, 47, 23,187,150,142,129,150,182, 62, 11, 19,195,151,239,127, 31, 61,127,119,234,192, 86, 30,
-110, 46, 92,  6,125,253,246, 77, 77,254,249,143,159, 28,255, 33,215,230,253,103,224,228,248,  1, 76,198,239, 62,176,  3,  5,120,
-185,255,232,170, 61, 56,124,198, 16,104,  5,254,230, 63,188,213, 15,228,178,254,255,205,240,  7,186,122,236, 47, 11, 23,193,230,
- 63,188,213, 15,225,126,124,  5, 93,114,128,103, 59, 46,188, 14,  0,146,192,126,  0,144,124,247,238, 29, 31, 31, 31,100,252,135,
-152, 75, 89,193,171,254,219, 51, 67,237, 25, 38, 29,158, 86,237, 29, 82, 60,113, 89, 71, 54,176,  7,192,198,206, 65,176,249,127,
-237,209, 43, 21, 89,145,189,123, 78, 48,128,183, 95,  2,201,223, 63,161,125,109, 86,220,218, 33,205,255,150, 36,231,188,250,  5,
-178, 74,140, 36,249, 23,210,252,119, 91, 63,111, 87,116, 36,163,140,  5,  3,120, 75, 48,  3,248,112,  8,136,  2, 95, 30, 30, 60,
-206,214,251, 89,118,113,251,150, 31,234,199, 20, 84,117, 62,113, 50,220,103,120,248,249,193,235,215,109,127,191,188,151, 41,140,
- 43,198, 31, 80,211,167, 79,  7, 22,247,223,191,127,135, 23, 97, 64, 46, 80,112, 72,100, 36, 72,171,255, 37,120,155, 52, 49,179,
-193,192,246, 50,121,165, 63,  3,236,242,119, 60,  5, 31,169,123,137,137,  4,192, 52,217,218, 80,179,110,243,118,119, 27, 35,120,
-154,  4, 34,227,123,247, 60,130, 99, 30,189,253, 38, 39,204,133,191,249, 95, 48,107,115, 85,178,155,148,132,  3,164, 22,129, 56,
- 21, 79, 95,138,112,183, 96,180, 31, 64,237,250,  0, 77,  4, 32,128,208, 87,230,240,241,242,156, 59,176,225,190,140,186,146,170,
- 38, 31, 55,231,191,255, 12,223,127,254,186,119,239,222,235,123, 23,120,121,184,153,112,183,106, 57, 57, 56, 86,237,176,199,211,
-198,  7,234,229,230, 38,208,220,131,172,  1,  5, 54,249,255,253,253, 13, 42,253,193,224, 55, 35, 43,174,195, 24,144,  1,100,253,
- 25,176,  9, 12, 47,  7,137, 44,253,225,117,  0,124,243, 23,176, 14,192, 25, 64, 56,234,128,197,176,141, 80,179,219, 96,123, 98,
-127,127,193,127, 13, 57,176,249,127,234,205,135, 11,183, 65,  3, 62,240,114,159, 96,233, 15,  1,192,230,255, 90, 35,238,156, 64,
- 13, 50,252, 11,108,254, 23,111, 90,197,216, 90,191, 93,220,124,194,151, 43,112,113, 67, 22, 86, 25, 14,194, 39, 62,  1,251,  1,
-219, 55,253,120,242,254,238,235,183,207, 95,222,226, 97,254,203,103,173,103,235, 24,231, 56,188,115, 14, 25,107, 64,211,211,  5,
-201, 40,253, 25,  6,116, 74, 19,152, 38, 45, 45, 45,209,210, 36,176,244,103,  0, 77,  5,115,225,215, 11,108,254,187,238, 57, 25,
- 93,191,200,206,206, 78, 28,181, 55, 73,118,117,  5,169,  3,  8,  6,  8,102,101, 57, 90,103,224, 41,247,145,103,  2,  0,  2,  8,
- 75,249,  6,108,255,254,124,247,248,220,  1,208,114, 17,200,133,203,236,236,236,152,115,179,104,128,149,149,149,159,136, 35, 31,
-240,  0,200,128, 15, 51,176,201,255,231, 27, 51, 82,209, 79,204,137,213,144,  1, 31, 96, 81,136, 92, 26, 18, 83,244,243,139, 74,
-253,194, 61,173,141, 31, 68, 55, 47,190,125,227, 42,217,254, 61,117,235, 49, 36,155, 33,151,254,  4,139,126,  8,136, 51,226, 38,
-207,191,160, 56,237, 47,131, 20,253,240,210,159,200,162, 31, 14, 60, 21, 67, 24, 32,149, 27,113,107,100,128, 77, 90,200,166, 95,
- 96,123, 31,190,251, 23,200,128, 52,255,129,140,193,127, 20,  4, 25,107, 64,105,209, 72,167, 53,192,154, 38,  9, 22,253, 16,224,
- 90, 51,155,138, 69, 63, 73,213,225,104, 89,143, 11,160,221,  8,207,128, 49, 15, 12, 16, 64,216, 27,184, 44, 44, 44,184,198,106,
-104,  1, 32,163,252,144,162,159,129,196,162, 31, 50,234, 77, 94, 81,200,  0, 90,185,244,143,152,238,  5, 86,240,234,221, 71,226,
- 45, 66,  6,144, 81,126,242,138,126, 74,252, 11, 25,229,223,252,229, 11,217, 69,255, 40, 24,174,  0,178,196,243,209,219,111,100,
- 20,253,144,242, 23, 62,218, 51,116,235,191,225, 90,  7,224,145,  5,  8,160,209, 75,225, 71,193, 40, 24,  5,163, 96,132,  2,128,
-  0, 26,189, 17,108, 20,140,130, 81, 48, 10, 70, 40,  0,  8,160,209, 10, 96, 20,140,130, 81, 48, 10, 70, 40,  0,  8,160,209, 10,
- 96, 20,140,130, 81, 48, 10, 70, 40,  0,  8,160,209, 10, 96, 20,140,130, 81, 48, 10, 70, 40,  0,  8,160,129,191, 20,126,164,233,
-253,241,226, 49,241,122, 57, 36,100, 71,195,121, 84,239,168,222, 81,189, 52,186, 20, 30, 32,128,  6,117, 15,128,212, 93,224,247,
-238,221,219,  3,  3, 64,246,104,245,142,  7,124,252,248,241,209,163, 71,199,143, 31, 63,119,238, 28,144, 65,158, 33, 67,247,148,
-183, 81, 64, 42,184,121,243, 38, 73,138, 51, 50, 50,200,182,136,108,189,163,128, 84,  0, 16, 64, 44,131,214,101,164,150,224, 64,
-245, 29, 29, 29, 97, 97, 97,200,218,149,148,148,136,215, 14,  4,171, 87,175, 14, 13, 13, 85,  2,  3,252,234,211,210,210,  8,154,
-  9,116, 12,214,213,208,187,119,207, 39, 70,239,251,247,220, 52, 10,219, 87,175, 94,253,252,249,147,145,145,145,131,131,227,199,
-143, 31,192, 10,224,244,233,211,250,250,250, 42, 42, 42, 36,153, 67,204, 81, 25,224,138, 60,147, 24,101, 51,103, 78,167,182,222,
-116, 28,138,103, 34, 75,225,223, 70,  4, 76, 21,109, 34,193,255,183,222,101, 57,128,114, 98,229,223,174, 83,255,183,221,141, 20,
- 93,199,192,174, 65,208,121,238,238,160, 35,117,119,238,220, 73, 70,100, 65,206,130, 78, 79, 23,164,100,101, 61,176, 84,237,239,
-239, 39,184,225, 46, 53, 53, 13, 88,167, 99,198,106, 73, 73, 49, 49,218,225,169, 98,194,132,  9,246,246,246,192,114,124,217,178,
-101,159, 62,125, 34,104, 41, 74,145,196,194, 28, 97,197,150,158,145,222,181,163,187,196,181,  4, 34, 56,123,246, 44,172,122, 99,
- 98, 64,187,148,185,185,177,228, 20,200,205, 78,  9,  9,  9,163, 59, 18,144,  1,100, 95, 24,124,245, 63, 64,  0, 97,175,  0, 48,
- 15, 27,161,209,241, 35, 84,172,  0,224,165, 63,208,157,144, 61, 41, 64, 19,136,172,  0, 32,149,  7,164, 56,131,156,123, 85, 94,
- 94, 78, 88,239,106, 33, 66,  6,227, 12,177,175,190,  4,110, 81,103, 32,226,144, 52,242,238,193,  0,182,253,197,196,160, 23, 60,
-112,114,114,  2, 43,131, 15, 31, 62,240,243,243,159, 58,  5,186, 60,153,152, 58,  0, 24,188,144, 80,  2,134, 88,112,112, 48, 48,
-192,  9,214,  4,155, 54,109,128, 48,252,252,  2,112,177,113,233,253,126, 44,  7, 26, 36, 86, 83,224,108,100, 46,144,129, 75,239,
-142, 29, 40,151,155, 29, 58,116,168,173,173, 13, 57,160,150, 44, 89,130, 63, 97,116,118,118,182, 58, 24,  0,189, 10,108, 25, 32,
-103,129,255,203,239, 50, 16, 87,255, 13, 96, 38, 66, 46,253,129, 94,  6,198,248,210,165, 75,143, 28, 57,226, 21, 85,141, 75,241,
- 49,140, 43,180,215,175,  6,149,254,255,254,253,155, 53,107, 22, 80, 59,159,156, 61,214, 66, 31,222, 29,188,113,227,  6,144, 27,
- 25,  9,170, 47,163,162,162,136,169, 54,122,118, 67,111, 33,126,177,243, 57, 80,239,178,124, 46,160,145,229, 30,101, 12,224,216,
- 91,190,112, 89,134, 61,190, 62,129,177,177, 49,241, 77,189,209,210, 31, 25,  0,  4, 16, 19,214, 98,  5,152,189,129,145,141,150,
-225,137, 28,144,161,100,236,  5, 89, 47,164, 49, 78,188, 94,160,131, 93,192,  0, 82,  7,144,148, 32, 32,165, 63,208, 58, 96, 38,
-129, 88, 74,164, 47, 24,195,222, 67, 16, 30, 17, 92,128,103,203,116,  8,194, 35, 66,176,244,255, 15,  6,196,143,198,188,127,255,
- 30, 88,214,  3, 43,128,164,164,164,232,232,104, 54, 54, 54, 96, 29,  0,236,  7,  0,189,207,204,204, 12, 57, 10, 24, 15,184,118,
-237, 26,208,222, 53,107,214, 64,130, 11,104,233,218,181,107,129, 13, 61,160, 56,157,147, 50, 90,101, 64,163, 38,  8,176,244,  7,
- 38,137, 40,177,245,145, 34,107,209,  2,191,218,252,  2,203,254,  8, 98,204,  1,134, 79,105,105,169,162,162, 34, 25,110,  0,234,
-  5,182,253,133,133,247, 82,222,246,135,151,254, 36,105,135,151,254,197,197,197,120,180, 35, 39, 63, 96,243,223,206,206, 14,200,
-  0,214,  1,192,126,  0,193,114,  3, 77,111,184, 37,168, 85,186, 44,159, 19,216, 15, 40,115, 47,197,175, 23,216,246,  7,218,  5,
-236,142,187, 96,  0,136,212,104,243, 31, 79,233, 15,  4,  0,  1,196,132,173,203,  9,189, 24, 26,210,142,134, 55,247,136, 41,142,
- 33,121,134,146,252, 70,222,  0, 14,214, 50,157, 84, 45,240,202,  3,216,252, 39,120,254,237,192,  2,120,233,143,150,145,240,103,
- 54, 96,219,255,219,183,111, 76, 76, 76, 64, 63,  2,217,207,158, 61, 99,101,101,101,  1,  3, 32,  3,114, 84, 39,218,134,126, 52,
-243, 39, 78,156,  8, 44,250, 67, 66, 66,128,  5, 10,208, 16, 96,225,  8,100,  3,165, 38, 77,154, 52,204,114, 11,188,244,  7,178,
-129,101, 55,188,109,  1,  9,124,120,  7,145,200,242,  5,168, 12, 24, 98,192, 68, 69,222,172, 73,101,101, 37, 80, 47,158,168,193,
- 83,250,247,245,245,  1,163, 12, 88,145,  0,139,239,195,135, 15, 51,128, 79,100, 34,190,244,135,104,  7,166,153, 51,103,206, 64,
-180, 19,180, 17,168, 62, 34,  2, 90, 53,  2,235,  0,  7,  7,  7,160,237, 27, 55,110, 36, 56,144,  8,108,254, 51, 48, 50, 44,205,
-131,158, 63,  1,236,  7, 68, 90,179,131,250,  1,120,  1,158, 82, 98,180, 91,128, 86,250,167,149,163,151,138,  0,  1,196,130, 53,
-177,194, 47,134,190,135,116, 49, 52,193,180, 78,173,210,159, 42, 21,  0, 37,  0, 88,121,144,237, 17,186,  1, 50,138,146,215,175,
- 95,  3,115, 50,176,165,127,231,206, 29,160,118, 96, 94,253,245,235, 23, 48,251,  1, 43,  0, 32,249,247,239, 95, 96,245,176,126,
-253,122, 92, 17,189,119, 47,168, 29, 10, 44,241,145, 21, 64,216,144,226,  9, 79, 10, 65, 30,225,193,197,198,211,216,199, 53, 22,
-132,103,240,  7,109,228,  7,210, 38, 37, 30,180,137,  4,183, 58, 24,176,164,163,141,251,159,252,191,237,222, 61, 98,134,  7,145,
-154,240,144, 58, 18, 82,210,  1,195,144,248, 54, 41, 68,175,170,170, 42,  3,209,211, 45,200, 32, 51, 51, 19, 62,216,  5,100,  3,
-139,111,160, 33,196,151,254,246,214,160, 35, 25,129,109,255,146,146, 18, 96,195, 28,162,221,215, 47, 21,255,197,126,240,230, 63,
- 28, 64,198,130,182,109,219,166,161,161,  1,108,178,227,215, 27,110,137,114, 48, 23,120, 44,136, 97,249,178,243, 55, 37,110,226,
-215, 59, 10,200, 40,253,129,  0, 32,128,176,207,  1,  0,187, 84,144,134, 63,252, 98,104,146, 74,127,172,237, 80, 60,195,211,184,
-244, 34,139,211,238,192, 63,160, 79,225,199,142, 35,187,129,188, 17,219,255,171,  4,201,118,201, 23, 31,194, 19,158,112, 71,162,
-149,  8,112, 46, 68,  1,214,224,122,247,238, 29, 47, 47, 47,144, 60,118,236, 24,176, 26,  0,150,254,192, 38, 63,228,234, 27, 96,
-125,240,251,247,239,159, 63,127,226,169, 87, 32,189, 34,204, 48,  1,138,172, 89,179,  6, 40,139, 39,184, 40,159,  3,  0,150,245,
-200,197, 61,132, 77,100, 53,  0, 44,146, 72,173,  3,254,111,189, 11, 12, 84, 72,202,135, 79, 38,253, 95,113, 31, 40, 72,252,220,
- 18,114, 29,201,  0,187,216,157,188, 65,  9, 96, 39,  0, 50,123, 65,188,118, 96, 84,194,199,223,109,108,108,128, 37, 56, 73,109,
-127,160,246, 63,127,254, 32,107, 63,120,244,111, 79,103,  6,193,230, 63,164,196,199,  4,253,253,253,222,209, 53,184,244, 34,141,
-254,163,246, 15,136,208, 59, 10,200,  6,  0,  1,196,130, 39,213, 66,154,255,116,110,251, 35,143, 68,209,103, 41, 39,242,104, 15,
-242,250, 16,252, 37, 26,206,254, 44,108,244,159,140,154,  0, 62,250,143,191, 38,216,180,105, 19,154,200,226,197,139, 99, 99, 99,
-145,154,213,126, 64, 95, 96, 30,243,  7, 44,241,129,165,255,143, 31, 63,248,249,249,217,217,217,129,217,251, 63,232,178,207,191,
- 64,113, 96,233, 15,100, 16,236, 85,224, 26,  6,  4, 54, 84,233, 48,104,134,107, 54,152, 24,  0,169,  3, 72,200, 24,  7, 34, 49,
- 61, 27, 41,178,150,164,169, 41,228,230, 63,188,158, 38,178, 97,129,220,252,199, 90,229,227,  7,203,150, 45,131, 24,  2,172,  3,
-200, 24,250,135,180,252,128, 93,195,194,194,194, 51,103,206,192,180, 19, 72, 30, 19, 39, 78,180,181,181, 69, 22, 89,177, 98,197,
-193,131,  7,129,233, 10,210, 34,193,179, 62,125,194,196,  9, 17, 22, 40,205,255,232, 73,223, 86, 28,251, 13,212,107, 24,101,152,
- 97,159, 65,252,218,246, 81, 64,100,243, 31,  8,  0,  2,136,  9, 79,187, 24,146,  8,224,147,  1,248,135,225,202,203,203,201,115,
- 31, 46,189, 74,224,251, 72,137,111,197,163,  1,200,138, 32, 82,135, 77,137, 89,220, 57, 24,128, 31, 24,192,185,144,210, 31, 46,
-136, 89, 67, 64,  0,176,249, 15, 44,229,223,191,127,255,230,205, 27, 32,249, 13, 12,190,124,249,242,233,211,167,143, 31, 63,  2,
-123,  3,192, 30,  0,158, 43,125,128,  5, 16,176,165, 79,176, 18, 29, 84,224, 16, 18,128, 11,  2,189, 15,103,227, 25,215, 70, 30,
-247, 71,110,203,147,212, 44, 64, 83, 12, 44,142,129, 97, 72,246, 76,  0, 80, 47, 49, 73, 26, 88,226,  3,139, 93,200,196, 47,176,
- 14,128,248,157,248, 75, 23,170,203,237,129,218,255,173, 20,  0,106,  7, 54,189, 33,218, 15, 29,251,  7,107,142,227,108,254,195,
-  7,124, 64,227, 54,203,151,102,102,102,  2,205, 41, 40, 40, 32,104, 53,168,249,207,192,184, 20,214,252,143,154,248,141, 57,226,
-227,242, 99,191,128,122, 59,119,116,141, 22,226, 52, 42,253,129,  0, 32,128,176,247,  0,102,205,154,  5, 31,250,135, 79,  6,224,
- 47, 28, 33,229, 56,164, 45, 79,234,112, 13,154, 94, 72,159,  0, 40, 72,222,176, 15,124, 25, 40, 61,  1,164,225, 79,222,248, 15,
-164,225, 79,204,248, 15,188,244,135, 51,224,101, 61, 86, 65, 52, 32, 44, 44,252,246,237, 91, 96,123,255,245,235,215,192, 30,  0,
-176,125,  7,233,  1,124,253,250, 21, 88, 19,  0, 75,127, 96, 53, 80, 86,134,115,206, 13,210,204,199,186, 68, 24, 34,139,215,205,
- 84,152,  3, 32, 82, 28, 25, 64,134, 77,208, 11,184,234,234,214,214, 86, 17, 17, 17,154, 38,  9,204,230, 63, 28, 16,156,  9,192,
-108,254,147,212,246,143,142,142,142,137,137,  1, 70, 46,208,251, 85, 85, 85,192,222, 15,241, 23,218,212, 84,216, 31, 56,112,128,
-113, 13,232,126,214, 93, 53,188,110, 45,159,129,218, 91, 59, 65,173,120,252, 93, 16,200,218,127,112,171,127,217,193,131,135,255,
- 51,254, 47, 44, 40, 84, 87, 87, 39,198, 82,160,222,  8, 43, 86, 68,171,159,  1,164, 87,220, 77,130,140,153,143, 81,128,165, 60,
-239,172,192,172, 24, 32, 35,  4,  0,  1,196,130,167,237, 15, 44,253,145, 39,  3,  8,118, 93,145,203,113,242,250,  1, 16,189, 20,
-142,252, 64,220, 76,102, 57, 62,232, 19, 28,100,144, 10,126, 85, 55,114, 63,  0,171, 32, 50,144,145,145,185,115,231, 14,176,196,
-  7, 54,249,127,255,254, 13, 25,250,255,241,227,  7,100, 45, 41,100, 78, 88, 89, 89, 25, 79,205, 10, 52, 28,210,  9,128,167,  4,
- 96, 80,163,137,224, 24,182,162,254, 28,  0,242,136, 16,174,176,194, 42, 14, 90,196, 89, 93, 29, 30, 30,190,114,229, 74,226,  7,
- 42,209,216,109, 34,193,201, 14,203, 35,247, 96,223,  8,230,238,238,126,255,254,125,180, 93,  8, 16,  0, 20,103,192,187, 41, 44,
- 52,116,117,104,168,179,171,235, 61,204,201,134,183,111,157, 25, 24,222,167,167,227,204,137,240,171, 16, 33,157,140, 93,187,118,
- 49,144,114,157, 25, 19, 19, 35,168, 17,  3, 41,253, 47,253,153,191, 31,116, 17, 38,176,244, 39, 38,107, 64,146, 19,176,213, 15,
- 36, 11,139, 10,213,213,212,137,180,180,180,172,  4,172,151,  1,216,234,135,232,149,112,147,  4,141, 54,141, 22,254,180,  7,  0,
-  1,196,130,171, 59, 15,159,248,133, 47,243, 32,102, 76,156, 42, 99, 65,164,238,  0, 24,129,  0, 62,228,  2, 47,227, 32,187, 55,
-144,  5,177,142,153,  2,219,104,219,182,109,251,243,231,207,135, 15, 31, 32,115,  0, 12,224,213, 65, 64, 46,144, 77, 48,238,242,
-243,243, 39, 78,156,  8,169,  6,144,199,253,129,226,180,174, 59,129,197, 61, 49,133, 62,214,210, 16,179, 98,  0, 54,177,137, 44,
-253, 49, 75, 97,216,132, 48,225,102, 10,214, 35, 13, 30, 60,120,192, 64,196, 18,  3,248,  0, 44,170,203, 93,136,241, 47,176,159,
-  7, 44,250,145,  7,223,137,  1, 64,237,255, 86, 10,  2,203,125, 32,123,193,254, 95, 43,142,253,  2,106, 63,124,156,132,209,170,
- 67,135, 14, 21, 20, 20, 16,217,234,135,  3, 72, 34, 92,121,252, 55, 80,175,132,187, 36,172, 62, 33, 74, 47,100,187, 47,100,122,
- 31, 45,154, 70,119,  2, 51, 96,187, 14, 12,109, 39, 48, 64,  0,177, 96,205, 30,144, 77, 85,200, 77, 63,130, 67, 64,104,217,131,
-236, 58,128,114, 67,224,167, 65, 16,  9,128,149, 13,214, 33,108, 98, 42, 33,204, 49, 31,226, 71,129, 48,199,124,136, 28,  5,130,
-207, 84, 35,231,109,172,130, 88,155,105,222,222,222, 75,151, 46,101, 99, 99,251,249,243, 39,176, 14,248,247,239,159,128,128,192,
-251,247,239,137,217,252,172,165,165,  5, 52,127,247,238,221,144,101, 63,144, 61,  1, 67, 46,131,237,219,183, 15, 24,  8, 91,182,
-108, 33,163,244,135,151,149,247,202,203,241,116, 85, 75, 75, 75, 25,112, 44,159, 43, 43, 43,195, 63,  7,144,158, 46,136, 75, 47,
-176,237, 79, 76, 57, 78,176, 15,132,  7,184,183,124,134,179, 73, 42,253,167, 77,155, 70, 94,116,244,116,247,130,154,252, 20,  0,
-172,149, 37,252,246,233, 81,128,  7,  0,  4, 16,206,101,160,  4, 69,104, 10,232,185,  3,  0,115,174,143,232,106,134,204,130, 15,
-164,151,147, 76,215, 66, 70,183, 32,149, 19,218, 72, 23,178, 32,126, 31, 69, 71, 71,223,189,123,119,255,254,253,223,191,127,255,
-251,247,175,175,175, 47,176, 40, 39, 62,204, 93,193,  0,210,118, 35,178,225, 79,173, 57,  0, 92,108, 60,165, 33,218,186, 20, 98,
-118, 51, 49, 64,142,250, 89,126, 55, 82, 20,165,  2, 72,249,100,152,236,184,130, 37, 61,  2, 82, 89, 66,164,176,246,180,240,132,
-191,179,179, 51,193,  4, 73,134, 20,220,191,192, 24,  9, 12, 12,132,156, 62, 68, 42, 96, 10,127, 15,212,238,231,159,  6,105, 43,
- 64, 22,125, 34, 31,243, 64, 11, 96, 28, 99, 68,182, 94, 96,  3, 31, 87, 61,  7,145, 26,  5,248,  1, 64,  0, 13,198,195,224,200,
-104,182,208,191, 17, 74,137,141,148,156,242, 70, 45,159, 42,131,  1,154,224,175, 95,191,152,193,128,218, 17, 58,125,128,244, 98,
- 73, 72,144,227,195,  8,247,237,182,129,142,250,129,140,124,194,  5,129,165, 63,195,127,  6,200,113,129,195, 35,227, 96,104, 39,
- 60,244, 78,245,229,152,248,207,249,161, 93,101, 57, 58, 40,  4,  4,  0,  1, 52,122, 41,252, 40, 24,  5,163, 96, 20,140, 80,  0,
- 16, 64,163, 55,130,141,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52, 90,  1,140,130, 81, 48, 10, 70,193,  8,  5,  0,  1,196, 50,
- 26,  4,163, 96, 20,140,  2,100,192,136,201,250, 15, 39, 70,193,176,  2,  0,  1, 52,218,  3, 24,161,  0,235,225,224,163, 96, 20,
- 48,130, 49, 35,232, 12,104, 70, 12, 48,186, 55,107,184,  1,128,  0, 26,189, 20,126,132,234,245,181,157, 57,188,253, 27,231,167,
-139,104,230, 48, 49, 65,150,171,194, 87, 52,254,135,  1,136,130, 69,155, 46, 35,235,253,240, 96, 63,  7,  7,  7, 68, 61,228,  0,
-109,100,189,144, 83,243,254,253,251,  7,100,255,254,253,155, 87,214,110,  4,164, 43, 70,102, 22,246,255,255,254,252,251,247,103,
-203,145, 39,200,139, 66,113,233,  5,  6,209,203,151, 47, 37, 36, 36,200,176,151, 18,189,163,121,159,129,148,149, 90,  0,  1, 52,
-228,135,128,170,171, 17, 87,216,181,182,154,209, 79,239, 41,208,165,122,173,102,173,112,  6,169, 46,199,181, 79, 21,151, 56,169,
-230, 12,183,190,234,175,175, 44,111,239,171,254,184, 36,253,231,241,173,255,138, 79,120,181,190,241,201,179,113,243,226, 82,127,
-228,200, 17, 27, 27, 27, 72,209, 15, 41,196, 33,141, 88,120, 33,254, 15,  6, 30, 62,124,136,166,247,220,185,115,198,198,198,156,
-156,156, 44, 44, 44, 64,141,112,237,144,114,255, 47, 12,252,252,249,243,236,217,179, 14,178,118,131, 63,244,128, 46,127,251,246,
-237,241,227,199,  5,  4,  4,208, 54, 70, 16,238, 19, 48, 50,177,115,  8,  9,  8,170,127,253,242,244,203,231,199,160,110,  0,227,
-127,134,255,248, 70,132,128,161,180,102,205,154, 91,183,110,  1,217,192, 96, 44, 46, 46, 38,222, 58,136,222,123,119,239,  0,195,
-156,141,157,189,160,160,144,166,187, 16, 70, 56,  0,  8,160, 65, 84,  1,224, 58,105,146,  1,239, 65, 99,144,130, 27,185, 40, 39,
- 30, 80,162,119, 56,  1, 10,247,142,210,161,244,250,252,240,250,199, 67,171,190,125,251,169, 96,206,196, 41,195,168,250,232,146,
- 41,195,197,247, 63,121, 46,112,197,189, 97,148,198,170,233,218,181,107,192, 18,  4, 88,216,177,192,  0,164, 50,128, 52,252,255,
-252,249,  3, 44,193,129,237,119, 96,233,191,111,223, 62,102, 97, 19,100,189,223,190,125, 59,127,254,188,133,133,  5, 27, 27, 27,
-252,210, 52,160,118, 96,217,244,  7, 12,128, 26,191,127,255, 14, 84,243,229,203,151,193, 28,179, 85, 85, 85,200,153,232,243,231,
-207,  6,  6,  6,100,232, 93,188,236, 44, 39,167, 24,176, 64,  6, 85,  0,140, 12,255, 33,187,  5,112, 23,203,207,158, 61,  3,134,
- 76, 84, 84,148,146,146, 18,228, 92, 10, 33, 33, 33, 19, 19, 19,172,138, 19,220, 81,118,198, 93,190,113,227,  0, 47, 87, 81,127,
-147,161,145,206,243, 39,175,118,109, 59,160,160, 99,248,233,211,199,209,194,154,108,128, 54,222,139,188,244, 31, 32,128, 88,176,
-150,  5,144, 82,  0, 23,155, 70,165,127, 86, 22,246,123,210,223,191,127,191,124,249,114, 60,117,  0,164,  4, 39,181,  9, 79,161,
- 94,120,219,159,140,230, 63,218,205, 51,184, 20,208, 40,180, 33, 61,  6, 56,  9, 17,124,247, 14,180,107, 70, 72,104,207, 32, 76,
-190,191, 30, 95, 99, 63,182,248,231,183,127, 65, 42,204,234,162,127,254,  9,253,103, 21, 98,254,252,150,141,243,243,119,205,139,
- 83,206,170,101,124,227,146,199,214,110,101,188,126,253, 58,176,  4,119,114,114,130,148,227, 64,  0, 44,196, 33, 87,223,  0, 11,
-113, 96,251,253,241,227,199,251,247,239,  7,214,  4,104, 59,223,128,202,128,106, 46, 94,188,  8,172, 63,128, 13, 88,118,118,118,
-136, 94, 72,  5,  0,212,  8, 44,221, 46, 95,190,252,227,199, 15,130,155,230, 30, 60,120,  0,180,  5, 88,242,  2,221, 32, 46, 46,
-174,170,170, 10, 25, 92, 34,  6, 80,162, 23,232,212,154,154, 26,248, 97,168,192,210, 28, 88, 35,138,137,137,  9, 11, 11, 19, 89,
-250,207, 75, 74,242, 50, 52,  4,178, 37,114,115, 57,185,196,191,124,122,244,233,227,221,255,255,255,130, 14,140,251, 71,224, 66,
- 58, 96,113, 47, 34, 34,178,104,209,162,248,248,248, 77,155, 54,  1,185,135, 14, 29,250,245,235, 23,  3,131, 28, 86,245,111,219,
-139,224,108,158, 95,191,165,254,252, 40, 40,173,239,239,105,236,238,153, 38,205,244,119, 90, 79,159, 83, 68, 20, 46,189,163,128,
-164,210,159,  1,233, 40, 80, 32,  0,  8, 32,236, 61,  0,228, 35, 80,112,177,169, 14,232,127,134, 51, 21,  6,160, 96,117,  0, 73,
-  0, 94,167,206, 15, 92,132, 41,155,184, 62,142,166,205,112,136,225,200, 36,193,107,187,  7, 16,252,248,240, 70,237,254,214, 87,
-204,127, 85,248, 25,228,229,254, 51,235,177,177, 40, 41,177,253,252,241,243,232,227,159, 31, 89,152,255,177,254,216,179,152,201,
- 43,255, 31, 11,250, 88, 16,252,242, 75, 65, 65, 65, 71, 71, 71, 96,209,  9, 44, 70,129, 13,121, 72,195, 31, 88,118,  3, 91,169,
-  7, 15, 30,100,  2,  3,172,122,129, 42,175, 94,189,106, 99, 99,195,199,199,  7,212, 14, 20,  1,150,254,192, 82,236,211,167, 79,
-167, 79,159,  6, 86,  3, 64,211, 32, 51,  1,184,192,165, 75,151,142, 29, 59,118,255,254,125,160, 22,160,237, 18, 18, 18,192, 86,
-176,149,149, 21, 55, 55,225,173,224,100,235,  5, 58,  9,114,243, 15,178, 32,228, 92,104, 96, 43,138,152, 42,132,137,153, 13,153,
-251, 98,242,100,137,  0,153,238,238,137,191,127,127,  5,  7, 14,227, 63, 96,233,255, 31,212,  5,248,143,123,252,237,228,201,147,
- 21, 21, 21,192, 64, 11, 10, 10,146,149,149,  5, 86,180,219,182,109, 51,119, 39,180,233,151,145,113,201,157,231,107,111, 63,221,
-180,113, 33, 51, 51, 99, 81,110,172,190,132,200,172,130,250,217,196,232, 29,  5, 56, 74,127,228, 38, 63, 90,125,  0, 16, 64, 36,
-172,  2,162,245,113,143, 74,184,  1, 45,154,240, 20,234,101, 32,107,220,159,234,109,121,248,101,150,196, 23,226, 88, 85,  2,219,
-254, 68, 54,255,129,133, 32,176,248,195,228, 34, 11, 98,  2,184, 26,248, 45,131,152, 92,172,224,221,213,115,207,158,126, 18,227,
-101, 81,226,253,207, 34,242,143,197,210,131, 91,127, 49,167, 81, 47, 59, 63, 39,219,151,239,223,190,253,149, 99,254,246,254,210,
- 49, 44,165, 24, 19, 19,228,178,251,219,183,111,  3, 91,235,192, 66, 92, 24, 12,128, 45, 83,  1,  1,129,143, 31, 63,  2,219,164,
-192,226,  9, 50,202,143,166, 23, 34, 14, 44,118,129,117,192,173, 91,183,184,184,184,128,186,128,205,103, 81, 81, 81, 30, 30, 30,
-160,  8,176, 10,129, 12, 13, 97, 86, 30,200,237,247,221,187,119,223,189,123, 87, 81, 81,209,221,221,221,204,204,236,219,183,111,
-251,246,237,  3,118, 44,128,213, 15,193,182,255,238, 61,123,239, 61,255,200,171, 98,161,230,158, 44,109,230,247,254, 39, 19, 80,
-132,160, 94, 96,233, 15,172, 48,128,149,  7,176,  8,214,211,211,131, 15,227, 64, 24,  4, 75,127, 96,209,207,205, 35, 37, 36,172,
-179,116,197,165,164,121,243,182,157, 63, 15, 68,192, 30,  0,  3,104,186,251, 43, 84, 13, 35, 16,225, 91, 15,  4, 44,232,129,173,
-254,156,156, 28, 94, 94, 94, 96,208,173, 93,187, 22,232,152, 55,111,222,168,169,169, 17, 76, 93, 19,207,223,238, 57,113,101,118,
- 79, 37, 11,243,119,166,191,159,187, 38,204, 91,121,232,236, 51, 38, 22, 82, 79, 24, 29,  5, 68,  2,128,  0, 98, 33,190,160, 31,
-204, 83, 49, 35,182, 26,128, 12,221,144, 52,122,131,217,189,128,247,  3,  8,246, 60, 62,127,254, 12,108,150,  2,155,213,166,166,
-166,104,220, 83,167, 78, 65,  4,177,  2,136, 44,144,  4,182, 76,129,205, 88, 96,209,  0, 17, 68,230, 98,  5,124, 63,222,110,123,
-244, 67,250, 61,179, 33, 31,163,232,107,  6, 21, 22,126, 38, 70,225,255, 63, 94,126,125,201,120,245,209,191, 23, 95,127,  0,203,
- 96,134,127,183, 24,140,220,113, 85,  0,236,236,236,192, 82, 88, 90, 90,218,213,213, 21, 88,178,  3,139,200,183,111,223,  2,139,
- 36,160, 20,176,136,135, 28,127,244, 15, 67, 47, 68, 59, 80,  1, 48,217,  3, 59,190, 42, 42, 42,252,252,252, 95,190,124, 57,127,
-254, 60,176, 86,  0,154,249, 19, 12,240,180,138,128,213,219,147, 39, 79,244,245,245, 29, 28, 28,100,100,100,190,126,253, 10,172,
- 63,128,221,220,227,199,143, 19, 28,204,  1,234,125,249,238,163,144,154,133,146,109,184,128,140,218,207,175, 31, 30,157,220,122,
-123,239, 66,130,122, 33,179, 23,192,206,141,184,184, 56,176,192,  5,214,  4,144,162, 31, 50, 22,  4,100, 99,189, 33,  7, 90,237,
-177,112,  8,  8,170, 11,  8,169, 51, 49,177,  2,139,251,185,243,247, 39, 37, 58, 66,244,166,166,166,  2, 29, 15,209, 11,246, 50,
-184, 40,192, 54, 13,  0, 12,216,205,155, 55,103,101,101, 73, 74,130, 14,248,220,187,119, 47,176, 50,227,  4,  3,111,111,239, 99,
-215,190,227,241,245,178,155,143,123, 79,223,152,211, 81, 46,163, 46,255,245,203,251,141,219, 79, 95,186,124, 83,224,255, 63,182,
- 23, 47,189,115,162,143, 94,253, 62, 90, 94,147, 10,208, 78,250,193,236, 16,  0,  4, 16, 11,102, 89,  0, 63,228, 22, 23,123, 80,
-  1,178, 11,110, 10,245,146, 61,254, 67,121,171,159, 24, 41, 60, 69, 57,217,171,134,128, 57, 25, 88,220,191,127,255, 30, 43,151,
- 72,  0,172, 45,128,229, 47,176,208, 87, 80, 80,192,228, 98,130,215,111, 30, 31,123,254,221,155,139,235,240,227,127, 82, 70,236,
-138, 63,207,190,191,150,181,190,235,210,191,  7, 31,191,252,250,255,244,243, 95, 78, 22,166, 63, 31, 95,240, 99,107,199,192,235,
-  0, 96,137,249,240,225,195, 27, 55,110,104,107,107,  3, 29,124,226,196,  9,200,200, 62,174, 65,124,160, 94, 72, 39,  0,162, 23,
- 88,  7, 60,126,252, 88, 87, 87, 23, 88,124,  3,235, 15,160,  8, 80, 28,178, 58,  8, 79, 15,224,209,163, 71, 64,243,141,141,141,
-129,165, 63, 80, 49,176, 11, 98,110,110, 14,180, 26, 40, 14,172, 57,240,135, 18, 80,205, 63, 38, 54,105,  3, 23, 96,233,207,196,
-204,202,201, 39, 42,103,238,253,240,196, 38,252,122,129,238,252,240,225,195,211,167, 79,229,228,228,172,173,173,129,150, 66, 70,
-126,226,227,227, 33, 10,128,117, 24, 30, 75, 57, 56,132,133, 69,245,127,253,252,248,230,237,249,159, 63,223,255,254, 13,154,223,
-134,232,125,249,226,  5, 92, 47,168,245,143,163,214,123,254,252,249,210,165, 75,163,163,163,129, 97,197,  0,190,142,  6,216, 27,
-168,172,172,  4,214, 70, 48, 37, 56,151, 39,222,250,244,173,252,224,133,142,146,116, 91, 31,151,175, 95,222,172, 90,119,112,230,
-220,181,219,139, 18,148, 94, 61,233,252,244, 66, 72, 72, 24,143,222, 81, 64,228, 88, 16,102,149,  0, 16, 64, 44, 88,135, 98,  8,
-178,  7, 57,160,124,141, 38, 49,160,197,180,133,254, 55,136, 33,151,221,104,149,  1, 53, 14,131,196,  9,110,222,188,  9,155,199,
-195,194, 37,  9,  0,139,224,221,187,119, 67, 46,241, 64,230, 98,237,230, 95,124,247,253,227,175,127, 23, 95,255,121,246,225,143,
-248,  9, 22,189, 85,119, 30, 62,184,122,243,228,175, 63, 44,204,191,254, 49,252,248,245,255,253,255,127,162,130,255,177, 22,226,
-240,  5,160,144,101, 60, 47, 95,190,148,151,151,  7,214, 91,144, 97, 31, 32,137,216,224, 68,  8,192, 55, 13, 64,200,193,121,115,
- 28,176,114,130,220,130,162,168,168,136, 92,177,157, 57,115,  6, 72,  2,131, 23,114,233, 30,174,107,127,128,161,  5, 36,191,127,
-123,249,229,243,227,191,127,127, 32,235,221,  4,174,170,129,221, 32,144,222,255,216,199,254,129,241, 56,121,242,100, 96, 51,223,
-198,198,  6,200, 61,122,244,232,134, 13, 27,178,179,179,145, 74,127,156,224,249,183,159,177,219, 78, 20,132,121,135,196,  6,127,
-251,241,105,253,166,  3, 19,166, 45, 91,228,102, 10, 44,253, 71,203,110,170,215,  4,200,117,  0, 64,  0, 81,115, 39, 48,242, 72,
- 52, 46,246,112,  2,131,161, 20,128,140,221, 19, 63,254,131,103,206,  0,127, 28,  1,139, 15, 87, 87, 87, 65, 65, 65,172, 92,146,
-  0, 80, 23, 80, 47,188,184, 71,227,162,129,239,127,249,126, 51, 50,156,121,243,243,213,223,191,123,239,253, 88,181,250,199,190,
- 39,162,119,216,248,159,124,252,253,248,243,191,175,127, 24,190,253,249,207, 46, 44,129,171,200,134,172,244,255,251,247,239,159,
- 63,127,132,133,133,121,120,120,128,117,192,239,223,191, 33, 34,104,219,193,144,245, 66, 86,250,  3,213,124,255,254, 29,200,149,
-149,149,  5,182,172, 37, 37, 37,129,213,  6,176, 13, 14,172,249, 32, 38,227, 25, 23,  5, 54,195,129,125,133,179,103,207, 62,121,
-242,  4,114, 13,231,201,147, 39,191,124,249,  2, 20,  7,118, 62,240,  7, 17, 80, 13,211,191, 95, 79,207,239,249,240,228,214,191,
-191,191,191,127,122,253,232,228,214, 95, 95,223,227,215, 11,119,204,183,111,223,224,179,211,192, 78,192,213,171, 87,129,229, 56,
-228,210,246,143, 31,113,174,167,  4,250,245,207,239, 47,156,220, 18, 28,156, 66,144, 29,193,200,122,103,207,158, 13,209,251, 15,
- 53,192,128, 29,184, 69,139, 22,  1, 91, 15, 77, 77, 77,126,126,126, 62, 62, 62,144,174,192,230,205,155, 75, 75, 75,129, 93, 46,
- 60,222,  4,234, 93,188,120,113, 68, 86,142,211,154,131, 37,113, 65,121,101,153, 63,126,125,185,127,247,241,204,153,171, 54,248,
- 90, 57,200,138, 17,159,168,128,149,205,104,225,142,127, 44,  8, 94,238, 35,207,  3,  3,  4, 16,245,143,130,192,188, 61, 21,147,
- 77,229,246, 62,198, 66,126,228, 38, 63,254,230, 63,166,222, 83, 64,161,234,106, 76, 54, 49, 67, 64,196,235,165, 86,111,  0,190,
-152,135,248,230,255,187,119, 46,240,153,  3,146, 58, 16, 10, 10, 10,190,190,190,192,102, 32, 86, 46,145,  0,168, 30,168, 11, 62,
-224,131,198,197,162, 94, 85, 69,149,155,153,151,145,225,247,255,255,215,223,255, 90,122,231,231,242, 99,207, 78,223,125,247,236,
- 59,195,219, 31,127,239,126,249,255,252,231,127, 89,101, 21,172,165, 33,100,213, 38,176,176,  6, 22,226,192,178, 91, 71, 71,  7,
- 92,101, 10,153,153,153, 65, 10,113, 72, 57,142, 89,136, 67, 10,119, 96, 61,  1, 84,  0,172,230,149,149,149, 63,124,248,240,248,
-241,227,119,239,222,  1,157, 10,236, 85,  0,197,129, 38, 64,148,225,114,185,169,169,169,140,140, 12,176,  0,221,177, 99,199, 22,
- 48, 56,124,248, 48,176, 97,110,105,105,137,103,206,  3,174, 87, 92,136,255,237,189, 11, 55,119,207,191,186,117,250,245,173, 51,
- 31, 30,223,192,206,244, 15,191, 94, 96,229,  4,108,110,243,241,241, 93,188,120, 17, 88,235, 32, 87,  3,144,182,252,210,165, 75,
-241,148,200,191,126,126,252,248,225, 14, 43, 43,183,128,144,  6, 55,143, 52,144,  1,233, 19,  0,193,179,147, 83,247, 47,202,115,
-213,248,  2,174,  0, 24,160,219,192,192,193,182,117,235, 86, 78, 78, 78,160,177,192,144,177,176,176,128,119,  5, 98, 98, 98,128,
- 29, 17,252,222,220,182,109, 43, 31, 31,143,157,189,185,129,145, 94, 96, 86,210, 55,198, 63,175, 95,189,203,200,109,238, 52, 81,
- 49, 18, 35,161,109,  1, 44,253,187,186,186, 70,235,  0, 98,170,  1, 52, 17,128,  0,162,211, 70,176,  1,105, 44,147, 55, 70,111,
-214,218,138, 92,118,  3,185, 84,215, 11,111,107, 39,174,143,195,163,128,214,123,178,224,182, 32,239, 12,192,175,  5, 88,250, 56,
- 59, 59,  3,203, 80, 76, 46,176, 84,197, 23, 50, 96, 89, 32,105,104,104,  8, 44,167,224,130,200, 92,172, 64, 90, 77, 75,247,234,
- 89,249,247, 31,223,252,253,247,233,199, 31,118, 96,105,253,243,143, 28, 15,203,251, 63,127,158,126,  5,173, 32,242, 86, 21,231,
- 86,208,250,130,109, 60,  4,190,226, 83, 87, 87, 87, 95, 95, 31, 88, 48, 65, 22,110,  2,157, 13, 44,170,214,175, 95, 15,217, 16,
-  0, 20, 97,196,208, 11,217,237,  5, 76,183,106,106,106,192,250,227,245,235,215,144, 37,164, 64,211,128, 34,175, 94,189,130,232,
-  5,138,224,169, 47,129, 61, 27,200, 82, 78, 96,137, 12, 95,202,  9,116,  9,193,213, 56, 32,189, 46,206, 32,189,119, 79, 62, 59,
-191, 27,170,215,218,137,160, 94, 96,233,111,100,100,116,244,232, 81,160, 94,105,105,105,160, 57,220,220,220, 85, 85, 85,147, 38,
- 77,  2,118,125,128,182,247,245,245,225,186, 35, 30, 88,229,125,124,127,  7, 88,172,243, 11,169, 73, 72, 89,126,255,254,230,203,
-167,135,221, 61,147, 26, 27,170,164,100, 24,150,231,115, 49,134,189,119,140, 99,128,212,152,240,141,192,183,110,221,  2,166,  1,
- 27, 27, 27,160,249,192, 42,  7, 40, 55,101,202,148,240,240,112, 72,117,139, 31,220,188,121, 43, 36,216, 63, 34,194, 79, 71, 87,
-253,237,231,143, 95, 62,190, 73,203,107,110, 14,116,118,254,247,141,164,210,127,194,132,  9,192, 72,  1,214, 58,185,185,185,  1,
-  1,  1,163,  5, 61,242,128, 15,214,114, 31, 14,  0,  2,136,133, 62,  5, 61,193, 21, 68, 33, 33, 33,228,237,  4,198,  5,144, 55,
-106,145, 87,  7,144, 90,250, 19,175, 23,255,170, 27, 90, 31,237,  0, 31, 47,130,219,130,188, 39,128, 32,  0,150,131,200,171,125,
-224, 92, 60, 75,128,224,178,104,106,240,107,129,  0, 41, 69,229, 31,102,182,127, 78,109,123,240,145,129,135,145, 85,158,135,233,
-233, 95, 70,102,118,150, 67,175,254,254,248,199, 32,202,206,172,108, 98,247, 69, 80,  1, 91,113,  6,106,194,  3, 91,220,192,118,
- 40,176, 76,252,244,233, 19,176,236,134, 84,  0,192,246, 59,176,210,  2,150, 89,155, 55,111,134, 12,  7,161,101,  3,160,  8,100,
-219,176,166,166, 38,100,244,  6,168, 23,146,182, 33,253,  6,160, 56,176, 55,240,229,203, 23,252,  9, 91, 79, 79, 15, 88, 34,147,
-183,153,139, 60,189, 64,103, 75, 73, 73,185,187,187,  3,107,157, 27, 55,110, 60,122,244,  8, 88,219,  9,  8,  8,  0,171,162, 57,
-115,230,224,218,139,139, 52, 10,244,237,195,251,155, 63,126,188, 19, 16, 84,227,225,149,229,229,147,251,250,249,105, 71,231,220,
-200,  8, 23, 96,  5,  0, 11,216,255,200, 53,128,151,151,215,182,109,219,128, 29, 14, 96,128,248,249,249, 45, 92,184, 16, 88,175,
-107,104,104, 16,227, 71,111,111,175,245,235, 55,127,250,240,246,201,179,231,249,217,113,165, 21,109,129, 78, 86, 54, 63, 63, 49,
-176, 18, 91, 46,  1, 75,255,134,134,  6, 72, 55, 20,216, 81,  3,246,  3,202,202,202, 70,235,  0,252,245,  1, 50,  0,  8, 32,106,
- 86,  0, 20,174, 32, 34,163,148,135,128, 55,111,230, 86,159,218,136,117,192,135,224,244, 47, 80,239,169,234,141,104, 13,118,228,
- 97, 28, 60,229,248,155,185,111, 78,109,172, 38, 79,239, 64,129,161,120,106,144,130,149,227,165,159,127, 94,239,219,203,250,231,
-251,165,207,255,247,124,254,195,198,200, 40,252,255,191,163,164,128,189,155,179,144,177,  3,142,246, 44,168,  7,  0,108,  2,  3,
-203, 35, 96, 19, 30, 88,208,  3,139, 81, 72, 33, 14,105,188,139,138,138, 90, 91, 91,239,220,185, 19,115, 24,  7, 40,  2,172, 42,
-128,205,109,160,122, 96,171, 22,210,141, 96,128,205, 43,  0,185, 64,  5,192, 94,197,137, 19, 39,  8, 78,131, 43,128,  1,153, 30,
- 39, 75, 47,176, 14,  0,150,248, 64,231,  1,123,  0,192, 78, 15,176,239,  2, 20,124,250,244,169,167,167, 39,176,249, 79, 80,251,
-223,191, 63,191,126,121,250,235,215, 71,206, 79, 15,248,  4,148,185,120,164,128,104,215,222,151,140,206,226,176,198, 28,152,132,
-169,183,178,178,  2,  6, 44,176,244,  7,214,  4,194,194,194,113,113,113,  7, 14, 28, 32,210,169,150,150, 86,236,236,236,124,215,
-206,102,103, 39,203,168,169,118, 21, 36, 47,152,182,112, 10,243, 15,226, 75,255,242,242,114,160,103,159, 61,123,198,201,201,  9,
-140, 20, 96,119,167,181,181,181,186,186,122,180, 14,128,143,249,  0, 11,125, 60, 71, 65,  0,  4, 16,149,123,  0,  3,178,130,  8,
-107,161, 70,100,243, 31, 83, 47,114,251, 29, 50,158,131,171, 28,167, 68, 47,158,178,152,212, 50,122,216,159,  4,  7, 44,209, 12,
-156,221,133,165,100, 94, 95,191,194,252,240,158,202,239,231,188,194,226, 86,186, 26,218,198, 58,223, 37,112,238, 15,  2,150,212,
-192,182, 63,176,153, 15, 25,172,  7,118,  5,128, 12,200,113, 14,240,209, 33, 89, 89, 89, 96, 29,128, 89, 96,  1, 75, 19,  3,  3,
-  3, 96, 29,  0, 44,223, 33, 42,225,139,106,224, 39,193,  1,141, 50, 52, 52, 60,123,246,236,224, 12, 52,160,227,197,192, 64, 93,
- 93, 29,232, 95, 96, 53,  6,244, 62, 48, 52,170,137,154,151,250,255,251,215,231,223,191,190,124,255,254,154,157, 93,144,149,141,
-151,137,137,101,201,210,173, 49,209,222,208, 90, 16, 85, 53,164, 99,209,219,219, 11,172,104,129, 12, 53, 53, 53,226,175,149, 54,
- 50, 50,102, 54, 53, 77,106,128,232,253,175,166,166,174, 22, 16,128,127, 84, 16, 25,116,118,118,142,150,242,196,212,  1, 88, 75,
-127, 32,  0,  8,160, 97,123, 33, 12,217, 75, 63,145,139,108, 82,155,240,148,232, 29,  5,248,129,172,166, 54, 16,  1, 25,240,179,
- 55,241,239, 11, 10, 13, 13, 21, 20, 20,132, 44,245,  1,150,128,144, 33, 29, 72, 15,  0, 50,241, 11, 57, 16, 84, 89, 89, 25, 40,
-120,228,202, 87,100,189, 19, 38, 76, 88,189,122, 53, 68,  1,232,164, 32, 28,199, 65,  3, 91,190,  4,  7, 85,  6, 73, 13,202,  3,
-  6, 36, 54, 23, 32,213,192,103, 96,233, 15, 52,  3, 24,108, 16,189,184,198,188, 32, 71,126, 66,130,154, 36,231,  1,131,185,176,
-176,144, 12,189,163,205,124,226,235,  0, 92, 82,  0,  1, 52,122, 41,252, 40, 24,  5,163,  0,163, 92, 96, 96, 64, 63,236,225,255,
-232,141, 96,195, 16,  0,  4,208,232,149,144,163, 96, 20,140,  2,140,198, 63,195,232, 13,144, 35,  2,  0,  4,208,232,149,144,163,
- 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130,
- 81, 48, 66,  1, 64,  0,141, 94, 10, 63,170,119, 84, 47, 97,189,233,233,233,254,  1,233, 27, 55, 96, 57,114, 99, 52,172,  6, 92,
-111, 43,108,197, 29,174, 69,174,163,151,194,227,  2,  0,  1,196,130,150,202, 49, 85, 16,185,110,108, 80,233, 37, 82,251, 64,185,
-121,240,  0, 60,103, 78,224, 58, 63, 22,171,247,135,247, 94,  4, 72,233,239,229,105,  4, 57, 70,111,216,111,188, 24, 90,  0, 88,
-250,251,250, 42,195,217,213,213,213,163, 97, 66, 60,  0,  8, 32,244, 85, 64,255, 87,161,156,193,196, 24, 70,194,105,239,104, 25,
-131,164, 19, 64, 41,209,139,230,102,146,156, 61, 80,110,134,128,119,175,239,188,126,253,252,229,155, 47, 31, 63,254,230,231,103,
- 21, 23,225, 17, 21,149, 20, 18, 37,234,120,181,115,199,167,221,187,123,235,238,131, 31,143,159,255,151,149,100, 84, 86,224, 80,
- 82, 86, 51,178,204,162, 86,202, 64, 62, 59,208,215,118, 38,158,106,  3,114,182,232, 80, 41, 22, 15, 31, 62, 44, 46, 46, 46, 47,
- 47, 79,240, 72, 78,100,  0, 44,253,211,210,210, 24, 24,102,109, 28, 61,112,108,240,129, 95,191,202,119,238, 76,115,119,159,229,
-235,219,  9,233, 13,140, 86,  3, 88, 27,115,152,237, 57,128,  0, 26, 38,203, 64,225, 37, 62, 35, 35,195,191,149,130,131,223,193,
-191,127,125,125,252,232,242,175, 95,191, 85, 20,  5, 28,108,228,  4,248,217,223,127,248,241,244,249,151,219,247,158,127,248,248,
- 70, 86, 78,151,149, 13,231,213,175,239,223,220, 58,118,112, 54, 51,195,167,112,111,  6,107, 99,  6,101,121,134, 59, 15,254, 31,
- 57,243,125,219,254,139, 91,215,150, 90,217,167, 10,138,168, 17,233, 12, 98, 74,109,180, 20,131,217,105,128, 28, 36, 55,152,235,
-128, 23, 47, 94,188,122,245,234,229,203,151,174,174,174, 75,150, 44, 97,  0,239,245,141,138,138,194,127,128, 29, 50,216,182,253,
- 28,176,244,  7,147,163, 96,112, 53,255,129,100,112,240,218,157, 59, 65,100, 90,218, 93, 72,111, 96,180, 43,128, 89,244,195, 69,
-144,115, 52, 64,  0, 13,147, 10,  0,216,  9,128,212,  1, 67,162,244,  7,130, 39,143, 46,139,139,112,152, 26, 42,130,239, 87, 98,
-252,247,239, 63, 31, 15, 59,183, 50,155,130, 44,255,181,155,111,128,178,138, 42, 22,184,244,  2, 75,127, 91,227, 79,  5,137, 12,
-204,204,160, 10,239,247, 31,  6,110, 46,  6, 77, 21,  6, 11,  3,134, 45,251, 63,  1,101,189,131,187, 41, 31,  2, 34,169,218,128,
-212,  1,131, 51,168,175, 95,191,126,238,220, 57, 86, 86, 86,100,193,239,223,191,207,157, 59,247,222,189,123, 17, 17, 17,196, 24,
-178,113,  3,208,203,233, 96,146,  4,  0,191, 39, 25,114,236, 29, 26, 23, 79,140, 48, 32,157, 24,136,135,139,179, 61,244,255,191,
-200,219,183, 74, 15, 30,  8, 63,125,250, 68, 76,236,145,146,210, 71, 49,177,255, 68,159,200, 11,116, 39, 49,231,244,225,209,130,
-159, 75, 45,189,240,193,159,180,180,157, 64,  6,132,132, 72,  1, 25,163,117,  0,214, 54, 28,228,104, 32,184,  8, 64,  0, 13,171,
- 85, 64,140, 67,196,157,239, 94,223,249,253,251,183,153,145, 36, 92,132,137,137,145,141,141,153,147,131,133,149,149, 73, 89, 81,
- 16,216, 51,  0,170,193, 53,242,  3,108,251, 23, 38, 49,252,248,201,112,255, 49,195,251,143, 12, 31, 62, 49, 44,219,196,144,219,
-192, 80,213,195, 96,101,196,192,244,255, 19, 80,205,104,162,135,128, 75,151, 46, 93,184,112,  1,173,244,135,131,253,251,247, 95,
-189,122, 21, 79, 89,124,232,208, 33,120,105, 11, 41,253, 33,108,160, 56, 49, 21,222, 41, 24,192,202, 37,178,126,197,207,197, 90,
-250, 43,221,184, 97,187,103,143,236,173, 59,108,159, 62, 73,222,186,161,179,101,179,232,197,139, 12, 68,223,233, 13,116, 33,176,
-216,  5,246,153,136, 15,103,136, 22, 60, 92,252,122,145,139,123, 60, 92, 92,  0, 82,238, 67,200, 95,190, 42,163,201, 30,185,232,
-199,127,214,  3, 64,  0, 13,150, 30,  0, 85,218,143,255,169, 97, 47,121, 67, 25,240,155,182,136, 25, 99,121,253,230,185,186,178,
- 16,164,220, 71,147,226, 96,103,249,240,241,167,154,178,208,173,123,207,177, 78,  6,220,187,123, 43, 28,116, 36, 23,195,142, 67,
- 12, 83, 23, 51,184,217, 50,120, 57, 48,220,184,195,112,254,234,127, 78, 14, 70, 67,109,  6,119,123,134,117, 59,111, 25, 89, 82,
-109,  8,  8,171,103, 41,159,255,160,207,200,207,229,203,151,113,149,254,240, 58,  0,215, 29, 41,209,209,209, 75,193,  0,200,128,
-251, 23, 88,244,  3, 69, 32,178,244,201, 11,248,185,152,128,239,229, 75,197,147, 39,127, 49, 49,177, 50, 50,252,249,247,255,223,
-239,191,255,254,252, 17, 61,124,232,163,136,200, 79, 25, 98, 87,146,  0,139,221, 43, 87,174, 24, 26, 26, 26, 24, 24, 16,175,  5,
-185,115,131,198, 37,178, 27, 65,106,233,143, 89,220,239, 68,234,  7,140,  2,130,  0, 32,128,208, 43,  0,204,233, 83, 34, 11, 53,
- 92,133, 41, 49,122,105, 49,118, 76,228, 50, 21,172, 19,200, 68,234, 69, 83, 70,252, 92,244,203,215, 95, 28,173,229,128, 13,178,
-195,199, 31,127,251,254, 27, 40, 98,164, 47, 33, 42,204,249,248,233,231, 59,247,223,179,176, 48,169, 42,  9, 30, 61,249, 85, 93,
- 19,139,222,187, 15,126, 88, 27, 51,252,252,205,176,253, 32,195,254,227,255,165,196, 25,149,228, 24,156,109, 24, 52,148, 25, 89,
-152, 65,231,168, 91, 24, 48,116,207,252,129,127,192,135, 32,  3, 79,171,  1, 62,226,143, 54, 46, 49,  8, 39,  0, 30, 60,120,128,
-191,244,135,168,193, 37,101,  7,  6,144, 18, 31, 82,232,195, 43,  6,248,133,198, 84,  7, 20, 54,255,129, 64,224,250,141, 95,191,
-127, 51, 49, 49,253,103,102,  6, 93,138,  0, 57,208,238,239, 63,246, 75,151,136,175,  0, 24,192,247, 74, 30, 61,122, 20,216, 85,
-149,150,150,150,146,146,162,117, 29, 64, 94,219, 31, 88,220,187,207,114, 15, 94,203,144,182, 19,196,  0,114, 33,181,  2,219,230,
- 59,163,133, 59, 26,192,186,174, 15, 32,128,  8,175,  2, 34,126, 93, 16,102,171,144,200,118, 34,214,122,130,248,138,  7,171,203,
-241, 92,158,142,171,152,134, 79, 32, 19,169, 23,171, 50,136,105,192,134,253,191, 85, 56,103, 35,192,107,126, 64, 75, 80, 30, 63,
-251,244,253, 59,232, 90, 43, 21, 37, 65, 96,  5,112,241,234,171,155,183,223,113,112, 48, 43, 43, 10,188,255,136,253,160,249,199,
-207,255, 43,203,131,204,247,176, 99, 48,208, 98,100,103, 99,248,243,  7,212, 15, 16,224,101,184,247,136,193,221,142, 65, 94,  6,
-164,134,166, 41,  9, 94,238, 19, 57, 36, 61, 80,  0,235, 32,  6,169, 78,133,148,245,240, 10,128,166,165, 63, 28,224,186,186, 29,
-207,149,238,112,192,122,247,206,207,223,191, 24,153, 89,254,254,255, 15, 76, 39,127,254,254,251, 13,236,  8,252,253,203,120,251,
- 38,  3,131, 23,169, 46,  1,246,  3,128, 29, 41,110,110,110,126,126,126,226,235,  0, 34,  7,127, 40, 44,253,171,171,171, 91, 91,
- 91,129,165, 63,188, 50,  0,146,192,106,  0, 88,250,111,222,124, 23, 50,  1,  0,153, 37,214,179,139, 31, 45,253, 49, 75,127, 32,
-  0,  8,160,193, 50,  4,132,181, 48, 37,178, 32, 38,105,173, 42,118, 19,168,180,118,  8,232, 18, 98,140,226,231,103,125,255,225,
-135,136, 16, 87,168,159,  6, 48,127,178,179, 51, 51,  3,219,107,255,255,251,184, 41,123,187, 42,  3, 77,120,251,254, 59, 80, 13,
- 86,189,178,146,140,119, 31,254,215, 80,102,112,178,  4, 13,121,221,184,195,160,167,193, 32,200,199,224,233,192,240,239, 31,  3,
-176, 19,112,235, 62, 72, 13,254, 64, 38,200, 32,126, 35,  9, 37,227,102,180,  6,152, 55,189,172, 90,181, 10,165,209,240,255,127,
-120,120, 56,241,117,  0,221, 74,127, 50,234,  6, 56,120, 39, 35,205,118,227,230,127, 86,  6,182,127,160,121,223,223,127,255,252,
-250,255,247,219,159, 63,223, 85, 52,200,112,140,142,142, 14,176,  7, 64,100,233,207,  0,190,230, 19,216,228,135, 23,223,104, 92,
- 92,  0,210, 75,128, 43, 67,227, 18,  4,192,230, 63,164,232,  7,146,200,109,127,200, 44, 49,176, 50, 24, 45,253,177,150,254, 64,
-  0, 16, 64,195, 97, 21, 16,193,158,  7, 65,240,255, 63,  3, 83,248,123,202,235,  0,200, 98, 36,166,176,247,120,154,255, 64, 32,
- 46,194,243,248,233,103, 96,  5,208, 55,253,180,157,149,172,145,158, 56, 35, 43, 35,100, 57, 16,100,165,  6, 80, 22,168,  6,171,
- 94,101,  5,142,163,103,191,  3, 43,  0, 17, 99,134,138, 76,134,252,  4,  6,126, 94,208,200, 79,227, 36,134,134,124,144,130,163,
-103, 65,106, 72, 26, 40, 35,123,206, 99,144,111,  5,  0,182, 91,241,223,216,245,231,207,159,193,150,152,225,165, 63,158,106,  0,
-127, 29,240, 73, 75,155,253,210,165,127,255,255,115, 51,177, 48, 51, 51,254,  1,150,254,191,127,127,254,245,235,183,190, 62, 73,
- 46,225,226,226, 34,105, 14,  0, 94,220,227,226,210,162, 14,  0, 54,243,211,192,109,124,228,210, 31,222,252, 31,  5, 12,132,118,
-116,  2,  4,208,232,113,208,176,214, 34,149,214,143, 66,235,  0,188,213,137,168,168,228,157,251,207,244,181,197, 42,242, 45, 22,
- 44,191,204,201,193, 98,160, 35,  6,191, 78,249,223,191,255,119,238,191, 23, 23,195, 62,234,170,164,172,182,117,223,197,132, 96,
-134,255,247, 24, 44,130, 24,148,100, 25,150,110,132,201,229, 51,252,253,203,176,117, 31, 72, 13,237,  2, 10,107,255,108,112, 46,
-  3, 85, 82, 82, 58,125,250, 52,158, 59, 70,136,188,158, 23, 62,  4,  4, 36,105,221,  3,  0,150,236,144,162, 31,215, 16, 16, 46,
- 41, 68,173, 38, 35,243,214,214,238,239,254,  3,191,216, 88,121,254,179,252,248,247,239,227,175, 95,159,157,156,255,203,201, 17,
-221, 33,102,  4,150,191,196, 15,253,195,181,192,139,123, 52, 46, 73,117,  0,174,181,179,120,  0, 90,233, 15, 31,249, 25,157, 13,
-198, 95,250,  3,  1, 64,  0,141, 86,  0,212,  4,208,  9,  0, 66,163, 64, 66,162, 42, 31, 62,190, 57,121,246,153,185,177,148,167,
-139,210,142,189,247,182,238,  2,165,218,154, 98, 43, 96,233, 15, 20,103,103,103,195,181, 31,216,200, 50,107,235,218,210,254,121,
-160,149,160, 51, 90, 64,171, 63, 93,172, 65, 43, 65,251,107, 65,165,127,255, 60,134,191, 12,124,196,239,  7, 38,181,205,142,171,
-199, 48, 56, 87,  1, 41, 43, 43, 95,190,124, 25, 87, 39,  0,216,252, 55, 54, 54, 38,198, 28,200, 98, 80,200,162, 32, 32,155,248,
- 58,  0,109,163, 25,145,251,206,224,117,  0, 46, 89,  2,250,153,152,126,153,155,191,145,146,250,114,233, 18,207,163, 71, 63, 20,
- 21,191,106,107,255,149,149,101, 32,250,178, 45,242,202,110,100, 45,104, 92,252, 30, 71,150, 69,179,151, 84,103, 64,  0,114,185,
- 15,233, 13,144, 58,164, 57,204,  0,158, 53, 29,  0,  1, 52, 90,  1, 96, 89,189, 67,  7,163,100,229,116, 31, 63,186,188,118,203,
- 77, 21, 69, 65,111, 55,101, 65,  1,142,247, 31,126,156,191,252, 18,216,246,  7,150,254, 64, 89, 60,122,173,236, 83, 15, 31,156,
-125,236,236, 39,111, 39,134,217,237,160,157,192,119, 31, 50,204, 93,  5,106,251,  3, 75,127,160, 44,229,  5, 58, 25,165,255,224,
-156,  7,182,176,176, 56,120,240, 32, 35,198, 30, 40, 96,233,175,162,162,  2,172, 33,136, 41,253,145, 71,255, 33, 93,  1, 34,235,
-  0,178,139, 51, 92,165, 60,225,210, 31, 86,  7,252,147,151,255,  6, 68,100,  5, 26, 25,197, 46,126,159,226, 55,144, 18,189,248,
- 75,127,208, 34,209, 17, 63,  1,192,128,109, 63, 48,188, 74,  0,  8, 32,194,203, 64,137,159, 98, 37,102, 25, 40,241,122,137,215,
- 78,137,189, 88,125, 71,158,189, 36,205, 69,179,178,113, 43,169, 88,188,123,125,231,222,131,231,199,207, 60,129,159,  5, 36, 46,
- 38, 69,240, 44, 32, 65, 17, 53,239,224,238,115,199,167,173,220,122,171,109, 42,173,206,  2, 34,178,199, 48,152, 75,127, 32,144,
-144,144,  8, 15, 15,191,121,243,230,153, 51,103,152, 65,115,237, 76,192,162,159,141,141, 13,216,246, 87, 87, 87, 39,181,244, 39,
-163, 14, 24,  5,180,  6,160,181, 64,105,173,238,179,220,177,238,  9, 24,157, 12,192, 15,  0,  2,136,133,146,  1,  1,154,234, 37,
-210,192, 65,229,102, 82,  1,176,172,  7, 34,117,178,244,  2,203,122, 34,119,123, 81,203, 23,116,219,195, 65,117,160, 14,  6,100,
-104,196, 44,235,129,108,200,182,128,209, 10, 96, 80,213,  1, 12, 15,177,136,155, 84,155,140,240,144, 33,120,229, 59, 64,  0,141,
- 94, 10, 63, 10, 70,193, 40, 24,  5, 35, 20,  0,  4,208,232,141, 96,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163,
- 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130,
- 81, 48, 66,  1, 64,  0,141, 94, 10, 79, 29,189,120,142, 69,163,169,222,123, 96,176,122,245,106, 50,244,222,191,127,255,238,221,
-187,228,233, 29, 77, 27,163,122, 71,245, 14, 21,189,120,  0, 64,  0,225,220,  8, 70,228, 41,152, 84,215, 75,117,144, 22,250,145,
-129,141,109,214, 82, 78, 60,106,128,101, 40,158,189,151,248,221, 12,215,219,219,219, 91, 92, 92, 76,210,109,233,112,189, 87,250,
-248,116,138, 62,145,126,211,250,127,189,239, 83,254,255,250, 11,100,205,154, 53, 11,124,105, 45,241,224,191, 41,243,138,223,191,
- 63,113,114,114,  2,235,128,208,208, 80,218, 69,  1,145,251, 42,176,250,119,160,244,226, 50,141, 62,  9,152,145,145,145,  9, 12,
- 32, 91,216,126,253,250,197, 12, 62,219,249,255,255,255, 12,163, 96, 20, 80, 15,  0,  4, 16, 11,174,180,142, 53,169, 49, 18,186,
- 85, 14,146, 73,200,211, 75, 76,139,152,108,176,123,247,110,  6, 14, 77, 60,165,112,121,121,185,152,152, 24,154, 20,176, 64,199,
-111, 44, 68, 47,164,232, 63,113,226,  4,164, 26, 32, 73,239,255, 11,181,140,  6,205,139, 14,130,142, 43,  0,178,161, 97,101,208,
- 76,208, 71,188,215,138,128,193,188,252, 40, 72,163,167, 33,171,182,244, 85, 96, 29,  0,170,240,136,168,  6,228,132, 78,222,191,
-252,242,200,115,249,175, 60,220, 30, 14, 31,164, 69, 25,207,156, 62,246,233,243, 15, 39, 39, 39, 26,165, 51,154, 54, 26,240,232,
- 37, 88, 98, 18,159, 44, 73,  5,192,248,237,234,234, 42, 45, 45, 37,102,191, 49, 50,  0,150,245, 44, 96,  0,217,185,  6, 76, 36,
- 64, 67,254,254,253,251,  7, 12,128, 12, 26, 57,120,235,214,173,248,  3,199,203,139,240,105,210,219,182,109, 35, 73,253, 40,160,
- 27,128,236,  7, 70, 91,247, 15, 16, 64, 44, 36,149,254,198,198,198,103,207,158, 37,152,  9,177,102, 42, 60,122,209,204,  1,150,
-197,144, 97, 13,178, 15,152, 76,243,157,197,192,169, 54,107,149,  3,168,105,188,154, 31, 84,250, 19, 42,193, 49,207,142,  7,150,
-224,248, 79,101,129,235,  5,178,129, 45,104, 11, 48, 32, 73, 47,164,196,135,144,157,141, 12,240,210,191,204,159,163,107,227, 15,
- 60, 30,228,191, 89,172, 45,199,252,245,199,255, 34, 31,142, 19,183,255,124,255,249,255,251,111,  6, 71,233,171, 87, 30,253, 37,
-216, 21,120,124,169,255,236,107,110, 62,110, 70,113, 49,113, 49,105,149,135, 79,126,170,171,253, 97,103,126,181,121,203,155,245,
-235,215,  7,  6,  6,142,102, 21,170,  0, 96,252,250,250,250,  2,235,  0,180, 52,108,100,100,212,216,216,  8,148,194,222, 34, 99,
- 97, 97,131,129,199,143, 31,171,170,170,  2,171,  1, 94, 94,222, 59,119,238,240,240,240,156, 62,125,250,248,241,227,217,217,217,
- 56, 83, 62, 56,234,225,249, 23,158, 19, 33, 34, 64, 46,164,149,128, 21,108,218,180,  9, 83, 11, 92,  4,200, 37,166, 64,223,184,
-113, 35, 73,234,169,  2, 94,188,120, 33, 33, 33, 49,154,228,240,148,251,184,  0, 64,  0,177,144, 84,250,227,183,  9,207, 65, 37,
-248,143, 56, 71, 43,253, 59, 58, 58, 42, 42, 42,224, 34,196,215,  1,105,198,179, 24,132,213,102,237,114,128,183,250, 93, 93, 93,
-129, 12,  8,137, 57, 46,134, 92,130, 99, 45,253, 49,251,  4,152,158,130,183,244,129, 53, 22,114, 80, 16,163, 23,107, 75, 31, 88,
-250,227,247,166,240,173, 34, 85, 41,102, 78, 54, 70,  5, 81,166,215,159,254,255,249,203,252,230,243,255,143,223,254,223,125,249,
- 15,152,245, 68,254, 93,  2,250, 75, 73, 73,  9,123,139,248,213,106, 21, 57,165,215,175, 95, 42,200,136,234,106, 43,177,240,  8,
- 42,201,124,248,254,247,227,243,231,127,159,190,255,193,249, 19,168, 85, 31,151, 94,218,141,  8, 17, 31,197,228,233,197,108,145,
-208,122, 44,  5, 24,142, 64, 75,181,180,180, 54,111,222,140, 28, 29,192, 76,132,167,244,  7,  2, 86, 86, 86, 14, 14,142, 55,111,
-222,168,169,169, 25, 26, 26,  2,235,131, 73,147, 38,  1, 91,253,186,186,186,235,214,173,  3, 86,  0,151, 46, 93,  2, 86,  9,184,
-250,  1,254,254,254, 16,255,226,202,197,120, 10,101, 96,217, 13,  9, 25,172, 13, 56,160,248,203,151, 47,137,169,  0, 72, 82, 15,
- 41,190,247,239,223,143, 85,202,209,209,145,152,146, 29,168, 93, 74, 74, 74, 93, 93,125,180, 26, 32, 21,  0,  4, 16, 11,102,238,
-194,213,126,167,143,131,128,185,  5, 88,250, 19, 89, 97,224, 28,237, 97, 72,  3,146,171,103,153, 49,176,125,199, 51,250,143, 86,
-130,163, 85,102,248, 75,112,  8,128, 87, 30, 39, 78,156, 64,110,254, 19,163,119,105, 30, 15,230, 53,198,209,147,190,226,215,245,
-239,223, 63, 14, 54, 70,102, 38,  6, 46,118,134, 15,223,254,255,250,251,159,155,131, 17,216,252,255,254,235,191,180, 32,211,191,
-127, 12,183,158,255,221,179,103, 15,214, 78,192,167,231, 39,248, 89,185, 89, 89,255,167,134,154,253,253,243,255,197,251, 95,143,
-238,127,100, 98,120, 44, 32,240,243,213,203,  7,108,204, 31,175, 61,248,240,244,199, 30, 18,231, 18, 40, 29, 17, 66,190, 89,140,
- 24,128,124,226, 30,230,253,157,184,192,187,119, 46,112,182,144,208, 30, 92, 69, 36,193,250,  6, 89,  4, 79,221,  3, 76, 90, 62,
- 62, 62,144,114,255,234,213,171, 16,  6,164,237, 15, 20,199, 99, 35, 59, 59,251,215,175, 95, 53, 53, 53,129,101, 31, 48, 33, 37,
- 39, 39,  3,  5,127,255,254,189, 96,193,  2, 96,  7,250,220,185,115, 43, 87,174,252,254,253, 59,230, 93, 55, 16,224,237,237, 77,
-118,164,204,157, 59, 23,127, 37, 74, 76,139, 30,110,  8,145,234, 25,192,231, 53,  1,139,239,103,207,158,161,137,  3,  5,137, 47,
-208,159,129,193,104, 53,128,  9,224, 99, 62, 88,187,  2,  0,  1,196, 66, 76, 43,158,146,226,152, 84,128,220,142, 38,170,213, 63,
- 43,157, 65,146, 97,150, 47, 40, 43,206, 58,155,  6, 31,237,  1,183,250, 63, 34,247,  3,240,151,224,175, 94,189,130,151,218, 68,
-150,224,248,  1,164, 94,  1,150, 23,184, 15,219,192, 89,  0, 65,198,127, 48,245,  2,203,172,215,  7,138, 36,228,152,191,124,  7,
- 21, 95,192,154,250,219,175,255,223,127, 49,252,254,  3, 50, 10,116,  3, 56,184, 80,187,124,241, 44,176, 30,101, 96, 96, 67, 51,
-246,195,203,171,108,162,130,162,  2,  2, 31,222,127,255,240,241,253,137,171, 47,159,190,255,207,197,245, 77, 89,254,203,247, 47,
-111,244, 84,127,107, 41,252,156,181,252,236,157, 59,119, 24, 24, 56, 70,115, 14,133,205,127, 32,  0, 54,255,129,197,253,150, 45,
- 91,180,181,181, 67, 67, 67,  9,150,254,144, 10,224,245,235,215, 92, 92, 92,118,118,118, 61, 61, 61,192, 14,  1, 48, 25, 44, 92,
-184, 16, 88,250,  3, 27, 25,123,247,238,189,124,249,178,136,136,  8,158,171,108,128,245, 55,174, 33,160,217,179,103,227,177,154,
- 42, 67, 64, 64, 67,200, 24,  2,  2,150,218,152, 21,  0, 25,199, 55,141, 86,  3,164,  2,128,  0, 26, 92,199, 65, 99,222, 43, 66,
-228,224,  0,168,189, 95,113,159,129,153, 45,205, 77,129, 65, 64, 97, 22,248,226, 63,252,163,255, 84, 25,196,128, 76,252,194,219,
-254,200,  0, 50, 43,128,217,189, 32,178,197,186, 52,143, 27,179, 55,192,123,173,248,254,207,255, 47, 62,252, 99,100,100,226,254,
-  1,234,170,255,249,251,255,199,111,134, 31,191, 64,215,196,255,  4, 51,126,255,129,181, 64, 81, 43, 15,158,171, 69, 79,159,201,
- 41,200,241, 48,113, 48,191,253,254,125,239,233, 39,183, 30, 63,125,251,238,139,137,222,223,159,223,254,252,248,245,247,251,143,
-127, 15, 31, 51,124,251,206,208,221,221, 61,122, 66, 20,214,158, 10,145,  9, 18,210,252,215,210,210,  2, 54,252,129,149,  1,176,
-  2,128,116,  2,  8,150,254,144, 33, 32,  3,  3,  3, 14, 14, 14, 96,161,159,148,148,212,222,222, 14, 44, 73, 79,158, 60,121,240,
-224,193, 75,151, 46,125,252,248, 81, 85, 85,245,211,167, 79,120,110,185,  9,  8,  8,192,236,220, 64,122, 60,248,251,  7,  3, 53,
-  4,132,181, 19, 64, 82,243,127,180, 26, 32, 27,  0,  4,208,160,168,  0, 32, 67,255,144,110, 50,114, 29,  0,207,108,144,193,122,
-226, 71,138, 33,229, 62,176,225, 15, 30,  5, 98,155,181,148,250,110,134,172,252,113,113,113,217,179,103, 15,174,174, 12,174,222,
- 12,214,194,157,152,177,160,184, 41, 95,165,132,152,162,108,216,128,101, 61, 31, 23, 35, 51, 35, 40,159,255,250,251, 31,200,253,
-250,243,255,215, 31,255,129, 29,130,191,255, 24,176, 46,108,  1,234, 53, 80,191,167,170,242,110,199,193, 87,239, 62,254,176,208,
-251,100,198,255,133,149,237,231,183, 31,255,158, 60,  7,234,101,252,251,151, 81, 68,136,145,129,241,223,104,174,160, 10,128,164,
-103,228,  9, 21, 96, 77,128, 92, 52, 99,157,  9,  0,150,236,101,101,101, 44, 44, 44,139, 22, 45,154, 63,127,126, 98, 98, 98, 71,
- 71,  7,176, 68,126,240,224,193,247,239,223,129,217,  4,216,246,207,200,200,192,179,120,137,236,169,215,129, 26,  2,194,218,  9,
- 32,239,244,214, 81, 64, 42,  0,  8,160,193,210,  3, 64, 30,182,198, 44,232,113, 21,178,200, 96,214,217, 52, 88,209,127,123,245,
-164,251,224, 85, 64,136,250,  0,207, 40, 16, 37, 35, 60, 64,135,193,155,255,144,222,  0,156, 13,236,  1, 64,246, 88, 97, 78, 62,
- 19, 44,253, 33,171,128, 48,245,  2, 11,247,111, 63,129,197,253,255, 15, 95,129, 13,255,255,172,224,216,251,243, 23,212,240,  7,
- 22,253,111, 63,255,127,253,233,255,249,  7,127,128,133, 12,176,164,184,250,148,  1, 77,239,227,231,191,238,220,121,127,236,220,
-123, 96, 35,239,198,157,127,145,126,127, 88,254,255,127,241,138, 97,215, 97,134,207,223,254,255,251,199,224,100,193,200,201,206,
-224,229,237,143,127,165,225,134,  5,233,  1,  9, 20,173,208,165,228,  6, 49,146,238, 93,128,  3, 33,161, 61,116, 75,204,104,  9,
- 24,200, 53, 50, 50, 58,119,238,220,230,205,155,145,197,113, 77,  5,  3,219, 22,  2,  2,  2,144, 70,244,188,121,243,128,253,  0,
- 96, 77,  0,169, 57,128, 82, 31, 62,124,  0,246,  0,190,125,195,119,215, 75,106,106, 42,242,208, 13,164,249,143,127,252,103, 96,
-135,128,208, 58,  1,148, 52,255, 33,218, 71,219,254, 68,  2,128,  0, 26, 44, 21,192,217,179,103,113,173, 93,  1,138, 19, 88, 63,
-202,206,189, 90,225, 16,195,159,179, 12,138,220,105,173,138,179, 14,  0, 59,218,179, 96,149,129, 43,241,163, 64,200, 43, 65, 49,
- 87,133, 98,230,112, 96, 41,  6, 41,253,145,103,128, 33,109,127,  8, 23,107, 15,  0,174,151,188,146,229,246,237,219,143,142, 78,
-250,255,255, 31,227, 55,  6, 54, 22,240, 46,161, 63,255,255,254,  7,149,224,192,126,  0,176, 50,  0,162,194, 98, 80,119,234,234,
-211, 39,152,122, 31, 28,157,168,173,240,239,208,249,191, 76, 76, 12, 47, 94, 51,114,114, 48,236, 60,204,240,237, 27,227,255,127,
- 12, 70, 90,172,143,158,253,179,119,242,  6,230, 91, 60, 59,  9,129,165,127, 87, 54, 67,217, 84,242,235,  0, 74, 46, 16, 38, 79,
- 47,174, 97, 13,250,  0,200,202, 31, 31, 31, 31, 72,212, 67,186,179,192,102, 62, 86,197,255,254,253, 59,127,254,188,173,173, 45,
- 92,  4, 88,  7, 64,202,226,223,191,127,255,253,251, 23, 24,137,162,162,162,184, 38,129,225,163, 64,100,180,223,  7,112,  8,  8,
-173, 19, 64,118,243,127,180,232, 39, 21,  0,  4, 16,105, 21,  0,176, 32,166,197, 78, 72, 72, 99, 25,152, 43,128, 12, 23, 23, 23,
-180,182, 63,164, 24, 37,126,171, 42,124, 21, 16,132, 75, 76,219, 31,121,  6, 24,  2, 32, 92,200, 98, 80,252,122,225,165, 63,218,
-124,  0, 49,122,113,  1, 96,243, 31,151, 94, 85, 85,213,121, 51,126, 59,235,176,  2, 11,128,223,127,254,113,176,  2, 27,119, 12,
-159,127,252,255,249,  7, 52,248,115,246,238,223, 63,255,254,227, 90,199,  9,212,187,104,246, 31,123,  3,230, 40, 31,208, 52,242,
-199,207, 12,159,191, 50,170,200,255,255,243,  7,152,227, 57,222,126,248,247,244,197,175,194,114, 31,252,109,255,  9,249, 12,106,
-114, 12,147,139, 24,114,251, 40,170,  3,200,238, 19,144,167,151,242,117,159,228,165,124, 96,233,223,208,208,128,220,216,239,234,
-234,  2,114,113,237, 14,251,245,235, 23,176,  8,251,241,227,  7, 51, 51, 51, 23, 23, 23, 80,100,237,218,181,193,193,193,223,191,
-127,  7, 10,254,252,249,147,135,135,  7, 88, 13,224,247, 14,121,107,129,  6,118,  8,  8,222,  9,128, 48, 70,139,126,250,  0,128,
-  0, 34,161,  2,160,176,244,199,163, 29, 88,232, 67, 74,121,200,184, 57,124,201, 41,114,195, 31,173, 98, 64,  1,204,140, 12,108,
- 76, 12,156,204, 12, 60, 44, 12, 63, 63,175,110,103,101,224, 60,149, 22,162,200,192, 41, 52,107, 49, 81, 13,127,172,107,126, 32,
- 37, 56,254, 69,241,200,165, 63,242,124,  0, 49,122,241,151,254,120,244,182,247,206, 40,204,205,224,100,  7,182, 22, 25,116,228,
-152,129,133, 55,176, 52,128, 20,253,127,255, 51,151,148,148,224, 49,188,185,107, 70,113, 65,  6,176,170,  0,245, 27,254, 50,  0,
- 91,122, 94,142, 12, 31, 63, 51, 94,184,250,253,199,111, 38, 63,191, 32,252,165,127, 67, 50,131, 10,248, 72, 18,101,105,  6, 10,
-251,  1, 35,  1, 96,238,249,  2,173,236,  2,  3, 92, 90,128, 21,  0,176,172,  7,109,199,208,215,255,243,231, 15, 43, 43, 43,176,
- 77, 13,108,196,  0, 75,255,111,223,190,  1,155,255,130,130,130,120,150,129,194,  1,124, 64,149,152,193,159,193, 48,  4,  4,239,
-  4,144, 17,206, 68,110, 23, 24,  5,152,  0, 32,128,136,173,  0,104,212,246,199,218,181,199, 28,240, 33,219,106,130,163,255,148,
-148,254, 12,168, 51,189,240, 58,140,  1,188,154,150,160, 94, 92, 51,  1,196,232,237,159, 60,  3, 24, 92,192,140,118,228,198, 31,
-200,122, 80,112,150,  3,234, 45, 33,168,183,119,194,140,204,204,116,136, 46, 32,121,232, 52,195,215,111,160,242,196,207,207,219,
-221,221, 29, 79,233, 95, 30,195, 32,192,195,240,236, 13,  3,168,238,249,207,192,205,193,208,154,206, 80, 61,115,152,215,  1,184,
-186, 23,196,164, 73,180,210, 63, 35, 35,  3, 82,244,111,222,188, 25, 88, 74, 98,173,  6,128, 21,  0, 19, 19, 19,176, 61,251,249,
-243,231, 51,103,206, 24, 26, 26,  2,171,129,143, 31, 63, 94,188,120, 81, 81, 81, 81, 88, 88, 24, 88,250,  3, 69,  8,118,104, 32,
- 59,194, 72,234, 16, 12,248, 16, 16,121,109,127,178,117,141,  2, 32,  0,  8, 32,244, 10,  0,215,146,127, 34, 87,191, 81,210,131,
-  6, 42,192, 60,148,141, 96,105, 56, 43,109, 38,104,180,231, 22,  3,  8, 33,192, 71, 48,186, 79,182,155,137, 41,133,225, 62,  2,
-150, 17,144,253,  4,192,106,131,212,171,140,129,122,151,230,113, 67,234,  3, 82,111,232,133,  7, 23,100,214,151,248, 14,199,244,
-233,  8,189,159,191,128, 10,  8, 63, 63, 63,194, 97,181,132,250,197, 40,173,245, 14,224,208, 63,  3,234, 52, 47, 48,192,129,101,
-226,150, 45, 91, 48,165,208, 42,  0,160, 50, 96,133, 12,100,200,201,201,125,248,240,161,182,182, 22, 88,  1, 72, 75, 75,127,249,
-242,  5, 40,  8,153,  9, 32,104, 53, 25,163, 64, 47, 94,188,160,220,203, 84, 49,100, 20,208, 13,  0,  4,208,160,184, 20, 30, 14,
-128, 69, 24, 25,230,144,189,194,135,138,125, 26,130, 71,191,145,209, 21, 32, 38,184,176,178, 73,213, 75, 76,233, 79, 73, 51,127,
-160,210, 21, 85,226,151, 60, 67,224,199,121,194, 79,244,212,212,212,156, 55,111,222, 63, 48,192,211,126,135,180,238,129,106,128,
-  5, 61,228, 48, 56,  6,240,204, 48, 29, 14,131, 27,  5,195, 27, 96,221,220,  3, 16, 64,163,151,194,143,130, 81, 48, 10, 70,193,
-  8,  5,  0,  1, 52,122, 35,216, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16,
- 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64, 88, 46,133,
- 71, 62,146,  1,249, 62, 22,100,241, 97,124,201, 50,242, 82, 84,184,223, 71, 47,164, 30, 90, 97, 69,146, 70,252,246,182,182,182,
- 66, 24,213,213,213, 35, 45,126,169, 30,212,163,249,104, 64,244,226,  1,  0,  1, 68,181,179,128, 32, 39,122, 18,167,150, 13, 83,
- 47,156,141,118, 26, 40,145,247,111, 80,  8,224,215,  2,195,150,213, 67,239,207,163, 67, 13,124,235,214, 45,248,157,  4, 69, 69,
- 69,131,255, 16, 68,180,176,186,126,253, 58,  3,120,141, 35, 77, 45,  5, 38,  3,255,128,244,141, 27,102,162, 37,131,109,219,207,
-  1,  5,177, 38, 12,160, 20, 86,163,188, 60,141,136,183, 23, 88,250,251,250, 42,195,217,184,234,  0, 92,224,243,151,207,247,158,
-221,251,246,255, 27,  3, 35,  3,219, 63, 86, 57, 81,121, 81, 97,209,209, 86,231, 40, 24, 60,  0, 32,128,168,121, 24, 28,145,151,
-168, 92,125,250,  1, 83, 16,173,204, 69,222,142,136,191, 56, 38,114,151, 16,158,202,  3, 98,  2,164, 68,195, 92,160, 13,145,197,
-186, 88, 22,217,106,105, 69, 89, 32,249,242,199,143, 63,223,127,130,248, 31, 62, 49,128,207, 47,194,119,130,  5, 24, 32, 95, 72,
-217,215,215, 71,204,  5,232, 76,140,160,141,184, 16, 18,  8,176, 50,166,207,160, 73,101,137, 28, 86,144,162,159,248,176, 34,187,
-254,134,148,254,224,130, 27, 84,  7, 16,111, 20,164,194,192,168,  0, 72,115,198,175, 95,229, 59,119,166,185,187,207,242,245,237,
-132,244,  6,136,172,  6,142, 92, 61, 34,111, 40,155, 28,156, 32,200, 37,248,239,207,223, 31,255,127,238, 56,185,107,223,193,189,
- 86, 74,214, 28, 28,163,247,237,140,  2,250,  1,228,187,192,208,178, 39, 64,  0, 81,249, 52, 80,180,115, 49,201,  0,100, 28,217,
- 69,112, 91, 60,158,182, 60,252, 22, 98, 32, 27, 66,162,201, 18,117,144,164,  0,223,165,123, 43, 56, 25,100,254, 50, 28,125, 53,
-231,220,197,187,111,131, 58,230,211, 46, 58, 47, 93,190,162,167,171,  3, 44,235,175, 92,  1, 49,128, 34, 16,  6, 92,228, 31,222,
-240,192,127,227, 35,158, 75,195, 33, 97,149,144,144,  0,100, 67, 72,244,210, 31,114,184,  4, 54,141,206,206,219,211,211, 61,201,
-174,  3,128,165, 63,216,217,179, 54,110, 32, 92,196,195,181,144, 90,214, 99, 54,255,129,100,112,240,218,157, 59, 65,100, 90,218,
- 93, 72,111,128, 96, 87,  0,152,102,246,223,220,151,157,147,105, 34,106,200,201,207,255,255, 23,232,148, 38,102, 22, 54, 21, 23,
-149, 27,198, 55, 59,102,117,154,139, 88, 64, 14,122, 27,  5,163,128,158,165, 63,132,139, 92,  7,  0,  4, 16, 11,114,215,158, 20,
- 54, 27,166, 77,175, 94,189,130,159,132,140,167,134, 96, 96,215,192, 83, 70, 51, 98, 20,217,196, 12,197,224, 41,182,240,220, 37,
-  0, 44,152,128,141,116,204,114, 31,114, 41, 49,188, 98,192,  3,128, 13,255,167,239, 63,174,203,  8, 22,102,180,190, 59,187, 68,
- 41, 80,105, 55,141, 75,127, 32,128, 20,250, 64,160,163,163,  3, 23,129,244,  9,224, 34,148,180,241,177, 22,211,144,176,194, 44,
-247, 23, 44, 88,  0, 12, 43, 79,107,195,237, 71,207, 51,240,114, 51,124,250, 66, 11, 47,131,199,115,102,225, 26,213, 33, 66, 47,
-201, 99, 65,240,193,159,180,180,157, 64,  6,132,132, 72,  1, 25,248,235,128, 51, 55,206, 36,167, 36,218,170, 58,252,253,249,243,
-207,223, 63,140,160, 83,187,153,255, 51,252,123,249,250,153,166,168, 70, 85, 70, 85, 75, 87,139,179,142,203,104,217, 52, 10,232,
-  6,210,202, 65, 69,217,172,206, 10, 52,113,128,  0, 66, 84,  0,240,  9, 94,180,115,249,177,138,163,157, 53,143, 92, 61, 64,142,
- 81, 67, 30, 14, 66, 62,112, 13, 88, 67, 96, 14, 17, 96, 94,160, 65,204,208, 13, 85,192,170, 85,171, 48,139,126,200, 40,  7,164,
-244,  7,138,224,209,254,228,222,163,175,235,235,120,146, 38,  2,107,  2,113, 97,206,123,235,239,129, 74,127,  1, 62,208, 16, 16,
- 43, 51, 49, 14,  0,  6, 23,124, 20,136,200,243, 36,128,101,189, 28, 55,195,148, 24,134,148,  5, 12,162, 92, 12,215, 63,160,139,
- 92, 37,226,198, 20,204,106,149, 96, 71,170,169,169,  9,179,232,  7, 50,186, 18,124, 38,239, 56, 33,161, 36,249,226,225, 75, 92,
-205,127, 32,  3, 79, 39,128,224,168, 14,184,165,159,142,214,222,135,148,236,196,164, 16, 74,198,130, 32,229, 62,132,252,229,171,
-194,182,249, 14,126,245,223,190,127,227, 82,227,180,144, 52,255,249,245, 43, 11, 59, 59, 11, 11, 52,139,221,187,115,103,211,198,
-141, 73,137,  9, 10,236,114,134,246,  6, 79,174, 60,145,145,148, 25, 45,152, 70,  1, 29,154,255,144,210, 31,194,  0,214,  1,200,
-157,  0,128,  0,162,230, 16, 16,176,112,135,140, 14,  3,107,  2,228, 10,  0,206,197,127,203, 10,174,169, 96,130,153, 60, 44, 44,
-140,114,199,195, 11, 68,180,134, 63,228, 42, 74, 92,179,234,223, 25, 30,125,  9, 52,255,207, 91,194,224, 82,251,133, 97, 57,195,
- 28, 80,145,244,127,117,  9,107,220,228, 63,127,136,186, 91, 81, 77, 77,141,212, 74,238,213, 60,134,198, 25, 12,178, 50, 12, 47,
-183,176, 45,156,251, 43, 97,  5, 22, 17,202,199,205,240,  0,248,148,239,243, 13, 29,188,218, 28, 60,170,  5,171, 58, 82,244,117,
- 36,212,125, 90,240,132, 21,158,120,199, 63, 64,  4, 73, 12,240, 66, 28,200,133,204,253, 18, 63,124, 68,222, 88, 16,176,184, 71,
- 19,217,137,212, 15,192,  5,158,191,122,238, 22,234,198,203, 39,248,151,241,207,225,131,135, 62,127,249,226,235,231,247,250,213,
-171, 53,107,215, 37, 39, 38,176,115,176, 51,253,103,117, 55,114,159,180,127,242,104,  5, 48, 10,  6, 28,  0,  4, 16,149,231,  0,
-128,  5, 61,228,118, 23,228,139, 18, 33, 39, 36, 19, 51, 55,128, 57, 21, 76,204, 16, 16,174,171,119,137,  7,144,102, 62,230,152,
- 15,254,230, 63, 16,236,168,108,240,109,239,251,227, 98, 13, 12, 71,158,227,119,118,223,125, 11, 20,252,227,146,251,251,178,  8,
-163,104, 22, 49,101, 31,254,206, 16, 86,240, 54, 96,121,110,226,227, 91, 25,101, 95,247,254,146, 16,193, 46, 66, 70, 15,128,200,
- 90,  1,216,240,  7, 53, 37,124,237, 78, 60,123,197,171,207,251,116,231, 93,  6, 14,246,224,220, 56, 33, 25, 31,218, 37, 83,204,
-149, 63,228,117, 16,177, 14,  7,225, 26, 11,  2, 22,247,238,179,220,131,215, 50,164,237,  4, 49,128, 92, 98, 58,  1, 95,126,124,
- 22,225, 20,254,243,227,219,127,166,255,166,102,102,235,215,175,159,208,215,247,239,255,255,232,152,104, 33, 97,161,111, 95,190,
-252,249,251,135,151,149,239, 55,211,239,209,210,103, 20, 12, 56,  0,  8, 32, 22, 60,133, 17, 30,113, 60, 71,200, 65,134,137, 32,
-179,193,144, 89,  1, 72,183,  0, 40,142, 60,157, 64,139,162,129,108,128,107,196,159,224, 77,244, 65, 51,214,254,247, 83,124,105,
-105, 36,204, 96,205, 25, 60,249,207,243,215, 12,  2,124, 44,111,151,111,153,112,150,129,153,153, 24,199,147,113,214,241,197,162,
- 72, 19,  3,  6,165,220, 43,218, 60,137, 55,229, 67, 25,166,148, 97,138,208,174,  7,  0, 12, 19, 91, 83,117, 23,107, 53, 95,221,
-178,222,  9,211,175,157,125,154,225,100,242, 98,227,182,143,239, 63,145, 17, 23,104,  3, 68,184,210, 21,214, 38, 63,121, 81,143,
-105, 14,214,254, 65,117,117,117,107,107, 43,176,244,135, 87,  6, 64, 18, 88, 13,  0, 75,255,205,155,239, 66, 38,  0, 32,179,196,
-122,118,241,104,117, 43,232,240,206,127, 12,255,255,253, 97,231,228,136,137,141,109,172,175, 23, 23, 23,151,150,144,248,241,245,
-203,223,255, 64,241,191,  4,175,115, 25,  5,163,128, 62,  0, 32,128, 88, 48,179, 19, 25, 27,193, 32,  0,114,107, 35,114, 39,  0,
- 82,226,  3, 69,224,203,198,129, 82,223,137,110,150, 18, 51,253, 75,249, 50, 80, 72, 51, 31,235, 84, 48, 65, 99,239,118,167,177,
-  6, 79,254,254,236, 22,203,241,201,191,215,230, 50,122,245,108,202, 10,121,184,233,190,111,215, 34,  6, 22, 90,221,183, 92,182,
-154, 97,103,215,122,237,135,238, 12,111,190,150,186,150, 97, 21, 33,163,  7, 64,124,243,127,227,250,  6,102,105, 45, 30,  6,181,
- 71,  7,103,125,102,252,127,234,214, 99,151, 43, 79,241,134,252, 35,216, 96,221, 76,120,137, 15,  4,123,247,122,162,201, 98, 77,
- 87,184,  6,124,200, 88, 90, 74,198,112, 16,176,249, 15, 41,250,129, 36,114,219, 31, 50, 75, 12,172, 12,208,212,243,114,242, 62,
-251,248,204, 76,193,252,251,207, 31, 12,223,127,252,249,245,187,170,188,156,145,137,225,219,215, 47,192,122,225,207,223,255,236,
- 44,172,175,191,188,102,253,203, 54, 90,250,140,130,  1,  7,  0,  1, 68,205, 66, 10, 94, 61,  0,139,126, 96,  5,  0, 25,252,193,
-172, 21,246,159,255, 64, 76, 25, 77,124,222,166,100, 25, 40,188,249,143, 86,244, 67,170, 43,130,110,184,120,247,237,239,203,141,
- 47, 25,142, 74,120,245, 48,124,252,116,119, 86,137,114,102,255,139,249, 37, 12,172, 44, 12, 76,180, 58,102,227,209, 87,  6, 77,
-177, 64,252, 34, 52,234,  1,  0,131, 37,220,197,156,255,159,224, 55,  6,214,181,253,185,211,182, 92, 40,245,176, 73,232, 91, 22,
-210,182,152, 70,211,245,144, 10, 30,182, 15,128,180, 90,159,164,  1, 31,172,157,128, 52,112, 27, 31,185,244,135, 55,255,113,  1,
- 41, 49,169, 29,135,119, 90,201, 90,113,113,243,252,251,247,159,233,255,159,127,140,140,192,208,  6,182,253,255,252,251,255,231,
-207,159,239, 31,191,110, 61,189, 85, 94, 76,126,180,244, 25,  5,  3, 14,  0,  2,136, 86, 27,193, 32,197, 61,114,173, 64,228,141,
- 37,104,121,155,200, 98,133,188,101,160,152,205,127,226,139,126,232, 16, 80,199,252,117, 12, 12, 30,237,222,255, 87,151, 48,134,
-245,  2,235,  3, 70, 33,193, 59, 79, 62,129,154,255,204,204, 52,138, 51,204, 85,255, 36,237,  3,192, 83, 41,226,175, 21, 32,205,
-255, 20,  7,189,130,158,137,149, 85,229,162,124, 98, 87,175, 61, 74,184,182,140,214, 43,181, 48, 75,109,248,208, 25,113,203,135,
-  8, 15,248,224,  1,104,165, 63,124,228,  7,215,108, 48,  7,  7,  7,203,  3,214,253, 15, 15,132,234,134,124,250,241,137, 17,212,
- 12,  0,226,127,127,255,254,255,247,231, 15, 55, 59,239,177,143,231,111, 31,191,227,106,228, 58, 90,250,140,130,  1,  7,  0,  1,
- 68,205,125,  0,152,189,  1,228,109,174,144, 78,  0, 73,141, 83, 58, 28,198,  0,111,254, 35, 47,  0,  5,122, 19, 94,109, 16,220,
-202, 11,169,  3,  2,219,231,253, 95,203, 32,146, 48,243, 64, 65,136, 77,231, 82,  6, 86, 86,110, 14, 90,245,241,225,139,253,209,
- 24, 36,237,  3, 32,163,  7,  0,105,254, 23,204,218, 92,149,236, 38, 37,225,192,  0, 27,244, 35, 62,172, 96,101,183,167,179,243,
-118,216,248, 15,  9, 99,119,200, 45,122,248,201, 16,212, 29,240, 33,  8,144,203,125, 72,111,  0,115,216,202, 80,195,112,243,178,
-205,127,195,255,216,203,218, 11,243, 10,255,248,253,  3, 24,218,108, 44,108, 31,190,127, 59,241,100,239,130, 37, 11, 29,181, 28,
- 71,139,158, 81, 64,  7,224, 19, 83,187,101, 73,243,172,206, 10,228,125,  0,200, 51,109,  0,  1, 68,205,125,  0,104,189,  1,204,
-226,158,212,107, 11,137,  4,148, 47,  3,133,212, 52,144, 91,118,225,149,156, 18, 24, 16,217, 15, 96,128,109,254,178,175,154,  1,
- 97,124,165, 77,140, 82,222,220,166,164, 90,  5, 54,255, 93,247,156,140,174, 95,  4,116,  6,114,215,138,248,176,162, 86, 63,128,
-212, 77, 97, 20, 14,  7, 97,150,254,160, 69,162, 24, 19,  0,112,224,168,231,116,112,205,225,227,114, 39,172,205,173,165,121,165,
- 25,254,253,127,253,227,237,177,115,199, 94, 92,125,225,164,233,196,206,206, 62, 90, 54,141,  2,122,  2,204, 45, 96, 16,  0, 16,
- 64,212, 28,  2,194,220,199,132,117,129, 38,193, 75, 40, 73, 45,161, 40, 92,  6, 10, 89,234,179,  7, 12, 72, 42,206, 32,125,  5,
- 74,172,198, 28,203,166,228,204, 28, 58, 84, 33,174, 53,179,201, 11, 43,204, 78,  0,241,206,192, 85,214,  3, 59,  1,112, 89, 98,
-138,114, 50,134,131, 64,107,129,210, 90,221,103,185, 99,221, 19,128,127, 50,192, 76,219,236,219,183,111, 39, 55,158,252,242, 11,
-212, 24, 96,103, 98,147, 19,151,215, 52,208, 28, 45,140, 70,  1,253, 59,  1,184,138, 95,128,  0, 98,161,127,177,130,127,163, 16,
-169,197, 19,229,151,134,147, 93,156, 81,222,236,165,195,232, 57,214,225, 31,216,137, 27,244, 11, 43, 74, 60, 78,106, 59,157,186,
-195, 65,160, 82,254, 33, 22,113,147,106, 19,130,122,185,184,184,116, 84,117, 71,203,160, 81, 48,224,117,  0, 46, 41,128,  0, 26,
-189, 20,126, 20,140,130, 81, 48, 10, 70, 40,  0,  8,160,209, 27,193, 70,193, 40, 24,  5,163, 96,132,  2,128,  0, 26,173,  0, 70,
-193, 40, 24,  5,163, 96,132,  2,128,  0,  3,  0,113,164,101, 92,162,247,176,200,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
+140,130, 17, 10,  0,  2,136, 38,151,194,223,191,122,156,129,233,135,164,140,244,231,239, 95,223,191,253,170,166,105, 67,188,222,
+ 35,231,238, 50,252, 99,127,249,244, 41, 55, 39,183,160, 16,183,185,137, 34,241,122, 41,113,243,211,103,171,217, 56,254,176,115,
+176, 48,179, 48,255,101, 96,228, 99, 11, 36, 94,175,128,144,177,160,160, 32, 39, 39, 39,  3, 35,227,181,203,155,240,219,203, 41,
+125,131,120, 55,127,127,138, 50, 88, 47,197,245,146,120,189,207,190,137,163,232,253, 73,130,189,207, 80, 39,  9,164,127,145,112,
+189,234, 83, 54,245,193,160, 87, 27, 91, 56,119,118,174, 46, 47,199,114,212,204, 85,212,112,230,148,249, 69, 66, 28, 61, 97, 67,
+ 73, 27,210, 36,196,209,230,167, 40,113,244,227, 39, 55,241,122, 57,216,191,162, 24,229, 55,133,120,189,190,155,114,144,185,197,
+ 47, 72, 56, 54,167, 87, 34,131, 70,121,112, 84, 47,141,244,226,  1,  0,  1,132,111, 25,104,234,129, 34, 70,199,248, 89,255,245,
+137, 49,232,222,149, 93,140, 12,255,120,216, 57,231,207, 92,182,112,225, 68,107, 23,235, 63, 95,191,105,105,216,253,251,199,144,
+ 93,246, 87, 75, 75,253,206,157,135, 63,190,255,225,149,180,198,212,123,244,252,171,255, 12,140, 95,126,126, 79, 47,106,105,156,
+228,254,236,234, 89, 96,242,222,118,241,  9, 19, 19,195,196,134,154, 91,183,110, 42, 40,200,179,115,178,  8, 11,178, 99,234,189,
+190,121, 59, 59, 59, 59, 23, 23, 23, 47, 47,175,128,128,128,176,144,176,144,144, 32, 63,191,  0, 15, 55, 55, 51, 11,203,191,127,
+127,191,127,255,254,249,211,231, 11,223, 62,226,114,249,157, 91, 43,217, 57,190,243,240,114,112,112,177,179,176, 49, 51, 50, 49,
+ 50,177, 48,255,103,222,245,251, 15, 35,219, 31, 87,252,190,190,255,136, 73, 68, 68,132,131,251,199,207,159, 63,152,152,153, 24,
+ 25, 25,164,100,109, 63,124,120,255,237,243, 21,218, 85,218,179,102,205, 74, 75, 75, 27,109,188, 16,  4,184,138,123, 82,213,  0,
+129,  4, 39,215,211,167, 79, 89, 57,216,255,113,113,209,211, 11,223,222, 93, 56,182,119,  5,178,136, 75,104,199,224, 12,237,197,
+139, 22,177,179,177,253,251,247,143,155,135,199,215,207,111, 52,249, 13,  9,  0, 16, 64,  4,246,  1,252,223,187, 48,205,153,112,
+ 29, 16,234,167,242,211, 73,232,247,151, 15, 44,127,153,204,244,100,226,227,161,103,138,  1, 75,240, 19,199, 23,136,200, 73,255,
+251,242,201,222, 92,247,217,179,247,123,206,255, 65,211,155,158,222,198,192,198,207,200,197,247,159,249,255,197,107,137,243, 86,
+236,132,136,  3,107, 14, 15, 75, 75,134, 47, 47, 24, 24,120,239, 94,190,206, 42, 34, 96,109,161,195, 35, 32,134,105, 59, 35,104,
+139, 12,168,220,102,102,  2,150,249,204, 44,172, 32,  0, 36, 89, 88, 88,254,252, 97,100, 98, 98,198,179,131,230,226,249, 89,252,
+252, 44,188, 60, 60,162, 98,194, 60,188, 92,127,255,255,253,241,243,251,239,191,127,185,120,184, 68,197, 36,255,254,123,240,248,
+134,  2, 86,141, 59,118,223,226,229,229, 17, 16, 16,252,246,141,243,219, 55, 46, 14, 14,118, 70,240,112, 26,176,190,249,246,237,
+219,155,247,124,111,222,188,121,251,230,165,181,165, 44, 86,237,171, 59,  9, 93,147,148,224, 34, 40, 46,136,181,244,167, 98, 29,
+ 80,213,221, 13, 36,219, 74, 75,201,208, 91,217,213,  5, 36,219,203,202,136,215,114,229,233,211, 91,183,110,  1, 25, 65,142,142,
+ 68,106,153,185, 10,116, 18, 14,242,173, 88, 64, 54,132,100,128,157,143,  6,100,167, 97, 59, 66, 18, 88,178,227, 47,223,137, 41,
+253, 21,  5,133,190,255,250,  9,100,176,113,114,252,250,254,227,223,215,111,111, 94, 60,151,212,213,197,163, 69, 82, 89,141,160,
+191,248,229, 53,111,236,219, 72, 80, 25,176,244,183,113,137,224, 16, 52, 32, 42,176, 66,223, 17, 84, 18, 22, 22,182, 42,116, 15,
+ 86, 41,199, 61,175,225,108, 45,  1, 80,201,240,234,199,191,239,127, 64, 33,252, 21, 76,206, 52, 23, 80,227,101,197,170,183,167,
+167,167,170,160,196, 63, 40,240,199,143,239, 19,251,251,166, 76,153,146,147,147, 67, 97,226,188,115,231, 78, 55, 56,125, 18,220,
+ 88,112,252,248,241,  7, 15, 30,188,125,251,246,243,231,207,192,134,160,176,176,176,130,130,130, 37,176,244, 24,  5, 96,176,101,
+ 73, 51,156,141,182,238, 31, 32,128,240, 85,  0,179, 29,250,130, 79,180,254, 59,182, 53,205,138,  1,127, 29,240,243,203, 59,  9,
+ 21,231,150,210,160,  5, 51, 15, 64, 68, 14, 30,155,241,245,219, 79, 47,151,124, 43,235,132,136, 48, 39, 78, 78,246, 95,127,255,
+124,254,246, 75,205,  2,243,208,158,135, 12,191, 24,130,162,167,167, 22, 65,187,150, 30, 86, 14,192,242,116,195,190,157,219,142,
+ 30, 95, 52,127,218,143,239, 63,217,152, 89,120,184,216,248,216,254,222,121,244,  2,189,138,250,207,240, 31, 92, 14,128, 73, 48,
+227, 31,136,250,247,255,223, 95, 48,248,  3,  6, 88,157,125,242,248, 44, 49, 81,102, 94, 94,110, 89, 89, 57,117, 77, 85, 30, 30,
+174,119, 31,222, 62,123,241,252,245,219, 55,255,254,252,231,230,226, 86, 87,211,226, 23,120,116,229,  4, 15,154,198, 77, 27, 78,
+ 49,176,176,127,103, 97, 98, 99,103,251,246,141,  3, 88,  7,128, 42,  0, 70,208,158,148,111, 32,240,229,219,183,175, 95,191,124,
+122,251,250,217,146,  5,231,248,149,177, 31,140,213,189,168, 27, 87,120,150,198, 97, 47,145,223,191,127,143,204, 22, 18, 18,130,
+148,134,130,130,130,119,239,222, 93,189,122, 53, 73,181,  2,155, 56,116,252,  1,104,168, 32,185,105,107,214,234,213,217,217,217,
+191, 95,189, 34,166,244, 23, 19, 19, 11,114,115,251,205,206,222,219,219, 27,236,228, 68,204,241,150, 64, 15,246, 52, 52, 64, 71,
+ 42,234,235,123, 27, 27,177,178,113,105, 71,174,  3,128, 12, 99, 99,227, 61,123,238,185,184, 40, 17, 89,250,107, 72, 72, 10,240,
+241, 65,106, 26,110, 14,206,231,175, 95,125,122,255,129, 71, 64,240,225,233, 51,242,166, 38,120, 52,250,165,149,196,  4,251,170,
+ 42, 64, 91, 15,245,189,147,225, 82,141,197,185, 64,242,209,246,189,102,106,178, 68, 13,245, 16, 89,250, 67, 91, 22, 66,132, 84,
+ 16,222,143,198,205,194,120,177, 49,153,145, 79,228,239,189,139, 63,239, 93,189,245,238,171,201,118,124,241, 59, 99,230,204,162,
+244,236,184,148,164,213, 75, 87,  0, 75,222,150,206, 46,222,134, 22,248,165, 17,148, 20,253,160,188,128,183,117,  2, 44,241,119,
+237,218,245,251,247,111,101,101,101, 91, 91, 91,126,126,254, 15, 31, 62, 60,123,246,236,254,253,251, 64,210,205,205, 13, 88, 31,
+140,150,254,104, 92,228, 58,  0, 32,128,208, 43,128,180,219,176,163,117,192, 59,236,254,255,251,194,240,235,231,239,  3,203,210,
+ 28, 24,  8,245,  3,216,180, 52,213,153,152, 14,220,250,240,150,129,225,250,199,167,183,129,253,229,141, 91, 39,125,123,243, 55,
+ 58,177, 16,216,156,247,243,181,252,203,194,131, 75,243,173, 91,215,129,106,188,244,129,205, 58, 41,  6,  6,249, 31, 63,127,133,
+120,184,113,  8, 48, 45, 90,182,  3,216,141, 88,179, 98,  1,243,159,207,154,242,236,119, 30, 97,244, 81,128,101, 61, 24,128,202,
+250,191,127,126,253,254,245,243,231,207,239, 63,190, 67,238,  5,253,243,231, 55,168, 64,254,254,157,  1,219,108, 55, 63,223,127,
+ 96, 95, 65, 72, 72, 88, 69, 89, 85, 77, 69,  3,216, 85,248,243,247,223,171,215,239,126,254,248,253,247,223,215,215, 47,223,200,
+ 72,127,215, 80,213, 56,119,126,  3,  3,131,  4,178, 70,118, 38,160,173,223,127,127,251,243,149,153,129,131,157, 13, 88,250,  3,
+251, 27,255,254,253,  1, 90,250,245,219,183, 87, 47,159, 93,189,116,230,237,171,103, 64, 71, 49, 49, 18, 59,205, 62,111,250, 60,
+  8, 35, 41, 51,  9,103,238, 70,186,103, 10,200, 46, 42, 42,122,244,232, 17,208, 82,242,246, 94, 78,157, 58,245,229,203,151,107,
+214,172,241,182,179, 19, 20, 19, 35, 85, 59,176,237,255, 30, 28,254,144,131,225,210,195,  8, 28, 87,  9,108,251,  3, 75,127, 80,
+ 66, 97, 99, 83, 83, 83, 91,187,111, 31, 49, 93,  1,202,207, 64,  6,150,242,192, 66, 31,114, 97,  8,156, 12, 13, 13, 37, 88,250,
+171,137,137,  3, 75,127,102, 38,166,172,152,232,239, 63,126,246,206,157,203,197,201,249,  3,  8,190,127,103, 98, 97,126,124,254,
+188,172,161, 33, 46,189,144, 82,254,246,131,  7,200, 92, 50,128,185, 83,196,158,213, 21,174,126,201,255,217, 85,137,212,  2, 63,
+203, 19,114,155, 35, 86, 17, 92,  0,216,240,127,248,229,239, 65, 87, 81,214,252,153,159,162, 21, 89,  4,197,  8,150,254,123,247,
+238, 85,144,148, 74,201,202,168, 40, 44,155, 50,127,134,153,145,209,140,201, 51, 10,202, 74,150, 90,154, 95,190,124, 89, 23,111,
+ 87,137, 96,209,175,162,162,130, 95, 61,176,244, 23, 21, 21, 53, 52, 52,  4,102,118,240,176,193, 63,112,142, 22,146,144,144,  0,
+214,  1, 64,217,224,224,224,209,210, 63,173, 28, 58,108, 56,171,179,  2,173, 14,  0,  8, 32,148, 10, 32,245, 88,229, 55,102,142,
+127,127,255,253, 99,100,230,253,255,157,225,247, 15, 70,  6,102,  6,105, 53,214, 95, 95,255,239,153,151,230,146,132,183, 14,248,
+199,204,204, 12,102,  0, 91, 76, 50,252,210,234, 15,111,174,153, 62,115, 62,211, 79, 46, 55, 71,235, 29,123,143,126,251,198,192,
+ 37,196,143,169,141,147, 75,253,251,183,155,192,226, 27, 38,  0,108,227, 63, 99, 98,118,136,139, 79,254,199,254,117,203,214,121,
+126,190, 73, 92,220, 12,223,222,190, 71, 43,133,161,182,130, 90,250,255,128,109,124, 96, 43,224,231,143,159,192,194, 30,152,  2,
+128, 85,215,175, 95,191,128,133, 47, 80, 28,212, 32,255,242,133,129, 31,125,232,246,224,254,153, 18,226,160, 90,130,133,153,245,
+239,191,255,239,222,126,252,245,231,215,203, 23,111, 63,188,255,252,237,235, 47,134,239,127,254,253,123,193,204,114, 69, 74, 70,
+158,155,147, 19,219,184, 19,  3,195,159, 95,223,223,191,126,245,253,203,191,223, 63,152,129,149,199,159,223,175, 94, 62,189,118,
+233,236,203,103,143,193, 87, 82, 48,131, 18, 37, 35, 53,247,169, 67, 26,248,179,102,205, 10,  9,  9, 49, 48, 48, 96,103,103,239,
+235,235, 35,207, 40, 72,243,223, 66, 71, 71, 92, 92, 28, 88,130,251,216,219, 75,145, 94,  7,  8,130,203,125, 86, 49, 49,160,  9,
+ 64,146, 96, 63,  0,216,246,103,253,249,115,237,218,181,200, 93,  1,226,135,131,200,  6,144,114, 31,249, 74, 22, 96,245, 73,176,
+  2,  0,214,229,162, 66, 66,137, 33, 33, 31, 62,126,122,253,238, 45,120, 76, 17,  4,128,  9,140,157,147,235,211,219, 55,159, 31,
+ 63,225,149,197, 57, 53,  7, 44,253,151,172,221,140, 92,  1, 64,250,  1,230, 70,122, 94,142,246, 68,184,250, 51,  3,  3, 47,175,
+176,129,139, 31,247,238, 77,115,233, 51,250,127,105,225,132,159, 59,230,139,205, 62,  7,172,  9,152,249,132,254,188,127,  5, 44,
+253,129, 29,130,175,127,254, 51,227,104,201,220,191,115,103,219,166,173, 11,103, 47,156, 52,119,218,140,190,  9, 66,194, 66, 45,
+109, 45,139,150, 45,181,181,176,158, 55,119, 94, 80,104,144,173,181, 45,121,165, 63, 68,  4, 79, 29,112,252,248,113, 96,174, 55,
+ 50, 50,  2,102,115, 96, 87,128,131,131,  3, 88,  1,220,184,113,  3,216,212,224,225,225,  1,246,246, 94,188,120,  1, 84, 51, 58,
+ 22,132, 40, 64,202, 59, 32,117,  0, 28,  0,  4, 16, 74,  5, 48,219,170, 29,170,142,233,242,255,125,243, 25,133, 37, 25, 82, 38,
+159,230,212, 52,125,188,241,223,172, 90,230, 35,203,211,108,153,102,253,195, 82,165,111,218,247, 46, 77,229,147,127,124,126,113,
+ 46,176,  3,241, 14,152,112, 25, 24,126,202,171, 27,113,176,179,124,255,250,147,225, 23,168, 98,  0,246,197, 94,189,123,143,169,
+119, 66,127, 17,232,238,248, 19,115,153,152, 32,203, 24,254,129,240,247,171, 63,126,254,230,228,225, 96, 96,  3, 85, 12,159, 63,
+125, 18, 67,186,127, 10,165,  2,  0,183,254,129,133,239,207,159,191,190,179,126,103,254,  2,242,209,159,223,127,128,205, 76, 96,
+211, 24,216, 39,  0,182,216,128,117,  0,102,  5,192,206,254,235,239, 95,214, 95,191,254,188,255,240,233,206, 29, 96,135,241,213,
+143,159, 63, 63,126,  2,102,246,143, 95,190,255,  4, 22,220,223,191,255,253,250,237,207,227,167,111,222,189,255, 10,236, 45,160,
+183, 76, 97,140, 95,223,191, 61,189,127,251,245,179,199, 47, 94, 61,254,252,233,  3,164,220,  7,146,144, 19, 74,  8, 22,255,165,
+113,165,120,198,130,176, 76,218,176, 64,163, 76, 80, 80, 16, 88,227, 34, 31, 54, 73,106,243, 31, 88,139,128,198,184, 69, 69, 25,
+ 41,171,165, 32,229, 62,176, 14,192,211,  9,184,242,244, 41,  3,248,236,107, 96,139, 12,210, 15,  0, 21, 55,151, 46,  1,201,117,
+251,247,227,175,  3,138,235,235, 33, 35, 93, 64,118, 73, 67,  3,188, 79,128,103,228,  7, 25,  0,155,255,104,227,200,144, 67,143,
+225, 99, 65, 88,129,  0, 11,203,143, 95, 63,129, 33,124,227,222, 93,160,141,215,110,221,254,245,235, 55,176, 62,  7,134, 63,208,
+ 49,192, 70,199,247,175,223,118,175, 90, 25,132,116,152, 43, 26,128,151,254, 49,193,190, 40,  3,143,231, 46,169, 42,202,179, 19,
+118, 56,108,236,130, 93, 21, 88,244,  3,251,  1, 64,228, 25,152,252,155, 69,149,134, 37,196,187,231,108,114,106,175,178, 57,216,
+157, 34,255,158,217,241,247, 19,104, 82,225, 85,182,149,252,204,227,192, 70, 18, 86, 29,234,170,234, 92, 92,220,147,230, 76,117,
+180,183, 55,183,180,216,181,109,231,141, 59,183,128,237, 50, 14,118,118,107, 99,235,173,155,182,190,121,245, 38, 48, 48,144,248,
+162, 31,216,108,223,189,123, 55,116,152,180,187, 27, 79,239,246,193,131,  7,202,202,202, 16,198,197,139, 23,229,229,229, 21, 21,
+ 21,223,191,127,127,230,204, 25, 37, 37, 37, 96, 35,  3, 40,  2,148, 26,173,  0,240,  0,128,  0,194, 50,  7,144,198,120,241,255,
+193,101,140,204, 44, 12,185,115,243, 31, 72, 78,234, 91,200,192,203, 51,189,246,102,106,155, 58,243,158, 89,105,178,154,179, 84,
+179, 64,131, 27, 76,204,200,186, 84,248,100,174, 92, 90,  7,102,  2,155, 10, 95,193, 71,189,255,102,248,253,147,229, 31,176,233,
+  0, 42,211,215,111,216,  5, 36,173, 61,177,148, 17, 59, 46,255,247, 48,212, 65,106, 91,  3, 93,197,202,192,202,241,135,241,239,
+ 63,112, 17, 26, 30, 13, 58, 83,254,225,177, 89, 88, 43,128, 63,127,255, 50,253,254,195,196,244, 19,220, 13,100,252,251,247,207,
+207,159, 63,128, 13, 53, 96,177,  6,236, 88,  0,187,  2,192,158,  1,187,172, 36,154, 70, 96,191,225,215,239,127, 12,223,127,189,
+121,243,254,219, 55, 96, 86,103,  1,230,240,159, 64,252,247, 55,176, 87,241, 31,168,153,233,247,231, 47,191, 94,191,254,252,245,
+251, 31,  6,  6, 53, 28,229, 63,148,241,243,199,247,143, 31,222,129, 39,156,193,147,210,164,196,193,205,135, 55,213,229,213,241,
+140,252, 32, 15,136,115,194,186, 35,192,146,232,222,189,123,144,210, 31, 88, 13,240,243,243,127,252,248,241,195,135, 15,196,140,
+153, 64,154,255,192,110, 50,132,155,147,147, 51,121,242,100,242, 58,  1,112, 19, 32,  3, 65,248, 71,255, 25,121,121,129, 14, 46,
+ 43, 43,  3, 54,162,127,191,127, 15,116,115, 69, 78, 14,193,126,  0,242, 88, 63,174,249,  0, 76, 93,157,132,166,217,207,130,  1,
+132,141,121, 34,214,251,119,239,120,120,121,223,188,127,191,255,228, 73, 22, 38,230,159,191,127,127,251,254, 29,152,216, 32, 85,
+209,159,223,192, 84,245, 19,127, 80, 99, 14,251,  0, 69, 32,157,  0, 85,  5,133, 71,247,238,144, 20,194,192, 58,224,235,235,147,
+219,215,207, 37,163, 31, 64,112,228,  7, 14, 46,172,154,109, 16, 95,200,174,168,  7,106, 69,189,121,126,235, 29,104,165, 41,187,
+165,207,163,191,127,184,166,156,196,170,229,211,167, 79,236,156, 28, 42,138,138,247,159, 60,126,251,250,109,120, 76,244,182,189,
+187, 39,118,244,174,223,182, 73, 85, 81, 53, 46, 56,246,248,185,163,235,215,174, 13,196, 61, 20,  3, 47,253,129, 69,191,171, 43,
+104,221, 29,164,  2,128, 87,  9,184,192,219,183,111,109,109,109,129,121, 28, 88,202, 31, 61,122, 84, 75, 75, 11,152,162,100,101,
+101,129,157, 99,112, 35,140, 73, 82, 82, 18, 30,197,163,  0, 43,  0,  8, 32, 22, 44,165,255,190,  5,192,230, 49,131,144,220, 55,
+ 89,243, 73, 45, 51, 24,254,126,101,120,241,169,102,249,193, 12,255, 12,134, 61, 11, 31,189,120,205,160,202,  0,108,115,163, 85,
+  0,119, 62,125, 82, 19,224,251,243,147,225,206,129, 37, 42, 14,238, 12, 12, 32,217,223,191,126,179, 50, 48,125,249,  1, 90, 68,
+225,225, 96,196, 41, 44,141,213, 17, 30,186,140,219, 46,254,103,  5, 54,247,229,220,127, 61, 58, 12,233,  4,176,178,177,255,102,
+248,193,195,  9,186, 59,112,211,182,229,223,223, 62,182, 80, 22,192, 86,  1,252,  7,141,254, 51,  2,221,195,  8,169, 15,128, 37,
+254,247,239,223, 33, 45,101, 80,245,240,231, 15, 80, 68, 20, 67,227,143, 31,127,192,227, 54,255,126,254,252,251,249,243,119, 96,
+ 94,  6,178,127,255,254, 11,172,191,152, 88,152, 25,152, 24,255,131,178, 58,227,159,127, 95,191,255,248,139, 47,119,193,107,  1,
+104,193,207,  8,107,251, 67,248,140,248,155,255,164, 70, 24, 23,108, 25, 34,114,233, 15,108,239,  0,187,192, 64,159,194, 91,202,
+196, 52,255, 21, 68, 68, 32, 92, 32,131,145,145,134, 71, 42,194, 71,255,255,127,254, 92, 91, 91,251,243,237, 91,200,245,143, 42,
+224, 26,136,245,231, 79, 95, 95,223,167,175, 94, 73, 83,117,133, 37,124,132,  7, 62,  1,128,  6,140,141,141,225, 61,128,171, 79,
+209,101,255,252,252,245,225,215, 59, 96,247, 81,128,159,159,  3,152, 20,255,254,  1,  6, 44,164, 61,241,251,247,111, 96,163,  3,
+127, 56,223,126,240,  0, 62,  3,140, 60, 22,132, 60, 51, 76, 42,224, 22, 53,  7,182,163,200,208, 72,252, 28,128,253,238,215,175,
+ 20,214,  0, 59,  1,140,138,122,242,243,207,191,249,241,143,155,133,241,215,145, 13, 55,239,221,199,149, 64,190,255,249,117,246,
+248,169,  9, 61,253, 86, 14, 54, 53, 77, 13, 59,183,239, 92,186,104,177,165,157,141,172,130, 28, 11, 23,235,222,195,123,151, 45,
+ 92,188,110,195,218,173, 91,183,122,123,123, 99,106,135,220,147,  3, 47,250, 73,  2,192, 52, 15, 44,241, 65,  9, 88, 65,  1, 24,
+155,192,238, 26, 48,191,  3, 91,253,236,236,236,192,198, 16, 80,144,151,151, 23,168,102, 36,151,239,192,150,205,150, 37,205,104,
+195, 62,200,  0, 32,128, 80,  6,246, 64, 35, 63,135,151, 50,112,114, 60,248,244,139,225,251, 71,246,127,223,244,116,148, 24,222,
+126, 99,248,245,199, 65, 95, 13,180, 48,243,247, 15,102, 70,240, 16,205, 63,204, 50,241,195,173, 15,143, 88,216, 25, 60,252, 10,
+151, 77,  2, 54, 82,126, 49,124,251,249,247, 59,195,134,253, 23,246,156,  6,221, 23, 47, 35,167,  8, 42, 88,113,  0, 47,125,198,
+223, 63, 24, 54,109,221, 97,226,150, 11,106,254, 51,176, 50,115, 50,132,249,132,122,217,249,  3,101,159, 60,188,251,255, 55,246,
+ 82, 24, 50,  7,252,  7,216,234,255,245,235,  7,176, 29,254, 29,180,254,  6, 24,235,192, 20,240,233, 35,176,117,242,249,203,151,
+ 47,160, 33, 32,204, 17,222,175,255,190,127,255,  3, 68, 95,191,254,250,252,249,199,167,207,223, 63,127,249,241,229,203,207, 79,
+ 31,127,124,254,252,243,243, 39, 16,250,248,241,231,199, 15,223,223,191,255,142,213, 98, 88,209, 15, 93,130,  4, 46,248, 25,225,
+109,117,  6,226,142,169,213,180,212, 60,186,237,232,206,125, 59, 33,245,  1,176, 55,128, 71, 49, 48,137,179,192,194,176, 11,188,
+ 10,179,162,162,  2,114,202, 60,242,178, 72, 98,154,255,226,226, 40, 91,144,178,179,179,183, 30, 58,244,140,136,197, 60, 88,  1,
+176,249,143,191, 10,  1, 54,243, 33,140,149, 43, 87,222,121,  1, 90,202,181,229,192,  1,184,224,205,155, 55, 69, 69, 69,105,148,
+  7, 32,165, 60,242, 21,137, 16, 54,158,241, 31, 80, 69,203,199,251,239,239,223, 79,239,222,131,150,243,126,120,255,245,219, 55,
+ 32,  2, 38,166,175, 31, 63,125,254,240,225,199,247,111,191,126,252,  0, 38, 59, 92,218,145, 75,121,120,233, 15, 97, 35,175,  8,
+194, 15,190,188, 62,185,103, 53, 34,235,126,123,119,129,214,229,197,243,112,  5, 96,185, 15, 44,253,127, 30, 92,243, 48,209, 16,
+ 88,250, 31,118, 21,253,243,241,181,201,142, 87, 44, 56,162, 23,216,146, 72,205,207,188,115,243,230,241,  3,135,249,121,249, 35,
+195, 35,  5,132,133,206,157, 58,195,195,198,193,205,205, 45,169, 32,181,124,197,242,138,234,170, 47, 31, 62, 16,239, 12, 34, 43,
+  3, 96,249, 14,204,230,192,150, 62,176,213,111,102,102,166,173,173, 13,218,148,195,193,  1, 44,250,245,245,245,  5,  4,  4, 32,
+171, 66, 71,120, 27, 31,185,119,139,217,211,  5,  8, 32, 68, 15, 32,237,214,180,255,175, 31,252, 96,229,216,243,138, 11, 24,215,
+ 10, 31,158, 51,175,107,217,158,222,220,173,165, 34, 41,200,145,171,193,201, 48,245,252,255,223,191, 30, 51, 75,160, 12,129, 32,
+  0, 15, 48,197,  2,169,139,151, 54,235, 27,248,214,213, 44,218,184,174,111,215,254,235,142,150,218, 44, 44,236,187, 15,159,251,
+207,204,242,235,239, 95,252,110,245, 48,212,216,113,246,  6, 67,111, 71,136,175,151,143,143,239,206,125,235,255,252,254,225,237,
+ 30,201,244,247, 55, 43, 51, 51,142, 57,128,255,144, 30,  3,116,237,231,191,127,204,160,225, 32, 38, 80,135,  0,216, 28,254,  7,
+ 93, 37,132,165,  2,248,198,198,200,248,157,149, 21,180,243, 11, 92,141, 48,252,  5,117, 23,128,232, 63, 35,243, 31,144, 94,  6,
+ 96,243, 31, 88,247,253,  3,246,  0,184,  4,113,182,254,145, 89,140,140,144,130, 24, 41,175, 48,226,107,254,  3, 75,127,104, 43,
+117,193, 30, 32,  2, 50,128,149,  1,131, 23,190, 32,  2,251,151, 97,205,154, 53,144,188,167,168,168,  8,233,232,  0,155,165,192,
+ 30,  0,193, 10,  0, 88,250, 67,154,255,138,212, 43,112, 89,193,  3, 71,222,246, 56, 39, 54,173,116,117,123,123,123,129,205,124,
+ 96, 65, 15,236, 13,  4,128, 79,198, 87, 87, 87,135, 11, 62,124,248, 80,132,157, 93,  2,214, 35,161,238, 28,  0, 16, 64,174,100,
+ 65,190,246,150,224,165,181,239,223,124,100,100,248,  3, 26, 62,124,249,141,141,131,  3,216,161,132,244,  0,190,  3,219,  8, 95,
+191,254,252,249, 19, 88,162,121,224,190,123, 22, 82,202, 67, 70,129,204,141,244, 78,158,187,  4,151, 66,155, 18,192,217,188,125,
+125,242,228,129,245,206, 94, 17,208,202,224,227,237,155,151,142,146,209,240, 39,126,252,  7,212, 87,123,247,245, 81,138,233,255,
+251,151,196,102,159,251,250,231,255,167,104, 69,254,101,247, 63, 37, 10,  3, 75,127, 38,220, 21,124,118, 78, 78,109, 71,139,152,
+176,200,239,127,127,111, 63,190, 23, 29, 25,181,104,201,146,141, 27, 54, 69, 69, 71,253,252,241,243,240,153, 99,223,191,127, 73,
+ 75, 72,216,123,252, 56,230, 58, 14, 96,140,220,185,115,199, 13,220, 65, 68,235,  7,148,150,150,226, 31,  5, 18, 22, 22,126,246,
+236,153,160,160,224,140, 25, 51, 76, 77, 77, 13, 13, 13,217,216,216,128, 57,255,196,137, 19, 22, 22, 22, 64,  5, 64, 89, 97, 28,
+115,135, 35,182, 14, 64,  3,  0,  1,132,168,  0,102,169,101, 57,124,157,121,235,201,251,231,190,224, 70,199,201,138,255, 91,166,
+ 75,189,188,223,111, 31,196,240,225, 29, 67,219,130,255, 79,111,252,229,228,254,240, 14,212,125,103,100, 66, 95, 19,112,240,192,
+ 70,123,  7,103, 80,193,250,239,247,157, 15,143, 24, 24,254,170,240, 41, 58, 58,234,137,139, 72,188,253,248,  9,212, 65,248,245,
+231,249,135,175,154,216, 28, 33, 35,103,249,228,209,113,112,154,101,241,  0,173,  4,101,217,113,249,247,206, 45,107, 94,190,121,
+ 38, 44,  0,234,226,  9,176,177, 74, 10,240,224, 40,131,255,131,139,247,127,144, 93,  0,160, 25, 97,166,191,192, 50,157, 17, 92,
+ 18,255,135,238, 14,192, 82,  1, 68, 70,229, 47, 94,212,  8,204,218,204,204,144,177,163,255,255,254,254,  7,246,236, 65,253,123,
+ 96, 33,203,  8,236,233, 48,254,253,251,255,231,239,127,249,153,141,104, 91,171,145,102,  0,254,195, 57,240,162, 31, 65,225,237,
+  4,192, 75,127, 52, 54,168, 14,192,  1,128,  5, 16,176,232,  1, 22,223,144, 10, 96, 13, 24,  0,185,202,202,202, 64,219, 39, 78,
+156,  8,236, 16,188,123,135,111, 55, 80,  9, 24,236,216,177,227,235, 75,148, 19, 11,128,245,193,253,251,247, 25,240,110, 10,195,
+220,249,  5, 44,250,129,213,  9, 48,124,125,236,237,165,113,207, 31,  0, 75,118, 43, 61,189,183, 15, 30,  0, 75,249, 91,176,181,
+ 64,170,146,146, 69, 69, 69, 71,143, 30, 85, 83, 83,211,145,150,198, 51,237,129, 60,238, 79,252, 28,  0,242,100, 64,121, 57,104,
+209,231,189,123,208,182, 63,124, 91,  0,158,133, 64, 60,210, 98,223,159,191,  0,182,241,191,  2, 27,153,111, 94, 51, 50,130, 86,
+254,254,248,241,  3,146,204,238, 95,187,254,251,215, 79, 60, 75,128, 80,122,183,142,246, 64,  4, 95, 18, 74,204, 16,208,151, 55,
+167,128,165, 63,200, 25,220,220, 27,145, 58,  1, 38,182,129, 52, 45, 41, 76,182,191, 58,227,201, 96, 96,236,242, 42,219, 74, 98,
+218, 49, 96,125, 32,200,198,248,246,221,123, 22, 70, 70, 22,188,253,217,184,184, 56, 56,123,243,230,205, 94,222,158, 91, 54,109,
+ 89,181,106, 85, 67,117,237,174,  3,123,153, 89,152,165,101,164,129,  1,201,192,134,101, 33,159,138,138, 10,102, 53,  0,153,  6,
+192,191,190, 25,216,210,191,119,239,158,150,150, 86, 65, 65,193,138, 21, 43,248,249,249,111,220,184,129,220, 69,  7,202, 42,144,
+ 59,224, 54, 66,  0, 64,  0,161,204,  1, 28, 48, 76,103,128,173,108,222,242, 74,192, 71,148,241,255,153,109,255,143,111,  2,149,
+108, 28, 28, 63,184,120,119, 11, 56,188,176,116,  1,143, 69,160,111,  8,188,121,235,215,145, 19,109,160,146,148,153,  3, 50, 92,
+113,231,211,243,186,156,164,111,223,126,126,250, 14,154,  3,248,197,196,238,228, 17,130,213, 17,181,213,  9, 59,182,130,183,213,
+252,133,156,193,242,199, 67,151, 49, 34,171,143,139,139,157, 15, 60,  7,192,250,239,135,180, 40,142,242,  5,180, 43, 20, 84,124,
+ 67, 26,137,255, 24, 65, 16,178, 55, 24, 84,250,254,199, 55, 46,242,237, 27,231,247,239,159,129,157,  0, 96, 31,  0, 88,230,  3,
+ 13,  1,247,  0,254,125,  3,109,127,100,  4,138,252,  6, 54,169,153, 24,177,217,  9, 46,217,255,195,235,128,255,152,125, 34,200,
+ 84, 64, 76, 98, 32,174,115, 57,174, 31,191, 78,106,108,  1,125,242,253,251,119, 93, 93, 93, 37, 37,165,  7, 15, 30,172,  2,239,
+146,133, 84,  6, 16,208,209,209, 65,176, 14,  0,130,140,140, 12, 76,193,224,248,120,  6, 34, 54,133, 65,182,230, 34,  3, 95,  7,
+  7,130,179,199, 18,176,134, 24,114,111,  0,216,240, 55, 81, 87,103,251,250, 21,191,151, 41, 73,223,200,165, 60,242, 46, 10,  6,
+ 34,246,  9,115, 74, 74,124,187,125,231,239,159, 63,159,222,127,  0,247,174, 64,205,136,247, 47, 95,125,122,255, 30,232, 42, 60,
+205,127,180,201,128, 37,107, 55, 35, 47,253, 68,158, 30,192,145, 46, 47,158,216, 15, 89, 79,193,176,113, 53,104,  1,168,145,125,
+132,144,152,  1, 45,203,129,255, 40,117,  0,195,108,131,140,186, 23,255,254,233, 47, 56,117,202, 67, 92,123,203, 75, 96,233,207,
+203, 74,236,142, 22, 96,228,238, 59,176,207,201,213,121,211,218, 13,205,157, 29,229, 31, 63,  2,219,101, 43, 87,174, 21, 17, 17,
+121,244,  9,167, 46,180,106,128,129,208, 22, 48, 32,176,180,180,  4,182,241,207,157, 59,103,100,100,228,236,236,188,127,255,126,
+ 57, 57, 57, 96, 11,201,222,222, 30, 24, 65, 64,113, 86, 86,214, 17,190,  4,  8,178, 15,  0,222,  3, 64,227,  2,  1, 64,  0,225,
+220,  9, 12,236,  7,204,189,188, 71,231,239, 85,  9,214,143, 63,254,179,220,254, 47,192,252,250,211, 11, 11,232, 54, 66, 38,108,
+  3, 50,162, 66,134, 94,  9,113,127,255,195,155,234,255,191,124,253,196,204,194,207,192,196, 85,214, 67, 96,167,146,135,183,206,
+134,169, 21, 12, 76,223, 24, 96,141,117, 30, 30,254,191,191,223, 51,252,255,250,240,216, 44, 19, 61, 57,124, 41, 23, 84, 70, 48,
+  2,139, 97,208,168, 13, 35,120, 44,158, 17, 54, 12,143,145,190,145, 65,122, 70,217,148,201,109,159, 63,127,100, 97,129,236, 34,
+  1,246,241, 65, 61,128, 47, 95,126,253,250,  3,170, 83,152, 89,152,186,218, 39, 96,106,244,244,  7,117, 48,119,110, 62,241, 23,
+ 60, 10,252, 31,226,  4,232,156, 47,212,246,248,148, 16, 60,254, 77,105, 78,121,112,247,  1, 25, 49, 10, 76,223,239,193,235,103,
+140,141,141,205,204,204, 94,191,126,125,247,238, 93,208,194,196,127,255,214,174, 93, 75,176, 14,200,137,143,231, 20, 19,243,193,
+ 54, 92,147,  3,174,  0, 56,113, 23,229,144, 12,137,166, 87, 26,117, 46,129, 32,  0,246,  6,172,193,189,  1, 49, 78, 78, 29, 43,
+ 43,154,166,126,180,242, 29, 24, 98,104,179,193,  4,235,  0, 97, 85,149,207,239,223,179,176,179,253,252,249,227,239,111, 96,154,
+248,199, 43, 40,248,241,221, 59, 96,233,143,191,249, 15,223,  8,  6,153,  0, 56,121,238, 18,176,  2,128,143,254,227,218, 23,166,
+ 38,249,254,205,219, 55,171, 86, 47,135,139,132, 69, 39,191,251, 69,218,186, 79,204, 49, 31, 12, 17, 70,130,253,  0,134,237,208,
+131, 28, 84, 54, 66,247,222,127,252,253,151,120, 55, 56, 57, 56, 93, 20,188,232,230,237,145, 26,155,172,167,175,187,105,227,230,
+227, 23,206,166,165,165, 61, 34,116, 72, 25,188, 26,232,  6,  3,130, 59, 28,129,181,  5,176,199,176,101,203, 22, 96,147,  8,216,
+111,128,172,133,187,122,245, 42,176,237, 15, 44,253,225,117,201,  8,  7,104,155,129,145,  1, 64,  0,225, 59, 10,226,159,174,203,
+ 37,  6,151, 75,164,216,164,163, 99, 61,105,210,162,188,252, 72,105,121, 96,170,253,201,202,206,241,228,249, 39,123,223, 56, 98,
+244, 26, 26, 42, 37, 36,132, 45,152,183,142,225,223, 67,  6,  6,150, 63, 63,190, 75, 75,242,203,241,253, 33,216, 40,  6,150,184,
+255, 65,144,225, 63,108,255, 50,  3,164, 63, 64,132,165, 57,185, 85, 64,178,170, 50,143,153,153,233, 63,104,140,  5,216,  9,248,
+251,229, 11,168,248,103, 98, 98,156, 62, 29,223, 41,137,238,190,160,106, 96,219,134,163,255, 17,197, 63, 40,107, 37,167, 71, 18,
+180,247,227,151,143, 88,143,250, 33,  8,128,101, 16,176, 19,240,247,239,223, 79,159, 62, 49, 51, 51,  3, 25, 18, 18, 18,191,127,
+255, 70,206, 42,192, 58,  0,215,153, 16,144,166,186, 32, 89,203, 61,133, 32, 85, 42,137, 37, 62, 38, 16, 39,113, 88,150,236, 57,
+  0,180,146, 29,235, 90, 32,130,219,193, 20,204, 76,129,228,141,131,  7,127,124,251,254,239,239, 95, 77, 99, 99, 93, 43, 59, 30,
+105,188,  1,248,159,241,225,253,187, 64,154,141,129, 33, 41,  8, 58,165,  3, 20, 65,102, 99, 93, 42,124,235, 57, 48, 73,  8,134,
+ 71,167, 60,124,252,226,196,161, 45, 64,145, 85, 75,231,154,219,249,240,138,219, 16, 19, 80, 97,160,125, 24,132, 79,122,248,203,
+136,125, 19,194,163, 64,137,237,207,126, 80,171,208,209,  7,131, 51,103,206,236, 61,113, 80, 88, 68,152,164, 67, 74, 32,213,  0,
+ 49, 42,121,121,121,131,131,131,143, 31, 63, 14,108,  6,157, 58,117,106,244, 44, 32,204,209,127,180,210, 31,109, 62,  0, 32,128,
+168,127, 41,188,178,134,233,214,157,119,  2,188,185,196,164,101,223,125,254, 99,239, 29, 75,188, 94, 75, 83, 13, 75,211,170,244,
+244, 58,  6,134,151,130,188, 44,114, 66,255,  8,107,137, 14,167,220,205,109,237,147,128,100, 94, 94,238,239, 95,191,254,253,  7,
+ 45,181,236,239,239, 39, 82,175, 87,  0,232,124,211,173,235,143, 48, 50, 50,165,101,197,208, 33, 82,129, 37, 32,176, 31,240,235,
+215, 47, 72,177,  8, 41, 16,135,235,249,160,  4, 79,152, 32, 30, 16,115,234, 39, 46,160, 97,111, 79,188,226,231,247,110,154,171,
+202,144,109,215,219, 95, 42, 60,226, 42, 46,161, 54,164,106,196,117,202, 27, 18, 96,250,195,200,254,157,  9,251,252,255,221,207,
+127,212,120,241, 20,  8,228, 44, 20, 54, 49, 49,161, 67, 34,177,  4,131,209,226, 30, 87, 29,128, 71, 22, 32,128, 70, 47,133, 31,
+146, 96,244, 86,247, 81, 48, 10, 70,  1,229,  0, 32,128, 70,111,  4, 27,146, 96,180,244, 31,  5,163, 96, 20, 80, 14,  0,  2,104,
+180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,
+163, 96, 20,140,130, 17, 10,  0,  2,136, 38,151,194,143,234, 29,213, 59, 56,245, 66, 78,131, 24, 13,171, 81,189, 35, 74, 47, 30,
+  0, 16, 64, 44,104,217,131, 24, 61, 88,179, 16, 37,122, 71,  1,169,  0, 87, 65, 54, 10, 72, 13, 37, 34, 67,242,209,163, 71, 79,
+159, 62,101,103,103, 23, 17, 17,145,147,147,163,155, 23,224,103,190, 14,230, 28,244,234,213,171,167, 79,159,226, 87, 35, 45, 45,
+ 45,134,109,247,  9, 37,122, 71,  1,229,  0, 32,128,208,151,253, 18,220,121,143,231,208, 71, 52,189,152, 71, 19,211,244,204, 97,
+250, 23, 46,248, 21, 20, 20, 20,104,106,106,146,173, 61, 52, 52,212,197,197,  5,143, 94,170,212,  1,238,238,238, 64,114,231,206,
+157,116,208,251,245,235,215,181,107,215, 66, 46,133, 15, 14, 14, 54,196,125,159, 34,166,103,  9, 94, 10, 63, 99,198, 12,172,173,
+ 13,252,161, 68, 76, 24,  2, 75,168,159, 63,127,  2,173,224,224,224,248,241,227,  7,176, 38, 56,125,250,180,190,190, 62,158,155,
+170,172,173,173,  9,250,235,249,243,231,192,194,157,160, 50, 96,233, 15, 57,238,155,152,176, 34,102, 47, 72, 88, 88, 24,254,116,
+  5,  1,242,242,242, 12,224,243,150,129,126,135,196, 29,158, 52,  9, 44,193,139,138,138,240, 88,250,254,253,123,115,115,115,172,
+ 65, 13,212,171,165,165,133, 71,239,203,151, 47,107,107,107, 71,155, 59,148,  0, 60,151,194,  3,  4, 16,203,176,241, 36,253, 27,
+197, 27,103,120,224,146, 10,200,220, 65, 73,103,  8, 79,245,176,103,207, 30,100, 54,114,134,  4,114, 87,175, 94, 77,124, 32, 92,
+190,124, 25, 82,136,163,153, 67, 18,200,200,200,200,206,206, 38,230,234, 87,200, 77,144,113,113,113,192,226,160,183,183, 87, 65,
+ 65, 65, 80,144,240, 94,104, 96,201,187,125,251,118,  8,219,195,195, 99,199,142, 29, 88,217,120,  2, 25,158, 48,128, 12, 99, 99,
+227, 89,179,102, 65, 10, 74, 98, 18,204,199,143, 31,121,193,  0, 88,250,115,114,114,  2, 43,131, 15, 31, 62,240,243,243,159, 58,
+117,138,  1,188, 97, 21,151, 70, 29, 29, 29, 96,113,  9, 47,184,145, 91,241,192,  2, 29, 72,158, 56,113, 34, 42, 42,138,152, 16,
+ 38,178,244,135,128,  9, 19, 38, 80,158,176,185,185,185,175, 93,187,198,202,202,250,235,215, 47, 96, 32,223,190,125,187,178,178,
+146,160,174,151, 72,199, 11,218,218,218, 30, 62,124, 24,206,125,243,230, 13,145, 26, 49,193,  3,216, 33,122,163,128,242,210,159,
+  1,227, 82,120,128,  0,236,157,177, 13,195, 32, 20, 68, 35, 81,101,  6, 24,130, 34, 61,131, 48,  5, 61,101,182,178,216, 32, 18,
+227,208,230,137,111, 33,100, 43, 54, 33,141,139, 92,101, 91,194, 66,248,251,238,190, 37,115, 23, 21,128,156,243,160, 67,188,206,
+135, 17,253,120,174,166,230, 21, 39,134, 67, 76, 35, 62,110,147, 11, 15,113, 47,203,  2, 75,110,118, 58, 27, 65, 11,133,151,108,
+200,111,129,247, 79, 41,181, 80,248,211,149,199,251,203,158,145, 18, 10,143,  6,140,180,  2,191,135,194, 51, 49,214,182, 15,133,
+167, 78, 96,231,211,  9, 35, 84,240,254,173,134, 37,224,253,105, 50,238, 53, 20,190,148,162,148,226, 86,  7,  2, 32, 44,223, 60,
+190,156, 78,128,129,204,118,188,  9,  0, 33,  4, 57,104,127,179,239,175,124,  2,198, 31,178,142, 49,162,  1, 20,134,115,110,144,
+253,123,192,254,222,251, 94,  3,164,141, 56, 40,164,233,135,107,173,213, 90, 35, 87,178,151,173,192, 24, 67,129,241, 82, 80,159,
+127,246, 95, 89,165,230,194,239, 67,225,223,  2,176,119,245, 40, 12,131, 96, 52, 32,189,129, 91, 15,225,232,  1,218,205, 11,184,
+123, 12,239,147,123,120, 24, 71,221,116, 19,250,234, 71, 37,132,196,216, 31, 58,148,190, 65, 36,  1,135,160,239, 39,131,239,147,
+  2,208, 40,172,243,100, 16, 56,108,176,150,207,106,  0,182,221,207,255, 28,111,102, 22,172, 77,151,167, 47,111,  3, 29,  7,236,
+255,116, 47, 69,185, 82, 41, 60,198, 17, 23,191,194,165,  2, 75, 97,  5,140,135, 43,128, 82,225,250, 95,139,  2,239, 96,179, 20,
+254, 48,244,228,156, 33,  0,198, 24,228,128, 16,194,233,209, 10,143,  9,148, 32,198,216, 79, 78, 96,255,166,202, 36,  0,148,  3,
+106, 19,217,104,222,  2,239,183,218,231, 47,108,108,216,109,231,156, 82, 10, 74,192, 57,199, 28,236, 15, 49, 72, 41, 49,198,  6,
+217,223, 90, 75,135,113,149,  3,246, 48,207,115, 39,  4,120,239,181,214,123,111, 75, 41,231, 10,124,109, 10,199, 66,  8, 41, 37,
+ 25,142,191,253, 95,178,255,180, 85, 10,127, 19, 64,212,172,  0, 48,  7, 46,136,156, 25,166, 86, 29,224,229,229, 69,106, 63,128,
+160, 11,  9, 26, 21,156,179,115,237, 20,247,  1, 28,185,130, 95,114, 66,106,243, 31,210,240,  7,150,218,192,182, 18, 48,  7,146,
+ 81,  1, 64,  0, 68, 35,176, 14,192,229, 17,200,232, 63,  3,236, 82,120,248,217,241,144, 75,225, 33,130,120, 34,218,195,195,  3,
+ 62,159,228,233,233,  9,239, 19,224, 25,249,193,108,133, 96, 94, 10, 15, 31, 11,194, 10,238,220,185,  3,190, 98, 26,196,  0,218,
+120,243,230, 77,200,225, 75,144, 75,225,129,229, 14,176,122, 88,191,126, 61,158,162, 28, 94,250,  3,123, 27,104,181, 17, 73,163,
+ 58, 64,197, 16,  7,147,218, 21, 32,  3,252,254,253,219,200,200,232,192,129,  3, 38, 38, 38,192, 88,131, 12,178,  1,185,238,238,
+238,127,254,252, 33,166,244,  7,146,173,173,173,184,198,130,168, 14,128,205, 14, 96,135, 18, 88,167,  2,131,  5,232,114, 96, 28,
+ 65, 74,127, 96,125,  0,116,246,104,209, 79, 16,  0,  4, 16, 53, 43,  0,170, 79,  2,147, 81,  7,  0,155,147, 36,245,  3, 32, 89,
+107,233,210,165,104,226,219,182,109,  3, 10, 18,105,200,137,251, 90, 22,138,215,200, 27,249,129, 36, 86, 96,242, 37,251, 52, 55,
+ 72,233, 79, 82, 45,  2,105,254,163, 93, 10, 79, 94, 39,  0,110,  2,158, 75,225,225, 77,126, 96,153,  2,108,204,170,170,170,  2,
+ 27,209,236,236,236,252,252,252, 45, 45, 45,  4,251,  1,200, 99,253,184,230,  3,200,168,218,129,  5, 49, 92, 13,230,137, 88,192,
+  6, 62, 47, 47, 47,176,212, 59,118,236, 24,176,241, 11,185,104, 26,126, 41, 60,176,160,252, 73,232, 82,120,204, 97, 31,120, 91,
+ 30, 24,221,175, 72,188,125, 19, 24,191,144, 21, 65,100, 52, 23,136, 63,217, 16, 24, 17,165,165,165,144, 28,  7,180,238,246,237,
+219, 12,160, 99,122, 13,129,245, 31, 49,235,112, 40, 41,235, 33,149,  7, 25,  6,  2,227, 17, 24, 59,150,150,150,240,131,231,128,
+174,  5,246, 93, 70, 11,119,  6,164, 59,129,145,135,128,144, 83, 59, 64,  0, 13,246, 73, 96,250,212,  1, 64,245,144,126, 43,188,
+ 35, 76,100,233, 15,108,254, 83,183,207, 68,135,210, 31,222,252,215,209,209,129,112,129, 12, 10, 59,  1,248,  1,124,244,159,155,
+155,187,182,182, 22, 88,250, 67,196, 13, 12, 64,151,156,  0,203,125, 95, 95,223, 35, 71,142,  0, 73,170,143,149, 65,122,  0,184,
+ 46,133,135, 87,186,152,235,166,129,101, 10,176, 14,248,241,227,  7,176,150,  2,214, 85,144,235, 54,225,151,194,  3, 25,248, 75,
+127, 72,165,142, 57, 22,132, 60, 51, 76, 42, 32, 91, 35,241,115,  0,192,250,216,219,219, 27,152,131,184,184,184, 28, 28, 28,128,
+ 33,  0,140, 50, 96, 13,189, 96,193,  2, 38, 38,218,110, 26,  5,150,245,240,225, 35, 72,  6, 36,190, 58,  1, 54,104, 30, 61,122,
+ 20, 30, 14, 58, 24,120,229,202,149,160,171,199, 70,  1, 90, 63, 24,199,189,240,  0,  1, 52,216,119,  2,147, 49, 19,  0,  4,196,
+ 55,222,225,133,  5,188,223, 74,124,233, 15,  1, 70,134,  6,123,247,237, 95,182,143, 11, 82, 31,  0,123,  3, 36, 57, 21, 88, 12,
+237,  1,  3, 72,105, 78,204,210, 64,248,253, 54,144,139,189, 72, 45,253, 33,205,127,204, 75,225,215,172, 89,  3,145, 34,  3, 16,
+188, 20, 30, 88,136, 64, 24,192,252,121,225,  2,232,114,243, 21, 43, 86,192,  5,105,122, 41, 60,124,205, 15, 90,173,137,191,203,
+  5,108,254,  3, 75,121,160, 11,223,188,121,  3, 36,191,129,193,151, 47, 95, 62,125,250,  4, 44, 95,128,189,  1, 96, 15,224, 47,
+238, 59,174,145, 11,107,180,121,123,180,117,253,248,107, 17,100,103, 19,151, 54, 40,  2, 11, 23, 46,  4,150,251,192,210,255,218,
+181,107,  7, 14, 28,  0,150,254,117,117,117,192,186,185,178,178,146,152, 10,192, 22, 27, 32,169, 14,  0,102, 67, 82, 75,127,200,
+ 32, 36,164,244,  7,  2, 32,195,158,148,179,187, 71,  8,  0,246,  0,224, 51,  1,200,  0, 32,128,  6,233, 36, 48, 37,165, 63, 48,
+ 13,145,209, 77,134,140,  5,  1,187,  2,196,151,254,192,226, 30, 88,250, 67, 71, 57,214,173, 95, 11,190,197, 15, 88, 25, 48, 56,
+ 57, 50, 48, 16, 94,  6, 10, 89,149,  8, 47, 23, 32,197,  4,113, 43, 50, 65, 69, 45,252, 94,120, 82, 75,127, 72,243, 31,107, 99,
+159,188, 78,  0,164,218,200,201,201,193, 25, 80,193,193,200,151,194,199,196,128,110, 77, 64,187, 20, 62, 54, 22,231,189, 17, 20,
+206,  1, 48,144,117, 41,188,176,176,240,219,183,111,129,237,253,215,175, 95,  3,123,  0,240, 75,225,191,126,253, 10,172,  9,128,
+165, 63,176, 26, 64, 27,220, 71,  6,144, 82, 30, 50, 10,132,118, 19, 25, 30, 93,104,165, 63,100, 19,  0, 50,151,140,134, 63,241,
+227, 63, 64,112,251,246,109, 96,116,  0, 61,104,105,105,  9, 36,129,129,  6, 44, 79, 55,109,218,196,204,204, 76, 76,  5, 64, 73,
+ 43, 30,217,  4,146,116, 25,131,  1,144,113,238,220, 57,160,155,109,108,108,128, 73, 11,216,203, 68, 94, 48, 61, 98,  1,100, 21,
+ 16,218, 36, 48,242, 42, 32,128,  0,236, 93, 49, 14,128, 32, 12,252,  0, 79, 32,225, 25,204, 36,254,136,111,242,  4, 38,190,193,
+226,233, 37, 77, 21,163,213,193, 56,216,169, 49, 12,166,150, 94,165, 71,238,187, 67,224, 55,171,191,198,128, 91,189,255,161,191,
+ 96,128, 45,113, 15,125, 75,226,142,186,240,100,  4, 93,190,191,136,194,143, 61, 20,137,116, 39,156,188,241,230, 23,225,  4,149,
+ 17,213, 95, 14,148, 70,195,119, 12, 33, 80,255, 29,  0, 64, 46,144,126,168, 37,197,247, 88,183,189,  7, 96,159,  1,232, 36, 68,
+ 76,  0,171,  8,172, 62, 49, 59,143,149,247,190,214, 74,229,181,222, 59, 17, 72, 68,225, 57, 19, 54,146,121,166,213,164,127,183,
+156,228, 72,185,199, 98,189,137, 30,211, 73,141, 70,198,103,206, 25,237,127, 74,  9,120,224,156,107,173, 25,  1, 64, 42, 56, 27,
+169,103, 35,129,187,189, 63,247, 14, 34, 86, 74,129,131,210, 31, 99, 68,220,240, 43,243,207,129, 47,109, 22, 64, 44,152,249,141,
+108,179,208, 82, 39,114,251,  5,185, 89, 68,187,210, 31,152,236, 40, 95, 81, 67,188,226,199, 79, 94,224,146,226,228,228, 34,168,
+ 29,235,192, 52,145,  0, 88,160,  0, 75,252,189,123,247,194,239,133,135, 47,  6, 37,166, 14,195,122, 41, 60,100,199, 13,193, 46,
+  8,102,165,158,155,155,139,167,244,135,  0, 33, 33, 33,200, 16, 63,176, 53,141,220,240,175,169,169,193,159,228, 40,220,  7,128,
+ 28, 26,104, 91, 37,  8,214,247,246,246,246,219,182,109,251,243,231,207,135, 15,144, 75,225, 65, 46,  1,118,  8,128, 92, 32,155,
+248,134, 60,208, 94,228,165,159,200,211,  3,248, 75,127,  6,114,231,120, 40,175,  3, 42, 42, 42, 14, 30, 60,  8,140,166,246,246,
+118, 96,139,  1,216,  1,130,108,137, 32, 56,196, 71, 70, 43, 30, 89, 47,169,  0, 88, 51, 61,125,250, 20,121, 31,192,197,139, 23,
+129, 93, 55, 96,171,130,200,117,171, 35,  1,160, 77,  2, 35,  3,128,  0, 98,193, 95,136,227,234,219,210, 26,144, 81,250,211, 57,
+159,180,180,180,224,223,223, 72,176,178,164,100, 72, 23, 82,104, 66,150,225,  3, 25,144,189, 96,240,123,225,241,148,107,144,139,
+221,129,133, 23,242, 28,  0,164,121, 91, 86, 86,134,191,180,197,170,151,212, 33, 35, 34, 27,254,212,234,146, 34,135,  3,230,165,
+240,248,235,  0, 96,176,120,123,123,  3, 91,178,108,108,108, 63,127,254,  4,214,  1,192, 16, 22, 16, 16,  0, 22, 88,120, 14,234,
+ 64,206, 71,240,233, 95,160,189, 64,245,240,188,131, 43,151, 65,146,  4,218,182, 97, 82,231,126, 49,199,124, 72, 26,  5,130,212,
+  1,240,205, 95, 89, 89, 89, 16,  6,176, 39,132, 71,203,179,103,207,144,119,123,173, 88,177,130,224,  9, 63,184,244,146,  4, 46,
+128,  1,154,224, 19, 48, 24, 45,247, 25,144,238,  4, 70, 46,250,145, 87,  1,  1,  4, 16, 11, 21,203,119, 76,189,244,169, 45,232,
+ 95,250,  3,129, 40, 24,144,173, 93,  9, 12,168,229, 24,248,248, 15,114,217,135,245,178, 79,178,143,124,160, 80, 47,214,222,  0,
+145,128,236, 57,  0,180, 36,129,181,203, 69, 48,217,  0,187,149,119,239,222,221,191,127,255,247,239,223,255,254,253,107, 96, 96,
+ 16, 22, 22, 70, 48,238, 78,156, 56,  1,239, 70,192, 69,144,217,184, 82,  5,188,113,  0,169, 57,128, 57,136, 96,101,  3,  7, 97,
+148,221,159, 76,118, 14,146,150,150, 14, 12, 12,196,175,166,185,185,153,234,122, 71,  1, 73,117,  0,102,233, 15,  4,  0,  1,196,
+ 66,173, 50,116,244,180,166,  1,  7,104, 81, 64,252,145,176, 67,200, 83,  3, 98,148, 50, 24, 16,175, 30,216,191, 33,242,156, 31,
+ 60,141,  3, 50,170, 91,106,213,208,164,  2, 49, 49, 49,178,195,150, 18,189,163,128,248, 58,  0,151, 20, 64,  0,141, 94, 10, 63,
+ 10, 70,193, 40, 24,  5, 35, 20,  0,  4,208,232,141, 96,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,
+130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,
+  1, 64,  0,209,240, 82,248,209, 11,184, 71,245, 14, 81,189,155,253,166, 16,175,215,119, 83, 14,181,244,110,244, 37, 65,175,255,
+102, 20,189, 62, 54,210, 12,224,189, 11,191,127,255,190,127,255,254,175, 95,191, 88, 88, 88,158, 60,121, 18,201,175,176,243,204,
+153,239,122,178, 22, 22, 22,204,204,204,144, 69,180, 91,142, 60,165, 86, 88, 65,236,133,  3,200, 14,149,171, 87,175, 74, 73, 73,
+189,123,247, 14, 72,114,114,114, 50,192, 54,244,161,217,139, 85,239,227, 43, 75,210,109, 31, 45, 59,163,198, 34,230,198,195,203,
+135, 75,239,104,122, 38, 94, 47, 30,  0, 16, 64, 36, 28,  5,129,127, 83, 34, 21, 47,224,150, 56,113,237,206,171,231,156,108, 28,
+234, 92,252,119,236,116,232, 86, 25, 14,137, 11,184,  7, 27,184,121,243,102,127,127,127,111, 21,136,189,225, 48,232, 12,  0, 60,
+138, 31, 60,121,252,244,201,147,155, 55,110,188,127,255, 94, 94, 94,158,135,151,215,195,213, 13,191,249,187,119,239, 38,232,134,
+ 53,107,214, 16, 31, 83,144, 93,208, 88,239, 16,198,  7, 66,223,129,169,255,160,131,152, 86, 11,145,160,209,184,159, 65, 41, 30,
+156,188, 22, 48,156, 45, 34, 57,124, 67,222, 32,236, 93, 35,130, 71, 33,176,244,252,250,245,235,174, 93,187,128,201, 56,148, 85,
+ 88, 66, 86,244,199,215,239,156,223,254, 88,151,164,218,249,134,111,153, 59, 99,243,222,189,110,110,110,116, 72, 18,127,255,254,
+  5,186, 65, 95, 95, 95, 77, 77,237,220,185,115, 63,126,252, 80, 85, 85,197, 60, 28, 30, 43,248,243,231,207,197, 51,231,101,146,
+ 13,203,204,180, 79,236,234, 89,123,217, 65, 85,199,137, 72,189,163,128, 12,  0, 16, 64, 68, 85,  0,196, 28,233, 67,149, 11,184,
+ 85,207,221, 21,124,251,133,145,225,255,175,191,204,191,223,125,121,242,230,227,131, 41,103,121, 28,205, 69,180, 53,240,232, 58,
+187, 63, 93,  3,186, 74,155,121,253,174,127,135, 79,255, 79,139, 96,  0,138, 20,181,146, 86,148,147,116,  1, 55,174,154,131,214,
+ 87,118,128,202,162, 80,208, 22, 33, 33, 33, 44, 71,  6,189,123,231,  2, 14,106, 65,250, 44,  9,135,149,254,255,193,165,191,221,
+145, 35, 71,240, 84,  0,122,250,187,158, 61, 91,187,104, 62,148,123,235,198, 77, 32,153,146,184,238,227,151,156,207, 31,240, 85,
+243, 43, 87,174,196,239, 12,226, 55,253, 99,166,228,140,244,244, 25,196, 85, 30,200,215,208,147,  0,148,226, 17,135,178,145, 81,
+  1,192,124,135,231,228, 81,  8,184,123,247,238,129, 85,171,154, 92,194, 12,162,179,216,196,  5, 25, 88,152, 24, 24,152, 24,254,
+253,103,248,199,250,239,231,127,175,248,180, 71,147, 58,142, 29, 59,102,101,101, 69,235,194,148,137,137,201,192,192,224,192,129,
+  3,192, 58,192,204,204,236,197,139, 23, 23, 47, 94,212,211,211, 35,230,152, 25,160,103,157,157, 92,219,251, 54,149, 39, 92,182,
+240,200,180, 48,223, 83, 50,249,137,154,105, 28, 86,189,144,216,196, 95, 61,  0,101, 73,174,236,135, 17, 64,187, 16, 24,209,247,
+130,173,254,  7,  8, 32, 22, 98, 51,140,203,170,153,161,239,137,175,  3,200,184,128, 91,230,238, 75, 35, 78, 65, 54, 73,254,191,
+ 12,255, 57, 63,112,189,120,253,250,197,231,143,138,236, 60, 55,118, 30,  1, 70,175, 40,238, 58,  0, 88,214,223,184,203,244,255,
+ 63,199, 95, 70,246,  0,215,223,129,110,223, 25, 24,254,193,218, 77, 36,230, 86, 18,203,110,248,145,141,144,131,168, 76, 42,238,
+117,158,  5,214, 36, 97,  4,171,  1,130,117, 42,193,253,159,144, 91,144, 48,132,137, 61, 86,229,246, 94,190,158, 85,145, 16,118,
+113,232,114, 53,151, 79,100,148,254,125,125,125,192,220, 94,220,  6,189,248,  9, 79, 14,  7,150,254, 22,230,107, 45,204, 25, 26,
+ 27, 17,130, 81, 81, 12,224, 59,220,166, 44, 95,133,175, 14,  0, 22, 10,144,195,239,128,133, 96,120,120, 56,228,212, 35,130,  5,
+ 34,214,182, 63,228,192, 12,184, 59, 51, 50,136, 45,253,201,  4,198,125, 12,176,139,218, 65, 21,128, 81, 47,195,185, 98, 26, 89,
+181,111,223,190,233,129,105,138, 78,174, 12,204, 63, 25, 89,153, 24, 89,152, 24,153, 89,255,255,103,252,247,245,207,255,191,127,
+129, 77,170,212,248,172,172,186,252,187,226,226, 36,109,106, 35,  3,  0,243,130,164,164, 36, 48,156, 15, 30, 60,120,227,198, 13,
+ 87, 87, 87, 75, 75,203,147, 39, 79,106,107,107, 19,212,123,100,239,242, 32,131,111,103, 63, 51, 71,213,127,177, 49,156,152, 83,
+ 16,222, 83,254,161,188,103,169,146, 97, 20,158,194, 29, 94,188,  0,163, 24, 77,132,242, 43, 55,134, 55,  0,  8, 32, 22, 34, 75,
+127, 16,119,181, 32, 49,117,  0,121, 23,112, 43,220,120,166,206,198,205,246,255, 15,103, 79,233,159,111,191, 56,138, 91,249,217,
+ 56,126,176,126,255,250,227, 59, 39,  3,227,243,131, 39,216,100, 36,249,249,249,177,234,189,113,151, 97,214, 10, 96,137,255, 13,
+140, 24,108, 77,153,  2,221, 24, 97,117,  0,  3,176, 55, 48,107,  5, 81, 97, 65,234,  5,220,144,210, 31, 82,244, 67, 74,127,120,
+112,117, 18, 81,  7,220,237,184,139, 75, 74,185,  2, 95, 22,  5,182,253,145, 47, 51, 65,149, 74,  7, 75,225, 59,167,236,205,101,
+201,154, 41,254,255, 25,254, 91, 10,213, 88,187,104, 31,217,125,181,119,117, 20,195,234,255,245, 69,211,164,212,137,109, 74,127,
+121,152, 46,205,193,240,237,237, 85, 96,227,139, 87, 76, 15, 82,250, 79,159, 62, 29,171, 98, 94,129, 43,192,210, 31,194, 62,121,
+146,  1,124,103, 31,  8,192,119,248, 71,134, 77,153, 49,167,154,233,159, 44,158, 65, 30, 10, 19, 58, 48,102, 33,165, 63, 82,125,
+144, 62, 99,  6,246,100,201, 20,246, 30,222,124, 96,  4,227,127,161,168,178,140,144, 81, 25, 16,229,141,218,231, 97, 10,127, 15,
+ 25,176,  1,130,127,255, 18, 10, 10, 10, 32,226, 64,  6,176, 38, 96, 82, 77,134, 26, 12, 86,131,166,151, 37, 28,221, 94,228,123,
+ 24, 65,178,184,237,253,241,227,135,132,188,  2,195,191, 95, 76,236, 12,140, 44,204,127, 62,127,252,113,239,254,235, 39, 79,101,
+172, 28, 24,217,  4, 24,127,255, 98, 96,102,234,204, 44,113,157,213, 80, 84, 84, 68, 73, 48,226,219, 86, 10,110,140,127,255,254,
+ 93, 72, 72,  8,216, 62,  0,134,246,253,251,247, 23, 44, 88,160,169,169,249,225,195,  7,130, 29, 44,160, 94,121,166,147,146,114,
+ 30, 31, 14, 94,254,248,158,125,241,150, 63,219, 78, 44,201, 11,229,100,249,  6,140, 53, 44, 21,192,232,184, 16, 65,128, 25, 89,
+104,125,  2,128,  0, 98,193, 95,244,  3,131,152,209, 21,118,134,226,158, 48,134, 80,194,205, 37, 72,185,255,237,219, 82, 96,156,
+254,248, 49, 15, 88, 90, 17,115,  1,183,216,243,119, 98,226, 28, 28,245, 89,127,223,188,251,243,236, 13, 11, 27, 43, 23, 35, 51,
+ 55, 16, 49,179,  8,177,114,188,255,252,225,249,190, 99,252,129,158, 88,245,162,149,239,135, 79,255,  3, 87,  0, 12,125,213,140,
+255, 25, 25, 24,255, 19,219, 21, 32,245,  2,110,228,210, 31, 29,128,235,  0,146,166, 16,  4,211,160, 97,254,126,214, 76, 98,156,
+ 74,118, 39,166,122,138, 31,164,232,183,210,  6,221, 37,  0, 36,143, 93,  5, 85,  3,141,125,217, 51,103, 18,219, 89,  6, 22, 65,
+233,133, 87, 32,249,214,198,198,  6, 88,  1,224, 42,253,129,192,206,230, 52,156,109,106,202, 48,123, 54,195,254,253, 12,170,170,
+ 64,167, 34,122, 12,  6,186,215, 47, 93,148,197, 53,166, 76,252,112, 16,158,158, 22,114,233,207,  0,154,  6,192, 25,206,192,110,
+  1,164, 12,199, 90,203,254,131,149, 59,192,198, 14, 48, 28, 54, 31, 66,153,112,155, 62, 99, 38,196, 87, 10, 10, 10,192,236, 51,
+113,226, 68,136, 56,144,  1,172,  0,118,238,220,  9, 63,183,146,  1, 67, 47,164, 59,  2,212,149,154,154,138,105,239, 31, 88, 56,
+204,154, 61, 27,104,239,150,195, 79,209, 74, 67, 22, 94, 94,  6, 86,230,191,223, 62, 92,223,182,119,233,170, 53,211,158,129, 44,
+ 58,213,200,167,106,231,245,243,209,227,171, 23,207, 94,190,127,235,227,139, 23, 87,174,  0, 35, 78,130,140,210,  4,243,216, 53,
+204, 18,252,217,179,103,181,181,181, 61, 61, 61,191,126,253,  2,118,221,120,121,121,191,126,253,122,234,212, 41,252,201, 18,162,
+247,195,147,163,141,243, 31,205, 45,144,122,247,149,141,141,133, 73, 70,144,227,197,155, 95,233, 93,127,244, 77,140,229,112,247,
+234, 32,213,  0, 60,162, 49, 25,163,  0,173,244, 71,174, 21,  0,  2,136,  9, 87,158,129,156,123,142, 16,221, 67,212, 57, 83,144,
+ 27, 96,190,125, 91,  6, 41,253,225,163,210,248,111,134, 97, 57,112,150,255,221,231,127,108, 44,191,206, 94,253,121,253,222,143,
+ 93,135, 25,190,255,100,251,255,159,139,129,153,133,129,241,231,191, 63,239,126,254,152,182,123, 11, 46,237,125,213,160,102, 62,
+ 28,128,217,144,252,251,255,230,157,255, 69,173, 36, 52, 19, 32, 23,112, 51, 16,113, 57, 23, 80, 22,249, 16,127, 68,243, 31,169,
+ 14,160,195, 21, 78,164,130,187,231,191,  0, 67,  6, 94,250,  3, 65, 80, 61,107,207,170, 72, 27, 87, 96,247,252, 63, 88,150, 48,
+ 88,182,108, 89,113, 27, 35,143,168, 46, 48,100, 61,  2, 51,143, 28, 57,130, 71,241, 63,166,199,210, 82, 40,103,159,233,235,131,
+ 74,255,184, 56,148,241, 34, 89,217,167,120,134,128,128, 32, 60, 60,156, 25, 21,192, 69,240,187, 22, 61, 37, 19, 89,195, 33,149,
+ 77, 16,128,201,101,196,214,180,128,107,116,115,115, 67,107,107,  3, 59,  1,144, 99,251, 96, 46, 67,215,187, 97,230, 76, 96,233,
+ 12, 49, 28,238, 77,228, 64,128,112,177,218, 11,204, 47, 76, 92,236,191, 95, 60,156, 89, 83,179,224,235,135,247,246, 22, 16,241,
+185, 75, 22, 52,148,164,168, 21, 69, 54, 93,222,183,234,253,125, 87, 63, 63, 34, 59,184,192,226, 30,152, 11,206,159, 63,143, 84,
+101,206,192, 58,202,  7,  9,144,203,151, 47, 31, 60,120, 48, 50, 50,114,202,148, 41, 95,190,124,129, 28,160, 13,236,151,240,240,
+240,132,133,133, 89, 91, 91,227, 42,250, 65,122,143,175,189,181,179,168,168,178,119,115,189,212,245,167, 44, 31,191, 48,255, 99,
+100,120,251,229,215,127, 97,229,194,170, 86,159,128, 24,156, 85, 53,176, 26,  7,103,216,153, 96,128,149, 49, 10,112,149,254, 64,
+  0, 16, 64, 44, 88,139,126, 50, 58,134,104, 34,144,210, 31,185, 91,128,231,  2,110,150,183, 31,222,253,103,101,123,251,142, 99,
+195, 62, 70, 22, 38,134, 31,191,254,127,254,202,248,231, 15, 43,176,245,247,255,223,143,191,127, 62,255,249,197,240, 15,231,152,
+ 47,100,178,183,175, 26, 75,234,  2, 79, 14,147,236, 29, 98, 46,224, 70,107,254,159,233, 80,194,172, 12,136,185,194, 91,185, 66,
+ 25,207, 88, 16,213, 65,215,140, 98, 11,193, 26,120,233, 15,  1, 16, 17, 75,161,171, 64, 89,130, 14, 94,186,116,233,161, 67,135,
+222,190,117, 22, 22,222,203, 35,162,  3, 76, 45, 76, 76, 76,120,230,217, 30, 61, 98, 64,174,  7,129,137,203,204, 12,196,184,125,
+155, 97,234, 84,168,224,187,119, 12, 44, 44, 56, 71, 23,  9, 14,247,147,119,242, 59, 60, 65,226,247,114,126,126, 62,188, 21,143,
+ 92,148,227, 55, 92, 81, 81, 17, 62,250, 15,  7,144, 78,  0, 80, 10,209,  9, 64,  5,201,210,106,183,174, 94,123, 42, 40,  8, 12,
+210,188,188,188, 73,147, 38, 17,111,175,237, 79,129,255,255,190,164,180, 85,235,134,132,204,108,107,131,223,223, 50,243,246, 21,
+104,207,248,240,225,221,187,119,  3,173,  6,103,240,111,  4, 75,127, 72,151, 14, 24, 56,192, 86,182,129,129,  1,176, 38,  0,106,
+204,204,204,124,252, 25, 75, 21,251,228,201, 19,127,127,127,160,215,182,109,219,  6,185, 50,147,  1,188,164,135,  1,124,143, 16,
+158,121, 90,160,248,189,155, 23, 26,202,146,132, 85, 87,159, 95, 29,127,233, 49,227,163,151, 44, 12,255,153,126,254,250,253,238,
+191,112,118,114, 22,121, 75,128, 40,185,215,100, 68,  1,128,  0,162,206, 70,176,153, 48,  0,107, 20,163, 71, 24, 80, 28,174,  6,
+ 83,251,181, 39,143, 78,191,121,118,245,254,189,151,247, 31,124,122,240,228,243,227,167,127,190,125,255,253,251,207,231,191,191,
+190,253,253,243,243, 63,176,  0,248,255,159, 80,140,194,215,252,220,184, 11, 98,  3, 27,254,224,182, 63, 83,111, 53, 57,183,158,
+ 17,211, 74,  2, 22,244,240,178, 30,194, 70, 22, 65,174, 18,  8,116,155,222,207,130,140,252, 64, 16,173,163, 28,220,216,  7,  7,
+212, 43,208,221, 94,235, 26,127,151, 21,212,  3, 25,192,110,  1, 49,109,255, 64,187, 67,192, 94,157,224,137,189,253,213,160,220,
+107,103,103,135,103,240,  7, 52, 18, 34, 35,171,172,204,  0, 71, 55,110, 48, 64, 14,202, 84, 85,253, 15, 44, 30,133,132, 64, 72,
+ 69,133,193,213,157, 64,249, 14,111,245, 35, 55,135,225, 55,193, 82,146,104,241,168,  1,150,152,104,133, 56,180,211,217,215,135,
+127,125,170,139,139, 11,252, 42,118,100,  0, 20, 68,233,  4,160,130, 67,215, 30, 37, 37,103,159, 93,182,172,178,178, 18,179,214,
+129,216,187,119,239, 94,172,165,155,157,150,220,188,185, 83,141,163,162,218,219,219,177, 90, 13,172, 60,156,157,157,137, 44, 76,
+129,113, 10,180,  5, 24, 56, 64,245,144,218, 29,210,252,  7,214,  4, 88,213,255,254,253,123,203,150, 45,215,174, 93,187,125,251,
+246,215,175, 95,129, 92,160,224,175, 95,191,  2,  2,  2,  8,182, 41,127,254,252,121,118,109,212,143, 91,147,119, 30,188,123,255,
+ 57,243,167,175, 76,127,255, 51, 60,253,202,153, 93, 84, 77, 80, 47,176, 22,135,172,235,  5,146,144, 26, 61, 29, 12,128,186, 32,
+140,209, 34, 30, 79,243, 31,  8,  0,  2,136,  9, 51, 75, 32,119,120,145,  7, 52,136,177,  6, 50,102,202,197,133,152,159,130,172,
+ 86,196,127,  1, 55, 43, 27, 51, 48,202,159,124,253,240,232,227,187,215,159,222,127,252,241,227,253,175,239,175,127,126,127,254,
+227,219,211, 31, 95,222,253,254,249,254,223,239, 95,168,  3,184, 40,109, 31, 83,212,242, 20, 54, 37,144, 18,206,243, 31,216, 51,
+102, 96, 35,198,229,100, 95,192,141,101,240,135,232,210, 31,255,100, 47,141,192,209, 61, 87, 33, 12, 13, 49,247,160,122, 86, 56,
+234, 93, 21,197,200,192,136, 63,179,249,219, 28,140, 47,  2,149,254,192, 20,178,241,168,  3,  3,248,184,124,130, 54,170,105,168,
+ 35, 85, 33, 12, 83,166, 48,220,185,  3,234,  7, 52, 54,254,135,  3, 65, 65, 65,252, 61,128,191, 96,  0,153,  3,248, 11,  3,164,
+ 78,  9,144, 10, 32, 77,117,180,118, 55,176, 79,  0,244, 62,174, 86, 60,188,  5,138,181,230,192, 42,  8,  7,135,217, 63, 48, 50,
+241,204,169,106,229,217,178,  7,152,101,224,103, 74,167,171,234,228, 27, 91,113,113,113,  1,171,219,218,218,218, 61,123,246, 96,
+222,162, 53,247,233,173,231,218, 90,210,210,210,255,254,253,195, 90,121, 96, 21,196, 21,209,240,  5, 54,192, 38, 63,  3,108,243,
+  4,214,139,228, 32,158,149,149,149,125,244,232, 17,176,147,161,162,162,194,194,194,  2,169,179, 45, 44, 44,136,105,170, 43,107,
+ 24,206,218, 37,112,105, 91,189,173,165, 38, 55,  7, 19, 55,215, 95, 78,246,159,158,254, 68,141, 57,  3,203, 43,120,253, 52, 58,
+  4, 68,  6,  0,  8, 32, 38, 92, 45, 35,120, 53,240,127,119, 40, 49, 61,101, 56,128, 92,149,  7, 41,247, 33, 36,193, 11,184, 53,
+173,172,254,240,112,189,255,255,247,218,215,247, 87, 62,190,189,250,233,205,213, 79,239,174,125,125,119,231,219,251,183, 63,127,
+124,249,243,231,217,183,175,120,110,224, 11,116, 99,236,171,102,  6,162,255, 12,204,255, 25,153,210, 34, 24, 83, 35,216,146,195,
+ 69,149,149,197,255, 49,176, 50, 48, 16,238, 12,146,113,  1, 55, 92, 49,164,172,199, 44,241, 87,175, 94, 77,204, 13,174,192,192,
+  1,230,231,138,179, 21,144,250,  0,210, 27,160, 29, 40,  9, 91,126,252, 93,235,177,171,208, 69, 53,192,230,191,133, 96, 13,132,
+221,154,189,101,  6,238, 73, 96, 96,161,208, 95,195,144, 80,228, 44,112, 98,143, 99,151, 61,147, 55,195,129,  3,  7,136, 76, 18,
+242,242,242,112,182,147, 19,131,128,  0,176,131,197,224,137, 58,163,111, 98,106,138,167,  7,128,217,246,135,136, 16,211,  3, 64,
+ 27,196,135,  3, 96,147,145, 24,199,  3, 91,250,104, 55,106,  1, 11,113, 98,182,167,193,235, 54,100,238, 63,220,237, 24, 80,147,
+153,145,241,223,183,159,172, 18,242,233, 45, 45,  9,220,  2,  2,  7,142, 67,135,134, 98, 18, 26,122,230,220,238, 91, 94,167,235,
+ 20, 38,168,184,123,211, 38,204,  6, 74, 64, 70,186,182,142, 14,100,130, 26, 94, 65,194,107, 80,100, 46,214,  1, 31, 96,225, 14,
+153,227,133, 12,250,195,203,122, 96,147, 31, 50,209, 10,172,  9,112, 53,255,129,178,172,172,172,192,198,254,199,143, 31,129, 53,
+ 19, 39, 39,167,168,168,168,128,128,  0,254, 91, 36,225,122,217,217,217,131, 51, 38, 45, 56,109,242,224,241, 39,113,126,102, 75,
+117, 70, 61,197,255,220,124,124,163,165, 51,173,155,255, 64,  0, 16, 64, 44,120,170, 86,148,161, 52,226,122,  0,200, 23,112, 11,
+  9,173,102, 32,238,  2,238, 47,250, 42,223,110,221,250,246,231,231,167,175,223,238,254,254,205,250, 15, 52,132,244,241,247,143,
+127,224,220,179,237,229,253,175,127,126,227, 29,147, 97, 44,106, 69, 36,110,240,100,192,191,191, 12, 63,175,223,249, 60,111,229,
+ 39, 34, 75,127,  6, 18, 47,224,  6,185,167, 51, 12,107,176, 64, 42,  3,130, 19,  0,192,226, 30, 94, 53,174,  6,  3,  6,200,141,
+240,180,220,194,165,234,252,137, 97,213,127, 72, 39,  0, 50, 19, 80, 86, 80,127,236,170,118,207,170,168,170,169,222,248, 29, 12,
+108,251,195,118,159, 29, 96,  0, 79,239,255,255,191, 26,156, 66,254,175, 94,141,111,225,105, 72, 80,240,238,157,187, 24,192, 11,
+255, 29, 29,161,105, 10, 24,183, 91,182, 48,248,248,128,216,230,150, 22,122,218, 58,248,123,  0,152,108, 34, 91,136,240,148,201,
+196,196,132, 92,254,  2,155,140,196,236,  2,131, 12,154,195,103,  2, 32,189,  1,252,205,127,  6,164, 85, 15,200,235,121,240, 47,
+133,128,100,183, 63,159, 63,179,138,  8, 49,115,241,104,  7,135, 52,185,185, 86, 65,150,114, 26, 26,253,253,254,131, 85, 88, 92,
+215,194, 65, 65, 70,113,210,245,227, 58, 58, 58,207, 79,163,220, 72,154,  1, 74,186,160,144,205,  2,150,221,224,213,162,127,144,
+194, 10,216, 40,  7,138,192, 23,152,122,163,150,  5,192,146, 29, 50,212,  3,105, 71,163, 13,245,  0,217,120, 74,127,136,179,129,
+197, 61,176,189,127,227,198,141,115,231,206,  1,227,136,155,155,251,219,183,111, 68, 14,214,139,139,139,251,251,251,159, 56,114,
+106,194,234,221,124,140,108,234,226, 63,239,188,225,182, 81,255, 13,175, 33,112, 13,232,  3,197,225, 25, 22,207,114,160, 81,128,
+  7,  0,  4, 16, 11, 49,249,  7, 20,148, 68,172,  1,165,228,  2,110, 41, 49,241,203, 63, 30,124,100,250,247,226,199, 23,134,223,
+191,255,  2, 99,157,129,225,250,151, 15, 79,191,125,130, 92,192,141,183,  2,248, 15,108,245,207, 90,241, 31, 62,  7,160,161,252,
+135,153,225, 43, 73,165, 63,  3,233, 23,112,131,215,140,  2, 59,170,103,224,229,190, 73,197, 61, 72,233,111, 98, 98, 66,176,249,
+143,220, 49, 66,102,131,234,  0,188,  0,188,176,234,189,171,235, 44,  6,140,185, 10,136, 84,122, 58,190,139,221,219,178,183, 84,
+ 79,245, 61,190,234,191,165,208, 85,200, 62,128, 19,239, 91, 24, 25, 24, 91,179, 55, 51, 48, 60,195, 99, 47,176,244,  7,102,185,
+192,192,192,217,179, 63, 65,178, 36, 35,108, 61, 10,100,115, 50,  4,108, 62,108,137,169, 55, 59, 47,119,234,164,201,192,230, 63,
+178,123,189,188, 24,234,234, 24,118,238,182,112,194,187, 74, 24, 50,158, 16, 18, 18,178,114,229, 74,172,155,194,136,172,  9, 32,
+ 27,193,144,199,148,103,128,  4,211,241,172,  7,133,199,  8,176,213, 15,169,  0,128,189,  1, 98,154,255,200,133, 20,241,138,129,
+ 77,230, 23, 15, 31, 40, 42,171,254,251,243,147,241,207, 95, 22, 94, 62, 94, 35, 19, 30, 67,211,127, 95,255,252,253,246,243,255,
+159,191, 12,127,255,149, 79,239,  9,143, 10,199,108, 92,255, 89, 33,136,199,100, 52, 89,255,205,232, 10,128, 69, 60,176,244,135,
+100,  1,248, 61,192,200,117,  0,126, 15,170,171,171, 79,158, 60,249,245,235,215,174,174,174,103,206,156,  1,150,254, 64, 45,  4,
+239, 76,133,232,181, 48, 55,207, 72,206,184,255,228,126,108,114,198,201,221, 11,159,127,126,103, 98,239, 42, 46,163,134,214, 81,
+192,218,123,128, 23, 80,152,251,191, 70, 55,130, 17,  3,  0,  2,136,133,200,204, 67,100,219, 31,185, 68, 35,233,  2,238,159,246,
+198,106, 12,198, 79,103, 46, 96,224,228,120,255,255,207,175, 63,127,254,253,255, 39,204,207,255,228,235, 71,130,123, 98,209, 22,
+122,194,230,  0,254,146, 84,250, 51,144,126,138,  3,100,223,  0,164,172,135,140, 80, 33,151,254,  4,141,194,122, 69, 45,241,  0,
+121,183, 29, 82, 32, 19,238, 62,  8,235, 61,157, 49,115,198,173, 61,124,189,171, 35,143,175,  2,182,  7, 25, 75,194,150,131,122,
+  6,120, 75,127, 72,196,129, 11,250, 79,224,188,199,128, 86,178, 45,232,221, 11, 36,185,229,128,249, 16,203, 65, 84,192,  6, 62,
+208,  4, 17, 49, 96, 63, 96, 29, 60,243,127,254,172,102,104,172, 35, 46,227,202,242, 31, 95, 41,137,171,  7,  0,159,  0, 32,114,
+ 21, 16,176,140,  0,214,  1,240,229, 49,240,126,  0,241, 51,  1,144, 98,136, 96,243,159,108,224,228,228,148,189,106, 86,211,231,
+ 15,  6,246, 54, 76,226,130, 32,235,126,255,  7, 29,231,192,192,202,200,204,194,200,198, 60,123, 70, 31,159,179,137,178,178, 50,
+213,247, 64, 65,134,122,166, 79,159, 14, 36,245,245,245, 73,210,123,247,238,221,189,123,247,  2, 99,193,214,214, 22, 24,188,104,
+ 67,255,192, 40,  3,198, 53, 90,176,195,  1,176,199,176,104,193, 66, 54,102,246,144,200, 16,160, 26, 27,175, 20,148,122,235,207,
+ 31,136,222,209, 85, 61,180, 24,255,  1,  2,128,  0, 98,161,150, 53, 84,185,128,219, 49, 61,225,222,221,123,231,182,239,252,250,
+243, 23,176,  3,171,108,102,228, 33, 23, 73,176, 36, 37,123,170,  7, 82,130,147,119,  1, 55,220,  4,200,154, 81, 96,161, 15,175,
+ 69,136,113, 15,196, 94,242,156,157,158, 46,136,203,215,192,182, 63,145,134,168,185,124,154,233,  2, 55,129,216,115, 32,192,165,
+ 60, 99,124, 17,244,124, 46, 72,174,  4, 10,  2,203,125,110,185, 80,130,218, 95, 62,119,155, 53,203,237, 31,211, 99,126,190,143,
+ 64, 46,228,248,  7,130, 73,144,188, 85,158,120,234,  0, 50, 52,194,103,  2, 72,106,254,227,105,189, 98, 31, 21, 84, 86,150,200,
+203,155,176,107,215,189,230, 13,161,172,194,  2,224,  3,221,190,127,251,147, 95, 82,201,204, 37,180,109,225,204,139, 34,140,110,
+164, 28,230,243,247,239, 31, 98,230,192,136, 28,234,193,229,187, 91,183,110,  1, 73, 13, 13,141,183,111,223,178,176,176,  0, 75,
+109, 97, 97, 97,  6,216,249,116,108,108,160, 85, 24, 88, 43,  0,160,174, 83,167, 78,253,251,195,104,101,173,255,228,201, 19,160,
+202, 95,191,126,201,200,200, 64,164, 62,126,252,  8,236,232,  0, 13, 97,103,103,199,211,238,132,212, 13,200,140,209, 33, 32,226,
+  1, 64,  0,177,208,200, 92,242, 11,101,101, 37,165,156, 76,186,249,159,236, 11,184, 49,171,  1, 50,236, 37,207, 58, 60,174,165,
+245, 25,112,224,  6, 62,  3,218,184, 11, 49, 69, 63, 50, 96,250, 39,251,249,131, 44,145,138, 93,193,128,138, 94, 32,239,104, 48,
+ 96,171,159,224,  8, 62, 86, 64,146, 46, 96,169,199,197,197, 21, 24, 24,  8, 57,210,249, 17,236, 72,231,163,123,119, 67,142,116,
+118,182,112,198,165,119,246,251,246, 84,193, 74, 20, 33,188,167,135,226,170,  3,200,240,163,169,169, 41,100,201,255,191,127,255,
+128, 37, 56,144,241,250,245,107, 32,201,195,195,195,  0, 94, 12, 10, 36, 89, 89, 89,177,250,215,199,199,  7,162,  0,168,247,199,
+143, 31, 12,160,141, 35,143,128, 36,100, 85, 24, 68,  4, 88, 49, 96,237,  1,140, 46,242, 33,  6,224,191,245, 29, 32,128, 70, 47,
+133, 31,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,244, 70,176, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 70, 43,128, 81, 48,
+ 10, 70,193, 40, 24,161,  0, 32,128, 70, 43,128, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 88, 70,131, 96,168,  0, 67, 28,151,
+251,224,  1,231, 71, 39,120, 70,193, 40, 24,  5,184,  1, 64,  0,209,240, 82,120, 58,232, 53,146,185,201,193,120,157,133,233, 25,
+ 19,195, 55,240,201,255,204,255,192, 39,255,128,151, 40,254,135,156,  3,193,204,240,171,180, 21,116,112, 10,218,116,247, 80,244,
+175, 12, 41,203, 30,158,160, 46,131, 27,189, 68,123, 84,239,168,222,145,169, 23, 15,  0,  8,160,161,221,  3,104,234, 88,149, 26,
+193,166,169,252,251,198,221,255,144,253, 95,125,213, 76, 69,173,136,237,254,189, 53, 76,192,202,  0,121,159, 48, 46,176,255, 24,
+232, 80,123,214,255,191,205,109,157, 62,190,124,116,249,246,195,191,223,126,208,231,102,221,145,  6,174,223, 60,247,235,199, 55,
+ 94, 94, 41,146, 22,194, 98, 93,214, 77,228, 66, 64, 74,244, 66,128,162,162, 34,100, 53, 42,228, 68,101,146,252,139,124, 18, 34,
+121,107, 73, 71,193, 40,160, 17,  0,  8, 32,244, 10, 96,225,162,185,248, 53,196,199, 37,227,146,162, 68, 47,217, 96,246,138, 95,
+125,213,200,151,130, 33, 74,127, 96,185,207,  8,218, 50,243, 95, 67, 25,116, 64,208,190,135,248, 74,255, 59,215,111,169,104, 41,
+ 75, 73, 11, 60,121,120,131,149, 83, 68, 75, 67,109,251,198,141,123,246,236,161,117, 29, 64,231, 11,229,  7, 22, 92,186,184, 71,
+ 65,230,167,174,242,255,127,255,254,126,252,248,228,198,149, 51, 95,126, 74,154, 24,219, 18,169,253,227,235, 57,204,204,208, 61,
+107,119, 38, 84, 24, 52,253, 34,222,106,228, 82,123,237,218,181, 37, 37, 37, 36,185, 28, 88,250, 23, 20, 20, 48, 50, 50,246,247,
+247,147, 81,136,147,121,161,252,200,  0,248,143, 10,102,  0,  7,220,172,217,179,113,213,235,240, 45,  2,144, 83,131,224,103,  7,
+ 65, 66,123,132, 95, 10, 15,  1,200,215, 64,162, 13,132,  0,  4, 16,253,122,  0, 76, 12,212,223,204,221, 91,205,206,200,240, 19,
+ 92,214, 51,104, 64, 79, 86,102,182, 53,253,119,248,244,127,176,200,127,248, 37,  1, 96,159,227, 44,253, 47,157, 57,163, 32, 37,
+115,233,248,137,147,191,126,191,127,243,158,141,157, 87,211,208, 90,223,218,109,255,102,208, 14, 97, 26,213,  1,104, 23,202, 47,
+ 88,176,224,235,215,175, 36, 93, 74, 60, 80,224,194,249, 61,236, 44,239, 88,152,126,253,248,241,247,227, 87, 78, 27, 59,194, 39,
+247, 94,187,113,142,151,227,173,147, 53,187,130,188, 50, 31, 31,255,239, 63,127, 94,191,126, 35,254,232,241,237,187,247,142, 29,
+125,103,101,237, 79,140,189,192,210,255,239,157, 86,178,157, 77,246,217, 27,144,219, 93,224,103,  1,225,185,209,101,176,  1, 96,
+ 11,  6, 88,219,161, 28,127, 68,195,210, 16,118,  1, 43,169,218, 30,173, 99, 60,153,  2, 43,196, 25, 96,151,173, 33, 76, 74,153,
+241,213, 44,124, 50,214,106,117,251,246,237, 16,182,135,135,199,142, 29, 59,176,178, 71, 75,127, 76, 46,188, 26,  0,  8, 32,236,
+ 21,192,209, 35, 39,173,109,204,169,235,142,127,132,110,230, 34,242,134, 38, 20, 51, 25,153,110,223,  1, 21,253, 64,116,227, 46,
+211,255,255, 28,127, 25,217,  3, 92,127,  7,186,125,135,117,  5,  8,143,252, 28,217,183, 87, 81, 82,244,202,197, 43,213,205, 13,
+112,241,214,198, 54, 38,102, 70, 35, 99,163,237, 59,246, 18,172,  0,254,253,251,  7, 44,196,239,220,185,195,201,201,169,171,171,
+171,162,162, 66,100,233, 15,191, 83, 12, 88,250, 67, 24, 57, 57, 57,144, 90,129,254,117,192,249,243,231, 13, 13, 13,241,171,185,
+114,237,220,255,159, 15,228, 37,127,240,243,177, 51, 49,113,125,255,254,231,237,187,239,  7,247, 76,224,224, 51, 50, 55,179,195,
+163,145,131,249,181,154,226,127,109,109,205,231, 47,222,159, 61,127,238,203,151,175,252,252,188, 74, 74,242, 76,204,172,127,255,
+ 62, 58,127,225,136,161,129,205,160,205, 66,192,230, 63,252,138, 21, 96, 63,  0, 88,  7,204,198,214, 32, 37, 92,210,209,189,  7,
+  0, 73,186,107,214,172, 33,239, 94, 45,226,  1,188, 49, 62,115,230, 12, 82,237, 97,146, 15,134,232,253,187, 82,  0,222,154, 31,
+156,225, 57,116,  1,188,196, 71,171, 15,  0,  2,  8,103, 15,  0, 88,  7,  0, 73, 82,171,129, 35,121,183,177,138,219, 76, 82, 37,
+ 62, 70, 33, 61, 56, 98,170,129,210, 22,208,205,115,125,213,160, 19, 64,103,173,248,  7,190,232, 14,116,  8,173,173, 41, 19,248,
+ 94,248,127,176,177, 32, 96, 13,193,136,107,  8, 72, 83, 81,252,225,221, 87,200,165, 63, 16, 84,215, 87,181, 53,119, 73, 90,234,
+  9, 10,240,226,119,195,247,239,223,129, 37,194,195,135, 80,211,129, 77, 15, 47, 47, 47,127,127,  2, 77, 90, 60, 23,202, 67,234,
+  0, 58,111,115,  7,150,254,240, 43, 53,240,128,159, 95,159, 42, 74,127, 23, 17,230,150,145,150,224,226,230,122,248,240,233,223,
+191,255,164,165,120,175, 94, 63,126,129,147,219, 64, 23,251,197, 15,151, 47, 31,209, 83,251, 37, 39,167,120,237,250,195,179,103,
+175,191,126,243, 25, 24,207,130,130,156,223,190,125, 49, 52,212,254,240,225,227,211,179,231, 47, 94,230,212,215, 53, 30,132, 57,
+  7,237,114, 71,130,215, 58, 34,143,108,160, 29,101, 12,100,195,135, 59,200, 24, 71,106,110,110,246,245,245, 37,245,180,  6, 96,
+ 29,  0,180,119,213,170, 85,184,142, 99, 99,  0,159,165,140,214, 51,128, 92,  9,  9, 20, 71,107, 19,  0, 11,122,204,179,  3,224,
+199, 43,129,239,225,202, 32,169,147,129,172,151, 57,252,195,191,149,  2,163,133, 53,213,155,255,200, 81,134, 22,125,  0,  1, 68,
+ 96, 31,  0,176, 26,128,212,  4, 68,  2,172,  5, 61,145,165, 63,  4, 28, 60,120,240, 41, 24,144,116,150, 19,210, 28,  0,  8, 28,
+ 62,253, 15,210,136,232,171,102,236,173, 97,  4,150,254,255, 25, 88,177,106,252,246,225,241,139,119, 95,138,235,234, 48,165, 62,
+124,124,247,254,245, 11, 70, 66,141,145,213,171, 87,195, 75,127,  8,216,182,109,219,245,235,215,241, 55,255,145,207,127,134, 55,
+255,145,235,  0,122, 94, 40, 15, 41,253,  9, 42,  3, 54,255, 57, 88,158,115,114,178,114,176,179, 41, 42, 42,152,152,153,  9, 10,
+ 10,178,176, 48,179,177, 49, 11,  9,114, 60,125,252,  0,151, 70,150,255, 79,121,121, 56,191,125,255,115,229,202,237,103, 47, 62,
+ 62,122,242,233,214,189, 95,207, 95,124,126,253,250,195,237, 91,247, 84,148,149,165,165,248,222,190,126, 52,104,155,255,104, 55,
+130,225,191,214, 17, 37,119,129,143,177,196,122,161, 60,121, 29,  8, 96,161, 12,185,182,133,120,176,119,239, 94, 96, 18,133,156,
+ 86,139,167,201,140,124,249, 59,242,133,192,200,214,225,178, 26, 98, 44,228,238, 48,242,122, 69,171, 10,185,177,203, 50, 48,224,
+ 63,204,206,195,195,195,211,211, 19, 50,206,  3, 97, 64,216, 30, 48, 48, 90,  7,224,  7,  0,  1, 68,212, 28,  0,121,189,  1,178,
+193,237,219,160,110,  4,176, 14,144,150,150, 38,174, 33,204,216, 87,253, 31,220,  9, 96,128, 55,249,193,137,  7, 52,146,120,243,
+ 14, 68,252, 23,214, 57,128,115,231,239,126,249,130,101, 46,177,163,190,158,157,157,227,251,247,143,127,255,253,193,111,247,185,
+115,231, 48,  5,207,158, 61,171,169,169, 73,100,243, 63, 33, 33,  1,179, 50,160, 93, 39,  0,109,168,  7, 94,250, 19,204,192,239,
+223,189, 18,225,101,252,243,247,223,175,223,127, 94,191,121,199,202,198,241,243,231,239,223,127,254,254,249,243,239,207,223,255,
+ 31,222,191,193,165,145,141,245, 43,  7,167,204,219,183, 31, 63,125,254,246,238,253,119, 62, 97,125, 43, 61,189, 83, 71,119, 72,
+253,250,243,241,211, 71,117,117,101,118, 54,150,175,159,223, 13,206,230, 63,176,132, 66,187, 76, 17,216,  3, 32,114, 38,  0, 88,
+115, 96,222,  1,  9, 63, 86, 26, 23,128, 95,174,144,145, 33,228,236,140, 56,253, 13,152, 35,128,228,166, 77,155,222,188,121, 67,
+228,188,212,158, 61,123, 32,165, 63, 68,253,218,181,107,113,149,194,200,253, 63,200,133,192,144,235,  1, 32,183,196, 64,196, 33,
+215,  2, 99, 53,  1,114,140, 40,144,132,244, 27,176,122, 16, 87,122,  6, 58, 47,196,114,207, 74,  6,134,240,254,175, 76,225, 31,
+176,234, 53,195,113,243, 27,242, 88, 63,174,249,128,209, 82, 30,121,228,  7,173,  7,  0, 16, 64,212,223,  9,140,214,222, 39,169,
+249,255,241,227, 71,228,106,  0,152,121,  8,246,  3, 82, 35,152,129,  9,184,168, 21, 84,202,247, 85, 67,145,  6,226,170, 93, 80,
+243, 31,143,246,218,234,154,206,246, 38,204,108,163,172, 40,207, 47,192,205,241,239,215,151,111,191,105, 17, 31, 11,192,  0,153,
+141, 44,130, 92, 37, 80,189,244, 71,110,214, 65,184,144,158, 56,193,177,133,191,127, 25,190,126,251,253,245,235,175, 79,159,126,
+190,124,249,254,217,179, 55,159, 63,255,252,242,229, 55,176,  6,253,250,245,247,199, 15, 31,113, 14, 28,253,252,243,227,199,223,
+223,191,127,241,242,178,201, 74,243,113,113,131,154,123, 74,202, 10, 50, 82,124,252,124, 28,255,255,255,253,253,231,223,207,159,
+ 95,  7,103,243,191,168,168,  8,107,201, 78,176, 19,128,121,151, 36,  4,  0,  5,  9,222,249,131, 52,162,130,  0,144,194, 23, 88,
+ 13,  0,203,116, 98,250,199,192,182,255,154, 53,107,224,165, 63,144, 12,  9,  9,193, 85,124,  3, 13,199,188, 18, 18,210, 38,128,
+139,  3,221, 67,232, 48,237,255,104,  3,185,200,195, 95,184,244,136,136,136, 48,194,218,249,164,234, 29,  5, 36,149,254, 12, 24,
+115,  0,  0,  1, 68, 84, 15,128,110,109,127, 88, 65,243,151,200, 35,224, 83,195,217, 53,149,127,  1,219,254, 16,  0,172,  6,192,
+247, 65, 50,192,122,  3,144, 81, 32,230,222,106,198,191, 12, 60,135, 30, 18,101, 59, 48,115, 50,115,113,188, 99, 21,225,250,253,
+228,206,211,255, 78, 14,118,248,213,  3, 91,211,199,142, 29, 67, 19, 36,120, 13, 50,188,232,199, 44,235,105, 87,250, 67, 92, 11,
+105,226, 65,174,199,130, 52,238, 48,135,122,177,  2, 65, 33,209,103,247,175,176,179, 49,255,250,253,239,199,207, 39,143,159,188,
+125,247,254,211,187,119,223,222,190,251, 14, 68,  2, 66, 10,184, 52,190,124,243,255,197,203, 55,154,154,202, 31,222,191,103,101,
+ 97,250,244,249,201,215, 15,255,180, 84,190,138,139,138,114,113,113,177,179,115, 62,127,241,153,145, 89,112,112,102, 30,172,215,
+184, 67,102,  2,240,107,132,244, 15,224,119, 73,194,107, 14,  6, 82,174,148,  9, 11, 11,131,183,136, 33,183, 86,  0, 99, 45, 56,
+ 56, 24, 88,253,224,223,236,131,214,246,135,  0,228,254,  4, 50,192,117, 37, 36, 68, 28,152, 90, 32,119,175, 67,196, 31, 99,179,
+ 23,168, 38, 43, 43, 19,114,187, 14,184,218,128,244,191, 65,157,  6,136,251,241,212, 28, 64,189, 83, 29,  5,195, 39,124, 67, 27,
+ 11,  2,138, 64,244, 38, 57,178,142, 22,226,148,128,180,242, 14, 56,123, 86,103,  5,176, 14,128,247,  3,  0,  2,136,133, 22, 69,
+ 63,176,213, 15,153, 13, 38,169,249, 15,  7,200,165, 63,176,  7,135,231, 30, 49, 13,149,127,144,101,254,182,166, 12,135, 79, 35,
+196,225, 99, 65, 41,225, 60,255, 25,254,254,103, 96,100,250, 79, 84, 95,  7,152,109,120,196,101, 95,126,249,255,245,206,  1, 22,
+ 70,230,210,250,106, 98,178,232, 99, 48, 64,118, 51,158,241, 31,  6,240,122,255,175, 95,191,194,203,122, 32,137, 54, 13, 64,228,
+133,242,228,  1,200,197, 79,192, 32,133, 76, 81, 18,211,246,135,  0,125, 93,227,235, 87,206,254,127,250,233,219,247,223,239,217,
+127,252,103,120,255,227,199, 31, 96,111,224,213,155,111,207,158,127,177,117,148,199,165,241,251, 47,145,123,247, 95, 43, 41,202,
+ 41, 42,202,188,125,251, 70, 80,224,175,170, 42,191,152,168, 18,  7, 39,231,135, 15, 95,206,158,187,241,228,233, 39,  9, 25,237,
+193,147, 97,254,131,111,187,132, 20,188,240,242, 23,235, 90,126, 44,163, 21, 72, 43, 24,129,157,  0,248, 93,146, 16,208,215,215,
+183,107,215, 46, 92,122, 33, 49,  2,185,240,  7,114,217, 50,114,145, 13,169,  0,128,173,120, 60,227, 63, 72,195, 71,123, 73,186,
+221,  8,215,149,144, 16,113, 72,241,141,171, 16,135, 44, 49,154, 54,109, 58,100,134,195,192, 64, 31, 62,112, 15,107,209,227,188,
+105,  0,162,151, 41,236, 61, 68,111,168, 37, 59, 60, 96,194,250,191, 50, 48, 48,224,111,253,  3,243, 26,124,129,147,167,167, 39,
+ 60,118, 70, 71,126,136,  4,  0,  1,196, 50, 72, 90,253, 16, 16, 17, 17, 65,146,122, 70,216, 64,127,160, 27, 99,160, 27, 19, 52,
+ 83, 49,254, 79,139,  0, 38,  4,214,127,255,249,149,149,249,254, 49,188,102,100,248,251,143,184,  5,202,223,222,189,224,144,209,
+184,191,103,137, 40, 11, 83,108,117, 21, 49, 90, 56, 57, 57,171,170,170, 72, 90,  6, 10,185,125, 62, 39, 39,  7, 83, 10, 82, 37,
+208,116, 21, 16,228,242, 63,248, 29,170, 36,173, 42,145,145, 87, 63,115, 98,167,152,  8,176,225,206,  2, 30,219,249,251,233,243,
+175,119,239,191,203, 42,106,219, 88,217,227,210,229,229, 21,188,107,251,252, 19,167,174,218, 90,235,203,203,203,255,254,245,195,
+208, 64,143,155,159,255,225,189, 71, 79,159,125, 56,122,252,250,251,207,252,129,150,246,131, 39, 87,100,102, 64,  6, 88, 24, 51,
+129,  5, 34,184, 64,255,135, 84,238, 51, 49, 49,226,185, 96, 29,116, 57,251,127,120,  1,200,248,239,223, 63,120, 39,  0,200,  0,
+150, 86, 30, 30,238,176, 74,134,193, 59,186, 22,115,172,  3, 87,169, 13,148,197, 95,250, 35,  3,160, 74, 92,237,125, 60,169,  2,
+243, 74, 72,184, 56,158,203,194,224, 53,  7,176,252,  5, 55,255, 25,145,235, 15,252,246, 34,235, 93, 85,200,131, 92, 45,194,185,
+ 59, 47,254,198, 21, 32,200,227,254,163,115,  0,100,  0,128,  0,194, 94,  1, 88, 89,155, 81, 56,238, 70, 94,219, 31, 30,109, 68,
+130,235,119,255,107, 66,135,251, 25,139, 90, 17,183,197,130,  7,130,254,253,101,248,121,253,206,103,200,213,240, 54,166,191,  5,
+212,  9, 55,255, 63,124,251,254,254,204, 54, 85, 89,214, 43, 79, 73, 24,146,102, 98, 98, 50,  3,  3,226,181,128, 47,148,239,132,
+143,246, 64, 58,  1, 16, 46, 49, 23,202, 83, 62, 16,  4,105,205, 17, 51,242,131, 18,173,224, 82,254,214,141,107,207,238, 61,  4,
+150,131,127,255,254,231,224, 20, 82,211,212,  9, 12, 32,112, 41,152,152,180,222,137, 83, 59,128, 61,  6, 93, 29, 37,105, 41,145,
+ 71,143, 95,190,191,124,247,230,173, 71,123,247, 93,122,248,244,127, 74,106, 46,145, 14,184,191,229, 51,217,190,126,240,224,  1,
+145, 42,255,173, 20, 36, 94,214,119, 19, 94,189,119,231,195, 59,  1,160, 81,163,123, 11,144, 21,160,233,197,218, 33, 64, 46, 43,
+ 73,107, 30,145,152,133,113, 93,  9, 73,204, 85,145,240,130, 30, 77, 25, 49,205,139,127, 15,215,174,153, 16,  7,234,190, 88,162,
+ 12,245,192,185,184, 42,128,209,125,  0, 68,130, 89,157, 21,200,163, 64,200,  0, 32,128, 88,168,146,116,168,  2,200,104,243,206,
+ 94,241, 23, 86,220,163, 28,248,115,227, 46,131,134,242, 31,102,134,175,144,210, 31,  8,142,156,254,229,163, 78,160,244,191,123,
+235,188,185,179, 15,139,136,249,221, 91,167, 88, 94,172, 41, 43,173,236,234,110,167,145,103, 49, 47,148, 71, 46,253,233,176, 11,
+140,212,162, 31,185, 14,  0,162, 11,151,207,190,124,241,146,155,155, 27, 79,195, 31,165, 32,208, 51,  6,162,165, 75,102, 94,187,
+121, 82, 82,156,135,131,131,245,203,151, 95, 79,159,127, 98,100,145, 77, 73,141, 35,210,106, 30,161, 34,178,253, 11, 89,206, 63,
+  0,224, 92, 49,131,114, 34, 98, 33,233, 89, 18,188, 64, 70, 54,204,200, 16,130, 85, 27,228, 20,142,184,202,107,130,229, 56,121,
+119, 73,194,189,137, 60,242, 51, 10,168,  8,124, 98,106, 33,179,190,192, 58,  0, 89, 16,206,  6,  8, 32,244, 10,128,146,227,122,
+104,113,212, 15, 49,224,198, 93, 38,240,102,224,255,105,176,  1, 36,216, 42,160,127,105,225, 44,179, 86,254, 33,104,  2,176,244,
+215, 86,231, 43,206,111,250,206, 38,179,110,207, 83,101, 53, 80, 91,158,231,244,150,226,146,202,222, 30, 26,214,  1,228, 93, 40,
+ 63, 24,  0,104,207,151, 46,201,186,162, 99,210,143, 28, 59,248,250,237,235,239, 47,190,113,112,  8,203, 40,234, 17, 89,127, 48,
+ 80,118,  1, 44, 85, 66,245,255,255,127, 12,228, 29,103,114,111,  1,116, 57,208,189,133,180,142, 23,146,134,125,  6,  9,112,243,
+  9, 39,216,150,199,213,185, 30,157,  3, 32,190, 14,192, 44,253,129,  0, 32,128,134,195,125,  0,255, 25, 32,190,248,131,124,248,
+ 15,184, 91,192,172,170,194,193,192,240,133,160,  9,122, 10, 95,188,131, 67,191,176,168,138,241,112, 71,  5, 10, 45, 91,127, 25,
+ 82,  7,252,254,187,142,214,142, 39,227, 66,249, 33, 13,136, 47,241,  7,178,203,252,190, 35, 77,176,  2, 69,104,181, 16,249,122,
+129,173,254,179, 69, 12,163,  0,  7,  8,201,158, 50,128,245,250,  8,169,  3,112, 73,  1,  4,208,232,165,240, 67,  6,140, 94,  8,
+ 51, 10, 70,193, 40,160, 46,  0,  8,160,209, 10, 96, 20,140,130, 81, 48, 10, 70, 40,  0,  8,160,209, 59,129, 71,193, 40, 24,  5,
+163, 96,132,  2,128,  0, 26,173,  0, 70,193, 40, 24,  5,163, 96,132,  2,128,  0, 26,173,  0, 70,193, 40, 24,  5,163, 96,132,  2,
+128,  0, 26,248, 75,225,237,205,164,113,169,252,250,238,  5,132,193, 45, 36,  1, 97, 28, 60,245, 20, 89,193, 79, 81,113, 92,122,
+119,247, 67,247,217,186, 22, 66,215, 24,176,191,126, 73,164,189,152,128,120,123, 49,  1,154,189, 38,134, 82,184, 84,190,185,127,
+ 21,194, 16, 81,132,158,139,112,230,252, 51,106,249,215, 99, 55,246,  3,232,249,165,164, 98, 97, 71,  1, 79, 17,135,154,191,195,
+ 53,141, 90,241,139,172,247,230,205,155,200,231,163, 21, 22, 22,170,171,171,211, 40, 93,141,234,165,138,222,203,151, 47, 67, 24,
+186,186,186,164,234,197,188,226,105, 52,156,  7, 68, 47, 30,  0, 16, 64,216,151,129,254,249,243,231,199,143, 31,140,204,172,160,
+107,122,254,252,102, 99,101, 97,103,103, 39,181,110,  1, 26,  2,178,128,133,180,149,166,192, 66, 31, 88,220, 67,138,126,  9, 89,
+  5, 32,249,  2,247, 65,243,152,133, 32,176,248,131, 20,133, 83, 55,157,  2,146,217,126,102, 12,131, 27,  0, 11,125, 96,113, 15,
+ 41,250,181, 77,172,129,228,213, 51, 71,105,237,223,205, 95,190,236,252,250,213,157,155, 27, 72, 50,188,124,121,170,188, 12, 40,
+104,214,217, 69, 83,159, 30, 56,112, 96,197,138, 21,192,116,  5, 23,225,224,224,136,136,136,112,112,112, 24,109,136, 13, 42,  0,
+ 44,244,129,197, 61,164,232, 39, 53, 77, 66, 78,238,130, 20,253, 36,165, 73,228,243, 77,201, 91,223, 73,198,149,130,163,  0, 32,
+128,176,148,206,159, 62,127,145, 84, 51,181,215,213,224, 98,103,253,255,255,255,223,191,255,175,220,126,120,255,210, 97, 78,118,
+ 86, 34, 15,233,  4,  2, 30,142,  7,218,170,247,174,220, 82,250,250, 83,129,248,162, 31, 72,114,242, 11,  3, 25,144,162, 31,107,
+111,  0, 79,251,215, 44,186,  2,200,128, 36, 59, 76, 89,172,235,157,144,141,101, 99, 99, 99,  0,239, 47,255,247, 15,116,149,216,
+223,191,127, 33,238, 97, 98,102,197,223,232,  6,  2, 73, 49, 80,219,249,215,167, 15, 63,193,213,222,151, 63,127, 33,238,225, 23,
+147,193,223,222,231,151, 82,  6, 50, 32,217, 12, 91,111, 64,144,186,254,  5,130,156,151,160,158,  1,164,244,135, 20,253,160,182,
+249,174,221,200,178, 62,120, 99,234, 35,247,155,183, 60,175, 63,188,189, 35, 38,160, 41,243, 70,133,152,200,  5,182,253, 87,174,
+ 92,137, 92,250,  3,  1,144,203,201,201, 41, 41, 41,137,214, 15, 24,222, 96,207,158, 61, 36,221, 50,141,231, 48, 68, 90, 20,253,
+144, 52,  9,100, 96,166, 73, 88,111, 64, 16, 79,249, 11, 76,147, 64,  6,102,154,132,200,226, 74,147, 64,217,233, 11,150, 35,184,
+  9,145,164,122, 25,185,254,160,103,136, 13,114,176,  5,219,218,113,228, 88,  0,  8, 32,244, 10,224,235,247, 95,206,126, 81,178,
+ 98,252, 92, 28, 44,192,114,240,239, 63,  6, 22,102, 70, 33,126, 13,109, 85,185, 61, 59,183,254,253,253,149,152, 58,224,215,175,
+ 95,154,218,247,245, 53,238, 51, 51,253, 61,112, 70,154,141,149,240,105,174,192,130, 24, 88,212,242,243,129,238, 95,132,144,104,
+178,192, 42,  1, 87, 87,  0, 88,222,  1,147, 93,124,120, 16,144, 13, 33,209,100,129,201,145, 96, 51,  4,232, 47, 25, 25, 25, 32,
+  9,116,252,215,175, 95,129,165,255,251,247,239,137,173,237, 88,152,231, 77, 88,207,206,207,240,242,  1,195,233, 47, 79, 95,191,
+184,179,184,191,146, 96,195, 31,152,205,100,164, 64, 67, 91, 16, 18,235, 88, 16,121,254,197,115, 14,  0,176,124,  7, 22,253,205,
+ 57,217, 64,118, 51,172,232, 95,114,235, 22,162,244, 39,116,136,192,131,255,135, 25,204,158, 70,200,197,252,252,167,194,254,239,
+255,245, 55,123,207,239,190,169,242, 47, 11,191,127,251,251,251,191,127,255,142,124,252, 53,132, 13, 20,  4,246,  3,104,121, 83,
+249,160, 43,253, 87,173, 90,245,254,189,235,234,213,161,196,168,135,156,206, 79,159, 18, 13, 88,190,  3,211,228,173,243,199,128,
+ 69, 63,114,154,220,183,117,157,184,184, 56,124, 44,  8, 87,249,139, 39, 77,130, 74,103,248,241,170,132, 74,127, 32,  0,114,201,
+168,  3, 70,  1, 25,  0, 32,128, 80, 38,129, 63,127,254,108,227, 22,168, 33, 39,204,206,202,  4, 44,253, 95,188,120,113,249,226,
+249, 95,127,128,204,255,194,252, 92,110,158, 62,223,127,254, 33,198, 80,118,214, 87,202,114, 47, 24,152, 25,181, 84, 31,179,179,
+188, 36,169,244, 71,105,105,126,250, 12, 44,244,129, 82,152, 29,  2,172,165, 33, 50, 88,184,114, 29,176,208,  7, 74, 97, 54, 70,
+208,  0,176,225, 15, 44,247,249,248,248,238,221,187,  7, 44,244, 65,213, 30,209,165, 63,176,225, 15, 44,253,  3,115, 91, 60,163,
+172,182, 92,121,250,226, 59,  3,169,165, 63, 50,120,242,236,  5,176,175, 45, 42,200,  7,174,154,153,201,240,175, 71,112, 60,168,
+133,198,194, 74,176,244,  7,130,218, 41, 83,129,  8, 82,250,  3,123,  3,165,110,224,118,191, 40, 27,190,242,136,127,155, 91,136,
+ 84,162,124, 22, 43, 19, 15, 55,  3, 23, 19,  3,179,180,184,181, 77,176,243, 61,169,126,252,131, 63, 32, 23, 46, 92,200,  0,187,
+242, 12,153,132, 43, 24,228, 32, 45, 45, 45, 52,116,245,210,165, 75, 41, 47,253,133,132,246, 16,169,101, 38, 24, 48, 50, 50, 34,
+ 95,217, 72,187,210,191,181,170,112,245,234,213,115, 38,247, 32,151,254, 64,145, 41, 83,166,224, 73,147,200,165, 63,102,154,244,
+180,  6,159, 58,197,203, 77,100,233,143,168,  3, 72,185, 20,118, 20,224,  1,192, 38, 63, 50, 66,150,  2,  8, 32, 68,  5,  0, 44,
+245,132, 21,244, 20, 36,  4,126,252,254, 11,172,173,119,238,220,177,104,225,130, 75, 23, 47,150, 22, 21, 48, 51, 51,  1,251,  2,
+124, 92,236, 10,122, 54,192, 38, 27,126,203,126,255,254,173,173,250,144,143,231,219,188,133,175,152, 24,255,155,233,222,  4,138,
+ 16,116, 34, 90,233, 15, 41,250,191,127,124, 11,175, 24,128, 34,184,244,162,165, 60, 72,178, 59,181,180,  3,158, 40,129, 34,120,
+172, 86, 86, 86, 22, 22, 22,254,244,233, 19,176, 38, 96, 98, 98,  2,122, 16, 88,250, 67, 58, 58,  4, 79,227, 90,187, 97,125,193,
+132, 93,235, 39,215,  0,107,  2, 46,110,161,199,127,159,  2, 75,127, 30,112, 62, 97,198,171, 23,173,244,135, 20,253, 31,159,221,
+213,144, 17,251,252,237,  7, 59, 23, 59,195,223,191,164,250,183,114,246,150,171,231,142,235, 40,105,125,252,139,179,158,134,148,
+254,192, 86, 63,176,232,135,136,  0,139,126, 32,186,151,222,184,235,218, 37,109, 51, 37,134,183, 56, 35,235, 34,219, 22,107,  7,
+ 81, 81,110,205,239,255, 63, 51,252,124,197,246,243,221,207,191,159,127,252,251,254,143,141, 71,218,214,100,205,133, 54, 92, 26,
+ 33, 67,255,144,107,173,224,217, 30,206,  6, 74,  1, 21, 12,254, 92,  4, 44,184,169,210,246,  7,150,254, 85, 85, 68,157, 52, 14,
+ 47,244,145,239,101,164, 29,  0,166, 73,200,185,132,103,207,158,  5,150,251,192, 52,  9, 41,253, 25,192,183, 54,146,151, 38,187,
+ 18,124,174,220,125, 44,161, 36,201,240,245, 27, 77, 29,143,220, 93, 24,237, 58, 16, 15,  0,  2,  8, 49,  4,244,243,231, 79, 67,
+ 13, 13, 46, 78, 86, 96,123,255,239, 63,134,163,135,143, 52, 54,183,252,251,207,112,251,206,157, 75, 23, 47,232,232,232, 51, 51,
+ 51,170, 43,201,220, 59,247,135,147, 19,111,131,154,229,149,154,194, 51,  6, 22,198,199,207,127,  3, 73, 61,141,135,167, 46,191,
+250,207, 64,236,146, 27,248, 56, 15, 90,159,  0, 88, 25,128,215,  2, 61,197,163, 23, 62,206,131,214, 30,  1, 38, 68,208,218,152,
+215,216,251, 34,127,254,252,225,226,226,  2, 22,253,130,130,130,223,190,125,131, 92,213, 34, 42, 42,250,246,237, 91,130,103, 84,
+253,120,207, 96,198,201, 89, 58,249,176,171, 62,195,195,243, 12,144, 59,105,128,220, 73,133,142,127,255,253, 37,198,191,240,233,
+ 53,103, 99, 13, 22, 94,166,157,  7,174, 25,106,200,242,241,176, 31, 60,115, 71, 68, 81,251,  1,234, 42, 32, 92,254,221,116,237,
+ 63,195,115,  6, 63,103,198,217, 91,238,  9, 11, 42,  6, 89, 51,226,241, 47,100,204,103,231, 87,232,121,215,255, 27,250, 25,164,
+ 63, 50,166,214,255,111,108,102, 96,250,206,120,170,109,138,184, 56,214, 83,185,127,104, 60,148, 23,240,250,244,247,203,207,247,
+119, 22, 63, 90,118,196,239,189, 86,138,163, 91, 46, 15,167,160, 58,  7,139, 32,139,223,199,211,235, 78,155,154,152,226,236,108,
+ 50, 49,193,195, 19,153, 61, 84, 64, 64,192, 47,106,149,254,242,242,242, 68, 22,106,240,114, 31,210,  9, 32,251, 12, 87, 34,129,
+147,119, 16,176, 31, 12,172,  0,128,229,190, 49,152,193,  0,190,222,206,195,222,  4,146, 38,117,117,117, 31,224, 93, 97,  2, 79,
+147,207, 55,116,240,106,115,240,168, 22,172,234, 72,209,215,145, 80,247,105,  1,122,135,248,213, 41, 20,214,  1,163,  0, 25,224,
+ 57, 12, 14, 32,128, 16, 21,192,191,127,255,184,216,217,126,253,249,207,196,200,  0, 68,245, 77, 45,192,106,224,235,215, 47, 47,
+ 94, 60, 23, 23,151,248,255,255,223,159, 63, 12, 28,172, 44,204,172,248,134,  8,128,133,169,150,242, 19, 17,193, 79,160, 33, 63,
+240, 69,159,140,140,255,141,180,111,159,188, 36, 78,204,114, 32, 72, 51, 31,115, 56,  8, 79,243, 31,185,209,129, 89,244, 19,108,
+254,131,  6,100,222,188, 17, 19, 19,131, 44,115,  2,118, 86, 32,115,191,252,252,252,172,172,172,143, 31, 63,198, 63,125, 49,127,
+207,193, 20, 31,123,  7, 48,251,214, 31,208,248, 15,144,225,160,198,192,215,178,191,176,196,138,160,155,129,141, 44, 32, 41, 39,
+ 38,244,254,231, 79, 22, 62,230, 31,175,191,  1,139, 70, 73,121,153, 93,251, 78, 19,233,223,248,226,214,251, 71,247,178,188, 96,
+248, 32,206,  0,172,196, 44, 20, 20,157,236,241, 45, 81, 69, 30,241, 95, 18,158,178,246,231, 77,  6,149, 31, 12, 39, 89, 24,120,
+ 88, 24,124,141,101,124,227,241,117,149,164,133,126,253,122,199,250,231, 55,176,244, 63,158,192,111, 23,232,175, 33,166,121,101,
+215,  1,195,208,175,172,191,190,254,209,248,247,250, 37,190,137,122, 72,137, 15,153,  3, 64,102, 15,242, 97, 31, 96,169, 13, 44,
+250,163,193,128,158,165, 63,218,152, 15,228,226, 20, 58,148,113, 30,193, 49, 74, 74, 74,192, 10,  0, 82,250,  3,219,254,226,146,
+146, 36,165,201, 52, 95,187, 19,207, 94,241,234,243, 62,221,121,151,129,131, 61, 56, 55, 78, 72,198,135,166,110,198, 28, 44, 26,
+173, 12,240, 84,  6,200,117,  0, 64,  0,161,204,  1,252,135,172,129,249,207,  0, 44,250,153, 64,101, 55,195,186,181,107,  2,131,
+ 66, 68, 68,197, 32,153,246, 63,161, 51,187,153,153, 94,105,171, 64, 47, 71,212,211,225,  2, 55, 93, 24,140,180,238,  1,197,137,
+113, 28,242,152, 15,154, 56,124, 43,  0, 46,128, 60,230,131, 38, 14, 95, 26,143, 21,124,250,244,233,243,231,207,192, 14, 16,176,
+ 10,124,253,250, 53,100,252,  7,216, 21,248,242,229, 11,193, 33,160,245,147,107, 14, 92, 97,248,248,128,225,247,119,134, 73,229,
+142,144,241,159,115,231, 25, 46, 60, 63, 74,204,122,169,143,207,238, 10,241,115, 11, 11,113,171,171,105,222,187,255,250,214,211,
+183,114,194,252, 63, 95,190,250,243,251, 15,124, 43,  0, 30,255, 90, 57,248,219, 56, 70,174,223,188,106,255,161, 85,203,250,138,
+131,139,219, 46,253,102,120,253,246, 21, 30,255,194, 71,252, 19,173,204,163,181,228, 87,173,223,119,233,210,131,190,203,103, 87,
+184,198, 49,204, 61,246,244,233,107,248, 86,  0, 44, 67,  4, 63,216,255,254,122,243,235, 23,232,242,119,113,105, 89, 13, 77,205,
+ 79,156,160,153,146,239,255,190, 49,253,252,202,249,149,249,229,115,236, 21,  0, 36, 24,127,128,  1,124,216,  7,109, 69,208,176,
+ 28,246, 33,187,244, 71,110,254, 67,230, 30,224,157,  0, 90,123, 25,152, 38,209, 68,224,105, 18,190, 21,  0, 79,154,180, 53, 85,
+119,177, 86,107,109,234,233,157,176,173,110,201,190, 12, 39,147, 23, 27,183,125,124,255,  9, 87,137, 12, 20,207, 76,136,196, 20,
+207, 36,101, 18,120,180,184,199, 15,208, 70,255,145, 59,  4,  0,  1,196,132,220, 67,255,248,229, 27, 51, 19,227,159, 63,127,255,
+253,255,255,231, 31,104,210,254,226,133,243, 78,206,160, 27,236,254,254,255,207,204,196,252,249,219,175, 63,191,126,226,108,254,
+255,253,171, 40,253, 92, 84,232, 35,164, 50,177, 50,227,129, 92,174, 10,236,  4, 24,106,222,249,243,247, 47, 49,205,127,172, 83,
+193,196, 54,135,177, 77, 67, 17,212, 43, 40, 40,  8, 44,247,129, 61,  0, 96, 53, 32, 42, 42, 10,153, 16,  6, 22, 79, 31, 62,124,
+ 32, 88,  1,164,181,174,  0,150,251,252, 10, 12,192,106, 32,175,115, 63,176,244, 15,202,111,127,242,239,197,210,190, 50, 96, 72,
+ 18,211,252, 55, 54, 86, 19, 85, 82, 16, 19, 21, 97,  3,134, 60,227,255,215, 95,191,191,255,252,131, 72,255,246,118,108,  8,208,
+ 84,228,227, 19,230, 18,149,250,253,238,253,249, 45,203, 63,188,123, 68,100,154,152,215,145,195, 80,232,194,242,231,151,194, 87,
+134, 87,204,159, 38, 61, 63,205,192,198, 71, 96,188,235,238,167, 55, 76,223, 31,177,125, 51, 81,113,212,138,227,185, 39,120, 64,
+ 84,244,188,172,197,189,143, 76,159,127,254,255,254,109,201, 63, 14, 30, 94, 60,109,255,161,  8,210,211,  5, 49, 71,126,136,159,
+ 13, 38,187,244, 71, 46,232,225,149, 16,228,198,118,154,250, 23,152, 38,143, 31, 63, 14, 25,247, 55, 54, 54,102,  0, 95, 68,188,
+114,211, 54,226,211,228,198,245, 13,238,229,185, 94, 94,206, 34,236,204,159, 25,255,239,188,245,248,248,149,167,  4,139,111,180,
+ 58,  0,194, 29,157,  4,166, 86,209,143,107,252,  7,  8,  0,  2,  8, 49, 44,  3, 44,  1,111, 95,187,164, 32, 37,196,201,202,242,
+247,239, 63,240, 21,205, 12,105,233,217,192, 46,193, 95,240,110,128,111, 63,126, 92,191,117,143,141, 13,231,160,200,159,223,239,
+ 12,181,238,195, 51,125, 86,225,253,181, 75, 84, 33,125,  6, 19,157,187, 39, 46,106,178, 48,139, 18,108,254,163, 21,253, 64, 65,
+  6,164,157,192,248,155,255,104,201, 17, 40,200,128,180, 51, 22, 23,248,251,247,175,132,132,  4,176,  7,240,242,229, 75, 32, 91,
+ 68, 68,228,237,219,183, 64, 18,114, 75, 53,126,189,175, 95,220,169,105,217, 15,236,  1,116, 23,219,126,249,243,183,168,115,245,
+196,242,208,226,190, 45, 44,140,140,132,202,127, 80, 83, 75, 82, 68,128,149,129,245, 47,  3,227,243,251, 87, 31,190,250,168, 44,
+ 42,116,241,221,179,115,119,159, 18,211,252, 15, 78, 42, 98, 21, 98, 96, 98,102, 88,176,237,254,218,105,165, 73, 29, 51,139,124,
+245,179,157,229,  9,250, 23,216,252,239,245, 11, 99,248,192,193,192,200,202,208,219, 19,114,250,240, 46,231, 76,198,246, 92,198,
+ 19,101,120,154,255, 64,112,241,133,136,205,247,143, 95, 56,153,191,113,112, 40,  7,179,  2, 11,253,143, 76,172,127, 24,212,254,
+255,253,246,251,205,243,163,147, 63, 70, 71, 41, 15,179,252,131,117,193, 62,145,221,  2,178, 75,127,  6,212,209,127,180,  5,163,
+ 52,157,  9,184,117,254, 24,124,220, 63, 43, 41,108,  7,108, 44,104,187,146, 18,193,189, 11,192, 52, 25,238, 98,206,255, 79,240,
+ 27,  3,235,218,254,220,105, 91, 46,148,122,216, 36,244, 45, 11,105, 91, 76,176,222,  2,237, 29, 67,170,  3,224, 91,201, 70, 87,
+244,211, 26,  0,  4, 16,162,  7,  0,108,249,126,120,126,231,238,227,183, 44,172,204,192, 62,192,239, 63,127,207,157, 59,187,104,
+209,252, 95,127,255,255,254,251,143,141,133,233,213,251, 47, 79,175, 31,231,196, 49,  5, 12, 44, 58, 53,149, 31, 66,155,255,224,
+126,255,218, 37,106,160,  1, 32,166,255, 64,196,196,244,207, 66,255,250, 95,220,157,  0,180,230, 63,124, 21, 16,176,232, 39, 88,
+250,163, 53,255,225, 43, 16,128, 69, 33,193,210, 16,156,159,223,127,249,242,133,149,149, 21,210,252,255,247,239, 31,132, 36,166,
+  2, 88,220, 95,121,238,233, 65, 30,  9,208,196, 47, 47, 11, 51,176, 62,224, 99,103,253,240,238,  9,176,249,207,194,196, 68,176,
+249, 47, 43,196,123,237,222,253, 63,191,126,177,179,176,125,249,242,227,226,253,103,192,162,159, 96,233, 15,241,175,127, 78,243,
+210, 73, 19,191,253, 99,144, 85,150,185,114,245,  4,176,244, 39,210,191, 64, 80,164,108,178,249,246, 62,134,143,127, 24, 56, 68,
+118,159,186,  6, 44,253,129, 69, 63,254,210, 31,  8,244,127,249, 28,221,125,138,225,215,231, 47,140,159,223, 51,125,249,200,242,
+251,247,223, 79,236, 63,190,113, 60,187,191,162,234,182,130,129, 26,158, 25, 96, 32,128,167, 28, 14, 48, 64, 19, 28,228,  0,210,
+234,  7,150,233, 12,224,217, 96,130, 19,194,148,148,254,192, 34, 30, 87,159,137,166,203,129,128,105, 18,190,230,167,166,182, 16,
+152, 38,197,197,197, 33,235,130, 32,226,  4,211,100,138,131, 94, 65,207,196,207, 47, 95,137,242,137, 93,189,246,  8, 88,250, 67,
+150,177, 18, 89,231,193,  1,242,168,206,104, 63,128, 18,176,101, 73,243, 22,188,247,136,  0,  4, 16,202,196, 44, 47, 47,239,217,
+  3, 27,254,255,247, 83,144, 18,230,229, 98,215,210, 49,208,210,214,103, 97, 98,248,242,253,239,163,231,239, 78, 29,216,202,195,
+205,133,203,160,175,223,190,169,201, 63,255,241,147,227, 63,228,218,188,255, 12,156, 28, 63,128,201,248,221,  7,118,160,  0, 47,
+247, 31, 93,181,  7,135,207, 24,  2,173,192,223,252,135,183,250,129, 92,214,255,191, 25,254, 64, 87,143,253,101,225, 34,216,252,
+135,183,250, 33,220,143,175,160, 75, 14,240,108,199,133,215,  1, 64, 18,216, 15,  0,146,239,222,189,227,227,227,131,140,255, 16,
+115, 41, 43,120,213,127,123,102,168, 61,195,164,195,211,170,189, 67,138, 39, 46,235,200,  6,246,  0,216,216, 57,  8, 54,255,175,
+ 61,122,165, 34, 43,178,119,207,  9,  6,240,246, 75, 32,249,251, 39,180,175,205,138, 91, 59,164,249,223,146,228,156, 87,191, 64,
+ 86,137,145, 36,255, 66,154,255,110,235,231,237,138,142,100,148,177, 96,  0,111,  9,102,  0, 31, 14,  1, 81,224,203,195,131,199,
+217,122, 63,203, 46,110,223,242, 67,253,152,130,170,206, 39, 78,134,251, 12, 15, 63, 63,120,253,186,237,239,151,247, 50,133,113,
+197,248,  3,106,250,244,233,192,226,254,251,247,239,240, 34, 12,200,  5, 10, 14,137,140,  4,105,245,191,  4,111,147, 38,102, 54,
+ 24,216, 94, 38,175,244,103,128, 93,254,142,167,224, 35,117, 47, 49,145,  0,152, 38, 91, 27,106,214,109,222,238,110, 99,  4, 79,
+147, 64,100,124,239,158, 71,112,204,163,183,223,228,132,185,240, 55,255, 11,102,109,174, 74,118,147,146,112,128,212, 34, 16,167,
+226,233, 75, 17,238, 22,140,246,  3,168, 93, 31,160,137,  0,  4, 16,250,202, 28, 62, 94,158,115,  7, 54,220,151, 81, 87, 82,213,
+228,227,230,252,247,159,225,251,207, 95,247,238,221,123,125,239,  2, 47, 15, 55, 19,238, 86, 45, 39,  7,199,170, 29,246,120,218,
+248, 64,189,220,220,  4,154,123,144, 53,160,192, 38,255,191,191,191, 65,165, 63, 24,252,102,100,197,117, 24,  3, 50,128,172, 63,
+  3, 54,129,225,229, 32,145,165, 63,188, 14,128,111,254,  2,214,  1, 56,  3,  8, 71, 29,176, 24,182, 17,106,118, 27,108, 79,236,
+239, 47,248,175, 33,  7, 54,255, 79,189,249,112,225, 54,104,192,  7, 94,238, 19, 44,253, 33,  0,216,252, 95,107,196,157, 19,168,
+ 65,134,127,129,205,255,226, 77,171, 24, 91,235,183,139,155, 79,248,114,  5, 46,110,200,194, 42,195, 65,248,196, 39, 96, 63, 96,
+251,166, 31, 79,222,223,125,253,246,249,203, 91, 60,204,127,249,172,245,108, 29,227, 28,135,119,206, 33, 99, 13,104,122,186, 32,
+ 25,165, 63,195,128, 78,105,  2,211,164,165,165, 37, 90,154,  4,150,254, 12,160,169, 96, 46,252,122,129,205,127,215, 61, 39,163,
+235, 23,217,217,217,137,163,246, 38,201,174,174, 32,117,  0,193,  0,193,172, 44, 71,235, 12, 60,229, 62,242, 76,  0, 64,  0, 97,
+ 41,223,128,237,223,159,239, 30,159, 59,  0, 90, 46,  2,185,112,153,157,157, 29,115,110, 22, 13,176,178,178,242, 19,113,228,  3,
+ 30,  0, 25,240, 97,  6, 54,249,255,124, 99, 70, 42,250,137, 57,177, 26, 50,224,  3, 44, 10,145, 75, 67, 98,138,126,126, 81,169,
+ 95,184,167,181,241,131,232,230,197,183,111, 92, 37,219,191,167,110, 61,134,100, 51,228,210,159, 96,209, 15,  1,113, 70,220,228,
+249, 23, 20,167,253,101,144,162, 31, 94,250, 19, 89,244,195,129,167, 98,  8,  3,164,114, 35,110,141, 12,176, 73, 11,217,244, 11,
+108,239,195,119,255,  2, 25,144,230, 63,144, 49,248,143,130, 32, 99, 13, 40, 45, 26,233,180,  6, 88,211, 36,193,162, 31,  2, 92,
+107,102, 83,177,232, 39,169, 58, 28, 45,235,113,  1,180, 27,225, 25, 48,230,129,  1,  2,  8,123,  3,151,133,133,  5,215, 88, 13,
+ 45,  0,100,148, 31, 82,244, 51,144, 88,244, 67, 70,189,201, 43, 10, 25, 64, 43,151,254, 17,211,189,192, 10, 94,189,251, 72,188,
+ 69,200,  0, 50,202, 79, 94,209, 79,137,127, 33,163,252,155,191,124, 33,187,232, 31,  5,195, 21, 64,150,120, 62,122,251,141,140,
+162, 31, 82,254,194, 71,123,134,110,253, 55, 92,235,  0, 60,178,  0,  1, 52,122, 39,240, 40, 24,  5,163, 96, 20,140, 80,  0, 16,
+ 64,163, 55,130,141,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52, 90,  1,140,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52, 90,  1,
+140,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52, 90,  1,140,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52,240,151,194,143, 52,189,
+ 63, 94, 60, 38, 94, 47,135,132,236,104, 56,143,234, 29,213, 59,170,151, 70,151,194,  3,  4,208,160,238,  1,144,186, 11,252,222,
+189,123,123, 96,  0,200, 30,173,222,241,128,143, 31, 63, 62,122,244,232,248,241,227,231,206,157,  3, 50,200, 51,100,232,158,242,
+ 54, 10, 72,  5, 55,111,222, 36, 73,113, 70, 70,  6,217, 22,145,173,119, 20,144, 10,  0,  2,136,101,208,186,140,212, 18, 28,168,
+190,163,163, 35, 44, 44, 12, 89,187,146,146, 18,241,218,129, 96,245,234,213,161,161,161, 74, 96,128, 95,125, 90, 90, 26, 65, 51,
+129,142,193,186, 26,122,247,238,249,196,232,125,255,158,155, 70, 97,251,234,213,171,159, 63,127, 50, 50, 50,114,112,112,252,248,
+241,  3, 88,  1,156, 62,125, 90, 95, 95, 95, 69, 69,133, 36,115,136, 57, 42,  3, 92,145,103, 18,163,108,230,204,233,212,214,155,
+142, 67,241, 76,100, 41,252,219,136,128,169,162, 77, 36,248,255,214,187, 44,  7, 80, 78,172,252,219,117,234,255,182,187,145,162,
+235, 24,216, 53,  8, 58,207,221, 29,116,164,238,206,157, 59,201,136, 44,200, 89,208,233,233,130,148,172,172,  7,150,170,253,253,
+253,  4, 55,220,165,166,166,  1,235,116,204, 88, 45, 41, 41, 38, 70, 59, 60, 85, 76,152, 48,193,222,222, 30, 88,142, 47, 91,182,
+236,211,167, 79,  4, 45, 69, 41,146, 88,152, 35,172,216,210, 51,210,187,118,116,151,184,150, 64,  4,103,207,158,133, 85,111, 76,
+ 12,104,151, 50, 55, 55,150,156,  2,185,217, 41, 33, 33, 97,116, 71,  2, 50,128,236, 11,131,175,254,  7,  8, 32,236, 21,  0,230,
+ 97, 35, 52, 58,126,132,138, 21,  0,188,244,  7,186, 19,178, 39,  5,104,  2,145, 21,  0,164,242,128, 20,103,144,115,175,202,203,
+203,  9,235, 93, 45, 68,200, 96,156, 33,246,213,151,192, 45,234, 12, 68, 28,146, 70,222, 61, 24,192,182,191,152, 24,244,130,  7,
+ 78, 78, 78, 96,101,240,225,195,  7,126,126,254, 83,167, 64,151, 39, 19, 83,  7,  0,131, 23, 18, 74,192, 16, 11, 14, 14,  6,  6,
+ 56,193,154, 96,211,166, 13, 16,134,159, 95,  0, 46, 54, 46,189,223,143,229, 64,131,196,106, 10,156,141,204,  5, 50,112,233,221,
+177,  3,229,114,179, 67,135, 14,181,181,181, 33,  7,212,146, 37, 75,240, 39,140,206,206,206, 86,  7,  3,160, 87,129, 45,  3,228,
+ 44,240,127,249, 93,  6,226,234,191,  1,204, 68,200,165, 63,208,203,192, 24, 95,186,116,233,145, 35, 71,188,162,170,113, 41, 62,
+134,113,133,246,250,213,160,210,255,223,191,127,179,102,205,  2,106,231,147,179,199, 90,232,195,187,131, 55,110,220,  0,114, 35,
+ 35, 65,245,101, 84, 84, 20, 49,213, 70,207,110,232, 45,196, 47,118, 62,  7,234, 93,150,207,  5, 52,178,220,163,140,  1, 28,123,
+203, 23, 46,203,176,199,215, 39, 48, 54, 54, 38,190,169, 55, 90,250, 35,  3,128,  0, 98,194, 90,172,  0,179, 55, 48,178,209, 50,
+ 60,145,  3, 50,148,140,189, 32,235,133, 52,198,137,215, 11,116,176, 11, 24, 64,234,  0,146, 18,  4,164,244,  7, 90,  7,204, 36,
+ 16, 75,137,244,  5, 99,216,123,  8,194, 35,130, 11,240,108,153, 14, 65,120, 68,  8,150,254,255,193,128,248,209,152,247,239,223,
+  3,203,122, 96,  5,144,148,148, 20, 29, 29,205,198,198,  6,172,  3,128,253,  0,160,247,153,153,153, 33, 71,  1,227,  1,215,174,
+ 93,  3,218,187,102,205, 26, 72,112,  1, 45, 93,187,118, 45,176,161,  7, 20,167,115, 82, 70,171, 12,104,212,  4,  1,150,254,192,
+ 36, 17, 37,182, 62, 82,100, 45, 90,224, 87,155, 95, 96,217, 31, 65,140, 57,192,240, 41, 45, 45, 85, 84, 84, 36,195, 13, 64,189,
+192,182,191,176,240, 94,202,219,254,240,210,159, 36,237,240,210,191,184,184, 24,143,118,228,228,  7,108,254,219,217,217,  1, 25,
+192, 58,  0,216, 15, 32, 88,110,160,233, 13,183,  4,181, 74,151,229,115,  2,251,  1,101,238,165,248,245,  2,219,254, 64,187,128,
+221,113, 23, 12,  0,145, 26,109,254,227, 41,253,129,  0, 32,128,152,176,117, 57,161, 23, 67, 67,218,209,240,230, 30, 49,197, 49,
+ 36,207, 80,146,223,200, 27,192,193, 90,166,147,170,  5, 94,121,  0,155,255,  4,207,191, 29, 88,  0, 47,253,209, 50, 18,254,204,
+  6,108,251,127,251,246,141,137,137,  9,232, 71, 32,251,217,179,103,172,172,172, 44, 96,  0,100, 64,142,234, 68,219,208,143,102,
+254,196,137, 19,129, 69,127, 72, 72,  8,176, 64,  1, 26,  2, 44, 28,129,108,160,212,164, 73,147,134, 89,110,129,151,254, 64, 54,
+176,236,134,183, 45, 32,129, 15,239, 32, 18, 89,190,  0,149,  1, 67, 12,152,168,200,155, 53,169,172,172,  4,234,197, 19, 53,120,
+ 74,255,190,190, 62, 96,148,  1, 43, 18, 96,241,125,248,240, 97,  6,240,137, 76,196,151,254, 16,237,192, 52,115,230,204, 25,136,
+118,130, 54,  2,213, 71, 68, 64,171, 70, 96, 29,224,224,224,  0,180,125,227,198,141,  4,  7, 18,129,205,127,  6, 70,134,165,121,
+208,243, 39,128,253,128, 72,107,118, 80, 63,  0, 47,192, 83, 74,140,118, 11,208, 74,255,180,114,244, 82, 17, 32,128, 88,176, 38,
+ 86,248,197,208,247,144, 46,134, 38,152,214,169, 85,250, 83,165,  2,160,  4,  0, 43, 15,178, 61, 66, 55, 64, 70, 81,242,250,245,
+107, 96, 78,  6,182,244,239,220,185,  3,212, 14,204,171,191,126,253,  2,102, 63, 96,  5,  0, 36,255,254,253, 11,172, 30,214,175,
+ 95,143, 43,162,247,238,  5,181, 67,129, 37, 62,178,  2,  8, 27, 82, 60,225, 73, 33,200, 35, 60,184,216,120, 26,251,184,198,130,
+240, 12,254,160,141,252, 64,218,164,196,131, 54,145,224, 86,  7,  3,150,116,180,113,255,147,255,183,221,187, 71,204,240, 32, 82,
+ 19, 30, 82, 71, 66, 74, 58, 96, 24, 18,223, 38,133,232, 85, 85, 85,101, 32,122,186,  5, 25,100,102,102,194,  7,187,128,108, 96,
+241, 13, 52,132,248,210,223,222, 26,116, 36, 35,176,237, 95, 82, 82,  2,108,152, 67,180,251,250,165,226,191,216, 15,222,252,135,
+  3,200, 88,208,182,109,219, 52, 52, 52,128, 77,118,252,122,195, 45, 81, 14,230,  2,143,  5, 49, 44, 95,118,254,166,196, 77,252,
+122, 71,  1, 25,165, 63, 16,  0,  4, 16,246, 57,  0, 96,151, 10,210,240,135, 95, 12, 77, 82,233,143,181, 29,138,103,120, 26,151,
+ 94,100,113,218, 29,248,  7,244, 41,252,216,113,100, 55,144, 55, 98,251,127,149, 32,217, 46,249,226, 67,120,194, 19,238, 72,180,
+ 18,  1,206,133, 40,192, 26, 92,239,222,189,227,229,229,  5,146,199,142, 29,  3, 86,  3,192,210, 31,216,228,135, 92,125,  3,172,
+ 15,126,255,254,253,243,231, 79, 60,245, 10,164, 87,132, 25, 38, 64,145, 53,107,214,  0,101,241,  4, 23,229,115,  0,192,178, 30,
+185,184,135,176,137,172,  6,128, 69, 18,169,117,192,255,173,119,129,129, 10, 73,249,240,201,164,255, 43,238,  3,  5,137,159, 91,
+ 66,174, 35, 25, 96, 23,187,147, 55, 40,  1,236,  4, 64,102, 47,136,215, 14,140, 74,248,248,187,141,141, 13,176,  4, 39,169,237,
+ 15,212,254,231,207, 31,100,237,  7,143,254,237,233,204, 32,216,252,135,148,248,152,160,191,191,223, 59,186,  6,151, 94,164,209,
+127,212,254,  1, 17,122, 71,  1,217,  0, 32,128, 88,240,164, 90, 72,243,159,206,109,127,228,145, 40,250, 44,229, 68, 30,237, 65,
+ 94, 31,130,191, 68,195,217,159,133,141,254,147, 81, 19,192, 71,255,241,215,  4,155, 54,109, 66, 19, 89,188,120,113,108,108, 44,
+ 82,179,218, 15,232, 11,204, 99,254,128, 37, 62,176,244,255,241,227,  7, 63, 63, 63, 59, 59, 59, 48,123,255,  7, 93,246,249, 23,
+ 40, 14, 44,253,129, 12,130,189, 10, 92,195,128,192,134, 42, 29,  6,205,112,205,  6, 19,  3, 32,117,  0,  9, 25,227, 64, 36,166,
+103, 35, 69,214,146, 52, 53,133,220,252,135,215,211, 68, 54, 44,144,155,255, 88,171,124,252, 96,217,178,101, 16, 67,128,117,  0,
+ 25, 67,255,144,150, 31,176,107, 88, 88, 88,120,230,204, 25,152,118,  2,201, 99,226,196,137,182,182,182,200, 34, 43, 86,172, 56,
+120,240, 32, 48, 93, 65, 90, 36,120,214,167, 79,152, 56, 33,194,  2,165,249, 31, 61,233,219,138, 99,191,129,122, 13,163, 12, 51,
+236, 51,136, 95,219, 62, 10,136,108,254,  3,  1, 64,  0, 49,225,105, 23, 67, 18,  1,124, 50,  0,255, 48, 92,121,121, 57,121,238,
+195,165, 87,  9,124, 31, 41,241,173,120, 52,  0, 89, 17, 68,234,176, 41, 49,139, 59,  7,  3,240,  3,  3, 56, 23, 82,250,195,  5,
+ 49,107,  8,  8,  0, 54,255,129,165,252,251,247,239,223,188,121,  3, 36,191,129,193,151, 47, 95, 62,125,250,244,241,227, 71, 96,
+111,  0,216,  3,192,115,165, 15,176,  0,  2,182,244,  9, 86,162,131, 10, 28, 66,  2,112, 65,160,247,225,108, 60,227,218,200,227,
+254,200,109,121,146,154,  5,104,138,129,197, 49, 48, 12,201,158,  9,  0,234, 37, 38, 73,  3, 75,124, 96,177, 11,153,248,  5,214,
+  1, 16,191, 19,127,233, 66,117,185, 61, 80,251,191,149,  2, 64,237,192,166, 55, 68,251,161, 99,255, 96,205,113,156,205,127,248,
+128, 15,104,220,102,249,210,204,204, 76,160, 57,  5,  5,  5,  4,173,  6, 53,255, 25, 24,151,194,154,255, 81, 19,191, 49, 71,124,
+ 92,126,236, 23, 80,111,231,142,174,209, 66,156, 70,165, 63, 16,  0,  4, 16,246, 30,192,172, 89,179,224, 67,255,240,201,  0,252,
+133, 35,164, 28,135,180,229, 73, 29,174, 65,211, 11,233, 19,  0,  5,201, 27,246,129, 47,  3,165, 39,128, 52,252,201, 27,255,129,
+ 52,252,137, 25,255,129,151,254,112,  6,188,172,199, 42,136,  6,132,133,133,223,190,125, 11,108,239,191,126,253, 26,216,  3,  0,
+182,239, 32, 61,128,175, 95,191,  2,107,  2, 96,233, 15,172,  6,202,202,112,206,185, 65,154,249, 88,151,  8, 67,100,241,186,153,
+ 10,115,  0, 68,138, 35,  3,200,176,  9,122,  1, 87, 93,221,218,218, 42, 34, 34, 66,211, 36,129,217,252,135,  3,130, 51,  1,152,
+205,127,146,218,254,209,209,209, 49, 49, 49,192,200,  5,122,191,170,170, 10,216,251, 33,254, 66,155,154, 10,251,  3,  7, 14, 48,
+174,  1,221,207,186,171,134,215,173,229, 51, 80,123,107, 39,168, 21,143,191, 11,  2, 89,251, 15,110,245, 47, 59,120,240,240,127,
+198,255,133,  5,133,234,234,234,196, 88, 10,212, 27, 97,197,138,104,245, 51,128,244,138,187, 73,144, 49,243, 49, 10,176,148,231,
+157, 21,152, 21,  3,100,132,  0, 32,128, 88,240,180,253,129,165, 63,242,100,  0,193,174, 43,114, 57, 78, 94, 63,  0,162,151,194,
+145, 31,136,155,201, 44,199,  7,125,130,131, 12, 82,193,175,234, 70,238,  7, 96, 21, 68,  6, 50, 50, 50,119,238,220,  1,150,248,
+192, 38,255,239,223,191, 33, 67,255, 63,126,252,128,172, 37,133,204,  9, 43, 43, 43,227,169, 89,129,134, 67, 58,  1,240,148,  0,
+ 12,106, 52, 17, 28,195, 86,212,159,  3, 64, 30, 17,194, 21, 86, 88,197, 65,139, 56,171,171,195,195,195, 87,174, 92, 73,252, 64,
+ 37, 26,187, 77, 36, 56,217, 97,121,228, 30,236, 27,193,220,221,221,239,223,191,143,182, 11,  1,  2,128,226, 12,120, 55,133,133,
+134,174, 14, 13,117,118,117,189,135, 57,217,240,246,173, 51,  3,195,251,244,116,156, 57, 17,126, 21, 34,164,147,177,107,215, 46,
+  6, 82,174, 51, 99, 98, 98,  4, 53, 98, 32,165,255,165, 63,243,247,131, 46,194,  4,150,254,196,100, 13, 72,114,  2,182,250,129,
+100, 97, 81,161,186,154, 58,145,150,150,150,149,128,245, 50,  0, 91,253, 16,189, 18,110,146,160,209,166,209,194,159,246,  0, 32,
+128, 88,112,117,231,225, 19,191,240,101, 30,196,140,137, 83,101, 44,136,212, 29,  0, 35, 16,192,135, 92,224,101, 28,100,247,  6,
+178, 32,214, 49, 83, 96, 27,109,219,182,109,127,254,252,249,240,225,  3,100, 14,128,  1,188, 58,  8,200,  5,178,  9,198, 93,126,
+126,254,196,137, 19, 33,213,  0,242,184, 63, 80,156,214,117, 39,176,184, 39,166,208,199, 90, 26, 98, 86, 12,192, 38, 54,145,165,
+ 63,102, 41, 12,155, 16, 38,220, 76,193,122,164,193,131,  7, 15, 24,136, 88, 98,  0, 31,128, 69,117,185, 11, 49,254,  5,246,243,
+128, 69, 63,242,224, 59, 49,  0,168,253,223, 74, 65, 96,185, 15,100, 47,216,255,107,197,177, 95, 64,237,135,143,147, 48, 90,117,
+232,208,161,130,130,  2, 34, 91,253,112,  0, 73,132, 43,143,255,  6,234,149,112,151,132,213, 39, 68,233,133,108,247,133, 76,239,
+163, 69,211,232, 78, 96,  6,108,215,129,161,237,  4,  6,  8, 32, 22,172,217,  3,178,169, 10,185,233, 71,112,  8,  8, 45,123,144,
+ 93,  7, 80,110,  8,252, 52,  8, 34,  1,176,178,193, 58,132, 77, 76, 37,132, 57,230, 67,252, 40, 16,230,152, 15,145,163, 64,240,
+153,106,228,188,141, 85, 16,107, 51,205,219,219,123,233,210,165,108,108,108, 63,127,254,  4,214,  1,255,254,253, 19, 16, 16,120,
+255,254, 61, 49,155,159,181,180,180,128,230,239,222,189, 27,178,236,  7,178, 39, 96,200,101,176,125,251,246,  1,  3, 97,203,150,
+ 45,100,148,254,240,178,242, 94,121, 57,158,174,106,105,105, 41,  3,142,229,115,101,101,101,248,231,  0,210,211,  5,113,233,  5,
+182,253,137, 41,199,  9,246,129,240,  0,247,150,207,112, 54, 73,165,255,180,105,211,200,139,142,158,238, 94, 80,147,159,  2,128,
+181,178,132,223, 62, 61, 10,240,  0,128,  0,194,185, 12,148,160,  8, 77,  1, 61,119,  0, 96,206,245, 17, 93,205,144, 89,240,129,
+244,114,146,233, 90,200,232, 22,164,114, 66, 27,233, 66, 22,196,239,163,232,232,232,187,119,239,238,223,191,255,251,247,239,127,
+255,254,245,245,245,  5, 22,229,196,135,185, 43, 24, 64,218,110, 68, 54,252,169, 53,  7,128,139,141,167, 52, 68, 91,151, 66,204,
+110, 38,  6,200, 81, 63,203,239, 70,138,162, 84,  0, 41,159, 12,147, 29, 87,176,164, 71, 64, 42, 75,136, 20,214,158, 22,158,240,
+119,118,118, 38,152, 32,201,144,130,251, 23, 24, 35,129,129,129,144,211,135, 72,  5, 76,225,239,129,218,253,252,211, 32,109,  5,
+200,162, 79,228, 99, 30,104,  1,140, 99,140,200,214, 11,108,224,227,170,231, 32, 82,163,  0, 63,  0,  8,160,193,120, 24, 28, 25,
+205, 22,250, 55, 66, 41,177,145,146, 83,222,168,229, 83,101, 48, 64, 19,252,245,235, 23, 51, 24, 80, 59, 66,167, 15,144, 94, 44,
+  9,  9,114,124, 24,225,190,221, 54,208, 81, 63,144,145, 79,184, 32,176,244,103,248,207,  0, 57, 46,112,120,100, 28, 12,237,132,
+135,222,169,190, 28, 19,255, 57, 63,180,171, 44, 71,  7,133,128,  0, 32,128, 70, 47,133, 31,  5,163, 96, 20,140,130, 17, 10,  0,
+  2,104,244, 70,176, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 70, 43,128, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 88, 70,
+131, 96, 20,140,130, 81,128, 12, 24, 49, 89,255,225,196, 40, 24, 86,  0, 32,128, 70,123,  0, 35, 20, 96, 61, 28,124, 20,140,  2,
+ 70, 48,102,  4,157,  1,205,136,  1, 70,247,102, 13, 55,  0, 16, 64,136, 73,224,209, 75,150, 71,245, 14, 39,189,113,126,186,136,
+102, 14, 19, 19,100,185, 42,124, 69,227,127, 24,128, 40, 88,180,233, 50,178,222, 15, 15,246,115,112,112, 64,212, 67, 14,208, 70,
+214, 11, 57, 53,239,223,191,127, 64,246,239,223,191,121,101,237, 70, 64, 56, 51, 50,179,176,255,255,247,231,223,191, 63, 91,142,
+ 60, 65, 94, 20,138, 75, 47, 48,136, 94,190,124, 41, 33, 33, 65,134,189,148,232, 29,205, 11, 12,164,172,212,  2,  8,160, 33, 63,
+  4, 84, 93,141,184,194,174,181,213,140,126,122, 79,129, 46,213,107, 53,107,133, 51, 72,117, 57,174,125,170,184,196, 73, 53,103,
+184,245, 85,127,125,101,121,123, 95,245,199, 37,233, 63,143,111,253, 87,124,194,171,245,141, 79,158,141,155, 23,151,250, 35, 71,
+142,216,216,216, 64,138,126, 72, 33, 14,105,196,194, 11,241,127, 48,240,240,225, 67, 52,189,231,206,157, 51, 54, 54,230,228,228,
+100, 97, 97,  1,106,132,107,135,148,251,127, 97,224,231,207,159,103,207,158,117,144,181, 27,252,161,  7,116,249,219,183,111,143,
+ 31, 63, 46, 32, 32,128,182, 49,130,112, 35,145,145,137,157, 67, 72, 64, 80,253,235,151,167, 95, 62, 63,  6,117,  3, 24,255, 51,
+252,199, 55, 34,  4, 12,165, 53,107,214,220,186,117, 11,200,  6,  6, 99,113,113, 49,241,214, 65,244,222,187,123,  7, 24,230,108,
+236,236,  5,  5,133, 52,221,133, 48,194,  1, 64,  0, 13,162, 10,  0,215, 73,147, 12,120, 15, 26,131, 20,220,200, 69, 57,241,128,
+ 18,189,195,  9, 80,184,119,148, 14,165,215,231,135,215, 63, 30, 90,245,237,219, 79,  5,115, 38, 78, 25, 70,213, 71,151, 76, 25,
+ 46,190,255,201,115,129, 43,238, 13,163, 52, 86, 77,215,174, 93,  3,150, 32,192,194,142,  5,  6, 32,149,  1,164,225,255,231,207,
+ 31, 96,  9, 14,108,191,  3, 75,255,125,251,246, 49, 11,155, 32,235,253,246,237,219,249,243,231, 45, 44, 44,216,216,216,224,151,
+166,  1,181,  3,203,166, 63, 96,  0,212,248,253,251,119,160,154, 47, 95,190, 12,230,152,173,170,170, 66,206, 68,159, 63,127, 54,
+ 48, 48, 32, 67,239,226,101,103, 57, 57,197,128,  5, 50,168,  2, 96,100,248, 15,217, 45,128,187, 88,126,246,236, 25, 48,100,162,
+162,162,148,148,148, 32,231, 82,  8,  9,  9,153,152,152, 96, 85,156,224,142,178, 51,238,242,141, 27,  7,120,185,138,250,155, 12,
+141,116,158, 63,121,181,107,219,  1,  5, 29,195, 79,159, 62,142, 22,214,100,  3,180,241, 94,228,165,255,  0,  1,196,130,181, 44,
+128,148,  2,184,216, 52, 42,253,179,178,176,223,147,254,254,253,251,229,203,151,227,169,  3, 32, 37, 56,169, 77,120, 10,245,194,
+219,254,100, 52,255,209,110,158,193,165,128, 70,161, 13,233, 49,192, 73,136,224,187,119,160, 93, 51, 66, 66,123,  6, 97,242,253,
+245,248, 26,251,177,197, 63,191,253, 11, 82, 97, 86, 23,253,243, 79,232, 63,171, 16,243,231,183,108,156,159,191,107, 94,156,114,
+ 86, 45,227, 27,151, 60,182,118, 43,227,245,235,215,129, 37,184,147,147, 19,164, 28,  7,  2, 96, 33, 14,185,250,  6, 88,136,  3,
+219,239,143, 31, 63,222,191,127, 63,176, 38, 64,219,249,  6, 84,  6, 84,115,241,226, 69, 96,253,  1,108,192,178,179,179, 67,244,
+ 66, 42,  0,160, 70, 96,233,118,249,242,229, 31, 63,126, 16,220, 52,247,224,193,  3,160, 45,192,146, 23,232,  6,113,113,113, 85,
+ 85, 85,200,224, 18, 49,128, 18,189, 64,167,214,212,212,192, 15, 67,  5,150,230,192, 26, 81, 76, 76, 76, 88, 88,152,200,210,127,
+ 94, 82,146,151,161, 33,144, 45,145,155,203,201, 37,254,229,211,163, 79, 31,239,254,255,255, 23,116, 96,220, 63,  2, 23,210,  1,
+139,123, 17, 17,145, 69,139, 22,197,199,199,111,218,180,  9,200, 61,116,232,208,175, 95,191, 24, 24,228,176,170,127,219, 94,  4,
+103,243,252,250, 45,245,231, 71, 65,105,125,127, 79, 99,119,207, 52,105,166,191,211,122,250,156, 34,162,112,233, 29,  5, 36,149,
+254, 12, 72, 71,129,  2,  1, 64,  0, 97,239,  1, 32, 31,129,130,139, 77,117, 64,255, 51,156,169, 48,  0,  5,171,  3, 72,  2,240,
+ 58,117,126,224, 34, 76,217,196,245,113, 52,109,134, 67, 12, 71, 38,  9, 94,219, 61,128,224,199,135, 55,106,247,183,190, 98,254,
+171,194,207, 32, 47,247,159, 89,143,141, 69, 73,137,237,231,143,159, 71, 31,255,252,200,194,252,143,245,199,158,197, 76, 94,249,
+255, 88,208,199,130,224,151, 95, 10, 10, 10, 58, 58, 58,  2,139, 78, 96, 49, 10,108,200, 67, 26,254,192,178, 27,216, 74, 61,120,
+240, 32, 19, 24, 96,213, 11, 84,121,245,234, 85, 27, 27, 27, 62, 62, 62,160,118,160,  8,176,244,  7,150, 98,159, 62,125, 58,125,
+250, 52,176, 26,  0,154,  6,153,  9,192,  5, 46, 93,186,116,236,216,177,251,247,239,  3,181,  0,109,151,144,144,  0,182,130,173,
+172,172,184,185,  9,111,  5, 39, 91, 47,208, 73,144,155,127,144,  5, 33,231, 66,  3, 91, 81,196, 84, 33, 76,204,108,200,220, 23,
+147, 39, 75,  4,200,116,119, 79,252,253,251, 43, 56,112, 24,255,  1, 75,255,255,160, 46,192,127,220,227,111, 39, 79,158,172,168,
+168,  0,  6, 90, 80, 80,144,172,172, 44,176,162,221,182,109,155,185, 59,161, 77,191,140,140, 75,238, 60, 95,123,251,233,166,141,
+ 11,153,153, 25,139,114, 99,245, 37, 68,102, 21,212,207, 38, 70,239, 40,192, 81,250, 35, 55,249,209,234,  3,128,  0, 34, 97, 21,
+ 16,173,143,123, 84,194, 13,104,209,132,167, 80, 47,  3, 89,227,254, 84,111,203,195, 47,179, 36,190, 16,199,170, 18,216,246, 39,
+178,249, 15, 44,  4,129,197, 31, 38, 23, 89, 16, 19,192,213,192,111, 25,196,228, 98,  5,239,174,158,123,246,244,147, 24, 47,139,
+ 18,239,127, 22,145,127, 44,150, 30,220,250,139, 57,141,122,217,249, 57,217,190,124,255,246,237,175, 28,243,183,247,151,142, 97,
+ 41,197,152,152, 32,151,221,223,190,125, 27,216, 90,  7, 22,226,194, 96,  0,108,153, 10,  8,  8,124,252,248, 17,216, 38,  5, 22,
+ 79,144, 81,126, 52,189, 16,113, 96,177, 11,172,  3,110,221,186,197,197,197,  5,212,  5,108, 62,139,138,138,242,240,240,  0, 69,
+128, 85,  8,100,104,  8,179,242, 64,110,191,239,222,189,251,238,221,187,138,138,138,238,238,238,102,102,102,223,190,125,219,183,
+111, 31,176, 99,  1,172,126,  8,182,253,119,239,217,123,239,249, 71, 94, 21, 11, 53,247,100,105, 51,191,247, 63,153,128, 34,  4,
+245,  2, 75,127, 96,133,  1,172, 60,128, 69,176,158,158, 30,124, 24,  7,194, 32, 88,250,  3,139,126,110, 30, 41, 33, 97,157,165,
+ 43, 46, 37,205,155,183,237,252,121, 32,  2,246,  0, 24, 64,211,221, 95,161,106, 24,129,  8,223,122, 32, 96, 65, 15,108,245,231,
+228,228,240,242,242,  2,131,110,237,218,181, 64,199,188,121,243, 70, 77, 77,141, 96,234,154,120,254,118,207,137, 43,179,123, 42,
+ 89,152,191, 51,253,253,220, 53, 97,222,202, 67,103,159, 49,177,144,122,194,232, 40, 32, 18,  0,  4, 16, 11,241,  5,253, 96,158,
+138, 25,177,213,  0,100,232,134,164,209, 27,204,238,  5,188, 31, 64,176,231,241,249,243,103, 96,179, 20,216,172, 54, 53, 53, 69,
+227,158, 58,117, 10, 34,136, 21, 64,100,129, 36,176,101, 10,108,198,  2,139,  6,136, 32, 50, 23, 43,224,251,241,118,219,163, 31,
+210,239,153, 13,249, 24, 69, 95, 51,168,176,240, 51, 49, 10,255,255,241,242,235, 75,198,171,143,254,189,248,250,  3, 88,  6, 51,
+252,187,197, 96,228,142,171,  2, 96,103,103,  7,150,194,210,210,210,174,174,174,192,146, 29, 88, 68,190,125,251, 22, 88, 36,  1,
+165,128, 69, 60,228,248,163,127, 24,122, 33,218,129, 10,128,201, 30,216,241, 85, 81, 81,225,231,231,255,242,229,203,249,243,231,
+129,181,  2,208,204,159, 96,128,167, 85,  4,172,222,158, 60,121,162,175,175,239,224,224, 32, 35, 35,243,245,235, 87, 96,253,  1,
+236,230, 30, 63,126,156,224, 96, 14, 80,239,203,119, 31,133,212, 44,148,108,195,  5,100,212,126,126,253,240,232,228,214,219,123,
+ 23, 18,212, 11,153,189,  0,118,110,196,197,197,129,  5, 46,176, 38,128, 20,253,144,177, 32, 32, 27,235, 13, 57,208,106,143,133,
+ 67, 64, 80, 93, 64, 72,157,137,137, 21, 88,220,207,157,191, 63, 41,209, 17,162, 55, 53, 53, 21,232,120,136, 94,176,151,193, 69,
+  1,182,105,  0, 96,192,110,222,188, 57, 43, 43, 75, 82, 18,116,192,231,222,189,123,129,149, 25, 39, 24,120,123,123, 31,187,246,
+ 29,143,175,151,221,124,220,123,250,198,156,142,114, 25,117,249,175, 95,222,111,220,126,250,210,229,155,  2,255,255,177,189,120,
+233,157, 19,125,244,234,247,209,242,154, 84,128,118,210, 15,102,135,  0, 32,128, 88, 48,203,  2,248, 33,183,184,216,131, 10,144,
+ 93,112, 83,168,151,236,241, 31,202, 91,253,196, 72,225, 41,202,201, 94, 53,  4,204,201,192,226,254,253,251,247, 88,185, 68,  2,
+ 96,109,  1, 44,127,129,133,190,130,130,  2, 38, 23, 19,188,126,243,248,216,243,239,222, 92, 92,135, 31,255,147, 50, 98, 87,252,
+121,246,253,181,172,245, 93,151,254, 61,248,248,229,215,255,167,159,255,114,178, 48,253,249,248,130, 31, 91, 59,  6, 94,  7,  0,
+ 75,204,135, 15, 31,222,184,113, 67, 91, 91, 27,232,224, 19, 39, 78, 64, 70,246,113, 13,226,  3,245, 66, 58,  1, 16,189,192, 58,
+224,241,227,199,186,186,186,192,226, 27, 88,127,  0, 69,128,226,144,213, 65,120,122,  0,143, 30, 61,  2,154,111,108,108, 12, 44,
+253,129,138,129, 93, 16,115,115,115,160,213, 64,113, 96,205,129, 63,148,128,106,254, 49,177, 73, 27,184,  0, 75,127, 38,102, 86,
+ 78, 62, 81, 57,115,239,135, 39, 54,225,215, 11,116,231,135, 15, 31,158, 62,125, 42, 39, 39,103,109,109, 13,180, 20, 50,242, 19,
+ 31, 31, 15, 81,  0,172,195,240, 88,202,193, 33, 44, 44,170,255,235,231,199, 55,111,207,255,252,249,254,247,111,208,252, 54, 68,
+239,203, 23, 47,224,122, 65,173,127, 28,181,222,243,231,207,151, 46, 93, 26, 29, 29, 13, 12, 43,  6,240,117, 52,192,222, 64,101,
+101, 37,176, 54,130, 41,193,185, 60,241,214,167,111,229,  7, 47,116,148,164,219,250,184,124,253,242,102,213,186,131, 51,231,174,
+221, 94,148,160,244,234, 73,231,167, 23, 66, 66,194,120,244,142,  2, 34,199,130, 48,171,  4,128,  0, 98,193, 58, 20, 67,144, 61,
+200,  1,229,107, 52,137,  1, 45,166, 45,244,191, 65, 12,185,236, 70,171, 12,168,113, 24, 36, 78,112,243,230, 77,216, 60, 30, 22,
+ 46, 73,  0, 88,  4,239,222,189, 27,114,137,  7, 50, 23,107, 55,255,226,187,239, 31,127,253,187,248,250,207,179, 15,127,196, 79,
+176,232,173,186,243,240,193,213,155, 39,127,253, 97, 97,254,245,143,225,199,175,255,239,255,255, 19, 21,252,143,181, 16,135, 47,
+  0,133, 44,227,121,249,242,165,188,188, 60,176,222,130, 12,251,  0, 73,196,  6, 39, 66,  0,190,105,  0, 66, 14,206,155,227,128,
+149, 19,228, 22, 20, 69, 69, 69,228,138,237,204,153, 51, 64, 18, 24,188,144, 75,247,112, 93,251,  3, 12, 45, 32,249,253,219,203,
+ 47,159, 31,255,253,251,  3, 89,239, 38,112, 85, 13,236,  6,129,244,254,199, 62,246, 15,140,199,201,147, 39,  3,155,249, 54, 54,
+ 54, 64,238,209,163, 71, 55,108,216,144,157,157,141, 84,250,227,  4,207,191,253,140,221,118,162, 32,204, 59, 36, 54,248,219,143,
+ 79,235, 55, 29,152, 48,109,217, 34, 55, 83, 96,233, 63, 90,118, 83,189, 38, 64,174,  3,  0,  2,136,154, 59,129,145, 71,162,113,
+177,135, 19, 24, 12,165,  0,100,236,158,248,241, 31, 60,115,  6,248,227,  8, 88,124,184,186,186, 10, 10, 10, 98,229,146,  4,128,
+186,128,122,225,197, 61, 26, 23, 13,124,255,203,247,155,145,225,204,155,159,175,254,254,221,123,239,199,170,213, 63,246, 61, 17,
+189,195,198,255,228,227,239,199,159,255,125,253,195,240,237,207,127,118, 97,  9, 92, 69, 54,100,165,255,223,191,127,255,252,249,
+ 35, 44, 44,204,195,195,  3,172,  3,126,255,254, 13, 17, 65,219, 14,134,172, 23,178,210, 31,168,230,251,247,239, 64,174,172,172,
+ 44,176,101, 45, 41, 41,  9,172, 54,128,109,112, 96,205,  7, 49, 25,207,184, 40,176, 25, 14,236, 43,156, 61,123,246,201,147, 39,
+144,107, 56, 79,158, 60,249,229,203, 23,160, 56,176,243,129, 63,136,128,106,152,254,253,122,122,126,207,135, 39,183,254,253,253,
+253,253,211,235, 71, 39,183,254,250,250, 30,191, 94,184, 99,190,125,251,  6,159,157,  6,118,  2,174, 94,189, 10, 44,199, 33,151,
+182,127,252,136,115, 61, 37,208,175,127,126,127,225,228,150,224,224, 20,130,236,  8, 70,214, 59,123,246,108,136,222,127,168,  1,
+  6,236,192, 45, 90,180,  8,216,122,104,106,106,242,243,243,243,241,241,129,116,  5, 54,111,222, 92, 90, 90, 10,236,114,225,241,
+ 38, 80,239,226,197,139, 35,178,114,156,214, 28, 44,137, 11,202, 43,203,252,241,235,203,253,187,143,103,206, 92,181,193,215,202,
+ 65, 86,140,248, 68,  5,172,108, 70, 11,119,252, 99, 65,240,114, 31,121, 30, 24, 32,128,168,127, 20,  4,230,237,169,152,108, 42,
+183,247, 49, 22,242, 35, 55,249,241, 55,255, 49,245,158,  2, 10, 85, 87, 99,178,137, 25,  2, 34, 94, 47,181,122,  3,240,197, 60,
+196, 55,255,223,189,115,129,207, 28,144,212,129, 80, 80, 80,240,245,245,  5, 54,  3,177,114,137,  4, 64,245, 64, 93,240,  1, 31,
+ 52, 46, 22,245,170, 42,170,220,204,188,140, 12,191,255,255,191,254,254,215,210, 59, 63,151, 31,123,118,250,238,187,103,223, 25,
+222,254,248,123,247,203,255,231, 63,255,203, 42,171, 96, 45, 13, 33,171, 54,129,133, 53,176, 16,  7,150,221, 58, 58, 58,224, 42,
+ 83,200,204,204, 12, 82,136, 67,202,113,204, 66, 28, 82,184,  3,235,  9,160,  2, 96, 53,175,172,172,252,225,195,135,199,143, 31,
+191,123,247, 14,232, 84, 96,175,  2, 40, 14, 52,  1,162, 12,151,203, 77, 77, 77,101,100,100,128,  5,232,142, 29, 59,182,128,193,
+225,195,135,129, 13,115, 75, 75, 75, 60,115, 30,112,189,226, 66,252,111,239, 93,184,185,123,254,213,173,211,175,111,157,249,240,
+248,  6,118,166,127,248,245,  2, 43, 39, 96,115,155,143,143,239,226,197,139,192, 90,  7,185, 26,128,180,229,151, 46, 93,138,167,
+ 68,254,245,243,227,199, 15,119, 88, 89,185,  5,132, 52,184,121,164,129, 12, 72,159,  0,  8,158,157,156,186,127, 81,158,171,198,
+ 23,112,  5,192,  0,221,  6,  6, 14,182,173, 91,183,114,114,114,  2,141,  5,134,140,133,133,  5,188, 43, 16, 19, 19,  3,236,136,
+224,247,230,182,109, 91,249,248,120,236,236,205, 13,140,244,  2,179,146,190, 49,254,121,253,234, 93, 70,110,115,167,137,138,145,
+ 24,  9,109, 11, 96,233,223,213,213, 53, 90,  7, 16, 83, 13,160,137,  0,  4, 16,157, 54,130, 13, 72, 99,153,188, 49,122,179,214,
+ 86,228,178, 27,200,165,186, 94,120, 91, 59,113,125, 28, 30,  5,180,222,147,  5,183,  5,121,103,  0,126, 45,192,210,199,217,217,
+ 25, 88,134, 98,114,129,165, 42,190,144,  1,203,  2, 73, 67, 67, 67, 96, 57,  5, 23, 68,230, 98,  5,210,106, 90,186, 87,207,202,
+191,255,248,230,239,191, 79, 63,254,176,  3, 75,235,159,127,228,120, 88,222,255,249,243,244, 43,104,  5,145,183,170, 56,183,130,
+214, 23,108,227, 33,240, 21,159,186,186,186,250,250,250,192,130,  9,178,112, 19,232,108, 96, 81,181,126,253,122,200,134,  0,160,
+  8, 35,134, 94,200,110, 47, 96,186, 85, 83, 83,  3,214, 31,175, 95,191,134, 44, 33,  5,154,  6, 20,121,245,234, 21, 68, 47, 80,
+  4, 79,125,  9,236,217, 64,150,114,  2, 75,100,248, 82, 78,160, 75,  8,174,198,  1,233,117,113,  6,233,189,123,242,217,249,221,
+ 80,189,214, 78,  4,245,  2, 75,127, 35, 35,163,163, 71,143,  2,245, 74, 75, 75,  3,205,225,230,230,174,170,170,154, 52,105, 18,
+176,235,  3,180,189,175,175, 15,215, 29,241,192, 42,239,227,251, 59,192, 98,157, 95, 72, 77, 66,202,242,251,247, 55, 95, 62, 61,
+236,238,153,212,216, 80, 37, 37,195,176, 60,159,139, 49,236,189, 99, 28,  3,164,198,132,111,  4,190,117,235, 22, 48, 13,216,216,
+216,  0,205,  7, 86, 57, 64,185, 41, 83,166,132,135,135, 67,170, 91,252,224,230,205, 91, 33,193,254, 17, 17,126, 58,186,234,111,
+ 63,127,252,242,241, 77, 90, 94,115,115,160,179,243,191,111, 36,149,254, 19, 38, 76,  0, 70, 10,176,214,201,205,205, 13,  8,  8,
+ 24, 45,232,145,  7,124,176,150,251,112,  0, 16, 64, 44,244, 41,232,  9,174, 32, 10,  9,  9, 33,111, 39, 48, 46,128,188, 81,139,
+188, 58,128,212,210,159,120,189,248, 87,221,208,250,104,  7,248,120, 17,220, 22,228, 61,  1,  4,  1,176, 28, 68, 94,237,  3,231,
+226, 89,  2,  4,151, 69, 83,131, 95, 11,  4, 72, 41, 42,255, 48,179,253,115,106,219,131,143, 12, 60,140,172,242, 60, 76, 79,255,
+ 50, 50,179,179, 28,122,245,247,199, 63,  6, 81,118,102,101, 19,187, 47,130, 10,216,138, 51, 80, 19, 30,216,226,  6,182, 67,129,
+101,226,167, 79,159,128,101, 55,164,  2,  0,182,223,129,149, 22,176,204,218,188,121, 51,100, 56,  8, 45, 27,  0, 69, 32,219,134,
+ 53, 53, 53, 33,163, 55, 64,189,144,180, 13,233, 55,  0,197,129,189,129, 47, 95,190,224, 79,216,122,122,122,192, 18,153,188,205,
+ 92,228,233,  5, 58, 91, 74, 74,202,221,221, 29, 88,235,220,184,113,227,209,163, 71,192,218, 78, 64, 64,  0, 88, 21,205,153, 51,
+  7,215, 94, 92,164, 81,160,111, 31,222,223,252,241,227,157,128,160, 26, 15,175, 44, 47,159,220,215,207, 79, 59, 58,231, 70, 70,
+184,  0, 43,  0, 88,192,254, 71,174,  1,188,188,188,182,109,219,  6,236,112,  0,  3,196,207,207,111,225,194,133,192,122, 93, 67,
+ 67,131, 24, 63,122,123,123,173, 95,191,249,211,135,183, 79,158, 61,207,207,142, 43,173,104, 11,116,178,178,249,249,137,129,149,
+216,114,  9, 88,250, 55, 52, 52, 64,186,161,192,142, 26,176, 31, 80, 86, 86, 54, 90,  7,224,175, 15,144,  1, 64,  0, 81,179,  2,
+160,112,  5, 17, 25,165, 60,  4,188,121, 51,183,250,212, 70,172,  3, 62,  4,167,127,129,122, 79, 85,111, 68,107,176, 35, 15,227,
+224, 41,199,223,204,125,115,106, 99, 53,121,122,  7, 10, 12,197, 83,131, 20,172, 28, 47,253,252,243,122,223, 94,214, 63,223, 47,
+125,254,191,231,243, 31, 54, 70, 70,225,255,255, 29, 37,  5,236,221,156,133,140, 29,112,180,103, 65, 61,  0, 96, 19, 24, 88, 30,
+  1,155,240,192,130, 30, 88,140, 66, 10,113, 72,227, 93, 84, 84,212,218,218,122,231,206,157,152,195, 56, 64, 17, 96, 85,  1,108,
+110,  3,213,  3, 91,181,144,110,  4,  3,108, 94,  1,200,  5, 42,  0,246, 42, 78,156, 56, 65,112, 26, 92,  1, 12,200,244, 56, 89,
+122,129,117,  0,176,196,  7, 58, 15,216,  3,  0,118,122,128,125, 23,160,224,211,167, 79, 61, 61, 61,129,205,127,130,218,255,254,
+253,249,245,203,211, 95,191, 62,114,126,122,192, 39,160,204,197, 35,  5, 68,187,246,190,100,116, 22,135, 53,230,192, 36, 76,189,
+149,149, 21, 48, 96,129,165, 63,176, 38, 16, 22, 22,142,139,139, 59,112,224,  0,145, 78,181,180,180, 98,103,103,231,187,118, 54,
+ 59, 59, 89, 70, 77,181,171, 32,121,193,180,133, 83,152,127, 16, 95,250,151,151,151,  3, 61,251,236,217, 51, 78, 78, 78, 96,164,
+  0,187, 59,173,173,173,213,213,213,163,117,  0,124,204,  7, 88,232,227, 57, 10,  2, 32,128,168,220,  3, 24,144, 21, 68, 88, 11,
+ 53, 34,155,255,152,122,145,219,239,144,241, 28, 92,229, 56, 37,122,241,148,197,164,150,209,195,254, 36, 56, 96,137,102,224,236,
+ 46, 44, 37,243,250,250, 21,230,135,247, 84,126, 63,231, 21, 22,183,210,213,208, 54,214,249, 46,129,115,127, 16,176,164,  6,182,
+253,129,205,124,200, 96, 61,176, 43,  0,100, 64,142,115,128,143, 14,201,202,202,  2,235,  0,204,  2, 11, 88,154, 24, 24, 24,  0,
+235,  0, 96,249, 14, 81,  9, 95, 84,  3, 63,  9, 14,104,148,161,161,225,217,179,103,  7,103,160,  1, 29, 47,  6,  6,234,234,234,
+ 64,255,  2,171, 49,160,247,129,161, 81, 77,212,188,212,255,223,191, 62,255,254,245,229,251,247,215,236,236,130,172,108,188, 76,
+ 76, 44, 75,150,110,141,137,246,134,214,130,168,170, 33, 29,139,222,222, 94, 96, 69, 11,100,168,169,169, 17,127,173,180,145,145,
+ 49,179,169,105, 82,  3, 68,239,127, 53, 53,117,181,128,  0,252,163,130,200,160,179,179,115,180,148, 39,166, 14,192, 90,250,  3,
+  1, 64,  0, 13,219, 11, 97,200, 94,250,137, 92,100,147,218,132,167, 68,239, 40,192, 15,100, 53,181,129,  8,200,128,159,189,137,
+127, 95, 80,104,104,168,160,160, 32,100,169, 15,176,  4,132, 12,233, 64,122,  0,144,137, 95,200,129,160,202,202,202, 64,193, 35,
+ 87,190, 34,235,157, 48, 97,194,234,213,171, 33, 10, 64, 39,  5,225, 56, 14, 26,216,242, 37, 56,168, 50, 72,106, 80, 30, 48, 32,
+177,185,  0,169,  6, 62,  3, 75,127,160, 25,192, 96,131,232,197, 53,230,  5, 57,242, 19, 18,212, 36, 57, 15, 24,204,133,133,133,
+100,232, 29,109,230, 19, 95,  7,224,146,  2,  8,160,209, 75,225, 71,193, 40, 24,  5, 24,229,  2,  3,  3,250, 97, 15,255, 71,111,
+  4, 27,134,  0, 32,128, 70,175,132, 28,  5,163, 96, 20, 96, 52,254, 25, 70,111,128, 28, 17,  0, 32,128, 70,175,132, 28,  5,163,
+ 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130,
+ 17, 10,  0,  2,  8, 49,  7, 48,122,201,242,168,222, 81,189,184,244,166,167,167,251,  7,164,111,220,128,229,200,141,209,176, 26,
+112,189,173,176, 21,119,184, 22,185,142, 94, 10,143, 11,  0,  4, 16, 11, 90, 42,199, 84, 65,228,186,177, 65,165,151, 72,237,  3,
+229,230,193,  3,240,156, 57,129,235,252, 88,172,222, 31,222,123, 17, 32,165,191,151,167, 17,228, 24,189, 97,191,241, 98,104,  1,
+ 96,233,239,235,171, 12,103, 87, 87, 87,143,134,  9,241,  0, 32,128,208, 87,  1,253, 95,133,114,  6, 19, 99, 24,  9,167,189,163,
+101, 12,146, 78,  0,165, 68, 47,154,155, 73,114,246, 64,185, 25,  2,222,189,190,243,250,245,243,151,111,190,124,252,248,155,159,
+159, 85, 92,132, 71, 84, 84, 82, 72,148,168,227,213,206, 29,159,118,239,238,173,187, 15,126, 60,126,254, 95, 86,146, 81, 89,129,
+ 67, 73, 89,205,200, 50,139, 90, 41,  3,249,236, 64, 95,219,153,120,170, 13,200,217,162, 67,165, 88, 60,124,248,176,184,184,184,
+188,188, 60,193, 35, 57,145,  1,176,244, 79, 75, 75, 99, 96,152,181,113,244,192,177,193,  7,126,253, 42,223,185, 51,205,221,125,
+150,175,111, 39,164, 55, 48, 90, 13, 96,109,204, 97,182,231,  0,  2,104,152, 44,  3,133,151,248,140,140, 12,255, 86, 10, 14,126,
+  7,255,254,245,245,241,163,203,191,126,253, 86, 81, 20,112,176,145, 19,224,103,127,255,225,199,211,231, 95,110,223,123,254,225,
+227, 27, 89, 57, 93, 86, 54,156, 87,191,190,127,115,235,216,193,217,204, 12,159,194,189, 25,172,141, 25,148,229, 25,238, 60,248,
+127,228,204,247,109,251, 47,110, 93, 91,106,101,159, 42, 40,162, 70,164, 51,136, 41,181,209, 82, 12,102,167,  1,114,144,220, 96,
+174,  3, 94,188,120,241,234,213,171,151, 47, 95,186,186,186, 46, 89,178,132,  1,188,215, 55, 42, 42, 10,255,  1,118,200, 96,219,
+246,115,192,210, 31, 76,142,130,193,213,252,  7,146,193,193,107,119,238,  4,145,105,105,119, 33,189,129,209,174,  0,102,209, 15,
+ 23, 65,206,209,  0,  1, 52, 76, 42,  0, 96, 39,  0, 82,  7, 12,137,210, 31,  8,158, 60,186, 44, 46,194, 97,106,168,  8,190, 95,
+137,241,223,191,255,124, 60,236,220,202,108, 10,178,252,215,110,190,  1,202, 42,170, 88,224,210, 11, 44,253,109,141, 63, 21, 36,
+ 50, 48, 51,131, 42,188,223,127, 24,184,185, 24, 52, 85, 24, 44, 12, 24,182,236,255,  4,148,245, 14,238,166,124,  8,136,164,106,
+  3, 82,  7, 12,206,160,190,126,253,250,185,115,231, 88, 89, 89,145,  5,191,127,255, 62,119,238,220,123,247,238, 69, 68, 68, 16,
+ 99,200,198, 13, 64, 47,167,131, 73, 18,  0,252,158,100,200,177,119,104, 92, 60, 49,194,128,116, 98, 32, 30, 46,206,246,208,255,
+255, 34,111,223, 42, 61,120, 32,252,244,233, 19, 49,177, 71, 74, 74, 31,197,196,254, 19,125, 34, 47,208,157,196,156,211,135, 71,
+ 11,126, 46,181,244,194,  7,127,210,210,118,  2, 25, 16, 18, 34,  5,100,140,214,  1, 88,219,112,144,163,129,224, 34,  0,  1, 52,
+172, 86,  1, 49, 14, 17,119,190,123,125,231,247,239,223,102, 70,146,112, 17, 38, 38, 70, 54, 54,102, 78, 14, 22, 86, 86, 38,101,
+ 69, 65, 96,207,  0,168,  6,215,200, 15,176,237, 95,152,196,240,227, 39,195,253,199, 12,239, 63, 50,124,248,196,176,108, 19, 67,
+110,  3, 67, 85, 15,131,149, 17,  3,211,255, 79, 64, 53,163,137, 30,  2, 46, 93,186,116,225,194,  5,180,210, 31, 14,246,239,223,
+127,245,234, 85, 60,101,241,161, 67,135,224,165, 45,164,244,135,176,129,226,196, 84,120,167, 96,  0, 43,151,200,250, 21, 63, 23,
+107,233,175,116,227,134,237,158, 61,178,183,238,176,125,250, 36,121,235,134,206,150,205,162, 23, 47, 50, 16,125,167, 55,208,133,
+192, 98, 23,216,103, 34, 62,156, 33, 90,240,112,241,235, 69, 46,238,241,112,113,  1, 72,185, 15, 33,127,249,170,140, 38,123,228,
+162, 31,255, 89, 15,  0,  1, 52, 88,122,  0, 84,105, 63,254,167,134,189,228, 13,101,192,111,218, 34,102,140,229,245,155,231,234,
+202, 66,144,114, 31, 77,138,131,157,229,195,199,159,106,202, 66,183,238, 61,199, 58, 25,112,239,238,173,112,208,145, 92, 12, 59,
+ 14, 49, 76, 93,204,224,102,203,224,229,192,112,227, 14,195,249,171,255, 57, 57, 24, 13,181, 25,220,237, 25,214,237,188,101,100,
+ 73,181, 33, 32,172,158,165,124,254,131, 62, 35, 63,151, 47, 95,198, 85,250,195,235,  0, 92,119,164, 68, 71, 71, 47,  5,  3, 32,
+  3,238, 95, 96,209, 15, 20,129,200,210, 39, 47,224,231, 98,  2,190,151, 47, 21, 79,158,252,197,196,196,202,200,240,231,223,255,
+127,191,255,254,251,243, 71,244,240,161,143, 34, 34, 63,101,136, 93, 73,  2, 44,118,175, 92,185, 98,104,104,104, 96, 96, 64,188,
+ 22,228,206, 13, 26,151,200,110,  4,169,165, 63,102,113,191, 19,169, 31, 48, 10,  8,  2,128,  0, 66,175,  0, 48,167, 79,137, 44,
+212,112, 21,166,196,232,165,197,216, 49,145,203, 84,176, 78, 32, 19,169, 23, 77, 25,241,115,209, 47, 95,127,113,180,150,  3, 54,
+200, 14, 31,127,252,237,251,111,160,136,145,190,132,168, 48,231,227,167,159,239,220,127,207,194,194,164,170, 36,120,244,228, 87,
+117, 77, 44,122,239, 62,248, 97,109,204,240,243, 55,195,246,131, 12,251,143,255,151, 18,103, 84,146, 99,112,182, 97,208, 80,102,
+100, 97,  6,157,163,110, 97,192,208, 61,243,  7,254,  1, 31,130, 12, 60,173,  6,248,136, 63,218,184,196, 32,156,  0,120,240,224,
+  1,254,210, 31,162,  6,151,148, 29, 24, 64, 74,124, 72,161, 15,175, 24,224, 23, 26, 83, 29, 80,216,252,  7,  2,129,235, 55,126,
+253,254,205,196,196,244,159,153, 25,116, 41,  2,228, 64,187,191,255,216, 47, 93, 34,190,  2, 96,  0,223, 43,121,244,232, 81, 96,
+ 87, 85, 90, 90, 90, 74, 74,138,214,117,  0,121,109,127, 96,113,239, 62,203, 61,120, 45, 67,218, 78, 16,  3,200,133,212, 10,108,
+155,239,140, 22,238,104,  0,235,186, 62,128,  0, 34,188, 10,136,248,117, 65,152,173, 66, 34,219,137, 88,235,  9,226, 43, 30,172,
+ 46,199,115,121, 58,174, 98, 26, 62,129, 76,164, 94,172,202, 32,166,  1, 27,246,255, 86,225,156,141,  0,175,249,  1, 45, 65,121,
+252,236,211,247,239,160,107,173, 84,148,  4,129, 21,192,197,171,175,110,222,126,199,193,193,172,172, 40,240,254, 35,246,131,230,
+ 31, 63,255,175, 44, 15, 50,223,195,142,193, 64,139,145,157,141,225,207, 31, 80, 63, 64,128,151,225,222, 35,  6,119, 59,  6,121,
+ 25,144, 26,154,166, 36,120,185, 79,228,144,244, 64,  1,172,131, 24,164, 58, 21, 82,214,195, 43,  0,154,150,254,112,128,235,234,
+118, 60, 87,186,195,  1,235,221, 59, 63,127,255, 98,100,102,249,251,255, 63, 48,157,252,249,251,239, 55,176, 35,240,247, 47,227,
+237,155, 12, 12, 94,164,186,  4,216, 15,  0,118,164,184,185,185,249,249,249,137,175,  3,136, 28,252,161,176,244,175,174,174,110,
+109,109,  5,150,254,240,202,  0, 72,  2,171,  1, 96,233,191,121,243, 93,200,  4,  0,100,150, 88,207, 46,126,180,244,199, 44,253,
+129,  0, 32,128,  6,203, 16, 16,214,194,148,200,130,152,164,181,170,216, 77,160,210,218, 33,160, 75,136, 49,138,159,159,245,253,
+135, 31, 34, 66, 92,161,126, 26,192,252,201,206,206,204, 12,108,175,253,255,239,227,166,236,237,170, 12, 52,225,237,251,239, 64,
+ 53, 88,245,202, 74, 50,222,125,248, 95, 67,153,193,201, 18, 52,228,117,227, 14,131,158,  6,131, 32, 31,131,167,  3,195,191,127,
+ 12,192, 78,192,173,251, 32, 53,248,  3,153, 32,131,248,141, 36,148,140,155,209, 26, 96,222,244,178,106,213, 42,148, 70,195,255,
+255,225,225,225,196,215,  1,116, 43,253,201,168, 27,224,224,157,140, 52,219,141,155,255, 89, 25,216,254,129,230,125,127,255,253,
+243,235,255,223,111,127,254,124, 87,209, 32,195, 49, 58, 58, 58,192, 30,  0,145,165, 63,  3,248,154, 79, 96,147, 31, 94,124,163,
+113,113,  1, 72, 47,  1,174, 12,141, 75, 16,  0,155,255,144,162, 31, 72, 34,183,253, 33,179,196,192,202, 96,180,244,199, 90,250,
+  3,  1, 64,  0, 13,135, 85, 64,  4,123, 30,  4,193,255,255, 12, 76,225,239, 41,175,  3, 32,139,145,152,194,222,227,105,254,  3,
+129,184,  8,207,227,167,159,129, 21, 64,223,244,211,118, 86,178, 70,122,226,140,172,140,144,229, 64,144,149, 26, 64, 89,160, 26,
+172,122,149, 21, 56,142,158,253, 14,172,  0, 68,140, 25, 42, 50, 25,242, 19, 24,248,121, 65, 35, 63,141,147, 24, 26,242, 65, 10,
+142,158,  5,169, 33,105,160,140,236, 57,143, 65,190, 21,  0,216,110,197,127, 99,215,159, 63,127,  6, 91, 98,134,151,254,120,170,
+  1,252,117,192, 39, 45,109,246, 75,151,254,253,255,207,205,196,194,204,204,248,  7, 88,250,255,254,253,249,215,175,223,250,250,
+ 36,185,132,139,139,139,164, 57,  0,120,113,143,139, 75,139, 58,  0,216,204, 79,  3,183,241,145, 75,127,120,243,127, 20, 48, 16,
+218,209,  9, 16, 64,163,199, 65,195, 90,139, 84, 90, 63, 10,173,  3,240, 86, 39,162,162,146,119,238, 63,211,215, 22,171,200,183,
+ 88,176,252, 50, 39,  7,139,129,142, 24,252, 58,229,127,255,254,223,185,255, 94, 92, 12,251,168,171,146,178,218,214,125, 23, 19,
+130, 25,254,223, 99,176,  8, 98, 80,146,101, 88,186, 17, 38,151,207,240,247, 47,195,214,125, 32, 53,180, 11, 40,172,253,179,193,
+185, 12, 84, 73, 73,233,244,233,211,120,238, 24, 33,242,122, 94,248, 16, 16,144,164,117, 15,  0, 88,178, 67,138,126, 92, 67, 64,
+184,164, 16,181,154,140,204, 91, 91,187,191,251, 15,252, 98, 99,229,249,207,242,227,223,191,143,191,126,125,118,114,254, 47, 39,
+ 71,116,135,152, 17, 88,254, 18, 63,244, 15,215,  2, 47,238,209,184, 36,213,  1,184,214,206,226,  1,104,165, 63,124,228,103,116,
+ 54, 24,127,233, 15,  4,  0,  1, 52, 90,  1, 80, 19, 64, 39,  0,  8,141,  2,  9,137,170,124,248,248,230,228,217,103,230,198, 82,
+158, 46, 74, 59,246,222,219,186, 11,148,106,107,138,173,128,165, 63, 80,156,157,157, 13,215,126, 96, 35,203,172,173,107, 75,251,
+231,129, 86,130,206,104,  1,173,254,116,177,  6,173,  4,237,175,  5,149,254,253,243, 24,254, 50,240, 17,191, 31,152,212, 54, 59,
+174, 30,195,224, 92,  5,164,172,172,124,249,242,101, 92,157,  0, 96,243,223,216,216,152, 24,115, 32,139, 65, 33,139,130,128,108,
+226,235,  0,180,141,102, 68,238, 59,131,215,  1,184,100,  9,232,103, 98,250,101,110,254, 70, 74,234,203,165, 75, 60,143, 30,253,
+ 80, 84,252,170,173,253, 87, 86,150,129,232,203,182,200, 43,187,145,181,160,113,241,123, 28, 89, 22,205, 94, 82,157,  1,  1,200,
+229, 62,164, 55, 64,234,144,230, 48,  3,120,214,116,  0,  4,208,104,  5,128,101,245, 14, 29,140,146,149,211,125,252,232,242,218,
+ 45, 55, 85, 20,  5,189,221,148,  5,  5, 56,222,127,248,113,254,242, 75, 96,219, 31, 88,250,  3,101,241,232,181,178, 79, 61,124,
+112,246,177,179,159,188,157, 24,102,183,131,118,  2,223,125,200, 48,119, 21,168,237, 15, 44,253,129,178,148, 23,232,100,148,254,
+131,115, 30,216,194,194,226,224,193,131,140, 24,123,160,128,165,191,138,138, 10,176,134, 32,166,244, 71, 30,253,135,116,  5,136,
+172,  3,200, 46,206,112,149,242,132, 75,127, 88, 29,240, 79, 94,254, 27, 16,145, 21,104,100, 20,187,248,125,138,223, 64, 74,244,
+226, 47,253, 65,139, 68, 71,252,  4,  0,  3,182,253,192,240, 42,  1, 32,128,  8, 47,  3, 37,126,138,149,152,101,160,196,235, 37,
+ 94, 59, 37,246, 98,245, 29,121,246,146, 52, 23,205,202,198,173,164, 98,241,238,245,157,123, 15,158, 31, 63,243,  4,126, 22,144,
+184,152, 20,193,179,128,  4, 69,212,188,131,187,207, 29,159,182,114,235,173,182,169,180, 58, 11,136,200, 30,195, 96, 46,253,129,
+ 64, 66, 66, 34, 60, 60,252,230,205,155,103,206,156, 97,  6,205,181, 51,  1,139,126, 54, 54, 54, 96,219, 95, 93, 93,157,212,210,
+159,140, 58, 96, 20,208, 26,128,214,  2,165,181,186,207,114,199,186, 39, 96,116, 50,  0, 63,  0,  8, 32, 22, 74,  6,  4,104,170,
+151, 72,  3,  7,149,155, 73,  5,192,178, 30,136,212,201,210, 11, 44,235,137,220,237, 69, 45, 95,208,109, 15,  7,213,129, 58, 24,
+144,161, 17,179,172,  7,178, 33,219,  2, 70, 43,128, 65, 85,  7, 48, 60,196, 34,110, 82,109, 50,194, 67,134,224,149,239,  0,  1,
+ 52,122, 41,252, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 55,130,141,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52, 90,  1,
+140,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52, 90,  1,140,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52, 90,  1,140,130, 81, 48,
+ 10, 70,193,  8,  5,  0,  1, 52,122, 41, 60,117,244,226, 57, 22,141,166,122,239,129,193,234,213,171,201,208,123,255,254,253,187,
+119,239,146,167,119, 52,109,140,234, 29,213, 59, 84,244,226,  1,  0,  1,132,115, 35, 24,145,167, 96, 82, 93, 47,213, 65, 90,232,
+ 71,  6, 54,182, 89, 75, 57,241,168,  1,150,161,120,246, 94,226,119, 51, 92,111,111,111,111,113,113, 49, 73,183,165,195,245, 94,
+233,227,211, 41,250, 68,250, 77,235,255,245,190, 79,249,255,235, 47,144, 53,107,214, 44,240,165,181,196,131,255,166,204, 43,126,
+255,254,196,201,201,  9,172,  3, 66, 67, 67,105, 23,  5, 68,238,171,192,234,223,129,210,139,203, 52,250, 36, 96, 70, 70, 70, 38,
+ 48,128,108, 97,251,245,235, 23, 51,248,108,231,255,255,255, 51,140,130, 81, 64, 61,  0, 16, 64, 44,184,210, 58,214,164,198, 72,
+232, 86, 57, 72, 38, 33, 79, 47, 49, 45, 98,178,193,238,221,187, 25, 56, 52,241,148,194,229,229,229, 98, 98, 98,104, 82,192,  2,
+ 29,191,177, 16,189,144,162,255,196,137, 19,144,106,128, 36,189,255, 47,212, 50, 26, 52, 47, 58,  8, 58,174,  0,200,134,134,149,
+ 65, 51, 65, 31,241, 94, 43,  2,  6,243,242,163, 32,141,158,134,172,218,210, 87,129,117,  0,168,194, 35,162, 26,144, 19, 58,121,
+255,242,203, 35,207,229,191,242,112,123, 56,124,144, 22,101, 60,115,250,216,167,207, 63,156,156,156,104,148,206,104,218,104,192,
+163,151, 96,137, 73,124,178, 36, 21,  0,227,183,171,171,171,180,180,148,152,253,198,200,  0, 88,214,179,128,  1,100,231, 26, 48,
+145,  0, 13,249,251,247,239, 31, 48,  0, 50,104,228,224,173, 91,183,226, 15, 28, 47, 47,194,167, 73,111,219,182,141, 36,245,163,
+128,110,  0,178, 31, 24,109,221, 63, 64,  0,177,144, 84,250, 27, 27, 27,159, 61,123,150, 96, 38,196,154,169,240,232, 69, 51,  7,
+ 88, 22, 67,134, 53,200, 62, 96, 50,205,119, 22,  3,167,218,172, 85, 14,160,166,241,106,126, 80,233, 79,168,  4,199, 60, 59, 30,
+ 88,130,227, 63,149,  5,174, 23,200,  6,182,160, 45,192,128, 36,189,144, 18, 31, 66,118, 54, 50,192, 75,255, 50,127,142,174,141,
+ 63,240,120,144,255,102,177,182, 28,243,215, 31,255,139,124, 56, 78,220,254,243,253,231,255,239,191, 25, 28,165,175, 94,121,244,
+151, 96, 87,224,241,165,254,179,175,185,249,184, 25,197,197,196,197,164, 85, 30, 62,249,169,174,246,135,157,249,213,230, 45,111,
+214,175, 95, 31, 24, 24, 56,154, 85,168,  2,128,241,235,235,235, 11,172,  3,208,210,176,145,145, 81, 99, 99, 35, 80, 10,123,139,
+140,133,133, 13,  6, 30, 63,126,172,170,170, 10,172,  6,120,121,121,239,220,185,195,195,195,115,250,244,233,227,199,143,103,103,
+103,227, 76,249,224,168,135,231, 95,120, 78,132,136,  0,185,144, 86,  2, 86,176,105,211, 38, 76, 45,112, 17, 32,151,152,  2,125,
+227,198,141, 36,169,167, 10,120,241,226,133,132,132,196,104,146,195, 83,238,227,  2,  0,  1,196, 66, 82,233,143,223, 38, 60,  7,
+149,224, 63,226, 28,173,244,239,232,232,168,168,168,128,139, 16, 95,  7,164, 25,207, 98, 16, 86,155,181,203,  1,222,234,119,117,
+117,  5, 50, 32, 36,230,184, 24,114,  9,142,181,244,199,236, 19, 96,122, 10,222,210,  7,214, 88,200, 65, 65,140, 94,172, 45,125,
+ 96,233,143,223,155,194,183,138, 84,165,152, 57,217, 24, 21, 68,153, 94,127,250,255,231, 47,243,155,207,255, 63,126,251,127,247,
+229, 63, 96,214, 19,249,119,  9,232, 47, 37, 37, 37,236, 45,226, 87,171, 85,228,148, 94,191,126,169, 32, 35,170,171,173,196,194,
+ 35,168, 36,243,225,251,223,143,207,159,255,125,250,254,  7,231, 79,160, 86,125, 92,122,105, 55, 34, 68,124, 20,147,167, 23,179,
+ 69, 66,235,177, 20, 96, 56,  2, 45,213,210,210,218,188,121, 51,114,116,  0, 51, 17,158,210, 31,  8, 88, 89, 89, 57, 56, 56,222,
+188,121,163,166,166,102,104,104,  8,172, 15, 38, 77,154,  4,108,245,235,234,234,174, 91,183, 14, 88,  1, 92,186,116,  9, 88, 37,
+224,234,  7,248,251,251, 67,252,139, 43, 23,227, 41,148,129,101, 55, 36,100,176, 54,224,128,226, 47, 95,190, 36,166,  2, 32, 73,
+ 61,164,248,222,191,127, 63, 86, 41, 71, 71, 71, 98, 74,118,160,118, 41, 41, 41,117,117,245,209,106,128, 84,  0, 16, 64, 44,152,
+185, 11, 87,251,157, 62, 14,  2,230, 22, 96,233, 79,100,133,129,115,180,135, 33, 13, 72,174,158,101,198,192,246, 29,207,232, 63,
+ 90,  9,142, 86,153,225, 47,193, 33,  0, 94,121,156, 56,113,  2,185,249, 79,140,222,165,121, 60,152,215, 24, 71, 79,250,138, 95,
+215,191,127,255, 56,216, 24,153,153, 24,184,216, 25, 62,124,251,255,235,239,127,110, 14, 70, 96,243,255,251,175,255,210,130, 76,
+255,254, 49,220,122,254,119,207,158, 61, 88, 59,  1,159,158,159,224,103,229,102,101,253,159, 26,106,246,247,207,255, 23,239,127,
+ 61,186,255,145,137,225,177,128,192,207, 87, 47, 31,176, 49,127,188,246,224,195,211, 31,123, 72,156, 75,160,116, 68,  8,249,102,
+ 49, 98,  0,242,137,123,152,247,119,226,  2,239,222,185,192,217, 66, 66,123,112, 21,145,  4,235, 27,100, 17, 60,117, 15, 48,105,
+249,248,248, 64,202,253,171, 87,175, 66, 24,144,182, 63, 80, 28,143,141,236,236,236, 95,191,126,213,212,212,  4,150,125,192,132,
+148,156,156, 12, 20,252,253,251,247,130,  5, 11,128, 29,232,115,231,206,173, 92,185,242,251,247,239,152,119,221, 64,128,183,183,
+ 55,217,145, 50,119,238, 92,252,149, 40, 49, 45,122,184, 33, 68,170,103,  0,159,215,  4, 44,190,159, 61,123,134, 38, 14, 20, 36,
+190, 64,127,  6,  6,163,213,  0, 38,128,143,249, 96,237, 10,  0,  4, 16, 11, 49,173,120, 74,138, 99, 82,  1,114, 59,154,168, 86,
+255,172,116,  6, 73,134, 89,190,160,172, 56,235,108, 26,124,180,  7,220,234,255,136,220, 15,192, 95,130,191,122,245, 10, 94,106,
+ 19, 89,130,227,  7,144,122,  5, 88, 94,224, 62,108,  3,103,  1,  4, 25,255,193,212, 11, 44,179, 94, 31, 40,146,144, 99,254,242,
+ 29, 84,124,  1,107,234,111,191,254,127,255,197,240,251, 15,200, 40,208, 13,224,224, 66,237,242,197,179,192,122,148,129,129, 13,
+205,216, 15, 47,175,178,137, 10,138, 10,  8,124,120,255,253,195,199,247, 39,174,190,124,250,254, 63, 23,215, 55,101,249, 47,223,
+191,188,209, 83,253,173,165,240,115,214,242,179,119,238,220, 97, 96,224, 24,205, 57, 20, 54,255,129,  0,216,252,  7, 22,247, 91,
+182,108,209,214,214, 14, 13, 13, 37, 88,250, 67, 42,128,215,175, 95,115,113,113,217,217,217,245,244,244,  0, 59,  4,192,100,176,
+112,225, 66, 96,233, 15,108,100,236,221,187,247,242,229,203, 34, 34, 34,120,174,178,  1,214,223,184,134,128,102,207,158,141,199,
+106,170, 12,  1,  1, 13, 33, 99,  8,  8, 88,106, 99, 86,  0,100, 28,223, 52, 90, 13,144, 10,  0,  2,104,112, 29,  7,141,121,175,
+  8,145,131,  3,160,246,126,197,125,  6,102,182, 52, 55,  5,  6,  1,133, 89,224,139,255,240,143,254, 83,101, 16,  3, 50,241, 11,
+111,251, 35,  3,200,172,  0,102,247,130,200, 22,235,210, 60,110,204,222,  0,239,181,226,251, 63,255,191,248,240,143,145,145,137,
+251,  7,168,171,254,231,239,255, 31,191, 25,126,252,  2, 93, 19,255, 19,204,248,253,  7,214,  2, 69,173, 60,120,174, 22, 61,125,
+ 38,167, 32,199,195,196,193,252,246,251,247,189,167,159,220,122,252,244,237,187, 47, 38,122,127,127,126,251,243,227,215,223,239,
+ 63,254, 61,124,204,240,237, 59, 67,119,119,247,232,  9, 81, 88,123, 42, 68, 38, 72, 72,243, 95, 75, 75, 11,216,240,  7, 86,  6,
+192, 10,  0,210,  9, 32, 88,250, 67,134,128, 12, 12, 12, 56, 56, 56,128,133,126, 82, 82, 82,123,123, 59,176, 36, 61,121,242,228,
+193,131,  7, 47, 93,186,244,241,227, 71, 85, 85,213, 79,159, 62,225,185,229, 38, 32, 32,  0,179,115,  3,233,241,224,239, 31, 12,
+212, 16, 16,214, 78,  0, 73,205,255,209,106,128,108,  0, 16, 64,131,162,  2,128, 12,253, 67,186,201,200,117,  0, 60,179, 65,  6,
+235,137, 31, 41,134,148,251,192,134, 63,120, 20,136,109,214, 82,234,187, 25,178,242,199,197,197,101,207,158, 61,184,186, 50,184,
+122, 51, 88, 11,119, 98,198,130,226,166,124,149, 18, 98,138,178, 97,  3,150,245,124, 92,140,204,140,160,124,254,235,239,127, 32,
+247,235,207,255, 95,127,252,  7,118,  8,254,254, 99,192,186,176,  5,168,215, 64,253,158,170,202,187, 29,  7, 95,189,251,248,195,
+ 66,239,147, 25,255, 23, 86,182,159,223,126,252,123,242, 28,168,151,241,239, 95, 70, 17, 33, 70,  6,198,127,163,185,130, 42,  0,
+146,158,145, 39, 84,128, 53,  1,114,209,140,117, 38,  0, 88,178,151,149,149,177,176,176, 44, 90,180,104,254,252,249,137,137,137,
+ 29, 29, 29,192, 18,249,193,131,  7,223,191,127,  7,102, 19, 96,219, 63, 35, 35,  3,207,226, 37,178,167, 94,  7,106,  8,  8,107,
+ 39,128,188,211, 91, 71,  1,169,  0, 32,128,  6, 75, 15,  0,121,216, 26,179,160,199, 85,200, 34,131, 89,103,211, 96, 69,255,237,
+213,147,238,131, 87,  1, 33,234,  3, 60,163, 64,148,140,240,  0, 29,  6,111,254, 67,122,  3,112, 54,176,  7,  0,217, 99,133, 57,
+249, 76,176,244,135,172,  2,194,212, 11, 44,220,191,253,  4, 22,247,255, 63,124,  5, 54,252,255,179,130, 99,239,207, 95, 80,195,
+ 31, 88,244,191,253,252,255,245,167,255,231, 31,252,  1, 22, 50,192,146,226,234, 83,  6, 52,189,143,159,255,186,115,231,253,177,
+115,239,129,141,188, 27,119,254, 69,250,253, 97,249,255,255,197, 43,134, 93,135, 25, 62,127,251,255,239, 31,131,147,  5, 35, 39,
+ 59,131,151,183, 63,254,149,134, 27, 22,164,  7, 36, 80,180, 66,151,146, 27,196, 72,186,119,  1, 14,132,132,246,208, 45, 49,163,
+ 37, 96, 32,215,200,200,232,220,185,115,155, 55,111, 70, 22,199, 53, 21, 12,108, 91,  8,  8,  8, 64, 26,209,243,230,205,  3,246,
+  3,128, 53,  1,164,230,  0, 74,125,248,240,  1,216,  3,248,246, 13,223, 93, 47,169,169,169,200, 67, 55,144,230, 63,254,241,159,
+129, 29,  2, 66,235,  4, 80,210,252,135,104, 31,109,251, 19,  9,  0,  2,104,176, 84,  0,103,207,158,197,181,118,  5, 40, 78, 96,
+253, 40, 59,247,106,133, 67, 12,127,206, 50, 40,114,167,181, 42,206, 58,  0,236,104,207,130, 85,  6,174,196,143,  2, 33,175,  4,
+197, 92, 21,138,153,195,129,165, 24,164,244, 71,158,  1,134,180,253, 33, 92,172, 61,  0,184, 94,242, 74,150,219,183,111, 63, 58,
+ 58,233,255,255,127,140,223, 24,216, 88,192,187,132,254,252,255,251, 31, 84,130,  3,251,  1,192,202,  0,136, 10,139, 65,221,169,
+171, 79,159, 96,234,125,112,116,162,182,194,191, 67,231,255, 50, 49, 49,188,120,205,200,201,193,176,243, 48,195,183,111,140,255,
+255, 49, 24,105,177, 62,122,246,207,222,201, 27,152,111,241,236, 36,  4,150,254, 93,217, 12,101, 83,201,175,  3, 40,185, 64,152,
+ 60,189,184,134, 53,232,  3, 32, 43,127,124,124,124, 32, 81, 15,233,206,  2,155,249, 88, 21,255,251,247,239,252,249,243,182,182,
+182,112, 17, 96, 29,  0, 41,139,127,255,254,253,247,239, 95, 96, 36,138,138,138,226,154,  4,134,143,  2,145,209,126, 31,192, 33,
+ 32,180, 78,  0,217,205,255,209,162,159, 84,  0, 16, 64,164, 85,  0,192,130,152, 22, 59, 33, 33,141,101, 96,174,  0, 50, 92, 92,
+ 92,208,218,254,144, 98,148,248,173,170,240, 85, 64, 16, 46, 49,109,127,228, 25, 96,  8,128,112, 33,139, 65,241,235,133,151,254,
+104,243,  1,196,232,197,  5,128,205,127, 92,122, 85, 85, 85,231,205,248,237,172,195, 10, 44,  0,126,255,249,199,193, 10,108,220,
+ 49,124,254,241,255,231, 31,208,224,207,217,187,127,255,252,251,143,107, 29, 39, 80,239,162,217,127,236, 13,152,163,124, 64,211,
+200, 31, 63, 51,124,254,202,168, 34,255,255,207, 31, 96,142,231,120,251,225,223,211, 23,191, 10,203,125,240,183,253, 39,228, 51,
+168,201, 49, 76, 46, 98,200,237,163,168, 14, 32,187, 79, 64,158, 94,202,215,125,146,151,242,129,165,127, 67, 67,  3,114, 99,191,
+171,171, 11,200,197,181, 59,236,215,175, 95,192, 34,236,199,143, 31,204,204,204, 92, 92, 92, 64,145,181,107,215,  6,  7,  7,127,
+255,254, 29, 40,248,243,231, 79, 30, 30, 30, 96, 53,128,223, 59,228,173,  5, 26,216, 33, 32,120, 39,  0,194, 24, 45,250,233,  3,
+  0,  2,136,132, 10,128,194,210, 31,143,118, 96,161, 15, 41,229, 33,227,230,240, 37,167,200, 13,127,180,138,  1,  5, 48, 51, 50,
+176, 49, 49,112, 50, 51,240,176, 48,252,252,188,186,157,149,129,243, 84, 90,136, 34,  3,167,208,172,197, 68, 53,252,177,174,249,
+129,148,224,248, 23,197, 35,151,254,200,243,  1,196,232,197, 95,250,227,209,219,222, 59,163, 48, 55,131,147, 29,216, 90,100,208,
+145, 99,  6, 22,222,192,210,  0, 82,244,255,253,207, 92, 82, 82,130,199,240,230,174, 25,197,  5, 25,192,170,  2,212,111,248,203,
+  0,108,233,121, 57, 50,124,252,204,120,225,234,247, 31,191,153,252,252,130,240,151,254, 13,201, 12, 42,224, 35, 73,148,165, 25,
+ 40,236,  7,140,  4,128,185,231, 11,180,178, 11, 12,112,105,  1, 86,  0,192,178, 30,180, 29, 67, 95,255,207,159, 63,172,172,172,
+192, 54, 53,176, 17,  3, 44,253,191,125,251,  6,108,254, 11, 10, 10,226, 89,  6, 10,  7,240,  1, 85, 98,  6,127,  6,195, 16, 16,
+188, 19, 64, 70, 56, 19,185, 93, 96, 20, 96,  2,128,  0, 34,182,  2,160, 81,219, 31,107,215, 30,115,192,135,108,171,  9,142,254,
+ 83, 82,250, 51,160,206,244,194,235, 48,  6,240,106, 90,130,122,113,205,  4, 16,163,183,127,242, 12, 96,112,  1, 51,218,145, 27,
+127, 32,235, 65,193, 89, 14,168,183,132,160,222,222,  9, 51, 50, 51,211, 33,186,128,228,161,211, 12, 95,191,129,202, 19, 63, 63,
+111,119,119,119, 60,165,127,121, 12,131,  0, 15,195,179, 55, 12,160,186,231, 63,  3, 55,  7, 67,107, 58, 67,245,204, 97, 94,  7,
+224,234, 94, 16,147, 38,209, 74,255,140,140, 12, 72,209,191,121,243,102, 96, 41,137,181, 26,  0, 86,  0, 76, 76, 76,192,246,236,
+231,207,159,207,156, 57, 99,104,104,  8,172,  6, 62,126,252,120,241,226, 69, 69, 69, 69, 97, 97, 97, 96,233, 15, 20, 33,216,161,
+129,236,  8, 35,169, 67, 48,224, 67, 64,228,181,253,201,214, 53, 10,128,  0, 32,128,208, 43,  0, 92, 75,254,137, 92,253, 70, 73,
+ 15, 26,168,  0,243, 80, 54,130,165,225,172,180,153,160,209,158, 91, 12, 32,132,  0, 31,193,232, 62,217,110, 38,166, 20,134,251,
+  8, 88, 70, 64,246, 19,  0,171, 13, 82,175, 50,  6,234, 93,154,199, 13,169, 15, 72,189,161, 23, 30, 92,144, 89, 95,226, 59, 28,
+211,167, 35,244,126,254,  2, 42, 32,252,252,252,  8,135,213, 18,234, 23,163,180,214, 59,128, 67,255, 12,168,211,188,192,  0,  7,
+150,137, 91,182,108,193,148, 66,171,  0,128,202,128, 21, 50,144, 33, 39, 39,247,225,195,135,218,218, 90, 96,  5, 32, 45, 45,253,
+229,203, 23,160, 32,100, 38,128,160,213,100,140,  2,189,120,241,130,114, 47, 83,197,144, 81, 64, 55,  0, 16, 64,131,226, 82,120,
+ 56,  0, 22, 97,100,152, 67,246, 10, 31, 42,246,105,  8, 30,253, 70, 70, 87,128,152,224,194,202, 38, 85, 47, 49,165, 63, 37,205,
+252,129, 74, 87, 84,137, 95,242, 12,129, 31,231,  9, 63,209, 83, 83, 83,115,222,188,121,255,192,  0, 79,251, 29,210,186,  7,170,
+  1, 22,244,144,195,224, 24,192, 51,195,116, 56, 12,110, 20, 12,111,128,117,115, 15, 64,  0,141, 94, 10, 63, 10, 70,193, 40, 24,
+  5, 35, 20,  0,  4,208,232,141, 96,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1,
+ 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0, 97,185,
+ 20, 30,249, 72,  6,228,251, 88,144,197,135,241, 37,203,200, 75, 81,225,126, 31,189,144,122,104,133, 21, 73, 26,241,219,219,218,
+218, 10, 97, 84, 87, 87,143,180,248,165,122, 80,143,230,163,  1,209,139,  7,  0,  4, 16,213,206,  2,130,156,232, 73,156, 90, 54,
+ 76,189,112, 54,218,105,160, 68,222,191, 65, 33,128, 95, 11, 12, 91, 86, 15,189, 63,143, 14, 53,240,173, 91,183,224,119, 18, 20,
+ 21, 21, 13,254, 67, 16,209,194,234,250,245,235, 12,224, 53,142, 52,181, 20,152, 12,252,  3,210, 55,110,152,137,150, 12,182,109,
+ 63,  7, 20,196,154, 48,128, 82, 88,141,242,242, 52, 34,222, 94, 96,233,239,235,171, 12,103,227,170,  3,112,129,207, 95, 62,223,
+123,118,239,219,255,111, 12,140, 12,108,255, 88,229, 68,229, 69,133, 69, 71, 91,157,163, 96,240,  0,128,  0,162,230, 97,112, 68,
+ 94,162,114,245,233,  7, 76, 65,180, 50, 23,121, 59, 34,254,226,152,200, 93, 66,120, 42, 15,136,  9,144, 18, 13,115,129, 54, 68,
+ 22,235, 98, 89,100,171,165, 21,101,129,228,203, 31, 63,254,124,255,  9,226,127,248,196,  0, 62,191,  8,223,  9, 22, 96,128,124,
+ 33,101, 95, 95, 31, 49, 23,160, 51, 49,130, 54,226, 66, 72, 32,192,202,152, 62,131, 38,149, 37,114, 88, 65,138,126,226,195,138,
+236,250, 27, 82,250,131, 11,110, 80, 29, 64,188, 81,144, 10,  3,163,  2, 32,205, 25,191,126,149,239,220,153,230,238, 62,203,215,
+183, 19,210, 27, 32,178, 26, 56,114,245,136,188,161,108,114,112,130, 32,151,224,191, 63,127,127,252,255,185,227,228,174,125,  7,
+247, 90, 41, 89,115,112,140,222,183, 51, 10,232,  7,144,239,  2, 67,203,158,  0,  1, 68,229,211, 64,209,206,197, 36,  3,144,113,
+100, 23,193,109,241,120,218,242,240, 91,136,129,108,  8,137, 38, 75,212, 65,146,  2,124,151,238,173,224,100,144,249,203,112,244,
+213,156,115, 23,239,190, 13,234,152, 79,187,232,188,116,249,138,158,174, 14,176,172,191,114,  5,196,  0,138, 64, 24,112,145,127,
+120,195,  3,255,141,143,120, 46, 13,135,132, 85, 66, 66,  2,144, 13, 33,209, 75,127,200,225, 18,216, 52, 58, 59,111, 79, 79,247,
+ 36,187, 14,  0,150,254, 96,103,207,218,184,129,112, 17, 15,215, 66,106, 89,143,217,252,  7,146,193,193,107,119,238,  4,145,105,
+105,119, 33,189,  1,130, 93,  1, 96,154,217,127,115, 95,118, 78,166,137,168, 33, 39, 63,255,255, 95,160, 83,154,152, 89,216, 84,
+ 92, 84,110, 24,223,236,152,213,105, 46, 98,  1, 57,232,109, 20,224,  1,100, 92,245, 14,217,135, 60,122, 50,  4,174,210, 31,194,
+ 69,174,  3,  0,  2,136,  5,185,107, 79, 10,155, 13,211,166, 87,175, 94,193, 79, 66,198, 83, 67, 48,176,107,224, 41,163, 25, 49,
+138,108, 98,134, 98,240, 20, 91,120,238, 18,  0, 22, 76,192, 70, 58,102,185, 15,185,148, 24, 94, 49,224,  1,192,134,255,211,247,
+ 31,215,101,  4, 11, 51, 90,223,157, 93,162, 20,168,180,155,198,165, 63, 16, 64, 10,125, 32,208,209,209,129,139, 64,250,  4,112,
+ 17, 74,218,248, 88,139,105, 72, 88, 97,150,251, 11, 22, 44,  0,134,149,167,181,225,246,163,231, 25,120,185, 25, 62,125,161,133,
+151,193,227, 57,179,112,141,234, 16,161,151,228,177, 32,248,224, 79, 90,218, 78, 32,  3, 66, 66,164,128, 12,252,117,192,153, 27,
+103,146, 83, 18,109, 85, 29,254,254,252,249,231,239, 31, 70,208,169,221,204,255, 25,254,189,124,253, 76, 83, 84,163, 42,163,170,
+165,171,197, 89,199,101,180,108,194, 83,142,223,188,121,243,217,179,103,145,145,145, 36,105,  4,234, 26,173,  0,176, 55,251,202,
+ 65, 69,217,172,206, 10, 52,113,128,  0, 66, 84,  0,240,  9, 94,180,115,249,177,138,163,157, 53,143, 92, 61, 64,142, 81, 67, 30,
+ 14, 66, 62,112, 13, 88, 67, 96, 14, 17, 96, 94,160, 65,204,208, 13, 85,192,170, 85,171, 48,139,126,200, 40,  7,164,244,  7,138,
+224,209,254,228,222,163,175,235,235,120,146, 38,  2,107,  2,113, 97,206,123,235,239,129, 74,127,  1, 62,208, 16, 16, 43, 51, 49,
+ 14,  0,  6, 23,124, 20,136,200,243, 36,128,101,189, 28, 55,195,148, 24,134,148,  5, 12,162, 92, 12,215, 63,160,139, 92, 37,226,
+198, 20,204,106,149, 96, 71,170,169,169,  9,179,232,  7, 50,186, 18,124, 38,239, 56, 33,161, 36,249,226,225, 75, 92,205,127, 32,
+  3, 79, 39,128,224,168, 14,184,165,159,142,214,222,135,148,236,196,164, 16, 74,198,130, 32,229, 62,132,252,229,171,194,182,249,
+ 14,126,245,223,190,127,227, 82,227,180,144, 52,255,249,245, 43, 11, 59, 59, 11, 11, 52,139,221,187,115,103,211,198,141, 73,137,
+  9, 10,236,114,134,246,  6, 79,174, 60,145,145,148, 25, 45,152,112, 21,253,228,233,133,104, 36,163,235, 48,188,155,255,144,210,
+ 31,194,  0,214,  1,200,157,  0,128,  0,162,230, 16, 16,176,112,135,140, 14,  3,107,  2,228, 10,  0,206,197,127,203, 10,174,169,
+ 96,130,153, 60, 44, 44,140,114,199,195, 11, 68,180,134, 63,228, 42, 74, 92,179,234,223, 25, 30,125,  9, 52,255,207, 91,194,224,
+ 82,251,133, 97, 57,195, 28, 80,145,244,127,117,  9,107,220,228, 63,127,136,186, 91, 81, 77, 77,141,212, 74,238,213, 60,134,198,
+ 25, 12,178, 50, 12, 47,183,176, 45,156,251, 43, 97,  5, 22, 17,202,199,205,240,  0,248,148,239,243, 13, 29,188,218, 28, 60,170,
+  5,171, 58, 82,244,117, 36,212,125, 90,240,132, 21,158,120,199, 63, 64,  4, 73, 12,240, 66, 28,200,133,204,253, 18, 63,124, 68,
+222, 88, 16,176,184, 71, 19,217,137,212, 15,192,  5,158,191,122,238, 22,234,198,203, 39,248,151,241,207,225,131,135, 62,127,249,
+226,235,231,247,250,213,171, 53,107,215, 37, 39, 38,176,115,176, 51,253,103,117, 55,114,159,180,127,242,104,  5, 64,173,162, 31,
+185,249, 15, 97,140, 86,  0, 68,  2,128,  0,162,242, 28,  0,176,160,135,220,238,130,124, 81, 34,228,132,100, 98,230,  6, 48,167,
+130,137, 25,  2,194,117,245, 46,241,  0,210,204,199, 28,243,193,223,252,  7,130, 29,149, 13,190,237,125,127, 92,172,129,225,200,
+115,252,206,238,187,111,129,130,127, 92,114,127, 95, 22, 97, 20,205, 34,166,236,195,223, 25,194, 10,222,  6, 44,207, 77,124,124,
+ 43,163,236,235,222, 95, 18, 34,216, 69,200,232,  1, 16, 89, 43,  0, 27,254,160,166,132,175,221,137,103,175,120,245,121,159,238,
+188,203,192,193, 30,156, 27, 39, 36,227, 67,187,100,138,185,242,135,188, 14, 34,214,225, 32, 92, 99, 65,192,226,222,125,150,123,
+240, 90,134,180,157, 32,  6,144, 75, 76, 39,224,203,143,207, 34,156,194,127,126,124,251,207,244,223,212,204,108,253,250,245, 19,
+250,250,254,253,255, 31, 29, 19, 45, 36, 44,244,237,203,151, 63,127,255,240,178,242,253,102,250, 61, 90,250, 80,171,232, 71,110,
+254, 51,128, 47,133, 31,237,  4, 16,  9,  0,  2,136,  5, 79, 97,132, 71, 28,207, 17,114,144, 97, 34,200,108, 48,100, 86,  0,210,
+ 45,  0,138, 35, 79, 39,208,162,104, 32, 27,224, 26,241, 39,120, 19,125,208,140,181,255,253, 20, 95, 90, 26,  9, 51, 88,115,  6,
+ 79,254,243,252, 53,131,  0, 31,203,219,229, 91, 38,156,101, 96,102, 38,198,241,100,156,117,124,177, 40,210,196,128, 65, 41,247,
+138, 54, 79,226, 77,249, 80,134, 41,101,152, 34,180,235,  1,  0,195,196,214, 84,221,197, 90,205, 87,183,172,119,194,244,107,103,
+159,102, 56,153,188,216,184,237,227,251, 79,100,196,  5,218,  0, 17,174,116,133,181,201, 79, 94,212, 99,154,131,181,127, 80, 93,
+ 93,221,218,218, 10, 44,253,225,149,  1,144,  4, 86,  3,192,210,127,243,230,187,144,  9,  0,200, 44,177,158, 93, 60, 90,221, 10,
+ 58,188,243, 31,195,255,127,127,216, 57, 57, 98, 98, 99, 27,235,235,197,197,197,165, 37, 36,126,124,253,242,247, 63, 80,252, 47,
+193,235, 92, 70,  1,217,205,255,209, 78,  0, 73,  0, 32,128, 88, 48,179, 19, 25, 27,193, 32,  0,114,107, 35,114, 39,  0, 82,226,
+  3, 69,224,203,198,129, 82,223,137,110,150, 18, 51,253, 75,249, 50, 80, 72, 51, 31,235, 84, 48, 65, 99,239,118,167,177,  6, 79,
+254,254,236, 22,203,241,201,191,215,230, 50,122,245,108,202, 10,121,184,233,190,111,215, 34,  6, 22, 90,221,183, 92,182,154, 97,
+103,215,122,237,135,238, 12,111,190,150,186,150, 97, 21, 33,163,  7, 64,124,243,127,227,250,  6,102,105, 45, 30,  6,181, 71,  7,
+103,125,102,252,127,234,214, 99,151, 43, 79,241,134,252, 35,216, 96,221, 76,120,137, 15,  4,123,247,122,162,201, 98, 77, 87,184,
+  6,124,200, 88, 90, 74,198,112, 16,176,249, 15, 41,250,129, 36,114,219, 31, 50, 75, 12,172, 12,208,212,243,114,242, 62,251,248,
+204, 76,193,252,251,207, 31, 12,223,127,252,249,245,187,170,188,156,145,137,225,219,215, 47,192,122,225,207,223,255,236, 44,172,
+175,191,188,102,253,203, 54, 90,250, 64,128,  4, 24, 80,101,244, 31, 14, 70, 59,  1, 68,  2,128,  0,162,102, 33,  5,175, 30,128,
+ 69, 63,176,  2,128, 12,254, 96,214, 10,251,207,127, 32,166,140, 38, 62,111, 83,178, 12, 20,222,252, 71, 43,250, 33,213, 21, 65,
+ 55, 92,188,251,246,247,229,198,151, 12, 71, 37,188,122, 24, 62,126,186, 59,171, 68, 57,179,255,197,252, 18,  6, 86, 22,  6, 38,
+ 90, 29,179,241,232, 43,131,166, 88, 32,126, 17, 26,245,  0,128,193, 18,238, 98,206,255, 79,240, 27,  3,235,218,254,220,105, 91,
+ 46,148,122,216, 36,244, 45, 11,105, 91, 76,163,233,122, 72,  5, 15,219,  7, 64, 90,173, 79,210,128, 15,214, 78, 64, 26,184,141,
+143, 92,250,195,155,255,184,128,148,152,212,142,195, 59,173,100,173,184,184,121,254,253,251,207,244,255,207, 63, 70, 70, 96,104,
+  3,219,254,127,254,253,255,243,231,207,247,143, 95,183,158,222, 42, 47, 38, 63, 90,250, 80,171, 26, 64,107,254,143,118,  2,136,
+  7,  0,  1, 68,171,141, 96,144,226, 30,185, 86, 32,242,198, 18,180,188, 77,100,177, 66,222, 50, 80,204,230, 63,241, 69, 63,116,
+  8,168, 99,254, 58,  6,  6,143,118,239,255,171, 75, 24,195,122,129,245,  1,163,144,224,157, 39,159, 64,205,127,102,102, 26,197,
+ 25,230,170,127,146,246,  1,224,169, 20,241,215, 10,144,230,127,138,131, 94, 65,207,196,202,170,114, 81, 62,177,171,215, 30, 37,
+ 92, 91, 70,235,149, 90,152,165, 54,124,232,140,184,229, 67,132,  7,124,240,  0,180,210, 31, 62,242,131,107, 54,152,131,131,131,
+229,  1,235,254,135,  7, 66,117, 67, 62,253,248,196,  8,106,  6,  0,241,191,191,127,255,255,251,243,135,155,157,247,216,199,243,
+183,143,223,113, 53,114, 29, 45,125,168, 82, 13, 96, 54,255, 71, 59,  1,196,  3,128,  0,162,230, 62,  0,204,222,  0,242, 54, 87,
+ 72, 39,128,164,198, 41, 29, 14, 99,128, 55,255,145, 23,128,  2,189,  9,175, 54,  8,110,229,133,212,  1,129,237,243,254,175,101,
+ 16, 73,152,121,160, 32,196,166,115, 41,  3, 43, 43, 55,  7,173,250,248,240,197,254,104, 12,146,246,  1,144,209,  3,128, 52,255,
+ 11,102,109,174, 74,118,147,146,112,128, 15,250, 17, 31, 86,176,178,219,211,217,121, 59,108,252,135,132,177, 59,228, 22, 61,252,
+100,  8,234, 14,248, 16,  4,200,229, 62,164, 55,128, 57,108,101,168, 97,184,121,217,230,191,225,127,236,101,237,133,121,133,127,
+252,254,  1, 12,109, 54, 22,182, 15,223,191,157,120,178,119,193,146,133,142, 90,142,163, 69, 15, 49,213,  0,145,138, 73,221, 46,
+ 48,114,128, 79, 76,237,150, 37,205,179, 58, 43,144,247,  1, 32,207,180,  1,  4, 16, 53,247,  1,160,245,  6, 48,139,123, 82,175,
+ 45, 36, 18, 80,190, 12, 20, 82,211, 64,110,217,133, 87,114, 74, 96, 64,100, 63,128,  1,182,249,203,190,106,  6,132,241,149, 54,
+ 49, 74,121,115,155,146,106, 21,216,252,119,221,115, 50,186,126, 17,208, 25,200, 93, 43,226,195,138, 90,253,  0, 82, 55,133, 81,
+ 56, 28,132, 89,250,131, 22,137, 98, 76,  0,192,129,163,158,211,193, 53,135,143,203,157,176, 54,183,150,230,149,102,248,247,255,
+245,143,183,199,206, 29,123,113,245,133,147,166, 19, 59, 59,251,104,217, 68, 76,201, 62, 26,  8,212,  2,152, 91,192, 32,  0, 32,
+128,168, 57,  4,132,185,143,  9,235,  2, 77,130,151, 80,146, 90, 66, 81,184, 12, 20,178,212,103, 15, 24,144, 84,156, 65,250, 10,
+148, 88,141, 57,150, 77,201,153, 57,116,168, 66, 92,107,102,147, 23, 86,152,157,  0,226,157,129,171,172,  7,118,  2,224,178,196,
+ 20,229,100, 12,  7,129,214,  2,165,181,186,207,114,199,186, 39,  0,255,100,128,153,182,217,183,111,223, 78,110, 60,249,229, 23,
+168, 49,192,206,196, 38, 39, 46,175,105,160, 57, 90, 24,141,  2,250,119,  2,112, 21,191,  0,  1,196, 66,255, 98,  5,255, 70, 33,
+ 82,139, 39,202, 47, 13, 39,187, 56,163,188,217, 75,135,209,115,172,195, 63,176, 19, 55,232, 23, 86,148,120,156,212,118, 58,117,
+135,131, 64,165,252, 67, 44,226, 38,213, 38,  4,245,114,113,113,233,168,234,142,150, 65,163, 96,192,235,  0, 92, 82,  0,  1, 52,
+122, 41,252, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 55,130,141,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52, 90,  1,140,
+130, 81, 48, 10, 70,193,  8,  5,  0,  1,  6,  0, 75, 49,230,209,210, 96,153,176,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
 };
index 3faf76c9e3261b8bce748d9c673924a0e779a13f..9a6ba088a23035188f030ceea145e001a2715494 100644 (file)
 #include "DNA_world_types.h"
 #include "DNA_packedFile_types.h"
 
+#include "BKE_curve.h"
 #include "BKE_depsgraph.h"
 #include "BKE_global.h"
-#include "BKE_curve.h"
+#include "BKE_key.h"
 #include "BKE_library.h"
 #include "BKE_main.h"
 #include "BKE_modifier.h"
@@ -95,6 +96,7 @@
 #include "BIF_editconstraint.h"
 #include "BIF_editdeform.h"
 #include "BIF_editfont.h"
+#include "BIF_editkey.h"
 #include "BIF_editmesh.h"
 #include "BIF_interface.h"
 #include "BIF_meshtools.h"
@@ -366,7 +368,7 @@ void do_common_editbuts(unsigned short event) // old name, is a mix of object an
        EditMesh *em = G.editMesh;
        EditFace *efa;
        Base *base;
-       Object *ob;
+       Object *ob= OBACT;
        Nurb *nu;
        Curve *cu;
        BezTriple *bezt;
@@ -411,7 +413,7 @@ void do_common_editbuts(unsigned short event) // old name, is a mix of object an
                }
                break;
        case B_MATNEW:
-               new_material_to_objectdata((G.scene->basact) ? (G.scene->basact->object) : 0);
+               new_material_to_objectdata(ob);
                scrarea_queue_winredraw(curarea);
                BIF_undo_push("New material");
                allqueue(REDRAWBUTSSHADING, 0);
@@ -528,7 +530,6 @@ void do_common_editbuts(unsigned short event) // old name, is a mix of object an
                }
                break;
        case B_AUTOTEX:
-               ob= OBACT;
                if(ob && G.obedit==0) {
                        if(ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT)) tex_space_curve(ob->data);
                }
@@ -596,10 +597,54 @@ void do_common_editbuts(unsigned short event) // old name, is a mix of object an
                break;
        case B_CHANGEDEP:
                DAG_scene_sort(G.scene); // makes new dag
-               ob= OBACT;
                if(ob) ob->recalc |= OB_RECALC;
                allqueue(REDRAWVIEW3D, 0);
                break;
+       
+       case B_ADDKEY:
+               insert_shapekey(ob);
+               break;
+       case B_SETKEY:
+               ob->shapeflag |= OB_SHAPE_TEMPLOCK;
+               DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA);
+               allqueue(REDRAWVIEW3D, 0);
+               allqueue(REDRAWIPO, 0);
+               allqueue(REDRAWBUTSEDIT, 0);
+               break;
+       case B_LOCKKEY:
+               ob->shapeflag &= ~OB_SHAPE_TEMPLOCK;
+               DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA);
+               allqueue(REDRAWVIEW3D, 0);
+               allqueue(REDRAWIPO, 0);
+               allqueue(REDRAWBUTSEDIT, 0);
+               break;
+       case B_NEXTKEY:
+       {
+               Key *key= ob_get_key(ob);
+               if(ob->shapenr == BLI_countlist(&key->block))
+                  ob->shapenr= 1;
+               else ob->shapenr++;
+               do_common_editbuts(B_SETKEY);
+               break;
+       }
+       case B_PREVKEY:
+       {
+               Key *key= ob_get_key(ob);
+               if(ob->shapenr <= 1)
+                       ob->shapenr= BLI_countlist(&key->block);
+               else ob->shapenr--;
+               do_common_editbuts(B_SETKEY);
+               break;
+       }
+       case B_NAMEKEY:
+               allspace(REMAKEIPO, 0);
+        allqueue (REDRAWIPO, 0);
+               break;
+       case B_DELKEY:
+               delete_key(OBACT);
+               break;
+               
+               
        default:
                if(event>=B_OBLAY && event<=B_OBLAY+31) {
                        local= BASACT->lay & 0xFF000000;
@@ -611,11 +656,11 @@ void do_common_editbuts(unsigned short event) // old name, is a mix of object an
                        }
                        BASACT->lay += local;
                        /* optimal redraw */
-                       if( (OBACT->lay & G.vd->lay) && (BASACT->lay & G.vd->lay) );
-                       else if( (OBACT->lay & G.vd->lay)==0 && (BASACT->lay & G.vd->lay)==0 );
+                       if( (ob->lay & G.vd->lay) && (BASACT->lay & G.vd->lay) );
+                       else if( (ob->lay & G.vd->lay)==0 && (BASACT->lay & G.vd->lay)==0 );
                        else allqueue(REDRAWVIEW3D, 0);
                        
-                       OBACT->lay= BASACT->lay;
+                       ob->lay= BASACT->lay;
                }
        }
 
@@ -1360,6 +1405,71 @@ static void editing_panel_modifiers(Object *ob)
        if(yco < 0) uiNewPanelHeight(block, 204-yco);
 }
 
+static char *make_key_menu(Key *key)
+{
+       KeyBlock *kb;
+       int index= 1;
+       char *str, item[64];
+
+       for (kb = key->block.first; kb; kb=kb->next, index++);
+       str= MEM_mallocN(index*40, "key string");
+       str[0]= 0;
+       
+       index= 1;
+       for (kb = key->block.first; kb; kb=kb->next, index++) {
+               sprintf (item,  "|%s%%x%d", kb->name, index);
+               strcat(str, item);
+       }
+       
+       return str;
+}
+
+static void editing_panel_shapes(Object *ob)
+{
+       uiBlock *block;
+       Key *key= NULL;
+       KeyBlock *kb;
+       int icon;
+       char *strp;
+       
+       block= uiNewBlock(&curarea->uiblocks, "editing_panel_shapes", UI_EMBOSS, UI_HELV, curarea->win);
+       uiNewPanelTabbed("Modifiers", "Editing");
+       if( uiNewPanel(curarea, block, "Shapes", "Editing", 640, 0, 318, 204)==0) return;
+       
+       uiDefBut(block, BUT, B_ADDKEY, "Add Shape Key" ,        10, 180, 150, 20, NULL, 0.0, 0.0, 0, 0, "Add new Shape Key");
+               
+       key= ob_get_key(ob);
+       if(key==NULL) 
+               return;
+       
+       uiDefButS(block, TOG, B_RELKEY, "Relative",             170, 180,140,20, &key->type, 0, 0, 0, 0, "Makes Shape Keys relative");
+
+       kb= BLI_findlink(&key->block, ob->shapenr-1);
+       if(kb==NULL) {
+               ob->shapenr= 1;
+               kb= key->block.first;
+       }
+
+       uiBlockBeginAlign(block);
+       if(ob->shapeflag & OB_SHAPE_LOCK) icon= ICON_PIN_HLT; else icon= ICON_PIN_DEHLT;
+       uiDefIconButBitC(block, TOG, OB_SHAPE_LOCK, B_LOCKKEY, icon, 10,150,25,20, &ob->shapeflag, 0, 0, 0, 0, "Always show the current Shape for this Object");
+       uiDefIconBut(block, BUT, B_PREVKEY, ICON_TRIA_LEFT,             35,150,20,20, NULL, 0, 0, 0, 0, "Previous Shape Key");
+       strp= make_key_menu(key);
+       uiDefButC(block, MENU, B_SETKEY, strp,                                  55,150,20,20, &ob->shapenr, 0, 0, 0, 0, "Browses existing choices or adds NEW");
+       MEM_freeN(strp);
+       uiDefIconBut(block, BUT, B_NEXTKEY, ICON_TRIA_RIGHT,    75,150,20,20, NULL, 0, 0, 0, 0, "Next Shape Key");
+       uiDefBut(block, TEX, B_NAMEKEY, "",                                             95, 150, 190, 20, kb->name, 0.0, 31.0, 0, 0, "Current Shape Key name");
+       uiDefIconBut(block, BUT, B_DELKEY, ICON_X,                              285,150,25,20, 0, 0, 0, 0, 0, "Deletes current Shape Key");
+       uiBlockEndAlign(block);
+
+       if(key->type && (ob->shapeflag & OB_SHAPE_LOCK)==0 && ob->shapenr!=1) {
+               uiBlockBeginAlign(block);
+               make_rvk_slider(block, key, ob->shapenr-1,                      10, 120, 150, 20, "Key value, when used it inserts an animation curve point");
+               uiDefButF(block, NUM, B_REDR, "Min ",                           160,120, 75, 20, &kb->slidermin, -10.0, 10.0, 100, 1, "Minumum for slider");
+               uiDefButF(block, NUM, B_REDR, "Max ",                           235,120, 75, 20, &kb->slidermax, -10.0, 10.0, 100, 1, "Maximum for slider");
+       }
+}
+
 /* *************************** FONT ******************************** */
 
 static short give_vfontnr(VFont *vfont)
@@ -3616,13 +3726,14 @@ void editing_panels()
        
        switch(ob->type) {
        case OB_MESH:
-               editing_panel_links(ob); // no editmode!
-               editing_panel_mesh_type(ob, ob->data);  // no editmode!
+               editing_panel_links(ob);
+               editing_panel_mesh_type(ob, ob->data);
                editing_panel_modifiers(ob);
+               editing_panel_shapes(ob);
                /* modes */
                if(G.obedit) {
-                       editing_panel_mesh_tools(ob, ob->data); // no editmode!
-                       editing_panel_mesh_tools1(ob, ob->data); // no editmode!
+                       editing_panel_mesh_tools(ob, ob->data);
+                       editing_panel_mesh_tools1(ob, ob->data);
                }
                else {
                        if(G.f & G_FACESELECT) {
@@ -3638,9 +3749,10 @@ void editing_panels()
        case OB_CURVE:
        case OB_SURF:
                cu= ob->data;
-               editing_panel_links(ob); // no editmode!
+               editing_panel_links(ob);
                editing_panel_curve_type(ob, cu);
                editing_panel_modifiers(ob);
+//             editing_panel_shapes(ob);
                if(G.obedit) {
                        editing_panel_curve_tools(ob, cu);
                        editing_panel_curve_tools1(ob, cu);
@@ -3649,7 +3761,7 @@ void editing_panels()
 
        case OB_MBALL:
                mb= ob->data;
-               editing_panel_links(ob); // no editmode!
+               editing_panel_links(ob);
                editing_panel_mball_type(ob, mb);
                if(G.obedit) {
                        editing_panel_mball_tools(ob, mb);
@@ -3658,7 +3770,7 @@ void editing_panels()
 
        case OB_FONT:
                cu= ob->data;
-               editing_panel_links(ob); // no editmode!
+               editing_panel_links(ob);
                editing_panel_curve_type(ob, cu);
                editing_panel_font_type(ob, cu);
 
@@ -3673,17 +3785,18 @@ void editing_panels()
 
        case OB_LATTICE:
                lt= ob->data;
-               editing_panel_links(ob); // no editmode!
+               editing_panel_links(ob);
                editing_panel_lattice_type(ob, lt);
                editing_panel_modifiers(ob);
+//             editing_panel_shapes(ob);
                break;
 
        case OB_LAMP:
-               editing_panel_links(ob); // no editmode!
+               editing_panel_links(ob);
                break;
 
        case OB_EMPTY:
-               editing_panel_links(ob); // no editmode!
+               editing_panel_links(ob);
                break;
 
        case OB_CAMERA:
index 3f98f6890992fc16690a0fb658c015400d9b9b43..44a78de6729ef43d86261a2cbee97ec619975a83 100644 (file)
@@ -65,6 +65,7 @@
 /* Everything from source (BIF, BDR, BSE) ------------------------------ */ 
 
 #include "BIF_editaction.h"
+#include "BIF_editkey.h"
 #include "BIF_interface.h"
 #include "BIF_gl.h"
 #include "BIF_glutil.h"
@@ -104,8 +105,6 @@ void do_actionbuts(unsigned short event);
 
 /* implementation ------------------------------------------------------ */
 
-extern void make_rvk_slider(uiBlock *block, Key *key, int i,
-                                                       int x, int y, int w, int h); /* editkey.c */
 extern short showsliders; /* editaction .c */
 extern short ACTWIDTH;
 
@@ -177,7 +176,7 @@ void meshactionbuts(SpaceAction *saction, Key *key)
                uiBlockSetEmboss(block, UI_EMBOSS);
                for (i=1 ; i < key->totkey ; ++ i) {
                        make_rvk_slider(block, key, i, 
-                                                       x, y, SLIDERWIDTH-2, CHANNELHEIGHT-1);
+                                                       x, y, SLIDERWIDTH-2, CHANNELHEIGHT-1, "Slider to control Shape Keys");
 
                        y-=CHANNELHEIGHT+CHANNELSKIP;
                        
index 2391e11da3bf375f77aff0de5180447581fe46b2..6864702eceec71f94fc5970b5bdfa4958ef98c5c 100644 (file)
 #include "DNA_sequence_types.h"
 #include "DNA_userdef_types.h"
 
-#include "BKE_utildefines.h"
 #include "BKE_curve.h"
-#include "BKE_ipo.h"
+#include "BKE_depsgraph.h"
 #include "BKE_global.h"
+#include "BKE_ipo.h"
 #include "BKE_key.h"
+#include "BKE_utildefines.h"
 
 #include "BIF_gl.h"
 #include "BIF_resources.h"
@@ -858,6 +859,7 @@ static void draw_ipobuts(SpaceIpo *sipo)
 {
        ScrArea *area= sipo->area;
        View2D *v2d= &sipo->v2d;
+       Object *ob= OBACT;
        uiBlock *block;
        uiBut *but;
        EditIpo *ei;
@@ -885,6 +887,15 @@ static void draw_ipobuts(SpaceIpo *sipo)
 
        ei= sipo->editipo;
        y= area->winy-30+sipo->butofs;
+       
+       if(sipo->blocktype==ID_KE) {
+               int icon;
+               if(ob->shapeflag & OB_SHAPE_LOCK) icon= ICON_PIN_HLT; else icon= ICON_PIN_DEHLT;
+               uiDefIconButBitC(block, TOG, OB_SHAPE_LOCK, B_SETKEY, icon, 
+                                                v2d->mask.xmax+18,y,25,20, &ob->shapeflag, 0, 0, 0, 0, "Always show the current Shape for this Object");
+               y-= IPOBUTY;
+       }
+       
        for(a=0; a<sipo->totipo; a++, ei++, y-=IPOBUTY) {
                // this button defines visiblity, bit zero of flag (IPO_VISIBLE)
                but= uiDefButBitS(block, TOG, IPO_VISIBLE, a+1, ei->name,  v2d->mask.xmax+18, y, IPOBUTX-15, IPOBUTY-1, &(ei->flag), 0, 0, 0, 0, "");
@@ -903,7 +914,11 @@ static void draw_ipobuts(SpaceIpo *sipo)
                
                if(sipo->blocktype==ID_KE) {
                        Key *key= (Key *)sipo->from;
-                       if(key==0 || key->type==KEY_NORMAL) break;
+                       if(key==NULL || key->type==KEY_NORMAL) break;
+                       if(a==ob->shapenr-1) {
+                               cpack(0x0);
+                               fdrawbox(v2d->mask.xmax+7,  y+1,  v2d->mask.xmax+16, y+IPOBUTY-1);
+                       }
                }
        }
        uiDrawBlock(block);
@@ -1370,16 +1385,17 @@ static void draw_key(SpaceIpo *sipo, int visible)
        View2D *v2d= &sipo->v2d;
        Key *key;
        KeyBlock *kb, *act=NULL;
+       Object *ob= OBACT;
        unsigned int col;
+       int index;
        
        key= (Key *)sipo->from;
-       if(key==0)
+       if(key==NULL)
                return;
        
        if(key->type== KEY_RELATIVE) if(visible==0) return;
        
-       kb= key->block.first;
-       while(kb) {
+       for(index=1, kb= key->block.first; kb; kb= kb->next, index++) {
                if(kb->type==KEY_LINEAR) setlinestyle(2);
                else if(kb->type==KEY_BSPLINE) setlinestyle(4);
                else setlinestyle(0);
@@ -1387,7 +1403,7 @@ static void draw_key(SpaceIpo *sipo, int visible)
                if(kb==key->refkey) col= 0x22FFFF;
                else col= 0xFFFF00;
                
-               if( (kb->flag & SELECT)==0)     col-= 0x225500;
+               if(ob->shapenr!=index) col-= 0x225500;
                else act= kb;
                
                cpack(col);
@@ -1397,7 +1413,6 @@ static void draw_key(SpaceIpo *sipo, int visible)
                glVertex2f(v2d->cur.xmax, kb->pos);
                glEnd();
                
-               kb= kb->next;
        }
        
        if(act) {
@@ -1470,6 +1485,7 @@ static void boundbox_ipo_visible(SpaceIpo *si)
 /* is used for both read and write... */
 static void ipo_editvertex_buts(uiBlock *block, SpaceIpo *si, float min, float max)
 {
+       Object *ob= OBACT;
        EditIpo *ei;
        BezTriple *bezt;
        float median[3];
@@ -1519,14 +1535,9 @@ static void ipo_editvertex_buts(uiBlock *block, SpaceIpo *si, float min, float m
                        if(key==0) return;
                        iskey= 1;
                        
-                       kb= key->block.first;
-                       while(kb) {
-                               if(kb->flag & SELECT) {
-                                       median[1]+= kb->pos;
-                                       tot++;
-                               }
-                               kb= kb->next;
-                       }
+                       kb= BLI_findlink(&key->block, ob->shapenr-1);
+                       median[1]+= kb->pos;
+                       tot++;
                }
        }
        if(tot==0) return;
@@ -1563,16 +1574,12 @@ static void ipo_editvertex_buts(uiBlock *block, SpaceIpo *si, float min, float m
                        Key *key= (Key *)G.sipo->from;
                        KeyBlock *kb;
                        
-                       if(key==0) return;
+                       if(key==NULL) return;
                        
-                       kb= key->block.first;
-                       while(kb) {
-                               if(kb->flag & SELECT) {
-                                       kb->pos+= median[1];
-                                       tot++;
-                               }
-                               kb= kb->next;
-                       }                       
+                       kb= BLI_findlink(&key->block, ob->shapenr-1);
+                       kb->pos+= median[1];
+                       tot++;
+
                        sort_keys(key);
                }
        }
@@ -1616,7 +1623,8 @@ static void ipo_editvertex_buts(uiBlock *block, SpaceIpo *si, float min, float m
 
 void do_ipobuts(unsigned short event)
 {
-
+       Object *ob= OBACT;
+       
        switch(event) {
        case B_SETSPEED:
                set_speed_editipo(hspeed);
@@ -1630,6 +1638,13 @@ void do_ipobuts(unsigned short event)
                editipo_changed(G.sipo, 1);
                allqueue(REDRAWIPO, 0);
                break;
+       case B_SETKEY:
+               ob->shapeflag &= ~OB_SHAPE_TEMPLOCK;
+               DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA);
+               allqueue(REDRAWVIEW3D, 0);
+               allqueue(REDRAWIPO, 0);
+               allqueue(REDRAWBUTSEDIT, 0);
+               break;
        }
 }
 
@@ -1730,7 +1745,6 @@ void drawipospace(ScrArea *sa, void *spacedata)
        test_editipo(); /* test if current editipo is correct, make_editipo sets v2d->cur */
 
        myortho2(v2d->cur.xmin, v2d->cur.xmax, v2d->cur.ymin, v2d->cur.ymax);
-       
  
        if(sipo->editipo) {
                
index fe5a88955061d3b309a9f16cabba193ea727cc37..b98a99c2a81cef821e52a1bd36460e32690f01f5 100644 (file)
@@ -1774,9 +1774,14 @@ static void draw_mesh_object(Base *base, int dt)
 {
        Object *ob= base->object;
        Mesh *me= ob->data;
-       int has_alpha= 0;
+       int has_alpha= 0, drawlinked= 0;
        
-       if(G.obedit && ob->data==G.obedit->data) {
+       if(G.obedit && ob!=G.obedit && ob->data==G.obedit->data) {
+               if(ob_get_key(ob));
+               else drawlinked= 1;
+       }
+       
+       if(ob==G.obedit || drawlinked) {
                int cageNeedsFree, finalNeedsFree;
                DerivedMesh *finalDM, *cageDM;
                
index d5cbdc121a8f1f27861ee7a6d8447ef95af1b54e..d8256f118cf31d43e4154b742e726e2d9cc57ffe 100644 (file)
@@ -288,8 +288,9 @@ static void remake_meshaction_ipos(Ipo *ipo)
 static void meshkey_do_redraw(Key *key)
 {
        remake_meshaction_ipos(key->ipo);
-       do_spec_key(key);
 
+       DAG_object_flush_update(G.scene, OBACT, OB_RECALC_DATA);
+       
        allspace(REMAKEIPO, 0);
        allqueue(REDRAWACTION, 0);
        allqueue(REDRAWIPO, 0);
@@ -2356,7 +2357,8 @@ void winqreadactionspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
        
 }
 
-Key *get_action_mesh_key(void) {
+Key *get_action_mesh_key(void) 
+{
        /* gets the key data from the currently selected
         * mesh/lattice. If a mesh is not selected, or does not have
         * key data, then we return NULL (currently only
index dee9b789108ac36997508744298ed6938892c1f7..cd15736c175a5bc654c46f583f7bf4daa81628fd 100644 (file)
@@ -237,7 +237,7 @@ void load_editNurb()
                cu= G.obedit->data;
 
                /* are there keys? */
-               actkey = key_get_active(cu->key);
+               actkey = ob_get_keyblock(G.obedit);
                if(actkey) {
                        /* active key: the vertices */
                        
@@ -299,7 +299,7 @@ void make_editNurb()
                        nu= nu->next;
                }
                
-               actkey = key_get_active(cu->key);
+               actkey = ob_get_keyblock(G.obedit);
                if(actkey) {
                        strcpy(G.editModeTitleExtra, "(Key) ");
                        key_to_curve(actkey, cu, &editNurb);
index 4146787e25f1a3aeebd5f00f067f9b7100dade8a..cf833b3f1d40b7a8f5dcbb69e620573684753bad 100644 (file)
@@ -185,7 +185,8 @@ char *ac_ic_names[AC_TOTNAM] = {"LocX", "LocY", "LocZ", "SizeX", "SizeY",
                                                  "SizeZ", "QuatW", "QuatX", "QuatY", "QuatZ"};
 char *ic_name_empty[1] ={ "" };
 
-char *getname_ac_ei(int nr) {
+char *getname_ac_ei(int nr) 
+{
        switch(nr) {
        case AC_LOC_X:
        case AC_LOC_Y:
@@ -294,18 +295,6 @@ char *getname_snd_ei(int nr)
        return ic_name_empty[0];
 }
 
-IpoCurve *find_ipocurve(Ipo *ipo, int adrcode)
-{
-       if(ipo) {
-               IpoCurve *icu= ipo->curve.first;
-               while(icu) {
-                       if(icu->adrcode==adrcode) return icu;
-                       icu= icu->next;
-               }
-       }
-       return NULL;
-}
-
 void boundbox_ipocurve(IpoCurve *icu)
 {
        BezTriple *bezt;
@@ -490,7 +479,6 @@ void editipo_changed(SpaceIpo *si, int doredraw)
                        allqueue(REDRAWNLA, 0);
                }
                else if(si->blocktype==ID_KE) {
-                       do_spec_key((Key *)si->from);
                        DAG_object_flush_update(G.scene, OBACT, OB_RECALC_DATA);
                        allqueue(REDRAWVIEW3D, 0);
                }
@@ -613,7 +601,7 @@ Ipo *get_ipo_to_edit(ID **from)
        }
        else if(G.sipo->blocktype==ID_KE) {
                if(ob) {
-                       Key *key= give_current_key(ob);
+                       Key *key= ob_get_key(ob);
                        *from= (ID *)key;
                        if(key) return key->ipo;
                }
@@ -657,14 +645,16 @@ unsigned int ipo_rainbow(int cur, int tot)
 
        dfac= (float)(1.0/( (float)tot+1.0));
 
-       /* this calculation makes 2 different cycles of rainbow colors */
-       if(cur< tot/2) fac= (float)(cur*2.0*dfac);
-       else fac= (float)((cur-tot/2)*2.0*dfac +dfac);
+       /* this calculation makes 2 or 4 different cycles of rainbow colors */
+       if(cur< tot/2) fac= (float)(cur*2.0f*dfac);
+       else fac= (float)((cur-tot/2)*2.0f*dfac +dfac);
+       if(tot > 32) fac= fac*1.95f;
+       if(fac>1.0f) fac-= 1.0f;
        
-       if(fac>0.5 && fac<0.8) sat= (float)0.4;
-       else sat= 0.5;
+       if(fac>0.5f && fac<0.8f) sat= 0.4f;
+       else sat= 0.5f;
        
-       return hsv_to_cpack(fac, sat, 1.0);
+       return hsv_to_cpack(fac, sat, 1.0f);
 }              
 
 void make_ob_editipo(Object *ob, SpaceIpo *si)
@@ -774,20 +764,30 @@ void make_key_editipo(SpaceIpo *si)
        int a;
        char *name;
        
-       ei= si->editipo= MEM_callocN(KEY_TOTIPO*sizeof(EditIpo), "editipo");
-       
-       si->totipo= KEY_TOTIPO;
-       
        key= (Key *)G.sipo->from;
-       if(key) kb= key->block.first;
+       if(key==NULL) return;
+       
+       si->totipo= BLI_countlist(&key->block);
+       ei= si->editipo= MEM_callocN(si->totipo*sizeof(EditIpo), "editipo");
        
-       for(a=0; a<KEY_TOTIPO; a++, ei++) {
-               if(kb && kb->name[0] != 0) strncpy(ei->name, kb->name, 32);     // length both same
+       for(a=0; a<si->totipo; a++, ei++) {
+               /* we put refkey first, the rest in order of list */
+               if(a==0) kb= key->refkey;
+               else {
+                       if(a==1) 
+                               kb= key->block.first;
+                       else 
+                               kb= kb->next;
+                       if(kb==key->refkey)
+                               kb= kb->next;
+               }
+
+               if(kb->name[0] != 0) strncpy(ei->name, kb->name, 31);   // length both same
                else {
-                       name = getname_key_ei(key_ar[a]);
+                       name = getname_key_ei(kb->adrcode);
                        strcpy(ei->name, name);
                }
-               ei->adrcode= key_ar[a];
+               ei->adrcode= kb->adrcode;
                
                ei->col= ipo_rainbow(a, KEY_TOTIPO);
                
@@ -796,8 +796,6 @@ void make_key_editipo(SpaceIpo *si)
                        ei->flag= ei->icu->flag;
                }
                else if(a==0) ei->flag |= IPO_VISIBLE;
-                
-               if(kb) kb= kb->next;
        }
        
        ei= si->editipo;
@@ -1088,7 +1086,7 @@ void make_editipo()
 
        if(G.sipo->editipo)
                MEM_freeN(G.sipo->editipo);
-       G.sipo->editipo= 0;
+       G.sipo->editipo= NULL;
        G.sipo->totipo= 0;
        ob= OBACT;
 
@@ -1412,8 +1410,6 @@ void swap_selectall_editipo()
        BezTriple *bezt;
        int a, b; /*  , sel=0; */
        
-       deselectall_key();
-
        get_status_editipo();
 
        if(G.sipo->showkey) {
@@ -1514,8 +1510,6 @@ void deselectall_editipo()
        BezTriple *bezt;
        int a, b; /*  , sel=0; */
        
-       deselectall_key();
-
        get_status_editipo();
        
        if(G.sipo->showkey) {
@@ -2455,12 +2449,12 @@ void ipo_snap(short event)
 void mouse_select_ipo()
 {
        Object *ob;
+       Key *key;
+       KeyBlock *kb, *actkb=NULL, *curkb;
        EditIpo *ei, *actei= 0;
        IpoCurve *icu;
        IpoKey *ik, *actik;
        BezTriple *bezt;
-       Key *key;
-       KeyBlock *kb, *actkb=0;
        float x, y, dist, mindist;
        int a, oldflag = 0, hand, ok;
        short mval[2], xo, yo;
@@ -2539,9 +2533,12 @@ void mouse_select_ipo()
        else {
                
                /* vertex keys ? */
-               
                if(G.sipo->blocktype==ID_KE && G.sipo->from) {
+                       int i, index= 1;
+                       
                        key= (Key *)G.sipo->from;
+                       ob= OBACT;
+                       curkb= BLI_findlink(&key->block, ob->shapenr-1);
                        
                        ei= G.sipo->editipo;
                        if(key->type==KEY_NORMAL || (ei->flag & IPO_VISIBLE)) {
@@ -2551,36 +2548,38 @@ void mouse_select_ipo()
                                /* how much is 20 pixels? */
                                mindist= (float)(20.0*(G.v2d->cur.ymax-G.v2d->cur.ymin)/(float)curarea->winy);
                                
-                               kb= key->block.first;
-                               while(kb) {
+                               for(i=1, kb= key->block.first; kb; kb= kb->next, i++) {
                                        dist= (float)(fabs(kb->pos-y));
-                                       if(kb->flag & SELECT) dist+= (float)0.01;
+                                       if(kb==curkb) dist+= (float)0.01;
                                        if(dist < mindist) {
                                                actkb= kb;
                                                mindist= dist;
+                                               index= i;
                                        }
-                                       kb= kb->next;
                                }
                                if(actkb) {
                                        ok= TRUE;
-                                       if(G.obedit && (actkb->flag & 1)==0) {
+                                       if(G.obedit && actkb!=curkb) {
                                                ok= okee("Copy key after leaving Edit Mode");
                                        }
                                        if(ok) {
                                                /* also does all keypos */
                                                deselectall_editipo();
                                                
-                                               actkb->flag |= 1;
+                                               ob->shapenr= index;
+                                               ob->shapeflag |= OB_SHAPE_TEMPLOCK;
                                                
                                                /* calc keypos */
-                                               showkeypos((Key *)G.sipo->from, actkb);
+                                               DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA);
+                                               allqueue(REDRAWVIEW3D, 0);
+                                               allqueue(REDRAWBUTSEDIT, 0);
                                        }
                                }
                        }
                }
                        
                /* select curve */
-               if(actkb==0) {
+               if(actkb==NULL) {
                        if(totipo_vis==1) {
                                ei= G.sipo->editipo;
                                for(a=0; a<G.sipo->totipo; a++, ei++) {
@@ -2628,7 +2627,7 @@ void mouse_select_ipo()
                getmouseco_areawin(mval);
                if(abs(mval[0]-xo)+abs(mval[1]-yo) > 4) {
                        
-                       if(actkb) move_keys();
+                       if(actkb) move_keys(OBACT);
                        else transform_ipo('g');
                        
                        return;
@@ -3049,8 +3048,6 @@ void setipotype_ipo(Ipo *ipo, int code)
 void set_ipotype()
 {
        EditIpo *ei;
-       Key *key;
-       KeyBlock *kb;
        int a;
        short event;
 
@@ -3059,22 +3056,20 @@ void set_ipotype()
        get_status_editipo();
        
        if(G.sipo->blocktype==ID_KE && totipo_edit==0 && totipo_sel==0) {
-               key= (Key *)G.sipo->from;
-               if(key==0) return;
+               Key *key= (Key *)G.sipo->from;
+               Object *ob= OBACT;
+               KeyBlock *kb;
+               
+               if(key==NULL) return;
+               kb= BLI_findlink(&key->block, ob->shapenr-1);
                
                event= pupmenu("Key Type %t|Linear %x1|Cardinal %x2|B Spline %x3");
                if(event < 1) return;
-               
-               kb= key->block.first;
-               while(kb) {
-                       if(kb->flag & SELECT) {
-                               kb->type= 0;
-                               if(event==1) kb->type= KEY_LINEAR;
-                               if(event==2) kb->type= KEY_CARDINAL;
-                               if(event==3) kb->type= KEY_BSPLINE;
-                       }
-                       kb= kb->next;
-               }
+
+               kb->type= 0;
+               if(event==1) kb->type= KEY_LINEAR;
+               if(event==2) kb->type= KEY_CARDINAL;
+               if(event==3) kb->type= KEY_BSPLINE;
        }
        else {
                event= pupmenu("Ipo Type %t|Constant %x1|Linear %x2|Bezier %x3");
@@ -3190,7 +3185,8 @@ void del_ipo()
        if(G.sipo->ipo && G.sipo->ipo->id.lib) return;
        
        if(totipo_edit==0 && totipo_sel==0 && totipo_vertsel==0) {
-               delete_key();
+               if(okee("Erase selected keys"))
+                  delete_key(OBACT);
                return;
        }
        
@@ -3914,15 +3910,7 @@ void common_insertkey()
                if(event== -1) return;
                
                if(event==7) { // ob != NULL
-                       if(ob->type==OB_MESH) insert_meshkey(ob->data, 0);
-                       else if ELEM(ob->type, OB_CURVE, OB_SURF) insert_curvekey(ob->data);
-                       else if(ob->type==OB_LATTICE) insert_lattkey(ob->data);
-                       
-                       allqueue(REDRAWIPO, 0);
-                       allqueue(REDRAWACTION, 0);
-                       allqueue(REDRAWNLA, 0);
-                       allqueue(REDRAWBUTSOBJECT, 0);
-                       allqueue(REDRAWBUTSEDIT, 0);
+                       insert_shapekey(ob);
                        return;
                }
                
@@ -4761,7 +4749,7 @@ void transform_ipo(int mode)
        }
 
        if(tot==0) {
-               if(totipo_edit==0) move_keys();
+               if(totipo_edit==0) move_keys(OBACT);
                return;
        }
 
index 41d5592f77e9ce2399a1c353e115b37272d0ae8f..4115aca797911b3b5c8d30fe34a054a04aaf176e 100644 (file)
  */
 
 #include <math.h>
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
+#include <string.h>
 
 #ifndef WIN32
 #include <unistd.h>
 #else
 #include <io.h>
 #endif   
+
 #include "MEM_guardedalloc.h"
 
 #include "BLI_blenlib.h"
 
 extern ListBase editNurb; /* in editcurve.c */
 
-
-/* local prototypes ------------------ */
-void make_rvk_slider(uiBlock *, Key *, int , int , int , int , int );  /* used in drawaction.c too */
-
 /* temporary storage for slider values */
 float meshslidervals[64] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
@@ -157,13 +151,14 @@ static void rvk_slider_func(void *voidkey, void *voidkeynum)
         */
        IpoCurve  *icu=NULL;
        BezTriple *bezt=NULL;
-       Key       *key = (Key *) voidkey;
-       float     cfra, rvkval;
-       int       *keynum = (int *) voidkeynum;
+       Key *key = (Key *) voidkey;
+       Object *ob= OBACT;
+       float cfra, rvkval;
+       int keynum = (int) voidkeynum;
 
        cfra = frame_to_float(CFRA);
 
-       icu = get_key_icu(key, *keynum);
+       icu = get_key_icu(key, keynum);
 
        if (icu) {
                /* if the ipocurve exists, try to get a bezier
@@ -175,18 +170,17 @@ static void rvk_slider_func(void *voidkey, void *voidkeynum)
                /* create an IpoCurve if one doesn't already
                 * exist.
                 */
-               icu = get_ipocurve(key->from, GS(key->from->name), 
-                                                  *keynum, key->ipo);
+               icu = get_ipocurve(key->from, GS(key->from->name), keynum, key->ipo);
        }
        
        /* create the bezier triple if one doesn't exist,
         * otherwise modify it's value
         */
        if (!bezt) {
-               insert_vert_ipo(icu, cfra, meshslidervals[*keynum]);
+               insert_vert_ipo(icu, cfra, meshslidervals[keynum]);
        }
        else {
-               bezt->vec[1][1] = meshslidervals[*keynum];
+               bezt->vec[1][1] = meshslidervals[keynum];
        }
 
        /* make sure the Ipo's are properly process and
@@ -195,11 +189,10 @@ static void rvk_slider_func(void *voidkey, void *voidkeynum)
        sort_time_ipocurve(icu);
        testhandles_ipocurve(icu);
 
-       key->flag &= ~KEY_LOCKED;
        do_ipo(key->ipo);
-       do_spec_key(key);
        
-       DAG_object_flush_update(G.scene, OBACT, OB_RECALC_DATA);
+       ob->shapeflag &= ~OB_SHAPE_TEMPLOCK;
+       DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA);
        
        allqueue (REDRAWVIEW3D, 0);
        allqueue (REDRAWACTION, 0);
@@ -208,7 +201,8 @@ static void rvk_slider_func(void *voidkey, void *voidkeynum)
 
 }
 
-static float getrvkval(Key *key, int keynum) {
+static float getrvkval(Key *key, int keynum) 
+{
        /* get the value of the rvk from the
         * ipo curve at the current time -- return 0
         * if no ipo curve exists
@@ -232,27 +226,15 @@ static float getrvkval(Key *key, int keynum) {
 }
 
 void make_rvk_slider(uiBlock *block, Key *key, int keynum,
-                                        int x, int y, int w, int h)
+                                        int x, int y, int w, int h, char *tip)
 {
        /* create a slider for the rvk */
        uiBut         *but;
        KeyBlock   *kb;
        float min, max;
        int i;
-
-       /* dang, need to pass a pointer to int to uiButSetFunc
-        * that is on the heap, not the stack ... hence this
-        * kludgy static array
-        */
-       static int keynums[] = {0,1,2,3,4,5,6,7,
-                                                       8,9,10,11,12,13,14,15,
-                                                       16,17,18,19,20,21,22,23,
-                                                       24,25,26,27,28,29,30,31,
-                                                       32,33,34,35,36,37,38,39,
-                                                       40,41,42,43,44,45,46,47,
-                                                       48,49,50,51,52,53,54,55,
-                                                       56,57,58,59,60,61,62,63};
-
+       
+       /* global array */
        meshslidervals[keynum] = getrvkval(key, keynum);
 
        kb= key->block.first;
@@ -271,9 +253,9 @@ void make_rvk_slider(uiBlock *block, Key *key, int keynum,
 
        but=uiDefButF(block, NUMSLI, REDRAWVIEW3D, "",
                                  x, y , w, h,
-                                 meshslidervals+keynum, min, max, 10, 2,
-                                 "Slider to control rvk");
-       uiButSetFunc(but, rvk_slider_func, key, keynums+keynum);
+                                 meshslidervals+keynum, min, max, 10, 2, tip);
+       
+       uiButSetFunc(but, rvk_slider_func, key, (void *)keynum);
        // no hilite, the winmatrix is not correct later on...
        uiButSetFlag(but, UI_NO_HILITE);
 
@@ -352,60 +334,57 @@ void key_to_mesh(KeyBlock *kb, Mesh *me)
        }
 }
 
+static KeyBlock *add_keyblock(Key *key)
+{
+       KeyBlock *kb;
+       float curpos= -0.1;
+       int tot;
+       
+       kb= key->block.last;
+       if(kb) curpos= kb->pos;
+       
+       kb= MEM_callocN(sizeof(KeyBlock), "Keyblock");
+       BLI_addtail(&key->block, kb);
+       kb->type= KEY_CARDINAL;
+       tot= BLI_countlist(&key->block);
+       if(tot==1) strcpy(kb->name, "Basis");
+       else sprintf(kb->name, "Key %d", tot-1);
+       
+       key->totkey++;
+       if(key->totkey==1) key->refkey= kb;
+       
+       if(key->type == KEY_RELATIVE) 
+               kb->pos= curpos+0.1;
+       else {
+               curpos= bsystem_time(0, 0, (float)CFRA, 0.0);
+               if(calc_ipo_spec(key->ipo, KEY_SPEED, &curpos)==0) {
+                       curpos /= 100.0;
+               }
+               kb->pos= curpos;
+               
+               sort_keys(key);
+       }
+       return kb;
+}
 
-
-void insert_meshkey(Mesh *me, short offline)
+void insert_meshkey(Mesh *me, short rel)
 {
        Key *key;
-       KeyBlock *kb, *kkb;
-       float curpos;
-       short rel;
+       KeyBlock *kb;
 
-       if(me->key==0) {
+       if(me->key==NULL) {
                me->key= add_key( (ID *)me);
 
-               if (!offline) /* interactive */
-                       rel = pupmenu("Insert Vertex Keys %t|"
-                                                                               "Relative Keys %x1|Absolute Keys %x2");
-               else /* we were called from a script */
-                       rel = offline;
-
-               switch (rel) {
-               case 1:
+               if(rel)
                        me->key->type = KEY_RELATIVE;
-                       break;
-               default:
+               else
                        default_key_ipo(me->key);
-                       break;
-               }
        }
        key= me->key;
        
-       kb= MEM_callocN(sizeof(KeyBlock), "Keyblock");
-       BLI_addtail(&key->block, kb);
-       kb->type= KEY_CARDINAL;
-       
-       curpos= bsystem_time(0, 0, (float)CFRA, 0.0);
-       if(calc_ipo_spec(me->key->ipo, KEY_SPEED, &curpos)==0) {
-               curpos /= 100.0;
-       }
-       kb->pos= curpos;
-       
-       key->totkey++;
-       if(key->totkey==1) key->refkey= kb;
+       kb= add_keyblock(key);
        
        mesh_to_key(me, kb);
-       
-       sort_keys(me->key);
-
-       /* curent active: */
-       kkb= key->block.first;
-       while(kkb) {
-               kkb->flag &= ~SELECT;
-               if(kkb==kb) kkb->flag |= SELECT;
-               
-               kkb= kkb->next;
-       }
 }
 
 /* ******************** */
@@ -449,43 +428,21 @@ void key_to_latt(KeyBlock *kb, Lattice *lt)
        
 }
 
-void insert_lattkey(Lattice *lt)
+/* exported to python... hrms, should not, use object levels! (ton) */
+void insert_lattkey(Lattice *lt, short rel)
 {
        Key *key;
-       KeyBlock *kb, *kkb;
-       float curpos;
+       KeyBlock *kb;
        
-       if(lt->key==0) {
+       if(lt->key==NULL) {
                lt->key= add_key( (ID *)lt);
                default_key_ipo(lt->key);
        }
        key= lt->key;
        
-       kb= MEM_callocN(sizeof(KeyBlock), "Keyblock");
-       BLI_addtail(&key->block, kb);
-       kb->type= KEY_CARDINAL;
-       
-       curpos= bsystem_time(0, 0, (float)CFRA, 0.0);
-       if(calc_ipo_spec(lt->key->ipo, KEY_SPEED, &curpos)==0) {
-               curpos /= 100.0;
-       }
-       kb->pos= curpos;
-       
-       key->totkey++;
-       if(key->totkey==1) key->refkey= kb;
+       kb= add_keyblock(key);
        
        latt_to_key(lt, kb);
-       
-       sort_keys(lt->key);
-
-       /* curent active: */
-       kkb= key->block.first;
-       while(kkb) {
-               kkb->flag &= ~SELECT;
-               if(kkb==kb) kkb->flag |= SELECT;
-               
-               kkb= kkb->next;
-       }
 }
 
 /* ******************************** */
@@ -592,193 +549,115 @@ void key_to_curve(KeyBlock *kb, Curve  *cu, ListBase *nurb)
 }
 
 
-
-void insert_curvekey(Curve *cu) /* must be fixed for non-UI use when bpy support is added.
-                                  see insert_meshkey. and fix callers to this of course.  */
+void insert_curvekey(Curve *cu, short rel) 
 {
        Key *key;
-       KeyBlock *kb, *kkb;
-       float curpos;
-       short rel;
+       KeyBlock *kb;
        
-       if(cu->key==0) {
+       if(cu->key==NULL) {
                cu->key= add_key( (ID *)cu);
-               rel = pupmenu("Insert Vertex Keys %t|"
-                             "Relative Keys %x1|Absolute Keys %x2");
 
-               switch (rel) {
-               case 1: cu->key->type = KEY_RELATIVE;
-                       break;
-               default:
+               if (rel)
+                       cu->key->type = KEY_RELATIVE;
+               else
                        default_key_ipo(cu->key);
-                       break;
-               }
        }
        key= cu->key;
        
-       kb= MEM_callocN(sizeof(KeyBlock), "Keyblock");
-       BLI_addtail(&key->block, kb);
-     &nbs