diff --git a/Common/ListUtils.cpp b/Common/ListUtils.cpp index 3d11ef1b2bdc3a8e216d8cfdd8e45b85165b78c3..7125a3526afd1b06839c738bcbe4fc0e57bac3f3 100644 --- a/Common/ListUtils.cpp +++ b/Common/ListUtils.cpp @@ -269,6 +269,22 @@ void List_Merge(List_T * a, List_T * b) } } +void List_Remove (List_T *a, int i){ + memcpy(&a->array[i*a->size], &a->array[(i+1)*a->size],a->size*(a->n-i-1)); + a->n--; +} + +//insert a in b before i +void List_Insert_In_List (List_T *a, int i, List_T *b){ + int oldn=b->n; + b->n+=a->n; + List_Realloc(b,b->n); + for(int j=0;j<oldn-i;j++) + memcpy(List_Pointer_Fast(b,b->n-j-1),List_Pointer_Fast(b,oldn-j-1),b->size); + for(int j=0;j<a->n;j++) + memcpy(List_Pointer_Fast(b,oldn+j),List_Pointer_Fast(a,j),b->size); +} + void swap_bytes(char *array, int size, int n) { int i, c; diff --git a/Common/ListUtils.h b/Common/ListUtils.h index 4cf10a27fa0053df9335bf4a7760806fca2980a1..48518b5e71359647c3ef34d66c8b84a3d57a9bac 100644 --- a/Common/ListUtils.h +++ b/Common/ListUtils.h @@ -47,6 +47,9 @@ void List_Copy(List_T *a , List_T *b); void List_Merge(List_T *a , List_T *b); List_T *List_CreateFromFile(int n, int incr, int size, FILE *file, int format, int swap); void List_WriteToFile(List_T *liste, FILE *file, int format); +void List_Remove (List_T *a, int i); +//insert a in b before i +void List_Insert_In_List (List_T *a, int i, List_T *b); // for backward compatibility List_T *List_CreateFromFileOld(int n, int incr, int size, FILE *file, int format, int swap); diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index f1ae67e96495ad0ac1d53ca41f2b9c792f86bac7..417a00190f0165764e7cd7f58ea469a98025337d 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -3095,6 +3095,57 @@ void geometry_elementary_add_new_cb(CALLBACK_ARGS) else Msg::Error("Unknown entity to create: %s", str.c_str()); } +static void _split_selection(){ + opt_geometry_lines(0, GMSH_SET | GMSH_GUI, 1); + Draw(); + Msg::StatusBar(3, false, "Select a line to split\n" + "[Press 'q' to abort]"); + std::vector<GVertex*> vertices; + std::vector<GEdge*> edges; + std::vector<GFace*> faces; + std::vector<GRegion*> regions; + std::vector<MElement*> elements; + GEdge* edge_to_split=NULL; + while(1){ + char ib = SelectEntity(2, vertices, edges, faces, regions, elements); + if(ib=='q') + break; + if(!edges.empty()){ + edge_to_split=edges[0]; + HighlightEntity(edges[0]); + break; + } + } + Msg::StatusBar(3, false, ""); + if(edges.empty()) + return; + List_T *List1 = List_Create(5, 5, sizeof(int)); + Msg::StatusBar(3, false, "Select break points\n" + "[Press 'e' to end selection or 'q' to abort]"); + opt_geometry_points(0, GMSH_SET | GMSH_GUI, 1); + Draw(); + while(1){ + char ib = SelectEntity(1, vertices, edges, faces, regions, elements); + if(ib=='q') + break; + if(ib=='e'){ + split_edge(edge_to_split->tag(),List1,CTX.filename); + break; + } + if(!vertices.empty()){ + for(int i=0;i<vertices.size();i++){ + int tag = vertices[i]->tag(); + int index = List_ISearchSeq(List1, &tag, fcmp_int); + if(index < 0) List_Add(List1, &tag); + HighlightEntity(vertices[i]); + } + } + } + Msg::StatusBar(3, false, ""); + WID->reset_visibility(); + ZeroHighlight(); + Draw(); +} static void _action_point_line_surface_volume(int action, int mode, const char *what) { @@ -3305,6 +3356,7 @@ static void _action_point_line_surface_volume(int action, int mode, const char * case 9: add_recosurf(List1, CTX.filename); break; + default: Msg::Error("Unknown action on selected entities"); break; @@ -3441,6 +3493,15 @@ void geometry_elementary_delete_cb(CALLBACK_ARGS) _action_point_line_surface_volume(6, 0, (const char*)data); } +void geometry_elementary_split_cb(CALLBACK_ARGS) +{ + if(!data){ + WID->set_context(menu_geometry_elementary_split, 0); + return; + } + _split_selection(); +} + void geometry_elementary_coherence_cb(CALLBACK_ARGS) { coherence(CTX.filename); diff --git a/Fltk/Callbacks.h b/Fltk/Callbacks.h index e632e181f2c0343f093620f0fa946f82d5c186c9..363b57fc54bb111f9e55a875edeae053f4a3cb09 100644 --- a/Fltk/Callbacks.h +++ b/Fltk/Callbacks.h @@ -199,6 +199,7 @@ void geometry_elementary_add_rotate_cb(CALLBACK_ARGS); void geometry_elementary_add_scale_cb(CALLBACK_ARGS); void geometry_elementary_add_symmetry_cb(CALLBACK_ARGS); void geometry_elementary_delete_cb(CALLBACK_ARGS); +void geometry_elementary_split_cb(CALLBACK_ARGS); void geometry_elementary_translate_cb(CALLBACK_ARGS); void geometry_elementary_rotate_cb(CALLBACK_ARGS); void geometry_elementary_scale_cb(CALLBACK_ARGS); diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index fe3daa04a78a3dcdacf5add16e64c50895b7bb1f..5f4b716a3355281e109ad003d67faa2d196e2c48 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -151,6 +151,7 @@ Context_Item menu_geometry[] = { {"Delete", (Fl_Callback *)geometry_elementary_delete_cb, (void*)0} , {"Translate", (Fl_Callback *)geometry_elementary_translate_cb, (void*)0} , {"Rotate", (Fl_Callback *)geometry_elementary_rotate_cb, (void*)0} , + {"Split", (Fl_Callback *)geometry_elementary_split_cb, (void*)0} , {"Scale", (Fl_Callback *)geometry_elementary_scale_cb, (void*)0} , {"Symmetry", (Fl_Callback *)geometry_elementary_symmetry_cb, (void*)0} , {"Extrude", (Fl_Callback *)geometry_elementary_extrude_cb, (void*)0} , @@ -220,6 +221,11 @@ Context_Item menu_geometry[] = { {"Volume", (Fl_Callback *)geometry_elementary_delete_cb, (void*)"Volume"} , {0} }; + Context_Item menu_geometry_elementary_split[] = { + {"0Geometry>Elementary>Split",NULL}, + {"Line",(Fl_Callback *)geometry_elementary_split_cb,(void*)"Line"}, + {0} + }; Context_Item menu_geometry_elementary_translate[] = { {"0Geometry>Elementary>Translate", NULL} , {"Point", (Fl_Callback *)geometry_elementary_translate_cb, (void*)"Point"} , diff --git a/Fltk/GUI.h b/Fltk/GUI.h index 46474fb4caf975ace748a88a6771402a61c11e37..ef919c40b06f278bdbe79c61b23cda4610769e09 100644 --- a/Fltk/GUI.h +++ b/Fltk/GUI.h @@ -74,6 +74,7 @@ extern Context_Item menu_geometry_elementary_extrude[]; extern Context_Item menu_geometry_elementary_extrude_translate[]; extern Context_Item menu_geometry_elementary_extrude_rotate[]; extern Context_Item menu_geometry_elementary_delete[]; +extern Context_Item menu_geometry_elementary_split[]; extern Context_Item menu_geometry_physical[]; extern Context_Item menu_geometry_physical_add[]; extern Context_Item menu_mesh[]; diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp index 841a01c9c02d6fa38d17ae991cc5bf4a0d5cff5f..6edd562171581ad9ce68cefa79764cc618c64a62 100644 --- a/Geo/Geo.cpp +++ b/Geo/Geo.cpp @@ -2948,6 +2948,112 @@ bool ProjectPointOnSurface(Surface *s, Vertex &p, double u[2]) return true; } +// Split line + +static Curve *_create_splitted_curve(Curve *c,List_T *nodes){ + int beg, end; + List_Read(nodes,0,&beg); + List_Read(nodes,List_Nbr(nodes)-1,&end); + int id=NEWLINE(); + Curve *cnew=NULL; + switch(c->Typ){ + case MSH_SEGM_LINE: + cnew = Create_Curve(id, c->Typ, 1, nodes, NULL, -1, -1, 0., 1.); + break; + case MSH_SEGM_SPLN: + cnew = Create_Curve(id, c->Typ, 3, nodes, NULL, -1, -1, 0., 1.); + break; + case MSH_SEGM_BSPLN: + cnew = Create_Curve(id, c->Typ, 2, nodes, NULL, -1, -1, 0., 1.); + break; + default : //should never reach this point... + Msg::Error("Cannot split a curve with type %i.\n",c->Typ); + return NULL; + } + Tree_Add(GModel::current()->getGEOInternals()->Curves, &cnew); + CreateReversedCurve(cnew); + return cnew; +} + +bool SplitCurve(int line_id, List_T *vertices_id, List_T *shapes){ + Curve *c=FindCurve(line_id); + if(!c){ + Msg::Error("Curve %i does not exists.",line_id); + return false; + } + switch (c->Typ){ + case MSH_SEGM_LINE: + case MSH_SEGM_SPLN: + case MSH_SEGM_BSPLN: + break; + default: + Msg::Error("Cannot split curve %i with type %i.",line_id,c->Typ); + return false; + } + std::set<int>v_break; + for(int i=0;i<List_Nbr(vertices_id);i++){ + int id; + List_Read(vertices_id,i,&id); + v_break.insert((int)id); + } + bool is_periodic=c->beg==c->end; + bool first_periodic=true; + bool last_periodic=false; + List_T *new_list=List_Create(1,List_Nbr(c->Control_Points)/10,sizeof(int)); + Vertex *pv; + for (int i=0;i<List_Nbr(c->Control_Points);i++){ + List_Read(c->Control_Points,i,&pv); + List_Add(new_list,&pv->Num); + if(v_break.find(pv->Num)!=v_break.end() && List_Nbr(new_list)>1){ + if(last_periodic) + break; + if(!(is_periodic&&first_periodic)){ + Curve *cnew=_create_splitted_curve(c,new_list); + List_Add(shapes,&cnew); + } + first_periodic=false; + List_Reset(new_list); + List_Add(new_list,&pv->Num); + } + if(i==(List_Nbr(c->Control_Points)-1) && is_periodic && ! first_periodic){ + i=0; + last_periodic=true; + } + } + Curve *cnew=_create_splitted_curve(c,new_list); + List_Add(shapes,&cnew); + //replace original curve by the new curves in all surfaces + //(and for the opposite curve) + List_T *rshapes=List_Create(2,1,sizeof(Shape)); + int N=List_Nbr(shapes); + for(int i=0;i<List_Nbr(shapes);i++){ + Curve *cc,*rcc; + List_Read(shapes,N-i-1,&cc); + rcc=FindCurve(-cc->Num); + List_Add(rshapes,&rcc); + } + List_T *Surfs = Tree2List(GModel::current()->getGEOInternals()->Surfaces); + for(int i = 0; i < List_Nbr(Surfs); i++) { + Surface *s; + List_Read(Surfs, i, &s); + for(int j = 0; j < List_Nbr(s->Generatrices); j++) { + Curve *surface_curve; + List_Read(s->Generatrices,j,&surface_curve); + if(surface_curve->Num==c->Num){ + List_Remove(s->Generatrices,j); + List_Insert_In_List(shapes,j,s->Generatrices); + }else if(surface_curve->Num==-c->Num){ + List_Remove(s->Generatrices,j); + List_Insert_In_List(rshapes,j,s->Generatrices); + } + } + } + List_Delete(Surfs); + DeleteShape(c->Typ,c->Num); + List_Delete(new_list); + List_Delete(rshapes); +} + // Intersect a curve with a surface static void intersectCS(int N, double x[], double res[]) diff --git a/Geo/Geo.h b/Geo/Geo.h index 054a069457485b33ac45e627c9ffba03da5cd39c..7bd96d7cd5e1cc2d628013b90f048f8eb66c32df 100644 --- a/Geo/Geo.h +++ b/Geo/Geo.h @@ -277,6 +277,7 @@ bool ProjectPointOnCurve(Curve *c, Vertex *v, Vertex *RES, Vertex *DER); bool ProjectPointOnSurface(Surface *s, Vertex &p, double u[2]); bool IntersectCurvesWithSurface(List_T *curve_ids, int surface_id, List_T *shapes); +bool SplitCurve(int line_id, List_T *vertices_id, List_T *shapes); int recognize_seg(int typ, List_T *liste, int *seg); int recognize_loop(List_T *liste, int *loop); diff --git a/Geo/GeoStringInterface.cpp b/Geo/GeoStringInterface.cpp index d12c72e90746e8f3e82abdb5d5bd2cd4c423c2ad..5cd8176e42d6595dae32801c004c5142196b2900 100644 --- a/Geo/GeoStringInterface.cpp +++ b/Geo/GeoStringInterface.cpp @@ -122,6 +122,7 @@ static std::string list2string(List_T *list) return sstream.str(); } + void delet(List_T *list, std::string filename, std::string what) { std::ostringstream sstream; @@ -370,3 +371,8 @@ void protude(List_T *list, std::string filename, std::string what, << what << "{" << list2string(list) << "};\n}"; add_infile(sstream.str(), filename); } +void split_edge(int edge_id, List_T *vertices,std::string filename){ + std::ostringstream sstream; + sstream<<"Split Line("<<edge_id<<") {"<<list2string(vertices)<<"};"; + add_infile(sstream.str(), filename,true); +} diff --git a/Geo/GeoStringInterface.h b/Geo/GeoStringInterface.h index 5e05c4576e9c4365eb733cc5f28f90dac7648e32..62b9b518432e121c43407fbc3a60acd1d0b1fd65 100644 --- a/Geo/GeoStringInterface.h +++ b/Geo/GeoStringInterface.h @@ -51,5 +51,5 @@ void extrude(List_T *list, std::string filename, std::string what, std::string t void protude(List_T *list, std::string filename, std::string what, std::string ax, std::string ay, std::string az, std::string px, std::string py, std::string pz, std::string angle); - +void split_edge(int edge_id, List_T *vertices,std::string filename); #endif diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index c23993dc96d48db0c428d35bd7047a525af6c183..31d910803358be7330d51b1d3b4299f520eea53f 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -185,6 +185,7 @@ Sin return tSin; Sinh return tSinh; Sphere return tSphere; Spline return tSpline; +Split return tSplit; Surface return tSurface; Symmetry return tSymmetry; Sprintf return tSprintf; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 89f5342a58213aeb33376c71dd5e6ded4d208899..07c5b3f14b341f76a7f02afb67f786a4b71d9232 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -145,55 +145,56 @@ tLoop = 326, tRecombine = 327, tSmoother = 328, - tDelete = 329, - tCoherence = 330, - tIntersect = 331, - tBoundary = 332, - tLayers = 333, - tHole = 334, - tAlias = 335, - tAliasWithOptions = 336, - tText2D = 337, - tText3D = 338, - tInterpolationScheme = 339, - tTime = 340, - tCombine = 341, - tBSpline = 342, - tBezier = 343, - tNurbs = 344, - tOrder = 345, - tKnots = 346, - tColor = 347, - tColorTable = 348, - tFor = 349, - tIn = 350, - tEndFor = 351, - tIf = 352, - tEndIf = 353, - tExit = 354, - tField = 355, - tReturn = 356, - tCall = 357, - tFunction = 358, - tShow = 359, - tHide = 360, - tGetValue = 361, - tGMSH_MAJOR_VERSION = 362, - tGMSH_MINOR_VERSION = 363, - tGMSH_PATCH_VERSION = 364, - tAFFECTDIVIDE = 365, - tAFFECTTIMES = 366, - tAFFECTMINUS = 367, - tAFFECTPLUS = 368, - tOR = 369, - tAND = 370, - tNOTEQUAL = 371, - tEQUAL = 372, - tGREATEROREQUAL = 373, - tLESSOREQUAL = 374, - UNARYPREC = 375, - tMINUSMINUS = 376, - tPLUSPLUS = 377 + tSplit = 329, + tDelete = 330, + tCoherence = 331, + tIntersect = 332, + tBoundary = 333, + tLayers = 334, + tHole = 335, + tAlias = 336, + tAliasWithOptions = 337, + tText2D = 338, + tText3D = 339, + tInterpolationScheme = 340, + tTime = 341, + tCombine = 342, + tBSpline = 343, + tBezier = 344, + tNurbs = 345, + tOrder = 346, + tKnots = 347, + tColor = 348, + tColorTable = 349, + tFor = 350, + tIn = 351, + tEndFor = 352, + tIf = 353, + tEndIf = 354, + tExit = 355, + tField = 356, + tReturn = 357, + tCall = 358, + tFunction = 359, + tShow = 360, + tHide = 361, + tGetValue = 362, + tGMSH_MAJOR_VERSION = 363, + tGMSH_MINOR_VERSION = 364, + tGMSH_PATCH_VERSION = 365, + tAFFECTDIVIDE = 366, + tAFFECTTIMES = 367, + tAFFECTMINUS = 368, + tAFFECTPLUS = 369, + tOR = 370, + tAND = 371, + tNOTEQUAL = 372, + tEQUAL = 373, + tGREATEROREQUAL = 374, + tLESSOREQUAL = 375, + UNARYPREC = 376, + tMINUSMINUS = 377, + tPLUSPLUS = 378 }; #endif /* Tokens. */ @@ -268,55 +269,56 @@ #define tLoop 326 #define tRecombine 327 #define tSmoother 328 -#define tDelete 329 -#define tCoherence 330 -#define tIntersect 331 -#define tBoundary 332 -#define tLayers 333 -#define tHole 334 -#define tAlias 335 -#define tAliasWithOptions 336 -#define tText2D 337 -#define tText3D 338 -#define tInterpolationScheme 339 -#define tTime 340 -#define tCombine 341 -#define tBSpline 342 -#define tBezier 343 -#define tNurbs 344 -#define tOrder 345 -#define tKnots 346 -#define tColor 347 -#define tColorTable 348 -#define tFor 349 -#define tIn 350 -#define tEndFor 351 -#define tIf 352 -#define tEndIf 353 -#define tExit 354 -#define tField 355 -#define tReturn 356 -#define tCall 357 -#define tFunction 358 -#define tShow 359 -#define tHide 360 -#define tGetValue 361 -#define tGMSH_MAJOR_VERSION 362 -#define tGMSH_MINOR_VERSION 363 -#define tGMSH_PATCH_VERSION 364 -#define tAFFECTDIVIDE 365 -#define tAFFECTTIMES 366 -#define tAFFECTMINUS 367 -#define tAFFECTPLUS 368 -#define tOR 369 -#define tAND 370 -#define tNOTEQUAL 371 -#define tEQUAL 372 -#define tGREATEROREQUAL 373 -#define tLESSOREQUAL 374 -#define UNARYPREC 375 -#define tMINUSMINUS 376 -#define tPLUSPLUS 377 +#define tSplit 329 +#define tDelete 330 +#define tCoherence 331 +#define tIntersect 332 +#define tBoundary 333 +#define tLayers 334 +#define tHole 335 +#define tAlias 336 +#define tAliasWithOptions 337 +#define tText2D 338 +#define tText3D 339 +#define tInterpolationScheme 340 +#define tTime 341 +#define tCombine 342 +#define tBSpline 343 +#define tBezier 344 +#define tNurbs 345 +#define tOrder 346 +#define tKnots 347 +#define tColor 348 +#define tColorTable 349 +#define tFor 350 +#define tIn 351 +#define tEndFor 352 +#define tIf 353 +#define tEndIf 354 +#define tExit 355 +#define tField 356 +#define tReturn 357 +#define tCall 358 +#define tFunction 359 +#define tShow 360 +#define tHide 361 +#define tGetValue 362 +#define tGMSH_MAJOR_VERSION 363 +#define tGMSH_MINOR_VERSION 364 +#define tGMSH_PATCH_VERSION 365 +#define tAFFECTDIVIDE 366 +#define tAFFECTTIMES 367 +#define tAFFECTMINUS 368 +#define tAFFECTPLUS 369 +#define tOR 370 +#define tAND 371 +#define tNOTEQUAL 372 +#define tEQUAL 373 +#define tGREATEROREQUAL 374 +#define tLESSOREQUAL 375 +#define UNARYPREC 376 +#define tMINUSMINUS 377 +#define tPLUSPLUS 378 @@ -423,8 +425,8 @@ typedef union YYSTYPE Shape s; List_T *l; } -/* Line 193 of yacc.c. */ -#line 428 "Gmsh.tab.cpp" +/* Line 187 of yacc.c. */ +#line 430 "Gmsh.tab.cpp" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -437,7 +439,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 441 "Gmsh.tab.cpp" +#line 443 "Gmsh.tab.cpp" #ifdef short # undef short @@ -487,7 +489,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS +# if YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -652,20 +654,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 6283 +#define YYLAST 6315 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 143 +#define YYNTOKENS 144 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 68 /* YYNRULES -- Number of rules. */ -#define YYNRULES 350 +#define YYNRULES 351 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1238 +#define YYNSTATES 1247 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 377 +#define YYMAXUTOK 378 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -676,16 +678,16 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 128, 2, 138, 2, 127, 2, 2, - 133, 134, 125, 123, 139, 124, 137, 126, 2, 2, + 2, 2, 2, 129, 2, 139, 2, 128, 2, 2, + 134, 135, 126, 124, 140, 125, 138, 127, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 119, 2, 120, 114, 2, 2, 2, 2, 2, 2, + 120, 2, 121, 115, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 135, 2, 136, 132, 2, 2, 2, 2, 2, + 2, 136, 2, 137, 133, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 140, 2, 141, 142, 2, 2, 2, + 2, 2, 2, 141, 2, 142, 143, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -709,8 +711,8 @@ static const yytype_uint8 yytranslate[] = 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 115, - 116, 117, 118, 121, 122, 129, 130, 131 + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 116, 117, 118, 119, 122, 123, 130, 131, 132 }; #if YYDEBUG @@ -730,241 +732,242 @@ static const yytype_uint16 yyprhs[] = 446, 454, 463, 470, 478, 486, 494, 504, 512, 522, 540, 548, 556, 568, 577, 586, 595, 605, 609, 614, 625, 633, 641, 650, 659, 668, 676, 685, 691, 703, - 709, 719, 724, 734, 739, 741, 743, 744, 747, 754, - 761, 768, 775, 780, 787, 794, 798, 803, 809, 813, - 817, 822, 827, 831, 839, 847, 851, 859, 863, 866, - 869, 885, 888, 895, 904, 913, 924, 926, 929, 931, - 935, 940, 942, 948, 960, 974, 975, 983, 984, 998, - 999, 1015, 1016, 1023, 1032, 1041, 1050, 1063, 1076, 1089, - 1104, 1119, 1134, 1135, 1148, 1149, 1162, 1163, 1176, 1177, - 1194, 1195, 1212, 1213, 1230, 1231, 1250, 1251, 1270, 1271, - 1290, 1292, 1295, 1301, 1309, 1319, 1322, 1332, 1339, 1349, - 1359, 1368, 1378, 1387, 1396, 1403, 1408, 1415, 1426, 1437, - 1448, 1459, 1462, 1464, 1468, 1471, 1474, 1477, 1481, 1485, - 1489, 1493, 1497, 1501, 1505, 1509, 1513, 1517, 1521, 1525, - 1529, 1533, 1539, 1544, 1549, 1554, 1559, 1564, 1569, 1574, - 1579, 1584, 1589, 1596, 1601, 1606, 1611, 1616, 1621, 1626, - 1633, 1640, 1647, 1652, 1657, 1662, 1667, 1672, 1677, 1682, - 1687, 1692, 1697, 1702, 1709, 1714, 1719, 1724, 1729, 1734, - 1739, 1746, 1753, 1760, 1765, 1767, 1769, 1771, 1773, 1775, - 1777, 1779, 1781, 1787, 1792, 1797, 1800, 1806, 1810, 1817, - 1822, 1830, 1837, 1839, 1842, 1845, 1849, 1853, 1865, 1875, - 1883, 1891, 1893, 1897, 1899, 1901, 1904, 1908, 1913, 1919, - 1922, 1926, 1930, 1936, 1941, 1943, 1945, 1949, 1956, 1958, - 1960, 1964, 1968, 1978, 1986, 1988, 1994, 1998, 2005, 2007, - 2011, 2013, 2015, 2019, 2026, 2028, 2030, 2037, 2042, 2047, - 2052 + 709, 719, 724, 734, 744, 749, 751, 753, 754, 757, + 764, 771, 778, 785, 790, 797, 804, 808, 813, 819, + 823, 827, 832, 837, 841, 849, 857, 861, 869, 873, + 876, 879, 895, 898, 905, 914, 923, 934, 936, 939, + 941, 945, 950, 952, 958, 970, 984, 985, 993, 994, + 1008, 1009, 1025, 1026, 1033, 1042, 1051, 1060, 1073, 1086, + 1099, 1114, 1129, 1144, 1145, 1158, 1159, 1172, 1173, 1186, + 1187, 1204, 1205, 1222, 1223, 1240, 1241, 1260, 1261, 1280, + 1281, 1300, 1302, 1305, 1311, 1319, 1329, 1332, 1342, 1349, + 1359, 1369, 1378, 1388, 1397, 1406, 1413, 1418, 1425, 1436, + 1447, 1458, 1469, 1472, 1474, 1478, 1481, 1484, 1487, 1491, + 1495, 1499, 1503, 1507, 1511, 1515, 1519, 1523, 1527, 1531, + 1535, 1539, 1543, 1549, 1554, 1559, 1564, 1569, 1574, 1579, + 1584, 1589, 1594, 1599, 1606, 1611, 1616, 1621, 1626, 1631, + 1636, 1643, 1650, 1657, 1662, 1667, 1672, 1677, 1682, 1687, + 1692, 1697, 1702, 1707, 1712, 1719, 1724, 1729, 1734, 1739, + 1744, 1749, 1756, 1763, 1770, 1775, 1777, 1779, 1781, 1783, + 1785, 1787, 1789, 1791, 1797, 1802, 1807, 1810, 1816, 1820, + 1827, 1832, 1840, 1847, 1849, 1852, 1855, 1859, 1863, 1875, + 1885, 1893, 1901, 1903, 1907, 1909, 1911, 1914, 1918, 1923, + 1929, 1932, 1936, 1940, 1946, 1951, 1953, 1955, 1959, 1966, + 1968, 1970, 1974, 1978, 1988, 1996, 1998, 2004, 2008, 2015, + 2017, 2021, 2023, 2025, 2029, 2036, 2038, 2040, 2047, 2052, + 2057, 2062 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 144, 0, -1, 145, -1, 1, 6, -1, -1, 145, - 146, -1, 149, -1, 148, -1, 167, -1, 170, -1, - 171, -1, 174, -1, 175, -1, 176, -1, 179, -1, - 195, -1, 196, -1, 197, -1, 178, -1, 177, -1, - 120, -1, 120, 120, -1, 35, 133, 5, 134, 6, - -1, 35, 133, 5, 134, 147, 209, 6, -1, 35, - 133, 5, 139, 205, 134, 6, -1, 35, 133, 5, - 139, 205, 134, 147, 209, 6, -1, 4, 5, 140, - 150, 141, 6, -1, 80, 4, 135, 198, 136, 6, - -1, 81, 4, 135, 198, 136, 6, -1, -1, 150, - 153, -1, 150, 157, -1, 150, 160, -1, 150, 162, - -1, 150, 163, -1, 198, -1, 151, 139, 198, -1, - 198, -1, 152, 139, 198, -1, -1, -1, 4, 154, - 133, 151, 134, 155, 140, 152, 141, 6, -1, 209, - -1, 156, 139, 209, -1, -1, 82, 133, 198, 139, - 198, 139, 198, 134, 158, 140, 156, 141, 6, -1, - 209, -1, 159, 139, 209, -1, -1, 83, 133, 198, - 139, 198, 139, 198, 139, 198, 134, 161, 140, 159, - 141, 6, -1, 84, 140, 202, 141, 140, 202, 141, - 6, -1, 84, 140, 202, 141, 140, 202, 141, 140, - 202, 141, 140, 202, 141, 6, -1, -1, 85, 164, - 140, 152, 141, 6, -1, 7, -1, 113, -1, 112, - -1, 111, -1, 110, -1, 131, -1, 130, -1, 4, - 165, 198, 6, -1, 4, 135, 198, 136, 165, 198, - 6, -1, 4, 135, 140, 205, 141, 136, 165, 203, - 6, -1, 4, 135, 136, 7, 203, 6, -1, 4, - 135, 136, 113, 203, 6, -1, 4, 166, 6, -1, - 4, 135, 198, 136, 166, 6, -1, 4, 7, 210, - 6, -1, 4, 137, 4, 7, 210, 6, -1, 4, - 135, 198, 136, 137, 4, 7, 210, 6, -1, 4, - 137, 4, 165, 198, 6, -1, 4, 135, 198, 136, - 137, 4, 165, 198, 6, -1, 4, 137, 4, 166, - 6, -1, 4, 135, 198, 136, 137, 4, 166, 6, - -1, 4, 137, 92, 137, 4, 7, 206, 6, -1, - 4, 135, 198, 136, 137, 92, 137, 4, 7, 206, - 6, -1, 4, 137, 93, 7, 207, 6, -1, 4, - 135, 198, 136, 137, 93, 7, 207, 6, -1, 4, - 100, 7, 198, 6, -1, 100, 135, 198, 136, 7, - 4, 6, -1, 100, 135, 198, 136, 137, 4, 7, - 198, 6, -1, 100, 135, 198, 136, 137, 4, 7, - 210, 6, -1, 100, 135, 198, 136, 137, 4, 7, - 140, 205, 141, 6, -1, 64, 133, 4, 134, 137, - 4, 7, 198, 6, -1, 64, 133, 4, 134, 137, - 4, 7, 210, 6, -1, 198, -1, 210, -1, -1, - 95, 47, 140, 198, 141, -1, 43, 133, 198, 134, - 7, 200, 6, -1, 60, 43, 133, 168, 134, 7, - 203, 6, -1, 52, 53, 203, 7, 198, 6, -1, - 46, 133, 198, 134, 7, 203, 6, -1, 50, 133, - 198, 134, 7, 203, 6, -1, 44, 133, 198, 134, - 7, 203, 6, -1, 44, 133, 198, 134, 7, 203, - 56, 200, 6, -1, 45, 133, 198, 134, 7, 203, - 6, -1, 45, 133, 198, 134, 7, 203, 56, 200, - 6, -1, 54, 133, 198, 134, 7, 140, 198, 139, - 198, 139, 5, 139, 5, 139, 5, 141, 6, -1, - 87, 133, 198, 134, 7, 203, 6, -1, 88, 133, - 198, 134, 7, 203, 6, -1, 89, 133, 198, 134, - 7, 203, 91, 203, 90, 198, 6, -1, 46, 71, - 133, 198, 134, 7, 203, 6, -1, 60, 46, 133, - 168, 134, 7, 203, 6, -1, 56, 49, 133, 198, - 134, 7, 203, 6, -1, 57, 49, 133, 198, 134, - 7, 203, 169, 6, -1, 12, 13, 6, -1, 13, - 49, 198, 6, -1, 54, 49, 133, 198, 134, 7, - 5, 5, 5, 6, -1, 47, 133, 198, 134, 7, - 203, 6, -1, 48, 133, 198, 134, 7, 203, 6, - -1, 49, 71, 133, 198, 134, 7, 203, 6, -1, - 60, 49, 133, 168, 134, 7, 203, 6, -1, 59, - 51, 133, 198, 134, 7, 203, 6, -1, 51, 133, - 198, 134, 7, 203, 6, -1, 60, 51, 133, 168, - 134, 7, 203, 6, -1, 66, 200, 140, 172, 141, - -1, 65, 140, 200, 139, 200, 139, 198, 141, 140, - 172, 141, -1, 67, 200, 140, 172, 141, -1, 68, - 140, 200, 139, 198, 141, 140, 172, 141, -1, 70, - 140, 172, 141, -1, 76, 46, 140, 205, 141, 49, - 140, 198, 141, -1, 77, 140, 172, 141, -1, 173, - -1, 171, -1, -1, 173, 170, -1, 173, 43, 140, - 205, 141, 6, -1, 173, 46, 140, 205, 141, 6, - -1, 173, 49, 140, 205, 141, 6, -1, 173, 51, - 140, 205, 141, 6, -1, 74, 140, 173, 141, -1, - 74, 100, 135, 198, 136, 6, -1, 74, 4, 135, - 198, 136, 6, -1, 74, 4, 6, -1, 74, 4, - 4, 6, -1, 92, 206, 140, 173, 141, -1, 104, - 209, 6, -1, 105, 209, 6, -1, 104, 140, 173, - 141, -1, 105, 140, 173, 141, -1, 4, 210, 6, - -1, 4, 4, 135, 198, 136, 209, 6, -1, 4, - 4, 4, 135, 198, 136, 6, -1, 4, 198, 6, - -1, 64, 133, 4, 134, 137, 4, 6, -1, 86, - 4, 6, -1, 99, 6, -1, 40, 6, -1, 40, - 140, 198, 139, 198, 139, 198, 139, 198, 139, 198, - 139, 198, 141, 6, -1, 41, 6, -1, 94, 133, - 198, 8, 198, 134, -1, 94, 133, 198, 8, 198, - 8, 198, 134, -1, 94, 4, 95, 140, 198, 8, - 198, 141, -1, 94, 4, 95, 140, 198, 8, 198, - 8, 198, 141, -1, 96, -1, 103, 4, -1, 101, - -1, 102, 4, 6, -1, 97, 133, 198, 134, -1, - 98, -1, 69, 200, 140, 173, 141, -1, 69, 140, - 200, 139, 200, 139, 198, 141, 140, 173, 141, -1, - 69, 140, 200, 139, 200, 139, 200, 139, 198, 141, - 140, 173, 141, -1, -1, 69, 200, 140, 173, 180, - 193, 141, -1, -1, 69, 140, 200, 139, 200, 139, - 198, 141, 140, 173, 181, 193, 141, -1, -1, 69, - 140, 200, 139, 200, 139, 200, 139, 198, 141, 140, - 173, 182, 193, 141, -1, -1, 69, 140, 173, 183, - 193, 141, -1, 69, 43, 140, 198, 139, 200, 141, - 6, -1, 69, 46, 140, 198, 139, 200, 141, 6, - -1, 69, 49, 140, 198, 139, 200, 141, 6, -1, - 69, 43, 140, 198, 139, 200, 139, 200, 139, 198, - 141, 6, -1, 69, 46, 140, 198, 139, 200, 139, - 200, 139, 198, 141, 6, -1, 69, 49, 140, 198, - 139, 200, 139, 200, 139, 198, 141, 6, -1, 69, - 43, 140, 198, 139, 200, 139, 200, 139, 200, 139, - 198, 141, 6, -1, 69, 46, 140, 198, 139, 200, - 139, 200, 139, 200, 139, 198, 141, 6, -1, 69, - 49, 140, 198, 139, 200, 139, 200, 139, 200, 139, - 198, 141, 6, -1, -1, 69, 43, 140, 198, 139, - 200, 141, 184, 140, 193, 141, 6, -1, -1, 69, - 46, 140, 198, 139, 200, 141, 185, 140, 193, 141, - 6, -1, -1, 69, 49, 140, 198, 139, 200, 141, - 186, 140, 193, 141, 6, -1, -1, 69, 43, 140, - 198, 139, 200, 139, 200, 139, 198, 141, 187, 140, - 193, 141, 6, -1, -1, 69, 46, 140, 198, 139, - 200, 139, 200, 139, 198, 141, 188, 140, 193, 141, - 6, -1, -1, 69, 49, 140, 198, 139, 200, 139, - 200, 139, 198, 141, 189, 140, 193, 141, 6, -1, - -1, 69, 43, 140, 198, 139, 200, 139, 200, 139, - 200, 139, 198, 141, 190, 140, 193, 141, 6, -1, - -1, 69, 46, 140, 198, 139, 200, 139, 200, 139, - 200, 139, 198, 141, 191, 140, 193, 141, 6, -1, - -1, 69, 49, 140, 198, 139, 200, 139, 200, 139, - 200, 139, 198, 141, 192, 140, 193, 141, 6, -1, - 194, -1, 193, 194, -1, 78, 140, 198, 141, 6, - -1, 78, 140, 203, 139, 203, 141, 6, -1, 78, - 140, 203, 139, 203, 139, 203, 141, 6, -1, 72, - 6, -1, 79, 133, 198, 134, 7, 203, 61, 198, - 6, -1, 58, 46, 203, 7, 198, 6, -1, 58, - 46, 203, 7, 198, 61, 63, 198, 6, -1, 58, - 46, 203, 7, 198, 61, 62, 198, 6, -1, 58, - 49, 140, 198, 141, 7, 203, 6, -1, 58, 49, - 140, 198, 141, 7, 203, 4, 6, -1, 55, 49, - 140, 198, 141, 7, 203, 6, -1, 58, 51, 140, - 198, 141, 7, 203, 6, -1, 72, 49, 203, 7, - 198, 6, -1, 72, 49, 203, 6, -1, 73, 49, - 203, 7, 198, 6, -1, 43, 140, 205, 141, 95, - 49, 140, 198, 141, 6, -1, 46, 140, 205, 141, - 95, 49, 140, 198, 141, 6, -1, 46, 140, 205, - 141, 95, 51, 140, 198, 141, 6, -1, 49, 140, - 205, 141, 95, 51, 140, 198, 141, 6, -1, 75, - 6, -1, 199, -1, 133, 198, 134, -1, 124, 198, - -1, 123, 198, -1, 128, 198, -1, 198, 124, 198, - -1, 198, 123, 198, -1, 198, 125, 198, -1, 198, - 126, 198, -1, 198, 127, 198, -1, 198, 132, 198, - -1, 198, 119, 198, -1, 198, 120, 198, -1, 198, - 122, 198, -1, 198, 121, 198, -1, 198, 118, 198, - -1, 198, 117, 198, -1, 198, 116, 198, -1, 198, - 115, 198, -1, 198, 114, 198, 8, 198, -1, 14, - 133, 198, 134, -1, 15, 133, 198, 134, -1, 16, - 133, 198, 134, -1, 17, 133, 198, 134, -1, 18, - 133, 198, 134, -1, 19, 133, 198, 134, -1, 20, - 133, 198, 134, -1, 21, 133, 198, 134, -1, 22, - 133, 198, 134, -1, 24, 133, 198, 134, -1, 25, - 133, 198, 139, 198, 134, -1, 26, 133, 198, 134, - -1, 27, 133, 198, 134, -1, 28, 133, 198, 134, - -1, 29, 133, 198, 134, -1, 30, 133, 198, 134, - -1, 31, 133, 198, 134, -1, 32, 133, 198, 139, - 198, 134, -1, 33, 133, 198, 139, 198, 134, -1, - 34, 133, 198, 139, 198, 134, -1, 23, 133, 198, - 134, -1, 14, 135, 198, 136, -1, 15, 135, 198, - 136, -1, 16, 135, 198, 136, -1, 17, 135, 198, - 136, -1, 18, 135, 198, 136, -1, 19, 135, 198, - 136, -1, 20, 135, 198, 136, -1, 21, 135, 198, - 136, -1, 22, 135, 198, 136, -1, 24, 135, 198, - 136, -1, 25, 135, 198, 139, 198, 136, -1, 26, - 135, 198, 136, -1, 27, 135, 198, 136, -1, 28, - 135, 198, 136, -1, 29, 135, 198, 136, -1, 30, - 135, 198, 136, -1, 31, 135, 198, 136, -1, 32, - 135, 198, 139, 198, 136, -1, 33, 135, 198, 139, - 198, 136, -1, 34, 135, 198, 139, 198, 136, -1, - 23, 135, 198, 136, -1, 3, -1, 9, -1, 10, - -1, 11, -1, 107, -1, 108, -1, 109, -1, 4, - -1, 4, 142, 140, 198, 141, -1, 4, 135, 198, - 136, -1, 138, 4, 135, 136, -1, 4, 166, -1, - 4, 135, 198, 136, 166, -1, 4, 137, 4, -1, - 4, 135, 198, 136, 137, 4, -1, 4, 137, 4, - 166, -1, 4, 135, 198, 136, 137, 4, 166, -1, - 106, 133, 5, 139, 198, 134, -1, 201, -1, 124, - 200, -1, 123, 200, -1, 200, 124, 200, -1, 200, - 123, 200, -1, 140, 198, 139, 198, 139, 198, 139, - 198, 139, 198, 141, -1, 140, 198, 139, 198, 139, - 198, 139, 198, 141, -1, 140, 198, 139, 198, 139, - 198, 141, -1, 133, 198, 139, 198, 139, 198, 134, - -1, 203, -1, 202, 139, 203, -1, 198, -1, 204, - -1, 140, 141, -1, 140, 205, 141, -1, 124, 140, - 205, 141, -1, 198, 125, 140, 205, 141, -1, 124, - 204, -1, 198, 125, 204, -1, 198, 8, 198, -1, - 198, 8, 198, 8, 198, -1, 43, 140, 198, 141, - -1, 171, -1, 179, -1, 4, 135, 136, -1, 4, - 135, 140, 205, 141, 136, -1, 198, -1, 204, -1, - 205, 139, 198, -1, 205, 139, 204, -1, 140, 198, - 139, 198, 139, 198, 139, 198, 141, -1, 140, 198, - 139, 198, 139, 198, 141, -1, 4, -1, 4, 137, - 92, 137, 4, -1, 140, 208, 141, -1, 4, 135, - 198, 136, 137, 93, -1, 206, -1, 208, 139, 206, - -1, 210, -1, 4, -1, 4, 137, 4, -1, 4, - 135, 198, 136, 137, 4, -1, 5, -1, 42, -1, - 37, 133, 209, 139, 209, 134, -1, 38, 133, 209, - 134, -1, 39, 133, 209, 134, -1, 36, 133, 209, - 134, -1, 36, 133, 209, 139, 205, 134, -1 + 145, 0, -1, 146, -1, 1, 6, -1, -1, 146, + 147, -1, 150, -1, 149, -1, 168, -1, 171, -1, + 172, -1, 175, -1, 176, -1, 177, -1, 180, -1, + 196, -1, 197, -1, 198, -1, 179, -1, 178, -1, + 121, -1, 121, 121, -1, 35, 134, 5, 135, 6, + -1, 35, 134, 5, 135, 148, 210, 6, -1, 35, + 134, 5, 140, 206, 135, 6, -1, 35, 134, 5, + 140, 206, 135, 148, 210, 6, -1, 4, 5, 141, + 151, 142, 6, -1, 81, 4, 136, 199, 137, 6, + -1, 82, 4, 136, 199, 137, 6, -1, -1, 151, + 154, -1, 151, 158, -1, 151, 161, -1, 151, 163, + -1, 151, 164, -1, 199, -1, 152, 140, 199, -1, + 199, -1, 153, 140, 199, -1, -1, -1, 4, 155, + 134, 152, 135, 156, 141, 153, 142, 6, -1, 210, + -1, 157, 140, 210, -1, -1, 83, 134, 199, 140, + 199, 140, 199, 135, 159, 141, 157, 142, 6, -1, + 210, -1, 160, 140, 210, -1, -1, 84, 134, 199, + 140, 199, 140, 199, 140, 199, 135, 162, 141, 160, + 142, 6, -1, 85, 141, 203, 142, 141, 203, 142, + 6, -1, 85, 141, 203, 142, 141, 203, 142, 141, + 203, 142, 141, 203, 142, 6, -1, -1, 86, 165, + 141, 153, 142, 6, -1, 7, -1, 114, -1, 113, + -1, 112, -1, 111, -1, 132, -1, 131, -1, 4, + 166, 199, 6, -1, 4, 136, 199, 137, 166, 199, + 6, -1, 4, 136, 141, 206, 142, 137, 166, 204, + 6, -1, 4, 136, 137, 7, 204, 6, -1, 4, + 136, 137, 114, 204, 6, -1, 4, 167, 6, -1, + 4, 136, 199, 137, 167, 6, -1, 4, 7, 211, + 6, -1, 4, 138, 4, 7, 211, 6, -1, 4, + 136, 199, 137, 138, 4, 7, 211, 6, -1, 4, + 138, 4, 166, 199, 6, -1, 4, 136, 199, 137, + 138, 4, 166, 199, 6, -1, 4, 138, 4, 167, + 6, -1, 4, 136, 199, 137, 138, 4, 167, 6, + -1, 4, 138, 93, 138, 4, 7, 207, 6, -1, + 4, 136, 199, 137, 138, 93, 138, 4, 7, 207, + 6, -1, 4, 138, 94, 7, 208, 6, -1, 4, + 136, 199, 137, 138, 94, 7, 208, 6, -1, 4, + 101, 7, 199, 6, -1, 101, 136, 199, 137, 7, + 4, 6, -1, 101, 136, 199, 137, 138, 4, 7, + 199, 6, -1, 101, 136, 199, 137, 138, 4, 7, + 211, 6, -1, 101, 136, 199, 137, 138, 4, 7, + 141, 206, 142, 6, -1, 64, 134, 4, 135, 138, + 4, 7, 199, 6, -1, 64, 134, 4, 135, 138, + 4, 7, 211, 6, -1, 199, -1, 211, -1, -1, + 96, 47, 141, 199, 142, -1, 43, 134, 199, 135, + 7, 201, 6, -1, 60, 43, 134, 169, 135, 7, + 204, 6, -1, 52, 53, 204, 7, 199, 6, -1, + 46, 134, 199, 135, 7, 204, 6, -1, 50, 134, + 199, 135, 7, 204, 6, -1, 44, 134, 199, 135, + 7, 204, 6, -1, 44, 134, 199, 135, 7, 204, + 56, 201, 6, -1, 45, 134, 199, 135, 7, 204, + 6, -1, 45, 134, 199, 135, 7, 204, 56, 201, + 6, -1, 54, 134, 199, 135, 7, 141, 199, 140, + 199, 140, 5, 140, 5, 140, 5, 142, 6, -1, + 88, 134, 199, 135, 7, 204, 6, -1, 89, 134, + 199, 135, 7, 204, 6, -1, 90, 134, 199, 135, + 7, 204, 92, 204, 91, 199, 6, -1, 46, 71, + 134, 199, 135, 7, 204, 6, -1, 60, 46, 134, + 169, 135, 7, 204, 6, -1, 56, 49, 134, 199, + 135, 7, 204, 6, -1, 57, 49, 134, 199, 135, + 7, 204, 170, 6, -1, 12, 13, 6, -1, 13, + 49, 199, 6, -1, 54, 49, 134, 199, 135, 7, + 5, 5, 5, 6, -1, 47, 134, 199, 135, 7, + 204, 6, -1, 48, 134, 199, 135, 7, 204, 6, + -1, 49, 71, 134, 199, 135, 7, 204, 6, -1, + 60, 49, 134, 169, 135, 7, 204, 6, -1, 59, + 51, 134, 199, 135, 7, 204, 6, -1, 51, 134, + 199, 135, 7, 204, 6, -1, 60, 51, 134, 169, + 135, 7, 204, 6, -1, 66, 201, 141, 173, 142, + -1, 65, 141, 201, 140, 201, 140, 199, 142, 141, + 173, 142, -1, 67, 201, 141, 173, 142, -1, 68, + 141, 201, 140, 199, 142, 141, 173, 142, -1, 70, + 141, 173, 142, -1, 77, 46, 141, 206, 142, 49, + 141, 199, 142, -1, 74, 46, 134, 199, 135, 141, + 206, 142, 6, -1, 78, 141, 173, 142, -1, 174, + -1, 172, -1, -1, 174, 171, -1, 174, 43, 141, + 206, 142, 6, -1, 174, 46, 141, 206, 142, 6, + -1, 174, 49, 141, 206, 142, 6, -1, 174, 51, + 141, 206, 142, 6, -1, 75, 141, 174, 142, -1, + 75, 101, 136, 199, 137, 6, -1, 75, 4, 136, + 199, 137, 6, -1, 75, 4, 6, -1, 75, 4, + 4, 6, -1, 93, 207, 141, 174, 142, -1, 105, + 210, 6, -1, 106, 210, 6, -1, 105, 141, 174, + 142, -1, 106, 141, 174, 142, -1, 4, 211, 6, + -1, 4, 4, 136, 199, 137, 210, 6, -1, 4, + 4, 4, 136, 199, 137, 6, -1, 4, 199, 6, + -1, 64, 134, 4, 135, 138, 4, 6, -1, 87, + 4, 6, -1, 100, 6, -1, 40, 6, -1, 40, + 141, 199, 140, 199, 140, 199, 140, 199, 140, 199, + 140, 199, 142, 6, -1, 41, 6, -1, 95, 134, + 199, 8, 199, 135, -1, 95, 134, 199, 8, 199, + 8, 199, 135, -1, 95, 4, 96, 141, 199, 8, + 199, 142, -1, 95, 4, 96, 141, 199, 8, 199, + 8, 199, 142, -1, 97, -1, 104, 4, -1, 102, + -1, 103, 4, 6, -1, 98, 134, 199, 135, -1, + 99, -1, 69, 201, 141, 174, 142, -1, 69, 141, + 201, 140, 201, 140, 199, 142, 141, 174, 142, -1, + 69, 141, 201, 140, 201, 140, 201, 140, 199, 142, + 141, 174, 142, -1, -1, 69, 201, 141, 174, 181, + 194, 142, -1, -1, 69, 141, 201, 140, 201, 140, + 199, 142, 141, 174, 182, 194, 142, -1, -1, 69, + 141, 201, 140, 201, 140, 201, 140, 199, 142, 141, + 174, 183, 194, 142, -1, -1, 69, 141, 174, 184, + 194, 142, -1, 69, 43, 141, 199, 140, 201, 142, + 6, -1, 69, 46, 141, 199, 140, 201, 142, 6, + -1, 69, 49, 141, 199, 140, 201, 142, 6, -1, + 69, 43, 141, 199, 140, 201, 140, 201, 140, 199, + 142, 6, -1, 69, 46, 141, 199, 140, 201, 140, + 201, 140, 199, 142, 6, -1, 69, 49, 141, 199, + 140, 201, 140, 201, 140, 199, 142, 6, -1, 69, + 43, 141, 199, 140, 201, 140, 201, 140, 201, 140, + 199, 142, 6, -1, 69, 46, 141, 199, 140, 201, + 140, 201, 140, 201, 140, 199, 142, 6, -1, 69, + 49, 141, 199, 140, 201, 140, 201, 140, 201, 140, + 199, 142, 6, -1, -1, 69, 43, 141, 199, 140, + 201, 142, 185, 141, 194, 142, 6, -1, -1, 69, + 46, 141, 199, 140, 201, 142, 186, 141, 194, 142, + 6, -1, -1, 69, 49, 141, 199, 140, 201, 142, + 187, 141, 194, 142, 6, -1, -1, 69, 43, 141, + 199, 140, 201, 140, 201, 140, 199, 142, 188, 141, + 194, 142, 6, -1, -1, 69, 46, 141, 199, 140, + 201, 140, 201, 140, 199, 142, 189, 141, 194, 142, + 6, -1, -1, 69, 49, 141, 199, 140, 201, 140, + 201, 140, 199, 142, 190, 141, 194, 142, 6, -1, + -1, 69, 43, 141, 199, 140, 201, 140, 201, 140, + 201, 140, 199, 142, 191, 141, 194, 142, 6, -1, + -1, 69, 46, 141, 199, 140, 201, 140, 201, 140, + 201, 140, 199, 142, 192, 141, 194, 142, 6, -1, + -1, 69, 49, 141, 199, 140, 201, 140, 201, 140, + 201, 140, 199, 142, 193, 141, 194, 142, 6, -1, + 195, -1, 194, 195, -1, 79, 141, 199, 142, 6, + -1, 79, 141, 204, 140, 204, 142, 6, -1, 79, + 141, 204, 140, 204, 140, 204, 142, 6, -1, 72, + 6, -1, 80, 134, 199, 135, 7, 204, 61, 199, + 6, -1, 58, 46, 204, 7, 199, 6, -1, 58, + 46, 204, 7, 199, 61, 63, 199, 6, -1, 58, + 46, 204, 7, 199, 61, 62, 199, 6, -1, 58, + 49, 141, 199, 142, 7, 204, 6, -1, 58, 49, + 141, 199, 142, 7, 204, 4, 6, -1, 55, 49, + 141, 199, 142, 7, 204, 6, -1, 58, 51, 141, + 199, 142, 7, 204, 6, -1, 72, 49, 204, 7, + 199, 6, -1, 72, 49, 204, 6, -1, 73, 49, + 204, 7, 199, 6, -1, 43, 141, 206, 142, 96, + 49, 141, 199, 142, 6, -1, 46, 141, 206, 142, + 96, 49, 141, 199, 142, 6, -1, 46, 141, 206, + 142, 96, 51, 141, 199, 142, 6, -1, 49, 141, + 206, 142, 96, 51, 141, 199, 142, 6, -1, 76, + 6, -1, 200, -1, 134, 199, 135, -1, 125, 199, + -1, 124, 199, -1, 129, 199, -1, 199, 125, 199, + -1, 199, 124, 199, -1, 199, 126, 199, -1, 199, + 127, 199, -1, 199, 128, 199, -1, 199, 133, 199, + -1, 199, 120, 199, -1, 199, 121, 199, -1, 199, + 123, 199, -1, 199, 122, 199, -1, 199, 119, 199, + -1, 199, 118, 199, -1, 199, 117, 199, -1, 199, + 116, 199, -1, 199, 115, 199, 8, 199, -1, 14, + 134, 199, 135, -1, 15, 134, 199, 135, -1, 16, + 134, 199, 135, -1, 17, 134, 199, 135, -1, 18, + 134, 199, 135, -1, 19, 134, 199, 135, -1, 20, + 134, 199, 135, -1, 21, 134, 199, 135, -1, 22, + 134, 199, 135, -1, 24, 134, 199, 135, -1, 25, + 134, 199, 140, 199, 135, -1, 26, 134, 199, 135, + -1, 27, 134, 199, 135, -1, 28, 134, 199, 135, + -1, 29, 134, 199, 135, -1, 30, 134, 199, 135, + -1, 31, 134, 199, 135, -1, 32, 134, 199, 140, + 199, 135, -1, 33, 134, 199, 140, 199, 135, -1, + 34, 134, 199, 140, 199, 135, -1, 23, 134, 199, + 135, -1, 14, 136, 199, 137, -1, 15, 136, 199, + 137, -1, 16, 136, 199, 137, -1, 17, 136, 199, + 137, -1, 18, 136, 199, 137, -1, 19, 136, 199, + 137, -1, 20, 136, 199, 137, -1, 21, 136, 199, + 137, -1, 22, 136, 199, 137, -1, 24, 136, 199, + 137, -1, 25, 136, 199, 140, 199, 137, -1, 26, + 136, 199, 137, -1, 27, 136, 199, 137, -1, 28, + 136, 199, 137, -1, 29, 136, 199, 137, -1, 30, + 136, 199, 137, -1, 31, 136, 199, 137, -1, 32, + 136, 199, 140, 199, 137, -1, 33, 136, 199, 140, + 199, 137, -1, 34, 136, 199, 140, 199, 137, -1, + 23, 136, 199, 137, -1, 3, -1, 9, -1, 10, + -1, 11, -1, 108, -1, 109, -1, 110, -1, 4, + -1, 4, 143, 141, 199, 142, -1, 4, 136, 199, + 137, -1, 139, 4, 136, 137, -1, 4, 167, -1, + 4, 136, 199, 137, 167, -1, 4, 138, 4, -1, + 4, 136, 199, 137, 138, 4, -1, 4, 138, 4, + 167, -1, 4, 136, 199, 137, 138, 4, 167, -1, + 107, 134, 5, 140, 199, 135, -1, 202, -1, 125, + 201, -1, 124, 201, -1, 201, 125, 201, -1, 201, + 124, 201, -1, 141, 199, 140, 199, 140, 199, 140, + 199, 140, 199, 142, -1, 141, 199, 140, 199, 140, + 199, 140, 199, 142, -1, 141, 199, 140, 199, 140, + 199, 142, -1, 134, 199, 140, 199, 140, 199, 135, + -1, 204, -1, 203, 140, 204, -1, 199, -1, 205, + -1, 141, 142, -1, 141, 206, 142, -1, 125, 141, + 206, 142, -1, 199, 126, 141, 206, 142, -1, 125, + 205, -1, 199, 126, 205, -1, 199, 8, 199, -1, + 199, 8, 199, 8, 199, -1, 43, 141, 199, 142, + -1, 172, -1, 180, -1, 4, 136, 137, -1, 4, + 136, 141, 206, 142, 137, -1, 199, -1, 205, -1, + 206, 140, 199, -1, 206, 140, 205, -1, 141, 199, + 140, 199, 140, 199, 140, 199, 142, -1, 141, 199, + 140, 199, 140, 199, 142, -1, 4, -1, 4, 138, + 93, 138, 4, -1, 141, 209, 142, -1, 4, 136, + 199, 137, 138, 94, -1, 207, -1, 209, 140, 207, + -1, 211, -1, 4, -1, 4, 138, 4, -1, 4, + 136, 199, 137, 138, 4, -1, 5, -1, 42, -1, + 37, 134, 210, 140, 210, 135, -1, 38, 134, 210, + 135, -1, 39, 134, 210, 135, -1, 36, 134, 210, + 135, -1, 36, 134, 210, 140, 206, 135, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -982,30 +985,30 @@ static const yytype_uint16 yyrline[] = 1011, 1034, 1050, 1072, 1090, 1108, 1126, 1152, 1170, 1196, 1216, 1234, 1252, 1278, 1295, 1314, 1332, 1371, 1377, 1383, 1390, 1415, 1440, 1456, 1476, 1494, 1511, 1532, 1537, 1542, - 1547, 1552, 1563, 1569, 1578, 1579, 1584, 1587, 1591, 1614, - 1637, 1660, 1688, 1697, 1701, 1716, 1737, 1754, 1768, 1774, - 1780, 1789, 1803, 1851, 1869, 1884, 1903, 1915, 1939, 1943, - 1948, 1953, 1965, 1982, 1999, 2018, 2037, 2065, 2073, 2079, - 2086, 2090, 2099, 2107, 2115, 2124, 2123, 2136, 2135, 2148, - 2147, 2160, 2159, 2172, 2179, 2186, 2193, 2200, 2207, 2214, - 2221, 2228, 2236, 2235, 2247, 2246, 2258, 2257, 2269, 2268, - 2280, 2279, 2291, 2290, 2302, 2301, 2313, 2312, 2324, 2323, - 2338, 2341, 2347, 2356, 2376, 2399, 2403, 2427, 2445, 2463, - 2481, 2510, 2545, 2550, 2577, 2591, 2604, 2621, 2627, 2633, - 2636, 2645, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, - 2663, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 2677, 2678, - 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, - 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, - 2699, 2700, 2701, 2703, 2704, 2705, 2706, 2707, 2708, 2709, - 2710, 2711, 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, - 2720, 2721, 2722, 2723, 2732, 2733, 2734, 2735, 2736, 2737, - 2738, 2742, 2755, 2767, 2782, 2792, 2802, 2820, 2825, 2830, - 2840, 2850, 2858, 2862, 2866, 2870, 2874, 2881, 2885, 2889, - 2893, 2900, 2905, 2912, 2917, 2921, 2926, 2930, 2938, 2949, - 2957, 2965, 2971, 2982, 3002, 3012, 3022, 3032, 3052, 3057, - 3061, 3065, 3077, 3081, 3093, 3100, 3110, 3114, 3129, 3134, - 3141, 3145, 3158, 3166, 3177, 3181, 3189, 3197, 3211, 3225, - 3229 + 1547, 1552, 1563, 1569, 1577, 1586, 1587, 1592, 1595, 1599, + 1622, 1645, 1668, 1696, 1705, 1709, 1724, 1745, 1762, 1776, + 1782, 1788, 1797, 1811, 1859, 1877, 1892, 1911, 1923, 1947, + 1951, 1956, 1961, 1973, 1990, 2007, 2026, 2045, 2073, 2081, + 2087, 2094, 2098, 2107, 2115, 2123, 2132, 2131, 2144, 2143, + 2156, 2155, 2168, 2167, 2180, 2187, 2194, 2201, 2208, 2215, + 2222, 2229, 2236, 2244, 2243, 2255, 2254, 2266, 2265, 2277, + 2276, 2288, 2287, 2299, 2298, 2310, 2309, 2321, 2320, 2332, + 2331, 2346, 2349, 2355, 2364, 2384, 2407, 2411, 2435, 2453, + 2471, 2489, 2518, 2553, 2558, 2585, 2599, 2612, 2629, 2635, + 2641, 2644, 2653, 2663, 2664, 2665, 2666, 2667, 2668, 2669, + 2670, 2671, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, + 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, + 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, + 2706, 2707, 2708, 2709, 2711, 2712, 2713, 2714, 2715, 2716, + 2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, + 2727, 2728, 2729, 2730, 2731, 2740, 2741, 2742, 2743, 2744, + 2745, 2746, 2750, 2763, 2775, 2790, 2800, 2810, 2828, 2833, + 2838, 2848, 2858, 2866, 2870, 2874, 2878, 2882, 2889, 2893, + 2897, 2901, 2908, 2913, 2920, 2925, 2929, 2934, 2938, 2946, + 2957, 2965, 2973, 2979, 2990, 3010, 3020, 3030, 3040, 3060, + 3065, 3069, 3073, 3085, 3089, 3101, 3108, 3118, 3122, 3137, + 3142, 3149, 3153, 3166, 3174, 3185, 3189, 3197, 3205, 3219, + 3233, 3237 }; #endif @@ -1026,8 +1029,8 @@ static const char *const yytname[] = "tRuled", "tTransfinite", "tComplex", "tPhysical", "tUsing", "tBump", "tProgression", "tPlugin", "tRotate", "tTranslate", "tSymmetry", "tDilate", "tExtrude", "tDuplicata", "tLoop", "tRecombine", "tSmoother", - "tDelete", "tCoherence", "tIntersect", "tBoundary", "tLayers", "tHole", - "tAlias", "tAliasWithOptions", "tText2D", "tText3D", + "tSplit", "tDelete", "tCoherence", "tIntersect", "tBoundary", "tLayers", + "tHole", "tAlias", "tAliasWithOptions", "tText2D", "tText3D", "tInterpolationScheme", "tTime", "tCombine", "tBSpline", "tBezier", "tNurbs", "tOrder", "tKnots", "tColor", "tColorTable", "tFor", "tIn", "tEndFor", "tIf", "tEndIf", "tExit", "tField", "tReturn", "tCall", @@ -1069,52 +1072,52 @@ static const yytype_uint16 yytoknum[] = 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 63, 369, 370, 371, 372, 60, - 62, 373, 374, 43, 45, 42, 47, 37, 33, 375, - 376, 377, 94, 40, 41, 91, 93, 46, 35, 44, - 123, 125, 126 + 365, 366, 367, 368, 369, 63, 370, 371, 372, 373, + 60, 62, 374, 375, 43, 45, 42, 47, 37, 33, + 376, 377, 378, 94, 40, 41, 91, 93, 46, 35, + 44, 123, 125, 126 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 143, 144, 144, 145, 145, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 147, 147, 148, 148, 148, 148, 149, 149, 149, 150, - 150, 150, 150, 150, 150, 151, 151, 152, 152, 154, - 155, 153, 156, 156, 158, 157, 159, 159, 161, 160, - 162, 162, 164, 163, 165, 165, 165, 165, 165, 166, - 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 167, 168, 168, 169, 169, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 171, 171, 171, - 171, 171, 171, 171, 172, 172, 173, 173, 173, 173, - 173, 173, 174, 174, 174, 174, 174, 175, 176, 176, - 176, 176, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 179, 179, 179, 180, 179, 181, 179, 182, - 179, 183, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 184, 179, 185, 179, 186, 179, 187, 179, - 188, 179, 189, 179, 190, 179, 191, 179, 192, 179, - 193, 193, 194, 194, 194, 194, 194, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 196, 196, 196, - 196, 197, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 199, 199, 199, 199, 199, 199, + 0, 144, 145, 145, 146, 146, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 148, 148, 149, 149, 149, 149, 150, 150, 150, 151, + 151, 151, 151, 151, 151, 152, 152, 153, 153, 155, + 156, 154, 157, 157, 159, 158, 160, 160, 162, 161, + 163, 163, 165, 164, 166, 166, 166, 166, 166, 167, + 167, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 169, 169, 170, 170, + 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, + 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, + 171, 171, 171, 171, 171, 171, 171, 172, 172, 172, + 172, 172, 172, 172, 172, 173, 173, 174, 174, 174, + 174, 174, 174, 175, 175, 175, 175, 175, 176, 177, + 177, 177, 177, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 179, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 180, 180, 180, 181, 180, 182, 180, + 183, 180, 184, 180, 180, 180, 180, 180, 180, 180, + 180, 180, 180, 185, 180, 186, 180, 187, 180, 188, + 180, 189, 180, 190, 180, 191, 180, 192, 180, 193, + 180, 194, 194, 195, 195, 195, 195, 195, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 196, 197, 197, + 197, 197, 198, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 200, 200, 200, 200, 200, 201, 201, 201, - 201, 202, 202, 203, 203, 203, 203, 203, 203, 204, - 204, 204, 204, 204, 204, 204, 204, 204, 205, 205, - 205, 205, 206, 206, 206, 206, 207, 207, 208, 208, - 209, 209, 209, 209, 210, 210, 210, 210, 210, 210, - 210 + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 201, 201, 201, 201, 201, 202, 202, + 202, 202, 203, 203, 204, 204, 204, 204, 204, 204, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 206, + 206, 206, 206, 207, 207, 207, 207, 208, 208, 209, + 209, 210, 210, 210, 210, 211, 211, 211, 211, 211, + 211, 211 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1132,30 +1135,30 @@ static const yytype_uint8 yyr2[] = 7, 8, 6, 7, 7, 7, 9, 7, 9, 17, 7, 7, 11, 8, 8, 8, 9, 3, 4, 10, 7, 7, 8, 8, 8, 7, 8, 5, 11, 5, - 9, 4, 9, 4, 1, 1, 0, 2, 6, 6, - 6, 6, 4, 6, 6, 3, 4, 5, 3, 3, - 4, 4, 3, 7, 7, 3, 7, 3, 2, 2, - 15, 2, 6, 8, 8, 10, 1, 2, 1, 3, - 4, 1, 5, 11, 13, 0, 7, 0, 13, 0, - 15, 0, 6, 8, 8, 8, 12, 12, 12, 14, - 14, 14, 0, 12, 0, 12, 0, 12, 0, 16, - 0, 16, 0, 16, 0, 18, 0, 18, 0, 18, - 1, 2, 5, 7, 9, 2, 9, 6, 9, 9, - 8, 9, 8, 8, 6, 4, 6, 10, 10, 10, - 10, 2, 1, 3, 2, 2, 2, 3, 3, 3, + 9, 4, 9, 9, 4, 1, 1, 0, 2, 6, + 6, 6, 6, 4, 6, 6, 3, 4, 5, 3, + 3, 4, 4, 3, 7, 7, 3, 7, 3, 2, + 2, 15, 2, 6, 8, 8, 10, 1, 2, 1, + 3, 4, 1, 5, 11, 13, 0, 7, 0, 13, + 0, 15, 0, 6, 8, 8, 8, 12, 12, 12, + 14, 14, 14, 0, 12, 0, 12, 0, 12, 0, + 16, 0, 16, 0, 16, 0, 18, 0, 18, 0, + 18, 1, 2, 5, 7, 9, 2, 9, 6, 9, + 9, 8, 9, 8, 8, 6, 4, 6, 10, 10, + 10, 10, 2, 1, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 5, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 6, 4, 4, 4, 4, 4, 4, 6, - 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, + 3, 3, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, - 6, 6, 6, 4, 1, 1, 1, 1, 1, 1, - 1, 1, 5, 4, 4, 2, 5, 3, 6, 4, - 7, 6, 1, 2, 2, 3, 3, 11, 9, 7, - 7, 1, 3, 1, 1, 2, 3, 4, 5, 2, - 3, 3, 5, 4, 1, 1, 3, 6, 1, 1, - 3, 3, 9, 7, 1, 5, 3, 6, 1, 3, - 1, 1, 3, 6, 1, 1, 6, 4, 4, 4, - 6 + 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, + 4, 6, 6, 6, 4, 1, 1, 1, 1, 1, + 1, 1, 1, 5, 4, 4, 2, 5, 3, 6, + 4, 7, 6, 1, 2, 2, 3, 3, 11, 9, + 7, 7, 1, 3, 1, 1, 2, 3, 4, 5, + 2, 3, 3, 5, 4, 1, 1, 3, 6, 1, + 1, 3, 3, 9, 7, 1, 5, 3, 6, 1, + 3, 1, 1, 3, 6, 1, 1, 6, 4, 4, + 4, 6 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1168,280 +1171,282 @@ static const yytype_uint16 yydefact[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 156, 0, 161, 0, 0, 158, 0, 0, 0, 0, - 5, 7, 6, 8, 9, 10, 11, 12, 13, 19, - 18, 14, 15, 16, 17, 284, 291, 344, 54, 285, - 286, 287, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 157, 0, 162, 0, 0, 159, 0, 0, 0, + 0, 5, 7, 6, 8, 9, 10, 11, 12, 13, + 19, 18, 14, 15, 16, 17, 285, 292, 345, 54, + 286, 287, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, - 288, 289, 290, 58, 57, 56, 55, 0, 0, 0, - 60, 59, 0, 0, 0, 0, 0, 0, 0, 222, - 0, 0, 0, 0, 149, 0, 151, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 346, 0, + 0, 289, 290, 291, 58, 57, 56, 55, 0, 0, + 0, 60, 59, 0, 0, 0, 0, 0, 0, 0, + 223, 0, 0, 0, 0, 150, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 302, 0, 0, 0, 0, 0, 126, 0, 126, - 0, 0, 0, 0, 126, 221, 0, 126, 0, 0, - 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, - 148, 0, 0, 157, 341, 344, 126, 0, 340, 126, - 0, 0, 0, 0, 0, 295, 29, 0, 0, 0, + 0, 0, 303, 0, 0, 0, 0, 0, 127, 0, + 127, 0, 0, 0, 0, 0, 127, 222, 0, 127, + 0, 0, 0, 0, 0, 0, 335, 0, 0, 0, + 0, 0, 149, 0, 0, 158, 342, 345, 127, 0, + 341, 127, 0, 0, 0, 0, 0, 296, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 291, 225, 224, 226, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, - 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 142, 107, 0, 0, - 0, 0, 291, 0, 0, 324, 325, 328, 329, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 292, 226, + 225, 227, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 66, 146, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 143, 107, + 0, 0, 0, 0, 292, 0, 0, 325, 326, 329, + 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 314, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 313, 0, 314, 0, 0, 0, 0, + 0, 0, 0, 305, 304, 0, 0, 0, 0, 127, + 127, 0, 0, 0, 0, 0, 0, 0, 172, 0, + 127, 126, 0, 125, 0, 0, 0, 0, 136, 0, + 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, + 0, 0, 127, 0, 0, 0, 0, 160, 0, 0, + 0, 139, 0, 140, 0, 0, 298, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 303, 0, 0, 0, 0, 126, 126, 0, - 0, 0, 0, 0, 0, 0, 171, 0, 126, 125, - 0, 124, 0, 0, 0, 135, 0, 0, 0, 0, - 0, 0, 0, 147, 0, 0, 0, 0, 0, 126, - 0, 0, 0, 0, 159, 0, 0, 0, 138, 0, - 139, 0, 0, 297, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, + 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, + 61, 0, 241, 240, 239, 238, 234, 235, 237, 236, + 229, 228, 230, 231, 232, 233, 108, 0, 0, 0, + 0, 0, 0, 225, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, - 0, 54, 0, 0, 0, 0, 0, 61, 0, 240, - 239, 238, 237, 233, 234, 236, 235, 228, 227, 229, - 230, 231, 232, 108, 0, 0, 0, 0, 0, 0, - 224, 319, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 315, 0, + 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 86, 87, 0, 0, 0, + 0, 0, 0, 0, 307, 306, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, + 166, 121, 216, 0, 0, 0, 137, 0, 0, 133, + 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 161, 0, 0, 343, 141, 142, 0, 294, + 300, 0, 39, 0, 0, 0, 52, 0, 30, 31, + 32, 33, 34, 243, 264, 244, 265, 245, 266, 246, + 267, 247, 268, 248, 269, 249, 270, 250, 271, 251, + 272, 263, 284, 252, 273, 0, 0, 254, 275, 255, + 276, 256, 277, 257, 278, 258, 279, 259, 280, 0, + 0, 0, 0, 0, 0, 350, 0, 0, 348, 349, + 79, 0, 0, 0, 0, 0, 54, 0, 0, 0, + 0, 0, 73, 0, 0, 0, 0, 295, 0, 22, + 20, 0, 0, 0, 0, 327, 0, 0, 322, 230, + 321, 331, 332, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 86, 87, 0, 0, 0, 0, 0, 0, - 0, 306, 305, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 0, 0, 165, 121, 215, - 0, 0, 136, 0, 0, 132, 0, 123, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, - 0, 342, 140, 141, 0, 293, 299, 0, 39, 0, - 0, 0, 52, 0, 30, 31, 32, 33, 34, 242, - 263, 243, 264, 244, 265, 245, 266, 246, 267, 247, - 268, 248, 269, 249, 270, 250, 271, 262, 283, 251, - 272, 0, 0, 253, 274, 254, 275, 255, 276, 256, - 277, 257, 278, 258, 279, 0, 0, 0, 0, 0, - 0, 349, 0, 0, 347, 348, 79, 0, 0, 0, - 0, 0, 54, 0, 0, 0, 0, 0, 73, 0, - 0, 0, 0, 294, 0, 22, 20, 0, 0, 0, - 0, 326, 0, 0, 321, 229, 320, 330, 331, 0, + 0, 0, 0, 0, 0, 0, 117, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 316, 0, 0, 0, 0, 0, 0, 0, + 201, 0, 163, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, + 0, 0, 0, 0, 0, 297, 0, 293, 0, 0, + 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 294, 64, 65, 0, 0, + 0, 0, 0, 67, 69, 71, 0, 0, 339, 0, + 77, 242, 21, 0, 0, 0, 0, 0, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 117, 119, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 200, 0, 162, 0, + 0, 0, 0, 318, 0, 92, 0, 0, 0, 0, + 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, - 296, 0, 292, 0, 0, 0, 0, 0, 26, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 293, 64, 65, 0, 0, 0, 0, 0, 67, 69, - 71, 0, 0, 338, 0, 77, 241, 21, 0, 0, - 0, 0, 0, 323, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, - 92, 0, 0, 0, 0, 0, 207, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, - 172, 201, 0, 0, 214, 216, 134, 133, 0, 27, - 28, 0, 0, 0, 335, 0, 0, 0, 152, 0, - 0, 0, 144, 298, 143, 0, 0, 0, 0, 311, - 0, 252, 273, 259, 280, 260, 281, 261, 282, 350, - 346, 301, 0, 54, 0, 0, 0, 0, 62, 0, - 0, 0, 336, 23, 24, 0, 0, 90, 0, 322, - 0, 95, 0, 97, 0, 0, 93, 0, 0, 110, - 111, 0, 0, 94, 115, 318, 0, 0, 0, 0, - 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 146, 0, 0, 0, 0, 126, 0, 182, 0, 184, - 0, 186, 0, 0, 0, 0, 313, 0, 0, 0, - 0, 166, 0, 100, 101, 0, 0, 0, 0, 80, - 0, 343, 300, 0, 35, 0, 0, 0, 0, 0, - 37, 0, 0, 0, 74, 0, 0, 75, 0, 339, - 0, 0, 327, 0, 0, 0, 103, 0, 0, 112, - 0, 0, 0, 212, 105, 0, 0, 0, 0, 0, - 210, 213, 114, 91, 104, 113, 116, 0, 0, 0, - 310, 0, 309, 0, 0, 173, 0, 0, 174, 0, - 0, 175, 0, 128, 129, 130, 131, 0, 0, 0, - 0, 0, 0, 0, 0, 333, 0, 154, 153, 0, - 0, 0, 40, 0, 0, 0, 312, 0, 0, 0, - 63, 70, 72, 0, 78, 0, 25, 0, 0, 96, - 98, 0, 0, 0, 0, 0, 0, 106, 209, 208, - 211, 84, 85, 126, 0, 120, 0, 0, 0, 0, - 0, 0, 202, 0, 0, 126, 0, 122, 0, 0, - 0, 0, 81, 82, 0, 36, 0, 0, 0, 38, - 53, 0, 337, 0, 217, 218, 219, 220, 109, 0, - 0, 0, 0, 308, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 167, 0, 0, 332, - 155, 0, 0, 0, 0, 0, 76, 0, 0, 0, - 118, 0, 188, 0, 0, 190, 0, 0, 192, 0, - 0, 0, 203, 0, 163, 0, 126, 102, 83, 0, - 44, 0, 50, 0, 0, 0, 89, 307, 176, 0, - 0, 183, 177, 0, 0, 185, 178, 0, 0, 187, - 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, - 0, 194, 0, 196, 0, 198, 204, 206, 168, 164, - 0, 41, 0, 48, 0, 0, 0, 0, 179, 0, - 0, 180, 0, 0, 181, 0, 0, 0, 42, 0, - 0, 150, 0, 0, 0, 0, 0, 0, 0, 170, - 0, 0, 0, 0, 0, 189, 0, 191, 0, 193, - 0, 43, 45, 0, 46, 0, 99, 0, 0, 0, - 0, 0, 51, 195, 197, 199, 47, 49 + 0, 0, 206, 0, 0, 173, 202, 0, 0, 215, + 217, 0, 135, 134, 0, 27, 28, 0, 0, 0, + 336, 0, 0, 0, 153, 0, 0, 0, 145, 299, + 144, 0, 0, 0, 0, 312, 0, 253, 274, 260, + 281, 261, 282, 262, 283, 351, 347, 302, 0, 54, + 0, 0, 0, 0, 62, 0, 0, 0, 337, 23, + 24, 0, 0, 90, 0, 323, 0, 95, 0, 97, + 0, 0, 93, 0, 0, 110, 111, 0, 0, 94, + 115, 319, 0, 0, 0, 0, 88, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, + 0, 127, 0, 183, 0, 185, 0, 187, 0, 0, + 0, 0, 314, 0, 0, 0, 0, 167, 0, 0, + 100, 101, 0, 0, 0, 0, 80, 0, 344, 301, + 0, 35, 0, 0, 0, 0, 0, 37, 0, 0, + 0, 74, 0, 0, 75, 0, 340, 0, 0, 328, + 0, 0, 0, 103, 0, 0, 112, 0, 0, 0, + 213, 105, 0, 0, 0, 0, 0, 211, 214, 114, + 91, 104, 113, 116, 0, 0, 0, 311, 0, 310, + 0, 0, 174, 0, 0, 175, 0, 0, 176, 0, + 129, 130, 131, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 334, 0, 155, 154, 0, 0, 0, + 40, 0, 0, 0, 313, 0, 0, 0, 63, 70, + 72, 0, 78, 0, 25, 0, 0, 96, 98, 0, + 0, 0, 0, 0, 0, 106, 210, 209, 212, 84, + 85, 127, 0, 120, 0, 0, 0, 0, 0, 0, + 203, 0, 0, 127, 0, 123, 122, 0, 0, 0, + 0, 81, 82, 0, 36, 0, 0, 0, 38, 53, + 0, 338, 0, 218, 219, 220, 221, 109, 0, 0, + 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 168, 0, 0, 333, 156, + 0, 0, 0, 0, 0, 76, 0, 0, 0, 118, + 0, 189, 0, 0, 191, 0, 0, 193, 0, 0, + 0, 204, 0, 164, 0, 127, 102, 83, 0, 44, + 0, 50, 0, 0, 0, 89, 308, 177, 0, 0, + 184, 178, 0, 0, 186, 179, 0, 0, 188, 0, + 0, 0, 170, 0, 0, 0, 0, 0, 0, 0, + 195, 0, 197, 0, 199, 205, 207, 169, 165, 0, + 41, 0, 48, 0, 0, 0, 0, 180, 0, 0, + 181, 0, 0, 182, 0, 0, 0, 42, 0, 0, + 151, 0, 0, 0, 0, 0, 0, 0, 171, 0, + 0, 0, 0, 0, 190, 0, 192, 0, 194, 0, + 43, 45, 0, 46, 0, 99, 0, 0, 0, 0, + 0, 51, 196, 198, 200, 47, 49 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 2, 3, 60, 647, 61, 62, 395, 943, 949, - 574, 733, 1074, 1197, 575, 1165, 1223, 576, 1199, 577, - 578, 737, 126, 215, 63, 511, 976, 534, 305, 360, - 361, 66, 67, 68, 69, 70, 306, 709, 1135, 1180, - 535, 996, 999, 1002, 1149, 1153, 1157, 1189, 1192, 1195, - 705, 706, 72, 73, 74, 323, 129, 341, 171, 848, - 849, 325, 309, 196, 642, 764, 207, 208 + -1, 2, 3, 61, 651, 62, 63, 398, 950, 956, + 578, 738, 1083, 1206, 579, 1174, 1232, 580, 1208, 581, + 582, 742, 127, 217, 64, 514, 983, 537, 307, 362, + 363, 67, 68, 69, 70, 71, 308, 713, 1144, 1189, + 538, 1003, 1006, 1009, 1158, 1162, 1166, 1198, 1201, 1204, + 709, 710, 73, 74, 75, 325, 130, 343, 172, 854, + 855, 327, 311, 198, 646, 769, 209, 210 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -1024 +#define YYPACT_NINF -1032 static const yytype_int16 yypact[] = { - 2825, 24, 41, 2903, -1024, -1024, 2027, 43, 27, -60, - 15, 86, -82, -25, -22, -11, -14, 52, -45, 59, - 123, 72, -30, 107, 127, 140, 220, 144, 58, 172, - 175, 476, 476, 178, 454, 186, 289, 308, 10, 357, - 325, 247, 386, 390, 393, 276, 301, 343, 11, 38, - -1024, 365, -1024, 499, 383, -1024, 518, 523, 8, 33, - -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, - -1024, -1024, -1024, -1024, -1024, -1024, 23, 388, 317, -1024, - -1024, -1024, -37, 173, 207, 225, 246, 275, 286, 353, - 366, 398, 422, 449, 471, 495, 544, 548, 551, 581, - 599, 600, 605, 415, 423, 433, 442, -1024, 574, 465, - -1024, -1024, -1024, -1024, -1024, -1024, -1024, 2239, 2239, 2239, - -1024, -1024, 2239, 1665, 7, 604, 2239, 597, 337, -1024, - 612, 615, 2239, 640, -1024, 2239, -1024, 2239, 2076, 2239, - 2239, 513, 2239, 2076, 2239, 2239, 554, 2076, 2239, 2239, - 1332, 558, 2239, 542, 580, 590, 1332, 591, 603, 595, - 606, 609, 626, 630, 763, 476, 476, 476, 2239, 2239, - 174, -1024, 245, 476, 631, 656, 660, 1895, 384, 567, - 1332, 1332, 14, 645, -1024, -1024, 672, 567, 680, 694, - 764, 2239, 2239, 2239, 651, 2239, 698, 748, 2239, 2239, - -1024, 2239, 787, -1024, 458, -1024, -1024, 840, -1024, -1024, - 851, 732, 2239, 860, 733, -1024, -1024, 866, 2239, 2239, - 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, - 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, - 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, - 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, - 508, 508, 508, 508, 2239, 876, 300, 753, 753, 753, - 5164, 48, 2076, 4428, 294, 752, 885, 758, 1041, -1024, - -1024, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, - 2239, 2239, 2239, 2239, 2239, 2239, -1024, -1024, 1838, -103, - 3674, 5185, 648, 754, 2076, -1024, -1024, 2576, -1024, 497, - 5206, 5227, 2239, 5248, 535, 5269, 5290, 2239, 619, 5311, - 5332, 1464, 1187, 2607, 888, -1024, 2239, 5353, 2239, 2239, - 2239, 891, 2239, 2239, 2239, 2202, 2202, 2202, 2202, 765, - -8, -1024, -1024, 3700, 3726, 476, 476, 567, 567, 305, - 2239, 2239, 2239, 1895, 1895, 2239, 2969, 402, -1024, -1024, - 759, 2969, 267, 894, 898, -1024, 2239, 2239, 1046, 2076, - 768, 2239, 2239, -1024, 5374, 5395, 5416, 821, 3752, -1024, - 774, 2626, 5437, 4451, -1024, 2239, 911, 1370, -1024, 1502, - -1024, 2239, 4474, 253, 2239, 5, -1024, 5458, 4497, 5479, - 4520, 5500, 4543, 5521, 4566, 5542, 4589, 5563, 4612, 5584, - 4635, 5605, 4658, 5626, 4681, 5647, 4704, 5668, 4727, 3778, - 3804, 5689, 4750, 5710, 4773, 5731, 4796, 5752, 4819, 5773, - 4842, 5794, 4865, 3830, 3856, 3882, 3908, 3934, 3960, 2, - 777, 783, 784, 2180, 785, 2239, -1024, 1332, 1332, 625, - 265, 317, 2239, 919, 922, 12, 792, -1024, 2649, 629, - 701, 728, 728, 138, 138, 138, 138, 168, 168, 753, - 753, 753, 753, -1024, 47, 2076, 2239, 923, 1860, 2239, - 753, -1024, 2239, 2076, 2076, 834, 924, 925, 5815, 926, - 839, 929, 930, 5836, 843, 935, 936, 2076, -1024, 635, - 1596, 2239, 5857, 937, 2726, 5878, 5899, 2239, 2976, 3004, - 5920, 811, 6151, -1024, 812, 813, 814, 815, 476, 2239, - 2239, -1024, -1024, 808, 810, 2239, 3986, 4012, 4038, 3648, - -79, 135, -43, -66, -1024, 507, 476, 1766, -1024, -1024, - 2239, 2239, -1024, 4888, 4911, -1024, 636, -1024, 4934, 4957, - 946, 947, 948, 820, 2239, 1888, 2239, 2239, -1024, 22, - 4980, -1024, -1024, -1024, 5003, 44, -1024, 3032, -1024, 825, - 830, 824, -1024, 959, -1024, -1024, -1024, -1024, -1024, -1024, - -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, - -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, - -1024, 2239, 2239, -1024, -1024, -1024, -1024, -1024, -1024, -1024, - -1024, -1024, -1024, -1024, -1024, 2239, 2239, 2239, 2239, 2239, - 2239, -1024, 2076, 508, -1024, -1024, -1024, 2239, 5026, 960, - 962, 833, -1024, 13, 2239, 964, 981, 2285, -1024, 982, - 853, 11, 985, -1024, 2239, -1024, 873, 508, 205, 4064, - 476, -1024, 2076, 3060, 2677, 753, -1024, 2576, -1024, 945, - 1332, 1332, 988, 1332, 735, 1332, 1332, 993, 950, 1332, - 1332, 650, -1024, 2076, 2313, 995, 863, 997, 998, 1000, - 1119, 1001, 1003, 1005, 1006, 1008, 1009, 1010, 1015, 501, - 4090, 4116, -1024, -1024, 3088, 476, 476, 476, 2076, 2076, - 2076, 2076, 1016, 881, 892, -39, -1024, 503, -1024, 507, - 2332, 2365, 1018, 1021, 979, 1023, 1024, 1332, 1332, 1332, - 1027, 4142, -1024, 2696, 858, 1028, 1029, 897, 1033, 1045, - -1024, 1044, -1024, 921, 2239, 2239, 1332, 912, -1024, 5941, - 5049, 5962, 5072, 5983, 5095, 6004, 5118, 333, 927, 6025, - -52, -1024, -1024, 87, 302, 928, 1049, 2384, -1024, -1024, - -1024, 11, 2239, -1024, 653, -1024, 6151, -1024, 1056, 62, - 2239, 0, 658, -1024, 2239, 933, 28, 37, 1332, 1058, - 934, 939, 1060, 1061, 1332, 940, 1062, 1063, -1024, 665, - -1024, 1065, 2239, 1332, 1332, 1332, -1024, 376, 1332, 1332, - 1332, 1332, 1332, 1332, 1332, 459, 2239, 2239, 2239, 941, - 277, 435, 466, 666, 669, 670, 695, -1024, 1332, 2239, - -1024, -1024, 1895, -15, -1024, -1024, -1024, -1024, 942, -1024, - -1024, 1069, 1070, 986, -1024, 2239, 2239, 2239, -1024, 1077, - 1079, 1080, -1024, 253, -1024, 2239, 4168, 4194, 696, -1024, - 2239, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, - -1024, -1024, 1332, 317, 2239, 1082, 1095, 12, -1024, 1103, - 5141, 11, -1024, -1024, -1024, 508, 4220, -1024, 965, 6151, - 2239, -1024, 476, -1024, 476, 1105, -1024, 2239, 2239, -1024, - -1024, 1106, 2239, -1024, -1024, -1024, 1108, 4246, 1109, 1110, - 1019, 2239, 2239, 835, 1111, 1113, 1114, 1116, 1120, 1121, - -1024, 2202, 3116, 6046, 1151, 567, 476, 1123, 476, 1124, - 476, 1125, 1126, 1131, 1132, 1134, 534, 1002, 6067, 3144, - 539, -1024, 2239, -1024, -1024, 1332, 2920, 583, 6088, -1024, - 1728, -1024, -1024, 341, 6151, 2239, 2239, 1332, 1007, 703, - 6151, 1137, 1139, 2407, -1024, 1141, 1143, -1024, 1013, -1024, - 1146, 2239, -1024, 3172, 56, 85, -1024, 3200, 3228, -1024, - 3256, 1149, 2239, -1024, -1024, 1122, 1164, 2435, 2454, 1166, - -1024, -1024, -1024, -1024, -1024, -1024, -1024, 2487, 1168, 1035, - -1024, 2239, -1024, 1037, 541, -1024, 1036, 546, -1024, 1039, - 549, -1024, 1042, -1024, -1024, -1024, -1024, 1175, 1332, 1176, - 1048, 2239, 3284, 1094, 2239, -1024, 2239, -1024, -1024, 2076, - 2506, 1179, -1024, 2239, 4272, 4298, -1024, 1332, 2239, 1180, - -1024, -1024, -1024, 11, -1024, 1099, -1024, 4324, 1188, -1024, - -1024, 1189, 1193, 1194, 1216, 4350, 1053, -1024, -1024, -1024, - -1024, -1024, -1024, 567, 2948, -1024, 1895, 507, 1895, 507, - 1895, 507, -1024, 717, 1332, -1024, 3312, -1024, 2239, 3340, - 3368, 724, -1024, -1024, 1083, 6151, 2239, 2239, 729, 6151, - -1024, 1218, -1024, 2239, -1024, -1024, -1024, -1024, -1024, 1220, - 2239, 1085, 2239, -1024, 3396, 588, -13, 3424, 598, 224, - 3452, 602, 232, 1332, 1221, 1167, 2233, 1089, 2529, -1024, - -1024, 1225, 2239, 6109, 4376, 17, -1024, 4402, 1093, 3480, - -1024, 3508, 1241, 2239, 1242, 1243, 2239, 1252, 1253, 2239, - 1254, 1138, -1024, 2239, -1024, 507, -1024, -1024, -1024, 730, - -1024, 2239, -1024, 1332, 2239, 1256, -1024, -1024, -1024, 1140, - 3536, -1024, -1024, 1145, 3564, -1024, -1024, 1147, 3592, -1024, - 1275, 2557, 241, 2337, 1282, 1157, 6130, 738, 3620, 1150, - 507, 1285, 507, 1292, 507, 1293, -1024, -1024, -1024, -1024, - 507, -1024, 508, -1024, 1160, 1295, 1257, 348, -1024, 1162, - 412, -1024, 1163, 432, -1024, 1165, 451, 739, -1024, 1169, - 1332, -1024, 1171, 1298, 507, 1301, 507, 1302, 507, -1024, - 508, 1307, 508, 745, 1308, -1024, 460, -1024, 482, -1024, - 490, -1024, -1024, 749, -1024, 1310, -1024, 1312, 1313, 1315, - 508, 1316, -1024, -1024, -1024, -1024, -1024, -1024 + 2859, 31, 74, 2938, -1032, -1032, 2048, 38, 67, -2, + 21, 123, -55, 19, 52, -54, 53, 57, -29, 60, + 63, 148, -25, 165, 221, 253, 162, 259, 581, 187, + 183, 338, 338, 205, 257, 214, 325, 362, 341, 16, + 417, 394, 303, 444, 448, 454, 327, 344, 349, 14, + 24, -1032, 360, -1032, 496, 339, -1032, 502, 512, 11, + 27, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, + -1032, -1032, -1032, -1032, -1032, -1032, -1032, 18, 371, 380, + -1032, -1032, -1032, 76, 137, 254, 266, 278, 305, 377, + 398, 451, 476, 508, 511, 533, 542, 545, 583, 590, + 594, 597, 618, 630, 385, 395, 403, 415, -1032, 558, + 418, -1032, -1032, -1032, -1032, -1032, -1032, -1032, 2257, 2257, + 2257, -1032, -1032, 2257, 1686, 9, 566, 2257, 567, 1986, + -1032, 576, 591, 2257, 608, -1032, 2257, -1032, 2257, 2185, + 2257, 2257, 468, 2257, 2185, 2257, 2257, 488, 2185, 2257, + 2257, 1348, 491, 2257, 500, 515, 572, 1348, 532, 571, + 573, 582, 587, 593, 598, 711, 338, 338, 338, 2257, + 2257, -41, -1032, -30, 338, 596, 612, 619, 1915, 218, + 691, 1348, 1348, 633, 6, 627, -1032, -1032, 634, 691, + 653, 664, 798, 2257, 2257, 2257, 667, 2257, 668, 721, + 2257, 2257, -1032, 2257, 818, -1032, 160, -1032, -1032, 829, + -1032, -1032, 838, 724, 2257, 859, 723, -1032, -1032, 864, + 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, + 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, + 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, + 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, + 2257, 2257, 368, 368, 368, 368, 2257, 870, 539, 746, + 746, 746, 5174, 23, 2185, 4438, 163, 748, 877, 754, + 2114, -1032, -1032, 2257, 2257, 2257, 2257, 2257, 2257, 2257, + 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, -1032, -1032, + 2290, 124, 3684, 5195, 655, 750, 2185, -1032, -1032, 2627, + -1032, 157, 5216, 5237, 2257, 5258, 450, 5279, 5300, 2257, + 465, 5321, 5342, 1481, 1214, 2646, 887, -1032, 2257, 5363, + 2257, 2257, 2257, 888, 2257, 2257, 2257, 2312, 2312, 2312, + 2312, 761, -81, -1032, -1032, 3710, 3736, 338, 338, 691, + 691, -70, 2257, 2257, 2257, 1915, 1915, 2257, 1106, 220, + -1032, -1032, 755, 1106, 256, 892, 2257, 894, -1032, 2257, + 2257, 996, 2185, 759, 2257, 2257, -1032, 5384, 5405, 5426, + 811, 3762, -1032, 764, 2665, 5447, 4461, -1032, 2257, 902, + 1252, -1032, 1386, -1032, 2257, 4484, 333, 2257, 5, -1032, + 5468, 4507, 5489, 4530, 5510, 4553, 5531, 4576, 5552, 4599, + 5573, 4622, 5594, 4645, 5615, 4668, 5636, 4691, 5657, 4714, + 5678, 4737, 3788, 3814, 5699, 4760, 5720, 4783, 5741, 4806, + 5762, 4829, 5783, 4852, 5804, 4875, 3840, 3866, 3892, 3918, + 3944, 3970, 176, 768, 774, 775, 2341, 771, 2257, -1032, + 1348, 1348, 631, 265, 380, 2257, 908, 911, 22, 780, + -1032, 2684, 1545, 622, 657, 657, 364, 364, 364, 364, + -51, -51, 746, 746, 746, 746, -1032, 51, 2185, 2257, + 912, 1880, 2257, 746, -1032, 2257, 2185, 2185, 822, 913, + 914, 5825, 915, 827, 917, 919, 5846, 831, 923, 924, + 2185, -1032, 654, 1614, 2257, 5867, 925, 2759, 5888, 5909, + 2257, 2986, 3014, 5930, 801, 6182, -1032, 802, 808, 809, + 795, 338, 2257, 2257, -1032, -1032, 803, 807, 2257, 3996, + 4022, 4048, 3658, -33, -42, 10, -14, -1032, 188, 338, + 1519, -1032, -1032, 2257, 2257, 5951, -1032, 4898, 4921, -1032, + 661, -1032, 4944, 4967, 943, 944, 945, 819, 2257, 1785, + 2257, 2257, -1032, 33, 4990, -1032, -1032, -1032, 5013, 68, + -1032, 3042, -1032, 824, 825, 820, -1032, 954, -1032, -1032, + -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, + -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, + -1032, -1032, -1032, -1032, -1032, 2257, 2257, -1032, -1032, -1032, + -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, 2257, + 2257, 2257, 2257, 2257, 2257, -1032, 2185, 368, -1032, -1032, + -1032, 2257, 5036, 956, 958, 828, -1032, 89, 2257, 960, + 961, 2362, -1032, 964, 832, 14, 966, -1032, 2257, -1032, + 852, 368, 228, 4074, 338, -1032, 2185, 3070, 2708, 746, + -1032, 2627, -1032, 926, 1348, 1348, 969, 1348, 599, 1348, + 1348, 970, 927, 1348, 1348, 670, -1032, 2185, 2381, 972, + 842, 977, 978, 979, 1065, 980, 981, 982, 983, 984, + 985, 1003, 1007, 422, 4100, 4126, -1032, -1032, 3098, 338, + 338, 338, 2185, 2185, 2185, 2185, 1008, 874, 882, -12, + -1032, 459, -1032, 188, 2418, 2437, 883, 1012, 1014, 974, + 1019, 1021, 1348, 1348, 1348, 1024, 4152, -1032, 2729, 1858, + 1025, 1026, 895, 1028, 1031, -1032, 1030, -1032, 898, 2257, + 2257, 1348, 896, -1032, 5972, 5059, 5993, 5082, 6014, 5105, + 6035, 5128, 231, 903, 6056, -86, -1032, -1032, 12, 355, + 916, 1042, 2464, -1032, -1032, -1032, 14, 2257, -1032, 673, + -1032, 6182, -1032, 1045, 55, 2257, 35, 674, -1032, 2257, + 921, 15, 29, 1348, 1051, 928, 929, 1052, 1054, 1348, + 932, 1058, 1060, -1032, 688, -1032, 1063, 2257, 1348, 1348, + 1348, -1032, 481, 1348, 1348, 1348, 1348, 1348, 1348, 1348, + 629, 2257, 2257, 2257, 933, 180, 216, 464, 689, 692, + 699, 700, -1032, 1348, 2257, -1032, -1032, 1915, 186, -1032, + -1032, 2185, -1032, -1032, 934, -1032, -1032, 1070, 1071, 986, + -1032, 2257, 2257, 2257, -1032, 1073, 1076, 1084, -1032, 333, + -1032, 2257, 4178, 4204, 703, -1032, 2257, -1032, -1032, -1032, + -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, 1348, 380, + 2257, 1083, 1086, 22, -1032, 1085, 5151, 14, -1032, -1032, + -1032, 368, 4230, -1032, 955, 6182, 2257, -1032, 338, -1032, + 338, 1087, -1032, 2257, 2257, -1032, -1032, 1089, 2257, -1032, + -1032, -1032, 1092, 4256, 1093, 1094, 1002, 2257, 2257, 791, + 1095, 1096, 1097, 1098, 1099, 1100, -1032, 2312, 3126, 6077, + 568, 691, 338, 1101, 338, 1103, 338, 1104, 1105, 1107, + 1108, 1109, 309, 988, 6098, 3154, 469, -1032, 707, 2257, + -1032, -1032, 1348, 2930, 879, 6119, -1032, 1747, -1032, -1032, + 280, 6182, 2257, 2257, 1348, 971, 708, 6182, 1111, 1114, + 2485, -1032, 1115, 1117, -1032, 987, -1032, 1118, 2257, -1032, + 3182, 50, 56, -1032, 3210, 3238, -1032, 3266, 1116, 2257, + -1032, -1032, 1082, 1126, 2504, 2523, 1128, -1032, -1032, -1032, + -1032, -1032, -1032, -1032, 2542, 1129, 995, -1032, 2257, -1032, + 997, 471, -1032, 999, 514, -1032, 1000, 528, -1032, 1001, + -1032, -1032, -1032, -1032, 1137, 1348, 1139, 1006, 2257, 1138, + 3294, 1077, 2257, -1032, 2257, -1032, -1032, 2185, 2561, 1158, + -1032, 2257, 4282, 4308, -1032, 1348, 2257, 1161, -1032, -1032, + -1032, 14, -1032, 1078, -1032, 4334, 1164, -1032, -1032, 1167, + 1168, 1169, 1170, 4360, 1036, -1032, -1032, -1032, -1032, -1032, + -1032, 691, 2958, -1032, 1915, 188, 1915, 188, 1915, 188, + -1032, 712, 1348, -1032, 3322, -1032, -1032, 2257, 3350, 3378, + 713, -1032, -1032, 1037, 6182, 2257, 2257, 716, 6182, -1032, + 1191, -1032, 2257, -1032, -1032, -1032, -1032, -1032, 1194, 2257, + 1059, 2257, -1032, 3406, 534, 314, 3434, 578, 329, 3462, + 580, 366, 1348, 1196, 1143, 1908, 1067, 2587, -1032, -1032, + 1200, 2257, 6140, 4386, 28, -1032, 4412, 1069, 3490, -1032, + 3518, 1204, 2257, 1205, 1206, 2257, 1207, 1208, 2257, 1209, + 1074, -1032, 2257, -1032, 188, -1032, -1032, -1032, 727, -1032, + 2257, -1032, 1348, 2257, 1195, -1032, -1032, -1032, 1079, 3546, + -1032, -1032, 1080, 3574, -1032, -1032, 1081, 3602, -1032, 1213, + 2608, 421, 2079, 1220, 1110, 6161, 731, 3630, 1112, 188, + 1221, 188, 1243, 188, 1244, -1032, -1032, -1032, -1032, 188, + -1032, 368, -1032, 1113, 1247, 1250, 424, -1032, 1119, 435, + -1032, 1120, 456, -1032, 1121, 461, 734, -1032, 1125, 1348, + -1032, 1127, 1253, 188, 1261, 188, 1262, 188, -1032, 368, + 1264, 368, 740, 1265, -1032, 478, -1032, 489, -1032, 492, + -1032, -1032, 743, -1032, 1266, -1032, 1267, 1268, 1269, 368, + 1270, -1032, -1032, -1032, -1032, -1032, -1032 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1024, -1024, -1024, -1024, 555, -1024, -1024, -1024, -1024, 211, - -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, - -1024, -1024, -272, 18, -1024, -126, -1024, 1323, 4, -179, - -174, -1024, -1024, -1024, -1024, -1024, 1324, -1024, -1024, -1024, - -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, - -687, -653, -1024, -1024, -1024, -5, -1024, 226, -1024, -1023, - 242, 298, 19, -616, 462, -1024, -59, -1 + -1032, -1032, -1032, -1032, 482, -1032, -1032, -1032, -1032, 156, + -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, + -1032, -1032, -274, 17, -1032, -242, -1032, 1255, 4, -183, + -175, -1032, -1032, -1032, -1032, -1032, 1282, -1032, -1032, -1032, + -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, + -356, -651, -1032, -1032, -1032, -5, -1032, 281, -1032, -1031, + -143, 236, 251, -620, 413, -1032, -60, -1 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1451,1398 +1456,1405 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -5 static const yytype_int16 yytable[] = { - 210, 128, 452, 356, 1078, 130, 877, 65, 370, 568, - 368, 274, 204, 205, 182, 194, 640, 754, 364, 151, - 365, 134, 823, 1142, 127, 763, 146, 211, 146, 725, - 4, 474, 387, 702, 881, 389, 475, 204, 205, 703, - 704, 5, 197, 883, 103, 104, 105, 106, 204, 205, - 107, 137, 821, 645, 137, 447, 131, 702, 138, 702, - 141, 698, 1039, 703, 704, 703, 704, 149, 874, 103, - 104, 105, 106, 133, 701, 107, 132, 217, 120, 121, - 103, 104, 105, 106, 882, 729, 107, 569, 570, 571, - 572, 1040, 136, 884, 632, 147, 218, 700, 219, 275, - 276, 160, 820, 152, 161, 755, 756, 162, 139, 163, - 183, 140, 267, 268, 269, 345, 346, 270, 273, 144, - 1167, 278, 142, 345, 346, 150, 931, 298, 1124, 143, - 300, 518, 301, 307, 310, 311, 621, 313, 307, 315, - 316, 622, 307, 319, 320, 869, 573, 327, 206, 366, - 184, 195, 641, 120, 121, 135, 153, 1143, 212, 726, - 213, 448, 314, 343, 344, 214, 318, 646, 523, 524, - 821, 198, 344, 209, 120, 121, 154, 1213, 634, 345, - 346, 729, 646, 359, 537, 145, 374, 375, 376, 155, - 378, 359, 148, 381, 382, 159, 383, 113, 114, 115, - 116, 439, 440, 441, 442, 555, 141, 392, 345, 346, - 514, 515, 516, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 438, 959, 149, 170, 172, 443, - 178, 290, 291, 292, 293, 294, 156, 307, 142, 157, - 295, 158, 632, 539, 540, 699, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 449, 453, 292, 293, 294, 702, 345, 346, 480, - 295, 451, 703, 704, 702, 164, 220, 488, 221, 863, - 703, 704, 493, 702, 347, 165, 480, 307, 173, 703, - 704, 502, 205, 504, 505, 506, 179, 508, 509, 510, - 512, 512, 512, 512, 513, 513, 513, 513, 180, 769, - 222, 499, 223, 280, 484, 526, 527, 528, 267, 268, - 529, 359, 359, 103, 104, 105, 106, 181, 224, 107, - 225, 543, 544, 185, 307, 1127, 548, 549, 345, 346, - 1096, 186, 1099, 1130, 1102, 113, 114, 115, 116, 226, - 560, 227, 1178, 120, 121, 348, 564, 187, 546, 567, - 188, 340, 324, 342, 189, 120, 121, 190, 331, 349, - 345, 346, 633, 357, 113, 114, 115, 116, 228, 191, - 229, 566, 113, 114, 115, 116, 916, 1081, 917, 230, - 702, 231, 362, 363, 120, 121, 703, 704, 345, 346, - 120, 121, 120, 121, 192, 445, 308, 213, 901, 902, - 628, 308, 214, 821, 525, 308, 821, 637, 1162, 821, - 636, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 910, 911, 859, 635, 295, - 307, 649, 484, 628, 653, 1022, 193, 654, 655, 657, - 1023, 862, 864, 1187, 702, 1190, 232, 1193, 233, 1203, - 703, 704, 307, 1196, 648, 655, 674, 174, 199, 234, - 175, 235, 680, 176, 702, 200, 731, 345, 346, 821, - 703, 704, 204, 205, 690, 691, 671, 1216, 201, 1218, - 694, 1220, 202, 702, 358, 345, 346, 203, 216, 703, - 704, 236, 702, 237, 821, 710, 711, 821, 703, 704, - 821, 536, 482, 821, 103, 104, 105, 106, 260, 721, - 107, 723, 724, 1205, 702, 238, 261, 239, 345, 346, - 703, 704, 702, 821, 748, 821, 262, 821, 703, 704, - 308, 521, 522, 1207, 918, 263, 919, 166, 167, 702, - 342, 264, 240, 730, 241, 703, 704, 168, 768, 345, - 346, 1016, 1209, 385, 177, 386, 739, 740, 265, 166, - 167, 1227, 481, 279, 242, 920, 243, 921, 277, 168, - 741, 742, 743, 744, 745, 746, 169, 307, 296, 481, - 308, 297, 749, 1228, 345, 346, 345, 346, 244, 757, - 245, 1229, 30, 31, 32, 33, 484, 35, 485, 766, - 806, 747, 822, 40, 41, 299, 312, 307, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 500, - 293, 294, 345, 346, 345, 346, 295, 308, 307, 345, - 346, 772, 345, 346, 484, 1007, 490, 246, 1011, 247, - 1056, 248, 328, 249, 250, 1058, 251, 317, 1060, 629, - 630, 326, 789, 307, 307, 307, 307, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 345, 346, 329, 252, 295, 253, 813, 814, 815, - 816, 345, 346, 330, 1017, 345, 346, 1123, 334, 846, - 847, 332, 254, 256, 255, 257, 993, 1126, 258, 335, - 259, 1129, 336, 333, 689, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 870, 484, 337, - 494, 295, 707, 338, 484, 876, 631, 339, 730, 879, - 373, 350, 865, 308, 484, 484, 672, 714, 120, 121, - 367, 656, 658, 478, 780, 213, 781, 897, 377, 484, - 214, 788, 871, 384, 872, 308, 351, 484, 656, 878, - 352, 912, 913, 914, 484, 484, 895, 922, 484, 484, - 923, 924, 369, 926, 928, 371, 960, 929, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 372, - 936, 937, 938, 295, 484, 947, 925, 948, 379, 979, - 944, 980, 1028, 380, 1029, 950, 388, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 1103, 390, 1104, 953, - 295, 942, 952, 484, 393, 1111, 837, 391, 947, 1028, - 1115, 1164, 396, 394, 1091, 963, 771, 947, 1210, 1184, - 1211, 444, 967, 968, 947, 295, 1225, 970, 1230, 454, - 1231, 1106, 455, 456, 479, 501, 977, 978, 507, 517, - 538, 541, 776, 777, 542, 779, 987, 782, 783, 547, - 988, 786, 787, 553, 556, 561, 623, 624, 625, 359, - 308, 810, 811, 812, 627, 638, 639, 1012, 643, 659, - 650, 660, 661, 663, 664, 1020, 665, 666, 668, 1021, - 1024, 1025, 669, 670, 676, 684, 685, 686, 687, 692, - 308, 693, 688, 717, 718, 719, 1037, 720, 734, 831, - 832, 833, 1163, 735, 736, 738, 751, 1045, 752, 753, - 758, 308, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 1054, 759, 762, 761, - 295, 765, 838, 767, 775, 778, 308, 308, 308, 308, - 784, 785, 791, 792, 793, 794, 1066, 795, 798, 1069, - 799, 1070, 800, 801, 307, 802, 803, 804, 1075, 805, - 885, 818, 817, 1079, 826, 819, 891, 827, 828, 829, - 830, 834, 839, 840, 841, 898, 899, 900, 1071, 842, - 903, 904, 905, 906, 907, 908, 909, 457, 930, 843, - 844, 1094, 850, 1097, 845, 1100, 867, 359, 7, 8, - 927, 860, 873, 1108, 886, 866, 889, 890, 893, 894, - 896, 1113, 1114, 880, 887, 933, 934, 935, 1117, 888, - 892, 915, 932, 939, 941, 1119, 940, 1121, 954, 530, - 13, 14, 531, 16, 17, 532, 19, 533, 21, 955, - 22, 962, 24, 25, 951, 27, 28, 950, 964, 957, - 965, 966, 969, 971, 975, 973, 974, 981, 1150, 982, - 983, 1154, 984, 1198, 1158, 796, 985, 986, 1161, 995, - 998, 1001, 1003, 45, 46, 47, 1166, 1004, 1005, 1168, - 1006, 1008, 994, 1030, 997, 1031, 1000, 1027, 1033, 1034, - 1035, 1221, 1036, 1224, 1044, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 1046, - 1047, 1236, 1050, 295, 1052, 1053, 1057, 1013, 1055, 1059, - 797, 1062, 1061, 1064, 1068, 1073, 1080, 545, 1065, 1026, - 75, 302, 1082, 1090, 1084, 1085, 79, 80, 81, 1086, - 1087, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 1088, 1112, 1116, 1118, 1120, 1132, 1133, 1136, - 303, 1138, 1145, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 1148, 1151, 1152, - 1063, 295, 30, 31, 32, 33, 34, 35, 1155, 1156, - 1159, 1169, 1202, 40, 41, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 1160, - 1170, 1176, 1095, 295, 1098, 1172, 1101, 1174, 1181, 1186, - 991, 1188, 992, 109, 110, 111, 112, 1182, 1191, 1194, - 1200, 1201, 1204, 1206, 1215, 1208, 1105, 1217, 1219, 1212, - 117, 304, 1214, 1222, 1226, 119, 1232, 308, 1233, 1234, - 122, 1235, 1237, 1139, 875, 125, 64, 71, 498, 956, - 0, 0, 0, 0, 0, 75, 302, 0, 0, 0, - 0, 79, 80, 81, 0, 1131, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 0, 0, 0, - 0, 0, 0, 0, 0, 303, 0, 0, 0, 0, - 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, - 33, 34, 35, 0, 0, 0, 0, 0, 40, 41, - 0, 0, 0, 530, 13, 14, 531, 16, 17, 532, - 19, 533, 21, 0, 22, 0, 24, 25, 0, 27, - 28, 0, 0, 0, 0, 0, 0, 0, 109, 110, - 111, 112, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 117, 321, 45, 46, 47, - 119, 0, 0, 0, 0, 122, 0, 75, 302, 0, - 125, 0, 322, 79, 80, 81, 0, 0, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, - 0, 0, 0, 0, 0, 0, 0, 303, 0, 0, - 0, 562, 0, 0, 7, 8, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, - 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, - 40, 41, 0, 0, 0, 530, 13, 14, 531, 16, - 17, 532, 19, 533, 21, 0, 22, 0, 24, 25, + 212, 129, 455, 358, 1087, 131, 373, 66, 326, 572, + 367, 371, 368, 276, 333, 206, 207, 142, 196, 636, + 184, 887, 213, 128, 152, 768, 644, 135, 199, 142, + 450, 206, 207, 390, 1151, 889, 392, 4, 364, 365, + 730, 883, 147, 347, 348, 121, 122, 104, 105, 106, + 107, 132, 734, 108, 347, 348, 1047, 649, 826, 521, + 706, 880, 1048, 104, 105, 106, 107, 707, 708, 108, + 528, 888, 206, 207, 5, 294, 295, 296, 219, 138, + 143, 147, 297, 347, 348, 890, 139, 144, 573, 574, + 575, 576, 143, 759, 347, 348, 517, 518, 519, 703, + 349, 138, 277, 278, 104, 105, 106, 107, 702, 153, + 108, 350, 148, 269, 270, 271, 133, 185, 272, 275, + 150, 1176, 280, 114, 115, 116, 117, 705, 300, 137, + 825, 302, 134, 303, 309, 312, 313, 451, 315, 309, + 317, 318, 369, 309, 321, 322, 875, 577, 329, 121, + 122, 704, 208, 140, 214, 197, 215, 186, 200, 347, + 348, 216, 136, 645, 345, 346, 526, 527, 211, 1152, + 454, 731, 650, 346, 347, 348, 650, 826, 1222, 638, + 347, 348, 760, 761, 361, 540, 141, 145, 377, 378, + 379, 146, 381, 361, 149, 384, 385, 150, 386, 121, + 122, 151, 442, 443, 444, 445, 734, 559, 157, 395, + 220, 158, 221, 159, 154, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 966, 706, 477, + 706, 446, 542, 543, 478, 707, 708, 707, 708, 309, + 155, 222, 636, 223, 114, 115, 116, 117, 461, 462, + 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + 473, 474, 475, 456, 121, 122, 388, 487, 389, 488, + 175, 483, 156, 176, 347, 348, 177, 633, 634, 491, + 160, 625, 171, 173, 496, 179, 626, 485, 483, 309, + 922, 165, 923, 505, 166, 507, 508, 509, 937, 511, + 512, 513, 515, 515, 515, 515, 516, 516, 516, 516, + 347, 348, 347, 348, 347, 348, 174, 529, 530, 531, + 269, 270, 532, 361, 361, 180, 924, 828, 925, 360, + 539, 545, 869, 774, 547, 548, 865, 309, 487, 552, + 553, 487, 206, 207, 181, 310, 114, 115, 116, 117, + 310, 167, 168, 564, 310, 207, 706, 183, 224, 568, + 225, 169, 571, 707, 708, 316, 121, 122, 178, 320, + 226, 706, 227, 637, 104, 105, 106, 107, 707, 708, + 108, 182, 228, 570, 229, 1030, 104, 105, 106, 107, + 1031, 1090, 108, 187, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 503, 295, 296, 706, 230, + 188, 231, 297, 632, 189, 707, 708, 342, 190, 344, + 641, 1014, 191, 640, 826, 351, 1133, 826, 192, 359, + 826, 193, 167, 168, 121, 122, 114, 115, 116, 117, + 639, 1136, 169, 309, 653, 203, 632, 657, 194, 170, + 658, 659, 661, 195, 868, 870, 121, 122, 292, 293, + 294, 295, 296, 706, 201, 309, 706, 297, 659, 678, + 707, 708, 202, 707, 708, 684, 204, 706, 1139, 736, + 310, 232, 218, 233, 707, 708, 205, 694, 695, 262, + 826, 781, 782, 698, 784, 452, 787, 788, 706, 263, + 791, 792, 234, 706, 235, 707, 708, 264, 714, 715, + 707, 708, 484, 907, 908, 826, 347, 348, 826, 265, + 706, 826, 267, 726, 826, 728, 729, 707, 708, 484, + 310, 706, 811, 1187, 706, 266, 1212, 753, 707, 708, + 279, 707, 708, 281, 826, 502, 826, 1214, 826, 837, + 838, 839, 298, 347, 348, 236, 735, 237, 347, 348, + 487, 773, 493, 347, 348, 347, 348, 299, 1216, 827, + 744, 745, 314, 1218, 926, 487, 927, 497, 310, 1018, + 238, 1064, 239, 301, 746, 747, 748, 749, 750, 751, + 1236, 309, 319, 550, 161, 328, 754, 162, 524, 525, + 163, 1237, 164, 762, 1238, 916, 917, 344, 347, 348, + 891, 330, 240, 771, 241, 242, 897, 243, 785, 331, + 786, 309, 347, 348, 1066, 904, 905, 906, 347, 348, + 909, 910, 911, 912, 913, 914, 915, 244, 1068, 245, + 121, 122, 309, 334, 1132, 448, 246, 215, 247, 248, + 933, 249, 216, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 309, 309, 309, + 309, 297, 347, 348, 347, 348, 332, 336, 998, 1105, + 999, 1108, 335, 1111, 310, 341, 337, 250, 1135, 251, + 1138, 338, 660, 662, 252, 958, 253, 339, 254, 652, + 255, 256, 340, 257, 852, 853, 310, 352, 1000, 660, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 675, 258, 353, 259, 297, 30, 31, 32, 33, + 354, 35, 876, 370, 260, 38, 261, 366, 41, 42, + 882, 487, 735, 635, 885, 372, 871, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 121, 122, 1171, 374, + 297, 481, 903, 215, 487, 986, 676, 987, 216, 1021, + 375, 487, 693, 719, 376, 380, 918, 919, 920, 382, + 487, 1034, 793, 877, 487, 878, 884, 383, 932, 934, + 711, 967, 935, 1196, 387, 1199, 309, 1202, 487, 487, + 901, 928, 487, 1205, 929, 391, 943, 944, 945, 487, + 487, 930, 931, 954, 393, 955, 951, 487, 1036, 1019, + 1037, 957, 1112, 487, 1113, 1120, 954, 1225, 1124, 1227, + 394, 1229, 310, 396, 397, 960, 949, 1036, 959, 1173, + 399, 954, 1071, 1193, 1219, 447, 1220, 752, 1100, 297, + 954, 970, 1234, 1239, 458, 1240, 457, 1024, 974, 975, + 459, 482, 310, 977, 504, 510, 520, 541, 1115, 544, + 546, 551, 984, 985, 557, 560, 565, 777, 627, 628, + 629, 631, 994, 310, 642, 643, 995, 647, 663, 654, + 664, 665, 667, 668, 669, 361, 670, 672, 794, 1114, + 673, 674, 680, 692, 1020, 776, 688, 689, 310, 310, + 310, 310, 1028, 690, 691, 696, 1029, 1032, 1033, 697, + 722, 723, 724, 818, 819, 820, 821, 725, 739, 740, + 743, 741, 756, 1045, 757, 758, 763, 764, 767, 1140, + 1172, 766, 770, 772, 1053, 780, 783, 789, 790, 796, + 815, 816, 817, 797, 798, 799, 800, 803, 804, 805, + 806, 807, 808, 1062, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 7, 8, + 809, 810, 297, 1074, 822, 823, 824, 1078, 832, 1079, + 833, 1025, 309, 834, 831, 835, 1084, 836, 840, 845, + 846, 1088, 851, 847, 848, 849, 850, 856, 866, 533, + 13, 14, 534, 16, 17, 535, 19, 536, 21, 873, + 22, 879, 24, 25, 872, 27, 28, 892, 895, 1103, + 896, 1106, 886, 1109, 899, 361, 900, 310, 902, 893, + 894, 801, 1117, 898, 921, 939, 940, 941, 942, 946, + 1122, 1123, 938, 947, 46, 47, 48, 1126, 948, 961, + 962, 964, 969, 973, 1128, 976, 1130, 978, 982, 980, + 981, 988, 989, 990, 991, 992, 993, 1002, 936, 1005, + 1008, 1010, 1035, 1011, 1012, 1013, 957, 1038, 7, 8, + 1039, 1052, 1041, 1042, 1044, 1043, 802, 1159, 1015, 1054, + 1163, 1207, 1055, 1167, 1058, 1060, 1061, 1170, 549, 1063, + 1065, 1067, 1069, 1070, 1075, 1175, 1072, 1073, 1177, 533, + 13, 14, 534, 16, 17, 535, 19, 536, 21, 1230, + 22, 1233, 24, 25, 1082, 27, 28, 1089, 1077, 971, + 1093, 972, 1091, 1094, 1095, 1096, 1097, 1099, 1121, 1245, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 46, 47, 48, 1125, 297, 1127, + 1178, 1129, 1141, 1001, 1142, 1004, 1147, 1007, 1145, 1154, + 1157, 1160, 1161, 1164, 1165, 1168, 1169, 76, 304, 1185, + 1179, 1181, 1183, 80, 81, 82, 1190, 1197, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 1200, + 1203, 1191, 1195, 1210, 1209, 1211, 881, 305, 65, 1224, + 1213, 1215, 1217, 310, 7, 8, 1221, 1226, 1228, 1223, + 1231, 1235, 1241, 1242, 1243, 1244, 1246, 1148, 1080, 30, + 31, 32, 33, 34, 35, 72, 963, 0, 38, 0, + 0, 41, 42, 0, 0, 533, 13, 14, 534, 16, + 17, 535, 19, 536, 21, 0, 22, 0, 24, 25, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, - 109, 110, 111, 112, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 117, 304, 45, - 46, 47, 119, 0, 0, 0, 0, 122, 0, 75, - 302, 0, 125, 0, 497, 79, 80, 81, 0, 0, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 0, 0, 0, 0, 0, 0, 0, 0, 303, - 0, 0, 0, 563, 0, 0, 0, 0, 0, 0, + 0, 110, 111, 112, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 118, 306, + 46, 47, 48, 120, 0, 1104, 0, 1107, 123, 1110, + 0, 76, 304, 126, 0, 0, 501, 80, 81, 82, + 0, 0, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 0, 0, 0, 0, 0, 0, 0, + 0, 305, 0, 0, 566, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 33, 34, 35, 0, 75, 266, - 0, 0, 40, 41, 79, 80, 81, 0, 0, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 0, 0, 109, 110, 111, 112, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, - 304, 0, 0, 0, 119, 0, 0, 0, 0, 122, - 0, 75, 266, 205, 125, 0, 673, 79, 80, 81, - 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 0, 103, 104, 105, 106, 0, 0, - 107, 109, 110, 111, 112, 0, 0, 0, 7, 8, - 0, 0, 0, 0, 0, 0, 0, 0, 117, 118, - 0, 0, 0, 119, 0, 0, 0, 0, 122, 0, - 0, 271, 0, 125, 0, 272, 0, 0, 0, 530, - 13, 14, 531, 16, 17, 532, 19, 533, 21, 0, + 0, 0, 0, 30, 31, 32, 33, 34, 35, 0, + 0, 0, 38, 0, 0, 41, 42, 0, 0, 533, + 13, 14, 534, 16, 17, 535, 19, 536, 21, 0, 22, 0, 24, 25, 0, 27, 28, 0, 0, 0, - 0, 0, 0, 0, 109, 110, 111, 112, 0, 0, - 0, 0, 0, 0, 473, 0, 0, 0, 0, 0, - 0, 117, 118, 45, 46, 47, 119, 0, 0, 0, - 0, 122, 0, 75, 266, 0, 125, 0, 1019, 79, - 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, + 0, 0, 0, 0, 0, 110, 111, 112, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 118, 323, 46, 47, 48, 120, 0, 0, + 0, 0, 123, 0, 76, 304, 0, 126, 0, 324, + 80, 81, 82, 0, 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 0, 0, 0, 75, 266, - 7, 8, 0, 0, 79, 80, 81, 708, 0, 82, + 98, 99, 100, 101, 102, 103, 0, 0, 0, 0, + 0, 0, 0, 0, 305, 0, 0, 0, 567, 0, + 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, + 34, 35, 0, 0, 0, 38, 0, 0, 41, 42, + 0, 0, 533, 13, 14, 534, 16, 17, 535, 19, + 536, 21, 0, 22, 0, 24, 25, 0, 27, 28, + 0, 0, 0, 0, 0, 0, 0, 0, 110, 111, + 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 118, 306, 46, 47, 48, + 120, 0, 0, 0, 0, 123, 0, 76, 304, 0, + 126, 0, 500, 80, 81, 82, 0, 0, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 0, + 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, + 0, 712, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 0, 0, 0, 0, 297, 30, + 31, 32, 33, 34, 35, 0, 0, 0, 38, 76, + 268, 41, 42, 0, 0, 80, 81, 82, 0, 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 0, 530, 13, 14, 531, 16, 17, 532, 19, 533, - 21, 0, 22, 0, 24, 25, 0, 27, 28, 0, - 0, 0, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 109, 110, 111, 112, - 295, 0, 0, 0, 0, 45, 46, 47, 0, 0, - 0, 0, 0, 117, 118, 0, 0, 0, 119, 0, - 0, 0, 0, 122, 0, 0, 651, 0, 125, 0, - 652, 109, 110, 111, 112, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 353, 354, - 0, 0, 0, 119, 0, 0, 0, 0, 355, 722, - 75, 76, 77, 125, 78, 169, 79, 80, 81, 0, - 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 0, 103, 104, 105, 106, 0, 0, 107, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, - 302, 0, 0, 0, 0, 79, 80, 81, 0, 0, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 103, 110, 111, 112, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 118, 306, + 0, 0, 0, 120, 0, 0, 0, 0, 123, 0, + 76, 268, 207, 126, 0, 677, 80, 81, 82, 0, + 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 0, 0, 0, 0, 0, 0, 0, 0, 303, - 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, - 0, 0, 0, 109, 110, 111, 112, 113, 114, 115, - 116, 30, 31, 32, 33, 34, 35, 0, 0, 0, - 117, 118, 40, 41, 0, 119, 0, 120, 121, 0, - 122, 0, 123, 0, 124, 125, 0, 0, 0, 0, + 102, 103, 0, 104, 105, 106, 107, 0, 0, 108, + 0, 0, 0, 110, 111, 112, 113, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 109, 110, 111, 112, 626, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, - 304, 0, 0, 0, 119, 75, 266, 205, 0, 122, - 0, 79, 80, 81, 125, 0, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 0, 103, 104, - 105, 106, 75, 266, 107, 7, 8, 0, 79, 80, - 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, + 118, 119, 0, 0, 0, 120, 0, 0, 0, 0, + 123, 0, 0, 273, 0, 126, 0, 274, 533, 13, + 14, 534, 16, 17, 535, 19, 536, 21, 0, 22, + 0, 24, 25, 0, 27, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 110, 111, 112, 113, 0, 0, + 0, 0, 0, 0, 0, 0, 843, 0, 0, 0, + 0, 118, 119, 46, 47, 48, 120, 0, 0, 0, + 0, 123, 0, 76, 268, 0, 126, 0, 1027, 80, + 81, 82, 0, 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 0, 0, 530, 13, 14, 531, - 16, 17, 532, 19, 533, 21, 0, 22, 0, 24, - 25, 760, 27, 28, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 109, 110, - 111, 112, 295, 0, 0, 0, 0, 0, 0, 790, - 45, 46, 47, 0, 0, 117, 118, 0, 0, 0, - 119, 0, 0, 0, 0, 122, 0, 0, 824, 0, - 125, 0, 0, 0, 0, 109, 110, 111, 112, 7, - 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 117, 118, 0, 0, 0, 119, 0, 0, - 0, 825, 122, 0, 1134, 0, 0, 125, 0, 0, - 530, 13, 14, 531, 16, 17, 532, 19, 533, 21, - 868, 22, 0, 24, 25, 0, 27, 28, 0, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 1032, 0, 0, 0, 295, 0, 0, - 0, 0, 0, 0, 45, 46, 47, 281, 282, 283, + 99, 100, 101, 102, 103, 0, 0, 0, 76, 268, + 7, 8, 0, 0, 80, 81, 82, 727, 0, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 0, 533, 13, 14, 534, 16, 17, 535, 19, 536, + 21, 0, 22, 0, 24, 25, 0, 27, 28, 0, + 0, 0, 0, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 110, 111, 112, + 113, 297, 282, 844, 0, 0, 46, 47, 48, 0, + 0, 0, 0, 0, 118, 119, 0, 0, 0, 120, + 0, 0, 0, 0, 123, 0, 0, 655, 0, 126, + 0, 656, 110, 111, 112, 113, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, + 356, 0, 0, 0, 120, 0, 0, 0, 0, 357, + 1143, 76, 77, 78, 126, 79, 170, 80, 81, 82, + 0, 0, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 0, 104, 105, 106, 107, 0, 0, + 108, 7, 8, 0, 0, 0, 0, 0, 0, 0, + 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 460, 0, 533, 13, 14, 534, 16, 17, 535, 19, + 536, 21, 0, 22, 0, 24, 25, 0, 27, 28, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, + 0, 0, 0, 0, 0, 110, 111, 112, 113, 114, + 115, 116, 117, 0, 0, 0, 0, 46, 47, 48, + 0, 0, 118, 119, 0, 0, 0, 120, 0, 121, + 122, 0, 123, 0, 124, 0, 125, 126, 76, 304, + 0, 0, 0, 0, 80, 81, 82, 0, 0, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 0, 1188, 0, 0, 0, 0, 0, 0, 305, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 1048, 0, 0, 0, 295, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 1049, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1179, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 1051, 0, 0, 0, 295, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 1072, 0, 0, 0, 295, 0, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 1137, 0, 0, 0, 295, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 1177, 0, 0, 0, 295, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 482, 0, 295, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 482, 0, 0, 0, 295, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 557, 0, 0, 0, 295, 0, - 0, 0, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 644, 0, 0, - 0, 295, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 774, 0, 0, 0, 295, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 483, 293, 294, 836, 0, 0, 0, 295, 0, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 30, 31, 32, 33, 34, 35, 0, 0, 0, 38, + 76, 268, 41, 42, 0, 0, 80, 81, 82, 0, + 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 110, 111, 112, 113, 476, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, + 306, 0, 0, 0, 120, 76, 268, 207, 0, 123, + 0, 80, 81, 82, 126, 0, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 630, 104, 105, + 106, 107, 0, 0, 108, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 110, 111, 112, 113, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 500, 293, 294, 0, 0, 0, 0, 295, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 0, 0, 0, - 0, 295, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 0, 0, 0, 0, 295, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, -4, 1, 0, 295, -4, - 0, 0, 0, 0, 0, 0, 0, -4, -4, 0, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - -4, 0, 0, 0, 0, -4, -4, 677, -4, -4, - -4, -4, -4, -4, -4, -4, -4, -4, 0, -4, - -4, -4, -4, -4, -4, -4, 0, 0, 0, -4, - -4, -4, -4, -4, -4, -4, 0, -4, -4, -4, - -4, -4, -4, 0, 0, -4, -4, 6, 0, 0, - 0, -4, -4, -4, -4, 7, 8, -4, 0, -4, - 0, -4, -4, -4, -4, -4, -4, -4, -4, -4, - -4, 0, 0, 0, 0, 0, 0, 0, 9, 0, - 0, 0, 0, 10, 11, 0, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 0, 22, 23, 24, - 25, 26, 27, 28, 0, 0, 0, 29, 30, 31, - 32, 33, 34, 35, 0, 36, 37, 38, 39, 40, - 41, 7, 8, 42, 43, 0, 0, 0, 0, 44, - 45, 46, 47, 0, 0, 48, 0, 49, 0, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 0, - 0, 0, 530, 13, 14, 531, 16, 17, 532, 19, - 533, 21, 0, 22, 0, 24, 25, 0, 27, 28, - 0, 0, 0, 0, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 45, 46, 47, 1014, - 0, 1015, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 0, 0, 0, 1092, 0, 1093, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 0, 0, 0, 0, 681, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 0, 0, 0, 682, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 0, 0, 732, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 0, - 0, 773, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 0, 0, 0, 0, 0, 809, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 0, 0, 0, 0, 989, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 0, 0, 0, 1010, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 0, 0, 1038, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 0, - 0, 1041, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 0, 0, 0, 0, 0, 1042, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 0, 0, 0, 0, 1043, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 0, 0, 0, 1067, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 0, 0, 1107, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 0, - 0, 1109, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 0, 0, 0, 0, 0, 1110, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 0, 0, 0, 0, 1122, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 0, 0, 0, 1125, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 0, 0, 1128, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 0, - 0, 1146, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 0, 0, 0, 0, 0, 1147, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 0, 0, 0, 0, 1171, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 0, 0, 0, 1173, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 0, 0, 1175, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 0, - 0, 1185, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 446, 0, 0, 0, 0, 519, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 0, 476, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 519, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 0, 0, 520, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 554, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 0, 0, 0, 601, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 0, 602, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 615, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 0, 0, 616, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 617, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 0, 0, 0, 618, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 0, 619, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 620, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 0, 0, 695, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 696, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 0, 0, 0, 697, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 0, 770, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 807, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 0, 0, 808, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 835, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 0, 0, 0, 945, 281, 282, + 0, 118, 119, 0, 0, 0, 120, 795, 0, 0, + 0, 123, 0, 0, 0, 0, 126, 0, 0, 0, + 0, 0, 0, 0, 0, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 110, + 111, 112, 113, 297, 829, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 118, 119, 0, 0, + 0, 120, 0, 830, 0, 0, 123, 0, 0, 0, + 0, 126, 0, 0, 0, 0, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 874, 0, 0, 0, 297, 0, 0, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 1040, 0, 0, 0, 297, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 1056, 0, 0, 0, 297, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1057, + 0, 0, 0, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 1059, 0, + 0, 297, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 0, 1081, 0, 0, + 297, 0, 0, 0, 0, 0, 0, 0, 0, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 1146, 0, 0, 0, 297, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 0, 946, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 961, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 0, 0, 972, 281, 282, 283, 284, + 293, 294, 295, 296, 1186, 0, 0, 0, 297, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 485, 0, 297, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 1076, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 0, 0, 0, 1077, 281, 282, + 295, 296, 0, 0, 485, 0, 297, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 561, 0, 297, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 648, 0, 297, 0, 0, 0, 0, 0, + 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 779, 0, 0, 0, + 297, 0, 0, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 842, 0, 0, + 0, 297, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 486, 295, 296, 0, 0, 0, 0, + 297, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 503, 295, 296, 0, 0, 0, 0, 297, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 0, 1083, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 1089, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 0, 0, 0, 1141, 281, 282, 283, 284, + 293, 294, 295, 296, 0, 0, 0, 0, 297, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 0, -4, + 1, 0, 297, -4, 0, 0, 0, 0, 0, 0, + 0, -4, -4, 0, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 0, 0, 297, 0, -4, 0, 0, 0, 0, -4, + -4, 681, -4, -4, -4, -4, -4, -4, -4, -4, + -4, -4, 0, -4, -4, -4, -4, -4, -4, -4, + 0, 0, 0, -4, -4, -4, -4, -4, -4, -4, + 0, -4, -4, -4, -4, -4, -4, -4, 0, 0, + -4, -4, 6, 0, 0, 0, -4, -4, -4, -4, + 7, 8, -4, 0, -4, 0, -4, -4, -4, -4, + -4, -4, -4, -4, -4, -4, 0, 0, 0, 0, + 0, 0, 0, 9, 0, 0, 0, 0, 10, 11, + 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 0, 22, 23, 24, 25, 26, 27, 28, 0, + 0, 0, 29, 30, 31, 32, 33, 34, 35, 0, + 36, 37, 38, 39, 40, 41, 42, 0, 0, 43, + 44, 0, 0, 0, 0, 45, 46, 47, 48, 0, + 0, 49, 0, 50, 0, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 1022, 0, 1023, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 0, 0, 0, 1101, 0, + 1102, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 0, 0, 685, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 0, 0, 0, 686, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 0, 0, 0, 737, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 0, 0, 778, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, + 814, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 0, 0, 996, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 0, 0, 0, 1017, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 0, 0, 0, 1046, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 0, 0, 1049, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, + 1050, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 0, 0, 1051, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 0, 0, 0, 1076, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 0, 0, 0, 1116, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 0, 0, 1118, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, + 1119, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 0, 0, 1131, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 0, 0, 0, 1134, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 0, 0, 0, 1137, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 0, 0, 1155, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, + 1156, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 0, 0, 1180, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 0, 0, 0, 1182, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 0, 0, 0, 1184, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 0, 0, 1194, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 449, 0, 0, 0, 0, 522, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 0, 479, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 522, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 523, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 0, 558, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 0, 0, 0, 605, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 0, 606, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 619, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 620, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 0, 621, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 0, 0, 0, 622, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 0, 623, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 624, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 699, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 0, 700, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 0, 0, 0, 701, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 0, 775, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 812, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 813, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 0, 841, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 0, 0, 0, 952, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 0, 953, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 968, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 979, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 0, 1085, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 0, 0, 0, 1086, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 0, 0, 1092, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 1098, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 1150, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 0, + 0, 0, 1153, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 453, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 0, 0, 297, 0, 0, 0, 563, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 569, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 0, 0, + 297, 0, 0, 0, 584, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 586, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 1144, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 450, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 0, - 0, 0, 0, 295, 0, 0, 0, 559, 281, 282, + 295, 296, 0, 0, 0, 0, 297, 0, 0, 0, + 588, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 590, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 0, 0, 297, 0, 0, 0, 592, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 594, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 565, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 0, 0, 0, 0, 295, - 0, 0, 0, 580, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 582, 281, 282, 283, + 293, 294, 295, 296, 0, 0, 0, 0, 297, 0, + 0, 0, 596, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 598, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 0, 0, 297, 0, 0, 0, 600, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 0, 0, 0, 0, 295, 0, 0, 0, 584, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 586, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 0, 0, 0, - 0, 295, 0, 0, 0, 588, 281, 282, 283, 284, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 602, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 0, 0, + 297, 0, 0, 0, 604, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 608, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 590, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 0, 0, 0, 0, 295, 0, 0, - 0, 592, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 594, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 0, - 0, 0, 0, 295, 0, 0, 0, 596, 281, 282, + 295, 296, 0, 0, 0, 0, 297, 0, 0, 0, + 610, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 612, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 0, 0, 297, 0, 0, 0, 614, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 616, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 598, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 0, 0, 0, 0, 295, - 0, 0, 0, 600, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 604, 281, 282, 283, + 293, 294, 295, 296, 0, 0, 0, 0, 297, 0, + 0, 0, 618, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 717, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 0, 0, 297, 0, 0, 0, 718, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 0, 0, 0, 0, 295, 0, 0, 0, 606, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 608, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 0, 0, 0, - 0, 295, 0, 0, 0, 610, 281, 282, 283, 284, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 0, + 0, 720, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 0, 0, + 297, 0, 0, 0, 721, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 0, 0, 732, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 612, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 0, 0, 0, 0, 295, 0, 0, - 0, 614, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 712, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 0, - 0, 0, 0, 295, 0, 0, 0, 713, 281, 282, + 295, 296, 0, 0, 0, 0, 297, 0, 0, 0, + 733, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 0, 0, 755, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 0, 0, 297, 0, 0, 0, 858, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 0, 0, 860, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 0, 0, - 715, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 0, 0, 0, 0, 295, - 0, 0, 0, 716, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 0, 0, 727, 281, 282, 283, + 293, 294, 295, 296, 0, 0, 0, 0, 297, 0, + 0, 0, 862, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 0, 0, 864, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 0, 0, 297, 0, 0, 0, 965, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 0, 0, 0, 0, 295, 0, 0, 0, 728, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 0, 0, 750, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 0, 0, 0, - 0, 295, 0, 0, 0, 852, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 0, 0, 854, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 0, 0, 0, 0, 295, 0, 0, - 0, 856, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 0, 0, 858, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 0, - 0, 0, 0, 295, 0, 0, 0, 958, 281, 282, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 449, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 446, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 0, 0, 0, 0, 295, 0, 477, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 486, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 0, 0, 0, 0, 295, - 0, 487, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 489, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 0, 0, 0, - 0, 295, 0, 491, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 492, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 0, - 0, 0, 0, 295, 0, 495, 281, 282, 283, 284, + 293, 294, 295, 296, 0, 0, 0, 0, 297, 0, + 480, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 489, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 0, 0, + 297, 0, 490, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 492, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 0, 0, 297, 0, 494, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 495, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 0, 0, 297, 0, 498, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 499, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 496, 281, 282, 283, + 295, 296, 0, 0, 0, 0, 297, 0, 506, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 0, 0, 0, 0, 295, 0, 503, 281, 282, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 554, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 550, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 0, 0, 0, 0, 295, 0, 551, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 552, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 0, 0, 0, 0, 295, - 0, 558, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 579, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 0, 0, 0, - 0, 295, 0, 581, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 583, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 0, - 0, 0, 0, 295, 0, 585, 281, 282, 283, 284, + 293, 294, 295, 296, 0, 0, 0, 0, 297, 0, + 555, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 556, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 0, 0, + 297, 0, 562, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 583, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 0, 0, 297, 0, 585, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 587, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 0, 0, 297, 0, 589, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 591, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 587, 281, 282, 283, + 295, 296, 0, 0, 0, 0, 297, 0, 593, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 0, 0, 0, 0, 295, 0, 589, 281, 282, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 595, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 591, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 0, 0, 0, 0, 295, 0, 593, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 595, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 0, 0, 0, 0, 295, - 0, 597, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 599, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 0, 0, 0, - 0, 295, 0, 603, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 605, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 0, - 0, 0, 0, 295, 0, 607, 281, 282, 283, 284, + 293, 294, 295, 296, 0, 0, 0, 0, 297, 0, + 597, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 599, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 0, 0, + 297, 0, 601, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 603, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 0, 0, 297, 0, 607, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 609, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 0, 0, 297, 0, 611, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 613, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 609, 281, 282, 283, + 295, 296, 0, 0, 0, 0, 297, 0, 615, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 0, 0, 0, 0, 295, 0, 611, 281, 282, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 617, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 613, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 0, 0, 0, 0, 295, 0, 662, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 667, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 0, 0, 0, 0, 295, - 0, 675, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 678, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 0, 0, 0, - 0, 295, 0, 679, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 683, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 0, - 0, 0, 0, 295, 0, 851, 281, 282, 283, 284, + 293, 294, 295, 296, 0, 0, 0, 0, 297, 0, + 666, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 671, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 0, 0, + 297, 0, 679, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 682, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 0, 0, 297, 0, 683, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 687, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 0, 0, 297, 0, 716, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297, 0, 857, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 0, 0, 0, 0, 295, 0, 853, 281, 282, 283, + 295, 296, 0, 0, 0, 0, 297, 0, 859, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 0, 0, 0, 0, 295, 0, 855, 281, 282, + 294, 295, 296, 0, 0, 0, 0, 297, 0, 861, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 0, 0, 0, 0, 295, 0, 857, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 0, 0, 0, 0, 295, 0, 861, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 0, 0, 0, 0, 295, 0, - 990, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 0, 0, 0, 0, 295, - 0, 1009, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 0, 0, 0, 0, - 295, 0, 1018, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 0, 0, 0, - 0, 295, 0, 1140, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, - 0, 0, 295, 0, 1183, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 0, - 0, 0, 0, 295 + 293, 294, 295, 296, 0, 0, 0, 0, 297, 0, + 863, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 0, 0, 297, + 0, 867, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 0, 0, + 297, 0, 997, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 297, 0, 1016, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 0, 0, 297, 0, 1026, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 0, 0, 297, 0, 1149, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 0, 0, 297, 0, 1192, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 0, 0, 297 }; static const yytype_int16 yycheck[] = { - 59, 6, 274, 177, 1027, 6, 6, 3, 187, 4, - 184, 4, 4, 5, 4, 4, 4, 4, 4, 49, - 6, 6, 709, 6, 6, 641, 71, 4, 71, 7, - 6, 134, 206, 72, 6, 209, 139, 4, 5, 78, - 79, 0, 4, 6, 36, 37, 38, 39, 4, 5, - 42, 133, 705, 6, 133, 7, 13, 72, 140, 72, - 71, 140, 6, 78, 79, 78, 79, 133, 6, 36, - 37, 38, 39, 133, 140, 42, 49, 78, 130, 131, - 36, 37, 38, 39, 56, 137, 42, 82, 83, 84, - 85, 6, 6, 56, 7, 140, 133, 140, 135, 92, - 93, 43, 141, 133, 46, 92, 93, 49, 133, 51, - 100, 133, 117, 118, 119, 123, 124, 122, 123, 133, - 1143, 126, 133, 123, 124, 53, 141, 132, 141, 140, - 135, 139, 137, 138, 139, 140, 134, 142, 143, 144, - 145, 139, 147, 148, 149, 761, 141, 152, 140, 135, - 140, 140, 140, 130, 131, 140, 49, 140, 135, 137, - 137, 113, 143, 168, 169, 142, 147, 120, 347, 348, - 823, 133, 177, 140, 130, 131, 49, 1200, 450, 123, - 124, 137, 120, 179, 358, 133, 191, 192, 193, 49, - 195, 187, 133, 198, 199, 51, 201, 110, 111, 112, - 113, 260, 261, 262, 263, 379, 71, 212, 123, 124, - 336, 337, 338, 218, 219, 220, 221, 222, 223, 224, + 60, 6, 276, 178, 1035, 6, 189, 3, 151, 4, + 4, 186, 6, 4, 157, 4, 5, 71, 4, 7, + 4, 6, 4, 6, 49, 645, 4, 6, 4, 71, + 7, 4, 5, 208, 6, 6, 211, 6, 181, 182, + 7, 6, 71, 124, 125, 131, 132, 36, 37, 38, + 39, 13, 138, 42, 124, 125, 6, 6, 709, 140, + 72, 6, 6, 36, 37, 38, 39, 79, 80, 42, + 140, 56, 4, 5, 0, 126, 127, 128, 79, 134, + 134, 71, 133, 124, 125, 56, 141, 141, 83, 84, + 85, 86, 134, 4, 124, 125, 338, 339, 340, 141, + 141, 134, 93, 94, 36, 37, 38, 39, 141, 134, + 42, 141, 141, 118, 119, 120, 49, 101, 123, 124, + 134, 1152, 127, 111, 112, 113, 114, 141, 133, 6, + 142, 136, 134, 138, 139, 140, 141, 114, 143, 144, + 145, 146, 136, 148, 149, 150, 766, 142, 153, 131, + 132, 141, 141, 134, 136, 141, 138, 141, 134, 124, + 125, 143, 141, 141, 169, 170, 349, 350, 141, 141, + 7, 138, 121, 178, 124, 125, 121, 828, 1209, 453, + 124, 125, 93, 94, 180, 360, 134, 134, 193, 194, + 195, 134, 197, 189, 134, 200, 201, 134, 203, 131, + 132, 53, 262, 263, 264, 265, 138, 382, 46, 214, + 134, 49, 136, 51, 49, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 871, 133, 31, 32, 264, - 34, 123, 124, 125, 126, 127, 46, 272, 133, 49, - 132, 51, 7, 6, 7, 140, 281, 282, 283, 284, + 255, 256, 257, 258, 259, 260, 261, 877, 72, 135, + 72, 266, 6, 7, 140, 79, 80, 79, 80, 274, + 49, 134, 7, 136, 111, 112, 113, 114, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 272, 274, 125, 126, 127, 72, 123, 124, 304, - 132, 7, 78, 79, 72, 133, 133, 312, 135, 7, - 78, 79, 317, 72, 140, 140, 321, 322, 140, 78, - 79, 326, 5, 328, 329, 330, 140, 332, 333, 334, - 335, 336, 337, 338, 335, 336, 337, 338, 49, 134, - 133, 322, 135, 6, 139, 350, 351, 352, 353, 354, - 355, 347, 348, 36, 37, 38, 39, 49, 133, 42, - 135, 366, 367, 6, 369, 141, 371, 372, 123, 124, - 1057, 46, 1059, 141, 1061, 110, 111, 112, 113, 133, - 385, 135, 141, 130, 131, 140, 391, 140, 369, 394, - 4, 165, 150, 167, 4, 130, 131, 4, 156, 173, - 123, 124, 137, 177, 110, 111, 112, 113, 133, 133, - 135, 393, 110, 111, 112, 113, 139, 1033, 141, 133, - 72, 135, 180, 181, 130, 131, 78, 79, 123, 124, - 130, 131, 130, 131, 133, 135, 138, 137, 62, 63, - 445, 143, 142, 1096, 139, 147, 1099, 452, 1135, 1102, - 451, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 6, 7, 134, 450, 132, - 475, 476, 139, 478, 479, 134, 133, 482, 483, 484, - 139, 753, 754, 1170, 72, 1172, 133, 1174, 135, 141, - 78, 79, 497, 1180, 475, 500, 501, 43, 133, 133, - 46, 135, 507, 49, 72, 6, 565, 123, 124, 1162, - 78, 79, 4, 5, 519, 520, 497, 1204, 135, 1206, - 525, 1208, 4, 72, 140, 123, 124, 4, 140, 78, - 79, 133, 72, 135, 1187, 540, 541, 1190, 78, 79, - 1193, 139, 8, 1196, 36, 37, 38, 39, 133, 554, - 42, 556, 557, 141, 72, 133, 133, 135, 123, 124, - 78, 79, 72, 1216, 623, 1218, 133, 1220, 78, 79, - 272, 345, 346, 141, 139, 133, 141, 123, 124, 72, - 354, 7, 133, 565, 135, 78, 79, 133, 647, 123, - 124, 8, 141, 135, 140, 137, 601, 602, 133, 123, - 124, 141, 304, 6, 133, 139, 135, 141, 4, 133, - 615, 616, 617, 618, 619, 620, 140, 622, 6, 321, - 322, 6, 627, 141, 123, 124, 123, 124, 133, 634, - 135, 141, 65, 66, 67, 68, 139, 70, 141, 644, - 139, 622, 139, 76, 77, 5, 133, 652, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 123, 124, 123, 124, 132, 369, 673, 123, - 124, 652, 123, 124, 139, 141, 141, 133, 139, 135, - 139, 133, 140, 135, 133, 139, 135, 133, 139, 447, - 448, 133, 673, 698, 699, 700, 701, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 123, 124, 133, 133, 132, 135, 698, 699, 700, - 701, 123, 124, 133, 141, 123, 124, 139, 133, 734, - 735, 140, 133, 133, 135, 135, 915, 139, 133, 133, - 135, 139, 133, 140, 518, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 762, 139, 133, - 141, 132, 536, 133, 139, 770, 141, 4, 750, 774, - 6, 140, 754, 475, 139, 139, 141, 141, 130, 131, - 135, 483, 484, 135, 49, 137, 51, 792, 137, 139, - 142, 141, 139, 6, 141, 497, 140, 139, 500, 141, - 140, 806, 807, 808, 139, 139, 141, 141, 139, 139, - 141, 141, 140, 818, 819, 135, 875, 822, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 135, - 835, 836, 837, 132, 139, 139, 141, 141, 140, 4, - 845, 6, 139, 95, 141, 850, 6, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 139, 6, 141, 864, - 132, 843, 863, 139, 4, 141, 8, 135, 139, 139, - 141, 141, 6, 140, 1053, 880, 650, 139, 139, 141, - 141, 5, 887, 888, 139, 132, 141, 892, 139, 137, - 141, 1065, 7, 135, 140, 7, 901, 902, 7, 134, - 141, 7, 660, 661, 6, 663, 911, 665, 666, 141, - 911, 669, 670, 92, 140, 4, 139, 134, 134, 915, - 622, 695, 696, 697, 139, 6, 4, 932, 136, 95, - 7, 7, 7, 7, 95, 940, 7, 7, 95, 940, - 945, 946, 7, 7, 7, 134, 134, 134, 134, 141, - 652, 141, 137, 7, 7, 7, 961, 137, 133, 717, - 718, 719, 1136, 133, 140, 6, 6, 972, 6, 136, - 6, 673, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 991, 6, 135, 7, - 132, 6, 134, 120, 49, 7, 698, 699, 700, 701, - 7, 51, 7, 140, 7, 7, 1011, 7, 7, 1014, - 7, 1016, 7, 7, 1019, 7, 7, 7, 1023, 4, - 778, 140, 6, 1028, 6, 133, 784, 6, 49, 6, - 6, 4, 4, 4, 137, 793, 794, 795, 1019, 6, - 798, 799, 800, 801, 802, 803, 804, 6, 822, 4, - 6, 1056, 140, 1058, 133, 1060, 7, 1053, 12, 13, - 818, 134, 6, 1068, 6, 137, 6, 6, 6, 6, - 5, 1076, 1077, 140, 140, 6, 6, 91, 1083, 140, - 140, 140, 140, 6, 4, 1090, 7, 1092, 6, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 4, - 54, 136, 56, 57, 862, 59, 60, 1112, 882, 6, - 884, 6, 6, 5, 95, 6, 6, 6, 1123, 6, - 6, 1126, 6, 1182, 1129, 6, 6, 6, 1133, 6, - 6, 6, 6, 87, 88, 89, 1141, 6, 6, 1144, - 6, 139, 916, 6, 918, 6, 920, 140, 7, 6, - 137, 1210, 6, 1212, 5, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 47, - 6, 1230, 6, 132, 6, 140, 140, 935, 141, 140, - 61, 6, 140, 7, 90, 6, 6, 141, 140, 947, - 3, 4, 93, 140, 6, 6, 9, 10, 11, 6, - 6, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 6, 140, 6, 5, 141, 6, 61, 140, - 43, 6, 139, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 6, 6, 6, - 1008, 132, 65, 66, 67, 68, 69, 70, 6, 6, - 6, 5, 5, 76, 77, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 141, - 140, 6, 1056, 132, 1058, 140, 1060, 140, 6, 139, - 139, 6, 141, 106, 107, 108, 109, 140, 6, 6, - 140, 6, 140, 140, 6, 140, 1064, 6, 6, 140, - 123, 124, 141, 6, 6, 128, 6, 1019, 6, 6, - 133, 6, 6, 1112, 769, 138, 3, 3, 141, 867, - -1, -1, -1, -1, -1, 3, 4, -1, -1, -1, - -1, 9, 10, 11, -1, 1103, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, - -1, -1, -1, -1, -1, 43, -1, -1, -1, -1, - -1, -1, 12, 13, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, - 68, 69, 70, -1, -1, -1, -1, -1, 76, 77, - -1, -1, -1, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, -1, 54, -1, 56, 57, -1, 59, - 60, -1, -1, -1, -1, -1, -1, -1, 106, 107, - 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 123, 124, 87, 88, 89, - 128, -1, -1, -1, -1, 133, -1, 3, 4, -1, - 138, -1, 140, 9, 10, 11, -1, -1, 14, 15, + 295, 296, 297, 276, 131, 132, 136, 140, 138, 142, + 43, 306, 49, 46, 124, 125, 49, 450, 451, 314, + 51, 135, 31, 32, 319, 34, 140, 8, 323, 324, + 140, 134, 142, 328, 141, 330, 331, 332, 142, 334, + 335, 336, 337, 338, 339, 340, 337, 338, 339, 340, + 124, 125, 124, 125, 124, 125, 141, 352, 353, 354, + 355, 356, 357, 349, 350, 141, 140, 713, 142, 141, + 140, 366, 7, 135, 369, 370, 135, 372, 140, 374, + 375, 140, 4, 5, 49, 139, 111, 112, 113, 114, + 144, 124, 125, 388, 148, 5, 72, 46, 134, 394, + 136, 134, 397, 79, 80, 144, 131, 132, 141, 148, + 134, 72, 136, 138, 36, 37, 38, 39, 79, 80, + 42, 49, 134, 396, 136, 135, 36, 37, 38, 39, + 140, 1041, 42, 6, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 72, 134, + 46, 136, 133, 448, 141, 79, 80, 166, 4, 168, + 455, 142, 4, 454, 1105, 174, 142, 1108, 4, 178, + 1111, 134, 124, 125, 131, 132, 111, 112, 113, 114, + 453, 142, 134, 478, 479, 136, 481, 482, 134, 141, + 485, 486, 487, 134, 758, 759, 131, 132, 124, 125, + 126, 127, 128, 72, 134, 500, 72, 133, 503, 504, + 79, 80, 6, 79, 80, 510, 4, 72, 142, 569, + 274, 134, 141, 136, 79, 80, 4, 522, 523, 134, + 1171, 664, 665, 528, 667, 274, 669, 670, 72, 134, + 673, 674, 134, 72, 136, 79, 80, 134, 543, 544, + 79, 80, 306, 62, 63, 1196, 124, 125, 1199, 134, + 72, 1202, 134, 558, 1205, 560, 561, 79, 80, 323, + 324, 72, 140, 142, 72, 7, 142, 627, 79, 80, + 4, 79, 80, 6, 1225, 324, 1227, 142, 1229, 722, + 723, 724, 6, 124, 125, 134, 569, 136, 124, 125, + 140, 651, 142, 124, 125, 124, 125, 6, 142, 140, + 605, 606, 134, 142, 140, 140, 142, 142, 372, 140, + 134, 140, 136, 5, 619, 620, 621, 622, 623, 624, + 142, 626, 134, 372, 43, 134, 631, 46, 347, 348, + 49, 142, 51, 638, 142, 6, 7, 356, 124, 125, + 783, 141, 134, 648, 136, 134, 789, 136, 49, 134, + 51, 656, 124, 125, 140, 798, 799, 800, 124, 125, + 803, 804, 805, 806, 807, 808, 809, 134, 140, 136, + 131, 132, 677, 141, 140, 136, 134, 138, 136, 134, + 823, 136, 143, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 702, 703, 704, + 705, 133, 124, 125, 124, 125, 134, 134, 140, 1065, + 142, 1067, 141, 1069, 478, 4, 134, 134, 140, 136, + 140, 134, 486, 487, 134, 868, 136, 134, 134, 478, + 136, 134, 134, 136, 739, 740, 500, 141, 921, 503, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 500, 134, 141, 136, 133, 65, 66, 67, 68, + 141, 70, 767, 136, 134, 74, 136, 134, 77, 78, + 775, 140, 755, 142, 779, 141, 759, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 131, 132, 1144, 136, + 133, 136, 797, 138, 140, 4, 142, 6, 143, 942, + 136, 140, 521, 142, 6, 138, 811, 812, 813, 141, + 140, 954, 142, 140, 140, 142, 142, 96, 823, 824, + 539, 881, 827, 1179, 6, 1181, 831, 1183, 140, 140, + 142, 142, 140, 1189, 142, 6, 841, 842, 843, 140, + 140, 142, 142, 140, 6, 142, 851, 140, 140, 142, + 142, 856, 140, 140, 142, 142, 140, 1213, 142, 1215, + 136, 1217, 626, 4, 141, 870, 849, 140, 869, 142, + 6, 140, 1015, 142, 140, 5, 142, 626, 1061, 133, + 140, 886, 142, 140, 7, 142, 138, 8, 893, 894, + 136, 141, 656, 898, 7, 7, 135, 142, 1073, 7, + 6, 142, 907, 908, 93, 141, 4, 656, 140, 135, + 135, 140, 917, 677, 6, 4, 917, 137, 96, 7, + 7, 7, 7, 96, 7, 921, 7, 96, 677, 1072, + 7, 7, 7, 138, 939, 654, 135, 135, 702, 703, + 704, 705, 947, 135, 135, 142, 947, 952, 953, 142, + 7, 7, 7, 702, 703, 704, 705, 138, 134, 134, + 6, 141, 6, 968, 6, 137, 6, 6, 136, 1112, + 1145, 7, 6, 121, 979, 49, 7, 7, 51, 7, + 699, 700, 701, 141, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 998, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 12, 13, + 7, 4, 133, 1018, 6, 141, 134, 1022, 6, 1024, + 6, 142, 1027, 49, 141, 6, 1031, 6, 4, 4, + 4, 1036, 134, 138, 6, 4, 6, 141, 135, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 7, + 54, 6, 56, 57, 138, 59, 60, 6, 6, 1064, + 6, 1066, 141, 1068, 6, 1061, 6, 831, 5, 141, + 141, 6, 1077, 141, 141, 141, 6, 6, 92, 6, + 1085, 1086, 831, 7, 88, 89, 90, 1092, 4, 6, + 4, 6, 137, 6, 1099, 6, 1101, 5, 96, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 827, 6, + 6, 6, 141, 6, 6, 6, 1121, 6, 12, 13, + 6, 5, 7, 6, 6, 138, 61, 1132, 140, 47, + 1135, 1191, 6, 1138, 6, 6, 141, 1142, 142, 142, + 141, 141, 141, 6, 6, 1150, 7, 141, 1153, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 1219, + 54, 1221, 56, 57, 6, 59, 60, 6, 91, 888, + 6, 890, 94, 6, 6, 6, 6, 141, 141, 1239, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 88, 89, 90, 6, 133, 5, + 5, 142, 6, 922, 61, 924, 6, 926, 141, 140, + 6, 6, 6, 6, 6, 6, 142, 3, 4, 6, + 141, 141, 141, 9, 10, 11, 6, 6, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, - -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, - -1, 141, -1, -1, 12, 13, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - 66, 67, 68, 69, 70, -1, -1, -1, -1, -1, - 76, 77, -1, -1, -1, 43, 44, 45, 46, 47, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 6, + 6, 141, 140, 6, 141, 5, 774, 43, 3, 6, + 141, 141, 141, 1027, 12, 13, 141, 6, 6, 142, + 6, 6, 6, 6, 6, 6, 6, 1121, 1027, 65, + 66, 67, 68, 69, 70, 3, 873, -1, 74, -1, + -1, 77, 78, -1, -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, -1, -1, -1, - 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, 124, 87, - 88, 89, 128, -1, -1, -1, -1, 133, -1, 3, - 4, -1, 138, -1, 140, 9, 10, 11, -1, -1, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, -1, -1, -1, -1, -1, -1, -1, -1, 43, - -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, 66, 67, 68, 69, 70, -1, 3, 4, - -1, -1, 76, 77, 9, 10, 11, -1, -1, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - -1, -1, 106, 107, 108, 109, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - 124, -1, -1, -1, 128, -1, -1, -1, -1, 133, - -1, 3, 4, 5, 138, -1, 140, 9, 10, 11, + -1, 107, 108, 109, 110, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, + 88, 89, 90, 129, -1, 1064, -1, 1066, 134, 1068, + -1, 3, 4, 139, -1, -1, 142, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, 36, 37, 38, 39, -1, -1, - 42, 106, 107, 108, 109, -1, -1, -1, 12, 13, - -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, - -1, -1, -1, 128, -1, -1, -1, -1, 133, -1, - -1, 136, -1, 138, -1, 140, -1, -1, -1, 43, + 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, + -1, 43, -1, -1, 142, -1, -1, -1, 12, 13, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, + -1, -1, 74, -1, -1, 77, 78, -1, -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, - -1, -1, -1, -1, 106, 107, 108, 109, -1, -1, - -1, -1, -1, -1, 6, -1, -1, -1, -1, -1, - -1, 123, 124, 87, 88, 89, 128, -1, -1, -1, - -1, 133, -1, 3, 4, -1, 138, -1, 140, 9, + -1, -1, -1, -1, -1, 107, 108, 109, 110, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 124, 125, 88, 89, 90, 129, -1, -1, + -1, -1, 134, -1, 3, 4, -1, 139, -1, 141, + 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, -1, 43, -1, -1, -1, 142, -1, + -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 65, 66, 67, 68, + 69, 70, -1, -1, -1, 74, -1, -1, 77, 78, + -1, -1, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, -1, 54, -1, 56, 57, -1, 59, 60, + -1, -1, -1, -1, -1, -1, -1, -1, 107, 108, + 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 124, 125, 88, 89, 90, + 129, -1, -1, -1, -1, 134, -1, 3, 4, -1, + 139, -1, 141, 9, 10, 11, -1, -1, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, + -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, + -1, 142, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, -1, -1, -1, -1, 133, 65, + 66, 67, 68, 69, 70, -1, -1, -1, 74, 3, + 4, 77, 78, -1, -1, 9, 10, 11, -1, -1, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 107, 108, 109, 110, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, + -1, -1, -1, 129, -1, -1, -1, -1, 134, -1, + 3, 4, 5, 139, -1, 141, 9, 10, 11, -1, + -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, -1, 36, 37, 38, 39, -1, -1, 42, + -1, -1, -1, 107, 108, 109, 110, 12, 13, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, 125, -1, -1, -1, 129, -1, -1, -1, -1, + 134, -1, -1, 137, -1, 139, -1, 141, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, + -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, + -1, -1, -1, -1, 107, 108, 109, 110, -1, -1, + -1, -1, -1, -1, -1, -1, 8, -1, -1, -1, + -1, 124, 125, 88, 89, 90, 129, -1, -1, -1, + -1, 134, -1, 3, 4, -1, 139, -1, 141, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, 3, 4, - 12, 13, -1, -1, 9, 10, 11, 141, -1, 14, + 12, 13, -1, -1, 9, 10, 11, 142, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, -1, 56, 57, -1, 59, 60, -1, - -1, -1, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 106, 107, 108, 109, - 132, -1, -1, -1, -1, 87, 88, 89, -1, -1, - -1, -1, -1, 123, 124, -1, -1, -1, 128, -1, - -1, -1, -1, 133, -1, -1, 136, -1, 138, -1, - 140, 106, 107, 108, 109, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, - -1, -1, -1, 128, -1, -1, -1, -1, 133, 141, - 3, 4, 5, 138, 7, 140, 9, 10, 11, -1, + -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 107, 108, 109, + 110, 133, 6, 135, -1, -1, 88, 89, 90, -1, + -1, -1, -1, -1, 124, 125, -1, -1, -1, 129, + -1, -1, -1, -1, 134, -1, -1, 137, -1, 139, + -1, 141, 107, 108, 109, 110, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + 125, -1, -1, -1, 129, -1, -1, -1, -1, 134, + 142, 3, 4, 5, 139, 7, 141, 9, 10, 11, + -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, -1, 36, 37, 38, 39, -1, -1, + 42, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + 6, -1, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, -1, 54, -1, 56, 57, -1, 59, 60, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, + -1, -1, -1, -1, -1, 107, 108, 109, 110, 111, + 112, 113, 114, -1, -1, -1, -1, 88, 89, 90, + -1, -1, 124, 125, -1, -1, -1, 129, -1, 131, + 132, -1, 134, -1, 136, -1, 138, 139, 3, 4, + -1, -1, -1, -1, 9, 10, 11, -1, -1, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + -1, 142, -1, -1, -1, -1, -1, -1, 43, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + 65, 66, 67, 68, 69, 70, -1, -1, -1, 74, + 3, 4, 77, 78, -1, -1, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, -1, 36, 37, 38, 39, -1, -1, 42, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, - 4, -1, -1, -1, -1, 9, 10, 11, -1, -1, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, -1, -1, -1, -1, -1, -1, -1, -1, 43, - -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, - -1, -1, -1, 106, 107, 108, 109, 110, 111, 112, - 113, 65, 66, 67, 68, 69, 70, -1, -1, -1, - 123, 124, 76, 77, -1, 128, -1, 130, 131, -1, - 133, -1, 135, -1, 137, 138, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 106, 107, 108, 109, 6, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - 124, -1, -1, -1, 128, 3, 4, 5, -1, 133, - -1, 9, 10, 11, 138, -1, 14, 15, 16, 17, + 33, 34, 107, 108, 109, 110, 6, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + 125, -1, -1, -1, 129, 3, 4, 5, -1, 134, + -1, 9, 10, 11, 139, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, - 38, 39, 3, 4, 42, 12, 13, -1, 9, 10, - 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, -1, -1, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, -1, 54, -1, 56, - 57, 6, 59, 60, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 106, 107, - 108, 109, 132, -1, -1, -1, -1, -1, -1, 6, - 87, 88, 89, -1, -1, 123, 124, -1, -1, -1, - 128, -1, -1, -1, -1, 133, -1, -1, 6, -1, - 138, -1, -1, -1, -1, 106, 107, 108, 109, 12, - 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 123, 124, -1, -1, -1, 128, -1, -1, - -1, 6, 133, -1, 141, -1, -1, 138, -1, -1, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 6, 54, -1, 56, 57, -1, 59, 60, -1, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 6, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, 87, 88, 89, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 6, -1, -1, -1, 132, 114, 115, 116, 117, + 28, 29, 30, 31, 32, 33, 34, 6, 36, 37, + 38, 39, -1, -1, 42, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 107, 108, 109, 110, 6, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 124, 125, -1, -1, -1, 129, 6, -1, -1, + -1, 134, -1, -1, -1, -1, 139, -1, -1, -1, + -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 107, + 108, 109, 110, 133, 6, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, + -1, 129, -1, 6, -1, -1, 134, -1, -1, -1, + -1, 139, -1, -1, -1, -1, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 6, -1, -1, -1, 133, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 6, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 114, + 128, 6, -1, -1, -1, 133, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 6, -1, -1, -1, 133, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, + -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, 6, -1, + -1, 133, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, 6, -1, -1, + 133, -1, -1, -1, -1, -1, -1, -1, -1, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 6, -1, -1, -1, 133, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 6, -1, -1, -1, 132, 114, 115, + 125, 126, 127, 128, 6, -1, -1, -1, 133, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 6, -1, -1, -1, 132, -1, -1, -1, - -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 6, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, + 126, 127, 128, -1, -1, 8, -1, 133, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, -1, -1, 8, -1, 133, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, -1, -1, 8, -1, 133, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, 8, -1, 133, -1, -1, -1, -1, -1, + -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 8, -1, -1, -1, + 133, -1, -1, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 8, -1, -1, + -1, 133, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 6, -1, -1, -1, 132, 114, 115, + 125, 126, 127, 128, -1, -1, -1, -1, 133, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, 8, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 8, -1, -1, -1, 132, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 8, -1, -1, -1, 132, -1, - -1, -1, -1, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 8, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 8, -1, -1, -1, 132, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 8, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, 0, 1, -1, 132, 4, - -1, -1, -1, -1, -1, -1, -1, 12, 13, -1, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 35, -1, -1, -1, -1, 40, 41, 141, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, - 55, 56, 57, 58, 59, 60, -1, -1, -1, 64, - 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, - 75, 76, 77, -1, -1, 80, 81, 4, -1, -1, - -1, 86, 87, 88, 89, 12, 13, 92, -1, 94, - -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, -1, -1, -1, -1, -1, -1, -1, 35, -1, - -1, -1, -1, 40, 41, -1, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, -1, 54, 55, 56, - 57, 58, 59, 60, -1, -1, -1, 64, 65, 66, - 67, 68, 69, 70, -1, 72, 73, 74, 75, 76, - 77, 12, 13, 80, 81, -1, -1, -1, -1, 86, - 87, 88, 89, -1, -1, 92, -1, 94, -1, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, -1, - -1, -1, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, -1, 54, -1, 56, 57, -1, 59, 60, - -1, -1, -1, -1, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, 87, 88, 89, 139, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, 0, + 1, -1, 133, 4, -1, -1, -1, -1, -1, -1, + -1, 12, 13, -1, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 35, -1, -1, -1, -1, 40, + 41, 142, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, -1, 54, 55, 56, 57, 58, 59, 60, + -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, + -1, 72, 73, 74, 75, 76, 77, 78, -1, -1, + 81, 82, 4, -1, -1, -1, 87, 88, 89, 90, + 12, 13, 93, -1, 95, -1, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, -1, -1, -1, -1, + -1, -1, -1, 35, -1, -1, -1, -1, 40, 41, + -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, -1, 54, 55, 56, 57, 58, 59, 60, -1, + -1, -1, 64, 65, 66, 67, 68, 69, 70, -1, + 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, + 82, -1, -1, -1, -1, 87, 88, 89, 90, -1, + -1, 93, -1, 95, -1, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, -1, 142, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, -1, + 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, -1, -1, -1, -1, 139, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, 135, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - 136, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, 136, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, 136, 114, 115, 116, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, 136, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, + 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, + 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, + 128, -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - 136, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, 136, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, 136, 114, 115, 116, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, 136, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, + 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, + 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, + 128, -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - 136, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, 136, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, 136, 114, 115, 116, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, 136, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, + 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, + 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, + 128, -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, + 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, + 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, + 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, + 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, + 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, + 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, + 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, + 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, + 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, + 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, + 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, + 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, + 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132 + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, -1, -1, -1, -1, 133 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 1, 144, 145, 6, 0, 4, 12, 13, 35, + 0, 1, 145, 146, 6, 0, 4, 12, 13, 35, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, - 76, 77, 80, 81, 86, 87, 88, 89, 92, 94, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 146, 148, 149, 167, 170, 171, 174, 175, 176, 177, - 178, 179, 195, 196, 197, 3, 4, 5, 7, 9, - 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 36, 37, 38, 39, 42, 100, 106, - 107, 108, 109, 110, 111, 112, 113, 123, 124, 128, - 130, 131, 133, 135, 137, 138, 165, 166, 198, 199, - 210, 13, 49, 133, 6, 140, 6, 133, 140, 133, - 133, 71, 133, 140, 133, 133, 71, 140, 133, 133, - 53, 49, 133, 49, 49, 49, 46, 49, 51, 51, - 43, 46, 49, 51, 133, 140, 123, 124, 133, 140, - 200, 201, 200, 140, 43, 46, 49, 140, 200, 140, - 49, 49, 4, 100, 140, 6, 46, 140, 4, 4, - 4, 133, 133, 133, 4, 140, 206, 4, 133, 133, - 6, 135, 4, 4, 4, 5, 140, 209, 210, 140, - 209, 4, 135, 137, 142, 166, 140, 210, 133, 135, - 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, - 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, - 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, - 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, - 133, 133, 133, 133, 7, 133, 4, 198, 198, 198, - 198, 136, 140, 198, 4, 92, 93, 4, 198, 6, - 6, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 132, 6, 6, 198, 5, - 198, 198, 4, 43, 124, 171, 179, 198, 204, 205, - 198, 198, 133, 198, 205, 198, 198, 133, 205, 198, - 198, 124, 140, 198, 203, 204, 133, 198, 140, 133, - 133, 203, 140, 140, 133, 133, 133, 133, 133, 4, - 200, 200, 200, 198, 198, 123, 124, 140, 140, 200, - 140, 140, 140, 123, 124, 133, 173, 200, 140, 171, - 172, 173, 203, 203, 4, 6, 135, 135, 173, 140, - 172, 135, 135, 6, 198, 198, 198, 137, 198, 140, - 95, 198, 198, 198, 6, 135, 137, 173, 6, 173, - 6, 135, 198, 4, 140, 150, 6, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 209, - 209, 209, 209, 198, 5, 135, 134, 7, 113, 205, - 136, 7, 165, 166, 137, 7, 135, 6, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 6, 134, 139, 139, 134, 135, 140, - 198, 204, 8, 125, 139, 141, 134, 134, 198, 134, - 141, 134, 134, 198, 141, 134, 134, 140, 141, 205, - 125, 7, 198, 134, 198, 198, 198, 7, 198, 198, - 198, 168, 198, 210, 168, 168, 168, 134, 139, 139, - 139, 200, 200, 172, 172, 139, 198, 198, 198, 198, - 43, 46, 49, 51, 170, 183, 139, 173, 141, 6, - 7, 7, 6, 198, 198, 141, 205, 141, 198, 198, - 134, 134, 134, 92, 139, 173, 140, 8, 134, 136, - 198, 4, 141, 141, 198, 136, 166, 198, 4, 82, - 83, 84, 85, 141, 153, 157, 160, 162, 163, 134, - 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, - 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, - 136, 139, 139, 134, 136, 134, 136, 134, 136, 134, - 136, 134, 136, 134, 136, 139, 139, 139, 139, 139, - 139, 134, 139, 139, 134, 134, 6, 139, 198, 203, - 203, 141, 7, 137, 165, 166, 210, 198, 6, 4, - 4, 140, 207, 136, 8, 6, 120, 147, 205, 198, - 7, 136, 140, 198, 198, 198, 204, 198, 204, 95, - 7, 7, 134, 7, 95, 7, 7, 134, 95, 7, - 7, 205, 141, 140, 198, 134, 7, 141, 134, 134, - 198, 141, 141, 134, 134, 134, 134, 134, 137, 200, - 198, 198, 141, 141, 198, 139, 139, 139, 140, 140, - 140, 140, 72, 78, 79, 193, 194, 200, 141, 180, - 198, 198, 136, 136, 141, 136, 136, 7, 7, 7, - 137, 198, 141, 198, 198, 7, 137, 136, 136, 137, - 166, 209, 141, 154, 133, 133, 140, 164, 6, 198, - 198, 198, 198, 198, 198, 198, 198, 205, 209, 198, - 136, 6, 6, 136, 4, 92, 93, 198, 6, 6, - 6, 7, 135, 206, 208, 6, 198, 120, 209, 134, - 139, 200, 205, 141, 8, 49, 203, 203, 7, 203, - 49, 51, 203, 203, 7, 51, 203, 203, 141, 205, - 6, 7, 140, 7, 7, 7, 6, 61, 7, 7, - 7, 7, 7, 7, 7, 4, 139, 139, 139, 141, - 200, 200, 200, 205, 205, 205, 205, 6, 140, 133, - 141, 194, 139, 193, 6, 6, 6, 6, 49, 6, - 6, 203, 203, 203, 4, 139, 8, 8, 134, 4, - 4, 137, 6, 4, 6, 133, 198, 198, 202, 203, - 140, 134, 136, 134, 136, 134, 136, 134, 136, 134, - 134, 134, 165, 7, 165, 166, 137, 7, 6, 206, - 198, 139, 141, 6, 6, 147, 198, 6, 141, 198, - 140, 6, 56, 6, 56, 203, 6, 140, 140, 6, - 6, 203, 140, 6, 6, 141, 5, 198, 203, 203, - 203, 62, 63, 203, 203, 203, 203, 203, 203, 203, - 6, 7, 198, 198, 198, 140, 139, 141, 139, 141, - 139, 141, 141, 141, 141, 141, 198, 203, 198, 198, - 200, 141, 140, 6, 6, 91, 198, 198, 198, 6, - 7, 4, 166, 151, 198, 139, 139, 139, 141, 152, - 198, 203, 210, 198, 6, 4, 207, 6, 136, 206, - 209, 139, 136, 198, 200, 200, 6, 198, 198, 6, - 198, 5, 139, 6, 6, 95, 169, 198, 198, 4, - 6, 6, 6, 6, 6, 6, 6, 198, 210, 141, - 134, 139, 141, 172, 200, 6, 184, 200, 6, 185, - 200, 6, 186, 6, 6, 6, 6, 141, 139, 134, - 141, 139, 198, 203, 139, 141, 8, 141, 134, 140, - 198, 210, 134, 139, 198, 198, 203, 140, 139, 141, - 6, 6, 6, 7, 6, 137, 6, 198, 141, 6, - 6, 141, 141, 141, 5, 198, 47, 6, 6, 6, - 6, 6, 6, 140, 198, 141, 139, 140, 139, 140, - 139, 140, 6, 203, 7, 140, 198, 141, 90, 198, - 198, 205, 6, 6, 155, 198, 139, 139, 202, 198, - 6, 206, 93, 139, 6, 6, 6, 6, 6, 139, - 140, 172, 139, 141, 198, 200, 193, 198, 200, 193, - 198, 200, 193, 139, 141, 203, 173, 141, 198, 141, - 141, 141, 140, 198, 198, 141, 6, 198, 5, 198, - 141, 198, 141, 139, 141, 141, 139, 141, 141, 139, - 141, 203, 6, 61, 141, 181, 140, 6, 6, 152, - 134, 139, 6, 140, 139, 139, 141, 141, 6, 187, - 198, 6, 6, 188, 198, 6, 6, 189, 198, 6, - 141, 198, 193, 173, 141, 158, 198, 202, 198, 5, - 140, 141, 140, 141, 140, 141, 6, 6, 141, 141, - 182, 6, 140, 134, 141, 141, 139, 193, 6, 190, - 193, 6, 191, 193, 6, 192, 193, 156, 209, 161, - 140, 6, 5, 141, 140, 141, 140, 141, 140, 141, - 139, 141, 140, 202, 141, 6, 193, 6, 193, 6, - 193, 209, 6, 159, 209, 141, 6, 141, 141, 141, - 139, 141, 6, 6, 6, 6, 209, 6 + 76, 77, 78, 81, 82, 87, 88, 89, 90, 93, + 95, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 147, 149, 150, 168, 171, 172, 175, 176, 177, + 178, 179, 180, 196, 197, 198, 3, 4, 5, 7, + 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 36, 37, 38, 39, 42, 101, + 107, 108, 109, 110, 111, 112, 113, 114, 124, 125, + 129, 131, 132, 134, 136, 138, 139, 166, 167, 199, + 200, 211, 13, 49, 134, 6, 141, 6, 134, 141, + 134, 134, 71, 134, 141, 134, 134, 71, 141, 134, + 134, 53, 49, 134, 49, 49, 49, 46, 49, 51, + 51, 43, 46, 49, 51, 134, 141, 124, 125, 134, + 141, 201, 202, 201, 141, 43, 46, 49, 141, 201, + 141, 49, 49, 46, 4, 101, 141, 6, 46, 141, + 4, 4, 4, 134, 134, 134, 4, 141, 207, 4, + 134, 134, 6, 136, 4, 4, 4, 5, 141, 210, + 211, 141, 210, 4, 136, 138, 143, 167, 141, 211, + 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, + 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, + 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, + 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, + 134, 136, 134, 134, 134, 134, 7, 134, 4, 199, + 199, 199, 199, 137, 141, 199, 4, 93, 94, 4, + 199, 6, 6, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 133, 6, 6, + 199, 5, 199, 199, 4, 43, 125, 172, 180, 199, + 205, 206, 199, 199, 134, 199, 206, 199, 199, 134, + 206, 199, 199, 125, 141, 199, 204, 205, 134, 199, + 141, 134, 134, 204, 141, 141, 134, 134, 134, 134, + 134, 4, 201, 201, 201, 199, 199, 124, 125, 141, + 141, 201, 141, 141, 141, 124, 125, 134, 174, 201, + 141, 172, 173, 174, 204, 204, 134, 4, 6, 136, + 136, 174, 141, 173, 136, 136, 6, 199, 199, 199, + 138, 199, 141, 96, 199, 199, 199, 6, 136, 138, + 174, 6, 174, 6, 136, 199, 4, 141, 151, 6, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 210, 210, 210, 210, 199, 5, 136, 135, + 7, 114, 206, 137, 7, 166, 167, 138, 7, 136, + 6, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 6, 135, 140, 140, + 135, 136, 141, 199, 205, 8, 126, 140, 142, 135, + 135, 199, 135, 142, 135, 135, 199, 142, 135, 135, + 141, 142, 206, 126, 7, 199, 135, 199, 199, 199, + 7, 199, 199, 199, 169, 199, 211, 169, 169, 169, + 135, 140, 140, 140, 201, 201, 173, 173, 140, 199, + 199, 199, 199, 43, 46, 49, 51, 171, 184, 140, + 174, 142, 6, 7, 7, 199, 6, 199, 199, 142, + 206, 142, 199, 199, 135, 135, 135, 93, 140, 174, + 141, 8, 135, 137, 199, 4, 142, 142, 199, 137, + 167, 199, 4, 83, 84, 85, 86, 142, 154, 158, + 161, 163, 164, 135, 137, 135, 137, 135, 137, 135, + 137, 135, 137, 135, 137, 135, 137, 135, 137, 135, + 137, 135, 137, 135, 137, 140, 140, 135, 137, 135, + 137, 135, 137, 135, 137, 135, 137, 135, 137, 140, + 140, 140, 140, 140, 140, 135, 140, 140, 135, 135, + 6, 140, 199, 204, 204, 142, 7, 138, 166, 167, + 211, 199, 6, 4, 4, 141, 208, 137, 8, 6, + 121, 148, 206, 199, 7, 137, 141, 199, 199, 199, + 205, 199, 205, 96, 7, 7, 135, 7, 96, 7, + 7, 135, 96, 7, 7, 206, 142, 141, 199, 135, + 7, 142, 135, 135, 199, 142, 142, 135, 135, 135, + 135, 135, 138, 201, 199, 199, 142, 142, 199, 140, + 140, 140, 141, 141, 141, 141, 72, 79, 80, 194, + 195, 201, 142, 181, 199, 199, 135, 137, 137, 142, + 137, 137, 7, 7, 7, 138, 199, 142, 199, 199, + 7, 138, 137, 137, 138, 167, 210, 142, 155, 134, + 134, 141, 165, 6, 199, 199, 199, 199, 199, 199, + 199, 199, 206, 210, 199, 137, 6, 6, 137, 4, + 93, 94, 199, 6, 6, 6, 7, 136, 207, 209, + 6, 199, 121, 210, 135, 140, 201, 206, 142, 8, + 49, 204, 204, 7, 204, 49, 51, 204, 204, 7, + 51, 204, 204, 142, 206, 6, 7, 141, 7, 7, + 7, 6, 61, 7, 7, 7, 7, 7, 7, 7, + 4, 140, 140, 140, 142, 201, 201, 201, 206, 206, + 206, 206, 6, 141, 134, 142, 195, 140, 194, 6, + 6, 141, 6, 6, 49, 6, 6, 204, 204, 204, + 4, 140, 8, 8, 135, 4, 4, 138, 6, 4, + 6, 134, 199, 199, 203, 204, 141, 135, 137, 135, + 137, 135, 137, 135, 137, 135, 135, 135, 166, 7, + 166, 167, 138, 7, 6, 207, 199, 140, 142, 6, + 6, 148, 199, 6, 142, 199, 141, 6, 56, 6, + 56, 204, 6, 141, 141, 6, 6, 204, 141, 6, + 6, 142, 5, 199, 204, 204, 204, 62, 63, 204, + 204, 204, 204, 204, 204, 204, 6, 7, 199, 199, + 199, 141, 140, 142, 140, 142, 140, 142, 142, 142, + 142, 142, 199, 204, 199, 199, 201, 142, 206, 141, + 6, 6, 92, 199, 199, 199, 6, 7, 4, 167, + 152, 199, 140, 140, 140, 142, 153, 199, 204, 211, + 199, 6, 4, 208, 6, 137, 207, 210, 140, 137, + 199, 201, 201, 6, 199, 199, 6, 199, 5, 140, + 6, 6, 96, 170, 199, 199, 4, 6, 6, 6, + 6, 6, 6, 6, 199, 211, 142, 135, 140, 142, + 173, 201, 6, 185, 201, 6, 186, 201, 6, 187, + 6, 6, 6, 6, 142, 140, 135, 142, 140, 142, + 199, 204, 140, 142, 8, 142, 135, 141, 199, 211, + 135, 140, 199, 199, 204, 141, 140, 142, 6, 6, + 6, 7, 6, 138, 6, 199, 142, 6, 6, 142, + 142, 142, 5, 199, 47, 6, 6, 6, 6, 6, + 6, 141, 199, 142, 140, 141, 140, 141, 140, 141, + 6, 204, 7, 141, 199, 6, 142, 91, 199, 199, + 206, 6, 6, 156, 199, 140, 140, 203, 199, 6, + 207, 94, 140, 6, 6, 6, 6, 6, 140, 141, + 173, 140, 142, 199, 201, 194, 199, 201, 194, 199, + 201, 194, 140, 142, 204, 174, 142, 199, 142, 142, + 142, 141, 199, 199, 142, 6, 199, 5, 199, 142, + 199, 142, 140, 142, 142, 140, 142, 142, 140, 142, + 204, 6, 61, 142, 182, 141, 6, 6, 153, 135, + 140, 6, 141, 140, 140, 142, 142, 6, 188, 199, + 6, 6, 189, 199, 6, 6, 190, 199, 6, 142, + 199, 194, 174, 142, 159, 199, 203, 199, 5, 141, + 142, 141, 142, 141, 142, 6, 6, 142, 142, 183, + 6, 141, 135, 142, 142, 140, 194, 6, 191, 194, + 6, 192, 194, 6, 193, 194, 157, 210, 162, 141, + 6, 5, 142, 141, 142, 141, 142, 141, 142, 140, + 142, 141, 203, 142, 6, 194, 6, 194, 6, 194, + 210, 6, 160, 210, 142, 6, 142, 142, 142, 140, + 142, 6, 6, 6, 6, 210, 6 }; #define yyerrok (yyerrstatus = 0) @@ -2916,7 +2928,7 @@ while (YYID (0)) we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +# if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ @@ -5328,6 +5340,17 @@ yyreduce: case 123: #line 1570 "Gmsh.y" + { + (yyval.l) = List_Create(2, 1, sizeof(Shape*)); + List_T *tmp=ListOfDouble2ListOfInt((yyvsp[(7) - (9)].l)); + List_Delete((yyvsp[(7) - (9)].l)); + SplitCurve((int)(yyvsp[(4) - (9)].d),tmp,(yyval.l)); + List_Delete(tmp); + ;} + break; + + case 124: +#line 1578 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); BoundaryShapes((yyvsp[(3) - (4)].l), (yyval.l)); @@ -5335,32 +5358,32 @@ yyreduce: ;} break; - case 124: -#line 1578 "Gmsh.y" + case 125: +#line 1586 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 125: -#line 1579 "Gmsh.y" + case 126: +#line 1587 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 126: -#line 1584 "Gmsh.y" + case 127: +#line 1592 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); ;} break; - case 127: -#line 1588 "Gmsh.y" + case 128: +#line 1596 "Gmsh.y" { List_Add((yyval.l), &(yyvsp[(2) - (2)].s)); ;} break; - case 128: -#line 1592 "Gmsh.y" + case 129: +#line 1600 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5385,8 +5408,8 @@ yyreduce: ;} break; - case 129: -#line 1615 "Gmsh.y" + case 130: +#line 1623 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5411,8 +5434,8 @@ yyreduce: ;} break; - case 130: -#line 1638 "Gmsh.y" + case 131: +#line 1646 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5437,8 +5460,8 @@ yyreduce: ;} break; - case 131: -#line 1661 "Gmsh.y" + case 132: +#line 1669 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5463,8 +5486,8 @@ yyreduce: ;} break; - case 132: -#line 1689 "Gmsh.y" + case 133: +#line 1697 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5475,15 +5498,15 @@ yyreduce: ;} break; - case 133: -#line 1698 "Gmsh.y" + case 134: +#line 1706 "Gmsh.y" { GModel::current()->getFields()->delete_field((int)(yyvsp[(4) - (6)].d)); ;} break; - case 134: -#line 1702 "Gmsh.y" + case 135: +#line 1710 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -5500,8 +5523,8 @@ yyreduce: ;} break; - case 135: -#line 1717 "Gmsh.y" + case 136: +#line 1725 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Model") || !strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ GModel::current()->destroy(); @@ -5524,8 +5547,8 @@ yyreduce: ;} break; - case 136: -#line 1738 "Gmsh.y" + case 137: +#line 1746 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ @@ -5539,8 +5562,8 @@ yyreduce: ;} break; - case 137: -#line 1755 "Gmsh.y" + case 138: +#line 1763 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -5551,8 +5574,8 @@ yyreduce: ;} break; - case 138: -#line 1769 "Gmsh.y" + case 139: +#line 1777 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1); @@ -5560,8 +5583,8 @@ yyreduce: ;} break; - case 139: -#line 1775 "Gmsh.y" + case 140: +#line 1783 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0); @@ -5569,8 +5592,8 @@ yyreduce: ;} break; - case 140: -#line 1781 "Gmsh.y" + case 141: +#line 1789 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5581,8 +5604,8 @@ yyreduce: ;} break; - case 141: -#line 1790 "Gmsh.y" + case 142: +#line 1798 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5593,8 +5616,8 @@ yyreduce: ;} break; - case 142: -#line 1804 "Gmsh.y" + case 143: +#line 1812 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ char tmpstring[1024]; @@ -5644,8 +5667,8 @@ yyreduce: ;} break; - case 143: -#line 1852 "Gmsh.y" + case 144: +#line 1860 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -5665,8 +5688,8 @@ yyreduce: ;} break; - case 144: -#line 1870 "Gmsh.y" + case 145: +#line 1878 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ @@ -5683,8 +5706,8 @@ yyreduce: ;} break; - case 145: -#line 1885 "Gmsh.y" + case 146: +#line 1893 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -5705,8 +5728,8 @@ yyreduce: ;} break; - case 146: -#line 1904 "Gmsh.y" + case 147: +#line 1912 "Gmsh.y" { #if !defined(HAVE_NO_POST) try { @@ -5720,8 +5743,8 @@ yyreduce: ;} break; - case 147: -#line 1916 "Gmsh.y" + case 148: +#line 1924 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -5747,31 +5770,31 @@ yyreduce: ;} break; - case 148: -#line 1940 "Gmsh.y" + case 149: +#line 1948 "Gmsh.y" { exit(0); ;} break; - case 149: -#line 1944 "Gmsh.y" + case 150: +#line 1952 "Gmsh.y" { CTX.forced_bbox = 0; SetBoundingBox(); ;} break; - case 150: -#line 1949 "Gmsh.y" + case 151: +#line 1957 "Gmsh.y" { CTX.forced_bbox = 1; SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d)); ;} break; - case 151: -#line 1954 "Gmsh.y" + case 152: +#line 1962 "Gmsh.y" { #if defined(HAVE_FLTK) Draw(); @@ -5779,8 +5802,8 @@ yyreduce: ;} break; - case 152: -#line 1966 "Gmsh.y" + case 153: +#line 1974 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -5799,8 +5822,8 @@ yyreduce: ;} break; - case 153: -#line 1983 "Gmsh.y" + case 154: +#line 1991 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -5819,8 +5842,8 @@ yyreduce: ;} break; - case 154: -#line 2000 "Gmsh.y" + case 155: +#line 2008 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -5841,8 +5864,8 @@ yyreduce: ;} break; - case 155: -#line 2019 "Gmsh.y" + case 156: +#line 2027 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -5863,8 +5886,8 @@ yyreduce: ;} break; - case 156: -#line 2038 "Gmsh.y" + case 157: +#line 2046 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -5894,8 +5917,8 @@ yyreduce: ;} break; - case 157: -#line 2066 "Gmsh.y" + case 158: +#line 2074 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5905,8 +5928,8 @@ yyreduce: ;} break; - case 158: -#line 2074 "Gmsh.y" + case 159: +#line 2082 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5914,8 +5937,8 @@ yyreduce: ;} break; - case 159: -#line 2080 "Gmsh.y" + case 160: +#line 2088 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5924,21 +5947,21 @@ yyreduce: ;} break; - case 160: -#line 2087 "Gmsh.y" + case 161: +#line 2095 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); ;} break; - case 161: -#line 2091 "Gmsh.y" + case 162: +#line 2099 "Gmsh.y" { ;} break; - case 162: -#line 2100 "Gmsh.y" + case 163: +#line 2108 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -5948,8 +5971,8 @@ yyreduce: ;} break; - case 163: -#line 2108 "Gmsh.y" + case 164: +#line 2116 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -5959,8 +5982,8 @@ yyreduce: ;} break; - case 164: -#line 2116 "Gmsh.y" + case 165: +#line 2124 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -5970,15 +5993,15 @@ yyreduce: ;} break; - case 165: -#line 2124 "Gmsh.y" + case 166: +#line 2132 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 166: -#line 2128 "Gmsh.y" + case 167: +#line 2136 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -5988,15 +6011,15 @@ yyreduce: ;} break; - case 167: -#line 2136 "Gmsh.y" + case 168: +#line 2144 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 168: -#line 2140 "Gmsh.y" + case 169: +#line 2148 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -6006,15 +6029,15 @@ yyreduce: ;} break; - case 169: -#line 2148 "Gmsh.y" + case 170: +#line 2156 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 170: -#line 2152 "Gmsh.y" + case 171: +#line 2160 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -6024,15 +6047,15 @@ yyreduce: ;} break; - case 171: -#line 2160 "Gmsh.y" + case 172: +#line 2168 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 172: -#line 2164 "Gmsh.y" + case 173: +#line 2172 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(BOUNDARY_LAYER, (yyvsp[(3) - (6)].l), 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., @@ -6041,8 +6064,8 @@ yyreduce: ;} break; - case 173: -#line 2173 "Gmsh.y" + case 174: +#line 2181 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -6051,8 +6074,8 @@ yyreduce: ;} break; - case 174: -#line 2180 "Gmsh.y" + case 175: +#line 2188 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -6061,8 +6084,8 @@ yyreduce: ;} break; - case 175: -#line 2187 "Gmsh.y" + case 176: +#line 2195 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -6071,8 +6094,8 @@ yyreduce: ;} break; - case 176: -#line 2194 "Gmsh.y" + case 177: +#line 2202 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6081,8 +6104,8 @@ yyreduce: ;} break; - case 177: -#line 2201 "Gmsh.y" + case 178: +#line 2209 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6091,8 +6114,8 @@ yyreduce: ;} break; - case 178: -#line 2208 "Gmsh.y" + case 179: +#line 2216 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6101,8 +6124,8 @@ yyreduce: ;} break; - case 179: -#line 2215 "Gmsh.y" + case 180: +#line 2223 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -6111,8 +6134,8 @@ yyreduce: ;} break; - case 180: -#line 2222 "Gmsh.y" + case 181: +#line 2230 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -6121,8 +6144,8 @@ yyreduce: ;} break; - case 181: -#line 2229 "Gmsh.y" + case 182: +#line 2237 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -6131,15 +6154,15 @@ yyreduce: ;} break; - case 182: -#line 2236 "Gmsh.y" + case 183: +#line 2244 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 183: -#line 2240 "Gmsh.y" + case 184: +#line 2248 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6148,15 +6171,15 @@ yyreduce: ;} break; - case 184: -#line 2247 "Gmsh.y" + case 185: +#line 2255 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 185: -#line 2251 "Gmsh.y" + case 186: +#line 2259 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6165,15 +6188,15 @@ yyreduce: ;} break; - case 186: -#line 2258 "Gmsh.y" + case 187: +#line 2266 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 187: -#line 2262 "Gmsh.y" + case 188: +#line 2270 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6182,15 +6205,15 @@ yyreduce: ;} break; - case 188: -#line 2269 "Gmsh.y" + case 189: +#line 2277 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 189: -#line 2273 "Gmsh.y" + case 190: +#line 2281 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -6199,15 +6222,15 @@ yyreduce: ;} break; - case 190: -#line 2280 "Gmsh.y" + case 191: +#line 2288 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 191: -#line 2284 "Gmsh.y" + case 192: +#line 2292 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -6216,15 +6239,15 @@ yyreduce: ;} break; - case 192: -#line 2291 "Gmsh.y" + case 193: +#line 2299 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 193: -#line 2295 "Gmsh.y" + case 194: +#line 2303 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -6233,15 +6256,15 @@ yyreduce: ;} break; - case 194: -#line 2302 "Gmsh.y" + case 195: +#line 2310 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 195: -#line 2306 "Gmsh.y" + case 196: +#line 2314 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -6250,15 +6273,15 @@ yyreduce: ;} break; - case 196: -#line 2313 "Gmsh.y" + case 197: +#line 2321 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 197: -#line 2317 "Gmsh.y" + case 198: +#line 2325 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -6267,15 +6290,15 @@ yyreduce: ;} break; - case 198: -#line 2324 "Gmsh.y" + case 199: +#line 2332 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 199: -#line 2328 "Gmsh.y" + case 200: +#line 2336 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -6284,20 +6307,20 @@ yyreduce: ;} break; - case 200: -#line 2339 "Gmsh.y" + case 201: +#line 2347 "Gmsh.y" { ;} break; - case 201: -#line 2342 "Gmsh.y" + case 202: +#line 2350 "Gmsh.y" { ;} break; - case 202: -#line 2348 "Gmsh.y" + case 203: +#line 2356 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -6308,8 +6331,8 @@ yyreduce: ;} break; - case 203: -#line 2357 "Gmsh.y" + case 204: +#line 2365 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -6331,8 +6354,8 @@ yyreduce: ;} break; - case 204: -#line 2377 "Gmsh.y" + case 205: +#line 2385 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -6357,15 +6380,15 @@ yyreduce: ;} break; - case 205: -#line 2400 "Gmsh.y" + case 206: +#line 2408 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; - case 206: -#line 2404 "Gmsh.y" + case 207: +#line 2412 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -6386,8 +6409,8 @@ yyreduce: ;} break; - case 207: -#line 2428 "Gmsh.y" + case 208: +#line 2436 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6407,8 +6430,8 @@ yyreduce: ;} break; - case 208: -#line 2446 "Gmsh.y" + case 209: +#line 2454 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (9)].l)); i++){ double d; @@ -6428,8 +6451,8 @@ yyreduce: ;} break; - case 209: -#line 2464 "Gmsh.y" + case 210: +#line 2472 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (9)].l)); i++){ double d; @@ -6449,8 +6472,8 @@ yyreduce: ;} break; - case 210: -#line 2482 "Gmsh.y" + case 211: +#line 2490 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(4) - (8)].d)); if(!s) @@ -6481,8 +6504,8 @@ yyreduce: ;} break; - case 211: -#line 2511 "Gmsh.y" + case 212: +#line 2519 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(4) - (9)].d)); if(!s) @@ -6519,16 +6542,16 @@ yyreduce: ;} break; - case 212: -#line 2546 "Gmsh.y" + case 213: +#line 2554 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); ;} break; - case 213: -#line 2551 "Gmsh.y" + case 214: +#line 2559 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(4) - (8)].d)); if(!v) @@ -6557,8 +6580,8 @@ yyreduce: ;} break; - case 214: -#line 2578 "Gmsh.y" + case 215: +#line 2586 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6574,8 +6597,8 @@ yyreduce: ;} break; - case 215: -#line 2592 "Gmsh.y" + case 216: +#line 2600 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ double d; @@ -6590,8 +6613,8 @@ yyreduce: ;} break; - case 216: -#line 2605 "Gmsh.y" + case 217: +#line 2613 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6604,8 +6627,8 @@ yyreduce: ;} break; - case 217: -#line 2622 "Gmsh.y" + case 218: +#line 2630 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s) @@ -6613,8 +6636,8 @@ yyreduce: ;} break; - case 218: -#line 2628 "Gmsh.y" + case 219: +#line 2636 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s) @@ -6622,67 +6645,67 @@ yyreduce: ;} break; - case 219: -#line 2634 "Gmsh.y" + case 220: +#line 2642 "Gmsh.y" { ;} break; - case 220: -#line 2637 "Gmsh.y" + case 221: +#line 2645 "Gmsh.y" { ;} break; - case 221: -#line 2646 "Gmsh.y" + case 222: +#line 2654 "Gmsh.y" { ReplaceAllDuplicates(); ;} break; - case 222: -#line 2655 "Gmsh.y" + case 223: +#line 2663 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; - case 223: -#line 2656 "Gmsh.y" + case 224: +#line 2664 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; - case 224: -#line 2657 "Gmsh.y" + case 225: +#line 2665 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; - case 225: -#line 2658 "Gmsh.y" + case 226: +#line 2666 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; - case 226: -#line 2659 "Gmsh.y" + case 227: +#line 2667 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; - case 227: -#line 2660 "Gmsh.y" + case 228: +#line 2668 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; - case 228: -#line 2661 "Gmsh.y" + case 229: +#line 2669 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; - case 229: -#line 2662 "Gmsh.y" + case 230: +#line 2670 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; - case 230: -#line 2664 "Gmsh.y" + case 231: +#line 2672 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -6691,308 +6714,308 @@ yyreduce: ;} break; - case 231: -#line 2670 "Gmsh.y" - { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} - break; - case 232: -#line 2671 "Gmsh.y" - { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} +#line 2678 "Gmsh.y" + { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; case 233: -#line 2672 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} +#line 2679 "Gmsh.y" + { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; case 234: -#line 2673 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} +#line 2680 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; case 235: -#line 2674 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} +#line 2681 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; case 236: -#line 2675 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} +#line 2682 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; case 237: -#line 2676 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} +#line 2683 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; case 238: -#line 2677 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} +#line 2684 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; case 239: -#line 2678 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} +#line 2685 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; case 240: -#line 2679 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} +#line 2686 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; case 241: -#line 2680 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} +#line 2687 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; case 242: -#line 2681 "Gmsh.y" - { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} +#line 2688 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; case 243: -#line 2682 "Gmsh.y" - { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} +#line 2689 "Gmsh.y" + { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 244: -#line 2683 "Gmsh.y" - { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} +#line 2690 "Gmsh.y" + { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 245: -#line 2684 "Gmsh.y" - { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} +#line 2691 "Gmsh.y" + { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 246: -#line 2685 "Gmsh.y" - { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} +#line 2692 "Gmsh.y" + { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 247: -#line 2686 "Gmsh.y" - { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} +#line 2693 "Gmsh.y" + { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 248: -#line 2687 "Gmsh.y" - { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} +#line 2694 "Gmsh.y" + { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 249: -#line 2688 "Gmsh.y" - { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} +#line 2695 "Gmsh.y" + { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 250: -#line 2689 "Gmsh.y" - { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} +#line 2696 "Gmsh.y" + { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 251: -#line 2690 "Gmsh.y" - { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} +#line 2697 "Gmsh.y" + { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 252: -#line 2691 "Gmsh.y" - { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} +#line 2698 "Gmsh.y" + { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 253: -#line 2692 "Gmsh.y" - { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} +#line 2699 "Gmsh.y" + { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 254: -#line 2693 "Gmsh.y" - { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} +#line 2700 "Gmsh.y" + { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 255: -#line 2694 "Gmsh.y" - { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} +#line 2701 "Gmsh.y" + { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 256: -#line 2695 "Gmsh.y" - { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} +#line 2702 "Gmsh.y" + { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 257: -#line 2696 "Gmsh.y" - { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} +#line 2703 "Gmsh.y" + { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 258: -#line 2697 "Gmsh.y" - { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} +#line 2704 "Gmsh.y" + { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 259: -#line 2698 "Gmsh.y" - { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} +#line 2705 "Gmsh.y" + { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 260: -#line 2699 "Gmsh.y" +#line 2706 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 261: -#line 2700 "Gmsh.y" - { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} +#line 2707 "Gmsh.y" + { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 262: -#line 2701 "Gmsh.y" - { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} +#line 2708 "Gmsh.y" + { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 263: -#line 2703 "Gmsh.y" - { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} +#line 2709 "Gmsh.y" + { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 264: -#line 2704 "Gmsh.y" - { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} +#line 2711 "Gmsh.y" + { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 265: -#line 2705 "Gmsh.y" - { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} +#line 2712 "Gmsh.y" + { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 266: -#line 2706 "Gmsh.y" - { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} +#line 2713 "Gmsh.y" + { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 267: -#line 2707 "Gmsh.y" - { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} +#line 2714 "Gmsh.y" + { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 268: -#line 2708 "Gmsh.y" - { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} +#line 2715 "Gmsh.y" + { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 269: -#line 2709 "Gmsh.y" - { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} +#line 2716 "Gmsh.y" + { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 270: -#line 2710 "Gmsh.y" - { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} +#line 2717 "Gmsh.y" + { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 271: -#line 2711 "Gmsh.y" - { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} +#line 2718 "Gmsh.y" + { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 272: -#line 2712 "Gmsh.y" - { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} +#line 2719 "Gmsh.y" + { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 273: -#line 2713 "Gmsh.y" - { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} +#line 2720 "Gmsh.y" + { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 274: -#line 2714 "Gmsh.y" - { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} +#line 2721 "Gmsh.y" + { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 275: -#line 2715 "Gmsh.y" - { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} +#line 2722 "Gmsh.y" + { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 276: -#line 2716 "Gmsh.y" - { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} +#line 2723 "Gmsh.y" + { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 277: -#line 2717 "Gmsh.y" - { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} +#line 2724 "Gmsh.y" + { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 278: -#line 2718 "Gmsh.y" - { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} +#line 2725 "Gmsh.y" + { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 279: -#line 2719 "Gmsh.y" - { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} +#line 2726 "Gmsh.y" + { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 280: -#line 2720 "Gmsh.y" - { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} +#line 2727 "Gmsh.y" + { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 281: -#line 2721 "Gmsh.y" +#line 2728 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 282: -#line 2722 "Gmsh.y" - { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} +#line 2729 "Gmsh.y" + { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 283: -#line 2723 "Gmsh.y" - { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} +#line 2730 "Gmsh.y" + { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 284: -#line 2732 "Gmsh.y" - { (yyval.d) = (yyvsp[(1) - (1)].d); ;} +#line 2731 "Gmsh.y" + { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 285: -#line 2733 "Gmsh.y" - { (yyval.d) = 3.141592653589793; ;} +#line 2740 "Gmsh.y" + { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 286: -#line 2734 "Gmsh.y" - { (yyval.d) = Msg::GetCommRank(); ;} +#line 2741 "Gmsh.y" + { (yyval.d) = 3.141592653589793; ;} break; case 287: -#line 2735 "Gmsh.y" - { (yyval.d) = Msg::GetCommSize(); ;} +#line 2742 "Gmsh.y" + { (yyval.d) = Msg::GetCommRank(); ;} break; case 288: -#line 2736 "Gmsh.y" - { (yyval.d) = Get_GmshMajorVersion(); ;} +#line 2743 "Gmsh.y" + { (yyval.d) = Msg::GetCommSize(); ;} break; case 289: -#line 2737 "Gmsh.y" - { (yyval.d) = Get_GmshMinorVersion(); ;} +#line 2744 "Gmsh.y" + { (yyval.d) = Get_GmshMajorVersion(); ;} break; case 290: -#line 2738 "Gmsh.y" - { (yyval.d) = Get_GmshPatchVersion(); ;} +#line 2745 "Gmsh.y" + { (yyval.d) = Get_GmshMinorVersion(); ;} break; case 291: -#line 2743 "Gmsh.y" +#line 2746 "Gmsh.y" + { (yyval.d) = Get_GmshPatchVersion(); ;} + break; + + case 292: +#line 2751 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -7004,8 +7027,8 @@ yyreduce: ;} break; - case 292: -#line 2756 "Gmsh.y" + case 293: +#line 2764 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ; @@ -7019,8 +7042,8 @@ yyreduce: ;} break; - case 293: -#line 2768 "Gmsh.y" + case 294: +#line 2776 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -7037,8 +7060,8 @@ yyreduce: ;} break; - case 294: -#line 2783 "Gmsh.y" + case 295: +#line 2791 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -7050,8 +7073,8 @@ yyreduce: ;} break; - case 295: -#line 2793 "Gmsh.y" + case 296: +#line 2801 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -7063,8 +7086,8 @@ yyreduce: ;} break; - case 296: -#line 2803 "Gmsh.y" + case 297: +#line 2811 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -7081,24 +7104,24 @@ yyreduce: ;} break; - case 297: -#line 2821 "Gmsh.y" + case 298: +#line 2829 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d)); Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c)); ;} break; - case 298: -#line 2826 "Gmsh.y" + case 299: +#line 2834 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d)); Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c)); ;} break; - case 299: -#line 2831 "Gmsh.y" + case 300: +#line 2839 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -7110,8 +7133,8 @@ yyreduce: ;} break; - case 300: -#line 2841 "Gmsh.y" + case 301: +#line 2849 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -7123,124 +7146,124 @@ yyreduce: ;} break; - case 301: -#line 2851 "Gmsh.y" + case 302: +#line 2859 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); ;} break; - case 302: -#line 2859 "Gmsh.y" + case 303: +#line 2867 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; - case 303: -#line 2863 "Gmsh.y" + case 304: +#line 2871 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; - case 304: -#line 2867 "Gmsh.y" + case 305: +#line 2875 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; - case 305: -#line 2871 "Gmsh.y" + case 306: +#line 2879 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; - case 306: -#line 2875 "Gmsh.y" + case 307: +#line 2883 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; - case 307: -#line 2882 "Gmsh.y" + case 308: +#line 2890 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d); ;} break; - case 308: -#line 2886 "Gmsh.y" + case 309: +#line 2894 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0; ;} break; - case 309: -#line 2890 "Gmsh.y" + case 310: +#line 2898 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; - case 310: -#line 2894 "Gmsh.y" + case 311: +#line 2902 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; - case 311: -#line 2901 "Gmsh.y" + case 312: +#line 2909 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); ;} break; - case 312: -#line 2906 "Gmsh.y" + case 313: +#line 2914 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; - case 313: -#line 2913 "Gmsh.y" + case 314: +#line 2921 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); ;} break; - case 314: -#line 2918 "Gmsh.y" + case 315: +#line 2926 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 315: -#line 2922 "Gmsh.y" + case 316: +#line 2930 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); ;} break; - case 316: -#line 2927 "Gmsh.y" + case 317: +#line 2935 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; - case 317: -#line 2931 "Gmsh.y" + case 318: +#line 2939 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7250,8 +7273,8 @@ yyreduce: ;} break; - case 318: -#line 2939 "Gmsh.y" + case 319: +#line 2947 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7261,8 +7284,8 @@ yyreduce: ;} break; - case 319: -#line 2950 "Gmsh.y" + case 320: +#line 2958 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7272,8 +7295,8 @@ yyreduce: ;} break; - case 320: -#line 2958 "Gmsh.y" + case 321: +#line 2966 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7283,8 +7306,8 @@ yyreduce: ;} break; - case 321: -#line 2966 "Gmsh.y" + case 322: +#line 2974 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d)); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.)) @@ -7292,8 +7315,8 @@ yyreduce: ;} break; - case 322: -#line 2972 "Gmsh.y" + case 323: +#line 2980 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){ @@ -7306,8 +7329,8 @@ yyreduce: ;} break; - case 323: -#line 2983 "Gmsh.y" + case 324: +#line 2991 "Gmsh.y" { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are @@ -7329,8 +7352,8 @@ yyreduce: ;} break; - case 324: -#line 3003 "Gmsh.y" + case 325: +#line 3011 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -7342,8 +7365,8 @@ yyreduce: ;} break; - case 325: -#line 3013 "Gmsh.y" + case 326: +#line 3021 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -7355,8 +7378,8 @@ yyreduce: ;} break; - case 326: -#line 3023 "Gmsh.y" + case 327: +#line 3031 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -7368,8 +7391,8 @@ yyreduce: ;} break; - case 327: -#line 3033 "Gmsh.y" + case 328: +#line 3041 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -7388,30 +7411,30 @@ yyreduce: ;} break; - case 328: -#line 3053 "Gmsh.y" + case 329: +#line 3061 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); ;} break; - case 329: -#line 3058 "Gmsh.y" + case 330: +#line 3066 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 330: -#line 3062 "Gmsh.y" + case 331: +#line 3070 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; - case 331: -#line 3066 "Gmsh.y" + case 332: +#line 3074 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -7422,22 +7445,22 @@ yyreduce: ;} break; - case 332: -#line 3078 "Gmsh.y" + case 333: +#line 3086 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); ;} break; - case 333: -#line 3082 "Gmsh.y" + case 334: +#line 3090 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} break; - case 334: -#line 3094 "Gmsh.y" + case 335: +#line 3102 "Gmsh.y" { int flag; (yyval.u) = Get_ColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag); @@ -7446,8 +7469,8 @@ yyreduce: ;} break; - case 335: -#line 3101 "Gmsh.y" + case 336: +#line 3109 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -7456,15 +7479,15 @@ yyreduce: ;} break; - case 336: -#line 3111 "Gmsh.y" + case 337: +#line 3119 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; - case 337: -#line 3115 "Gmsh.y" + case 338: +#line 3123 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)(yyvsp[(3) - (6)].d)); @@ -7478,30 +7501,30 @@ yyreduce: ;} break; - case 338: -#line 3130 "Gmsh.y" + case 339: +#line 3138 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); ;} break; - case 339: -#line 3135 "Gmsh.y" + case 340: +#line 3143 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; - case 340: -#line 3142 "Gmsh.y" + case 341: +#line 3150 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; - case 341: -#line 3146 "Gmsh.y" + case 342: +#line 3154 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -7516,8 +7539,8 @@ yyreduce: ;} break; - case 342: -#line 3159 "Gmsh.y" + case 343: +#line 3167 "Gmsh.y" { const char *val = ""; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), val); @@ -7527,8 +7550,8 @@ yyreduce: ;} break; - case 343: -#line 3167 "Gmsh.y" + case 344: +#line 3175 "Gmsh.y" { const char *val = ""; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), val); @@ -7538,15 +7561,15 @@ yyreduce: ;} break; - case 344: -#line 3178 "Gmsh.y" + case 345: +#line 3186 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; - case 345: -#line 3182 "Gmsh.y" + case 346: +#line 3190 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -7556,8 +7579,8 @@ yyreduce: ;} break; - case 346: -#line 3190 "Gmsh.y" + case 347: +#line 3198 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (6)].c)) + strlen((yyvsp[(5) - (6)].c)) + 1) * sizeof(char)); strcpy((yyval.c), (yyvsp[(3) - (6)].c)); @@ -7567,8 +7590,8 @@ yyreduce: ;} break; - case 347: -#line 3198 "Gmsh.y" + case 348: +#line 3206 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -7584,8 +7607,8 @@ yyreduce: ;} break; - case 348: -#line 3212 "Gmsh.y" + case 349: +#line 3220 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -7601,15 +7624,15 @@ yyreduce: ;} break; - case 349: -#line 3226 "Gmsh.y" + case 350: +#line 3234 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; - case 350: -#line 3230 "Gmsh.y" + case 351: +#line 3238 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -7632,7 +7655,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 7636 "Gmsh.tab.cpp" +#line 7659 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -7846,7 +7869,7 @@ yyreturn: } -#line 3250 "Gmsh.y" +#line 3258 "Gmsh.y" int PrintListOfDouble(char *format, List_T *list, char *buffer) diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index ffded7684ab6dc08950a645015b8446374142c75..bac7f5a1e4fdbfd8c32477ec5f38c7a0216b6e29 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -110,55 +110,56 @@ tLoop = 326, tRecombine = 327, tSmoother = 328, - tDelete = 329, - tCoherence = 330, - tIntersect = 331, - tBoundary = 332, - tLayers = 333, - tHole = 334, - tAlias = 335, - tAliasWithOptions = 336, - tText2D = 337, - tText3D = 338, - tInterpolationScheme = 339, - tTime = 340, - tCombine = 341, - tBSpline = 342, - tBezier = 343, - tNurbs = 344, - tOrder = 345, - tKnots = 346, - tColor = 347, - tColorTable = 348, - tFor = 349, - tIn = 350, - tEndFor = 351, - tIf = 352, - tEndIf = 353, - tExit = 354, - tField = 355, - tReturn = 356, - tCall = 357, - tFunction = 358, - tShow = 359, - tHide = 360, - tGetValue = 361, - tGMSH_MAJOR_VERSION = 362, - tGMSH_MINOR_VERSION = 363, - tGMSH_PATCH_VERSION = 364, - tAFFECTDIVIDE = 365, - tAFFECTTIMES = 366, - tAFFECTMINUS = 367, - tAFFECTPLUS = 368, - tOR = 369, - tAND = 370, - tNOTEQUAL = 371, - tEQUAL = 372, - tGREATEROREQUAL = 373, - tLESSOREQUAL = 374, - UNARYPREC = 375, - tMINUSMINUS = 376, - tPLUSPLUS = 377 + tSplit = 329, + tDelete = 330, + tCoherence = 331, + tIntersect = 332, + tBoundary = 333, + tLayers = 334, + tHole = 335, + tAlias = 336, + tAliasWithOptions = 337, + tText2D = 338, + tText3D = 339, + tInterpolationScheme = 340, + tTime = 341, + tCombine = 342, + tBSpline = 343, + tBezier = 344, + tNurbs = 345, + tOrder = 346, + tKnots = 347, + tColor = 348, + tColorTable = 349, + tFor = 350, + tIn = 351, + tEndFor = 352, + tIf = 353, + tEndIf = 354, + tExit = 355, + tField = 356, + tReturn = 357, + tCall = 358, + tFunction = 359, + tShow = 360, + tHide = 361, + tGetValue = 362, + tGMSH_MAJOR_VERSION = 363, + tGMSH_MINOR_VERSION = 364, + tGMSH_PATCH_VERSION = 365, + tAFFECTDIVIDE = 366, + tAFFECTTIMES = 367, + tAFFECTMINUS = 368, + tAFFECTPLUS = 369, + tOR = 370, + tAND = 371, + tNOTEQUAL = 372, + tEQUAL = 373, + tGREATEROREQUAL = 374, + tLESSOREQUAL = 375, + UNARYPREC = 376, + tMINUSMINUS = 377, + tPLUSPLUS = 378 }; #endif /* Tokens. */ @@ -233,55 +234,56 @@ #define tLoop 326 #define tRecombine 327 #define tSmoother 328 -#define tDelete 329 -#define tCoherence 330 -#define tIntersect 331 -#define tBoundary 332 -#define tLayers 333 -#define tHole 334 -#define tAlias 335 -#define tAliasWithOptions 336 -#define tText2D 337 -#define tText3D 338 -#define tInterpolationScheme 339 -#define tTime 340 -#define tCombine 341 -#define tBSpline 342 -#define tBezier 343 -#define tNurbs 344 -#define tOrder 345 -#define tKnots 346 -#define tColor 347 -#define tColorTable 348 -#define tFor 349 -#define tIn 350 -#define tEndFor 351 -#define tIf 352 -#define tEndIf 353 -#define tExit 354 -#define tField 355 -#define tReturn 356 -#define tCall 357 -#define tFunction 358 -#define tShow 359 -#define tHide 360 -#define tGetValue 361 -#define tGMSH_MAJOR_VERSION 362 -#define tGMSH_MINOR_VERSION 363 -#define tGMSH_PATCH_VERSION 364 -#define tAFFECTDIVIDE 365 -#define tAFFECTTIMES 366 -#define tAFFECTMINUS 367 -#define tAFFECTPLUS 368 -#define tOR 369 -#define tAND 370 -#define tNOTEQUAL 371 -#define tEQUAL 372 -#define tGREATEROREQUAL 373 -#define tLESSOREQUAL 374 -#define UNARYPREC 375 -#define tMINUSMINUS 376 -#define tPLUSPLUS 377 +#define tSplit 329 +#define tDelete 330 +#define tCoherence 331 +#define tIntersect 332 +#define tBoundary 333 +#define tLayers 334 +#define tHole 335 +#define tAlias 336 +#define tAliasWithOptions 337 +#define tText2D 338 +#define tText3D 339 +#define tInterpolationScheme 340 +#define tTime 341 +#define tCombine 342 +#define tBSpline 343 +#define tBezier 344 +#define tNurbs 345 +#define tOrder 346 +#define tKnots 347 +#define tColor 348 +#define tColorTable 349 +#define tFor 350 +#define tIn 351 +#define tEndFor 352 +#define tIf 353 +#define tEndIf 354 +#define tExit 355 +#define tField 356 +#define tReturn 357 +#define tCall 358 +#define tFunction 359 +#define tShow 360 +#define tHide 361 +#define tGetValue 362 +#define tGMSH_MAJOR_VERSION 363 +#define tGMSH_MINOR_VERSION 364 +#define tGMSH_PATCH_VERSION 365 +#define tAFFECTDIVIDE 366 +#define tAFFECTTIMES 367 +#define tAFFECTMINUS 368 +#define tAFFECTPLUS 369 +#define tOR 370 +#define tAND 371 +#define tNOTEQUAL 372 +#define tEQUAL 373 +#define tGREATEROREQUAL 374 +#define tLESSOREQUAL 375 +#define UNARYPREC 376 +#define tMINUSMINUS 377 +#define tPLUSPLUS 378 @@ -298,8 +300,8 @@ typedef union YYSTYPE Shape s; List_T *l; } -/* Line 1529 of yacc.c. */ -#line 303 "Gmsh.tab.hpp" +/* Line 1489 of yacc.c. */ +#line 305 "Gmsh.tab.hpp" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 10281bac300e59010f6321e77a7638ab7b629985..a0a5430d8d2740cf2d7ed114a634ed42357333ee 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -92,7 +92,7 @@ void FixRelativePath(const char *in, char *out); %token tPlane tRuled tTransfinite tComplex tPhysical %token tUsing tBump tProgression tPlugin %token tRotate tTranslate tSymmetry tDilate tExtrude tDuplicata -%token tLoop tRecombine tSmoother tDelete tCoherence tIntersect tBoundary +%token tLoop tRecombine tSmoother tSplit tDelete tCoherence tIntersect tBoundary %token tLayers tHole tAlias tAliasWithOptions %token tText2D tText3D tInterpolationScheme tTime tCombine %token tBSpline tBezier tNurbs tOrder tKnots @@ -1566,6 +1566,14 @@ Transform : IntersectCurvesWithSurface($4, (int)$8, $$); List_Delete($4); } + | tSplit tLine '(' FExpr ')' '{' RecursiveListOfDouble '}' tEND + { + $$ = List_Create(2, 1, sizeof(Shape*)); + List_T *tmp=ListOfDouble2ListOfInt($7); + List_Delete($7); + SplitCurve((int)$4,tmp,$$); + List_Delete(tmp); + } | tBoundary '{' MultipleShape '}' { $$ = List_Create(2, 1, sizeof(Shape)); diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index f02442cb508c4f98a2835fffed42f4777fb886af..aec9b517e3ddaf6149b9ccca9bf4929a1aadbf54 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -6,10 +6,29 @@ /* A lexical scanner generated by flex */ +#define yy_create_buffer gmsh_yy_create_buffer +#define yy_delete_buffer gmsh_yy_delete_buffer +#define yy_flex_debug gmsh_yy_flex_debug +#define yy_init_buffer gmsh_yy_init_buffer +#define yy_flush_buffer gmsh_yy_flush_buffer +#define yy_load_buffer_state gmsh_yy_load_buffer_state +#define yy_switch_to_buffer gmsh_yy_switch_to_buffer +#define yyin gmsh_yyin +#define yyleng gmsh_yyleng +#define yylex gmsh_yylex +#define yylineno gmsh_yylineno +#define yyout gmsh_yyout +#define yyrestart gmsh_yyrestart +#define yytext gmsh_yytext +#define yywrap gmsh_yywrap +#define yyalloc gmsh_yyalloc +#define yyrealloc gmsh_yyrealloc +#define yyfree gmsh_yyfree + #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 33 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -31,7 +50,7 @@ /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ -#if __STDC_VERSION__ >= 199901L +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. @@ -94,11 +113,12 @@ typedef unsigned int flex_uint32_t; #else /* ! __cplusplus */ -#if __STDC__ +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) #define YY_USE_CONST -#endif /* __STDC__ */ +#endif /* defined (__STDC__) */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST @@ -178,14 +198,9 @@ extern FILE *gmsh_yyin, *gmsh_yyout; #define unput(c) yyunput( c, (yytext_ptr) ) -/* The following is because we cannot portably get our hands on size_t - * (without autoconf's help, which isn't available because we want - * flex-generated scanners to compile on their own). - */ - #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T -typedef unsigned int yy_size_t; +typedef size_t yy_size_t; #endif #ifndef YY_STRUCT_YY_BUFFER_STATE @@ -364,8 +379,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 145 -#define YY_END_OF_BUFFER 146 +#define YY_NUM_RULES 146 +#define YY_END_OF_BUFFER 147 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -373,76 +388,76 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[613] = +static yyconst flex_int16_t yy_accept[614] = { 0, - 0, 0, 146, 144, 1, 1, 144, 5, 144, 6, - 144, 144, 144, 144, 144, 139, 21, 2, 144, 16, - 144, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 144, 28, 24, 19, 25, 17, 26, - 18, 0, 141, 3, 4, 20, 140, 139, 0, 29, - 27, 30, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 86, 85, 143, - - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 101, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 135, 136, 143, 143, - 143, 143, 143, 143, 143, 23, 22, 0, 140, 0, - 0, 142, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 51, 143, 143, 143, 143, 143, 143, 143, 143, 63, - 143, 143, 143, 143, 143, 76, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 92, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - - 143, 143, 143, 143, 143, 143, 143, 143, 143, 117, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 131, - 143, 143, 143, 143, 143, 0, 141, 0, 0, 140, - 31, 143, 143, 143, 143, 35, 37, 143, 143, 143, - 43, 58, 143, 46, 143, 143, 143, 143, 143, 143, - 143, 50, 143, 143, 62, 143, 143, 143, 143, 143, - 71, 143, 72, 143, 143, 75, 143, 143, 143, 82, - 83, 143, 143, 143, 143, 143, 143, 90, 143, 91, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 113, 143, 143, 143, 143, 127, 118, - - 143, 143, 143, 143, 116, 143, 143, 143, 143, 143, - 138, 130, 143, 143, 143, 143, 10, 15, 9, 8, - 143, 12, 14, 0, 140, 33, 143, 143, 143, 39, - 143, 143, 143, 143, 143, 143, 143, 54, 143, 143, - 143, 143, 143, 143, 143, 143, 69, 143, 143, 73, - 74, 143, 143, 143, 84, 143, 143, 88, 143, 143, - 93, 143, 143, 143, 98, 99, 143, 143, 102, 143, - 103, 143, 104, 143, 143, 143, 143, 143, 112, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 132, 143, - 133, 143, 11, 143, 13, 143, 32, 36, 38, 143, - - 41, 143, 143, 143, 143, 47, 143, 143, 143, 143, - 143, 59, 60, 143, 143, 143, 68, 143, 143, 143, - 143, 143, 143, 143, 143, 94, 89, 143, 143, 95, - 143, 143, 109, 143, 108, 143, 143, 114, 111, 143, - 119, 120, 143, 124, 143, 143, 143, 143, 143, 143, - 134, 7, 143, 40, 44, 143, 143, 143, 143, 143, - 143, 49, 53, 143, 143, 65, 143, 143, 143, 66, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 123, 143, 143, 121, 143, - 143, 143, 143, 42, 143, 143, 143, 143, 143, 143, - - 143, 64, 67, 143, 77, 143, 143, 143, 78, 143, - 143, 96, 97, 143, 100, 143, 143, 143, 115, 143, - 143, 122, 143, 143, 143, 143, 143, 143, 48, 143, - 143, 61, 70, 143, 143, 143, 143, 87, 143, 143, - 143, 110, 125, 143, 143, 129, 143, 143, 57, 143, - 55, 143, 143, 143, 143, 143, 106, 143, 143, 143, - 143, 143, 45, 143, 56, 143, 143, 143, 143, 107, - 105, 126, 128, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 52, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 34, 143, 143, 143, - - 143, 143, 143, 143, 143, 79, 80, 81, 143, 143, - 137, 0 + 0, 0, 147, 145, 1, 1, 145, 5, 145, 6, + 145, 145, 145, 145, 145, 140, 21, 2, 145, 16, + 145, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 145, 28, 24, 19, 25, 17, 26, + 18, 0, 142, 3, 4, 20, 141, 140, 0, 29, + 27, 30, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 86, 85, 144, + + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 101, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 136, 137, 144, 144, + 144, 144, 144, 144, 144, 23, 22, 0, 141, 0, + 0, 143, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 51, 144, 144, 144, 144, 144, 144, 144, 144, 63, + 144, 144, 144, 144, 144, 76, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 92, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + + 144, 144, 144, 144, 144, 144, 144, 144, 144, 117, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 132, + 144, 144, 144, 144, 144, 0, 142, 0, 0, 141, + 31, 144, 144, 144, 144, 35, 37, 144, 144, 144, + 43, 58, 144, 46, 144, 144, 144, 144, 144, 144, + 144, 50, 144, 144, 62, 144, 144, 144, 144, 144, + 71, 144, 72, 144, 144, 75, 144, 144, 144, 82, + 83, 144, 144, 144, 144, 144, 144, 90, 144, 91, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 113, 144, 144, 144, 144, 128, 118, + + 144, 144, 144, 144, 116, 144, 144, 144, 144, 144, + 139, 131, 144, 144, 144, 144, 10, 15, 9, 8, + 144, 12, 14, 0, 141, 33, 144, 144, 144, 39, + 144, 144, 144, 144, 144, 144, 144, 54, 144, 144, + 144, 144, 144, 144, 144, 144, 69, 144, 144, 73, + 74, 144, 144, 144, 84, 144, 144, 88, 144, 144, + 93, 144, 144, 144, 98, 99, 144, 144, 102, 144, + 103, 144, 104, 144, 144, 144, 144, 144, 112, 144, + 144, 144, 121, 144, 144, 144, 144, 144, 144, 133, + 144, 134, 144, 11, 144, 13, 144, 32, 36, 38, + + 144, 41, 144, 144, 144, 144, 47, 144, 144, 144, + 144, 144, 59, 60, 144, 144, 144, 68, 144, 144, + 144, 144, 144, 144, 144, 144, 94, 89, 144, 144, + 95, 144, 144, 109, 144, 108, 144, 144, 114, 111, + 144, 119, 120, 144, 125, 144, 144, 144, 144, 144, + 144, 135, 7, 144, 40, 44, 144, 144, 144, 144, + 144, 144, 49, 53, 144, 144, 65, 144, 144, 144, + 66, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 124, 144, 144, 122, + 144, 144, 144, 144, 42, 144, 144, 144, 144, 144, + + 144, 144, 64, 67, 144, 77, 144, 144, 144, 78, + 144, 144, 96, 97, 144, 100, 144, 144, 144, 115, + 144, 144, 123, 144, 144, 144, 144, 144, 144, 48, + 144, 144, 61, 70, 144, 144, 144, 144, 87, 144, + 144, 144, 110, 126, 144, 144, 130, 144, 144, 57, + 144, 55, 144, 144, 144, 144, 144, 106, 144, 144, + 144, 144, 144, 45, 144, 56, 144, 144, 144, 144, + 107, 105, 127, 129, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 52, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 34, 144, 144, + + 144, 144, 144, 144, 144, 144, 79, 80, 81, 144, + 144, 138, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -489,151 +504,151 @@ static yyconst flex_int32_t yy_meta[73] = 2, 1 } ; -static yyconst flex_int16_t yy_base[614] = +static yyconst flex_int16_t yy_base[615] = { 0, - 0, 0, 734, 735, 735, 735, 712, 735, 726, 735, - 710, 64, 65, 63, 75, 77, 735, 735, 709, 708, - 707, 46, 48, 65, 66, 65, 80, 46, 45, 71, - 0, 668, 92, 46, 660, 662, 94, 108, 111, 147, - 660, 663, 671, 649, 735, 735, 735, 735, 735, 735, - 735, 709, 169, 735, 735, 735, 174, 189, 213, 735, - 735, 735, 0, 659, 663, 668, 661, 668, 653, 642, - 646, 653, 61, 655, 662, 645, 154, 650, 649, 658, - 643, 646, 652, 652, 95, 652, 648, 638, 637, 633, - 636, 653, 628, 642, 634, 629, 647, 0, 623, 627, - - 616, 626, 625, 111, 652, 632, 618, 630, 616, 608, - 0, 35, 164, 98, 618, 96, 611, 618, 614, 614, - 612, 79, 608, 607, 606, 610, 0, 0, 632, 607, - 615, 617, 608, 605, 593, 735, 735, 228, 233, 242, - 248, 253, 596, 612, 192, 599, 598, 599, 600, 595, - 592, 595, 593, 593, 586, 599, 596, 586, 119, 582, - 590, 592, 595, 573, 583, 584, 164, 581, 572, 0, - 573, 571, 577, 573, 582, 0, 582, 600, 585, 577, - 576, 566, 598, 573, 558, 571, 568, 569, 605, 557, - 571, 550, 567, 563, 566, 548, 552, 557, 550, 561, - - 556, 547, 552, 554, 543, 536, 554, 549, 531, 544, - 537, 545, 540, 539, 528, 247, 540, 533, 563, 535, - 541, 528, 527, 519, 225, 280, 285, 294, 299, 304, - 0, 520, 523, 527, 534, 0, 565, 524, 527, 527, - 0, 0, 510, 0, 528, 517, 510, 509, 516, 513, - 519, 0, 503, 502, 0, 511, 504, 504, 511, 507, - 0, 495, 0, 510, 496, 0, 493, 511, 509, 0, - 0, 490, 514, 490, 488, 488, 485, 0, 536, 0, - 157, 491, 483, 483, 487, 489, 492, 487, 476, 477, - 476, 473, 474, 0, 478, 472, 469, 483, 0, 0, - - 467, 468, 471, 470, 0, 481, 464, 475, 478, 473, - 0, 0, 453, 458, 468, 462, 0, 0, 462, 0, - 467, 460, 0, 309, 314, 471, 451, 455, 454, 0, - 453, 448, 184, 453, 460, 457, 456, 464, 446, 453, - 448, 451, 450, 451, 171, 436, 0, 448, 447, 0, - 0, 441, 238, 438, 0, 456, 429, 0, 428, 437, - 0, 443, 434, 428, 0, 0, 436, 437, 0, 426, - 0, 443, 0, 431, 431, 433, 421, 428, 0, 424, - 426, 425, 410, 409, 422, 415, 422, 405, 0, 118, - 0, 418, 0, 415, 0, 412, 0, 0, 451, 414, - - 0, 401, 404, 405, 396, 0, 401, 412, 407, 388, - 397, 0, 0, 408, 47, 399, 0, 398, 401, 391, - 248, 427, 383, 411, 396, 0, 0, 387, 374, 0, - 379, 396, 0, 381, 0, 377, 385, 0, 0, 388, - 0, 0, 386, 0, 385, 389, 384, 371, 378, 385, - 0, 0, 366, 0, 0, 360, 376, 388, 376, 377, - 377, 0, 0, 377, 358, 0, 358, 372, 373, 0, - 360, 386, 381, 374, 364, 380, 364, 356, 360, 347, - 352, 354, 343, 347, 342, 0, 349, 338, 0, 332, - 342, 335, 345, 0, 374, 337, 333, 344, 337, 328, - - 345, 0, 0, 332, 0, 353, 352, 363, 0, 364, - 321, 0, 0, 330, 0, 333, 328, 331, 0, 312, - 325, 0, 324, 327, 340, 316, 317, 319, 0, 322, - 321, 0, 0, 331, 330, 339, 326, 0, 318, 303, - 305, 0, 0, 297, 298, 0, 301, 292, 0, 296, - 0, 295, 312, 311, 310, 324, 0, 303, 294, 301, - 300, 285, 0, 284, 0, 304, 303, 302, 308, 0, - 0, 0, 0, 289, 288, 315, 314, 313, 303, 278, - 288, 296, 295, 294, 287, 273, 0, 265, 264, 250, - 249, 219, 250, 249, 247, 250, 0, 217, 216, 187, - - 185, 177, 173, 163, 166, 0, 0, 0, 144, 117, - 0, 735, 111 + 0, 0, 735, 736, 736, 736, 713, 736, 727, 736, + 711, 64, 65, 63, 75, 77, 736, 736, 710, 709, + 708, 46, 48, 65, 66, 65, 80, 46, 45, 71, + 0, 669, 92, 46, 661, 663, 94, 108, 111, 147, + 661, 664, 672, 650, 736, 736, 736, 736, 736, 736, + 736, 710, 169, 736, 736, 736, 174, 189, 213, 736, + 736, 736, 0, 660, 664, 669, 662, 669, 654, 643, + 647, 654, 61, 656, 663, 646, 154, 651, 650, 659, + 644, 647, 653, 653, 95, 653, 649, 639, 638, 634, + 637, 654, 629, 643, 635, 630, 648, 0, 624, 628, + + 617, 627, 626, 111, 653, 633, 619, 631, 617, 609, + 0, 35, 164, 98, 619, 96, 612, 619, 615, 615, + 613, 79, 609, 608, 607, 611, 0, 0, 633, 608, + 616, 618, 609, 606, 594, 736, 736, 228, 233, 242, + 248, 253, 597, 613, 192, 600, 599, 600, 601, 596, + 593, 596, 594, 594, 587, 600, 597, 587, 119, 583, + 591, 593, 596, 574, 584, 585, 164, 582, 573, 0, + 574, 572, 578, 574, 583, 0, 583, 601, 586, 578, + 577, 567, 599, 574, 559, 572, 569, 570, 606, 558, + 572, 551, 568, 564, 567, 549, 553, 558, 551, 562, + + 557, 548, 553, 555, 544, 537, 555, 550, 532, 545, + 538, 546, 541, 540, 529, 247, 541, 534, 564, 536, + 542, 529, 528, 520, 225, 280, 285, 294, 299, 304, + 0, 521, 524, 528, 535, 0, 566, 525, 528, 528, + 0, 0, 511, 0, 529, 518, 511, 510, 517, 514, + 520, 0, 504, 503, 0, 512, 505, 505, 512, 508, + 0, 496, 0, 511, 497, 0, 494, 512, 510, 0, + 0, 491, 515, 491, 489, 489, 486, 0, 537, 0, + 157, 492, 484, 484, 488, 490, 493, 488, 477, 478, + 477, 474, 475, 0, 479, 473, 470, 484, 0, 0, + + 468, 469, 134, 472, 0, 483, 466, 477, 480, 475, + 0, 0, 455, 460, 470, 464, 0, 0, 464, 0, + 469, 462, 0, 309, 314, 473, 453, 457, 456, 0, + 455, 450, 184, 455, 462, 459, 458, 466, 448, 455, + 450, 453, 452, 453, 171, 438, 0, 450, 449, 0, + 0, 443, 238, 440, 0, 458, 431, 0, 430, 439, + 0, 445, 436, 430, 0, 0, 438, 439, 0, 428, + 0, 445, 0, 433, 433, 435, 423, 430, 0, 426, + 428, 427, 0, 412, 411, 424, 417, 424, 407, 0, + 118, 0, 420, 0, 417, 0, 414, 0, 0, 453, + + 416, 0, 403, 406, 407, 398, 0, 403, 414, 409, + 390, 399, 0, 0, 410, 47, 401, 0, 400, 403, + 393, 248, 429, 385, 413, 398, 0, 0, 389, 376, + 0, 381, 398, 0, 383, 0, 379, 387, 0, 0, + 390, 0, 0, 388, 0, 387, 391, 386, 373, 380, + 387, 0, 0, 368, 0, 0, 362, 378, 390, 378, + 379, 379, 0, 0, 379, 360, 0, 360, 374, 375, + 0, 362, 388, 383, 376, 366, 382, 366, 358, 362, + 349, 354, 356, 345, 349, 344, 0, 351, 340, 0, + 334, 344, 337, 347, 0, 376, 339, 335, 346, 339, + + 330, 347, 0, 0, 334, 0, 355, 354, 365, 0, + 366, 323, 0, 0, 332, 0, 335, 330, 333, 0, + 314, 327, 0, 326, 329, 342, 318, 319, 321, 0, + 324, 323, 0, 0, 333, 332, 341, 328, 0, 320, + 305, 307, 0, 0, 299, 300, 0, 303, 294, 0, + 298, 0, 297, 314, 313, 312, 326, 0, 305, 296, + 303, 302, 287, 0, 286, 0, 306, 305, 304, 310, + 0, 0, 0, 0, 291, 290, 317, 316, 315, 305, + 280, 290, 298, 297, 296, 289, 275, 0, 292, 291, + 265, 264, 227, 259, 252, 250, 255, 0, 241, 238, + + 217, 223, 188, 179, 177, 182, 0, 0, 0, 144, + 117, 0, 736, 111 } ; -static yyconst flex_int16_t yy_def[614] = +static yyconst flex_int16_t yy_def[615] = { 0, - 612, 1, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 612, 612, 612, 612, 612, - 612, 612, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + 613, 1, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 612, 612, 612, 612, 612, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 612, 612, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - + 613, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 0, 612 + 613, 613, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 613, 613, 613, 613, 613, + 613, 613, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 613, 613, 613, 613, 613, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 613, 613, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 0, 613 } ; -static yyconst flex_int16_t yy_nxt[808] = +static yyconst flex_int16_t yy_nxt[809] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 17, 18, 19, @@ -644,89 +659,89 @@ static yyconst flex_int16_t yy_nxt[808] = 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 44, 48, 52, 50, 53, 53, 53, 53, 53, 92, 197, 54, 105, 49, 51, 55, 57, 69, 58, - 58, 58, 58, 58, 64, 56, 93, 466, 70, 94, + 58, 58, 58, 58, 64, 56, 93, 467, 70, 94, - 198, 467, 65, 59, 95, 106, 97, 71, 66, 67, + 198, 468, 65, 59, 95, 106, 97, 71, 66, 67, 68, 73, 63, 72, 96, 74, 78, 152, 75, 76, 79, 82, 98, 83, 77, 153, 86, 59, 80, 99, 84, 81, 212, 85, 87, 213, 88, 89, 101, 90, - 109, 214, 102, 611, 205, 91, 103, 110, 111, 169, + 109, 214, 102, 612, 205, 91, 103, 110, 111, 169, 112, 104, 202, 113, 115, 170, 114, 203, 116, 171, - 206, 127, 128, 189, 119, 120, 249, 117, 121, 449, - 190, 122, 123, 118, 450, 124, 125, 129, 610, 250, + 206, 127, 128, 189, 119, 120, 249, 117, 121, 450, + 190, 122, 123, 118, 451, 124, 125, 129, 611, 250, 126, 53, 53, 53, 53, 53, 139, 139, 139, 139, - 139, 258, 609, 130, 259, 138, 362, 363, 608, 57, + 139, 258, 382, 130, 259, 138, 362, 363, 383, 57, - 140, 58, 58, 58, 58, 58, 131, 157, 607, 132, - 158, 159, 606, 160, 605, 59, 233, 161, 199, 138, - 200, 141, 141, 604, 140, 142, 142, 142, 142, 142, - 402, 201, 234, 235, 415, 416, 226, 226, 403, 59, + 140, 58, 58, 58, 58, 58, 131, 157, 610, 132, + 158, 159, 609, 160, 608, 59, 233, 161, 199, 138, + 200, 141, 141, 607, 140, 142, 142, 142, 142, 142, + 403, 201, 234, 235, 416, 417, 226, 226, 404, 59, 227, 227, 227, 227, 227, 139, 139, 139, 139, 139, - 229, 229, 603, 602, 230, 230, 230, 230, 230, 228, + 229, 229, 606, 605, 230, 230, 230, 230, 230, 228, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 472, 306, 421, 317, 601, 422, 318, 600, 473, 599, - 598, 319, 597, 228, 307, 320, 308, 321, 322, 596, - 595, 323, 227, 227, 227, 227, 227, 227, 227, 227, + 473, 306, 422, 317, 604, 423, 318, 603, 474, 602, + 601, 319, 600, 228, 307, 320, 308, 321, 322, 599, + 598, 323, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 324, 324, 594, 593, 325, 325, 325, 325, + 227, 227, 324, 324, 597, 596, 325, 325, 325, 325, 325, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 325, 325, 325, 325, 325, 325, 325, 325, 325, - 325, 592, 591, 590, 589, 588, 587, 586, 585, 584, - 583, 582, 581, 580, 579, 578, 577, 576, 575, 574, - 573, 572, 571, 570, 569, 568, 567, 566, 565, 564, - 563, 562, 561, 560, 559, 558, 557, 556, 555, 554, - 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, - 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, - 533, 532, 531, 530, 529, 528, 527, 526, 525, 524, - - 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, - 513, 512, 511, 510, 509, 508, 507, 506, 505, 504, - 503, 502, 501, 500, 499, 498, 497, 496, 495, 494, - 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, - 483, 482, 481, 480, 479, 478, 477, 476, 475, 474, - 471, 470, 469, 468, 465, 464, 463, 462, 461, 460, - 459, 458, 457, 456, 455, 454, 453, 452, 451, 448, - 447, 446, 445, 444, 443, 442, 441, 440, 439, 438, - 437, 436, 435, 434, 433, 432, 431, 430, 429, 428, - 427, 426, 425, 424, 423, 420, 419, 418, 417, 414, - - 413, 412, 411, 410, 409, 408, 407, 406, 405, 404, - 401, 400, 399, 398, 397, 396, 395, 394, 393, 392, - 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, - 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, - 371, 370, 369, 368, 367, 366, 365, 364, 361, 360, - 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, - 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, - 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, - 329, 328, 327, 326, 316, 315, 314, 313, 312, 311, - 310, 309, 305, 304, 303, 302, 301, 300, 299, 298, - - 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, - 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, - 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, - 267, 266, 265, 264, 263, 262, 261, 260, 257, 256, - 255, 254, 253, 252, 251, 248, 247, 246, 245, 244, - 243, 242, 241, 240, 239, 238, 237, 236, 232, 231, - 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, - 215, 211, 210, 209, 208, 207, 204, 196, 195, 194, - 193, 192, 191, 188, 187, 186, 185, 184, 183, 182, - 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, - - 168, 167, 166, 165, 164, 163, 162, 156, 155, 154, - 151, 150, 149, 148, 147, 146, 145, 144, 143, 137, - 136, 135, 134, 133, 108, 107, 100, 62, 61, 60, - 47, 46, 45, 612, 3, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - - 612, 612, 612, 612, 612, 612, 612 + 325, 595, 594, 593, 592, 591, 590, 589, 588, 587, + 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, + 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, + 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, + 556, 555, 554, 553, 552, 551, 550, 549, 548, 547, + 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, + 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, + + 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, + 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, + 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, + 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, + 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, + 476, 475, 472, 471, 470, 469, 466, 465, 464, 463, + 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, + 452, 449, 448, 447, 446, 445, 444, 443, 442, 441, + 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, + 430, 429, 428, 427, 426, 425, 424, 421, 420, 419, + + 418, 415, 414, 413, 412, 411, 410, 409, 408, 407, + 406, 405, 402, 401, 400, 399, 398, 397, 396, 395, + 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, + 384, 381, 380, 379, 378, 377, 376, 375, 374, 373, + 372, 371, 370, 369, 368, 367, 366, 365, 364, 361, + 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, + 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, + 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, + 330, 329, 328, 327, 326, 316, 315, 314, 313, 312, + 311, 310, 309, 305, 304, 303, 302, 301, 300, 299, + + 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, + 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, + 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, + 268, 267, 266, 265, 264, 263, 262, 261, 260, 257, + 256, 255, 254, 253, 252, 251, 248, 247, 246, 245, + 244, 243, 242, 241, 240, 239, 238, 237, 236, 232, + 231, 225, 224, 223, 222, 221, 220, 219, 218, 217, + 216, 215, 211, 210, 209, 208, 207, 204, 196, 195, + 194, 193, 192, 191, 188, 187, 186, 185, 184, 183, + 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, + + 172, 168, 167, 166, 165, 164, 163, 162, 156, 155, + 154, 151, 150, 149, 148, 147, 146, 145, 144, 143, + 137, 136, 135, 134, 133, 108, 107, 100, 62, 61, + 60, 47, 46, 45, 613, 3, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + + 613, 613, 613, 613, 613, 613, 613, 613 } ; -static yyconst flex_int16_t yy_chk[808] = +static yyconst flex_int16_t yy_chk[809] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -737,86 +752,86 @@ static yyconst flex_int16_t yy_chk[808] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 14, 13, 14, 14, 14, 14, 14, 28, 112, 15, 34, 12, 13, 15, 16, 23, 16, - 16, 16, 16, 16, 22, 15, 28, 415, 23, 29, + 16, 16, 16, 16, 22, 15, 28, 416, 23, 29, - 112, 415, 22, 16, 29, 34, 30, 23, 22, 22, - 22, 24, 613, 23, 29, 24, 25, 73, 24, 24, + 112, 416, 22, 16, 29, 34, 30, 23, 22, 22, + 22, 24, 614, 23, 29, 24, 25, 73, 24, 24, 25, 26, 30, 26, 24, 73, 27, 16, 25, 30, 26, 25, 122, 26, 27, 122, 27, 27, 33, 27, - 37, 122, 33, 610, 116, 27, 33, 37, 37, 85, + 37, 122, 33, 611, 116, 27, 33, 37, 37, 85, 37, 33, 114, 37, 38, 85, 37, 114, 38, 85, - 116, 40, 40, 104, 39, 39, 159, 38, 39, 390, - 104, 39, 39, 38, 390, 39, 39, 40, 609, 159, + 116, 40, 40, 104, 39, 39, 159, 38, 39, 391, + 104, 39, 39, 38, 391, 39, 39, 40, 610, 159, 39, 53, 53, 53, 53, 53, 57, 57, 57, 57, - 57, 167, 605, 40, 167, 53, 281, 281, 604, 58, + 57, 167, 303, 40, 167, 53, 281, 281, 303, 58, - 57, 58, 58, 58, 58, 58, 40, 77, 603, 40, - 77, 77, 602, 77, 601, 58, 145, 77, 113, 53, - 113, 59, 59, 600, 57, 59, 59, 59, 59, 59, + 57, 58, 58, 58, 58, 58, 40, 77, 606, 40, + 77, 77, 605, 77, 604, 58, 145, 77, 113, 53, + 113, 59, 59, 603, 57, 59, 59, 59, 59, 59, 333, 113, 145, 145, 345, 345, 138, 138, 333, 58, 138, 138, 138, 138, 138, 139, 139, 139, 139, 139, - 140, 140, 599, 598, 140, 140, 140, 140, 140, 139, + 140, 140, 602, 601, 140, 140, 140, 140, 140, 139, 141, 141, 141, 141, 141, 142, 142, 142, 142, 142, - 421, 216, 353, 225, 596, 353, 225, 595, 421, 594, - 593, 225, 592, 139, 216, 225, 216, 225, 225, 591, - 590, 225, 226, 226, 226, 226, 226, 227, 227, 227, + 422, 216, 353, 225, 600, 353, 225, 599, 422, 597, + 596, 225, 595, 139, 216, 225, 216, 225, 225, 594, + 593, 225, 226, 226, 226, 226, 226, 227, 227, 227, - 227, 227, 228, 228, 589, 588, 228, 228, 228, 228, + 227, 227, 228, 228, 592, 591, 228, 228, 228, 228, 228, 229, 229, 229, 229, 229, 230, 230, 230, 230, 230, 324, 324, 324, 324, 324, 325, 325, 325, 325, - 325, 586, 585, 584, 583, 582, 581, 580, 579, 578, - 577, 576, 575, 574, 569, 568, 567, 566, 564, 562, - 561, 560, 559, 558, 556, 555, 554, 553, 552, 550, - 548, 547, 545, 544, 541, 540, 539, 537, 536, 535, - 534, 531, 530, 528, 527, 526, 525, 524, 523, 521, - 520, 518, 517, 516, 514, 511, 510, 508, 507, 506, - 504, 501, 500, 499, 498, 497, 496, 495, 493, 492, - - 491, 490, 488, 487, 485, 484, 483, 482, 481, 480, - 479, 478, 477, 476, 475, 474, 473, 472, 471, 469, - 468, 467, 465, 464, 461, 460, 459, 458, 457, 456, - 453, 450, 449, 448, 447, 446, 445, 443, 440, 437, - 436, 434, 432, 431, 429, 428, 425, 424, 423, 422, - 420, 419, 418, 416, 414, 411, 410, 409, 408, 407, - 405, 404, 403, 402, 400, 399, 396, 394, 392, 388, - 387, 386, 385, 384, 383, 382, 381, 380, 378, 377, - 376, 375, 374, 372, 370, 368, 367, 364, 363, 362, - 360, 359, 357, 356, 354, 352, 349, 348, 346, 344, - - 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, - 332, 331, 329, 328, 327, 326, 322, 321, 319, 316, - 315, 314, 313, 310, 309, 308, 307, 306, 304, 303, - 302, 301, 298, 297, 296, 295, 293, 292, 291, 290, - 289, 288, 287, 286, 285, 284, 283, 282, 279, 277, - 276, 275, 274, 273, 272, 269, 268, 267, 265, 264, - 262, 260, 259, 258, 257, 256, 254, 253, 251, 250, - 249, 248, 247, 246, 245, 243, 240, 239, 238, 237, - 235, 234, 233, 232, 224, 223, 222, 221, 220, 219, - 218, 217, 215, 214, 213, 212, 211, 210, 209, 208, - - 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, - 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, - 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, - 177, 175, 174, 173, 172, 171, 169, 168, 166, 165, - 164, 163, 162, 161, 160, 158, 157, 156, 155, 154, - 153, 152, 151, 150, 149, 148, 147, 146, 144, 143, - 135, 134, 133, 132, 131, 130, 129, 126, 125, 124, - 123, 121, 120, 119, 118, 117, 115, 110, 109, 108, - 107, 106, 105, 103, 102, 101, 100, 99, 97, 96, - 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, - - 84, 83, 82, 81, 80, 79, 78, 76, 75, 74, - 72, 71, 70, 69, 68, 67, 66, 65, 64, 52, - 44, 43, 42, 41, 36, 35, 32, 21, 20, 19, - 11, 9, 7, 3, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - - 612, 612, 612, 612, 612, 612, 612 + 325, 590, 589, 587, 586, 585, 584, 583, 582, 581, + 580, 579, 578, 577, 576, 575, 570, 569, 568, 567, + 565, 563, 562, 561, 560, 559, 557, 556, 555, 554, + 553, 551, 549, 548, 546, 545, 542, 541, 540, 538, + 537, 536, 535, 532, 531, 529, 528, 527, 526, 525, + 524, 522, 521, 519, 518, 517, 515, 512, 511, 509, + 508, 507, 505, 502, 501, 500, 499, 498, 497, 496, + + 494, 493, 492, 491, 489, 488, 486, 485, 484, 483, + 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, + 472, 470, 469, 468, 466, 465, 462, 461, 460, 459, + 458, 457, 454, 451, 450, 449, 448, 447, 446, 444, + 441, 438, 437, 435, 433, 432, 430, 429, 426, 425, + 424, 423, 421, 420, 419, 417, 415, 412, 411, 410, + 409, 408, 406, 405, 404, 403, 401, 400, 397, 395, + 393, 389, 388, 387, 386, 385, 384, 382, 381, 380, + 378, 377, 376, 375, 374, 372, 370, 368, 367, 364, + 363, 362, 360, 359, 357, 356, 354, 352, 349, 348, + + 346, 344, 343, 342, 341, 340, 339, 338, 337, 336, + 335, 334, 332, 331, 329, 328, 327, 326, 322, 321, + 319, 316, 315, 314, 313, 310, 309, 308, 307, 306, + 304, 302, 301, 298, 297, 296, 295, 293, 292, 291, + 290, 289, 288, 287, 286, 285, 284, 283, 282, 279, + 277, 276, 275, 274, 273, 272, 269, 268, 267, 265, + 264, 262, 260, 259, 258, 257, 256, 254, 253, 251, + 250, 249, 248, 247, 246, 245, 243, 240, 239, 238, + 237, 235, 234, 233, 232, 224, 223, 222, 221, 220, + 219, 218, 217, 215, 214, 213, 212, 211, 210, 209, + + 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, + 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, + 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, + 178, 177, 175, 174, 173, 172, 171, 169, 168, 166, + 165, 164, 163, 162, 161, 160, 158, 157, 156, 155, + 154, 153, 152, 151, 150, 149, 148, 147, 146, 144, + 143, 135, 134, 133, 132, 131, 130, 129, 126, 125, + 124, 123, 121, 120, 119, 118, 117, 115, 110, 109, + 108, 107, 106, 105, 103, 102, 101, 100, 99, 97, + 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, + + 86, 84, 83, 82, 81, 80, 79, 78, 76, 75, + 74, 72, 71, 70, 69, 68, 67, 66, 65, 64, + 52, 44, 43, 42, 41, 36, 35, 32, 21, 20, + 19, 11, 9, 7, 3, 613, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, + + 613, 613, 613, 613, 613, 613, 613, 613 } ; static yy_state_type yy_last_accepting_state; @@ -873,7 +888,7 @@ void skipline(void); #define YY_NO_UNISTD_H #endif -#line 877 "Gmsh.yy.cpp" +#line 892 "Gmsh.yy.cpp" #define INITIAL 0 @@ -891,6 +906,35 @@ void skipline(void); static int yy_init_globals (void ); +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int gmsh_yylex_destroy (void ); + +int gmsh_yyget_debug (void ); + +void gmsh_yyset_debug (int debug_flag ); + +YY_EXTRA_TYPE gmsh_yyget_extra (void ); + +void gmsh_yyset_extra (YY_EXTRA_TYPE user_defined ); + +FILE *gmsh_yyget_in (void ); + +void gmsh_yyset_in (FILE * in_str ); + +FILE *gmsh_yyget_out (void ); + +void gmsh_yyset_out (FILE * out_str ); + +int gmsh_yyget_leng (void ); + +char *gmsh_yyget_text (void ); + +int gmsh_yyget_lineno (void ); + +void gmsh_yyset_lineno (int line_number ); + /* Macros after this point can all be overridden by user definitions in * section 1. */ @@ -933,7 +977,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO (void) fwrite( gmsh_yytext, gmsh_yyleng, 1, gmsh_yyout ) +#define ECHO fwrite( gmsh_yytext, gmsh_yyleng, 1, gmsh_yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -944,7 +988,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( gmsh_yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1029,7 +1073,7 @@ YY_DECL #line 49 "Gmsh.l" -#line 1033 "Gmsh.yy.cpp" +#line 1077 "Gmsh.yy.cpp" if ( !(yy_init) ) { @@ -1082,13 +1126,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 613 ) + if ( yy_current_state >= 614 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 735 ); + while ( yy_base[yy_current_state] != 736 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1716,120 +1760,125 @@ return tSpline; case 121: YY_RULE_SETUP #line 188 "Gmsh.l" -return tSurface; +return tSplit; YY_BREAK case 122: YY_RULE_SETUP #line 189 "Gmsh.l" -return tSymmetry; +return tSurface; YY_BREAK case 123: YY_RULE_SETUP #line 190 "Gmsh.l" -return tSprintf; +return tSymmetry; YY_BREAK case 124: YY_RULE_SETUP #line 191 "Gmsh.l" -return tStrCat; +return tSprintf; YY_BREAK case 125: YY_RULE_SETUP #line 192 "Gmsh.l" -return tStrPrefix; +return tStrCat; YY_BREAK case 126: YY_RULE_SETUP #line 193 "Gmsh.l" -return tStrRelative; +return tStrPrefix; YY_BREAK case 127: YY_RULE_SETUP #line 194 "Gmsh.l" -return tShow; +return tStrRelative; YY_BREAK case 128: YY_RULE_SETUP -#line 196 "Gmsh.l" -return tTransfinite; +#line 195 "Gmsh.l" +return tShow; YY_BREAK case 129: YY_RULE_SETUP #line 197 "Gmsh.l" -return tTranslate; +return tTransfinite; YY_BREAK case 130: YY_RULE_SETUP #line 198 "Gmsh.l" -return tTanh; +return tTranslate; YY_BREAK case 131: YY_RULE_SETUP #line 199 "Gmsh.l" -return tTan; +return tTanh; YY_BREAK case 132: YY_RULE_SETUP #line 200 "Gmsh.l" -return tToday; +return tTan; YY_BREAK case 133: YY_RULE_SETUP -#line 202 "Gmsh.l" -return tUsing; +#line 201 "Gmsh.l" +return tToday; YY_BREAK case 134: YY_RULE_SETUP -#line 204 "Gmsh.l" -return tVolume; +#line 203 "Gmsh.l" +return tUsing; YY_BREAK case 135: YY_RULE_SETUP -#line 206 "Gmsh.l" -return tText2D; +#line 205 "Gmsh.l" +return tVolume; YY_BREAK case 136: YY_RULE_SETUP #line 207 "Gmsh.l" -return tText3D; +return tText2D; YY_BREAK case 137: YY_RULE_SETUP #line 208 "Gmsh.l" -return tInterpolationScheme; +return tText3D; YY_BREAK case 138: YY_RULE_SETUP #line 209 "Gmsh.l" -return tTime; +return tInterpolationScheme; YY_BREAK case 139: -#line 212 "Gmsh.l" +YY_RULE_SETUP +#line 210 "Gmsh.l" +return tTime; + YY_BREAK case 140: #line 213 "Gmsh.l" case 141: #line 214 "Gmsh.l" case 142: +#line 215 "Gmsh.l" +case 143: YY_RULE_SETUP -#line 214 "Gmsh.l" +#line 215 "Gmsh.l" { gmsh_yylval.d = atof((char *)gmsh_yytext); return tDOUBLE; } YY_BREAK -case 143: +case 144: YY_RULE_SETUP -#line 216 "Gmsh.l" +#line 217 "Gmsh.l" { gmsh_yylval.c = strsave((char*)gmsh_yytext); return tSTRING; } YY_BREAK -case 144: +case 145: YY_RULE_SETUP -#line 218 "Gmsh.l" +#line 219 "Gmsh.l" return gmsh_yytext[0]; YY_BREAK -case 145: +case 146: YY_RULE_SETUP -#line 220 "Gmsh.l" +#line 221 "Gmsh.l" ECHO; YY_BREAK -#line 1833 "Gmsh.yy.cpp" +#line 1882 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2060,7 +2109,7 @@ static int yy_get_next_buffer (void) /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), num_to_read ); + (yy_n_chars), (size_t) num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } @@ -2084,6 +2133,14 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN; + if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) gmsh_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + } + (yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; @@ -2113,7 +2170,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 613 ) + if ( yy_current_state >= 614 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2141,11 +2198,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 613 ) + if ( yy_current_state >= 614 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 612); + yy_is_jam = (yy_current_state == 613); return yy_is_jam ? 0 : yy_current_state; } @@ -2235,7 +2292,7 @@ static int yy_get_next_buffer (void) case EOB_ACT_END_OF_FILE: { if ( gmsh_yywrap( ) ) - return 0; + return EOF; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -2371,9 +2428,19 @@ static void gmsh_yy_load_buffer_state (void) gmsh_yyfree((void *) b ); } -#ifndef __cplusplus +#ifndef _UNISTD_H /* assume unistd.h has isatty() for us */ +#ifdef __cplusplus +extern "C" { +#endif +#ifdef __THROW /* this is a gnuism */ +extern int isatty (int ) __THROW; +#else extern int isatty (int ); -#endif /* __cplusplus */ +#endif +#ifdef __cplusplus +} +#endif +#endif /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, @@ -2499,7 +2566,9 @@ static void gmsh_yyensure_buffer_stack (void) (yy_buffer_stack) = (struct yy_buffer_state**)gmsh_yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); - + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in gmsh_yyensure_buffer_stack()" ); + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; @@ -2517,6 +2586,8 @@ static void gmsh_yyensure_buffer_stack (void) ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in gmsh_yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); @@ -2561,7 +2632,7 @@ YY_BUFFER_STATE gmsh_yy_scan_buffer (char * base, yy_size_t size ) /** Setup the input buffer state to scan a string. The next call to gmsh_yylex() will * scan from a @e copy of @a str. - * @param str a NUL-terminated string to scan + * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use @@ -2815,7 +2886,7 @@ void gmsh_yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 220 "Gmsh.l" +#line 221 "Gmsh.l"