diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index 2b2d2592a0d817833204f08dc9773e780d1b4fb6..cb449ca9185a0d421786a87645e603867239423f 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.508 2007-01-25 08:56:13 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.509 2007-01-25 15:50:57 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -1915,7 +1915,8 @@ void visibility_cb(CALLBACK_ARGS) if(VisibilityManager::instance()->getVisibility(i)) WID->vis_browser->select(i + 1); } - // active the delete button for physicals only! + + // activate the delete button for physicals only! if(type == 1) WID->vis_push_butt[0]->activate(); else diff --git a/Geo/GModelIO_Geo.cpp b/Geo/GModelIO_Geo.cpp index 4bc86625ef51bbfa3e0d087009cfe6230f9f65ac..3b4687cc2cb3433d68c8ce42ee54d95dd5336ba4 100644 --- a/Geo/GModelIO_Geo.cpp +++ b/Geo/GModelIO_Geo.cpp @@ -1,4 +1,4 @@ -// $Id: GModelIO_Geo.cpp,v 1.7 2007-01-18 13:18:42 geuzaine Exp $ +// $Id: GModelIO_Geo.cpp,v 1.8 2007-01-25 15:50:57 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -29,6 +29,7 @@ #include "gmshFace.h" #include "gmshEdge.h" #include "gmshRegion.h" +#include "Parser.h" // for Symbol_T extern Mesh *THEM; @@ -147,6 +148,8 @@ class writeGVertexGEO { { if(gv->getNativeType() != GEntity::GmshModel) return; Vertex *v = (Vertex*)gv->getNativePtr(); + if(!v) return; + fprintf(geo, "Point(%d) = {%.16g, %.16g, %.16g, %.16g};\n", v->Num, v->Pos.X, v->Pos.Y, v->Pos.Z, v->lc); } @@ -161,9 +164,7 @@ class writeGEdgeGEO { { if(ge->getNativeType() != GEntity::GmshModel) return; Curve *c = (Curve *)ge->getNativePtr(); - - if(c->Num < 0 || c->Typ == MSH_SEGM_DISCRETE) - return; + if(!c || c->Num < 0 || c->Typ == MSH_SEGM_DISCRETE) return; switch (c->Typ) { case MSH_SEGM_LINE: @@ -240,9 +241,7 @@ class writeGFaceGEO { { if(gf->getNativeType() != GEntity::GmshModel) return; Surface *s = (Surface *)gf->getNativePtr(); - - if(s->Typ == MSH_SURF_DISCRETE) - return; + if(!s || s->Typ == MSH_SURF_DISCRETE) return; int NUMLOOP = s->Num + 1000000; if(List_Nbr(s->Generatrices)){ @@ -279,9 +278,7 @@ class writeGRegionGEO { { if(gr->getNativeType() != GEntity::GmshModel) return; Volume *vol = (Volume *)gr->getNativePtr(); - - if(vol->Typ == MSH_VOLUME_DISCRETE) - return; + if(!vol || vol->Typ == MSH_VOLUME_DISCRETE) return; int NUMLOOP = vol->Num + 1000000; @@ -309,17 +306,39 @@ class writePhysicalGroupGEO { private : FILE *geo; int dim; + std::map<int, std::string> &oldLabels, &newLabels; public : - writePhysicalGroupGEO(FILE *fp, int i) : dim(i) { geo = fp ? fp : stdout; } + writePhysicalGroupGEO(FILE *fp, int i, + std::map<int, std::string> &o, + std::map<int, std::string> &n) + : dim(i), oldLabels(o), newLabels(n) + { + geo = fp ? fp : stdout; + } void operator () (std::pair<const int, std::vector<GEntity *> > &g) { + std::string oldName, newName; + if(oldLabels.count(g.first)) { + oldName = oldLabels[g.first]; + fprintf(geo, "%s = %d;\n", oldName.c_str(), g.first); + } + else if(newLabels.count(g.first)) { + newName = newLabels[g.first]; + } + switch (dim) { case 0: fprintf(geo, "Physical Point"); break; case 1: fprintf(geo, "Physical Line"); break; case 2: fprintf(geo, "Physical Surface"); break; case 3: fprintf(geo, "Physical Volume"); break; } - fprintf(geo, " (%d) = {", g.first); + + if(oldName.size()) + fprintf(geo, " (%s) = {", oldName.c_str()); + else if(newName.size()) + fprintf(geo, " (\"%s\") = {", newName.c_str()); + else + fprintf(geo, " (%d) = {", g.first); for(unsigned int i = 0; i < g.second.size(); i++) { if(i) fprintf(geo, ", "); fprintf(geo, "%d", g.second[i]->tag()); @@ -337,10 +356,24 @@ int GModel::writeGEO(const std::string &name) std::for_each(firstFace(), lastFace(), writeGFaceGEO(fp)); std::for_each(firstRegion(), lastRegion(), writeGRegionGEO(fp)); + // get "old-style" labels from parser + std::map<int, std::string> labels; + List_T *old = Tree2List(Symbol_T); + for(int i = 0; i < List_Nbr(old); i++) { + Symbol *s = (Symbol *)List_Pointer(old, i); + for(int j = 0; j < List_Nbr(s->val); j++) { + double tag; + List_Read(s->val, j, &tag); + labels[(int)tag] = std::string(s->Name); + } + } + List_Delete(old); + std::map<int, std::vector<GEntity*> > groups[4]; getPhysicalGroups(groups); for(int i = 0; i < 4; i++) - std::for_each(groups[i].begin(), groups[i].end(), writePhysicalGroupGEO(fp, i)); + std::for_each(groups[i].begin(), groups[i].end(), + writePhysicalGroupGEO(fp, i, labels, physicalNames)); if(fp) fclose(fp); return 1; diff --git a/Geo/OCCEdge.cpp b/Geo/OCCEdge.cpp index bc8d8a0f033883bb313b6a9bab259fdf54c1c091..b9b82060f4d4693a0a871b1c724570b6e8cad622 100644 --- a/Geo/OCCEdge.cpp +++ b/Geo/OCCEdge.cpp @@ -1,4 +1,4 @@ -// $Id: OCCEdge.cpp,v 1.17 2007-01-23 08:52:04 geuzaine Exp $ +// $Id: OCCEdge.cpp,v 1.18 2007-01-25 15:50:57 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -97,7 +97,7 @@ SPoint2 OCCEdge::reparamOnFace(GFace *face, double epar,int dir) const } } -/** True if the edge is a seam for the given face. */ +// True if the edge is a seam for the given face int OCCEdge::isSeam(GFace *face) const { const TopoDS_Face *s = (TopoDS_Face*) face->getNativePtr(); @@ -163,8 +163,6 @@ GEntity::GeomType OCCEdge::geomType() const return BSpline; else if (curve2d->DynamicType() == STANDARD_TYPE(Geom_BezierCurve)) return Bezier; - // else if (occface->DynamicType() == STANDARD_TYPE(Geom_ConicalSurface)) - // return Cone; return Unknown; } else{ @@ -178,18 +176,16 @@ GEntity::GeomType OCCEdge::geomType() const return BSpline; else if (curve->DynamicType() == STANDARD_TYPE(Geom_BezierCurve)) return Bezier; - // else if (occface->DynamicType() == STANDARD_TYPE(Geom_ConicalSurface)) - // return Cone; return Unknown; } } int OCCEdge::minimumMeshSegments() const { - if(geomType() == Circle || geomType() == Ellipse) - return 2; - else + if(geomType() == Line || geomType() == Unknown) return GEdge::minimumMeshSegments(); + else + return 2; // always put at least one mid-point on non-straight lines } int OCCEdge::minimumDrawSegments() const diff --git a/Graphics/gl2ps.cpp b/Graphics/gl2ps.cpp index 49896490e3480229c2a62480edb2bad0ad14fd5b..cc3f979285712f2a9d0feb28bc7766e22cd48c2d 100644 --- a/Graphics/gl2ps.cpp +++ b/Graphics/gl2ps.cpp @@ -1,4 +1,4 @@ -/* $Id: gl2ps.cpp,v 1.110 2006-10-31 20:20:22 geuzaine Exp $ */ +/* $Id: gl2ps.cpp,v 1.111 2007-01-25 15:50:57 geuzaine Exp $ */ /* * GL2PS, an OpenGL to PostScript Printing Library * Copyright (C) 1999-2006 Christophe Geuzaine <geuz@geuz.org> @@ -4729,6 +4729,7 @@ static void gl2psPrintPDFFooter(void) /* Free auxiliary lists and arrays */ gl2psFree(gl2ps->xreflist); + gl2psListAction(gl2ps->pdfprimlist, gl2psFreePrimitive); gl2psListDelete(gl2ps->pdfprimlist); gl2psPDFgroupListDelete(); @@ -4870,8 +4871,8 @@ static void gl2psPrintSVGHeader(void) gl2psPrintf("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n"); gl2psPrintf("<svg xmlns=\"http://www.w3.org/2000/svg\"\n"); gl2psPrintf(" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n" - " width=\"%dpx\" height=\"%dpx\" viewBox=\"%d %d %d %d\">\n", - width, height, x, y, width, height); + " width=\"%dpx\" height=\"%dpx\" viewBox=\"%d %d %d %d\">\n", + width, height, x, y, width, height); gl2psPrintf("<title>%s</title>\n", gl2ps->title); gl2psPrintf("<desc>\n"); gl2psPrintf("Creator: GL2PS %d.%d.%d%s, %s\n" diff --git a/Graphics/gl2ps.h b/Graphics/gl2ps.h index a449ddf9142b664085d41bca9e7440393f41e739..47dc48a6ed13f78062f15e18af40bc129f5752d5 100644 --- a/Graphics/gl2ps.h +++ b/Graphics/gl2ps.h @@ -1,4 +1,4 @@ -/* $Id: gl2ps.h,v 1.68 2006-08-11 18:48:39 geuzaine Exp $ */ +/* $Id: gl2ps.h,v 1.69 2007-01-25 15:50:58 geuzaine Exp $ */ /* * GL2PS, an OpenGL to PostScript Printing Library * Copyright (C) 1999-2006 Christophe Geuzaine <geuz@geuz.org> @@ -78,7 +78,7 @@ #define GL2PS_MAJOR_VERSION 1 #define GL2PS_MINOR_VERSION 3 -#define GL2PS_PATCH_VERSION 1 +#define GL2PS_PATCH_VERSION 2 #define GL2PS_EXTRA_VERSION "-cvs" #define GL2PS_VERSION (GL2PS_MAJOR_VERSION + \ diff --git a/Makefile b/Makefile index f9f35a455fb9df570eb82e41a68c379d16b5ddcb..e6cae38143a1991126ea870eb8c884ab471cb091 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.424 2006-12-16 18:38:52 geuzaine Exp $ +# $Id: Makefile,v 1.425 2007-01-25 15:50:57 geuzaine Exp $ # # Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle # @@ -83,7 +83,7 @@ doc-info: purge: rm -f `find . -name "*~" -o -name "*~~" -o -name ".gmsh-errors"\ -o -name "\#*" -o -name ".\#*" -o -name ".DS_Store"\ - -o -name "gmon.out" -o -name ".gdb_history"` + -o -name "gmon.out" -o -name ".gdb_history" -o -name "debug?.pos"` clean: for i in doc lib ${GMSH_DIRS}; do (cd $$i && ${MAKE} clean); done diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index e0970e5b1de49fefe102b9b34e56c25d2596b4f2..f135b7e36f7af5d62c1a52861bb697dd5bfb5126 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.l,v 1.82 2007-01-12 08:10:32 geuzaine Exp $ +// $Id: Gmsh.l,v 1.83 2007-01-25 15:50:58 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -99,14 +99,12 @@ string {alpha}({alpha}|{digit})* "/=" return tAFFECTDIVIDE; ":" return tDOTS; "..." return tDOTS; -"/\\" return tCROSSPRODUCT; "||" return tOR; "&&" return tAND; "++" return tPLUSPLUS; "--" return tMINUSMINUS; "==" return tEQUAL; "!=" return tNOTEQUAL; -"~=" return tAPPROXEQUAL; "<=" return tLESSOREQUAL; ">=" return tGREATEROREQUAL; @@ -125,7 +123,6 @@ Attractor return tAttractor; Bezier return tBezier; Bump return tBump; BSpline return tBSpline; -Bounds return tBounds; BoundingBox return tBoundingBox; Ceil return tCeil; @@ -227,8 +224,6 @@ Using return tUsing; Volume return tVolume; -With return tWith; - T2 return tText2D; T3 return tText3D; INTERPOLATION_SCHEME return tInterpolationScheme; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index df7c4b088f679cc9e40c51861e031b5222d70ce1..b1573b693cbe74833b1f1ec603a2a021d2bbbbe4 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -86,45 +86,41 @@ #define tBezier 336 #define tNurbs 337 #define tOrder 338 -#define tWith 339 -#define tBounds 340 -#define tKnots 341 -#define tColor 342 -#define tColorTable 343 -#define tFor 344 -#define tIn 345 -#define tEndFor 346 -#define tIf 347 -#define tEndIf 348 -#define tExit 349 -#define tReturn 350 -#define tCall 351 -#define tFunction 352 -#define tShow 353 -#define tHide 354 -#define tGetValue 355 -#define tGMSH_MAJOR_VERSION 356 -#define tGMSH_MINOR_VERSION 357 -#define tGMSH_PATCH_VERSION 358 -#define tAFFECTPLUS 359 -#define tAFFECTMINUS 360 -#define tAFFECTTIMES 361 -#define tAFFECTDIVIDE 362 -#define tOR 363 -#define tAND 364 -#define tEQUAL 365 -#define tNOTEQUAL 366 -#define tAPPROXEQUAL 367 -#define tLESSOREQUAL 368 -#define tGREATEROREQUAL 369 -#define tCROSSPRODUCT 370 -#define tPLUSPLUS 371 -#define tMINUSMINUS 372 -#define UNARYPREC 373 +#define tKnots 339 +#define tColor 340 +#define tColorTable 341 +#define tFor 342 +#define tIn 343 +#define tEndFor 344 +#define tIf 345 +#define tEndIf 346 +#define tExit 347 +#define tReturn 348 +#define tCall 349 +#define tFunction 350 +#define tShow 351 +#define tHide 352 +#define tGetValue 353 +#define tGMSH_MAJOR_VERSION 354 +#define tGMSH_MINOR_VERSION 355 +#define tGMSH_PATCH_VERSION 356 +#define tAFFECTPLUS 357 +#define tAFFECTMINUS 358 +#define tAFFECTTIMES 359 +#define tAFFECTDIVIDE 360 +#define tOR 361 +#define tAND 362 +#define tEQUAL 363 +#define tNOTEQUAL 364 +#define tLESSOREQUAL 365 +#define tGREATEROREQUAL 366 +#define tPLUSPLUS 367 +#define tMINUSMINUS 368 +#define UNARYPREC 369 #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.297 2007-01-20 14:06:37 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.298 2007-01-25 15:50:58 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -219,24 +215,24 @@ typedef union { #define YYFINAL 1168 #define YYFLAG -32768 -#define YYNTBASE 140 +#define YYNTBASE 136 -#define YYTRANSLATE(x) ((unsigned)(x) <= 373 ? yytranslate[x] : 206) +#define YYTRANSLATE(x) ((unsigned)(x) <= 369 ? yytranslate[x] : 202) static const short 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, 125, 2, 135, 2, 123, 2, 2, 130, - 131, 121, 119, 136, 120, 134, 122, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 115, - 2, 117, 109, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 121, 2, 131, 2, 120, 2, 2, 126, + 127, 118, 116, 132, 117, 130, 119, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 112, + 2, 114, 107, 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, - 132, 2, 133, 129, 2, 2, 2, 2, 2, 2, + 128, 2, 129, 125, 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, 137, 2, 138, 139, 2, 2, 2, 2, + 2, 2, 133, 2, 134, 135, 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, 2, @@ -260,8 +256,7 @@ static const short yytranslate[] = { 0, 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, 110, 111, 112, 113, 114, 116, 118, 124, - 126, 127, 128 + 108, 109, 110, 111, 113, 115, 122, 123, 124 }; #if YYDEBUG != 0 @@ -295,210 +290,209 @@ static const short yyprhs[] = { 0, 1594, 1599, 1604, 1609, 1614, 1619, 1626, 1633, 1640, 1645, 1647, 1649, 1651, 1653, 1655, 1657, 1659, 1661, 1667, 1672, 1677, 1680, 1686, 1690, 1697, 1702, 1710, 1717, 1719, 1722, - 1725, 1729, 1733, 1745, 1755, 1763, 1771, 1772, 1776, 1780, - 1782, 1786, 1788, 1790, 1793, 1797, 1802, 1806, 1812, 1817, - 1819, 1821, 1823, 1827, 1832, 1839, 1847, 1849, 1851, 1855, - 1859, 1869, 1877, 1879, 1885, 1889, 1896, 1898, 1902, 1904, - 1906, 1913, 1918, 1923, 1928, 1935, 1942 + 1725, 1729, 1733, 1745, 1755, 1763, 1771, 1773, 1777, 1779, + 1781, 1784, 1788, 1793, 1797, 1803, 1808, 1810, 1812, 1814, + 1818, 1823, 1830, 1838, 1840, 1842, 1846, 1850, 1860, 1868, + 1870, 1876, 1880, 1887, 1889, 1893, 1895, 1897, 1904, 1909, + 1914, 1919, 1926, 1933 }; -static const short yyrhs[] = { 141, - 0, 1, 6, 0, 0, 141, 142, 0, 145, 0, - 144, 0, 164, 0, 166, 0, 167, 0, 170, 0, - 171, 0, 172, 0, 173, 0, 176, 0, 191, 0, - 192, 0, 193, 0, 175, 0, 174, 0, 117, 0, - 117, 117, 0, 33, 130, 5, 131, 6, 0, 33, - 130, 5, 131, 143, 205, 6, 0, 33, 130, 5, - 136, 201, 131, 6, 0, 33, 130, 5, 136, 201, - 131, 143, 205, 6, 0, 4, 5, 137, 146, 138, - 6, 0, 4, 5, 4, 196, 137, 146, 138, 6, - 0, 0, 146, 149, 0, 146, 153, 0, 146, 156, - 0, 146, 158, 0, 146, 159, 0, 146, 161, 0, - 194, 0, 147, 136, 194, 0, 194, 0, 148, 136, - 194, 0, 0, 0, 4, 150, 130, 147, 131, 151, - 137, 148, 138, 6, 0, 205, 0, 152, 136, 205, - 0, 0, 75, 130, 194, 136, 194, 136, 194, 131, - 154, 137, 152, 138, 6, 0, 205, 0, 155, 136, - 205, 0, 0, 76, 130, 194, 136, 194, 136, 194, - 136, 194, 131, 157, 137, 155, 138, 6, 0, 77, - 137, 198, 138, 137, 198, 138, 6, 0, 0, 78, - 160, 137, 148, 138, 6, 0, 79, 130, 194, 131, - 199, 6, 0, 7, 0, 105, 0, 106, 0, 107, - 0, 108, 0, 126, 0, 127, 0, 4, 162, 194, - 6, 0, 4, 132, 194, 133, 162, 194, 6, 0, - 4, 132, 137, 201, 138, 133, 162, 199, 6, 0, - 4, 132, 133, 7, 199, 6, 0, 4, 132, 133, - 105, 199, 6, 0, 4, 163, 6, 0, 4, 132, - 194, 133, 163, 6, 0, 4, 134, 4, 7, 205, - 6, 0, 4, 132, 194, 133, 134, 4, 7, 205, - 6, 0, 4, 134, 4, 162, 194, 6, 0, 4, - 132, 194, 133, 134, 4, 162, 194, 6, 0, 4, - 134, 4, 163, 6, 0, 4, 132, 194, 133, 134, - 4, 163, 6, 0, 4, 134, 88, 134, 4, 7, - 202, 6, 0, 4, 132, 194, 133, 134, 88, 134, - 4, 7, 202, 6, 0, 4, 134, 89, 7, 203, - 6, 0, 4, 132, 194, 133, 134, 89, 7, 203, - 6, 0, 60, 130, 4, 131, 134, 4, 7, 194, - 6, 0, 60, 130, 4, 131, 134, 4, 7, 205, - 6, 0, 194, 0, 205, 0, 41, 130, 194, 131, - 7, 196, 6, 0, 56, 41, 130, 165, 131, 7, - 199, 6, 0, 71, 41, 199, 7, 137, 194, 136, - 194, 136, 194, 138, 6, 0, 48, 49, 199, 7, - 194, 6, 0, 44, 130, 194, 131, 7, 199, 6, - 0, 46, 130, 194, 131, 7, 199, 6, 0, 42, - 130, 194, 131, 7, 199, 6, 0, 42, 130, 194, - 131, 7, 199, 52, 196, 6, 0, 43, 130, 194, - 131, 7, 199, 6, 0, 43, 130, 194, 131, 7, - 199, 52, 196, 6, 0, 50, 130, 194, 131, 7, - 137, 194, 136, 194, 136, 5, 136, 5, 136, 5, - 138, 6, 0, 81, 130, 194, 131, 7, 199, 6, - 0, 82, 130, 194, 131, 7, 199, 6, 0, 83, - 130, 194, 131, 7, 199, 87, 199, 84, 194, 6, - 0, 44, 67, 130, 194, 131, 7, 199, 6, 0, - 71, 44, 199, 7, 137, 194, 136, 194, 136, 194, - 138, 6, 0, 56, 44, 130, 165, 131, 7, 199, - 6, 0, 52, 45, 130, 194, 131, 7, 199, 6, - 0, 53, 45, 130, 194, 131, 7, 199, 6, 0, - 45, 67, 130, 194, 131, 7, 199, 6, 0, 56, - 45, 130, 165, 131, 7, 199, 6, 0, 55, 47, - 130, 194, 131, 7, 199, 6, 0, 47, 130, 194, - 131, 7, 199, 6, 0, 56, 47, 130, 165, 131, - 7, 199, 6, 0, 62, 196, 137, 168, 138, 0, - 61, 137, 196, 136, 196, 136, 194, 138, 137, 168, - 138, 0, 63, 196, 137, 168, 138, 0, 64, 137, - 196, 136, 194, 138, 137, 168, 138, 0, 170, 0, - 169, 0, 167, 0, 0, 169, 166, 0, 169, 41, - 137, 201, 138, 6, 0, 169, 44, 137, 201, 138, - 6, 0, 169, 45, 137, 201, 138, 6, 0, 169, - 47, 137, 201, 138, 6, 0, 66, 137, 169, 138, - 0, 66, 4, 132, 194, 133, 6, 0, 73, 4, - 132, 194, 133, 6, 0, 74, 4, 132, 194, 133, - 6, 0, 69, 137, 169, 138, 0, 69, 4, 132, - 194, 133, 6, 0, 69, 4, 6, 0, 69, 4, - 4, 6, 0, 88, 202, 137, 169, 138, 0, 99, - 205, 6, 0, 100, 205, 6, 0, 99, 137, 169, - 138, 0, 100, 137, 169, 138, 0, 4, 205, 6, - 0, 4, 4, 132, 194, 133, 205, 6, 0, 4, - 4, 4, 132, 194, 133, 6, 0, 4, 194, 6, - 0, 60, 130, 4, 131, 134, 4, 6, 0, 80, - 4, 6, 0, 95, 6, 0, 38, 6, 0, 38, - 137, 194, 136, 194, 136, 194, 136, 194, 136, 194, - 136, 194, 138, 6, 0, 39, 6, 0, 90, 130, - 194, 8, 194, 131, 0, 90, 130, 194, 8, 194, - 8, 194, 131, 0, 90, 4, 91, 137, 194, 8, - 194, 138, 0, 90, 4, 91, 137, 194, 8, 194, - 8, 194, 138, 0, 92, 0, 98, 4, 0, 96, - 0, 97, 4, 6, 0, 93, 130, 194, 131, 0, - 94, 0, 65, 196, 137, 169, 138, 0, 65, 137, - 196, 136, 196, 136, 194, 138, 137, 169, 138, 0, - 65, 137, 196, 136, 196, 136, 196, 136, 194, 138, - 137, 169, 138, 0, 0, 65, 196, 137, 169, 177, - 189, 138, 0, 0, 65, 137, 196, 136, 196, 136, - 194, 138, 137, 169, 178, 189, 138, 0, 0, 65, - 137, 196, 136, 196, 136, 196, 136, 194, 138, 137, - 169, 179, 189, 138, 0, 65, 41, 137, 194, 136, - 196, 138, 6, 0, 65, 44, 137, 194, 136, 196, - 138, 6, 0, 65, 45, 137, 194, 136, 196, 138, - 6, 0, 65, 41, 137, 194, 136, 196, 136, 196, - 136, 194, 138, 6, 0, 65, 44, 137, 194, 136, - 196, 136, 196, 136, 194, 138, 6, 0, 65, 45, - 137, 194, 136, 196, 136, 196, 136, 194, 138, 6, - 0, 65, 41, 137, 194, 136, 196, 136, 196, 136, - 196, 136, 194, 138, 6, 0, 65, 44, 137, 194, - 136, 196, 136, 196, 136, 196, 136, 194, 138, 6, - 0, 65, 45, 137, 194, 136, 196, 136, 196, 136, - 196, 136, 194, 138, 6, 0, 0, 65, 41, 137, - 194, 136, 196, 138, 180, 137, 189, 138, 6, 0, - 0, 65, 44, 137, 194, 136, 196, 138, 181, 137, - 189, 138, 6, 0, 0, 65, 45, 137, 194, 136, - 196, 138, 182, 137, 189, 138, 6, 0, 0, 65, - 41, 137, 194, 136, 196, 136, 196, 136, 194, 138, - 183, 137, 189, 138, 6, 0, 0, 65, 44, 137, - 194, 136, 196, 136, 196, 136, 194, 138, 184, 137, - 189, 138, 6, 0, 0, 65, 45, 137, 194, 136, - 196, 136, 196, 136, 194, 138, 185, 137, 189, 138, - 6, 0, 0, 65, 41, 137, 194, 136, 196, 136, - 196, 136, 196, 136, 194, 138, 186, 137, 189, 138, - 6, 0, 0, 65, 44, 137, 194, 136, 196, 136, - 196, 136, 196, 136, 194, 138, 187, 137, 189, 138, - 6, 0, 0, 65, 45, 137, 194, 136, 196, 136, - 196, 136, 196, 136, 194, 138, 188, 137, 189, 138, - 6, 0, 190, 0, 189, 190, 0, 72, 137, 194, - 138, 6, 0, 72, 137, 199, 136, 199, 138, 6, - 0, 72, 137, 199, 136, 199, 136, 199, 138, 6, - 0, 68, 6, 0, 54, 44, 199, 7, 194, 6, - 0, 54, 44, 199, 7, 194, 57, 59, 194, 6, - 0, 54, 44, 199, 7, 194, 57, 58, 194, 6, - 0, 54, 45, 137, 194, 138, 7, 199, 6, 0, - 54, 45, 137, 194, 138, 7, 199, 4, 6, 0, - 51, 45, 137, 194, 138, 7, 199, 6, 0, 54, - 47, 137, 194, 138, 7, 199, 6, 0, 68, 45, - 199, 7, 194, 6, 0, 68, 45, 199, 6, 0, - 41, 199, 91, 45, 194, 6, 0, 44, 199, 91, - 45, 194, 6, 0, 44, 199, 91, 47, 194, 6, - 0, 45, 199, 91, 47, 194, 6, 0, 70, 6, - 0, 195, 0, 130, 194, 131, 0, 120, 194, 0, - 119, 194, 0, 125, 194, 0, 194, 120, 194, 0, - 194, 119, 194, 0, 194, 121, 194, 0, 194, 122, - 194, 0, 194, 123, 194, 0, 194, 129, 194, 0, - 194, 115, 194, 0, 194, 117, 194, 0, 194, 116, - 194, 0, 194, 118, 194, 0, 194, 112, 194, 0, - 194, 113, 194, 0, 194, 111, 194, 0, 194, 110, - 194, 0, 194, 109, 194, 8, 194, 0, 12, 130, - 194, 131, 0, 13, 130, 194, 131, 0, 14, 130, - 194, 131, 0, 15, 130, 194, 131, 0, 16, 130, - 194, 131, 0, 17, 130, 194, 131, 0, 18, 130, - 194, 131, 0, 19, 130, 194, 131, 0, 20, 130, - 194, 131, 0, 22, 130, 194, 131, 0, 23, 130, - 194, 136, 194, 131, 0, 24, 130, 194, 131, 0, - 25, 130, 194, 131, 0, 26, 130, 194, 131, 0, - 27, 130, 194, 131, 0, 28, 130, 194, 131, 0, - 29, 130, 194, 131, 0, 30, 130, 194, 136, 194, - 131, 0, 31, 130, 194, 136, 194, 131, 0, 32, - 130, 194, 136, 194, 131, 0, 21, 130, 194, 131, - 0, 12, 132, 194, 133, 0, 13, 132, 194, 133, - 0, 14, 132, 194, 133, 0, 15, 132, 194, 133, - 0, 16, 132, 194, 133, 0, 17, 132, 194, 133, - 0, 18, 132, 194, 133, 0, 19, 132, 194, 133, - 0, 20, 132, 194, 133, 0, 22, 132, 194, 133, - 0, 23, 132, 194, 136, 194, 133, 0, 24, 132, - 194, 133, 0, 25, 132, 194, 133, 0, 26, 132, - 194, 133, 0, 27, 132, 194, 133, 0, 28, 132, - 194, 133, 0, 29, 132, 194, 133, 0, 30, 132, - 194, 136, 194, 133, 0, 31, 132, 194, 136, 194, - 133, 0, 32, 132, 194, 136, 194, 133, 0, 21, - 132, 194, 133, 0, 3, 0, 9, 0, 10, 0, - 11, 0, 102, 0, 103, 0, 104, 0, 4, 0, - 4, 139, 137, 194, 138, 0, 4, 132, 194, 133, - 0, 135, 4, 132, 133, 0, 4, 163, 0, 4, - 132, 194, 133, 163, 0, 4, 134, 4, 0, 4, - 132, 194, 133, 134, 4, 0, 4, 134, 4, 163, - 0, 4, 132, 194, 133, 134, 4, 163, 0, 101, - 130, 5, 136, 194, 131, 0, 197, 0, 120, 196, - 0, 119, 196, 0, 196, 120, 196, 0, 196, 119, - 196, 0, 137, 194, 136, 194, 136, 194, 136, 194, - 136, 194, 138, 0, 137, 194, 136, 194, 136, 194, - 136, 194, 138, 0, 137, 194, 136, 194, 136, 194, - 138, 0, 130, 194, 136, 194, 136, 194, 131, 0, - 0, 137, 198, 138, 0, 130, 198, 131, 0, 199, - 0, 198, 136, 199, 0, 194, 0, 200, 0, 137, - 138, 0, 137, 201, 138, 0, 120, 137, 201, 138, - 0, 194, 8, 194, 0, 194, 8, 194, 8, 194, - 0, 41, 137, 194, 138, 0, 167, 0, 170, 0, - 176, 0, 4, 132, 133, 0, 120, 4, 132, 133, - 0, 4, 132, 137, 201, 138, 133, 0, 120, 4, - 132, 137, 201, 138, 133, 0, 194, 0, 200, 0, - 201, 136, 194, 0, 201, 136, 200, 0, 137, 194, - 136, 194, 136, 194, 136, 194, 138, 0, 137, 194, - 136, 194, 136, 194, 138, 0, 4, 0, 4, 134, - 88, 134, 4, 0, 137, 204, 138, 0, 4, 132, - 194, 133, 134, 89, 0, 202, 0, 204, 136, 202, - 0, 5, 0, 40, 0, 35, 130, 205, 136, 205, - 131, 0, 36, 130, 205, 131, 0, 37, 130, 205, - 131, 0, 34, 130, 205, 131, 0, 34, 130, 205, - 136, 201, 131, 0, 34, 130, 4, 134, 4, 131, - 0, 34, 130, 4, 132, 194, 133, 134, 4, 131, - 0 +static const short yyrhs[] = { 137, + 0, 1, 6, 0, 0, 137, 138, 0, 141, 0, + 140, 0, 160, 0, 162, 0, 163, 0, 166, 0, + 167, 0, 168, 0, 169, 0, 172, 0, 187, 0, + 188, 0, 189, 0, 171, 0, 170, 0, 114, 0, + 114, 114, 0, 33, 126, 5, 127, 6, 0, 33, + 126, 5, 127, 139, 201, 6, 0, 33, 126, 5, + 132, 197, 127, 6, 0, 33, 126, 5, 132, 197, + 127, 139, 201, 6, 0, 4, 5, 133, 142, 134, + 6, 0, 4, 5, 4, 192, 133, 142, 134, 6, + 0, 0, 142, 145, 0, 142, 149, 0, 142, 152, + 0, 142, 154, 0, 142, 155, 0, 142, 157, 0, + 190, 0, 143, 132, 190, 0, 190, 0, 144, 132, + 190, 0, 0, 0, 4, 146, 126, 143, 127, 147, + 133, 144, 134, 6, 0, 201, 0, 148, 132, 201, + 0, 0, 75, 126, 190, 132, 190, 132, 190, 127, + 150, 133, 148, 134, 6, 0, 201, 0, 151, 132, + 201, 0, 0, 76, 126, 190, 132, 190, 132, 190, + 132, 190, 127, 153, 133, 151, 134, 6, 0, 77, + 133, 194, 134, 133, 194, 134, 6, 0, 0, 78, + 156, 133, 144, 134, 6, 0, 79, 126, 190, 127, + 195, 6, 0, 7, 0, 103, 0, 104, 0, 105, + 0, 106, 0, 122, 0, 123, 0, 4, 158, 190, + 6, 0, 4, 128, 190, 129, 158, 190, 6, 0, + 4, 128, 133, 197, 134, 129, 158, 195, 6, 0, + 4, 128, 129, 7, 195, 6, 0, 4, 128, 129, + 103, 195, 6, 0, 4, 159, 6, 0, 4, 128, + 190, 129, 159, 6, 0, 4, 130, 4, 7, 201, + 6, 0, 4, 128, 190, 129, 130, 4, 7, 201, + 6, 0, 4, 130, 4, 158, 190, 6, 0, 4, + 128, 190, 129, 130, 4, 158, 190, 6, 0, 4, + 130, 4, 159, 6, 0, 4, 128, 190, 129, 130, + 4, 159, 6, 0, 4, 130, 86, 130, 4, 7, + 198, 6, 0, 4, 128, 190, 129, 130, 86, 130, + 4, 7, 198, 6, 0, 4, 130, 87, 7, 199, + 6, 0, 4, 128, 190, 129, 130, 87, 7, 199, + 6, 0, 60, 126, 4, 127, 130, 4, 7, 190, + 6, 0, 60, 126, 4, 127, 130, 4, 7, 201, + 6, 0, 190, 0, 201, 0, 41, 126, 190, 127, + 7, 192, 6, 0, 56, 41, 126, 161, 127, 7, + 195, 6, 0, 71, 41, 195, 7, 133, 190, 132, + 190, 132, 190, 134, 6, 0, 48, 49, 195, 7, + 190, 6, 0, 44, 126, 190, 127, 7, 195, 6, + 0, 46, 126, 190, 127, 7, 195, 6, 0, 42, + 126, 190, 127, 7, 195, 6, 0, 42, 126, 190, + 127, 7, 195, 52, 192, 6, 0, 43, 126, 190, + 127, 7, 195, 6, 0, 43, 126, 190, 127, 7, + 195, 52, 192, 6, 0, 50, 126, 190, 127, 7, + 133, 190, 132, 190, 132, 5, 132, 5, 132, 5, + 134, 6, 0, 81, 126, 190, 127, 7, 195, 6, + 0, 82, 126, 190, 127, 7, 195, 6, 0, 83, + 126, 190, 127, 7, 195, 85, 195, 84, 190, 6, + 0, 44, 67, 126, 190, 127, 7, 195, 6, 0, + 71, 44, 195, 7, 133, 190, 132, 190, 132, 190, + 134, 6, 0, 56, 44, 126, 161, 127, 7, 195, + 6, 0, 52, 45, 126, 190, 127, 7, 195, 6, + 0, 53, 45, 126, 190, 127, 7, 195, 6, 0, + 45, 67, 126, 190, 127, 7, 195, 6, 0, 56, + 45, 126, 161, 127, 7, 195, 6, 0, 55, 47, + 126, 190, 127, 7, 195, 6, 0, 47, 126, 190, + 127, 7, 195, 6, 0, 56, 47, 126, 161, 127, + 7, 195, 6, 0, 62, 192, 133, 164, 134, 0, + 61, 133, 192, 132, 192, 132, 190, 134, 133, 164, + 134, 0, 63, 192, 133, 164, 134, 0, 64, 133, + 192, 132, 190, 134, 133, 164, 134, 0, 166, 0, + 165, 0, 163, 0, 0, 165, 162, 0, 165, 41, + 133, 197, 134, 6, 0, 165, 44, 133, 197, 134, + 6, 0, 165, 45, 133, 197, 134, 6, 0, 165, + 47, 133, 197, 134, 6, 0, 66, 133, 165, 134, + 0, 66, 4, 128, 190, 129, 6, 0, 73, 4, + 128, 190, 129, 6, 0, 74, 4, 128, 190, 129, + 6, 0, 69, 133, 165, 134, 0, 69, 4, 128, + 190, 129, 6, 0, 69, 4, 6, 0, 69, 4, + 4, 6, 0, 86, 198, 133, 165, 134, 0, 97, + 201, 6, 0, 98, 201, 6, 0, 97, 133, 165, + 134, 0, 98, 133, 165, 134, 0, 4, 201, 6, + 0, 4, 4, 128, 190, 129, 201, 6, 0, 4, + 4, 4, 128, 190, 129, 6, 0, 4, 190, 6, + 0, 60, 126, 4, 127, 130, 4, 6, 0, 80, + 4, 6, 0, 93, 6, 0, 38, 6, 0, 38, + 133, 190, 132, 190, 132, 190, 132, 190, 132, 190, + 132, 190, 134, 6, 0, 39, 6, 0, 88, 126, + 190, 8, 190, 127, 0, 88, 126, 190, 8, 190, + 8, 190, 127, 0, 88, 4, 89, 133, 190, 8, + 190, 134, 0, 88, 4, 89, 133, 190, 8, 190, + 8, 190, 134, 0, 90, 0, 96, 4, 0, 94, + 0, 95, 4, 6, 0, 91, 126, 190, 127, 0, + 92, 0, 65, 192, 133, 165, 134, 0, 65, 133, + 192, 132, 192, 132, 190, 134, 133, 165, 134, 0, + 65, 133, 192, 132, 192, 132, 192, 132, 190, 134, + 133, 165, 134, 0, 0, 65, 192, 133, 165, 173, + 185, 134, 0, 0, 65, 133, 192, 132, 192, 132, + 190, 134, 133, 165, 174, 185, 134, 0, 0, 65, + 133, 192, 132, 192, 132, 192, 132, 190, 134, 133, + 165, 175, 185, 134, 0, 65, 41, 133, 190, 132, + 192, 134, 6, 0, 65, 44, 133, 190, 132, 192, + 134, 6, 0, 65, 45, 133, 190, 132, 192, 134, + 6, 0, 65, 41, 133, 190, 132, 192, 132, 192, + 132, 190, 134, 6, 0, 65, 44, 133, 190, 132, + 192, 132, 192, 132, 190, 134, 6, 0, 65, 45, + 133, 190, 132, 192, 132, 192, 132, 190, 134, 6, + 0, 65, 41, 133, 190, 132, 192, 132, 192, 132, + 192, 132, 190, 134, 6, 0, 65, 44, 133, 190, + 132, 192, 132, 192, 132, 192, 132, 190, 134, 6, + 0, 65, 45, 133, 190, 132, 192, 132, 192, 132, + 192, 132, 190, 134, 6, 0, 0, 65, 41, 133, + 190, 132, 192, 134, 176, 133, 185, 134, 6, 0, + 0, 65, 44, 133, 190, 132, 192, 134, 177, 133, + 185, 134, 6, 0, 0, 65, 45, 133, 190, 132, + 192, 134, 178, 133, 185, 134, 6, 0, 0, 65, + 41, 133, 190, 132, 192, 132, 192, 132, 190, 134, + 179, 133, 185, 134, 6, 0, 0, 65, 44, 133, + 190, 132, 192, 132, 192, 132, 190, 134, 180, 133, + 185, 134, 6, 0, 0, 65, 45, 133, 190, 132, + 192, 132, 192, 132, 190, 134, 181, 133, 185, 134, + 6, 0, 0, 65, 41, 133, 190, 132, 192, 132, + 192, 132, 192, 132, 190, 134, 182, 133, 185, 134, + 6, 0, 0, 65, 44, 133, 190, 132, 192, 132, + 192, 132, 192, 132, 190, 134, 183, 133, 185, 134, + 6, 0, 0, 65, 45, 133, 190, 132, 192, 132, + 192, 132, 192, 132, 190, 134, 184, 133, 185, 134, + 6, 0, 186, 0, 185, 186, 0, 72, 133, 190, + 134, 6, 0, 72, 133, 195, 132, 195, 134, 6, + 0, 72, 133, 195, 132, 195, 132, 195, 134, 6, + 0, 68, 6, 0, 54, 44, 195, 7, 190, 6, + 0, 54, 44, 195, 7, 190, 57, 59, 190, 6, + 0, 54, 44, 195, 7, 190, 57, 58, 190, 6, + 0, 54, 45, 133, 190, 134, 7, 195, 6, 0, + 54, 45, 133, 190, 134, 7, 195, 4, 6, 0, + 51, 45, 133, 190, 134, 7, 195, 6, 0, 54, + 47, 133, 190, 134, 7, 195, 6, 0, 68, 45, + 195, 7, 190, 6, 0, 68, 45, 195, 6, 0, + 41, 195, 89, 45, 190, 6, 0, 44, 195, 89, + 45, 190, 6, 0, 44, 195, 89, 47, 190, 6, + 0, 45, 195, 89, 47, 190, 6, 0, 70, 6, + 0, 191, 0, 126, 190, 127, 0, 117, 190, 0, + 116, 190, 0, 121, 190, 0, 190, 117, 190, 0, + 190, 116, 190, 0, 190, 118, 190, 0, 190, 119, + 190, 0, 190, 120, 190, 0, 190, 125, 190, 0, + 190, 112, 190, 0, 190, 114, 190, 0, 190, 113, + 190, 0, 190, 115, 190, 0, 190, 110, 190, 0, + 190, 111, 190, 0, 190, 109, 190, 0, 190, 108, + 190, 0, 190, 107, 190, 8, 190, 0, 12, 126, + 190, 127, 0, 13, 126, 190, 127, 0, 14, 126, + 190, 127, 0, 15, 126, 190, 127, 0, 16, 126, + 190, 127, 0, 17, 126, 190, 127, 0, 18, 126, + 190, 127, 0, 19, 126, 190, 127, 0, 20, 126, + 190, 127, 0, 22, 126, 190, 127, 0, 23, 126, + 190, 132, 190, 127, 0, 24, 126, 190, 127, 0, + 25, 126, 190, 127, 0, 26, 126, 190, 127, 0, + 27, 126, 190, 127, 0, 28, 126, 190, 127, 0, + 29, 126, 190, 127, 0, 30, 126, 190, 132, 190, + 127, 0, 31, 126, 190, 132, 190, 127, 0, 32, + 126, 190, 132, 190, 127, 0, 21, 126, 190, 127, + 0, 12, 128, 190, 129, 0, 13, 128, 190, 129, + 0, 14, 128, 190, 129, 0, 15, 128, 190, 129, + 0, 16, 128, 190, 129, 0, 17, 128, 190, 129, + 0, 18, 128, 190, 129, 0, 19, 128, 190, 129, + 0, 20, 128, 190, 129, 0, 22, 128, 190, 129, + 0, 23, 128, 190, 132, 190, 129, 0, 24, 128, + 190, 129, 0, 25, 128, 190, 129, 0, 26, 128, + 190, 129, 0, 27, 128, 190, 129, 0, 28, 128, + 190, 129, 0, 29, 128, 190, 129, 0, 30, 128, + 190, 132, 190, 129, 0, 31, 128, 190, 132, 190, + 129, 0, 32, 128, 190, 132, 190, 129, 0, 21, + 128, 190, 129, 0, 3, 0, 9, 0, 10, 0, + 11, 0, 100, 0, 101, 0, 102, 0, 4, 0, + 4, 135, 133, 190, 134, 0, 4, 128, 190, 129, + 0, 131, 4, 128, 129, 0, 4, 159, 0, 4, + 128, 190, 129, 159, 0, 4, 130, 4, 0, 4, + 128, 190, 129, 130, 4, 0, 4, 130, 4, 159, + 0, 4, 128, 190, 129, 130, 4, 159, 0, 99, + 126, 5, 132, 190, 127, 0, 193, 0, 117, 192, + 0, 116, 192, 0, 192, 117, 192, 0, 192, 116, + 192, 0, 133, 190, 132, 190, 132, 190, 132, 190, + 132, 190, 134, 0, 133, 190, 132, 190, 132, 190, + 132, 190, 134, 0, 133, 190, 132, 190, 132, 190, + 134, 0, 126, 190, 132, 190, 132, 190, 127, 0, + 195, 0, 194, 132, 195, 0, 190, 0, 196, 0, + 133, 134, 0, 133, 197, 134, 0, 117, 133, 197, + 134, 0, 190, 8, 190, 0, 190, 8, 190, 8, + 190, 0, 41, 133, 190, 134, 0, 163, 0, 166, + 0, 172, 0, 4, 128, 129, 0, 117, 4, 128, + 129, 0, 4, 128, 133, 197, 134, 129, 0, 117, + 4, 128, 133, 197, 134, 129, 0, 190, 0, 196, + 0, 197, 132, 190, 0, 197, 132, 196, 0, 133, + 190, 132, 190, 132, 190, 132, 190, 134, 0, 133, + 190, 132, 190, 132, 190, 134, 0, 4, 0, 4, + 130, 86, 130, 4, 0, 133, 200, 134, 0, 4, + 128, 190, 129, 130, 87, 0, 198, 0, 200, 132, + 198, 0, 5, 0, 40, 0, 35, 126, 201, 132, + 201, 127, 0, 36, 126, 201, 127, 0, 37, 126, + 201, 127, 0, 34, 126, 201, 127, 0, 34, 126, + 201, 132, 197, 127, 0, 34, 126, 4, 130, 4, + 127, 0, 34, 126, 4, 128, 190, 129, 130, 4, + 127, 0 }; #endif @@ -517,28 +511,28 @@ static const short yyrline[] = { 0, 1186, 1212, 1232, 1256, 1280, 1306, 1323, 1330, 1349, 1367, 1405, 1421, 1441, 1458, 1475, 1495, 1501, 1506, 1511, 1518, 1520, 1521, 1524, 1529, 1533, 1549, 1565, 1581, 1601, 1616, - 1622, 1628, 1639, 1649, 1659, 1674, 1692, 1706, 1713, 1719, - 1728, 1741, 1787, 1802, 1813, 1833, 1843, 1865, 1869, 1874, - 1879, 1889, 1906, 1922, 1948, 1975, 2007, 2014, 2019, 2025, - 2029, 2037, 2046, 2054, 2062, 2067, 2075, 2080, 2088, 2093, - 2103, 2110, 2117, 2124, 2131, 2138, 2145, 2152, 2159, 2166, - 2171, 2178, 2183, 2190, 2195, 2202, 2207, 2214, 2219, 2226, - 2231, 2238, 2243, 2250, 2255, 2262, 2267, 2277, 2281, 2286, - 2296, 2318, 2342, 2350, 2369, 2387, 2405, 2434, 2469, 2474, - 2501, 2515, 2533, 2540, 2546, 2549, 2557, 2567, 2569, 2570, - 2571, 2572, 2573, 2574, 2575, 2576, 2583, 2584, 2585, 2586, - 2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, - 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, - 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2616, 2617, - 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, - 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2641, - 2646, 2647, 2648, 2649, 2650, 2651, 2655, 2671, 2686, 2706, - 2720, 2733, 2756, 2774, 2792, 2810, 2828, 2835, 2840, 2844, - 2848, 2852, 2858, 2863, 2867, 2871, 2877, 2881, 2885, 2891, - 2897, 2904, 2910, 2914, 2919, 2923, 2934, 2941, 2952, 2972, - 2982, 2992, 3002, 3019, 3038, 3062, 3090, 3096, 3100, 3104, - 3116, 3121, 3133, 3140, 3161, 3166, 3180, 3186, 3192, 3197, - 3205, 3213, 3227, 3241, 3245, 3264, 3286 + 1622, 1628, 1639, 1649, 1659, 1675, 1693, 1707, 1714, 1720, + 1729, 1742, 1788, 1803, 1814, 1834, 1844, 1866, 1870, 1875, + 1880, 1890, 1907, 1923, 1949, 1976, 2008, 2015, 2020, 2026, + 2030, 2038, 2047, 2055, 2063, 2068, 2076, 2081, 2089, 2094, + 2104, 2111, 2118, 2125, 2132, 2139, 2146, 2153, 2160, 2167, + 2172, 2179, 2184, 2191, 2196, 2203, 2208, 2215, 2220, 2227, + 2232, 2239, 2244, 2251, 2256, 2263, 2268, 2278, 2282, 2287, + 2297, 2319, 2343, 2351, 2370, 2388, 2406, 2435, 2470, 2475, + 2502, 2516, 2534, 2541, 2547, 2550, 2558, 2568, 2570, 2571, + 2572, 2573, 2574, 2575, 2576, 2577, 2584, 2585, 2586, 2587, + 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, + 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, + 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2617, 2618, + 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, + 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2642, + 2647, 2648, 2649, 2650, 2651, 2652, 2656, 2672, 2687, 2707, + 2721, 2734, 2757, 2775, 2793, 2811, 2829, 2836, 2841, 2845, + 2849, 2853, 2859, 2864, 2868, 2872, 2878, 2884, 2891, 2897, + 2901, 2906, 2910, 2921, 2928, 2939, 2959, 2969, 2979, 2989, + 3006, 3025, 3049, 3077, 3083, 3087, 3091, 3103, 3108, 3120, + 3127, 3148, 3153, 3167, 3173, 3179, 3184, 3192, 3200, 3214, + 3228, 3232, 3251, 3273 }; #endif @@ -556,61 +550,60 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", "tRotate","tTranslate","tSymmetry","tDilate","tExtrude","tDuplicata","tLoop", "tRecombine","tDelete","tCoherence","tAttractor","tLayers","tAlias","tAliasWithOptions", "tText2D","tText3D","tInterpolationScheme","tTime","tGrain","tCombine","tBSpline", -"tBezier","tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tColorTable", -"tFor","tIn","tEndFor","tIf","tEndIf","tExit","tReturn","tCall","tFunction", -"tShow","tHide","tGetValue","tGMSH_MAJOR_VERSION","tGMSH_MINOR_VERSION","tGMSH_PATCH_VERSION", -"tAFFECTPLUS","tAFFECTMINUS","tAFFECTTIMES","tAFFECTDIVIDE","'?'","tOR","tAND", -"tEQUAL","tNOTEQUAL","tAPPROXEQUAL","'<'","tLESSOREQUAL","'>'","tGREATEROREQUAL", -"'+'","'-'","'*'","'/'","'%'","tCROSSPRODUCT","'!'","tPLUSPLUS","tMINUSMINUS", -"UNARYPREC","'^'","'('","')'","'['","']'","'.'","'#'","','","'{'","'}'","'~'", -"All","GeoFormatItems","GeoFormatItem","SendToFile","Printf","View","Views", -"ElementCoords","ElementValues","Element","@1","@2","Text2DValues","Text2D", -"@3","Text3DValues","Text3D","@4","InterpolationMatrix","Time","@5","Grain", -"NumericAffectation","NumericIncrement","Affectation","PhysicalId","Shape","Transform", -"MultipleShape","ListOfShapes","Duplicata","Delete","Colorify","Visibility", -"Command","Loop","Extrude","@6","@7","@8","@9","@10","@11","@12","@13","@14", -"@15","@16","@17","ExtrudeParameters","ExtrudeParameter","Transfinite","Embedding", -"Coherence","FExpr","FExpr_Single","VExpr","VExpr_Single","RecursiveListOfListOfDouble", +"tBezier","tNurbs","tOrder","tKnots","tColor","tColorTable","tFor","tIn","tEndFor", +"tIf","tEndIf","tExit","tReturn","tCall","tFunction","tShow","tHide","tGetValue", +"tGMSH_MAJOR_VERSION","tGMSH_MINOR_VERSION","tGMSH_PATCH_VERSION","tAFFECTPLUS", +"tAFFECTMINUS","tAFFECTTIMES","tAFFECTDIVIDE","'?'","tOR","tAND","tEQUAL","tNOTEQUAL", +"'<'","tLESSOREQUAL","'>'","tGREATEROREQUAL","'+'","'-'","'*'","'/'","'%'","'!'", +"tPLUSPLUS","tMINUSMINUS","UNARYPREC","'^'","'('","')'","'['","']'","'.'","'#'", +"','","'{'","'}'","'~'","All","GeoFormatItems","GeoFormatItem","SendToFile", +"Printf","View","Views","ElementCoords","ElementValues","Element","@1","@2", +"Text2DValues","Text2D","@3","Text3DValues","Text3D","@4","InterpolationMatrix", +"Time","@5","Grain","NumericAffectation","NumericIncrement","Affectation","PhysicalId", +"Shape","Transform","MultipleShape","ListOfShapes","Duplicata","Delete","Colorify", +"Visibility","Command","Loop","Extrude","@6","@7","@8","@9","@10","@11","@12", +"@13","@14","@15","@16","@17","ExtrudeParameters","ExtrudeParameter","Transfinite", +"Embedding","Coherence","FExpr","FExpr_Single","VExpr","VExpr_Single","RecursiveListOfListOfDouble", "ListOfDouble","FExpr_Multi","RecursiveListOfDouble","ColorExpr","ListOfColor", "RecursiveListOfColor","StringExpr", NULL }; #endif static const short yyr1[] = { 0, - 140, 140, 141, 141, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 142, 142, 143, - 143, 144, 144, 144, 144, 145, 145, 146, 146, 146, - 146, 146, 146, 146, 147, 147, 148, 148, 150, 151, - 149, 152, 152, 154, 153, 155, 155, 157, 156, 158, - 160, 159, 161, 162, 162, 162, 162, 162, 163, 163, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 165, - 165, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 167, 167, 167, 167, 168, - 168, 168, 169, 169, 169, 169, 169, 169, 170, 170, - 170, 170, 171, 171, 171, 171, 172, 173, 173, 173, - 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 176, 176, 176, 177, 176, 178, 176, 179, 176, - 176, 176, 176, 176, 176, 176, 176, 176, 176, 180, - 176, 181, 176, 182, 176, 183, 176, 184, 176, 185, - 176, 186, 176, 187, 176, 188, 176, 189, 189, 190, - 190, 190, 190, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 192, 192, 192, 192, 193, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 196, 196, 196, - 196, 196, 197, 197, 197, 197, -1, -1, -1, 198, - 198, 199, 199, 199, 199, 199, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 201, 201, 201, 201, - 202, 202, 202, 202, 203, 203, 204, 204, 205, 205, - 205, 205, 205, 205, 205, 205, 205 + 136, 136, 137, 137, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 139, + 139, 140, 140, 140, 140, 141, 141, 142, 142, 142, + 142, 142, 142, 142, 143, 143, 144, 144, 146, 147, + 145, 148, 148, 150, 149, 151, 151, 153, 152, 154, + 156, 155, 157, 158, 158, 158, 158, 158, 159, 159, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 161, + 161, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 163, 163, 163, 163, 164, + 164, 164, 165, 165, 165, 165, 165, 165, 166, 166, + 166, 166, 167, 167, 167, 167, 168, 169, 169, 169, + 169, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 171, 171, 171, 171, 171, 171, 171, 171, 171, + 171, 172, 172, 172, 173, 172, 174, 172, 175, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 176, + 172, 177, 172, 178, 172, 179, 172, 180, 172, 181, + 172, 182, 172, 183, 172, 184, 172, 185, 185, 186, + 186, 186, 186, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 188, 188, 188, 188, 189, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 192, 192, 192, + 192, 192, 193, 193, 193, 193, 194, 194, 195, 195, + 195, 195, 195, 196, 196, 196, 196, 196, 196, 196, + 196, 196, 196, 197, 197, 197, 197, 198, 198, 198, + 198, 199, 199, 200, 200, 201, 201, 201, 201, 201, + 201, 201, 201, 201 }; static const short yyr2[] = { 0, @@ -643,11 +636,11 @@ static const short yyr2[] = { 0, 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, 0, 3, 3, 1, - 3, 1, 1, 2, 3, 4, 3, 5, 4, 1, - 1, 1, 3, 4, 6, 7, 1, 1, 3, 3, - 9, 7, 1, 5, 3, 6, 1, 3, 1, 1, - 6, 4, 4, 4, 6, 6, 9 + 3, 3, 11, 9, 7, 7, 1, 3, 1, 1, + 2, 3, 4, 3, 5, 4, 1, 1, 1, 3, + 4, 6, 7, 1, 1, 3, 3, 9, 7, 1, + 5, 3, 6, 1, 3, 1, 1, 6, 4, 4, + 4, 6, 6, 9 }; static const short yydefact[] = { 0, @@ -657,20 +650,20 @@ static const short yydefact[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 151, 0, 148, 0, 0, 0, 0, 4, 6, 5, 7, 8, 9, 10, 11, 12, 13, - 19, 18, 14, 15, 16, 17, 270, 277, 329, 54, + 19, 18, 14, 15, 16, 17, 270, 277, 326, 54, 271, 272, 273, 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, 330, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 274, 275, 276, 55, 56, 57, 58, 0, 0, 0, 59, 60, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 139, 0, 141, 277, 0, 0, 0, 0, - 310, 311, 312, 302, 0, 303, 0, 0, 0, 0, + 307, 308, 309, 299, 0, 300, 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, 288, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 113, 207, 0, - 0, 0, 0, 0, 0, 0, 0, 323, 0, 0, - 0, 0, 0, 138, 0, 147, 329, 113, 0, 113, + 0, 0, 0, 0, 0, 0, 0, 320, 0, 0, + 0, 0, 0, 138, 0, 147, 326, 113, 0, 113, 0, 0, 0, 0, 0, 281, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -680,7 +673,7 @@ static const short yydefact[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, - 277, 0, 0, 0, 304, 317, 318, 0, 0, 0, + 277, 0, 0, 0, 301, 314, 315, 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, 290, 289, 0, 0, 0, 0, @@ -696,8 +689,8 @@ static const short yydefact[] = { 0, 0, 0, 209, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 61, 0, 226, 225, 223, 224, 219, 221, 220, 222, 214, 213, 215, 216, 217, 218, 0, - 0, 0, 313, 0, 0, 0, 0, 0, 209, 0, - 305, 307, 0, 0, 0, 0, 209, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 0, 0, 209, 0, + 302, 304, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 292, 291, 112, 0, 111, 110, 0, 0, @@ -710,10 +703,10 @@ static const short yydefact[] = { 0, 253, 233, 254, 234, 255, 235, 256, 236, 257, 248, 269, 237, 258, 0, 0, 239, 260, 240, 261, 241, 262, 242, 263, 243, 264, 244, 265, 0, 0, 0, - 0, 0, 0, 0, 0, 334, 0, 0, 332, 333, + 0, 0, 0, 0, 0, 331, 0, 0, 329, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 280, 0, 22, 20, 0, 0, - 0, 0, 279, 309, 314, 0, 306, 0, 319, 320, + 0, 0, 279, 306, 311, 0, 303, 0, 316, 317, 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, 106, @@ -723,18 +716,18 @@ static const short yydefact[] = { 0, 0, 282, 0, 278, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 0, 0, 0, - 0, 0, 67, 68, 70, 0, 0, 327, 0, 76, - 227, 21, 0, 0, 0, 0, 0, 0, 308, 203, + 0, 0, 67, 68, 70, 0, 0, 324, 0, 76, + 227, 21, 0, 0, 0, 0, 0, 0, 305, 203, 0, 0, 0, 0, 204, 205, 0, 206, 0, 0, 85, 0, 0, 0, 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 120, 0, 0, 0, 0, 0, 0, 201, 124, 0, 0, 121, 122, - 0, 0, 0, 324, 0, 0, 0, 142, 134, 284, - 133, 0, 0, 0, 0, 0, 300, 0, 0, 238, - 259, 245, 266, 246, 267, 247, 268, 0, 336, 335, - 331, 287, 0, 54, 0, 0, 0, 0, 62, 0, - 0, 0, 325, 23, 24, 0, 0, 315, 0, 82, + 0, 0, 0, 321, 0, 0, 0, 142, 134, 284, + 133, 0, 0, 0, 0, 0, 297, 0, 0, 238, + 259, 245, 266, 246, 267, 247, 268, 0, 333, 332, + 328, 287, 0, 54, 0, 0, 0, 0, 62, 0, + 0, 0, 322, 23, 24, 0, 0, 312, 0, 82, 88, 0, 90, 0, 0, 86, 0, 87, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, 0, 113, 0, 170, @@ -742,20 +735,20 @@ static const short yydefact[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 94, 0, 0, 0, 0, 286, 27, 0, 35, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 73, - 0, 0, 74, 0, 328, 0, 0, 316, 0, 0, + 0, 0, 74, 0, 325, 0, 0, 313, 0, 0, 96, 101, 0, 199, 99, 100, 0, 0, 0, 197, 200, 103, 83, 98, 102, 105, 0, 0, 0, 296, 0, 295, 0, 0, 161, 0, 0, 162, 0, 0, - 163, 0, 0, 0, 302, 0, 115, 116, 117, 118, - 0, 0, 0, 0, 322, 0, 144, 143, 40, 0, - 0, 0, 301, 0, 0, 0, 0, 0, 63, 69, + 163, 0, 0, 0, 299, 0, 115, 116, 117, 118, + 0, 0, 0, 0, 319, 0, 144, 143, 40, 0, + 0, 0, 298, 0, 0, 0, 0, 0, 63, 69, 71, 0, 77, 0, 25, 0, 89, 91, 0, 196, 195, 198, 78, 79, 113, 0, 109, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 38, 52, 53, - 337, 0, 326, 0, 0, 0, 0, 294, 0, 0, + 334, 0, 323, 0, 0, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 190, - 0, 0, 0, 0, 321, 145, 0, 0, 0, 0, + 0, 0, 0, 0, 318, 145, 0, 0, 0, 0, 75, 0, 0, 107, 0, 176, 0, 0, 178, 0, 0, 180, 0, 0, 153, 0, 113, 0, 0, 0, 0, 95, 0, 44, 0, 50, 0, 0, 293, 164, @@ -780,1382 +773,1406 @@ static const short yydefgoto[] = { 1166, 298, 190, 614, 729, 485 }; -static const short yypact[] = { 2724, - 27, 3035,-32768, 2115, -112, 8, 63, 1556, -106, -41, - 1298, 1427, -15, -7, 82, 33, 103, 125, 132, 540, - 153, 397, 73, 89, 72, 72, 100, 326, 12, 165, - 13, 239, 26, 298, 305, 341, 218, 221, 228, 17, - 39,-32768, 245,-32768, 362,-32768, 409, 417, 22, 60, +static const short yypact[] = { 2694, + 42, 2762,-32768, 2088, -55, 5, 71, 1547, -37, -29, + 1297, 1422, -23, -15, 90, -9, -27, 81, 102, 405, + 158, 558, 97, 118, 93, 93, 169, 325, 12, 182, + 16, 304, 190, 305, 336, 344, 203, 225, 232, 17, + 10,-32768, 241,-32768, 380,-32768, 364, 372, 25, 59, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 0, 18,-32768, --32768,-32768,-32768, -77, 204, 259, 275, 432, 436, 450, - 484, 494, 498, 511, 553, 554, 615, 616, 639, 642, - 653, 654, 662, 672, 256, 317, 318, 323,-32768, 324, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 2326, 2326, 2326, --32768,-32768, 2326, 1751, 40, 457, 2326, 477, 836,-32768, - 478, 485,-32768, 2326,-32768, 449, 356, 678, 2326, 1162, --32768,-32768,-32768, 2454, 407,-32768, 2326, 2326, 383, 2326, - 430, 399, 437, 2326, 2326, 1685, 2326, 411, 406, 426, - 1685, 420, 468, 456, 517, 518, 527, 537, 650, 72, - 72, 72, 2326, 2326, 79,-32768, 114, 72, 538, 539, - 543, 1986, 176, 532,-32768, 1685, 32,-32768,-32768, 1685, - 1685, 579, 580, 665, 2326, 2326, 2326, 585, 2326, 583, - 637, 2326, 2326,-32768, 732,-32768,-32768,-32768, 736,-32768, - 744, 607, 2326, 747, 621,-32768, 72,-32768, 2326, 2326, - 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, - 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, - 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, - 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, - 505, 415, 415, 415, 763, 524, 647, 647, 647, 5017, - 16, 2163, 1089, 112, 643, 789, 667, 858,-32768,-32768, - 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, - 2326, 2326, 2326, 2326, 2326,-32768, -65, 3591, 1814, 2326, - 534, 2163, 5040, 2356,-32768, 2454,-32768, 487, 2326, 761, - 5063, 5086, 2326, 5109, 625, 2326, 771, 5132, 5155, 814, - 5178, 2326, 2326, 2326, 821, 2326, 2326, 2326, 2291, 2291, - 2291, 2291, 706, 104,-32768,-32768, 3613, 3635, 72, 72, - 727, 727, 372, 2326, 2326, 2326, 1986, 1986, 2326, 396, --32768, 2326, 2784, 207, 838,-32768, 2326, 2801, 855, 859, - 2326, 2326,-32768, 5201, 5224, 5247, 777, 3657,-32768, 740, - 2469, 5270,-32768, 2844,-32768, 2861,-32768, 2326, 1483, 214, - 2326, 192, 3, 5293, 1612, 5316, 4317, 5339, 4342, 5362, - 4367, 5385, 4392, 5408, 4417, 5431, 4442, 5454, 4467, 5477, - 4492, 5500, 4517, 5523, 4542, 3679, 3701, 5546, 4567, 5569, - 4592, 5592, 4617, 5615, 4642, 5638, 4667, 5661, 4692, 3723, - 3745, 3767, 3789, 3811, 3833, 673, -23, 737, 748, 749, - 742, 2326,-32768, 1685, 1685, 676, 291, 415, 2326, 875, - 878, 21, 751,-32768, 2544, 797, 1357, 773, 773, 404, - 404, 404, 404, 178, 178, 647, 647, 647, 647, 20, - 2163, 2326,-32768, 2163, 4717, 3087, 1949, 681, 879, 2163, --32768, 2585, 2326, 892, 893, 5684, 894, 2326, 2326, 5707, - 2326, 896, 898, 2326, 899, 3111, 5730, 5753, 2326, 3135, - 3159, 5776, 780, 2570,-32768, 791, 792, 793, 794, 72, - 2326, 2326,-32768,-32768,-32768, 787, 2559,-32768, 795, 2326, - 3855, 3877, 3899, 2516, 72, 2904, 4742, -69, -47, -26, - -31,-32768,-32768,-32768, 2326,-32768, 4767,-32768, 790, 798, - 4792, 4817, 922, 925, 927, 802, 2326, 2921, 2326, 2326, --32768,-32768,-32768, 4842, 67,-32768, 3183,-32768,-32768, 807, - 808, 803,-32768, 809, 935,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 0, 21,-32768, +-32768,-32768,-32768, 51, 63, 92, 175, 208, 245, 263, + 362, 370, 401, 449, 463, 486, 498, 515, 535, 542, + 619, 620, 638, 639, 275, 286, 287, 300,-32768, 313, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2293, 2293, 2293, +-32768,-32768, 2293, 672, 20, 443, 2293, 447, 1015,-32768, + 487, 494,-32768, 2293,-32768, 434, 369, 1928, 2293, 1161, +-32768,-32768,-32768, 1482, 416,-32768, 2293, 2293, 383, 2293, + 424, 392, 439, 2293, 2293, 1672, 2293, 390, 406, 407, + 1672, 403, 408, 428, 437, 440, 441, 445, 546, 93, + 93, 93, 2293, 2293, 303,-32768, 391, 93, 476, 477, + 495, 1963, 404, 452,-32768, 1672, 37,-32768,-32768, 1672, + 1672, 491, 492, 621, 2293, 2293, 2293, 518, 2293, 519, + 571, 2293, 2293,-32768, 658,-32768,-32768,-32768, 661,-32768, + 674, 544, 2293, 701, 573,-32768, 93,-32768, 2293, 2293, + 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, + 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, + 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, + 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, + 511, 433, 433, 433, 706, 662, 598, 598, 598, 5213, + 24, 2134, 4500, 293, 608, 732, 615, 1130,-32768,-32768, + 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, + 2293, 2293, 2293, 2293, 2293,-32768, -105, 3642, 1738, 2293, + 684, 2134, 5234, 2417,-32768, 1482,-32768, 647, 2293, 705, + 5255, 5276, 2293, 5297, 86, 2293, 722, 5318, 5339, 773, + 5360, 2293, 2293, 2293, 776, 2293, 2293, 2293, 2258, 2258, + 2258, 2258, 659, 339,-32768,-32768, 3668, 3694, 93, 93, + 646, 646, 423, 2293, 2293, 2293, 1963, 1963, 2293, 436, +-32768, 2293, 2820, 163, 785,-32768, 2293, 2837, 792, 797, + 2293, 2293,-32768, 5381, 5402, 5423, 731, 3720,-32768, 675, + 1607, 5444,-32768, 2880,-32768, 2897,-32768, 2293, 4523, 117, + 2293, 409, 3, 5465, 4546, 5486, 4569, 5507, 4592, 5528, + 4615, 5549, 4638, 5570, 4661, 5591, 4684, 5612, 4707, 5633, + 4730, 5654, 4753, 5675, 4776, 3746, 3772, 5696, 4799, 5717, + 4822, 5738, 4845, 5759, 4868, 5780, 4891, 5801, 4914, 3798, + 3824, 3850, 3876, 3902, 3928, 666, -99, 686, 694, 751, + 717, 2293,-32768, 1672, 1672, 668, 94, 433, 2293, 859, + 862, 22, 752,-32768, 2534, 643, 798, 910, 910, 708, + 708, 708, 708, 657, 657, 598, 598, 598, 598, 11, + 2134, 2293,-32768, 2134, 4937, 1232, 1797, 681, 873, 2134, +-32768, 2553, 2293, 875, 877, 5822, 879, 2293, 2293, 5843, + 2293, 881, 882, 2293, 883, 3056, 5864, 5885, 2293, 3084, + 3112, 5906, 764, 6179,-32768, 765, 766, 768, 769, 93, + 2293, 2293,-32768,-32768,-32768, 762, 540,-32768, 767, 2293, + 3954, 3980, 4006, 3616, 93, 2940, 4960, -76, -35, -31, + -18,-32768,-32768,-32768, 2293,-32768, 4983,-32768, 770, 772, + 5006, 5029, 893, 895, 899, 789, 2293, 2957, 2293, 2293, +-32768,-32768,-32768, 5052, 18,-32768, 3140,-32768,-32768, 794, + 796, 791,-32768, 799, 920,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 2326, 2326,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 2326, 2326, 2326, - 2326, 2326, 2326, 2326, 940,-32768, 2163, 415,-32768,-32768, - 2326, 944, 955, 829, 47, 2326, 957, 958, 976,-32768, - 965, 851, 17, 979,-32768, 2326,-32768, 869, 415, -14, - 3921, 688, 78,-32768,-32768, 2163,-32768, 72, 2454,-32768, - 2326, 1013, 1685, 1685, 981, 1685, 1132, 1225, 982, 1264, - 1685, 1685, 1397, 853, 984, 985, 986, 480, 988, 989, - 991, 992, 993, 994, 996, 1000, 427, 3943, 3965,-32768, --32768, 3207, 72, 72, 72, 431,-32768, 117, 999, 2326, - 2163, 2326, 2163, 2163, 2163, 1526, 1002, 2326, 2326, 1004, - 1005, 1685, 1685, 1685, 1011, 3987,-32768, 2600, 644, 1014, - 1017,-32768, 1016,-32768, 9, 876, 2326, 2326, 1685, 880, - 2326,-32768, 5799, 4867, 5822, 4892, 5845, 4917, 5868, 4942, - 4967, 895, 2, 897, 5891,-32768,-32768, 136, 296, 889, - 1018, 1784,-32768,-32768,-32768, 17, 2326,-32768, 689,-32768, - 2570,-32768, 1021, 23, 2326, 891, 693, 5, 2570,-32768, - 24, 25, 1685, 1023,-32768,-32768, 1685,-32768, 1024, 1027, --32768, 2326, 1685, 1685, 1685,-32768, 368, 1685, 1685, 1685, - 1685, 1685, 1685, 1685, 429, 2326, 2326, 2326, 900, -45, - 369, 382, 1986, 1029, 901, -40,-32768,-32768, 5914, 697, - 5937, 698, 707, 711,-32768,-32768, 4009, 4031,-32768,-32768, - 1030, 1036, 959,-32768, 2326, 2326, 2326,-32768,-32768, 214, --32768, 1038, 2326, 4053, 4075, 712,-32768, 2326, 5960,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 913,-32768,-32768, --32768,-32768, 1685, 415, 2326, 1042, 1045, 21,-32768, 1044, - 4992, 17,-32768,-32768,-32768, 415, 4097,-32768, 921,-32768, --32768, 72,-32768, 72, 1049,-32768, 1050,-32768,-32768, 4119, - 1051, 1054, 1055, 2326, 2326, 848, 1056, 1057, 1058, 1059, - 1060, 1062,-32768, 2291, 3231, 5983, 2622, 727, 72, 1063, - 72, 1065, 72, 1066, 3255, 433,-32768, 1685,-32768,-32768, - 879, 1067, 894, 1068, 1069, 1070, 2326, 2326,-32768,-32768, - 1685, 3027, 358, 6006,-32768,-32768, 48, 2570, 2326, 2326, - 1685, 941, 717, 2570, 1685, 1073, 1077, 1078, 1913,-32768, - 1072, 1095,-32768, 968,-32768, 1098, 2326,-32768, 42, 46, --32768,-32768, 2326,-32768,-32768,-32768, 2383, 2398, 1101,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 2413, 1102, 972,-32768, - 2326,-32768, 973, 435,-32768, 975, 441,-32768, 977, 491, --32768, 978, 980, 2326, 614, 983,-32768,-32768,-32768,-32768, - 4141, 4163, 1032, 2326,-32768, 2326,-32768,-32768,-32768, 2326, - 4185, 4207,-32768, 1685, 2326, 1107, 1115, 1009,-32768,-32768, --32768, 17,-32768, 1061,-32768, 4229,-32768,-32768, 4251,-32768, --32768,-32768,-32768,-32768, 727, 3057,-32768, 1986, 117, 1986, - 117, 1986, 117,-32768, 3279, 1121, 1685, 2326, 2326, 2326, - 3303, 3327, 1006, 2570, 2326, 2326, 721, 2570,-32768,-32768, --32768, 1138,-32768, 2326, 1141, 1010, 2326,-32768, 3351, 493, - -18, 3375, 519, -8, 3399, 526, 37, 2964, 1012,-32768, - 725, 3423, 3447, 2428,-32768,-32768, 2326, 6029, 4273, 1148, --32768, 4295, 1028,-32768, 3471, 1157, 2326, 1161, 1163, 2326, - 1164, 1189, 2326, 1190,-32768, 117,-32768, 1685, 1191, 1207, - 1208,-32768, 733,-32768, 2326,-32768, 2326, 1142,-32768,-32768, - 1031, 3495,-32768,-32768, 1079, 3519,-32768,-32768, 1080, 3543, --32768, 159, 2981, 1081,-32768,-32768,-32768, 1209, 1083, 6052, - 3567, 1093, 117, 1224, 117, 1226, 117, 1227,-32768,-32768, - 117, 1228,-32768, 415,-32768, 1231, 1233, 236,-32768, 1103, - 238,-32768, 1109, 301,-32768, 1119, 320,-32768, 734,-32768, - 1120,-32768, 1122, 1252, 117, 1253, 117, 1256, 117,-32768, - 415, 1261, 415, 1262,-32768, 344,-32768, 347,-32768, 361, --32768,-32768, 738,-32768,-32768, 1263, 1265, 1266, 415, 1267, --32768,-32768,-32768,-32768,-32768, 1239, 1274,-32768 +-32768,-32768,-32768, 2293, 2293,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2293, 2293, 2293, + 2293, 2293, 2293, 2293, 923,-32768, 2134, 433,-32768,-32768, + 2293, 922, 926, 800, 34, 2293, 927, 928, 1265,-32768, + 929, 807, 17, 931,-32768, 2293,-32768, 824, 433, -60, + 4032, 697, -54,-32768,-32768, 2134,-32768, 93, 1482,-32768, + 2293, 1394, 1672, 1672, 932, 1672, 1519, 1769, 933, 1889, + 1672, 1672, 2219, 808, 951, 952, 954, 837, 956, 957, + 958, 960, 975, 976, 978, 983, 444, 4058, 4084,-32768, +-32768, 3168, 93, 93, 93, 481,-32768, 91, 984, 2293, + 2134, 2293, 2134, 2134, 2134, 2343, 985, 2293, 2293, 986, + 987, 1672, 1672, 1672, 991, 4110,-32768, 2572, 861, 990, + 994,-32768, 993,-32768, 9, 863, 2293, 2293, 1672, 867, + 2293,-32768, 5927, 5075, 5948, 5098, 5969, 5121, 5990, 5144, + 5167, 874, -8, 876, 6011,-32768,-32768, 98, 299, 878, + 997, 2362,-32768,-32768,-32768, 17, 2293,-32768, 702,-32768, + 6179,-32768, 999, 50, 2293, 886, 703, 45, 6179,-32768, + 23, 38, 1672, 1000,-32768,-32768, 1672,-32768, 1004, 1005, +-32768, 2293, 1672, 1672, 1672,-32768, 185, 1672, 1672, 1672, + 1672, 1672, 1672, 1672, 291, 2293, 2293, 2293, 884, 179, + 301, 329, 1963, 1013, 887, -2,-32768,-32768, 6032, 710, + 6053, 713, 716, 720,-32768,-32768, 4136, 4162,-32768,-32768, + 1027, 1030, 953,-32768, 2293, 2293, 2293,-32768,-32768, 117, +-32768, 1031, 2293, 4188, 4214, 721,-32768, 2293, 6074,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 912,-32768,-32768, +-32768,-32768, 1672, 433, 2293, 1038, 1042, 22,-32768, 1041, + 5190, 17,-32768,-32768,-32768, 433, 4240,-32768, 919,-32768, +-32768, 93,-32768, 93, 1043,-32768, 1044,-32768,-32768, 4266, + 1048, 1049, 1050, 2293, 2293, 853, 1051, 1054, 1055, 1056, + 1057, 1058,-32768, 2258, 3196, 6095, 2592, 646, 93, 1059, + 93, 1060, 93, 1062, 3224, 484,-32768, 1672,-32768,-32768, + 873, 1063, 879, 1065, 1066, 1067, 2293, 2293,-32768,-32768, + 1672, 2994, 367, 6116,-32768,-32768, 2, 6179, 2293, 2293, + 1672, 941, 729, 6179, 1672, 1071, 1070, 1072, 2381,-32768, + 1076, 1073,-32768, 947,-32768, 1078, 2293,-32768, 68, 77, +-32768,-32768, 2293,-32768,-32768,-32768, 2458, 2477, 1079,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 2496, 1080, 955,-32768, + 2293,-32768, 959, 513,-32768, 961, 522,-32768, 962, 530, +-32768, 963, 964, 2293, 617, 966,-32768,-32768,-32768,-32768, + 4292, 4318, 1003, 2293,-32768, 2293,-32768,-32768,-32768, 2293, + 4344, 4370,-32768, 1672, 2293, 1083, 1085, 965,-32768,-32768, +-32768, 17,-32768, 1012,-32768, 4396,-32768,-32768, 4422,-32768, +-32768,-32768,-32768,-32768, 646, 3028,-32768, 1963, 91, 1963, + 91, 1963, 91,-32768, 3252, 1095, 1672, 2293, 2293, 2293, + 3280, 3308, 969, 6179, 2293, 2293, 730, 6179,-32768,-32768, +-32768, 1098,-32768, 2293, 1100, 973, 2293,-32768, 3336, 534, + 32, 3364, 539, 41, 3392, 541, 165, 3000, 979,-32768, + 738, 3420, 3448, 2515,-32768,-32768, 2293, 6137, 4448, 1102, +-32768, 4474, 977,-32768, 3476, 1105, 2293, 1107, 1108, 2293, + 1109, 1110, 2293, 1111,-32768, 91,-32768, 1672, 1113, 1115, + 1132,-32768, 739,-32768, 2293,-32768, 2293, 1137,-32768,-32768, + 1010, 3504,-32768,-32768, 1011, 3532,-32768,-32768, 1014, 3560, +-32768, 170, 3017, 1016,-32768,-32768,-32768, 1140, 1021, 6158, + 3588, 1017, 91, 1142, 91, 1157, 91, 1160,-32768,-32768, + 91, 1162,-32768, 433,-32768, 1163, 1189, 173,-32768, 1034, + 240,-32768, 1064, 273,-32768, 1068, 320,-32768, 742,-32768, + 1074,-32768, 1061, 1190, 91, 1192, 91, 1193, 91,-32768, + 433, 1194, 433, 1197,-32768, 355,-32768, 357,-32768, 376, +-32768,-32768, 745,-32768,-32768, 1198, 1199, 1200, 433, 1202, +-32768,-32768,-32768,-32768,-32768, 1209, 1210,-32768 }; static const short yypgoto[] = {-32768, --32768,-32768, 541,-32768,-32768, 739,-32768, 231,-32768,-32768, +-32768,-32768, 478,-32768,-32768, 673,-32768, 166,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, -259, 30,-32768, 299, 1277, -1, -330, -163, 7, --32768,-32768,-32768,-32768,-32768, 1278,-32768,-32768,-32768,-32768, +-32768, -259, 30,-32768, -108, 1212, -1, -330, -163, 7, +-32768,-32768,-32768,-32768,-32768, 1213,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -993, -684, --32768,-32768,-32768, 43,-32768, 14,-32768, 309, 398, -67, - -243, -610, 458,-32768, -4 +-32768,-32768,-32768, 43,-32768, 14,-32768, 242, 398, -67, + -243, -610, 389,-32768, -4 }; -#define YYLAST 6183 +#define YYLAST 6304 static const short yytable[] = { 121, 56, 499, 728, 202, 429, 1031, 539, 1034, 57, 1037, - 840, 343, 539, 123, 348, 174, 177, 122, 426, 139, - 188, 207, 424, 137, 612, 617, 197, 774, 835, 841, - 843, 775, 3, 118, 364, 345, 366, 346, 165, 167, - 142, 173, 191, 264, 199, 201, 119, 987, 458, 774, - 719, 988, 209, 775, 210, 95, 96, 97, 98, 774, - 670, 99, 297, 775, 197, 450, 180, 671, 125, 181, - 451, 197, 1092, 329, 330, 842, 844, 540, 541, 542, - 543, 544, 672, 540, 541, 542, 543, 544, 138, 673, - 869, 880, 870, 95, 96, 97, 98, 879, 145, 99, - 95, 96, 97, 98, 774, 675, 99, 596, 775, 1118, - 674, 1121, 597, 1124, 144, 830, 734, 1127, 428, 1058, - 425, 460, 145, 329, 330, 111, 112, 265, 266, 1061, - 146, 203, 820, 204, 720, 721, 618, 460, 205, 618, - 545, 1146, 70, 1148, 124, 1150, 802, 148, 175, 178, - 257, 258, 259, 189, 208, 260, 263, 613, 198, 268, - 329, 330, 147, 347, 329, 330, 288, 606, 192, 149, - 258, 293, 296, 324, 1064, 326, 150, 506, 969, 301, - 302, 333, 304, 970, 774, 340, 308, 309, 775, 311, - 161, 162, 111, 112, 297, 528, 200, 329, 330, 154, - 691, 163, 159, 111, 112, 327, 328, 620, 164, 176, - 622, 691, 514, 515, 328, 331, 104, 105, 106, 107, - 372, 915, 329, 330, 297, 160, 774, 354, 355, 356, - 775, 358, 329, 330, 361, 362, 168, 111, 112, 490, - 104, 105, 106, 107, 179, 369, 417, 418, 419, 420, - 332, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 123, 343, 539, 191, 348, 174, 617, 148, 426, 177, + 188, 450, 197, 264, 207, 612, 451, 596, 841, 197, + 424, 139, 597, 118, 364, 142, 366, 719, 165, 167, + 345, 173, 346, 843, 199, 201, 119, 3, 458, 670, + 840, 95, 96, 97, 98, 835, 671, 99, 95, 96, + 97, 98, 297, 197, 99, 774, 734, 111, 112, 775, + 122, 460, 1092, 987, 842, 691, 125, 540, 541, 542, + 543, 544, 988, 540, 541, 542, 543, 544, 137, 844, + 672, 880, 95, 96, 97, 98, 138, 673, 99, 774, + 70, 674, 144, 775, 70, 265, 266, 145, 774, 1118, + 145, 1121, 775, 1124, 675, 830, 147, 1127, 820, 720, + 721, 111, 112, 460, 618, 149, 425, 203, 969, 204, + 468, 879, 469, 970, 205, 192, 545, 124, 146, 111, + 112, 1146, 802, 1148, 175, 1150, 150, 691, 178, 189, + 257, 258, 259, 208, 613, 260, 263, 198, 774, 268, + 329, 330, 775, 618, 347, 1058, 288, 606, 514, 515, + 258, 293, 296, 324, 1061, 326, 209, 506, 210, 301, + 302, 333, 304, 329, 330, 340, 308, 309, 211, 311, + 212, 200, 329, 330, 297, 528, 104, 105, 106, 107, + 104, 105, 106, 107, 154, 327, 328, 620, 161, 162, + 622, 486, 487, 488, 328, 111, 112, 213, 163, 214, + 372, 915, 159, 605, 297, 164, 176, 354, 355, 356, + 180, 358, 774, 181, 361, 362, 775, 774, 111, 112, + 774, 775, 854, 855, 775, 369, 417, 418, 419, 420, + 160, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 430, 329, 330, 1109, 70, 282, 283, - 284, 182, 824, 774, 296, 774, 285, 775, 183, 775, - 329, 330, 341, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 448, 449, 538, 495, - 495, 455, 456, 211, 296, 212, 258, 498, 498, 111, - 112, 462, 493, 494, 184, 466, 880, 185, 470, 880, + 413, 414, 415, 430, 329, 330, 863, 864, 1064, 428, + 215, 168, 216, 1109, 296, 824, 1134, 774, 182, 179, + 869, 775, 870, 435, 436, 437, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 185, 495, + 495, 455, 456, 217, 296, 218, 258, 498, 498, 183, + 774, 462, 493, 494, 775, 466, 880, 184, 470, 880, 186, 326, 880, 713, 476, 477, 478, 187, 480, 481, - 482, 484, 484, 484, 484, 966, 169, 194, 774, 170, - 171, 1022, 775, 1134, 193, 1136, 501, 502, 503, 257, - 258, 504, 737, 297, 507, 251, 297, 774, 213, 517, - 214, 775, 630, 521, 522, 104, 105, 106, 107, 536, - 104, 105, 106, 107, 215, 135, 216, 880, 141, 143, - 534, 774, 195, 537, 774, 775, 111, 112, 775, 197, - 196, 111, 112, 608, 605, 854, 855, 780, 774, 782, - 783, 784, 775, 880, 863, 864, 880, 155, 1138, 880, - 156, 157, 880, 158, 161, 162, 252, 253, 95, 96, - 97, 98, 254, 255, 99, 163, 607, 1140, 823, 825, - 267, 880, 172, 880, 455, 880, 271, 272, 273, 274, - 275, 609, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 1156, 269, 286, 1157, 756, 285, 329, 330, 287, - 329, 330, 290, 296, 621, 967, 296, 300, 1158, 455, - 329, 330, 629, 657, 871, 632, 872, 500, 416, 197, - 637, 638, 303, 640, 329, 330, 643, 873, 666, 874, - 305, 648, 280, 281, 282, 283, 284, 307, 306, 297, - 693, 505, 285, 658, 659, 313, 757, 943, 95, 96, - 97, 98, 662, 310, 99, 329, 330, 312, 315, 329, - 330, 329, 330, 329, 330, 314, 316, 676, 297, 329, - 330, 217, 766, 218, 692, 219, 773, 220, 954, 686, - 998, 688, 689, 344, 111, 112, 1000, 349, 350, 221, - 289, 222, 204, 151, 152, 318, 153, 205, 271, 272, - 273, 274, 275, 714, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 297, 317, 297, 297, 297, 285, 329, - 330, 329, 330, 223, 733, 224, 703, 704, 486, 487, - 488, 299, 460, 225, 461, 226, 1002, 227, 1057, 228, + 482, 484, 484, 484, 484, 169, 193, 195, 170, 171, + 219, 1022, 220, 1136, 966, 196, 501, 502, 503, 257, + 258, 504, 737, 297, 507, 194, 297, 774, 221, 517, + 222, 775, 630, 521, 522, 104, 105, 106, 107, 536, + 251, 104, 105, 106, 107, 135, 1138, 880, 141, 143, + 534, 252, 253, 537, 111, 112, 329, 330, 329, 330, + 111, 112, 774, 608, 774, 254, 775, 780, 775, 782, + 783, 784, 871, 880, 872, 331, 880, 197, 255, 880, + 161, 162, 880, 774, 329, 330, 267, 775, 151, 152, + 163, 153, 269, 1140, 329, 330, 607, 172, 823, 825, + 873, 880, 874, 880, 455, 880, 95, 96, 97, 98, + 490, 609, 99, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 223, 1156, 224, + 1157, 285, 286, 296, 621, 225, 296, 226, 287, 455, + 967, 290, 629, 657, 300, 632, 329, 330, 303, 1158, + 637, 638, 305, 640, 416, 197, 643, 306, 666, 329, + 330, 648, 312, 332, 329, 330, 227, 307, 228, 297, + 693, 313, 314, 658, 659, 316, 341, 943, 329, 330, + 317, 538, 662, 310, 95, 96, 97, 98, 315, 323, + 99, 329, 330, 318, 500, 111, 112, 676, 297, 329, + 330, 289, 319, 204, 692, 320, 321, 505, 205, 686, + 322, 688, 689, 344, 229, 766, 230, 349, 350, 342, + 508, 9, 10, 509, 510, 13, 511, 15, 231, 16, + 232, 18, 19, 714, 21, 22, 329, 330, 155, 329, + 330, 156, 157, 297, 158, 297, 297, 297, 334, 335, + 33, 233, 773, 234, 733, 954, 703, 704, 351, 352, + 37, 38, 39, 235, 299, 236, 353, 336, 329, 330, 705, 706, 707, 708, 709, 710, 711, 329, 330, 296, - 229, 738, 230, 715, 329, 330, 319, 320, 722, 111, - 112, 797, 692, 323, 1060, 422, 321, 204, 731, 111, - 112, 1063, 205, 342, 1026, 457, 322, 204, 296, 468, - 353, 469, 205, 739, 334, 335, 770, 771, 772, 336, - 67, 291, 231, 233, 232, 234, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 351, 352, 779, 296, 781, 296, 296, 296, 357, 359, - 787, 788, 271, 272, 273, 274, 275, 360, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 363, 368, 804, - 805, 365, 285, 809, 235, 237, 236, 238, 826, 367, - 370, 1006, 271, 272, 273, 274, 275, 371, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 421, 239, 831, - 240, 241, 285, 242, 798, 285, 431, 837, 100, 101, - 102, 103, 243, 245, 244, 246, 876, 24, 25, 26, - 27, 247, 29, 248, 850, 432, 108, 109, 433, 34, - 35, 249, 110, 250, 594, 463, 595, 113, 865, 866, - 867, 460, 116, 604, 292, 875, 460, 471, 627, 908, - 474, 602, 603, 460, 832, 736, 833, 479, 460, 895, - 839, 916, 460, 460, 882, 884, 489, 892, 893, 894, - 1038, 270, 460, 516, 885, 898, 460, 901, 886, 902, - 904, 929, 975, 930, 976, 919, 901, 920, 1050, 938, - 1068, 519, 1069, 434, 526, 520, 495, 909, 975, 1141, - 1098, 1142, 598, 1159, 498, 1160, 529, 601, 599, 600, - 610, 611, 944, 615, 947, 628, 950, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 927, 928, 633, 634, - 636, 285, 641, 1093, 642, 644, 937, 273, 274, 275, - 652, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 955, 653, 654, 655, 660, 285, 678, 656, 682, 961, - 962, 683, 661, 684, 679, 685, 697, 698, 701, 699, - 702, 971, 972, 712, 271, 272, 273, 274, 275, 716, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 986, - 717, 718, 723, 724, 285, 989, 271, 272, 273, 274, - 275, 726, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 725, 727, 996, 730, 732, 285, 743, 747, 752, - 753, 754, 755, 495, 758, 759, 1005, 760, 761, 762, - 763, 498, 764, 765, 778, 803, 1011, 786, 1012, 789, - 790, 1030, 1014, 1033, 794, 1036, 808, 1018, 740, 799, - 800, 801, 827, 838, 828, 819, 834, 821, 846, 848, - 741, 742, 849, 744, 877, 889, 868, 878, 749, 750, - 1029, 890, 1032, 896, 1035, 891, 906, 910, 911, 913, - 1042, 1043, 1044, 918, 921, 922, 924, 1048, 1049, 925, - 926, 931, 932, 933, 934, 935, 1052, 936, 945, 1055, - 948, 951, 957, 958, 959, 960, 978, 974, 982, 791, - 792, 793, 979, 980, 271, 272, 273, 274, 275, 904, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 1082, - 983, 984, 1086, 985, 285, 1090, 992, 994, 995, 1130, - 997, 999, 1019, 1001, 1003, 1010, 1004, 1100, 1007, 1101, - 1020, 271, 272, 273, 274, 275, 1040, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 1151, 745, 1154, 1021, - 845, 285, 1047, 1051, 847, 1053, 1102, 1054, 1067, 1023, - 851, 852, 853, 1076, 1164, 856, 857, 858, 859, 860, - 861, 862, 1080, 1078, 67, 126, 1083, 1103, 1084, 1087, + 237, 738, 238, 715, 998, 329, 330, 357, 722, 329, + 330, 359, 692, 1000, 329, 330, 329, 330, 731, 360, + 239, 1002, 240, 363, 1026, 1057, 365, 241, 296, 242, + 1060, 368, 1063, 739, 67, 256, 770, 771, 772, 367, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 1088, 1091, 1095, 271, 272, 273, - 274, 275, 127, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 1096, 1097, 1113, 1105, 1107, 285, 1112, 1114, - 907, 427, 24, 25, 26, 27, 28, 29, 1117, 1119, - 746, 1122, 1125, 1128, 34, 35, 1132, 1133, 1167, 1135, - 271, 272, 273, 274, 275, 1137, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 1139, 1143, 1145, 1147, 1144, - 285, 1149, 100, 101, 102, 103, 1152, 1155, 1161, 748, - 1162, 1163, 1165, 1168, 836, 956, 695, 1073, 55, 63, - 108, 294, 1017, 0, 0, 912, 110, 0, 963, 0, - 0, 113, 0, 0, 0, 0, 116, 0, 973, 295, - 67, 126, 977, 0, 0, 0, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 0, 0, 0, 271, 272, 273, 274, 275, 127, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 0, 0, 0, 24, 25, - 26, 27, 28, 29, 139, 0, 0, 0, 0, 0, - 34, 35, 271, 272, 273, 274, 275, 0, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 0, 0, 0, 0, 100, 101, - 102, 103, 751, 0, 1041, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 108, 128, 0, 0, - 0, 0, 110, 0, 0, 0, 0, 140, 0, 67, + 91, 92, 93, 94, 370, 371, 24, 25, 26, 27, + 421, 29, 779, 296, 781, 296, 296, 296, 34, 35, + 787, 788, 285, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 431, 432, 804, + 805, 285, 433, 809, 243, 245, 244, 246, 826, 463, + 1006, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 247, 249, 248, 250, 285, 471, 831, + 100, 101, 102, 103, 282, 283, 284, 837, 460, 474, + 461, 285, 479, 111, 112, 489, 876, 108, 109, 422, + 516, 204, 110, 594, 850, 595, 205, 113, 519, 460, + 261, 604, 116, 520, 262, 111, 112, 529, 865, 866, + 867, 457, 460, 204, 627, 875, 526, 598, 205, 908, + 599, 602, 603, 280, 281, 282, 283, 284, 460, 895, + 736, 916, 285, 832, 460, 833, 839, 892, 893, 894, + 1038, 460, 756, 882, 460, 898, 884, 460, 601, 885, + 904, 460, 901, 886, 902, 919, 929, 920, 930, 938, + 975, 901, 976, 1050, 610, 611, 495, 909, 797, 1068, + 975, 1069, 1098, 1141, 498, 1142, 1159, 600, 1160, 628, + 615, 633, 944, 634, 947, 636, 950, 641, 642, 644, + 652, 653, 654, 757, 655, 660, 927, 928, 656, 682, + 661, 683, 678, 1093, 679, 684, 937, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 685, 697, + 955, 698, 285, 699, 701, 702, 712, 716, 718, 961, + 962, 717, 723, 724, 727, 726, 730, 732, 743, 747, + 752, 971, 972, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 753, 754, 986, + 755, 285, 758, 759, 760, 989, 761, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 762, 763, 996, 764, 285, 765, 798, 803, 778, + 786, 789, 790, 495, 794, 799, 1005, 800, 801, 808, + 819, 498, 821, 828, 834, 846, 1011, 827, 1012, 848, + 849, 1030, 1014, 1033, 838, 1036, 868, 1018, 877, 878, + 270, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 741, 742, 889, 744, 285, 890, 896, 891, 749, 750, + 1029, 906, 1032, 910, 1035, 911, 913, 918, 921, 922, + 1042, 1043, 1044, 924, 925, 926, 931, 1048, 1049, 932, + 933, 934, 935, 936, 945, 948, 1052, 951, 957, 1055, + 958, 959, 960, 974, 978, 979, 984, 980, 983, 791, + 792, 793, 982, 985, 992, 994, 1010, 995, 1019, 904, + 1020, 1021, 997, 999, 1001, 1003, 1004, 1007, 1023, 1082, + 1040, 1047, 1086, 1051, 1053, 1090, 1054, 1076, 1078, 1130, + 1080, 1067, 1083, 1084, 1087, 1088, 1091, 1100, 1095, 1101, + 1096, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 434, 1151, 1097, 1154, 285, + 845, 1102, 1103, 1105, 847, 1113, 1107, 1119, 1117, 1112, + 851, 852, 853, 1114, 1164, 856, 857, 858, 859, 860, + 861, 862, 1122, 67, 126, 1125, 1135, 1128, 1132, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 1133, 1144, 1145, 1137, 1147, 1149, 1152, + 1139, 127, 1155, 1161, 1162, 1163, 1143, 1165, 1167, 1168, + 695, 836, 1073, 55, 63, 1017, 912, 0, 0, 0, + 907, 24, 25, 26, 27, 28, 29, 0, 0, 0, + 0, 0, 0, 34, 35, 0, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 0, 100, + 101, 102, 103, 0, 0, 0, 0, 0, 0, 0, + 725, 0, 0, 0, 0, 956, 108, 294, 0, 0, + 0, 110, 0, 0, 0, 0, 113, 0, 963, 0, + 0, 116, 0, 0, 295, 0, 0, 0, 973, 67, + 126, 0, 977, 0, 0, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 127, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 24, 25, 26, + 27, 28, 29, 139, 0, 624, 0, 0, 0, 34, + 35, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 0, 0, 0, 0, 285, + 0, 0, 0, 0, 0, 100, 101, 102, 103, 740, + 0, 0, 0, 0, 1041, 0, 0, 0, 0, 0, + 0, 0, 108, 128, 0, 0, 0, 110, 0, 0, + 0, 0, 140, 0, 67, 126, 0, 116, 0, 130, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 127, 0, 0, 1094, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 24, 25, 26, 27, 28, 29, 142, 299, + 0, 0, 0, 0, 34, 35, 0, 0, 0, 0, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 100, 101, 102, 103, 745, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 108, 128, 0, + 0, 0, 110, 0, 0, 0, 0, 113, 0, 67, 126, 0, 116, 0, 130, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 0, - 0, 0, 0, 0, 0, 1094, 0, 127, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 24, 25, 26, - 27, 28, 29, 142, 0, 0, 0, 0, 0, 34, + 0, 0, 0, 0, 0, 0, 0, 127, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 24, 25, 26, + 27, 28, 29, 0, 530, 0, 0, 0, 0, 34, 35, 0, 0, 0, 0, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 100, 101, 102, - 103, 785, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 108, 128, 0, 0, 0, - 0, 110, 0, 0, 0, 0, 113, 0, 67, 126, - 0, 116, 0, 130, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 0, 0, - 0, 271, 272, 273, 274, 275, 127, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 0, 0, 535, 24, 25, 26, 27, - 28, 29, 0, 0, 0, 0, 0, 0, 34, 35, - 0, 0, 0, 0, 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 100, 101, 102, 103, + 0, 0, 0, 285, 0, 100, 101, 102, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 108, 128, 0, 0, 0, 0, - 110, 0, 0, 0, 0, 129, 0, 67, 126, 0, - 116, 0, 130, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 0, 0, 0, - 271, 272, 273, 274, 275, 127, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 553, 24, 25, 26, 27, 28, - 29, 0, 0, 67, 256, 0, 0, 34, 35, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 0, 0, 100, 101, 102, 103, 829, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 108, 128, 0, 0, 0, 0, 110, - 0, 0, 0, 0, 113, 0, 67, 256, 0, 116, - 0, 130, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 0, 0, 0, 0, - 0, 100, 101, 102, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 110, 0, 0, 0, 0, - 113, 0, 0, 261, 0, 116, 0, 262, 0, 0, - 0, 0, 271, 272, 273, 274, 275, 0, 276, 277, + 0, 0, 108, 128, 0, 0, 0, 110, 0, 0, + 0, 0, 129, 0, 67, 126, 0, 116, 0, 130, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 127, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 100, 101, 102, 103, 981, 0, + 0, 285, 24, 25, 26, 27, 28, 29, 0, 0, + 67, 256, 0, 0, 34, 35, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 100, 101, 102, 103, 746, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 108, 128, 0, + 0, 0, 110, 0, 0, 0, 0, 113, 0, 67, + 256, 0, 116, 0, 130, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 0, + 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 108, 109, 0, 0, 0, 0, 110, 0, + 0, 0, 0, 108, 109, 0, 0, 0, 110, 0, 0, 0, 0, 113, 0, 0, 453, 0, 116, 0, - 454, 67, 256, 0, 0, 0, 0, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 0, 0, 0, 0, 0, 0, 0, 67, 256, - 0, 0, 0, 0, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 0, 0, - 0, 271, 272, 273, 274, 275, 0, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 0, 0, 0, 0, 0, 0, 100, - 101, 102, 103, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 110, 0, 0, 0, 0, 113, 0, - 0, 625, 0, 116, 0, 626, 100, 101, 102, 103, + 454, 0, 0, 0, 0, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, + 0, 0, 0, 285, 748, 100, 101, 102, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 337, 338, 0, 0, 0, 0, - 110, 0, 0, 0, 0, 339, 0, 67, 68, 69, - 116, 70, 164, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 0, 95, 96, - 97, 98, 0, 0, 99, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 67, 126, 0, 0, 0, + 0, 0, 108, 109, 0, 0, 0, 110, 0, 0, + 0, 0, 113, 0, 0, 625, 0, 116, 0, 626, + 67, 291, 0, 0, 0, 0, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 0, 0, 0, 0, 0, 67, 256, 0, 0, 0, 0, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 0, 0, 0, 0, 0, - 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, - 105, 106, 107, 24, 25, 26, 27, 28, 29, 0, - 0, 0, 0, 108, 109, 34, 35, 0, 0, 110, - 111, 112, 0, 0, 113, 0, 114, 0, 115, 116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 101, 102, 103, 0, 0, 0, + 90, 91, 92, 93, 94, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, + 0, 0, 0, 285, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 108, 294, 0, 0, 0, 0, 110, 0, 0, - 0, 0, 113, 67, 256, 197, 0, 116, 0, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 0, 95, 96, 97, 98, 67, 256, - 99, 0, 0, 0, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 67, 291, - 0, 0, 0, 0, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 990, 0, + 0, 0, 0, 108, 109, 0, 0, 0, 110, 0, + 0, 0, 0, 113, 0, 0, 0, 0, 116, 0, + 292, 100, 101, 102, 103, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 337, 338, + 0, 0, 0, 110, 0, 0, 0, 0, 339, 0, + 67, 68, 69, 116, 70, 164, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 0, 95, 96, 97, 98, 0, 0, 99, 0, 0, + 0, 0, 0, 0, 0, 0, 67, 126, 0, 0, + 0, 0, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, + 104, 105, 106, 107, 24, 25, 26, 27, 28, 29, + 0, 0, 0, 108, 109, 0, 34, 35, 110, 111, + 112, 0, 0, 113, 0, 114, 0, 115, 116, 0, + 0, 0, 0, 0, 751, 0, 0, 0, 0, 0, + 0, 0, 100, 101, 102, 103, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, + 294, 0, 0, 0, 110, 0, 0, 0, 0, 113, + 67, 256, 197, 0, 116, 0, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 0, 95, 96, 97, 98, 67, 256, 99, 0, 0, + 0, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, + 0, 0, 0, 285, 0, 0, 0, 0, 785, 0, + 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, + 0, 0, 0, 0, 0, 0, 0, 829, 0, 0, + 0, 0, 0, 108, 109, 0, 0, 0, 110, 0, + 0, 0, 0, 113, 0, 0, 981, 0, 116, 0, 0, 100, 101, 102, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 991, 0, 0, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 110, 0, 0, 993, 0, - 113, 0, 0, 0, 0, 116, 100, 101, 102, 103, - 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 108, 109, 0, 0, 0, 0, - 110, 0, 0, 0, 0, 113, 100, 101, 102, 103, - 116, 299, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 108, 109, 530, 0, 0, 0, - 110, 0, 0, 0, 0, 113, 0, 0, 0, 0, - 116, 271, 272, 273, 274, 275, 0, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 271, 272, 273, 274, - 275, 285, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 271, 272, 273, 274, 275, 285, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 271, 272, 273, 274, - 275, 285, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 616, 0, 0, 0, 0, 285, 0, 0, 0, - 0, 0, 271, 272, 273, 274, 275, 0, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 271, 272, 273, - 274, 275, 285, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 631, 0, 0, 0, 0, 285, 0, 508, - 9, 10, 509, 510, 13, 511, 15, 796, 16, 0, - 18, 19, 0, 21, 22, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 271, 272, 273, 274, 275, 33, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 37, - 38, 39, 0, 0, 285, 0, 423, 0, 0, 0, - 0, 491, 271, 272, 273, 274, 275, 0, 276, 277, + 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, + 0, 0, 0, 110, 0, 0, 0, 0, 113, 67, + 291, 0, 0, 116, 0, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 990, 0, 0, 0, 285, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 991, 0, 0, 0, 285, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 993, 0, 0, 0, 285, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 100, 101, 102, 103, 0, + 1072, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 108, 109, 0, 0, 0, 110, 0, 0, + 0, 616, 113, 0, 0, 0, 0, 116, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 631, 0, 0, 0, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 0, 796, + 0, 0, 285, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 0, 0, 0, 0, 271, 272, - 273, 274, 275, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 271, 272, 273, 274, 275, 285, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 271, 272, - 273, 274, 275, 285, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -3, 1, 0, 0, -3, 285, 0, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 0, 0, -3, 941, 0, 942, + 0, 285, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, + 285, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 0, 0, 0, 0, 285, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 0, 0, 0, 0, 285, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, -3, 1, 0, 285, -3, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 941, 0, 942, -3, 0, 0, 0, 0, -3, -3, 0, -3, -3, -3, -3, -3, -3, -3, -3, 0, -3, -3, -3, -3, -3, -3, -3, 0, 0, 0, -3, -3, -3, -3, -3, -3, -3, - 0, -3, -3, -3, -3, 0, -3, -3, 0, 0, - 0, 0, 0, -3, -3, -3, -3, 0, 0, 0, - 0, -3, 0, -3, 0, -3, -3, -3, -3, -3, - -3, -3, -3, -3, 508, 9, 10, 509, 510, 13, - 511, 15, 0, 16, 0, 18, 19, 0, 21, 22, - 0, 508, 9, 10, 509, 510, 13, 511, 15, 0, - 16, 0, 18, 19, 33, 21, 22, 0, 0, 0, - 0, 0, 0, 0, 37, 38, 39, 0, 0, 0, - 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 37, 38, 39, 508, 9, 10, 509, 510, 13, - 511, 15, 0, 16, 0, 18, 19, 0, 21, 22, - 0, 508, 9, 10, 509, 510, 13, 511, 15, 0, - 16, 0, 18, 19, 33, 21, 22, 0, 0, 0, - 0, 512, 0, 0, 37, 38, 39, 0, 0, 0, - 0, 33, 0, 0, 0, 0, 0, 0, 518, 0, - 0, 37, 38, 39, 508, 9, 10, 509, 510, 13, - 511, 15, 0, 16, 0, 18, 19, 0, 21, 22, - 0, 508, 9, 10, 509, 510, 13, 511, 15, 0, - 16, 0, 18, 19, 33, 21, 22, 0, 0, 0, - 0, 532, 0, 0, 37, 38, 39, 0, 0, 0, - 0, 33, 0, 0, 0, 0, 0, 0, 533, 0, - 0, 37, 38, 39, 508, 9, 10, 509, 510, 13, - 511, 15, 0, 16, 0, 18, 19, 0, 21, 22, - 0, 508, 9, 10, 509, 510, 13, 511, 15, 0, - 16, 0, 18, 19, 33, 21, 22, 0, 4, 0, - 0, 667, 0, 0, 37, 38, 39, 0, 0, 0, - 0, 33, 0, 0, 0, 0, 0, 0, 687, 0, - 0, 37, 38, 39, 0, 0, 0, 5, 0, 0, - 0, 0, 6, 7, 0, 8, 9, 10, 11, 12, - 13, 14, 15, 0, 16, 17, 18, 19, 20, 21, - 22, 0, 0, 0, 23, 24, 25, 26, 27, 28, - 29, 1065, 30, 31, 32, 33, 0, 34, 35, 0, - 0, 0, 0, 0, 36, 37, 38, 39, 1110, 0, - 0, 0, 40, 0, 41, 0, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 0, - 0, 0, 964, 0, 965, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 0, - 0, 0, 1027, 0, 1028, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 271, - 272, 273, 274, 275, 624, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 0, 0, 271, 272, 273, 274, 275, 645, 276, + 0, -3, -3, -3, -3, 4, -3, -3, 0, 0, + 0, 0, 0, -3, -3, -3, -3, 0, 0, -3, + 0, -3, 0, -3, -3, -3, -3, -3, -3, -3, + -3, -3, 0, 0, 5, 0, 0, 0, 0, 6, + 7, 0, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 16, 17, 18, 19, 20, 21, 22, 0, 0, + 0, 23, 24, 25, 26, 27, 28, 29, 0, 30, + 31, 32, 33, 0, 34, 35, 0, 0, 0, 0, + 0, 36, 37, 38, 39, 0, 0, 40, 0, 41, + 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 508, 9, 10, 509, 510, 13, 511, 15, 0, 16, + 0, 18, 19, 0, 21, 22, 0, 508, 9, 10, + 509, 510, 13, 511, 15, 0, 16, 0, 18, 19, + 33, 21, 22, 0, 0, 0, 0, 0, 0, 0, + 37, 38, 39, 0, 0, 0, 0, 33, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 37, 38, 39, + 508, 9, 10, 509, 510, 13, 511, 15, 0, 16, + 0, 18, 19, 0, 21, 22, 0, 508, 9, 10, + 509, 510, 13, 511, 15, 0, 16, 0, 18, 19, + 33, 21, 22, 512, 0, 0, 0, 0, 0, 0, + 37, 38, 39, 0, 0, 0, 0, 33, 0, 0, + 518, 0, 0, 0, 0, 0, 0, 37, 38, 39, + 508, 9, 10, 509, 510, 13, 511, 15, 0, 16, + 0, 18, 19, 0, 21, 22, 0, 508, 9, 10, + 509, 510, 13, 511, 15, 0, 16, 0, 18, 19, + 33, 21, 22, 532, 0, 0, 0, 0, 0, 0, + 37, 38, 39, 0, 0, 0, 0, 33, 0, 0, + 533, 0, 0, 0, 0, 0, 0, 37, 38, 39, + 508, 9, 10, 509, 510, 13, 511, 15, 0, 16, + 0, 18, 19, 0, 21, 22, 0, 508, 9, 10, + 509, 510, 13, 511, 15, 0, 16, 0, 18, 19, + 33, 21, 22, 667, 0, 0, 0, 0, 0, 0, + 37, 38, 39, 0, 0, 0, 0, 33, 0, 0, + 687, 0, 0, 0, 0, 0, 0, 37, 38, 39, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 964, 0, 965, 0, 0, + 0, 0, 0, 1065, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 0, 0, 271, 272, 273, - 274, 275, 649, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 0, - 0, 271, 272, 273, 274, 275, 650, 276, 277, 278, + 1110, 0, 285, 0, 0, 0, 0, 0, 0, 1027, + 0, 1028, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 0, 0, 271, 272, 273, 274, 275, - 694, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 271, - 272, 273, 274, 275, 769, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 0, 0, 271, 272, 273, 274, 275, 939, 276, + 285, 0, 0, 0, 0, 0, 0, 0, 0, 645, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 0, 0, 649, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 0, 0, 650, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, + 0, 0, 0, 694, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 0, 0, 271, 272, 273, - 274, 275, 953, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 0, - 0, 271, 272, 273, 274, 275, 1039, 276, 277, 278, + 0, 0, 285, 0, 0, 0, 0, 0, 0, 0, + 0, 769, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 0, 0, 271, 272, 273, 274, 275, - 1045, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 271, - 272, 273, 274, 275, 1046, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 0, 0, 271, 272, 273, 274, 275, 1056, 276, + 285, 0, 0, 0, 0, 0, 0, 0, 0, 939, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 0, 0, 953, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 0, 0, 1039, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, + 0, 0, 0, 1045, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 0, 0, 271, 272, 273, - 274, 275, 1059, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 0, - 0, 271, 272, 273, 274, 275, 1062, 276, 277, 278, + 0, 0, 285, 0, 0, 0, 0, 0, 0, 0, + 0, 1046, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 0, 0, 271, 272, 273, 274, 275, - 1070, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 271, - 272, 273, 274, 275, 1071, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 0, 0, 271, 272, 273, 274, 275, 1079, 276, + 285, 0, 0, 0, 0, 0, 0, 0, 0, 1056, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 0, 0, 1059, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 0, 0, 1062, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, + 0, 0, 0, 1070, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 0, 0, 271, 272, 273, - 274, 275, 1104, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 0, - 0, 271, 272, 273, 274, 275, 1106, 276, 277, 278, + 0, 0, 285, 0, 0, 0, 0, 0, 0, 0, + 0, 1071, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 0, 0, 271, 272, 273, 274, 275, - 1108, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 271, - 272, 273, 274, 275, 1116, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 271, 272, 273, 274, 275, 452, 276, 277, 278, + 285, 0, 0, 0, 0, 0, 0, 0, 0, 1079, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 0, 0, 1104, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 0, 0, 1106, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, + 0, 0, 0, 1108, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, + 0, 0, 285, 0, 0, 0, 0, 0, 0, 0, + 0, 1116, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 271, 272, 273, 274, 275, 491, 276, + 285, 0, 423, 0, 0, 0, 0, 491, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 452, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 271, 272, 273, 274, 275, - 492, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 271, 272, 273, - 274, 275, 527, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 271, - 272, 273, 274, 275, 574, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 271, 272, 273, 274, 275, 575, 276, 277, 278, + 0, 0, 285, 0, 0, 0, 0, 0, 0, 491, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 492, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, + 0, 527, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 271, 272, 273, 274, 275, 588, 276, + 285, 0, 0, 0, 0, 0, 0, 574, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 575, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 271, 272, 273, 274, 275, - 589, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 271, 272, 273, - 274, 275, 590, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 271, - 272, 273, 274, 275, 591, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 271, 272, 273, 274, 275, 592, 276, 277, 278, + 0, 0, 285, 0, 0, 0, 0, 0, 0, 588, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 589, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, + 0, 590, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 271, 272, 273, 274, 275, 593, 276, + 285, 0, 0, 0, 0, 0, 0, 591, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 592, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 271, 272, 273, 274, 275, - 663, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 271, 272, 273, - 274, 275, 664, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 271, - 272, 273, 274, 275, 665, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 271, 272, 273, 274, 275, 735, 276, 277, 278, + 0, 0, 285, 0, 0, 0, 0, 0, 0, 593, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 663, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, + 0, 664, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 271, 272, 273, 274, 275, 767, 276, + 285, 0, 0, 0, 0, 0, 0, 665, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 735, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 271, 272, 273, 274, 275, - 768, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 271, 272, 273, - 274, 275, 795, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 271, - 272, 273, 274, 275, 887, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 271, 272, 273, 274, 275, 888, 276, 277, 278, + 0, 0, 285, 0, 0, 0, 0, 0, 0, 767, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 768, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, + 0, 795, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 271, 272, 273, 274, 275, 899, 276, + 285, 0, 0, 0, 0, 0, 0, 887, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 888, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 271, 272, 273, 274, 275, - 900, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 271, 272, 273, - 274, 275, 917, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 271, - 272, 273, 274, 275, 923, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 271, 272, 273, 274, 275, 1008, 276, 277, 278, + 0, 0, 285, 0, 0, 0, 0, 0, 0, 899, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 900, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, + 0, 917, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 271, 272, 273, 274, 275, 1009, 276, + 285, 0, 0, 0, 0, 0, 0, 923, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 1008, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 271, 272, 273, 274, 275, - 1015, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 271, 272, 273, - 274, 275, 1016, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 271, - 272, 273, 274, 275, 1024, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 271, 272, 273, 274, 275, 1025, 276, 277, 278, + 0, 0, 285, 0, 0, 0, 0, 0, 0, 1009, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 1015, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, + 0, 1016, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 271, 272, 273, 274, 275, 1075, 276, + 285, 0, 0, 0, 0, 0, 0, 1024, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 0, 0, 0, 1025, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 271, 272, 273, 274, 275, - 1077, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 555, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 557, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 559, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 561, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 563, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 565, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 567, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 569, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 571, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 573, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 577, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 579, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 581, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 583, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 585, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 587, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 623, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 669, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 677, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 680, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 681, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 690, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 811, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 813, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 815, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 817, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 0, 818, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 0, 914, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 423, 271, 272, - 273, 274, 275, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 0, - 459, 271, 272, 273, 274, 275, 0, 276, 277, 278, + 0, 0, 285, 0, 0, 0, 0, 0, 0, 1075, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 0, 0, 0, 1077, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 427, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 0, 0, 0, 0, 285, 0, 0, + 0, 535, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 464, 271, 272, 273, 274, 275, 0, + 285, 0, 0, 0, 553, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 465, 271, 272, 273, - 274, 275, 0, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 467, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 472, 271, 272, 273, 274, 275, 0, 276, + 0, 0, 0, 285, 0, 0, 0, 555, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 557, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 0, 0, 0, 0, 285, + 0, 0, 0, 559, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 473, 271, 272, 273, 274, - 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 475, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 523, 271, 272, 273, 274, 275, 0, 276, 277, + 0, 0, 285, 0, 0, 0, 561, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 0, 0, 0, 0, 285, 0, 0, 0, 563, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 565, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 524, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 525, 271, 272, - 273, 274, 275, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 0, - 531, 271, 272, 273, 274, 275, 0, 276, 277, 278, + 0, 285, 0, 0, 0, 567, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 569, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 0, 0, 0, 0, 285, 0, 0, + 0, 571, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 552, 271, 272, 273, 274, 275, 0, + 285, 0, 0, 0, 573, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 554, 271, 272, 273, - 274, 275, 0, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 556, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 558, 271, 272, 273, 274, 275, 0, 276, + 0, 0, 0, 285, 0, 0, 0, 577, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 579, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 0, 0, 0, 0, 285, + 0, 0, 0, 581, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 560, 271, 272, 273, 274, - 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 562, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 564, 271, 272, 273, 274, 275, 0, 276, 277, + 0, 0, 285, 0, 0, 0, 583, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 0, 0, 0, 0, 285, 0, 0, 0, 585, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 587, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 566, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 568, 271, 272, - 273, 274, 275, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 0, - 570, 271, 272, 273, 274, 275, 0, 276, 277, 278, + 0, 285, 0, 0, 0, 623, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 669, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 0, 0, 0, 0, 285, 0, 0, + 0, 677, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 572, 271, 272, 273, 274, 275, 0, + 285, 0, 0, 0, 680, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 576, 271, 272, 273, - 274, 275, 0, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 578, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 580, 271, 272, 273, 274, 275, 0, 276, + 0, 0, 0, 285, 0, 0, 0, 681, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 0, 0, + 690, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 0, 0, 0, 0, 285, + 0, 0, 0, 811, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 582, 271, 272, 273, 274, - 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 584, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 586, 271, 272, 273, 274, 275, 0, 276, 277, + 0, 0, 285, 0, 0, 0, 813, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 0, 0, 0, 0, 285, 0, 0, 0, 815, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 0, 0, 817, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, + 0, 285, 0, 0, 0, 818, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 0, 0, 914, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 0, 0, 0, 0, 285, 0, 423, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 459, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 0, 0, 0, 0, 285, + 0, 464, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, + 285, 0, 465, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 635, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 639, 271, 272, - 273, 274, 275, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 0, - 646, 271, 272, 273, 274, 275, 0, 276, 277, 278, + 0, 285, 0, 467, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, + 0, 0, 285, 0, 472, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, + 0, 0, 0, 285, 0, 473, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 475, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 0, 0, 0, 0, 285, 0, 523, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 524, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 0, 0, 0, 0, 285, 0, 525, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 531, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 0, 0, 0, 0, 285, + 0, 552, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 647, 271, 272, 273, 274, 275, 0, + 285, 0, 554, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, + 0, 285, 0, 556, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, + 0, 0, 285, 0, 558, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 651, 271, 272, 273, - 274, 275, 0, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 810, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 812, 271, 272, 273, 274, 275, 0, 276, + 0, 0, 0, 285, 0, 560, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 562, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 0, 0, 0, 0, 285, 0, 564, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 566, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 0, 0, 0, 0, 285, 0, 568, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 570, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 0, 0, 0, 0, 285, + 0, 572, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, + 285, 0, 576, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, + 0, 285, 0, 578, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 814, 271, 272, 273, 274, - 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 816, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 822, 271, 272, 273, 274, 275, 0, 276, 277, + 0, 0, 285, 0, 580, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, + 0, 0, 0, 285, 0, 582, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 584, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 0, 0, 0, 0, 285, 0, 586, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 635, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 0, 0, 0, 0, 285, 0, 639, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 646, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 0, 0, 0, 0, 285, + 0, 647, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, + 285, 0, 651, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 881, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 883, 271, 272, - 273, 274, 275, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 0, - 905, 271, 272, 273, 274, 275, 0, 276, 277, 278, + 0, 285, 0, 810, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, + 0, 0, 285, 0, 812, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, + 0, 0, 0, 285, 0, 814, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 0, 0, 0, 0, 285, 0, 816, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 0, 0, 0, 0, 285, 0, 822, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 0, 0, 0, 0, 285, 0, 881, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 0, 0, 0, 0, 285, 0, 883, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 0, 0, 0, 0, 285, 0, + 905, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 0, 0, 0, 0, 285, + 0, 940, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 940, 271, 272, 273, 274, 275, 0, + 285, 0, 968, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, + 0, 285, 0, 1074, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, + 0, 0, 285, 0, 1115, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 968, 271, 272, 273, - 274, 275, 0, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 1074, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 1115 + 0, 0, 0, 285 }; static const short yycheck[] = { 4, 2, 332, 613, 4, 264, 999, 4, 1001, 2, 1003, - 6, 175, 4, 6, 178, 4, 4, 130, 262, 67, - 4, 4, 7, 130, 4, 6, 5, 68, 6, 6, - 6, 72, 6, 4, 198, 4, 200, 6, 25, 26, - 67, 28, 4, 4, 49, 50, 4, 6, 292, 68, - 4, 6, 130, 72, 132, 34, 35, 36, 37, 68, - 130, 40, 130, 72, 5, 131, 41, 137, 6, 44, - 136, 5, 1066, 119, 120, 52, 52, 75, 76, 77, - 78, 79, 130, 75, 76, 77, 78, 79, 130, 137, - 136, 776, 138, 34, 35, 36, 37, 138, 130, 40, - 34, 35, 36, 37, 68, 137, 40, 131, 72, 1103, - 137, 1105, 136, 1107, 130, 726, 131, 1111, 7, 138, - 105, 136, 130, 119, 120, 126, 127, 88, 89, 138, - 49, 132, 131, 134, 88, 89, 117, 136, 139, 117, - 138, 1135, 7, 1137, 137, 1139, 138, 45, 137, 137, - 108, 109, 110, 137, 137, 113, 114, 137, 137, 117, - 119, 120, 130, 132, 119, 120, 124, 427, 130, 45, - 128, 129, 130, 160, 138, 162, 45, 341, 131, 137, - 138, 168, 140, 136, 68, 172, 144, 145, 72, 147, - 119, 120, 126, 127, 262, 359, 137, 119, 120, 47, - 134, 130, 130, 126, 127, 163, 164, 451, 137, 45, - 454, 134, 6, 7, 172, 137, 105, 106, 107, 108, - 207, 832, 119, 120, 292, 137, 68, 185, 186, 187, - 72, 189, 119, 120, 192, 193, 137, 126, 127, 136, - 105, 106, 107, 108, 6, 203, 251, 252, 253, 254, - 137, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 6, 175, 4, 4, 178, 4, 6, 45, 262, 4, + 4, 127, 5, 4, 4, 4, 132, 127, 6, 5, + 7, 67, 132, 4, 198, 67, 200, 4, 25, 26, + 4, 28, 6, 6, 49, 50, 4, 6, 292, 126, + 6, 34, 35, 36, 37, 6, 133, 40, 34, 35, + 36, 37, 130, 5, 40, 68, 127, 122, 123, 72, + 126, 132, 1066, 6, 52, 130, 6, 75, 76, 77, + 78, 79, 6, 75, 76, 77, 78, 79, 126, 52, + 126, 776, 34, 35, 36, 37, 126, 133, 40, 68, + 7, 133, 126, 72, 7, 86, 87, 126, 68, 1103, + 126, 1105, 72, 1107, 133, 726, 126, 1111, 127, 86, + 87, 122, 123, 132, 114, 45, 103, 128, 127, 130, + 45, 134, 47, 132, 135, 126, 134, 133, 49, 122, + 123, 1135, 134, 1137, 133, 1139, 45, 130, 133, 133, + 108, 109, 110, 133, 133, 113, 114, 133, 68, 117, + 116, 117, 72, 114, 128, 134, 124, 427, 6, 7, + 128, 129, 130, 160, 134, 162, 126, 341, 128, 137, + 138, 168, 140, 116, 117, 172, 144, 145, 126, 147, + 128, 133, 116, 117, 262, 359, 103, 104, 105, 106, + 103, 104, 105, 106, 47, 163, 164, 451, 116, 117, + 454, 320, 321, 322, 172, 122, 123, 126, 126, 128, + 207, 832, 126, 130, 292, 133, 45, 185, 186, 187, + 41, 189, 68, 44, 192, 193, 72, 68, 122, 123, + 68, 72, 58, 59, 72, 203, 251, 252, 253, 254, + 133, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 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, 264, 119, 120, 138, 7, 121, 122, - 123, 4, 7, 68, 262, 68, 129, 72, 4, 72, - 119, 120, 137, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 137, 331, - 332, 289, 290, 130, 292, 132, 294, 331, 332, 126, - 127, 299, 329, 330, 4, 303, 1031, 130, 306, 1034, - 130, 338, 1037, 597, 312, 313, 314, 130, 316, 317, - 318, 319, 320, 321, 322, 8, 41, 6, 68, 44, - 45, 982, 72, 138, 130, 138, 334, 335, 336, 337, - 338, 339, 626, 451, 342, 130, 454, 68, 130, 347, - 132, 72, 460, 351, 352, 105, 106, 107, 108, 370, - 105, 106, 107, 108, 130, 8, 132, 1092, 11, 12, - 368, 68, 4, 371, 68, 72, 126, 127, 72, 5, - 4, 126, 127, 428, 134, 58, 59, 671, 68, 673, - 674, 675, 72, 1118, 6, 7, 1121, 41, 138, 1124, - 44, 45, 1127, 47, 119, 120, 130, 130, 34, 35, - 36, 37, 130, 130, 40, 130, 427, 138, 718, 719, - 4, 1146, 137, 1148, 422, 1150, 109, 110, 111, 112, - 113, 429, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 138, 6, 6, 138, 6, 129, 119, 120, 5, - 119, 120, 137, 451, 452, 138, 454, 91, 138, 457, - 119, 120, 460, 490, 136, 463, 138, 136, 4, 5, - 468, 469, 130, 471, 119, 120, 474, 136, 505, 138, - 91, 479, 119, 120, 121, 122, 123, 91, 130, 597, - 535, 136, 129, 491, 492, 130, 57, 868, 34, 35, - 36, 37, 500, 146, 40, 119, 120, 137, 151, 119, - 120, 119, 120, 119, 120, 130, 137, 515, 626, 119, - 120, 130, 136, 132, 535, 130, 136, 132, 136, 527, - 136, 529, 530, 176, 126, 127, 136, 180, 181, 130, - 132, 132, 134, 44, 45, 130, 47, 139, 109, 110, - 111, 112, 113, 598, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 671, 137, 673, 674, 675, 129, 119, - 120, 119, 120, 130, 619, 132, 574, 575, 320, 321, - 322, 8, 136, 130, 138, 132, 136, 130, 136, 132, - 588, 589, 590, 591, 592, 593, 594, 119, 120, 597, - 130, 628, 132, 601, 119, 120, 130, 130, 606, 126, - 127, 8, 623, 4, 136, 132, 130, 134, 616, 126, - 127, 136, 139, 132, 995, 132, 130, 134, 626, 45, - 6, 47, 139, 631, 137, 137, 663, 664, 665, 137, - 3, 4, 130, 130, 132, 132, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 132, 132, 670, 671, 672, 673, 674, 675, 134, 137, - 678, 679, 109, 110, 111, 112, 113, 91, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 6, 132, 697, - 698, 6, 129, 701, 130, 130, 132, 132, 719, 6, - 4, 138, 109, 110, 111, 112, 113, 137, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 5, 130, 727, - 132, 130, 129, 132, 131, 129, 134, 735, 101, 102, - 103, 104, 130, 130, 132, 132, 773, 61, 62, 63, - 64, 130, 66, 132, 752, 7, 119, 120, 132, 73, - 74, 130, 125, 132, 132, 45, 134, 130, 766, 767, - 768, 136, 135, 138, 137, 773, 136, 47, 138, 824, - 7, 424, 425, 136, 136, 138, 138, 7, 136, 800, - 138, 836, 136, 136, 138, 138, 131, 795, 796, 797, - 1004, 6, 136, 6, 138, 803, 136, 136, 138, 138, - 808, 4, 136, 6, 138, 842, 136, 844, 138, 864, - 136, 7, 138, 6, 88, 7, 868, 825, 136, 136, - 138, 138, 136, 136, 868, 138, 137, 136, 131, 131, - 6, 4, 869, 133, 871, 7, 873, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 854, 855, 7, 7, - 7, 129, 7, 1067, 7, 7, 864, 111, 112, 113, - 131, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 878, 131, 131, 131, 138, 129, 137, 134, 7, 887, - 888, 7, 138, 7, 137, 134, 130, 130, 130, 137, - 6, 899, 900, 4, 109, 110, 111, 112, 113, 6, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 917, - 6, 133, 6, 6, 129, 923, 109, 110, 111, 112, - 113, 7, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 6, 132, 941, 6, 117, 129, 7, 7, 137, - 7, 7, 7, 995, 7, 7, 954, 7, 7, 7, - 7, 995, 7, 4, 6, 130, 964, 6, 966, 6, - 6, 998, 970, 1000, 4, 1002, 137, 975, 6, 6, - 4, 6, 134, 133, 7, 131, 6, 131, 6, 6, - 633, 634, 6, 636, 6, 6, 137, 137, 641, 642, - 998, 6, 1000, 6, 1002, 87, 134, 6, 4, 6, - 1008, 1009, 1010, 133, 6, 6, 6, 1015, 1016, 6, + 248, 249, 250, 264, 116, 117, 6, 7, 134, 7, + 126, 133, 128, 134, 262, 7, 134, 68, 4, 6, + 132, 72, 134, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 126, 331, + 332, 289, 290, 126, 292, 128, 294, 331, 332, 4, + 68, 299, 329, 330, 72, 303, 1031, 4, 306, 1034, + 126, 338, 1037, 597, 312, 313, 314, 126, 316, 317, + 318, 319, 320, 321, 322, 41, 126, 4, 44, 45, + 126, 982, 128, 134, 8, 4, 334, 335, 336, 337, + 338, 339, 626, 451, 342, 6, 454, 68, 126, 347, + 128, 72, 460, 351, 352, 103, 104, 105, 106, 370, + 126, 103, 104, 105, 106, 8, 134, 1092, 11, 12, + 368, 126, 126, 371, 122, 123, 116, 117, 116, 117, + 122, 123, 68, 428, 68, 126, 72, 671, 72, 673, + 674, 675, 132, 1118, 134, 133, 1121, 5, 126, 1124, + 116, 117, 1127, 68, 116, 117, 4, 72, 44, 45, + 126, 47, 6, 134, 116, 117, 427, 133, 718, 719, + 132, 1146, 134, 1148, 422, 1150, 34, 35, 36, 37, + 132, 429, 40, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 126, 134, 128, + 134, 125, 6, 451, 452, 126, 454, 128, 5, 457, + 134, 133, 460, 490, 89, 463, 116, 117, 126, 134, + 468, 469, 89, 471, 4, 5, 474, 126, 505, 116, + 117, 479, 133, 133, 116, 117, 126, 89, 128, 597, + 535, 126, 126, 491, 492, 133, 133, 868, 116, 117, + 133, 133, 500, 146, 34, 35, 36, 37, 151, 4, + 40, 116, 117, 126, 132, 122, 123, 515, 626, 116, + 117, 128, 126, 130, 535, 126, 126, 132, 135, 527, + 126, 529, 530, 176, 126, 132, 128, 180, 181, 128, + 41, 42, 43, 44, 45, 46, 47, 48, 126, 50, + 128, 52, 53, 598, 55, 56, 116, 117, 41, 116, + 117, 44, 45, 671, 47, 673, 674, 675, 133, 133, + 71, 126, 132, 128, 619, 132, 574, 575, 128, 128, + 81, 82, 83, 126, 8, 128, 6, 133, 116, 117, + 588, 589, 590, 591, 592, 593, 594, 116, 117, 597, + 126, 628, 128, 601, 132, 116, 117, 130, 606, 116, + 117, 133, 623, 132, 116, 117, 116, 117, 616, 89, + 126, 132, 128, 6, 995, 132, 6, 126, 626, 128, + 132, 128, 132, 631, 3, 4, 663, 664, 665, 6, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 4, 133, 61, 62, 63, 64, + 5, 66, 670, 671, 672, 673, 674, 675, 73, 74, + 678, 679, 125, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 130, 7, 697, + 698, 125, 128, 701, 126, 126, 128, 128, 719, 45, + 134, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 126, 126, 128, 128, 125, 47, 727, + 99, 100, 101, 102, 118, 119, 120, 735, 132, 7, + 134, 125, 7, 122, 123, 127, 773, 116, 117, 128, + 6, 130, 121, 128, 752, 130, 135, 126, 7, 132, + 129, 134, 131, 7, 133, 122, 123, 133, 766, 767, + 768, 128, 132, 130, 134, 773, 86, 132, 135, 824, + 127, 424, 425, 116, 117, 118, 119, 120, 132, 800, + 134, 836, 125, 132, 132, 134, 134, 795, 796, 797, + 1004, 132, 6, 134, 132, 803, 134, 132, 132, 134, + 808, 132, 132, 134, 134, 842, 4, 844, 6, 864, + 132, 132, 134, 134, 6, 4, 868, 825, 8, 132, + 132, 134, 134, 132, 868, 134, 132, 127, 134, 7, + 129, 7, 869, 7, 871, 7, 873, 7, 7, 7, + 127, 127, 127, 57, 127, 134, 854, 855, 130, 7, + 134, 7, 133, 1067, 133, 7, 864, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 130, 126, + 878, 126, 125, 133, 126, 6, 4, 6, 129, 887, + 888, 6, 6, 6, 128, 7, 6, 114, 7, 7, + 133, 899, 900, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 7, 7, 917, + 7, 125, 7, 7, 7, 923, 7, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 7, 7, 941, 7, 125, 4, 127, 126, 6, + 6, 6, 6, 995, 4, 6, 954, 4, 6, 133, + 127, 995, 127, 7, 6, 6, 964, 130, 966, 6, + 6, 998, 970, 1000, 129, 1002, 133, 975, 6, 133, + 6, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 633, 634, 6, 636, 125, 6, 6, 85, 641, 642, + 998, 130, 1000, 6, 1002, 4, 6, 129, 6, 6, + 1008, 1009, 1010, 6, 6, 6, 6, 1015, 1016, 6, 6, 6, 6, 6, 6, 6, 1024, 6, 6, 1027, - 6, 6, 6, 6, 6, 6, 4, 137, 7, 682, - 683, 684, 6, 6, 109, 110, 111, 112, 113, 1047, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 1057, - 6, 134, 1060, 6, 129, 1063, 6, 6, 137, 1114, - 138, 137, 6, 137, 137, 84, 137, 1075, 136, 1077, - 6, 109, 110, 111, 112, 113, 6, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 1141, 6, 1143, 131, - 743, 129, 137, 6, 747, 5, 5, 138, 137, 89, - 753, 754, 755, 6, 1159, 758, 759, 760, 761, 762, - 763, 764, 6, 136, 3, 4, 6, 137, 6, 6, + 6, 6, 6, 133, 4, 6, 130, 6, 6, 682, + 683, 684, 7, 6, 6, 6, 84, 133, 6, 1047, + 6, 127, 134, 133, 133, 133, 133, 132, 87, 1057, + 6, 133, 1060, 6, 5, 1063, 134, 6, 132, 1114, + 6, 133, 6, 6, 6, 6, 6, 1075, 6, 1077, + 6, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 6, 1141, 6, 1143, 125, + 743, 5, 133, 133, 747, 6, 133, 6, 132, 134, + 753, 754, 755, 133, 1159, 758, 759, 760, 761, 762, + 763, 764, 6, 3, 4, 6, 133, 6, 6, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 5, 134, 6, 133, 6, 6, 6, + 133, 41, 6, 6, 6, 6, 133, 6, 0, 0, + 538, 734, 1047, 2, 2, 974, 828, -1, -1, -1, + 823, 61, 62, 63, 64, 65, 66, -1, -1, -1, + -1, -1, -1, 73, 74, -1, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, -1, 99, + 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, + 6, -1, -1, -1, -1, 878, 116, 117, -1, -1, + -1, 121, -1, -1, -1, -1, 126, -1, 891, -1, + -1, 131, -1, -1, 134, -1, -1, -1, 901, 3, + 4, -1, 905, -1, -1, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, + -1, -1, -1, -1, -1, -1, -1, 41, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, 61, 62, 63, + 64, 65, 66, 67, -1, 134, -1, -1, -1, 73, + 74, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, -1, -1, -1, 125, + -1, -1, -1, -1, -1, 99, 100, 101, 102, 6, + -1, -1, -1, -1, 1007, -1, -1, -1, -1, -1, + -1, -1, 116, 117, -1, -1, -1, 121, -1, -1, + -1, -1, 126, -1, 3, 4, -1, 131, -1, 133, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, + -1, -1, 41, -1, -1, 1068, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 61, 62, 63, 64, 65, 66, 67, 8, + -1, -1, -1, -1, 73, 74, -1, -1, -1, -1, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + 99, 100, 101, 102, 6, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 116, 117, -1, + -1, -1, 121, -1, -1, -1, -1, 126, -1, 3, + 4, -1, 131, -1, 133, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, + -1, -1, -1, -1, -1, -1, -1, 41, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, 61, 62, 63, + 64, 65, 66, -1, 8, -1, -1, -1, -1, 73, + 74, -1, -1, -1, -1, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125, -1, 99, 100, 101, 102, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 116, 117, -1, -1, -1, 121, -1, -1, + -1, -1, 126, -1, 3, 4, -1, 131, -1, 133, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 6, 6, 6, 109, 110, 111, - 112, 113, 41, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 6, 6, 6, 137, 137, 129, 138, 137, - 823, 133, 61, 62, 63, 64, 65, 66, 136, 6, - 6, 6, 6, 6, 73, 74, 6, 5, 0, 137, - 109, 110, 111, 112, 113, 137, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 137, 137, 6, 6, 138, - 129, 6, 101, 102, 103, 104, 6, 6, 6, 6, - 6, 6, 6, 0, 734, 878, 538, 1047, 2, 2, - 119, 120, 974, -1, -1, 828, 125, -1, 891, -1, - -1, 130, -1, -1, -1, -1, 135, -1, 901, 138, - 3, 4, 905, -1, -1, -1, 9, 10, 11, 12, + 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, + -1, -1, 41, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, -1, -1, + -1, 125, 61, 62, 63, 64, 65, 66, -1, -1, + 3, 4, -1, -1, 73, 74, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - -1, -1, -1, 109, 110, 111, 112, 113, 41, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, -1, -1, -1, 61, 62, - 63, 64, 65, 66, 67, -1, -1, -1, -1, -1, - 73, 74, 109, 110, 111, 112, 113, -1, 115, 116, - 117, 118, 119, 120, 121, 122, 123, -1, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, 101, 102, - 103, 104, 6, -1, 1007, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 119, 120, -1, -1, - -1, -1, 125, -1, -1, -1, -1, 130, -1, 3, - 4, -1, 135, -1, 137, 9, 10, 11, 12, 13, + 99, 100, 101, 102, 6, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 116, 117, -1, + -1, -1, 121, -1, -1, -1, -1, 126, -1, 3, + 4, -1, 131, -1, 133, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, - -1, -1, -1, -1, -1, 1068, -1, 41, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 61, 62, 63, - 64, 65, 66, 67, -1, -1, -1, -1, -1, 73, - 74, -1, -1, -1, -1, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 101, 102, 103, - 104, 6, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 119, 120, -1, -1, -1, - -1, 125, -1, -1, -1, -1, 130, -1, 3, 4, - -1, 135, -1, 137, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, - -1, 109, 110, 111, 112, 113, 41, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, -1, -1, 133, 61, 62, 63, 64, - 65, 66, -1, -1, -1, -1, -1, -1, 73, 74, - -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, - 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, - -1, -1, -1, -1, 129, -1, 101, 102, 103, 104, + -1, -1, -1, -1, -1, -1, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 119, 120, -1, -1, -1, -1, - 125, -1, -1, -1, -1, 130, -1, 3, 4, -1, - 135, -1, 137, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, -1, -1, -1, - 109, 110, 111, 112, 113, 41, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 61, 62, 63, 64, 65, - 66, -1, -1, 3, 4, -1, -1, 73, 74, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, -1, 101, 102, 103, 104, 6, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 119, 120, -1, -1, -1, -1, 125, - -1, -1, -1, -1, 130, -1, 3, 4, -1, 135, - -1, 137, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, -1, -1, -1, -1, - -1, 101, 102, 103, 104, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 119, - 120, -1, -1, -1, -1, 125, -1, -1, -1, -1, - 130, -1, -1, 133, -1, 135, -1, 137, -1, -1, - -1, -1, 109, 110, 111, 112, 113, -1, 115, 116, - 117, 118, 119, 120, 121, 122, 123, -1, -1, -1, - -1, -1, 129, -1, 101, 102, 103, 104, 6, -1, + -1, -1, -1, 116, 117, -1, -1, -1, 121, -1, + -1, -1, -1, 126, -1, -1, 129, -1, 131, -1, + 133, -1, -1, -1, -1, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125, 6, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 119, 120, -1, -1, -1, -1, 125, -1, - -1, -1, -1, 130, -1, -1, 133, -1, 135, -1, - 137, 3, 4, -1, -1, -1, -1, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, -1, -1, -1, -1, -1, 3, 4, - -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, - -1, 109, 110, 111, 112, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, -1, -1, -1, -1, -1, -1, 101, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, - -1, -1, -1, 125, -1, -1, -1, -1, 130, -1, - -1, 133, -1, 135, -1, 137, 101, 102, 103, 104, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 119, 120, -1, -1, -1, -1, - 125, -1, -1, -1, -1, 130, -1, 3, 4, 5, - 135, 7, 137, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, -1, 34, 35, - 36, 37, -1, -1, 40, -1, -1, -1, -1, -1, + -1, -1, 116, 117, -1, -1, -1, 121, -1, -1, + -1, -1, 126, -1, -1, 129, -1, 131, -1, 133, + 3, 4, -1, -1, -1, -1, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, -1, -1, -1, 3, 4, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, -1, -1, -1, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 101, 102, 103, 104, 105, - 106, 107, 108, 61, 62, 63, 64, 65, 66, -1, - -1, -1, -1, 119, 120, 73, 74, -1, -1, 125, - 126, 127, -1, -1, 130, -1, 132, -1, 134, 135, + 28, 29, 30, 31, 32, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, 116, 117, -1, -1, -1, 121, -1, + -1, -1, -1, 126, -1, -1, -1, -1, 131, -1, + 133, 99, 100, 101, 102, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 116, 117, + -1, -1, -1, 121, -1, -1, -1, -1, 126, -1, + 3, 4, 5, 131, 7, 133, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + -1, 34, 35, 36, 37, -1, -1, 40, -1, -1, + -1, -1, -1, -1, -1, -1, 3, 4, -1, -1, + -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, -1, -1, -1, -1, + -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 99, 100, 101, 102, + 103, 104, 105, 106, 61, 62, 63, 64, 65, 66, + -1, -1, -1, 116, 117, -1, 73, 74, 121, 122, + 123, -1, -1, 126, -1, 128, -1, 130, 131, -1, + -1, -1, -1, -1, 6, -1, -1, -1, -1, -1, + -1, -1, 99, 100, 101, 102, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, + 117, -1, -1, -1, 121, -1, -1, -1, -1, 126, + 3, 4, 5, -1, 131, -1, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + -1, 34, 35, 36, 37, 3, 4, 40, -1, -1, + -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125, -1, -1, -1, -1, 6, -1, + -1, -1, -1, -1, -1, -1, 99, 100, 101, 102, + -1, -1, -1, -1, -1, -1, -1, 6, -1, -1, + -1, -1, -1, 116, 117, -1, -1, -1, 121, -1, + -1, -1, -1, 126, -1, -1, 6, -1, 131, -1, + -1, 99, 100, 101, 102, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 116, 117, + -1, -1, -1, 121, -1, -1, -1, -1, 126, 3, + 4, -1, -1, 131, -1, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 6, -1, -1, -1, 125, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 6, -1, -1, -1, 125, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 6, -1, -1, -1, 125, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 99, 100, 101, 102, -1, + 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 116, 117, -1, -1, -1, 121, -1, -1, + -1, 8, 126, -1, -1, -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 119, 120, -1, -1, -1, -1, 125, -1, -1, - -1, -1, 130, 3, 4, 5, -1, 135, -1, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, 34, 35, 36, 37, 3, 4, - 40, -1, -1, -1, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 3, 4, - -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 6, -1, - -1, 101, 102, 103, 104, -1, -1, -1, -1, -1, - -1, -1, -1, 6, -1, -1, -1, -1, -1, 119, - 120, -1, -1, -1, -1, 125, -1, -1, 6, -1, - 130, -1, -1, -1, -1, 135, 101, 102, 103, 104, - -1, -1, -1, 6, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 119, 120, -1, -1, -1, -1, - 125, -1, -1, -1, -1, 130, 101, 102, 103, 104, - 135, 8, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 119, 120, 8, -1, -1, -1, - 125, -1, -1, -1, -1, 130, -1, -1, -1, -1, - 135, 109, 110, 111, 112, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 109, 110, 111, 112, - 113, 129, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 109, 110, 111, 112, 113, 129, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 109, 110, 111, 112, - 113, 129, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 8, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, 109, 110, 111, 112, 113, -1, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 109, 110, 111, - 112, 113, 129, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 8, -1, -1, -1, -1, 129, -1, 41, - 42, 43, 44, 45, 46, 47, 48, 8, 50, -1, - 52, 53, -1, 55, 56, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 109, 110, 111, 112, 113, 71, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 81, - 82, 83, -1, -1, 129, -1, 131, -1, -1, -1, - -1, 136, 109, 110, 111, 112, 113, -1, 115, 116, - 117, 118, 119, 120, 121, 122, 123, -1, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, 109, 110, - 111, 112, 113, -1, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 109, 110, 111, 112, 113, 129, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 109, 110, - 111, 112, 113, 129, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 0, 1, -1, -1, 4, 129, -1, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, 33, 136, -1, 138, + 8, -1, -1, -1, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, 8, + -1, -1, 125, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, -1, -1, + -1, 125, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, -1, -1, -1, 125, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, -1, -1, -1, 125, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, 0, 1, -1, 125, 4, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, 132, -1, 134, 33, -1, -1, -1, -1, 38, 39, -1, 41, 42, 43, 44, 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, 55, 56, -1, -1, -1, 60, 61, 62, 63, 64, 65, 66, - -1, 68, 69, 70, 71, -1, 73, 74, -1, -1, - -1, -1, -1, 80, 81, 82, 83, -1, -1, -1, - -1, 88, -1, 90, -1, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 41, 42, 43, 44, 45, 46, - 47, 48, -1, 50, -1, 52, 53, -1, 55, 56, - -1, 41, 42, 43, 44, 45, 46, 47, 48, -1, - 50, -1, 52, 53, 71, 55, 56, -1, -1, -1, - -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, - -1, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 81, 82, 83, 41, 42, 43, 44, 45, 46, - 47, 48, -1, 50, -1, 52, 53, -1, 55, 56, - -1, 41, 42, 43, 44, 45, 46, 47, 48, -1, - 50, -1, 52, 53, 71, 55, 56, -1, -1, -1, - -1, 138, -1, -1, 81, 82, 83, -1, -1, -1, - -1, 71, -1, -1, -1, -1, -1, -1, 138, -1, - -1, 81, 82, 83, 41, 42, 43, 44, 45, 46, - 47, 48, -1, 50, -1, 52, 53, -1, 55, 56, - -1, 41, 42, 43, 44, 45, 46, 47, 48, -1, - 50, -1, 52, 53, 71, 55, 56, -1, -1, -1, - -1, 138, -1, -1, 81, 82, 83, -1, -1, -1, - -1, 71, -1, -1, -1, -1, -1, -1, 138, -1, - -1, 81, 82, 83, 41, 42, 43, 44, 45, 46, - 47, 48, -1, 50, -1, 52, 53, -1, 55, 56, - -1, 41, 42, 43, 44, 45, 46, 47, 48, -1, - 50, -1, 52, 53, 71, 55, 56, -1, 4, -1, - -1, 138, -1, -1, 81, 82, 83, -1, -1, -1, - -1, 71, -1, -1, -1, -1, -1, -1, 138, -1, - -1, 81, 82, 83, -1, -1, -1, 33, -1, -1, - -1, -1, 38, 39, -1, 41, 42, 43, 44, 45, - 46, 47, 48, -1, 50, 51, 52, 53, 54, 55, - 56, -1, -1, -1, 60, 61, 62, 63, 64, 65, - 66, 138, 68, 69, 70, 71, -1, 73, 74, -1, - -1, -1, -1, -1, 80, 81, 82, 83, 138, -1, - -1, -1, 88, -1, 90, -1, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, -1, - -1, -1, 136, -1, 138, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, -1, - -1, -1, 136, -1, 138, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 109, - 110, 111, 112, 113, 138, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, -1, -1, 109, 110, 111, 112, 113, 138, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, -1, -1, 109, 110, 111, - 112, 113, 138, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, -1, - -1, 109, 110, 111, 112, 113, 138, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, -1, -1, 109, 110, 111, 112, 113, - 138, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 109, - 110, 111, 112, 113, 138, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, -1, -1, 109, 110, 111, 112, 113, 138, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, -1, -1, 109, 110, 111, - 112, 113, 138, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, -1, - -1, 109, 110, 111, 112, 113, 138, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, -1, -1, 109, 110, 111, 112, 113, - 138, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 109, - 110, 111, 112, 113, 138, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, -1, -1, 109, 110, 111, 112, 113, 138, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, -1, -1, 109, 110, 111, - 112, 113, 138, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, -1, - -1, 109, 110, 111, 112, 113, 138, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, -1, -1, 109, 110, 111, 112, 113, - 138, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 109, - 110, 111, 112, 113, 138, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, -1, -1, 109, 110, 111, 112, 113, 138, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, -1, -1, 109, 110, 111, - 112, 113, 138, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, -1, - -1, 109, 110, 111, 112, 113, 138, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, -1, -1, 109, 110, 111, 112, 113, - 138, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 109, - 110, 111, 112, 113, 138, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, 109, 110, 111, 112, 113, 136, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 109, 110, 111, 112, 113, 136, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, 109, 110, 111, 112, 113, - 136, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 109, 110, 111, - 112, 113, 136, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, 109, - 110, 111, 112, 113, 136, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, 109, 110, 111, 112, 113, 136, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 109, 110, 111, 112, 113, 136, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, 109, 110, 111, 112, 113, - 136, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 109, 110, 111, - 112, 113, 136, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, 109, - 110, 111, 112, 113, 136, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, 109, 110, 111, 112, 113, 136, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 109, 110, 111, 112, 113, 136, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, 109, 110, 111, 112, 113, - 136, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 109, 110, 111, - 112, 113, 136, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, 109, - 110, 111, 112, 113, 136, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, 109, 110, 111, 112, 113, 136, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 109, 110, 111, 112, 113, 136, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, 109, 110, 111, 112, 113, - 136, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 109, 110, 111, - 112, 113, 136, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, 109, - 110, 111, 112, 113, 136, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, 109, 110, 111, 112, 113, 136, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 109, 110, 111, 112, 113, 136, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, 109, 110, 111, 112, 113, - 136, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 109, 110, 111, - 112, 113, 136, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, 109, - 110, 111, 112, 113, 136, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, 109, 110, 111, 112, 113, 136, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 109, 110, 111, 112, 113, 136, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, 109, 110, 111, 112, 113, - 136, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 109, 110, 111, - 112, 113, 136, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, 109, - 110, 111, 112, 113, 136, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, 109, 110, 111, 112, 113, 136, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 109, 110, 111, 112, 113, 136, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, 109, 110, 111, 112, 113, - 136, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, -1, -1, 133, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 131, 109, 110, - 111, 112, 113, -1, 115, 116, 117, 118, 119, 120, - 121, 122, 123, -1, -1, -1, -1, -1, 129, -1, - 131, 109, 110, 111, 112, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 131, 109, 110, 111, 112, 113, -1, - 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, - -1, -1, -1, -1, 129, -1, 131, 109, 110, 111, - 112, 113, -1, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, 131, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, 131, 109, 110, 111, 112, 113, -1, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, 131, 109, 110, 111, 112, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 122, - 123, -1, -1, -1, -1, -1, 129, -1, 131, 109, - 110, 111, 112, 113, -1, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, 131, 109, 110, 111, 112, 113, -1, 115, 116, - 117, 118, 119, 120, 121, 122, 123, -1, -1, -1, - -1, -1, 129, -1, 131, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 131, 109, 110, - 111, 112, 113, -1, 115, 116, 117, 118, 119, 120, - 121, 122, 123, -1, -1, -1, -1, -1, 129, -1, - 131, 109, 110, 111, 112, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 131, 109, 110, 111, 112, 113, -1, - 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, - -1, -1, -1, -1, 129, -1, 131, 109, 110, 111, - 112, 113, -1, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, 131, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, 131, 109, 110, 111, 112, 113, -1, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, 131, 109, 110, 111, 112, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 122, - 123, -1, -1, -1, -1, -1, 129, -1, 131, 109, - 110, 111, 112, 113, -1, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, 131, 109, 110, 111, 112, 113, -1, 115, 116, - 117, 118, 119, 120, 121, 122, 123, -1, -1, -1, - -1, -1, 129, -1, 131, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 131, 109, 110, - 111, 112, 113, -1, 115, 116, 117, 118, 119, 120, - 121, 122, 123, -1, -1, -1, -1, -1, 129, -1, - 131, 109, 110, 111, 112, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 131, 109, 110, 111, 112, 113, -1, - 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, - -1, -1, -1, -1, 129, -1, 131, 109, 110, 111, - 112, 113, -1, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, 131, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, 131, 109, 110, 111, 112, 113, -1, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, 131, 109, 110, 111, 112, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 122, - 123, -1, -1, -1, -1, -1, 129, -1, 131, 109, - 110, 111, 112, 113, -1, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, 131, 109, 110, 111, 112, 113, -1, 115, 116, - 117, 118, 119, 120, 121, 122, 123, -1, -1, -1, - -1, -1, 129, -1, 131, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 131, 109, 110, - 111, 112, 113, -1, 115, 116, 117, 118, 119, 120, - 121, 122, 123, -1, -1, -1, -1, -1, 129, -1, - 131, 109, 110, 111, 112, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 131, 109, 110, 111, 112, 113, -1, - 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, - -1, -1, -1, -1, 129, -1, 131, 109, 110, 111, - 112, 113, -1, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, 131, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, 131, 109, 110, 111, 112, 113, -1, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, - -1, -1, -1, 129, -1, 131, 109, 110, 111, 112, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 122, - 123, -1, -1, -1, -1, -1, 129, -1, 131, 109, - 110, 111, 112, 113, -1, 115, 116, 117, 118, 119, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - -1, 131, 109, 110, 111, 112, 113, -1, 115, 116, - 117, 118, 119, 120, 121, 122, 123, -1, -1, -1, - -1, -1, 129, -1, 131, 109, 110, 111, 112, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - -1, -1, -1, -1, -1, 129, -1, 131, 109, 110, - 111, 112, 113, -1, 115, 116, 117, 118, 119, 120, - 121, 122, 123, -1, -1, -1, -1, -1, 129, -1, - 131, 109, 110, 111, 112, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 131, 109, 110, 111, 112, 113, -1, - 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, - -1, -1, -1, -1, 129, -1, 131, 109, 110, 111, - 112, 113, -1, 115, 116, 117, 118, 119, 120, 121, - 122, 123, -1, -1, -1, -1, -1, 129, -1, 131, - 109, 110, 111, 112, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, - 129, -1, 131 + -1, 68, 69, 70, 71, 4, 73, 74, -1, -1, + -1, -1, -1, 80, 81, 82, 83, -1, -1, 86, + -1, 88, -1, 90, 91, 92, 93, 94, 95, 96, + 97, 98, -1, -1, 33, -1, -1, -1, -1, 38, + 39, -1, 41, 42, 43, 44, 45, 46, 47, 48, + -1, 50, 51, 52, 53, 54, 55, 56, -1, -1, + -1, 60, 61, 62, 63, 64, 65, 66, -1, 68, + 69, 70, 71, -1, 73, 74, -1, -1, -1, -1, + -1, 80, 81, 82, 83, -1, -1, 86, -1, 88, + -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 41, 42, 43, 44, 45, 46, 47, 48, -1, 50, + -1, 52, 53, -1, 55, 56, -1, 41, 42, 43, + 44, 45, 46, 47, 48, -1, 50, -1, 52, 53, + 71, 55, 56, -1, -1, -1, -1, -1, -1, -1, + 81, 82, 83, -1, -1, -1, -1, 71, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, + 41, 42, 43, 44, 45, 46, 47, 48, -1, 50, + -1, 52, 53, -1, 55, 56, -1, 41, 42, 43, + 44, 45, 46, 47, 48, -1, 50, -1, 52, 53, + 71, 55, 56, 134, -1, -1, -1, -1, -1, -1, + 81, 82, 83, -1, -1, -1, -1, 71, -1, -1, + 134, -1, -1, -1, -1, -1, -1, 81, 82, 83, + 41, 42, 43, 44, 45, 46, 47, 48, -1, 50, + -1, 52, 53, -1, 55, 56, -1, 41, 42, 43, + 44, 45, 46, 47, 48, -1, 50, -1, 52, 53, + 71, 55, 56, 134, -1, -1, -1, -1, -1, -1, + 81, 82, 83, -1, -1, -1, -1, 71, -1, -1, + 134, -1, -1, -1, -1, -1, -1, 81, 82, 83, + 41, 42, 43, 44, 45, 46, 47, 48, -1, 50, + -1, 52, 53, -1, 55, 56, -1, 41, 42, 43, + 44, 45, 46, 47, 48, -1, 50, -1, 52, 53, + 71, 55, 56, 134, -1, -1, -1, -1, -1, -1, + 81, 82, 83, -1, -1, -1, -1, 71, -1, -1, + 134, -1, -1, -1, -1, -1, -1, 81, 82, 83, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, 132, -1, 134, -1, -1, + -1, -1, -1, 134, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + 134, -1, 125, -1, -1, -1, -1, -1, -1, 132, + -1, 134, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, -1, -1, -1, -1, -1, 134, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, -1, -1, 134, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, -1, -1, 134, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, -1, -1, 134, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, + -1, 134, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, -1, -1, -1, -1, -1, 134, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, -1, -1, 134, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, -1, -1, 134, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, -1, -1, 134, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, + -1, 134, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, -1, -1, -1, -1, -1, 134, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, -1, -1, 134, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, -1, -1, 134, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, -1, -1, 134, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, + -1, 134, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, -1, -1, -1, -1, -1, 134, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, -1, -1, 134, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, -1, -1, 134, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, -1, -1, 134, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, + -1, 134, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, 127, -1, -1, -1, -1, 132, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, 132, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, -1, -1, -1, 132, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, 132, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, 132, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, -1, -1, -1, 132, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, 132, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, -1, -1, -1, 132, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, 132, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, 132, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, -1, -1, -1, 132, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, 132, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, -1, -1, -1, 132, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, 132, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, 132, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, -1, -1, -1, 132, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, 132, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, -1, -1, -1, 132, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, 132, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, 132, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, -1, -1, -1, 132, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, 132, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, -1, -1, -1, 132, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, 132, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, 132, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, -1, -1, -1, 132, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, 132, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, -1, -1, -1, 132, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, 132, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, 132, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, -1, -1, -1, 132, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, 132, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, -1, -1, -1, 132, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, -1, -1, -1, 132, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, 129, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, -1, -1, -1, 125, -1, -1, + -1, 129, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, 129, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125, -1, -1, -1, 129, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + 129, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, -1, -1, -1, 125, + -1, -1, -1, 129, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, 129, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, -1, -1, -1, 125, -1, -1, -1, 129, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, 129, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, -1, -1, + -1, 125, -1, -1, -1, 129, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, 129, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, -1, -1, -1, 125, -1, -1, + -1, 129, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, 129, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125, -1, -1, -1, 129, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + 129, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, -1, -1, -1, 125, + -1, -1, -1, 129, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, 129, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, -1, -1, -1, 125, -1, -1, -1, 129, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, 129, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, -1, -1, + -1, 125, -1, -1, -1, 129, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, 129, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, -1, -1, -1, 125, -1, -1, + -1, 129, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, -1, -1, 129, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125, -1, -1, -1, 129, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, -1, -1, + 129, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, -1, -1, -1, 125, + -1, -1, -1, 129, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, -1, -1, 129, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, -1, -1, -1, 125, -1, -1, -1, 129, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + -1, -1, 129, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, -1, -1, + -1, 125, -1, -1, -1, 129, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, -1, -1, 129, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, -1, -1, -1, 125, -1, 127, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + 127, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, -1, -1, -1, 125, + -1, 127, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, 127, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, -1, -1, + -1, 125, -1, 127, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, 127, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125, -1, 127, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, 127, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, -1, -1, -1, 125, -1, 127, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, 127, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, -1, -1, -1, 125, -1, 127, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + 127, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, -1, -1, -1, 125, + -1, 127, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, 127, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, -1, -1, + -1, 125, -1, 127, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, 127, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125, -1, 127, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, 127, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, -1, -1, -1, 125, -1, 127, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, 127, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, -1, -1, -1, 125, -1, 127, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + 127, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, -1, -1, -1, 125, + -1, 127, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, 127, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, -1, -1, + -1, 125, -1, 127, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, 127, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125, -1, 127, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, 127, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, -1, -1, -1, 125, -1, 127, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, 127, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, -1, -1, -1, 125, -1, 127, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + 127, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, -1, -1, -1, 125, + -1, 127, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, 127, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, -1, -1, + -1, 125, -1, 127, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, 127, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125, -1, 127, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + -1, -1, -1, -1, 125, -1, 127, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, -1, -1, -1, 125, -1, 127, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, -1, -1, -1, -1, 125, -1, 127, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, -1, -1, -1, 125, -1, 127, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, 125, -1, + 127, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, -1, -1, -1, 125, + -1, 127, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, -1, -1, -1, -1, + 125, -1, 127, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, -1, -1, + -1, 125, -1, 127, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, + -1, -1, 125, -1, 127, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + -1, -1, -1, 125 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/share/bison.simple" @@ -4348,6 +4365,7 @@ case 125: else if(!strcmp(yyvsp[-1].c, "Physicals")){ List_Action(THEM->PhysicalGroups, Free_PhysicalGroup); List_Reset(THEM->PhysicalGroups); + GMODEL->deletePhysicalGroups(); } else{ yymsg(GERROR, "Unknown command 'Delete %s'", yyvsp[-1].c); @@ -4356,7 +4374,7 @@ case 125: ; break;} case 126: -#line 1675 "Gmsh.y" +#line 1676 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Empty") && !strcmp(yyvsp[-1].c, "Views")){ for(int i = List_Nbr(CTX.post.list) - 1; i >= 0; i--){ @@ -4372,7 +4390,7 @@ case 126: ; break;} case 127: -#line 1694 "Gmsh.y" +#line 1695 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -4383,7 +4401,7 @@ case 127: ; break;} case 128: -#line 1708 "Gmsh.y" +#line 1709 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape(yyvsp[-1].c, i, 1); @@ -4391,7 +4409,7 @@ case 128: ; break;} case 129: -#line 1714 "Gmsh.y" +#line 1715 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape(yyvsp[-1].c, i, 0); @@ -4399,7 +4417,7 @@ case 129: ; break;} case 130: -#line 1720 "Gmsh.y" +#line 1721 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -4410,7 +4428,7 @@ case 130: ; break;} case 131: -#line 1729 "Gmsh.y" +#line 1730 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -4421,7 +4439,7 @@ case 131: ; break;} case 132: -#line 1743 "Gmsh.y" +#line 1744 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Include")){ char tmpstring[1024]; @@ -4468,7 +4486,7 @@ case 132: ; break;} case 133: -#line 1788 "Gmsh.y" +#line 1789 "Gmsh.y" { if(!strcmp(yyvsp[-6].c, "Save") && !strcmp(yyvsp[-5].c, "View")){ Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, (int)yyvsp[-3].d); @@ -4485,7 +4503,7 @@ case 133: ; break;} case 134: -#line 1803 "Gmsh.y" +#line 1804 "Gmsh.y" { if(!strcmp(yyvsp[-6].c, "Background") && !strcmp(yyvsp[-5].c, "Mesh") && !strcmp(yyvsp[-4].c, "View")){ Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, (int)yyvsp[-2].d); @@ -4498,7 +4516,7 @@ case 134: ; break;} case 135: -#line 1814 "Gmsh.y" +#line 1815 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Sleep")){ SleepInSeconds(yyvsp[-1].d); @@ -4520,7 +4538,7 @@ case 135: ; break;} case 136: -#line 1834 "Gmsh.y" +#line 1835 "Gmsh.y" { try { GMSH_PluginManager::instance()->action(yyvsp[-4].c, yyvsp[-1].c, 0); @@ -4532,7 +4550,7 @@ case 136: ; break;} case 137: -#line 1844 "Gmsh.y" +#line 1845 "Gmsh.y" { if(!strcmp(yyvsp[-1].c, "ElementsFromAllViews")) CombineViews(0, 1, CTX.post.combine_remove_orig); @@ -4556,27 +4574,27 @@ case 137: ; break;} case 138: -#line 1866 "Gmsh.y" +#line 1867 "Gmsh.y" { exit(0); ; break;} case 139: -#line 1870 "Gmsh.y" +#line 1871 "Gmsh.y" { CTX.forced_bbox = 0; SetBoundingBox(); ; break;} case 140: -#line 1875 "Gmsh.y" +#line 1876 "Gmsh.y" { CTX.forced_bbox = 1; SetBoundingBox(yyvsp[-12].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 141: -#line 1880 "Gmsh.y" +#line 1881 "Gmsh.y" { #if defined(HAVE_FLTK) Draw(); @@ -4584,7 +4602,7 @@ case 141: ; break;} case 142: -#line 1892 "Gmsh.y" +#line 1893 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; @@ -4601,7 +4619,7 @@ case 142: ; break;} case 143: -#line 1907 "Gmsh.y" +#line 1908 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; @@ -4619,7 +4637,7 @@ case 143: ; break;} case 144: -#line 1923 "Gmsh.y" +#line 1924 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; @@ -4647,7 +4665,7 @@ case 144: ; break;} case 145: -#line 1949 "Gmsh.y" +#line 1950 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; @@ -4676,7 +4694,7 @@ case 145: ; break;} case 146: -#line 1976 "Gmsh.y" +#line 1977 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(GERROR, "Invalid For/EndFor loop"); @@ -4710,7 +4728,7 @@ case 146: ; break;} case 147: -#line 2008 "Gmsh.y" +#line 2009 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction(yyvsp[0].c, yyin, yyname, yylineno)) yymsg(GERROR, "Redefinition of function %s", yyvsp[0].c); @@ -4719,14 +4737,14 @@ case 147: ; break;} case 148: -#line 2015 "Gmsh.y" +#line 2016 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin, yyname, yylineno)) yymsg(GERROR, "Error while exiting function"); ; break;} case 149: -#line 2020 "Gmsh.y" +#line 2021 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c, &yyin, yyname, yylineno)) yymsg(GERROR, "Unknown function %s", yyvsp[-1].c); @@ -4734,18 +4752,18 @@ case 149: ; break;} case 150: -#line 2026 "Gmsh.y" +#line 2027 "Gmsh.y" { if(!yyvsp[-1].d) skip_until("If", "EndIf"); ; break;} case 151: -#line 2030 "Gmsh.y" +#line 2031 "Gmsh.y" { ; break;} case 152: -#line 2039 "Gmsh.y" +#line 2040 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, yyvsp[-1].l, @@ -4755,7 +4773,7 @@ case 152: ; break;} case 153: -#line 2047 "Gmsh.y" +#line 2048 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, yyvsp[-1].l, @@ -4765,7 +4783,7 @@ case 153: ; break;} case 154: -#line 2055 "Gmsh.y" +#line 2056 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, yyvsp[-1].l, @@ -4775,14 +4793,14 @@ case 154: ; break;} case 155: -#line 2063 "Gmsh.y" +#line 2064 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 156: -#line 2068 "Gmsh.y" +#line 2069 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, yyvsp[-3].l, @@ -4792,14 +4810,14 @@ case 156: ; break;} case 157: -#line 2076 "Gmsh.y" +#line 2077 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 158: -#line 2081 "Gmsh.y" +#line 2082 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, yyvsp[-3].l, @@ -4809,14 +4827,14 @@ case 158: ; break;} case 159: -#line 2089 "Gmsh.y" +#line 2090 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 160: -#line 2094 "Gmsh.y" +#line 2095 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, yyvsp[-3].l, @@ -4826,7 +4844,7 @@ case 160: ; break;} case 161: -#line 2104 "Gmsh.y" +#line 2105 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)yyvsp[-4].d, @@ -4835,7 +4853,7 @@ case 161: ; break;} case 162: -#line 2111 "Gmsh.y" +#line 2112 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)yyvsp[-4].d, @@ -4844,7 +4862,7 @@ case 162: ; break;} case 163: -#line 2118 "Gmsh.y" +#line 2119 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)yyvsp[-4].d, @@ -4853,7 +4871,7 @@ case 163: ; break;} case 164: -#line 2125 "Gmsh.y" +#line 2126 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)yyvsp[-8].d, @@ -4862,7 +4880,7 @@ case 164: ; break;} case 165: -#line 2132 "Gmsh.y" +#line 2133 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)yyvsp[-8].d, @@ -4871,7 +4889,7 @@ case 165: ; break;} case 166: -#line 2139 "Gmsh.y" +#line 2140 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)yyvsp[-8].d, @@ -4880,7 +4898,7 @@ case 166: ; break;} case 167: -#line 2146 "Gmsh.y" +#line 2147 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)yyvsp[-10].d, @@ -4889,7 +4907,7 @@ case 167: ; break;} case 168: -#line 2153 "Gmsh.y" +#line 2154 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)yyvsp[-10].d, @@ -4898,7 +4916,7 @@ case 168: ; break;} case 169: -#line 2160 "Gmsh.y" +#line 2161 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)yyvsp[-10].d, @@ -4907,14 +4925,14 @@ case 169: ; break;} case 170: -#line 2167 "Gmsh.y" +#line 2168 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 171: -#line 2172 "Gmsh.y" +#line 2173 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)yyvsp[-8].d, @@ -4923,14 +4941,14 @@ case 171: ; break;} case 172: -#line 2179 "Gmsh.y" +#line 2180 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 173: -#line 2184 "Gmsh.y" +#line 2185 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)yyvsp[-8].d, @@ -4939,14 +4957,14 @@ case 173: ; break;} case 174: -#line 2191 "Gmsh.y" +#line 2192 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 175: -#line 2196 "Gmsh.y" +#line 2197 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)yyvsp[-8].d, @@ -4955,14 +4973,14 @@ case 175: ; break;} case 176: -#line 2203 "Gmsh.y" +#line 2204 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 177: -#line 2208 "Gmsh.y" +#line 2209 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)yyvsp[-12].d, @@ -4971,14 +4989,14 @@ case 177: ; break;} case 178: -#line 2215 "Gmsh.y" +#line 2216 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 179: -#line 2220 "Gmsh.y" +#line 2221 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)yyvsp[-12].d, @@ -4987,14 +5005,14 @@ case 179: ; break;} case 180: -#line 2227 "Gmsh.y" +#line 2228 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 181: -#line 2232 "Gmsh.y" +#line 2233 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)yyvsp[-12].d, @@ -5003,14 +5021,14 @@ case 181: ; break;} case 182: -#line 2239 "Gmsh.y" +#line 2240 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 183: -#line 2244 "Gmsh.y" +#line 2245 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)yyvsp[-14].d, @@ -5019,14 +5037,14 @@ case 183: ; break;} case 184: -#line 2251 "Gmsh.y" +#line 2252 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 185: -#line 2256 "Gmsh.y" +#line 2257 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)yyvsp[-14].d, @@ -5035,14 +5053,14 @@ case 185: ; break;} case 186: -#line 2263 "Gmsh.y" +#line 2264 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 187: -#line 2268 "Gmsh.y" +#line 2269 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)yyvsp[-14].d, @@ -5051,17 +5069,17 @@ case 187: ; break;} case 188: -#line 2279 "Gmsh.y" +#line 2280 "Gmsh.y" { ; break;} case 189: -#line 2282 "Gmsh.y" +#line 2283 "Gmsh.y" { ; break;} case 190: -#line 2288 "Gmsh.y" +#line 2289 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -5072,7 +5090,7 @@ case 190: ; break;} case 191: -#line 2297 "Gmsh.y" +#line 2298 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -5096,7 +5114,7 @@ case 191: ; break;} case 192: -#line 2319 "Gmsh.y" +#line 2320 "Gmsh.y" { yymsg(WARNING, "Explicit region numbers in layers are deprecated"); double d; @@ -5122,13 +5140,13 @@ case 192: ; break;} case 193: -#line 2343 "Gmsh.y" +#line 2344 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} case 194: -#line 2352 "Gmsh.y" +#line 2353 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; @@ -5148,7 +5166,7 @@ case 194: ; break;} case 195: -#line 2370 "Gmsh.y" +#line 2371 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; @@ -5168,7 +5186,7 @@ case 195: ; break;} case 196: -#line 2388 "Gmsh.y" +#line 2389 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; @@ -5188,7 +5206,7 @@ case 196: ; break;} case 197: -#line 2406 "Gmsh.y" +#line 2407 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d); if(!s) @@ -5219,7 +5237,7 @@ case 197: ; break;} case 198: -#line 2435 "Gmsh.y" +#line 2436 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-5].d); if(!s) @@ -5256,14 +5274,14 @@ case 198: ; break;} case 199: -#line 2470 "Gmsh.y" +#line 2471 "Gmsh.y" { yymsg(WARNING, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete(yyvsp[-1].l); ; break;} case 200: -#line 2475 "Gmsh.y" +#line 2476 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d); if(!v) @@ -5292,7 +5310,7 @@ case 200: ; break;} case 201: -#line 2502 "Gmsh.y" +#line 2503 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; @@ -5308,7 +5326,7 @@ case 201: ; break;} case 202: -#line 2516 "Gmsh.y" +#line 2517 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ double d; @@ -5323,7 +5341,7 @@ case 202: ; break;} case 203: -#line 2535 "Gmsh.y" +#line 2536 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-1].d); if(s) @@ -5331,7 +5349,7 @@ case 203: ; break;} case 204: -#line 2541 "Gmsh.y" +#line 2542 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-1].d); if(s) @@ -5339,55 +5357,55 @@ case 204: ; break;} case 205: -#line 2547 "Gmsh.y" +#line 2548 "Gmsh.y" { ; break;} case 206: -#line 2550 "Gmsh.y" +#line 2551 "Gmsh.y" { ; break;} case 207: -#line 2559 "Gmsh.y" +#line 2560 "Gmsh.y" { ReplaceAllDuplicates(); ; break;} case 208: -#line 2568 "Gmsh.y" +#line 2569 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 209: -#line 2569 "Gmsh.y" +#line 2570 "Gmsh.y" { yyval.d = yyvsp[-1].d; ; break;} case 210: -#line 2570 "Gmsh.y" +#line 2571 "Gmsh.y" { yyval.d = -yyvsp[0].d; ; break;} case 211: -#line 2571 "Gmsh.y" +#line 2572 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 212: -#line 2572 "Gmsh.y" +#line 2573 "Gmsh.y" { yyval.d = !yyvsp[0].d; ; break;} case 213: -#line 2573 "Gmsh.y" +#line 2574 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d; ; break;} case 214: -#line 2574 "Gmsh.y" +#line 2575 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d; ; break;} case 215: -#line 2575 "Gmsh.y" +#line 2576 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d; ; break;} case 216: -#line 2577 "Gmsh.y" +#line 2578 "Gmsh.y" { if(!yyvsp[0].d) yymsg(GERROR, "Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); @@ -5396,247 +5414,247 @@ case 216: ; break;} case 217: -#line 2583 "Gmsh.y" +#line 2584 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d; ; break;} case 218: -#line 2584 "Gmsh.y" +#line 2585 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ; break;} case 219: -#line 2585 "Gmsh.y" +#line 2586 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d; ; break;} case 220: -#line 2586 "Gmsh.y" +#line 2587 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d; ; break;} case 221: -#line 2587 "Gmsh.y" +#line 2588 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d; ; break;} case 222: -#line 2588 "Gmsh.y" +#line 2589 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d; ; break;} case 223: -#line 2589 "Gmsh.y" +#line 2590 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d; ; break;} case 224: -#line 2590 "Gmsh.y" +#line 2591 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d; ; break;} case 225: -#line 2591 "Gmsh.y" +#line 2592 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d; ; break;} case 226: -#line 2592 "Gmsh.y" +#line 2593 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d; ; break;} case 227: -#line 2593 "Gmsh.y" +#line 2594 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d; ; break;} case 228: -#line 2594 "Gmsh.y" +#line 2595 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 229: -#line 2595 "Gmsh.y" +#line 2596 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 230: -#line 2596 "Gmsh.y" +#line 2597 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 231: -#line 2597 "Gmsh.y" +#line 2598 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 232: -#line 2598 "Gmsh.y" +#line 2599 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 233: -#line 2599 "Gmsh.y" +#line 2600 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 234: -#line 2600 "Gmsh.y" +#line 2601 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 235: -#line 2601 "Gmsh.y" +#line 2602 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 236: -#line 2602 "Gmsh.y" +#line 2603 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 237: -#line 2603 "Gmsh.y" +#line 2604 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 238: -#line 2604 "Gmsh.y" +#line 2605 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; break;} case 239: -#line 2605 "Gmsh.y" +#line 2606 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 240: -#line 2606 "Gmsh.y" +#line 2607 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 241: -#line 2607 "Gmsh.y" +#line 2608 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 242: -#line 2608 "Gmsh.y" +#line 2609 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 243: -#line 2609 "Gmsh.y" +#line 2610 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 244: -#line 2610 "Gmsh.y" +#line 2611 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 245: -#line 2611 "Gmsh.y" +#line 2612 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 246: -#line 2612 "Gmsh.y" +#line 2613 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 247: -#line 2613 "Gmsh.y" +#line 2614 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 248: -#line 2614 "Gmsh.y" +#line 2615 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 249: -#line 2616 "Gmsh.y" +#line 2617 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 250: -#line 2617 "Gmsh.y" +#line 2618 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 251: -#line 2618 "Gmsh.y" +#line 2619 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 252: -#line 2619 "Gmsh.y" +#line 2620 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 253: -#line 2620 "Gmsh.y" +#line 2621 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 254: -#line 2621 "Gmsh.y" +#line 2622 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 255: -#line 2622 "Gmsh.y" +#line 2623 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 256: -#line 2623 "Gmsh.y" +#line 2624 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 257: -#line 2624 "Gmsh.y" +#line 2625 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 258: -#line 2625 "Gmsh.y" +#line 2626 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 259: -#line 2626 "Gmsh.y" +#line 2627 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; break;} case 260: -#line 2627 "Gmsh.y" +#line 2628 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 261: -#line 2628 "Gmsh.y" +#line 2629 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 262: -#line 2629 "Gmsh.y" +#line 2630 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 263: -#line 2630 "Gmsh.y" +#line 2631 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 264: -#line 2631 "Gmsh.y" +#line 2632 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 265: -#line 2632 "Gmsh.y" +#line 2633 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 266: -#line 2633 "Gmsh.y" +#line 2634 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 267: -#line 2634 "Gmsh.y" +#line 2635 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 268: -#line 2635 "Gmsh.y" +#line 2636 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 269: -#line 2636 "Gmsh.y" +#line 2637 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 270: -#line 2645 "Gmsh.y" +#line 2646 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 271: -#line 2646 "Gmsh.y" +#line 2647 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} case 272: -#line 2647 "Gmsh.y" +#line 2648 "Gmsh.y" { yyval.d = ParUtil::Instance()->rank(); ; break;} case 273: -#line 2648 "Gmsh.y" +#line 2649 "Gmsh.y" { yyval.d = ParUtil::Instance()->size(); ; break;} case 274: -#line 2649 "Gmsh.y" +#line 2650 "Gmsh.y" { yyval.d = Get_GmshMajorVersion(); ; break;} case 275: -#line 2650 "Gmsh.y" +#line 2651 "Gmsh.y" { yyval.d = Get_GmshMinorVersion(); ; break;} case 276: -#line 2651 "Gmsh.y" +#line 2652 "Gmsh.y" { yyval.d = Get_GmshPatchVersion(); ; break;} case 277: -#line 2656 "Gmsh.y" +#line 2657 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[0].c; @@ -5651,7 +5669,7 @@ case 277: ; break;} case 278: -#line 2672 "Gmsh.y" +#line 2673 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", yyvsp[-4].c, (int)yyvsp[-1].d) ; @@ -5668,7 +5686,7 @@ case 278: ; break;} case 279: -#line 2687 "Gmsh.y" +#line 2688 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; @@ -5690,7 +5708,7 @@ case 279: ; break;} case 280: -#line 2707 "Gmsh.y" +#line 2708 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -5706,7 +5724,7 @@ case 280: ; break;} case 281: -#line 2721 "Gmsh.y" +#line 2722 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-1].c; @@ -5721,7 +5739,7 @@ case 281: ; break;} case 282: -#line 2734 "Gmsh.y" +#line 2735 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-4].c; @@ -5743,7 +5761,7 @@ case 282: ; break;} case 283: -#line 2757 "Gmsh.y" +#line 2758 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -5763,7 +5781,7 @@ case 283: ; break;} case 284: -#line 2775 "Gmsh.y" +#line 2776 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -5783,7 +5801,7 @@ case 284: ; break;} case 285: -#line 2793 "Gmsh.y" +#line 2794 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -5803,7 +5821,7 @@ case 285: ; break;} case 286: -#line 2811 "Gmsh.y" +#line 2812 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -5823,124 +5841,107 @@ case 286: ; break;} case 287: -#line 2829 "Gmsh.y" +#line 2830 "Gmsh.y" { yyval.d = GetValue(yyvsp[-3].c, yyvsp[-1].d); Free(yyvsp[-3].c); ; break;} case 288: -#line 2837 "Gmsh.y" +#line 2838 "Gmsh.y" { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)); ; break;} case 289: -#line 2841 "Gmsh.y" +#line 2842 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = -yyvsp[0].v[i]; ; break;} case 290: -#line 2845 "Gmsh.y" +#line 2846 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} case 291: -#line 2849 "Gmsh.y" +#line 2850 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i]; ; break;} case 292: -#line 2853 "Gmsh.y" +#line 2854 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i]; ; break;} case 293: -#line 2860 "Gmsh.y" +#line 2861 "Gmsh.y" { yyval.v[0] = yyvsp[-9].d; yyval.v[1] = yyvsp[-7].d; yyval.v[2] = yyvsp[-5].d; yyval.v[3] = yyvsp[-3].d; yyval.v[4] = yyvsp[-1].d; ; break;} case 294: -#line 2864 "Gmsh.y" +#line 2865 "Gmsh.y" { yyval.v[0] = yyvsp[-7].d; yyval.v[1] = yyvsp[-5].d; yyval.v[2] = yyvsp[-3].d; yyval.v[3] = yyvsp[-1].d; yyval.v[4] = 1.0; ; break;} case 295: -#line 2868 "Gmsh.y" +#line 2869 "Gmsh.y" { yyval.v[0] = yyvsp[-5].d; yyval.v[1] = yyvsp[-3].d; yyval.v[2] = yyvsp[-1].d; yyval.v[3] = 0.0; yyval.v[4] = 1.0; ; break;} case 296: -#line 2872 "Gmsh.y" +#line 2873 "Gmsh.y" { yyval.v[0] = yyvsp[-5].d; yyval.v[1] = yyvsp[-3].d; yyval.v[2] = yyvsp[-1].d; yyval.v[3] = 0.0; yyval.v[4] = 1.0; ; break;} case 297: -#line 2879 "Gmsh.y" -{ - ; - break;} -case 298: -#line 2882 "Gmsh.y" -{ - yyval.l = yyvsp[-1].l; - ; - break;} -case 299: -#line 2886 "Gmsh.y" -{ - yyval.l = yyvsp[-1].l; - ; - break;} -case 300: -#line 2893 "Gmsh.y" +#line 2880 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(List_T*)); List_Add(yyval.l, &(yyvsp[0].l)); ; break;} -case 301: -#line 2898 "Gmsh.y" +case 298: +#line 2885 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].l)); ; break;} -case 302: -#line 2906 "Gmsh.y" +case 299: +#line 2893 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); ; break;} -case 303: -#line 2911 "Gmsh.y" +case 300: +#line 2898 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 304: -#line 2915 "Gmsh.y" +case 301: +#line 2902 "Gmsh.y" { // creates an empty list yyval.l = List_Create(2, 1, sizeof(double)); ; break;} -case 305: -#line 2920 "Gmsh.y" +case 302: +#line 2907 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} -case 306: -#line 2924 "Gmsh.y" +case 303: +#line 2911 "Gmsh.y" { yyval.l = yyvsp[-1].l; double *pd; @@ -5950,16 +5951,16 @@ case 306: } ; break;} -case 307: -#line 2936 "Gmsh.y" +case 304: +#line 2923 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); for(double d = yyvsp[-2].d; (yyvsp[-2].d < yyvsp[0].d) ? (d <= yyvsp[0].d) : (d >= yyvsp[0].d); (yyvsp[-2].d < yyvsp[0].d) ? (d += 1.) : (d -= 1.)) List_Add(yyval.l, &d); ; break;} -case 308: -#line 2942 "Gmsh.y" +case 305: +#line 2929 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); if(!yyvsp[0].d || (yyvsp[-4].d < yyvsp[-2].d && yyvsp[0].d < 0) || (yyvsp[-4].d > yyvsp[-2].d && yyvsp[0].d > 0)){ @@ -5971,8 +5972,8 @@ case 308: List_Add(yyval.l, &d); ; break;} -case 309: -#line 2953 "Gmsh.y" +case 306: +#line 2940 "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 @@ -5993,8 +5994,8 @@ case 309: } ; break;} -case 310: -#line 2973 "Gmsh.y" +case 307: +#line 2960 "Gmsh.y" { yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ @@ -6005,8 +6006,8 @@ case 310: List_Delete(yyvsp[0].l); ; break;} -case 311: -#line 2983 "Gmsh.y" +case 308: +#line 2970 "Gmsh.y" { yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ @@ -6017,8 +6018,8 @@ case 311: List_Delete(yyvsp[0].l); ; break;} -case 312: -#line 2993 "Gmsh.y" +case 309: +#line 2980 "Gmsh.y" { yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ @@ -6029,8 +6030,8 @@ case 312: List_Delete(yyvsp[0].l); ; break;} -case 313: -#line 3003 "Gmsh.y" +case 310: +#line 2990 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -6048,8 +6049,8 @@ case 313: Free(yyvsp[-2].c); ; break;} -case 314: -#line 3020 "Gmsh.y" +case 311: +#line 3007 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -6069,8 +6070,8 @@ case 314: Free(yyvsp[-2].c); ; break;} -case 315: -#line 3039 "Gmsh.y" +case 312: +#line 3026 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -6095,8 +6096,8 @@ case 315: List_Delete(yyvsp[-2].l); ; break;} -case 316: -#line 3063 "Gmsh.y" +case 313: +#line 3050 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -6123,27 +6124,27 @@ case 316: List_Delete(yyvsp[-2].l); ; break;} -case 317: -#line 3092 "Gmsh.y" +case 314: +#line 3079 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); ; break;} -case 318: -#line 3097 "Gmsh.y" +case 315: +#line 3084 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 319: -#line 3101 "Gmsh.y" +case 316: +#line 3088 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].d)); ; break;} -case 320: -#line 3105 "Gmsh.y" +case 317: +#line 3092 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ double d; @@ -6153,20 +6154,20 @@ case 320: List_Delete(yyvsp[0].l); ; break;} -case 321: -#line 3118 "Gmsh.y" +case 318: +#line 3105 "Gmsh.y" { yyval.u = CTX.PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} -case 322: -#line 3122 "Gmsh.y" +case 319: +#line 3109 "Gmsh.y" { yyval.u = CTX.PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} -case 323: -#line 3134 "Gmsh.y" +case 320: +#line 3121 "Gmsh.y" { int flag; yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); @@ -6174,8 +6175,8 @@ case 323: Free(yyvsp[0].c); ; break;} -case 324: -#line 3141 "Gmsh.y" +case 321: +#line 3128 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -6195,14 +6196,14 @@ case 324: Free(yyvsp[-4].c); Free(yyvsp[0].c); ; break;} -case 325: -#line 3163 "Gmsh.y" +case 322: +#line 3150 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} -case 326: -#line 3167 "Gmsh.y" +case 323: +#line 3154 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); @@ -6215,27 +6216,27 @@ case 326: Free(yyvsp[-5].c); ; break;} -case 327: -#line 3182 "Gmsh.y" +case 324: +#line 3169 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)); List_Add(yyval.l, &(yyvsp[0].u)); ; break;} -case 328: -#line 3187 "Gmsh.y" +case 325: +#line 3174 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].u)); ; break;} -case 329: -#line 3194 "Gmsh.y" +case 326: +#line 3181 "Gmsh.y" { yyval.c = yyvsp[0].c; ; break;} -case 330: -#line 3198 "Gmsh.y" +case 327: +#line 3185 "Gmsh.y" { yyval.c = (char *)Malloc(32*sizeof(char)); time_t now; @@ -6244,8 +6245,8 @@ case 330: yyval.c[strlen(yyval.c) - 1] = '\0'; ; break;} -case 331: -#line 3206 "Gmsh.y" +case 328: +#line 3193 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)); strcpy(yyval.c, yyvsp[-3].c); @@ -6254,8 +6255,8 @@ case 331: Free(yyvsp[-1].c); ; break;} -case 332: -#line 3214 "Gmsh.y" +case 329: +#line 3201 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)); int i; @@ -6270,8 +6271,8 @@ case 332: Free(yyvsp[-1].c); ; break;} -case 333: -#line 3228 "Gmsh.y" +case 330: +#line 3215 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)); int i; @@ -6286,14 +6287,14 @@ case 333: Free(yyvsp[-1].c); ; break;} -case 334: -#line 3242 "Gmsh.y" +case 331: +#line 3229 "Gmsh.y" { yyval.c = yyvsp[-1].c; ; break;} -case 335: -#line 3246 "Gmsh.y" +case 332: +#line 3233 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-3].c, yyvsp[-1].l, tmpstring); @@ -6313,8 +6314,8 @@ case 335: List_Delete(yyvsp[-1].l); ; break;} -case 336: -#line 3265 "Gmsh.y" +case 333: +#line 3252 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -6337,8 +6338,8 @@ case 336: } ; break;} -case 337: -#line 3287 "Gmsh.y" +case 334: +#line 3274 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -6583,7 +6584,7 @@ yyerrhandle: } return 1; } -#line 3310 "Gmsh.y" +#line 3297 "Gmsh.y" void DeleteSymbol(void *a, void *b){ diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index b9aedac7fae358113326eb3cb25b0534ebbcedcb..e42a99d3e58021aadd95e5238724452cfee3f8ac 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -89,41 +89,37 @@ typedef union { #define tBezier 336 #define tNurbs 337 #define tOrder 338 -#define tWith 339 -#define tBounds 340 -#define tKnots 341 -#define tColor 342 -#define tColorTable 343 -#define tFor 344 -#define tIn 345 -#define tEndFor 346 -#define tIf 347 -#define tEndIf 348 -#define tExit 349 -#define tReturn 350 -#define tCall 351 -#define tFunction 352 -#define tShow 353 -#define tHide 354 -#define tGetValue 355 -#define tGMSH_MAJOR_VERSION 356 -#define tGMSH_MINOR_VERSION 357 -#define tGMSH_PATCH_VERSION 358 -#define tAFFECTPLUS 359 -#define tAFFECTMINUS 360 -#define tAFFECTTIMES 361 -#define tAFFECTDIVIDE 362 -#define tOR 363 -#define tAND 364 -#define tEQUAL 365 -#define tNOTEQUAL 366 -#define tAPPROXEQUAL 367 -#define tLESSOREQUAL 368 -#define tGREATEROREQUAL 369 -#define tCROSSPRODUCT 370 -#define tPLUSPLUS 371 -#define tMINUSMINUS 372 -#define UNARYPREC 373 +#define tKnots 339 +#define tColor 340 +#define tColorTable 341 +#define tFor 342 +#define tIn 343 +#define tEndFor 344 +#define tIf 345 +#define tEndIf 346 +#define tExit 347 +#define tReturn 348 +#define tCall 349 +#define tFunction 350 +#define tShow 351 +#define tHide 352 +#define tGetValue 353 +#define tGMSH_MAJOR_VERSION 354 +#define tGMSH_MINOR_VERSION 355 +#define tGMSH_PATCH_VERSION 356 +#define tAFFECTPLUS 357 +#define tAFFECTMINUS 358 +#define tAFFECTTIMES 359 +#define tAFFECTDIVIDE 360 +#define tOR 361 +#define tAND 362 +#define tEQUAL 363 +#define tNOTEQUAL 364 +#define tLESSOREQUAL 365 +#define tGREATEROREQUAL 366 +#define tPLUSPLUS 367 +#define tMINUSMINUS 368 +#define UNARYPREC 369 extern YYSTYPE yylval; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 6f96fb08778b4ed50db7b04edbb7d9d3dba569cc..39908b875cd536d8be71028e2872934f3a294309 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.y,v 1.254 2007-01-12 08:10:32 geuzaine Exp $ +// $Id: Gmsh.y,v 1.255 2007-01-25 15:51:03 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -100,7 +100,7 @@ int CheckViewErrorFlags(Post_View *v); %token tLoop tRecombine tDelete tCoherence %token tAttractor tLayers tAlias tAliasWithOptions %token tText2D tText3D tInterpolationScheme tTime tGrain tCombine -%token tBSpline tBezier tNurbs tOrder tWith tBounds tKnots +%token tBSpline tBezier tNurbs tOrder tKnots %token tColor tColorTable tFor tIn tEndFor tIf tEndIf tExit %token tReturn tCall tFunction tShow tHide tGetValue %token tGMSH_MAJOR_VERSION tGMSH_MINOR_VERSION tGMSH_PATCH_VERSION @@ -111,7 +111,7 @@ int CheckViewErrorFlags(Post_View *v); %type <u> ColorExpr %type <c> StringExpr SendToFile %type <l> FExpr_Multi ListOfDouble RecursiveListOfDouble -%type <l> ListOfListOfDouble RecursiveListOfListOfDouble +%type <l> RecursiveListOfListOfDouble %type <l> ListOfColor RecursiveListOfColor %type <l> ListOfShapes Duplicata Transform Extrude MultipleShape %type <s> Shape @@ -126,10 +126,10 @@ int CheckViewErrorFlags(Post_View *v); %right '?' tDOTS %left tOR %left tAND -%left tEQUAL tNOTEQUAL tAPPROXEQUAL +%left tEQUAL tNOTEQUAL %left '<' tLESSOREQUAL '>' tGREATEROREQUAL %left '+' '-' -%left '*' '/' '%' tCROSSPRODUCT +%left '*' '/' '%' %right '!' tPLUSPLUS tMINUSMINUS UNARYPREC %right '^' %left '(' ')' '[' ']' '.' '#' @@ -1665,6 +1665,7 @@ Delete : else if(!strcmp($2, "Physicals")){ List_Action(THEM->PhysicalGroups, Free_PhysicalGroup); List_Reset(THEM->PhysicalGroups); + GMODEL->deletePhysicalGroups(); } else{ yymsg(GERROR, "Unknown command 'Delete %s'", $2); @@ -2874,20 +2875,6 @@ VExpr_Single : } ; -ListOfListOfDouble : - // nothing - { - } - | '{' RecursiveListOfListOfDouble '}' - { - $$ = $2; - } - | '(' RecursiveListOfListOfDouble ')' - { - $$ = $2; - } -; - RecursiveListOfListOfDouble : ListOfDouble { diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 9a5843b8a19fa253f502c94ea779da8fa6ed06a5..588480d22189c084f9578db3ffeb7aa1c1ef9a24 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -2,7 +2,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.296 2007-01-20 14:06:39 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.297 2007-01-25 15:51:03 geuzaine Exp $ */ #define FLEX_SCANNER @@ -283,73 +283,72 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 141 -#define YY_END_OF_BUFFER 142 -static yyconst short int yy_accept[577] = +#define YY_NUM_RULES 137 +#define YY_END_OF_BUFFER 138 +static yyconst short int yy_accept[569] = { 0, - 0, 0, 142, 140, 1, 1, 140, 5, 140, 6, - 140, 140, 140, 140, 140, 135, 20, 2, 140, 15, - 140, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 140, 140, 28, 24, 18, 25, - 16, 26, 17, 0, 137, 3, 4, 19, 22, 136, - 135, 0, 30, 27, 31, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 84, 83, - - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 98, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 130, 131, 139, 139, - 139, 139, 139, 139, 139, 139, 23, 29, 21, 0, - 136, 0, 0, 138, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 51, 139, 139, 139, 139, 139, 139, 139, - 64, 139, 139, 139, 139, 75, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 89, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - - 139, 139, 139, 139, 139, 139, 139, 112, 139, 139, - 139, 139, 139, 139, 139, 125, 139, 139, 139, 139, - 139, 139, 0, 137, 0, 0, 136, 32, 139, 139, - 139, 139, 36, 38, 139, 139, 139, 139, 44, 59, - 139, 48, 139, 139, 139, 139, 139, 139, 50, 139, - 139, 63, 139, 139, 139, 139, 71, 139, 72, 139, - 74, 139, 139, 139, 139, 81, 139, 139, 139, 139, - 139, 87, 139, 88, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 109, 139, 139, 139, - 139, 121, 113, 139, 139, 111, 139, 139, 139, 139, - - 139, 133, 124, 139, 139, 139, 139, 129, 10, 9, - 8, 139, 12, 14, 0, 136, 34, 139, 139, 139, - 40, 139, 139, 139, 139, 139, 139, 139, 139, 56, - 139, 139, 139, 139, 139, 139, 139, 70, 139, 73, - 139, 139, 134, 139, 82, 139, 85, 139, 139, 90, - 139, 139, 139, 95, 96, 139, 139, 99, 139, 100, - 101, 139, 139, 139, 139, 139, 108, 139, 139, 139, - 139, 139, 139, 139, 126, 139, 127, 139, 11, 139, - 13, 139, 33, 37, 39, 139, 139, 43, 139, 46, - 139, 139, 53, 139, 139, 139, 139, 60, 61, 139, - - 139, 139, 69, 139, 139, 139, 139, 139, 139, 91, - 86, 139, 139, 92, 139, 139, 105, 104, 139, 139, - 110, 107, 114, 139, 118, 139, 139, 139, 139, 139, - 139, 128, 7, 139, 41, 139, 45, 139, 139, 139, - 139, 139, 49, 55, 139, 66, 139, 139, 67, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 117, 139, 139, 115, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 65, 68, 76, 139, - 139, 139, 77, 139, 93, 94, 139, 97, 139, 139, - 139, 139, 116, 139, 139, 139, 42, 139, 139, 139, - - 54, 139, 62, 139, 139, 139, 139, 139, 139, 106, - 119, 139, 139, 123, 139, 139, 58, 139, 57, 139, - 139, 139, 139, 103, 139, 139, 139, 139, 47, 139, - 139, 139, 139, 139, 102, 120, 122, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 52, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 35, 139, 139, 139, 139, 139, 139, 139, 139, 78, - 79, 80, 139, 139, 132, 0 + 0, 0, 138, 136, 1, 1, 136, 5, 136, 6, + 136, 136, 136, 136, 136, 131, 20, 2, 136, 15, + 136, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 136, 27, 23, 18, 24, 16, 25, + 17, 0, 133, 3, 4, 19, 132, 131, 0, 28, + 26, 29, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 81, 80, 135, 135, 135, + + 135, 135, 135, 135, 135, 135, 135, 135, 95, 135, + 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 126, 127, 135, 135, 135, 135, 135, + 135, 135, 22, 21, 0, 132, 0, 0, 134, 135, + 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 48, 135, 135, + 135, 135, 135, 135, 135, 61, 135, 135, 135, 135, + 72, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 86, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, + + 135, 135, 109, 135, 135, 135, 135, 135, 135, 135, + 122, 135, 135, 135, 135, 135, 0, 133, 0, 0, + 132, 30, 135, 135, 135, 135, 34, 36, 135, 135, + 135, 135, 42, 56, 135, 45, 135, 135, 135, 135, + 135, 135, 47, 135, 135, 60, 135, 135, 135, 135, + 68, 135, 69, 135, 71, 135, 135, 135, 135, 78, + 135, 135, 135, 135, 135, 84, 135, 85, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 106, 135, 135, 135, 135, 118, 110, 135, 135, 108, + 135, 135, 135, 135, 135, 129, 121, 135, 135, 135, + + 135, 10, 9, 8, 135, 12, 14, 0, 132, 32, + 135, 135, 135, 38, 135, 135, 135, 135, 135, 135, + 135, 135, 53, 135, 135, 135, 135, 135, 135, 135, + 67, 135, 70, 135, 135, 130, 135, 79, 135, 82, + 135, 135, 87, 135, 135, 135, 92, 93, 135, 135, + 96, 135, 97, 98, 135, 135, 135, 135, 135, 105, + 135, 135, 135, 135, 135, 135, 135, 123, 135, 124, + 135, 11, 135, 13, 135, 31, 35, 37, 135, 135, + 41, 135, 135, 135, 50, 135, 135, 135, 135, 57, + 58, 135, 135, 135, 66, 135, 135, 135, 135, 135, + + 135, 88, 83, 135, 135, 89, 135, 135, 102, 101, + 135, 135, 107, 104, 111, 135, 115, 135, 135, 135, + 135, 135, 135, 125, 7, 135, 39, 135, 43, 135, + 135, 135, 135, 135, 46, 52, 135, 63, 135, 135, + 64, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 114, 135, 135, 112, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, 62, 65, + 73, 135, 135, 135, 74, 135, 90, 91, 135, 94, + 135, 135, 135, 135, 113, 135, 135, 135, 40, 135, + 135, 135, 51, 135, 59, 135, 135, 135, 135, 135, + + 135, 103, 116, 135, 135, 120, 135, 135, 55, 135, + 54, 135, 135, 135, 135, 100, 135, 135, 135, 135, + 44, 135, 135, 135, 135, 135, 99, 117, 119, 135, + 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 49, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 33, 135, 135, 135, 135, 135, 135, 135, + 135, 75, 76, 77, 135, 135, 128, 0 } ; static yyconst int yy_ec[256] = @@ -363,11 +362,11 @@ static yyconst int yy_ec[256] = 21, 22, 1, 1, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 39, 39, 39, - 1, 46, 1, 1, 47, 1, 48, 49, 50, 51, + 1, 1, 1, 1, 46, 1, 47, 48, 49, 50, - 52, 53, 54, 55, 56, 39, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 1, 73, 1, 74, 1, 1, 1, 1, + 51, 52, 53, 54, 55, 39, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 1, 72, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -384,242 +383,239 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[75] = +static yyconst int yy_meta[73] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 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, 1, 1 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 1 } ; -static yyconst short int yy_base[578] = +static yyconst short int yy_base[570] = { 0, - 0, 0, 698, 699, 699, 699, 676, 699, 690, 699, - 674, 66, 67, 65, 77, 79, 699, 699, 673, 672, - 671, 47, 58, 66, 68, 68, 81, 51, 44, 48, - 0, 631, 85, 69, 623, 625, 95, 97, 99, 152, - 623, 626, 630, 633, 611, 662, 699, 699, 699, 699, - 699, 699, 699, 671, 158, 699, 699, 699, 699, 163, - 178, 208, 699, 699, 699, 0, 620, 624, 629, 622, - 68, 615, 604, 608, 615, 51, 617, 624, 607, 143, - 612, 611, 620, 605, 608, 614, 141, 615, 602, 601, - 597, 600, 618, 635, 591, 605, 593, 612, 0, 0, - - 592, 581, 591, 590, 127, 618, 597, 583, 595, 581, - 573, 0, 35, 88, 91, 583, 146, 576, 583, 579, - 579, 105, 574, 573, 572, 576, 0, 0, 599, 573, - 581, 583, 574, 571, 562, 558, 699, 699, 699, 218, - 223, 232, 238, 243, 561, 577, 236, 564, 563, 558, - 563, 564, 559, 556, 559, 557, 557, 550, 563, 560, - 550, 137, 555, 557, 560, 538, 548, 549, 156, 538, - 0, 539, 537, 540, 549, 0, 549, 568, 566, 552, - 543, 533, 566, 526, 539, 536, 537, 574, 525, 539, - 518, 535, 531, 534, 516, 520, 525, 518, 525, 516, - - 521, 523, 512, 505, 523, 518, 500, 513, 511, 510, - 499, 241, 511, 504, 535, 506, 512, 499, 498, 490, - 501, 218, 256, 274, 283, 288, 293, 0, 490, 493, - 497, 504, 0, 536, 502, 493, 496, 496, 0, 0, - 479, 0, 497, 486, 479, 478, 485, 482, 0, 473, - 472, 0, 481, 474, 474, 481, 0, 466, 0, 468, - 0, 465, 483, 493, 480, 0, 461, 486, 460, 460, - 457, 0, 509, 0, 179, 463, 455, 455, 459, 461, - 464, 459, 448, 449, 446, 447, 0, 451, 445, 442, - 456, 0, 0, 446, 445, 0, 456, 439, 450, 453, - - 448, 0, 0, 428, 433, 443, 437, 0, 0, 437, - 0, 442, 435, 0, 298, 303, 447, 426, 430, 429, - 0, 438, 427, 422, 209, 427, 434, 431, 430, 439, - 420, 427, 426, 425, 426, 178, 411, 0, 423, 0, - 417, 171, 0, 414, 0, 433, 0, 405, 414, 0, - 420, 411, 405, 0, 0, 413, 414, 0, 403, 0, - 0, 409, 409, 411, 399, 406, 0, 405, 390, 389, - 402, 395, 402, 385, 0, 209, 0, 398, 0, 395, - 0, 392, 0, 0, 432, 380, 393, 0, 384, 0, - 385, 376, 0, 381, 392, 387, 368, 0, 0, 389, - - 269, 380, 0, 383, 373, 299, 410, 365, 394, 0, - 0, 370, 357, 0, 362, 379, 0, 0, 361, 369, - 0, 0, 0, 371, 0, 370, 374, 369, 356, 363, - 370, 0, 0, 351, 0, 355, 0, 361, 374, 361, - 362, 362, 0, 0, 344, 0, 344, 358, 0, 347, - 374, 369, 362, 351, 368, 344, 348, 335, 340, 332, - 336, 0, 339, 328, 0, 322, 332, 325, 335, 325, - 364, 326, 322, 333, 326, 335, 0, 0, 0, 345, - 344, 355, 0, 356, 0, 0, 322, 0, 321, 324, - 305, 318, 0, 317, 320, 334, 0, 309, 310, 312, - - 0, 315, 0, 326, 325, 334, 321, 312, 300, 0, - 0, 292, 293, 0, 296, 287, 0, 291, 0, 308, - 307, 306, 321, 0, 291, 298, 297, 282, 0, 281, - 302, 301, 300, 306, 0, 0, 0, 286, 285, 313, - 312, 311, 301, 275, 285, 294, 293, 292, 284, 269, - 0, 287, 286, 285, 283, 258, 264, 263, 254, 259, - 0, 227, 226, 192, 196, 178, 175, 168, 155, 0, - 0, 0, 125, 109, 0, 699, 102 + 0, 0, 690, 691, 691, 691, 668, 691, 682, 691, + 666, 64, 65, 63, 75, 77, 691, 691, 665, 664, + 663, 46, 48, 65, 66, 65, 79, 62, 45, 46, + 0, 624, 80, 46, 616, 618, 94, 95, 98, 150, + 616, 619, 627, 605, 691, 691, 691, 691, 691, 691, + 691, 665, 156, 691, 691, 691, 161, 176, 185, 691, + 691, 691, 0, 615, 619, 624, 617, 91, 610, 599, + 603, 610, 93, 612, 619, 602, 151, 607, 606, 615, + 600, 603, 609, 156, 610, 597, 596, 592, 595, 612, + 629, 586, 600, 588, 606, 0, 0, 587, 576, 586, + + 585, 70, 612, 592, 578, 590, 576, 568, 0, 96, + 112, 124, 578, 155, 571, 578, 574, 574, 44, 569, + 568, 567, 571, 0, 0, 593, 568, 576, 578, 569, + 566, 554, 691, 691, 209, 215, 224, 230, 235, 557, + 573, 228, 560, 559, 554, 559, 560, 555, 552, 555, + 553, 553, 546, 559, 556, 546, 206, 551, 553, 556, + 534, 544, 545, 116, 534, 0, 535, 533, 536, 545, + 0, 545, 563, 561, 547, 539, 529, 561, 522, 535, + 532, 533, 569, 521, 535, 514, 531, 527, 530, 512, + 516, 521, 514, 521, 512, 517, 519, 508, 501, 519, + + 514, 496, 509, 507, 506, 495, 233, 507, 500, 530, + 502, 508, 495, 494, 486, 211, 248, 266, 275, 280, + 285, 0, 487, 490, 494, 501, 0, 532, 499, 490, + 493, 493, 0, 0, 476, 0, 494, 483, 476, 475, + 482, 479, 0, 470, 469, 0, 478, 471, 471, 478, + 0, 463, 0, 465, 0, 462, 480, 489, 477, 0, + 458, 482, 457, 457, 454, 0, 505, 0, 145, 460, + 452, 452, 456, 458, 461, 456, 445, 446, 443, 444, + 0, 448, 442, 439, 453, 0, 0, 443, 442, 0, + 453, 436, 447, 450, 445, 0, 0, 425, 430, 440, + + 434, 0, 434, 0, 439, 432, 0, 290, 295, 443, + 423, 427, 426, 0, 435, 424, 419, 426, 423, 430, + 427, 426, 434, 416, 423, 422, 421, 422, 171, 407, + 0, 419, 0, 413, 221, 0, 410, 0, 428, 0, + 401, 410, 0, 416, 407, 401, 0, 0, 409, 410, + 0, 399, 0, 0, 405, 405, 407, 395, 402, 0, + 401, 386, 385, 398, 391, 398, 381, 0, 261, 0, + 394, 0, 391, 0, 388, 0, 0, 427, 376, 389, + 0, 380, 381, 372, 0, 377, 388, 383, 364, 0, + 0, 385, 264, 376, 0, 379, 369, 183, 405, 361, + + 389, 0, 0, 366, 353, 0, 358, 375, 0, 0, + 357, 365, 0, 0, 0, 367, 0, 366, 370, 365, + 352, 359, 366, 0, 0, 347, 0, 351, 0, 357, + 369, 357, 358, 358, 0, 0, 340, 0, 340, 354, + 0, 343, 369, 364, 357, 347, 363, 340, 344, 331, + 336, 328, 332, 0, 335, 324, 0, 318, 328, 321, + 331, 321, 359, 322, 318, 329, 322, 331, 0, 0, + 0, 340, 339, 350, 0, 351, 0, 0, 318, 0, + 317, 320, 301, 314, 0, 313, 316, 329, 0, 305, + 306, 308, 0, 311, 0, 321, 320, 329, 316, 308, + + 296, 0, 0, 288, 289, 0, 292, 283, 0, 287, + 0, 304, 303, 302, 316, 0, 287, 294, 293, 278, + 0, 277, 297, 296, 295, 301, 0, 0, 0, 282, + 281, 308, 307, 306, 296, 271, 281, 289, 288, 287, + 280, 266, 0, 283, 282, 281, 280, 256, 286, 285, + 283, 262, 0, 249, 240, 239, 227, 219, 180, 160, + 155, 0, 0, 0, 98, 91, 0, 691, 79 } ; -static yyconst short int yy_def[578] = +static yyconst short int yy_def[570] = { 0, - 576, 1, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 576, 576, 576, 576, - 576, 576, 576, 576, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 576, 576, 576, 576, 576, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 576, 576, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 577, 0, 576 + 568, 1, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 568, 568, 568, 568, 568, 568, 568, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 568, 568, 568, 568, + 568, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + + 569, 569, 569, 569, 569, 569, 569, 568, 568, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 569, 569, 569, 569, 569, 0, 568 } ; -static yyconst short int yy_nxt[774] = +static yyconst short int yy_nxt[764] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 31, 38, - 39, 40, 41, 42, 43, 4, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 44, + 39, 40, 41, 42, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 43, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 45, 46, 50, 54, 52, 55, 55, 55, - 55, 55, 196, 98, 56, 93, 51, 53, 57, 60, - 94, 61, 61, 61, 61, 61, 67, 58, 72, 96, - - 99, 197, 95, 66, 68, 62, 106, 100, 155, 73, - 69, 70, 71, 76, 97, 149, 156, 77, 74, 81, - 78, 79, 59, 82, 75, 85, 80, 86, 88, 107, - 62, 83, 102, 150, 84, 575, 103, 87, 89, 90, - 104, 91, 110, 198, 116, 105, 200, 92, 117, 111, - 112, 201, 113, 120, 121, 114, 199, 118, 115, 574, - 122, 123, 209, 119, 124, 125, 127, 128, 210, 126, - 55, 55, 55, 55, 55, 141, 141, 141, 141, 141, - 188, 573, 129, 255, 140, 247, 256, 189, 60, 142, - 61, 61, 61, 61, 61, 203, 170, 160, 248, 130, - - 161, 162, 171, 572, 62, 406, 172, 163, 407, 140, - 571, 204, 131, 570, 142, 132, 143, 143, 351, 352, - 144, 144, 144, 144, 144, 569, 223, 223, 568, 62, - 224, 224, 224, 224, 224, 141, 141, 141, 141, 141, - 226, 226, 401, 402, 227, 227, 227, 227, 227, 225, - 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, - 230, 430, 567, 566, 389, 297, 431, 309, 224, 224, - 224, 224, 224, 390, 225, 310, 231, 232, 298, 311, - 299, 312, 313, 565, 564, 314, 224, 224, 224, 224, - 224, 315, 315, 563, 562, 316, 316, 316, 316, 316, - - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, - 446, 451, 561, 560, 447, 559, 558, 557, 556, 452, - 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, 473, 472, 471, 470, 469, 468, 467, 466, - 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, - 455, 454, 453, 450, 449, 448, 445, 444, 443, 442, - 441, 440, 439, 438, 437, 436, 435, 434, 433, 432, - 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, - 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, - 409, 408, 405, 404, 403, 400, 399, 398, 397, 396, - 395, 394, 393, 392, 391, 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, - 363, 362, 361, 360, 359, 358, 357, 356, 355, 354, - 353, 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, 325, 324, 323, 322, - 321, 320, 319, 318, 317, 308, 307, 306, 305, 304, - 303, 302, 301, 300, 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, 259, 258, 257, 254, 253, 252, 251, 250, 249, - 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, - 236, 235, 234, 233, 229, 228, 222, 221, 220, 219, - 218, 217, 216, 215, 214, 213, 212, 211, 208, 207, - 206, 205, 202, 195, 194, 193, 192, 191, 190, 187, - 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, - 176, 175, 174, 173, 169, 168, 167, 166, 165, 164, - 159, 158, 157, 154, 153, 152, 151, 148, 147, 146, - 145, 139, 138, 137, 136, 135, 134, 133, 109, 108, - 101, 65, 64, 63, 49, 48, 47, 576, 3, 576, - - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576 + 31, 44, 48, 52, 50, 53, 53, 53, 53, 53, + 63, 95, 54, 103, 49, 51, 55, 57, 69, 58, + 58, 58, 58, 58, 64, 56, 90, 96, 70, 93, + + 204, 91, 65, 59, 97, 104, 205, 71, 66, 67, + 68, 73, 92, 72, 94, 74, 78, 567, 75, 76, + 79, 82, 183, 83, 77, 85, 99, 59, 80, 184, + 100, 81, 566, 84, 101, 86, 87, 144, 88, 102, + 107, 113, 191, 249, 89, 114, 250, 108, 109, 150, + 110, 117, 118, 111, 115, 145, 112, 151, 119, 120, + 116, 192, 121, 122, 124, 125, 193, 123, 53, 53, + 53, 53, 53, 136, 136, 136, 136, 136, 195, 194, + 126, 565, 135, 196, 344, 345, 57, 137, 58, 58, + 58, 58, 58, 138, 138, 564, 127, 139, 139, 139, + + 139, 139, 59, 198, 155, 443, 135, 156, 157, 128, + 165, 137, 129, 444, 158, 563, 166, 217, 217, 199, + 167, 218, 218, 218, 218, 218, 59, 136, 136, 136, + 136, 136, 220, 220, 393, 394, 221, 221, 221, 221, + 221, 219, 139, 139, 139, 139, 139, 139, 139, 139, + 139, 139, 224, 241, 562, 398, 561, 291, 399, 302, + 218, 218, 218, 218, 218, 219, 242, 303, 225, 226, + 292, 304, 293, 305, 306, 560, 559, 307, 218, 218, + 218, 218, 218, 308, 308, 558, 557, 309, 309, 309, + 309, 309, 221, 221, 221, 221, 221, 221, 221, 221, + + 221, 221, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 309, 422, 556, 438, 555, 554, 423, 439, 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, 473, + + 472, 471, 470, 469, 468, 467, 466, 465, 464, 463, + 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, + 452, 451, 450, 449, 448, 447, 446, 445, 442, 441, + 440, 437, 436, 435, 434, 433, 432, 431, 430, 429, + 428, 427, 426, 425, 424, 421, 420, 419, 418, 417, + 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, + 406, 405, 404, 403, 402, 401, 400, 397, 396, 395, + 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, 363, + + 362, 361, 360, 359, 358, 357, 356, 355, 354, 353, + 352, 351, 350, 349, 348, 347, 346, 343, 342, 341, + 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, + 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, + 320, 319, 318, 317, 316, 315, 314, 313, 312, 311, + 310, 301, 300, 299, 298, 297, 296, 295, 294, 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, + 259, 258, 257, 256, 255, 254, 253, 252, 251, 248, + + 247, 246, 245, 244, 243, 240, 239, 238, 237, 236, + 235, 234, 233, 232, 231, 230, 229, 228, 227, 223, + 222, 216, 215, 214, 213, 212, 211, 210, 209, 208, + 207, 206, 203, 202, 201, 200, 197, 190, 189, 188, + 187, 186, 185, 182, 181, 180, 179, 178, 177, 176, + 175, 174, 173, 172, 171, 170, 169, 168, 164, 163, + 162, 161, 160, 159, 154, 153, 152, 149, 148, 147, + 146, 143, 142, 141, 140, 134, 133, 132, 131, 130, + 106, 105, 98, 62, 61, 60, 47, 46, 45, 568, + 3, 568, 568, 568, 568, 568, 568, 568, 568, 568, + + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568 } ; -static yyconst short int yy_chk[774] = +static yyconst short int yy_chk[764] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -628,84 +624,83 @@ static yyconst short int yy_chk[774] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 12, 14, 13, 14, 14, 14, - 14, 14, 113, 30, 15, 28, 12, 13, 15, 16, - 28, 16, 16, 16, 16, 16, 22, 15, 23, 29, - - 30, 113, 28, 577, 22, 16, 34, 30, 76, 23, - 22, 22, 22, 24, 29, 71, 76, 24, 23, 25, - 24, 24, 15, 25, 23, 26, 24, 26, 27, 34, - 16, 25, 33, 71, 25, 574, 33, 26, 27, 27, - 33, 27, 37, 114, 38, 33, 115, 27, 38, 37, - 37, 115, 37, 39, 39, 37, 114, 38, 37, 573, - 39, 39, 122, 38, 39, 39, 40, 40, 122, 39, - 55, 55, 55, 55, 55, 60, 60, 60, 60, 60, - 105, 569, 40, 169, 55, 162, 169, 105, 61, 60, - 61, 61, 61, 61, 61, 117, 87, 80, 162, 40, - - 80, 80, 87, 568, 61, 342, 87, 80, 342, 55, - 567, 117, 40, 566, 60, 40, 62, 62, 275, 275, - 62, 62, 62, 62, 62, 565, 140, 140, 564, 61, - 140, 140, 140, 140, 140, 141, 141, 141, 141, 141, - 142, 142, 336, 336, 142, 142, 142, 142, 142, 141, - 143, 143, 143, 143, 143, 144, 144, 144, 144, 144, - 147, 376, 563, 562, 325, 212, 376, 222, 223, 223, - 223, 223, 223, 325, 141, 222, 147, 147, 212, 222, - 212, 222, 222, 560, 559, 222, 224, 224, 224, 224, - 224, 225, 225, 558, 557, 225, 225, 225, 225, 225, - - 226, 226, 226, 226, 226, 227, 227, 227, 227, 227, - 315, 315, 315, 315, 315, 316, 316, 316, 316, 316, - 401, 406, 556, 555, 401, 554, 553, 552, 550, 406, - 549, 548, 547, 546, 545, 544, 543, 542, 541, 540, - 539, 538, 534, 533, 532, 531, 530, 528, 527, 526, - 525, 523, 522, 521, 520, 518, 516, 515, 513, 512, - 509, 508, 507, 506, 505, 504, 502, 500, 499, 498, - 496, 495, 494, 492, 491, 490, 489, 487, 484, 482, - 481, 480, 476, 475, 474, 473, 472, 471, 470, 469, - 468, 467, 466, 464, 463, 461, 460, 459, 458, 457, - - 456, 455, 454, 453, 452, 451, 450, 448, 447, 445, - 442, 441, 440, 439, 438, 436, 434, 431, 430, 429, - 428, 427, 426, 424, 420, 419, 416, 415, 413, 412, - 409, 408, 407, 405, 404, 402, 400, 397, 396, 395, - 394, 392, 391, 389, 387, 386, 385, 382, 380, 378, - 374, 373, 372, 371, 370, 369, 368, 366, 365, 364, - 363, 362, 359, 357, 356, 353, 352, 351, 349, 348, - 346, 344, 341, 339, 337, 335, 334, 333, 332, 331, - 330, 329, 328, 327, 326, 324, 323, 322, 320, 319, - 318, 317, 313, 312, 310, 307, 306, 305, 304, 301, - - 300, 299, 298, 297, 295, 294, 291, 290, 289, 288, - 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, - 276, 273, 271, 270, 269, 268, 267, 265, 264, 263, - 262, 260, 258, 256, 255, 254, 253, 251, 250, 248, - 247, 246, 245, 244, 243, 241, 238, 237, 236, 235, - 234, 232, 231, 230, 229, 221, 220, 219, 218, 217, - 216, 215, 214, 213, 211, 210, 209, 208, 207, 206, + 1, 1, 12, 14, 13, 14, 14, 14, 14, 14, + 569, 30, 15, 34, 12, 13, 15, 16, 23, 16, + 16, 16, 16, 16, 22, 15, 28, 30, 23, 29, + + 119, 28, 22, 16, 30, 34, 119, 23, 22, 22, + 22, 24, 28, 23, 29, 24, 25, 566, 24, 24, + 25, 26, 102, 26, 24, 27, 33, 16, 25, 102, + 33, 25, 565, 26, 33, 27, 27, 68, 27, 33, + 37, 38, 110, 164, 27, 38, 164, 37, 37, 73, + 37, 39, 39, 37, 38, 68, 37, 73, 39, 39, + 38, 110, 39, 39, 40, 40, 111, 39, 53, 53, + 53, 53, 53, 57, 57, 57, 57, 57, 112, 111, + 40, 561, 53, 112, 269, 269, 58, 57, 58, 58, + 58, 58, 58, 59, 59, 560, 40, 59, 59, 59, + + 59, 59, 58, 114, 77, 398, 53, 77, 77, 40, + 84, 57, 40, 398, 77, 559, 84, 135, 135, 114, + 84, 135, 135, 135, 135, 135, 58, 136, 136, 136, + 136, 136, 137, 137, 329, 329, 137, 137, 137, 137, + 137, 136, 138, 138, 138, 138, 138, 139, 139, 139, + 139, 139, 142, 157, 558, 335, 557, 207, 335, 216, + 217, 217, 217, 217, 217, 136, 157, 216, 142, 142, + 207, 216, 207, 216, 216, 556, 555, 216, 218, 218, + 218, 218, 218, 219, 219, 554, 552, 219, 219, 219, + 219, 219, 220, 220, 220, 220, 220, 221, 221, 221, + + 221, 221, 308, 308, 308, 308, 308, 309, 309, 309, + 309, 309, 369, 551, 393, 550, 549, 369, 393, 548, + 547, 546, 545, 544, 542, 541, 540, 539, 538, 537, + 536, 535, 534, 533, 532, 531, 530, 526, 525, 524, + 523, 522, 520, 519, 518, 517, 515, 514, 513, 512, + 510, 508, 507, 505, 504, 501, 500, 499, 498, 497, + 496, 494, 492, 491, 490, 488, 487, 486, 484, 483, + 482, 481, 479, 476, 474, 473, 472, 468, 467, 466, + 465, 464, 463, 462, 461, 460, 459, 458, 456, 455, + 453, 452, 451, 450, 449, 448, 447, 446, 445, 444, + + 443, 442, 440, 439, 437, 434, 433, 432, 431, 430, + 428, 426, 423, 422, 421, 420, 419, 418, 416, 412, + 411, 408, 407, 405, 404, 401, 400, 399, 397, 396, + 394, 392, 389, 388, 387, 386, 384, 383, 382, 380, + 379, 378, 375, 373, 371, 367, 366, 365, 364, 363, + 362, 361, 359, 358, 357, 356, 355, 352, 350, 349, + 346, 345, 344, 342, 341, 339, 337, 334, 332, 330, + 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, + 318, 317, 316, 315, 313, 312, 311, 310, 306, 305, + 303, 301, 300, 299, 298, 295, 294, 293, 292, 291, + + 289, 288, 285, 284, 283, 282, 280, 279, 278, 277, + 276, 275, 274, 273, 272, 271, 270, 267, 265, 264, + 263, 262, 261, 259, 258, 257, 256, 254, 252, 250, + 249, 248, 247, 245, 244, 242, 241, 240, 239, 238, + 237, 235, 232, 231, 230, 229, 228, 226, 225, 224, + 223, 215, 214, 213, 212, 211, 210, 209, 208, 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, 170, 168, 167, 166, 165, 164, 163, - 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, - 151, 150, 149, 148, 146, 145, 136, 135, 134, 133, - 132, 131, 130, 129, 126, 125, 124, 123, 121, 120, - 119, 118, 116, 111, 110, 109, 108, 107, 106, 104, - 103, 102, 101, 98, 97, 96, 95, 94, 93, 92, - 91, 90, 89, 88, 86, 85, 84, 83, 82, 81, - 79, 78, 77, 75, 74, 73, 72, 70, 69, 68, - 67, 54, 46, 45, 44, 43, 42, 41, 36, 35, - 32, 21, 20, 19, 11, 9, 7, 3, 576, 576, - - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 576 + 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, + 175, 174, 173, 172, 170, 169, 168, 167, 165, 163, + + 162, 161, 160, 159, 158, 156, 155, 154, 153, 152, + 151, 150, 149, 148, 147, 146, 145, 144, 143, 141, + 140, 132, 131, 130, 129, 128, 127, 126, 123, 122, + 121, 120, 118, 117, 116, 115, 113, 108, 107, 106, + 105, 104, 103, 101, 100, 99, 98, 95, 94, 93, + 92, 91, 90, 89, 88, 87, 86, 85, 83, 82, + 81, 80, 79, 78, 76, 75, 74, 72, 71, 70, + 69, 67, 66, 65, 64, 52, 44, 43, 42, 41, + 36, 35, 32, 21, 20, 19, 11, 9, 7, 3, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568 } ; static yy_state_type yy_last_accepting_state; @@ -722,7 +717,7 @@ char *yytext; #line 1 "Gmsh.l" #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.296 2007-01-20 14:06:39 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.297 2007-01-25 15:51:03 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -783,7 +778,7 @@ void skipline(void); && ferror( yyin ) ) \ Msg(FATAL, "Input in flex scanner failed"); -#line 787 "Gmsh.yy.cpp" +#line 782 "Gmsh.yy.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -937,7 +932,7 @@ YY_DECL #line 79 "Gmsh.l" -#line 941 "Gmsh.yy.cpp" +#line 936 "Gmsh.yy.cpp" if ( yy_init ) { @@ -988,13 +983,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 >= 577 ) + if ( yy_current_state >= 569 ) 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] != 699 ); + while ( yy_base[yy_current_state] != 691 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1128,595 +1123,575 @@ return tDOTS; case 22: YY_RULE_SETUP #line 102 "Gmsh.l" -return tCROSSPRODUCT; +return tOR; YY_BREAK case 23: YY_RULE_SETUP #line 103 "Gmsh.l" -return tOR; +return tAND; YY_BREAK case 24: YY_RULE_SETUP #line 104 "Gmsh.l" -return tAND; +return tPLUSPLUS; YY_BREAK case 25: YY_RULE_SETUP #line 105 "Gmsh.l" -return tPLUSPLUS; +return tMINUSMINUS; YY_BREAK case 26: YY_RULE_SETUP #line 106 "Gmsh.l" -return tMINUSMINUS; +return tEQUAL; YY_BREAK case 27: YY_RULE_SETUP #line 107 "Gmsh.l" -return tEQUAL; +return tNOTEQUAL; YY_BREAK case 28: YY_RULE_SETUP #line 108 "Gmsh.l" -return tNOTEQUAL; +return tLESSOREQUAL; YY_BREAK case 29: YY_RULE_SETUP #line 109 "Gmsh.l" -return tAPPROXEQUAL; +return tGREATEROREQUAL; YY_BREAK case 30: YY_RULE_SETUP -#line 110 "Gmsh.l" -return tLESSOREQUAL; +#line 111 "Gmsh.l" +return tAcos; YY_BREAK case 31: YY_RULE_SETUP -#line 111 "Gmsh.l" -return tGREATEROREQUAL; +#line 112 "Gmsh.l" +return tAcos; YY_BREAK case 32: YY_RULE_SETUP #line 113 "Gmsh.l" -return tAcos; +return tAlias; YY_BREAK case 33: YY_RULE_SETUP #line 114 "Gmsh.l" -return tAcos; +return tAliasWithOptions; YY_BREAK case 34: YY_RULE_SETUP #line 115 "Gmsh.l" -return tAlias; +return tAsin; YY_BREAK case 35: YY_RULE_SETUP #line 116 "Gmsh.l" -return tAliasWithOptions; +return tAsin; YY_BREAK case 36: YY_RULE_SETUP #line 117 "Gmsh.l" -return tAsin; +return tAtan; YY_BREAK case 37: YY_RULE_SETUP #line 118 "Gmsh.l" -return tAsin; +return tAtan; YY_BREAK case 38: YY_RULE_SETUP #line 119 "Gmsh.l" -return tAtan; +return tAtan2; YY_BREAK case 39: YY_RULE_SETUP #line 120 "Gmsh.l" -return tAtan; +return tAtan2; YY_BREAK case 40: YY_RULE_SETUP #line 121 "Gmsh.l" -return tAtan2; +return tAttractor; YY_BREAK case 41: YY_RULE_SETUP -#line 122 "Gmsh.l" -return tAtan2; +#line 123 "Gmsh.l" +return tBezier; YY_BREAK case 42: YY_RULE_SETUP -#line 123 "Gmsh.l" -return tAttractor; +#line 124 "Gmsh.l" +return tBump; YY_BREAK case 43: YY_RULE_SETUP #line 125 "Gmsh.l" -return tBezier; +return tBSpline; YY_BREAK case 44: YY_RULE_SETUP #line 126 "Gmsh.l" -return tBump; +return tBoundingBox; YY_BREAK case 45: YY_RULE_SETUP -#line 127 "Gmsh.l" -return tBSpline; +#line 128 "Gmsh.l" +return tCeil; YY_BREAK case 46: YY_RULE_SETUP -#line 128 "Gmsh.l" -return tBounds; +#line 129 "Gmsh.l" +return tCombine; YY_BREAK case 47: YY_RULE_SETUP -#line 129 "Gmsh.l" -return tBoundingBox; +#line 130 "Gmsh.l" +return tCosh; YY_BREAK case 48: YY_RULE_SETUP #line 131 "Gmsh.l" -return tCeil; +return tCos; YY_BREAK case 49: YY_RULE_SETUP #line 132 "Gmsh.l" -return tCombine; +return tCharacteristic; YY_BREAK case 50: YY_RULE_SETUP #line 133 "Gmsh.l" -return tCosh; +return tCircle; YY_BREAK case 51: YY_RULE_SETUP #line 134 "Gmsh.l" -return tCos; +return tCoherence; YY_BREAK case 52: YY_RULE_SETUP #line 135 "Gmsh.l" -return tCharacteristic; +return tComplex; YY_BREAK case 53: YY_RULE_SETUP #line 136 "Gmsh.l" -return tCircle; +return tColor; YY_BREAK case 54: YY_RULE_SETUP #line 137 "Gmsh.l" -return tCoherence; +return tColorTable; YY_BREAK case 55: YY_RULE_SETUP #line 138 "Gmsh.l" -return tComplex; +return tSpline; YY_BREAK case 56: YY_RULE_SETUP #line 139 "Gmsh.l" -return tColor; +return tCall; YY_BREAK case 57: YY_RULE_SETUP -#line 140 "Gmsh.l" -return tColorTable; +#line 141 "Gmsh.l" +return tDelete; YY_BREAK case 58: YY_RULE_SETUP -#line 141 "Gmsh.l" -return tSpline; +#line 142 "Gmsh.l" +return tDilate; YY_BREAK case 59: YY_RULE_SETUP -#line 142 "Gmsh.l" -return tCall; +#line 143 "Gmsh.l" +return tDuplicata; YY_BREAK case 60: YY_RULE_SETUP #line 144 "Gmsh.l" -return tDelete; +return tDraw; YY_BREAK case 61: YY_RULE_SETUP -#line 145 "Gmsh.l" -return tDilate; +#line 146 "Gmsh.l" +return tExp; YY_BREAK case 62: YY_RULE_SETUP -#line 146 "Gmsh.l" -return tDuplicata; +#line 147 "Gmsh.l" +return tEllipse; YY_BREAK case 63: YY_RULE_SETUP -#line 147 "Gmsh.l" -return tDraw; +#line 148 "Gmsh.l" +return tEllipse; YY_BREAK case 64: YY_RULE_SETUP #line 149 "Gmsh.l" -return tExp; +return tExtrude; YY_BREAK case 65: YY_RULE_SETUP #line 150 "Gmsh.l" -return tEllipse; +return tElliptic; YY_BREAK case 66: YY_RULE_SETUP #line 151 "Gmsh.l" -return tEllipse; +return tEndFor; YY_BREAK case 67: YY_RULE_SETUP #line 152 "Gmsh.l" -return tExtrude; +return tEndIf; YY_BREAK case 68: YY_RULE_SETUP #line 153 "Gmsh.l" -return tElliptic; +return tExit; YY_BREAK case 69: YY_RULE_SETUP -#line 154 "Gmsh.l" -return tEndFor; +#line 155 "Gmsh.l" +return tFabs; YY_BREAK case 70: YY_RULE_SETUP -#line 155 "Gmsh.l" -return tEndIf; +#line 156 "Gmsh.l" +return tFloor; YY_BREAK case 71: YY_RULE_SETUP -#line 156 "Gmsh.l" -return tExit; +#line 157 "Gmsh.l" +return tFmod; YY_BREAK case 72: YY_RULE_SETUP #line 158 "Gmsh.l" -return tFabs; +return tFor; YY_BREAK case 73: YY_RULE_SETUP #line 159 "Gmsh.l" -return tFloor; +return tFunction; YY_BREAK case 74: YY_RULE_SETUP -#line 160 "Gmsh.l" -return tFmod; +#line 161 "Gmsh.l" +return tGetValue; YY_BREAK case 75: YY_RULE_SETUP -#line 161 "Gmsh.l" -return tFor; +#line 162 "Gmsh.l" +return tGMSH_MAJOR_VERSION; YY_BREAK case 76: YY_RULE_SETUP -#line 162 "Gmsh.l" -return tFunction; +#line 163 "Gmsh.l" +return tGMSH_MINOR_VERSION; YY_BREAK case 77: YY_RULE_SETUP #line 164 "Gmsh.l" -return tGetValue; +return tGMSH_PATCH_VERSION; YY_BREAK case 78: YY_RULE_SETUP -#line 165 "Gmsh.l" -return tGMSH_MAJOR_VERSION; +#line 166 "Gmsh.l" +return tHide; YY_BREAK case 79: YY_RULE_SETUP -#line 166 "Gmsh.l" -return tGMSH_MINOR_VERSION; +#line 167 "Gmsh.l" +return tHypot; YY_BREAK case 80: YY_RULE_SETUP -#line 167 "Gmsh.l" -return tGMSH_PATCH_VERSION; +#line 169 "Gmsh.l" +return tIn; YY_BREAK case 81: YY_RULE_SETUP -#line 169 "Gmsh.l" -return tHide; +#line 170 "Gmsh.l" +return tIf; YY_BREAK case 82: YY_RULE_SETUP -#line 170 "Gmsh.l" -return tHypot; +#line 172 "Gmsh.l" +return tKnots; YY_BREAK case 83: YY_RULE_SETUP -#line 172 "Gmsh.l" -return tIn; +#line 174 "Gmsh.l" +return tLength; YY_BREAK case 84: YY_RULE_SETUP -#line 173 "Gmsh.l" -return tIf; +#line 175 "Gmsh.l" +return tLine; YY_BREAK case 85: YY_RULE_SETUP -#line 175 "Gmsh.l" -return tKnots; +#line 176 "Gmsh.l" +return tLoop; YY_BREAK case 86: YY_RULE_SETUP #line 177 "Gmsh.l" -return tLength; +return tLog; YY_BREAK case 87: YY_RULE_SETUP #line 178 "Gmsh.l" -return tLine; +return tLog10; YY_BREAK case 88: YY_RULE_SETUP #line 179 "Gmsh.l" -return tLoop; +return tLayers; YY_BREAK case 89: YY_RULE_SETUP -#line 180 "Gmsh.l" -return tLog; +#line 181 "Gmsh.l" +return tModulo; YY_BREAK case 90: YY_RULE_SETUP -#line 181 "Gmsh.l" -return tLog10; +#line 182 "Gmsh.l" +return tMPI_Rank; YY_BREAK case 91: YY_RULE_SETUP -#line 182 "Gmsh.l" -return tLayers; +#line 183 "Gmsh.l" +return tMPI_Size; YY_BREAK case 92: YY_RULE_SETUP -#line 184 "Gmsh.l" -return tModulo; +#line 185 "Gmsh.l" +return tNurbs; YY_BREAK case 93: YY_RULE_SETUP -#line 185 "Gmsh.l" -return tMPI_Rank; +#line 187 "Gmsh.l" +return tOrder; YY_BREAK case 94: YY_RULE_SETUP -#line 186 "Gmsh.l" -return tMPI_Size; +#line 189 "Gmsh.l" +return tPhysical; YY_BREAK case 95: YY_RULE_SETUP -#line 188 "Gmsh.l" -return tNurbs; +#line 190 "Gmsh.l" +return tPi; YY_BREAK case 96: YY_RULE_SETUP -#line 190 "Gmsh.l" -return tOrder; +#line 191 "Gmsh.l" +return tPlane; YY_BREAK case 97: YY_RULE_SETUP #line 192 "Gmsh.l" -return tPhysical; +return tPoint; YY_BREAK case 98: YY_RULE_SETUP #line 193 "Gmsh.l" -return tPi; +return tProgression; YY_BREAK case 99: YY_RULE_SETUP #line 194 "Gmsh.l" -return tPlane; +return tProgression; YY_BREAK case 100: YY_RULE_SETUP #line 195 "Gmsh.l" -return tPoint; +return tParametric; YY_BREAK case 101: YY_RULE_SETUP #line 196 "Gmsh.l" -return tProgression; +return tPrintf; YY_BREAK case 102: YY_RULE_SETUP #line 197 "Gmsh.l" -return tProgression; +return tPlugin; YY_BREAK case 103: YY_RULE_SETUP -#line 198 "Gmsh.l" -return tParametric; +#line 199 "Gmsh.l" +return tRecombine; YY_BREAK case 104: YY_RULE_SETUP -#line 199 "Gmsh.l" -return tPrintf; +#line 200 "Gmsh.l" +return tRotate; YY_BREAK case 105: YY_RULE_SETUP -#line 200 "Gmsh.l" -return tPlugin; +#line 201 "Gmsh.l" +return tRuled; YY_BREAK case 106: YY_RULE_SETUP #line 202 "Gmsh.l" -return tRecombine; +return tRand; YY_BREAK case 107: YY_RULE_SETUP #line 203 "Gmsh.l" -return tRotate; +return tReturn; YY_BREAK case 108: YY_RULE_SETUP -#line 204 "Gmsh.l" -return tRuled; +#line 205 "Gmsh.l" +return tSqrt; YY_BREAK case 109: YY_RULE_SETUP -#line 205 "Gmsh.l" -return tRand; +#line 206 "Gmsh.l" +return tSin; YY_BREAK case 110: YY_RULE_SETUP -#line 206 "Gmsh.l" -return tReturn; +#line 207 "Gmsh.l" +return tSinh; YY_BREAK case 111: YY_RULE_SETUP #line 208 "Gmsh.l" -return tSqrt; +return tSpline; YY_BREAK case 112: YY_RULE_SETUP #line 209 "Gmsh.l" -return tSin; +return tSurface; YY_BREAK case 113: YY_RULE_SETUP #line 210 "Gmsh.l" -return tSinh; +return tSymmetry; YY_BREAK case 114: YY_RULE_SETUP #line 211 "Gmsh.l" -return tSpline; +return tSprintf; YY_BREAK case 115: YY_RULE_SETUP #line 212 "Gmsh.l" -return tSurface; +return tStrCat; YY_BREAK case 116: YY_RULE_SETUP #line 213 "Gmsh.l" -return tSymmetry; +return tStrPrefix; YY_BREAK case 117: YY_RULE_SETUP #line 214 "Gmsh.l" -return tSprintf; +return tStrRelative; YY_BREAK case 118: YY_RULE_SETUP #line 215 "Gmsh.l" -return tStrCat; +return tShow; YY_BREAK case 119: YY_RULE_SETUP -#line 216 "Gmsh.l" -return tStrPrefix; +#line 217 "Gmsh.l" +return tTransfinite; YY_BREAK case 120: YY_RULE_SETUP -#line 217 "Gmsh.l" -return tStrRelative; +#line 218 "Gmsh.l" +return tTranslate; YY_BREAK case 121: YY_RULE_SETUP -#line 218 "Gmsh.l" -return tShow; +#line 219 "Gmsh.l" +return tTanh; YY_BREAK case 122: YY_RULE_SETUP #line 220 "Gmsh.l" -return tTransfinite; +return tTan; YY_BREAK case 123: YY_RULE_SETUP #line 221 "Gmsh.l" -return tTranslate; +return tToday; YY_BREAK case 124: YY_RULE_SETUP -#line 222 "Gmsh.l" -return tTanh; +#line 223 "Gmsh.l" +return tUsing; YY_BREAK case 125: YY_RULE_SETUP -#line 223 "Gmsh.l" -return tTan; +#line 225 "Gmsh.l" +return tVolume; YY_BREAK case 126: YY_RULE_SETUP -#line 224 "Gmsh.l" -return tToday; +#line 227 "Gmsh.l" +return tText2D; YY_BREAK case 127: YY_RULE_SETUP -#line 226 "Gmsh.l" -return tUsing; +#line 228 "Gmsh.l" +return tText3D; YY_BREAK case 128: YY_RULE_SETUP -#line 228 "Gmsh.l" -return tVolume; +#line 229 "Gmsh.l" +return tInterpolationScheme; YY_BREAK case 129: YY_RULE_SETUP #line 230 "Gmsh.l" -return tWith; +return tTime; YY_BREAK case 130: YY_RULE_SETUP -#line 232 "Gmsh.l" -return tText2D; +#line 231 "Gmsh.l" +return tGrain; YY_BREAK case 131: -YY_RULE_SETUP -#line 233 "Gmsh.l" -return tText3D; - YY_BREAK -case 132: -YY_RULE_SETUP #line 234 "Gmsh.l" -return tInterpolationScheme; - YY_BREAK -case 133: -YY_RULE_SETUP +case 132: #line 235 "Gmsh.l" -return tTime; - YY_BREAK +case 133: +#line 236 "Gmsh.l" case 134: YY_RULE_SETUP #line 236 "Gmsh.l" -return tGrain; - YY_BREAK -case 135: -#line 239 "Gmsh.l" -case 136: -#line 240 "Gmsh.l" -case 137: -#line 241 "Gmsh.l" -case 138: -YY_RULE_SETUP -#line 241 "Gmsh.l" {yylval.d = atof((char *)yytext); return tDOUBLE;} YY_BREAK -case 139: +case 135: YY_RULE_SETUP -#line 243 "Gmsh.l" +#line 238 "Gmsh.l" {yylval.c = strsave((char*)yytext); return tSTRING;} YY_BREAK -case 140: +case 136: YY_RULE_SETUP -#line 245 "Gmsh.l" +#line 240 "Gmsh.l" return yytext[0]; YY_BREAK -case 141: +case 137: YY_RULE_SETUP -#line 247 "Gmsh.l" +#line 242 "Gmsh.l" ECHO; YY_BREAK -#line 1720 "Gmsh.yy.cpp" +#line 1695 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2008,7 +1983,7 @@ static yy_state_type yy_get_previous_state() 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 >= 577 ) + if ( yy_current_state >= 569 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2043,11 +2018,11 @@ yy_state_type yy_current_state; 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 >= 577 ) + if ( yy_current_state >= 569 ) 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 == 576); + yy_is_jam = (yy_current_state == 568); return yy_is_jam ? 0 : yy_current_state; } @@ -2602,7 +2577,7 @@ int main() return 0; } #endif -#line 247 "Gmsh.l" +#line 242 "Gmsh.l" #undef yywrap diff --git a/benchmarks/bugs/needs_rand_1e-9.geo b/benchmarks/2d/needs_rand_1e-9.geo similarity index 100% rename from benchmarks/bugs/needs_rand_1e-9.geo rename to benchmarks/2d/needs_rand_1e-9.geo diff --git a/benchmarks/bugs/fil.geo b/benchmarks/3d/fil.geo similarity index 100% rename from benchmarks/bugs/fil.geo rename to benchmarks/3d/fil.geo diff --git a/benchmarks/bugs/snake_ellipse_bug_optimize.geo b/benchmarks/3d/snake.geo similarity index 100% rename from benchmarks/bugs/snake_ellipse_bug_optimize.geo rename to benchmarks/3d/snake.geo diff --git a/benchmarks/bugs/bug-extrude-swap.geo b/benchmarks/bugs/bug-extrude-swap.geo deleted file mode 100644 index 4884207af5c60a7f033e0f26ff58e1a035de040a..0000000000000000000000000000000000000000 --- a/benchmarks/bugs/bug-extrude-swap.geo +++ /dev/null @@ -1,111 +0,0 @@ -// characteristic lengths for the domain: -L = 0.25; // feature width -A = 4.0; // aspect ratio - -// characteristic lengths: -lcbot = L / 4; -lclev = L / 4; -lctop = L / 2; - -/*** Points: ***/ - -// Points on surface level (z = 0.0): -// points along x-axis (y = 0): -Point( 1) = {0.0*L, 0.0*L, 0.0, lclev}; -Point( 2) = {1.5*L, 0.0*L, 0.0, lclev}; -Point( 3) = {2.5*L, 0.0*L, 0.0, lclev}; -Point( 4) = {4.0*L, 0.0*L, 0.0, lclev}; -// points along x = L: -Point( 5) = {4.0*L, 1.5*L, 0.0, lclev}; -Point( 6) = {4.0*L, 2.5*L, 0.0, lclev}; -Point( 7) = {4.0*L, 4.0*L, 0.0, lclev}; -// points along y = L: -Point( 8) = {2.5*L, 4.0*L, 0.0, lclev}; -Point( 9) = {1.5*L, 4.0*L, 0.0, lclev}; -Point(10) = {0.0*L, 4.0*L, 0.0, lclev}; -// points along y-axis (x = 0): -Point(11) = {0.0*L, 2.5*L, 0.0, lclev}; -Point(12) = {0.0*L, 1.5*L, 0.0, lclev}; -// points in the interior: -Point(13) = {1.5*L, 1.5*L, 0.0, lclev}; -Point(14) = {2.5*L, 1.5*L, 0.0, lclev}; -Point(15) = {2.5*L, 2.5*L, 0.0, lclev}; -Point(16) = {1.5*L, 2.5*L, 0.0, lclev}; - -/*** Lines: ***/ -// lines along the outside: -Line( 1) = { 1, 2}; -Line( 2) = { 2, 3}; -Line( 3) = { 3, 4}; -Line( 4) = { 4, 5}; -Line( 5) = { 5, 6}; -Line( 6) = { 6, 7}; -Line( 7) = { 7, 8}; -Line( 8) = { 8, 9}; -Line( 9) = { 9, 10}; -Line(10) = {10, 11}; -Line(11) = {11, 12}; -Line(12) = {12, 1}; -// lines along the inside: -Line(13) = {13, 14}; -Line(14) = {14, 15}; -Line(15) = {15, 16}; -Line(16) = {16, 13}; -// lines connecting inside and outside: -Line(17) = { 2, 13}; -Line(18) = { 3, 14}; -Line(19) = { 5, 14}; -Line(20) = { 6, 15}; -Line(21) = { 8, 15}; -Line(22) = { 9, 16}; -Line(23) = {11, 16}; -Line(24) = {12, 13}; - -Line Loop(25) = { 1, 17, -24, 12}; Ruled Surface(26) = {25}; -Line Loop(27) = { 2, 18, -13, -17}; Ruled Surface(28) = {27}; -Line Loop(29) = { 3, 4, 19, -18}; Ruled Surface(30) = {29}; -Line Loop(31) = { 5, 20, -14, -19}; Ruled Surface(32) = {31}; -Line Loop(33) = { 6, 7, 21, -20}; Ruled Surface(34) = {33}; -Line Loop(35) = { 8, 22, -15, -21}; Ruled Surface(36) = {35}; -Line Loop(37) = { 9, 10, 23, -22}; Ruled Surface(38) = {37}; -Line Loop(39) = { 11, 24, -16, -23}; Ruled Surface(40) = {39}; -Line Loop(41) = { 13, 14, 15, 16}; Ruled Surface(42) = {41}; - -// number of points on lines -NPint = 4; // number of points on interior lines -NPout = 4; // number of points on outside lines - -Transfinite Line {13, 14, 15, 16, 2, 5, 8, 11} = NPint; -Transfinite Line {1,3,4,6,7,9,10,12,17,18,19,20,21,22,23,24} = NPout; -Transfinite Surface {26} = { 1, 2, 13, 12}; -Transfinite Surface {28} = { 2, 3, 14, 13}; -Transfinite Surface {30} = { 3, 4, 5, 14}; -Transfinite Surface {32} = { 5, 6, 15, 14}; -Transfinite Surface {34} = { 6, 7, 8, 15}; -Transfinite Surface {36} = { 8, 9, 16, 15}; -Transfinite Surface {38} = { 9, 10, 11, 16}; -Transfinite Surface {40} = { 11, 12, 13, 16}; -Transfinite Surface {42} = { 13, 14, 15, 16}; - -// number of layers: -NLdn = 8; -NLup = 3; - -// extrude down first: -Extrude Surface {42, {0,0,-A*L}}{ Layers { {NLdn}, {9001}, {1} } ; }; -// extrude up second: -Extrude Surface {26, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; }; -Extrude Surface {28, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; }; -Extrude Surface {30, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; }; -Extrude Surface {32, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; }; -Extrude Surface {34, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; }; -Extrude Surface {36, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; }; -Extrude Surface {38, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; }; -Extrude Surface {40, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; }; -Extrude Surface {42, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; }; - -// wafer surface including surfaces that are extruded downwards: -Physical Surface(1001) = {26,28,30,32,34,36,38,40, 51,55,59,63,64}; -Physical Surface(1009) = {73,95,117,121,139,161,165,183,205,209,227,85, 86,108,130,152,174,196,218,240,262}; -Physical Volume(2001) = {9000,9001}; - diff --git a/benchmarks/bugs/cone_tronque_pb_netgen.igs b/benchmarks/bugs/cone_tronque_pb_netgen.igs new file mode 100755 index 0000000000000000000000000000000000000000..ba46368f66367f5e30ebda796cc0a979c5428792 --- /dev/null +++ b/benchmarks/bugs/cone_tronque_pb_netgen.igs @@ -0,0 +1,303 @@ +Translator GID - IGES S0000001 +1H,,1H;,3HGID,30HD:/IGES_DEPOT/cone_tronque.igs,,,32,,,,,,1,2,,1,0,,0,0,G0000001 +,5HCIMNE,9,,; G0000002 + 502 1 1 D0000001 + 502 2 1 VERTLIST D0000002 + 126 3 1 1 D0000003 + 126 3 NURBLINE 3D0000004 + 126 6 1 1 D0000005 + 126 3 NURBLINE 5D0000006 + 126 9 1 1 D0000007 + 126 3 NURBLINE 6D0000008 + 126 12 1 1 D0000009 + 126 65 NURBLINE 11D0000010 + 110 77 1 1 D0000011 + 110 1 STLINE 12D0000012 + 110 78 1 1 D0000013 + 110 1 STLINE 14D0000014 + 126 79 1 1 D0000015 + 126 67 NURBLINE 16D0000016 + 110 146 1 1 D0000017 + 110 1 STLINE 17D0000018 + 126 147 1 1 D0000019 + 126 65 NURBLINE 19D0000020 + 504 212 1 D0000021 + 504 2 1 EDGELIST D0000022 + 508 214 1 D0000023 + 508 1 1 LOOP D0000024 + 508 215 1 D0000025 + 508 1 1 LOOP D0000026 + 508 216 1 D0000027 + 508 1 1 LOOP D0000028 + 508 217 1 D0000029 + 508 1 1 LOOP D0000030 + 508 218 1 D0000031 + 508 1 1 LOOP D0000032 + 128 219 1 1 D0000033 + 128 2 NURBSURF 4D0000034 + 128 221 1 1 D0000035 + 128 4 NURBSURF 6D0000036 + 128 225 1 1 D0000037 + 128 5 NURBSURF 8D0000038 + 128 230 1 1 D0000039 + 128 5 NURBSURF 10D0000040 + 128 235 1 1 D0000041 + 128 2 NURBSURF 13D0000042 + 510 237 1 1 D0000043 + 510 1 1 FACE D0000044 + 510 238 1 1 D0000045 + 510 1 1 FACE D0000046 + 510 239 1 1 D0000047 + 510 1 1 FACE D0000048 + 510 240 1 1 D0000049 + 510 1 1 FACE D0000050 + 510 241 1 1 D0000051 + 510 1 1 FACE D0000052 + 514 242 1 1 D0000053 + 514 1 1 SHELL D0000054 + 186 243 1 D0000055 + 186 1 SOLID D0000056 +502,6,0,250,0,-216.50635,-125,0,216.50635,-125,0,0,125,500, 1P0000001 +-108.25318,-62.5,500,108.25318,-62.5,500; 1P0000002 +126,4,2,0,0,0,0,0,0,0,0.7456669,0.7456669,1,1,1,1,0.70710678,1, 3P0000003 +0.96592583,1,0,250,0,-250,250,0,-250,0,0,-250,-66.987298,0, 3P0000004 +-216.50635,-125,0,0,1,0,0,0; 3P0000005 +126,4,2,0,0,0,0,0,0,0,0.7456669,0.7456669,1,1,1,1,0.70710678,1, 5P0000006 +0.96592583,1,-216.50635,-125,0,-91.506351,-341.50635,0,125, 5P0000007 +-216.50635,0,183.0127,-183.0127,0,216.50635,-125,0,0,1,0,0,0; 5P0000008 +126,4,2,0,0,0,0,0,0,0,0.7456669,0.7456669,1,1,1,1,0.70710678,1, 7P0000009 +0.96592583,1,216.50635,-125,0,341.50635,91.506351,0,125, 7P0000010 +216.50635,0,66.987298,250,0,1.145578E-013,250,0,0,1,0,0,0; 7P0000011 +126,102,3,0,0,1,0,0,0,0,0,0.0090909455,0.0182522,0.027482877, 9P0000012 +0.036782024,0.046148622,0.055581586,0.065079765,0.074641937, 9P0000013 +0.084266815,0.093953045,0.1036992,0.11350379,0.12336526, 9P0000014 +0.13328199,0.14325227,0.15327436,0.16334644,0.17346662, 9P0000015 +0.18363297,0.19384347,0.20409606,0.21438864,0.22471902, 9P0000016 +0.23508499,0.24548428,0.25591457,0.2663735,0.27685866, 9P0000017 +0.28736762,0.29789791,0.30844703,0.31901244,0.32959159, 9P0000018 +0.3401819,0.35078079,0.36138565,0.37199387,0.38260284, 9P0000019 +0.39320992,0.40381251,0.41440801,0.4249938,0.43556731, 9P0000020 +0.44612597,0.45666724,0.4671886,0.47768755,0.48816164, 9P0000021 +0.49860845,0.50902559,0.51941073,0.52976155,0.54007582, 9P0000022 +0.55035134,0.56058595,0.57077757,0.58092415,0.59102373, 9P0000023 +0.60107437,0.61107423,0.62102152,0.63091451,0.64075153, 9P0000024 +0.65053099,0.66025135,0.66991117,0.67950904,0.68904364, 9P0000025 +0.6985137,0.70791805,0.71725555,0.72652515,0.73572586, 9P0000026 +0.74485675,0.75421303,0.76395415,0.77371855,0.78350424, 9P0000027 +0.79330925,0.80313156,0.81296912,0.82281989,0.83268178, 9P0000028 +0.84255271,0.85243059,0.8623133,0.87219872,0.88208475, 9P0000029 +0.89196926,0.90185013,0.91172525,0.92159253,0.93144985, 9P0000030 +0.94129515,0.95112636,0.96094142,0.9707383,0.98051501, 9P0000031 +0.99026956,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 9P0000032 +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 9P0000033 +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 9P0000034 +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,125,500,-0.9519841,125,500, 9P0000035 +-2.3119309,124.98484,500,-4.8036948,124.91617,500,-7.1919738, 9P0000036 +124.80047,500,-9.6279189,124.63676,500,-12.068989,124.42407,500, 9P0000037 +-14.525056,124.16148,500,-16.991723,123.84811,500,-19.468392, 9P0000038 +123.48314,500,-21.953366,123.06575,500,-24.445186,122.59523,500, 9P0000039 +-26.942263,122.07087,500,-29.442984,121.49206,500,-31.945688, 9P0000040 +120.85821,500,-34.448671,120.16883,500,-36.950191,119.42348,500, 9P0000041 +-39.448471,118.62177,500,-41.9417,117.76342,500,-44.428039, 9P0000042 +116.84819,500,-46.905622,115.87594,500,-49.372563,114.8466,500, 9P0000043 +-51.826957,113.76018,500,-54.266886,112.61676,500,-56.690422, 9P0000044 +111.41653,500,-59.095633,110.15974,500,-61.480588,108.84675,500, 9P0000045 +-63.843358,107.47799,500,-66.182025,106.05397,500,-68.494686, 9P0000046 +104.57531,500,-70.779456,103.0427,500,-73.034472,101.45691,500, 9P0000047 +-75.257904,99.818808,500,-77.447951,98.129346,500,-79.602854, 9P0000048 +96.389551,500,-81.720894,94.600529,500,-83.800401,92.763468,500, 9P0000049 +-85.839755,90.879629,500,-87.837393,88.950344,500,-89.791813, 9P0000050 +86.977017,500,-91.701574,84.961114,500,-93.565303,82.904167,500, 9P0000051 +-95.381699,80.807761,500,-97.149531,78.67354,500,-98.867648, 9P0000052 +76.503196,500,-100.53498,74.298464,500,-102.15052,72.061123,500, 9P0000053 +-103.71337,69.792988,500,-105.2227,67.495903,500,-106.67776, 9P0000054 +65.17174,500,-108.0779,62.822394,500,-109.42256,60.449775,500, 9P0000055 +-110.71124,58.055806,500,-111.94356,55.642417,500,-113.1192, 9P0000056 +53.211541,500,-114.23794,50.765108,500,-115.29964,48.305043,500, 9P0000057 +-116.30424,45.833257,500,-117.25176,43.35165,500,-118.14232, 9P0000058 +40.862098,500,-118.9761,38.366456,500,-119.75334,35.866551,500, 9P0000059 +-120.4744,33.364181,500,-121.13965,30.861108,500,-121.74959, 9P0000060 +28.359056,500,-122.30473,25.859712,500,-122.80568,23.364718,500, 9P0000061 +-123.25309,20.875672,500,-123.64767,18.394123,500,-123.99019, 9P0000062 +15.921572,500,-124.28144,13.459468,500,-124.5223,11.00921,500, 9P0000063 +-124.71366,8.5721406,500,-124.85644,6.1495481,500,-124.95164, 9P0000064 +3.7426656,500,-125.00077,1.3268394,500,-125.00317,-1.136655,500, 9P0000065 +-124.95525,-3.6549954,500,-124.85443,-6.2092779,500,-124.701, 9P0000066 +-8.7665276,500,-124.49475,-11.32513,500,-124.23549,-13.883457, 9P0000067 +500,-123.92314,-16.43987,500,-123.55766,-18.99272,500,-123.1391, 9P0000068 +-21.540356,500,-122.66755,-24.081126,500,-122.14319,-26.61338, 9P0000069 +500,-121.56626,-29.135475,500,-120.93708,-31.645778,500, 9P0000070 +-120.25602,-34.142669,500,-119.52353,-36.624544,500,-118.74012, 9P0000071 +-39.089819,500,-117.90636,-41.53694,500,-117.02289,-43.964359, 9P0000072 +500,-116.0904,-46.370628,500,-115.10975,-48.75408,500, 9P0000073 +-114.08134,-51.114012,500,-113.00761,-53.446317,500,-111.88366, 9P0000074 +-55.759741,500,-110.73215,-58.015398,500,-109.47343,-60.351805, 9P0000075 +500,-108.76265,-61.617562,500,-108.25318,-62.5,500,0,1,0,0,0; 9P0000076 +110,0,250,0,0,125,500; 11P0000077 +110,-216.50635,-125,0,-108.25318,-62.5,500; 13P0000078 +126,102,3,0,0,1,0,0,0,0,0,0.0090909455,0.0182522,0.027482877, 15P0000079 +0.036782024,0.046148622,0.055581586,0.065079765,0.074641937, 15P0000080 +0.084266815,0.093953045,0.1036992,0.11350379,0.12336526, 15P0000081 +0.13328199,0.14325227,0.15327436,0.16334644,0.17346662, 15P0000082 +0.18363297,0.19384347,0.20409606,0.21438864,0.22471902, 15P0000083 +0.23508499,0.24548428,0.25591457,0.2663735,0.27685866, 15P0000084 +0.28736762,0.29789791,0.30844703,0.31901244,0.32959159, 15P0000085 +0.3401819,0.35078079,0.36138565,0.37199387,0.38260284, 15P0000086 +0.39320992,0.40381251,0.41440801,0.4249938,0.43556731, 15P0000087 +0.44612597,0.45666724,0.4671886,0.47768755,0.48816164, 15P0000088 +0.49860845,0.50902559,0.51941073,0.52976155,0.54007582, 15P0000089 +0.55035134,0.56058595,0.57077757,0.58092415,0.59102373, 15P0000090 +0.60107437,0.61107423,0.62102152,0.63091451,0.64075153, 15P0000091 +0.65053099,0.66025135,0.66991117,0.67950904,0.68904364, 15P0000092 +0.6985137,0.70791805,0.71725555,0.72652515,0.73572586, 15P0000093 +0.74485675,0.75421303,0.76395415,0.77371855,0.78350424, 15P0000094 +0.79330925,0.80313156,0.81296912,0.82281989,0.83268178, 15P0000095 +0.84255271,0.85243059,0.8623133,0.87219872,0.88208475, 15P0000096 +0.89196926,0.90185013,0.91172525,0.92159253,0.93144985, 15P0000097 +0.94129515,0.95112636,0.96094142,0.9707383,0.98051501, 15P0000098 +0.99026956,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 15P0000099 +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 15P0000100 +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 15P0000101 +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-108.25318,-62.5,500, 15P0000102 +-107.77718,-63.324442,500,-107.08408,-64.494609,500,-105.77873, 15P0000103 +-66.618206,500,-104.48439,-68.628669,500,-103.12464,-70.656402, 15P0000104 +500,-101.71991,-72.664085,500,-100.26447,-74.659807,500, 15P0000105 +-98.759752,-76.639321,500,-97.205337,-78.60169,500,-95.601386, 15P0000106 +-80.54505,500,-93.947989,-82.467766,500,-92.245345,-84.36812, 15P0000107 +500,-90.493715,-86.244401,500,-88.693438,-88.094883,500, 15P0000108 +-86.844926,-89.91784,500,-84.948668,-91.711542,500,-83.005231, 15P0000109 +-93.474263,500,-81.015262,-95.204287,500,-78.979484,-96.899907, 15P0000110 +500,-76.8987,-98.559432,500,-74.773793,-100.18119,500, 15P0000111 +-72.605724,-101.76355,500,-70.395532,-103.30488,500,-68.144333, 15P0000112 +-104.80361,500,-65.85332,-106.25819,500,-63.52376,-107.66713, 15P0000113 +500,-61.15699,-109.02896,500,-58.754422,-110.3423,500, 15P0000114 +-56.317532,-111.60579,500,-53.847864,-112.81815,500,-51.347023, 15P0000115 +-113.97816,500,-48.816672,-115.08466,500,-46.258531,-116.13657, 15P0000116 +500,-43.674372,-117.13287,500,-41.066014,-118.07263,500, 15P0000117 +-38.43532,-118.95501,500,-35.78419,-119.77922,500,-33.114561, 15P0000118 +-120.54459,500,-30.4284,-121.2505,500,-27.727697,-121.89645,500, 15P0000119 +-25.014463,-122.48201,500,-22.290725,-123.00685,500,-19.558519, 15P0000120 +-123.47073,500,-16.819887,-123.87349,500,-14.07687,-124.21507, 15P0000121 +500,-11.331504,-124.49551,500,-8.5858163,-124.71491,500, 15P0000122 +-5.8418185,-124.87348,500,-3.1015028,-124.97152,500,-0.36683709, 15P0000123 +-125.00941,500,2.3602391,-124.9876,500,5.0778192,-124.90665,500, 15P0000124 +7.7840337,-124.76718,500,10.477054,-124.56987,500,13.155096, 15P0000125 +-124.31551,500,15.816424,-124.00494,500,18.459353,-123.63905, 15P0000126 +500,21.082251,-123.21883,500,23.683546,-122.7453,500,26.261723, 15P0000127 +-122.21955,500,28.815327,-121.64271,500,31.342969,-121.01598, 15P0000128 +500,33.843323,-120.34057,500,36.31513,-119.61776,500,38.757198, 15P0000129 +-118.84886,500,41.168401,-118.0352,500,43.547684,-117.17814,500, 15P0000130 +45.894059,-116.27909,500,48.206608,-115.33944,500,50.484481, 15P0000131 +-114.36062,500,52.726895,-113.34408,500,54.933137,-112.29126, 15P0000132 +500,57.102557,-111.20363,500,59.234576,-110.08263,500,61.351307, 15P0000133 +-108.91726,500,63.485955,-107.68759,500,65.642943,-106.38692, 15P0000134 +500,67.804606,-105.02247,500,69.942537,-103.61097,500,72.055224, 15P0000135 +-102.15305,500,74.141172,-100.64936,500,76.198915,-99.100653, 15P0000136 +500,78.227009,-97.507716,500,80.224044,-95.871408,500,82.18864, 15P0000137 +-94.192649,500,84.119457,-92.472414,500,86.015193,-90.711734, 15P0000138 +500,87.874589,-88.911695,500,89.69643,-87.073436,500,91.479551, 15P0000139 +-85.198142,500,93.222835,-83.287048,500,94.925223,-81.34143,500, 15P0000140 +96.585699,-79.362619,500,98.203342,-77.351922,500,99.777147, 15P0000141 +-75.310928,500,101.3067,-73.240331,500,102.78967,-71.144301,500, 15P0000142 +104.23118,-69.014217,500,105.60888,-66.889159,500,107.00291, 15P0000143 +-64.630869,500,107.7437,-63.382436,500,108.25318,-62.5,500,0,1, 15P0000144 +0,0,0; 15P0000145 +110,216.50635,-125,0,108.25318,-62.5,500; 17P0000146 +126,102,3,0,0,1,0,0,0,0,0,0.0090909455,0.0182522,0.027482877, 19P0000147 +0.036782024,0.046148622,0.055581586,0.065079765,0.074641937, 19P0000148 +0.084266815,0.093953045,0.1036992,0.11350379,0.12336526, 19P0000149 +0.13328199,0.14325227,0.15327436,0.16334644,0.17346662, 19P0000150 +0.18363297,0.19384347,0.20409606,0.21438864,0.22471902, 19P0000151 +0.23508499,0.24548428,0.25591457,0.2663735,0.27685866, 19P0000152 +0.28736762,0.29789791,0.30844703,0.31901244,0.32959159, 19P0000153 +0.3401819,0.35078079,0.36138565,0.37199387,0.38260284, 19P0000154 +0.39320992,0.40381251,0.41440801,0.4249938,0.43556731, 19P0000155 +0.44612597,0.45666724,0.4671886,0.47768755,0.48816164, 19P0000156 +0.49860845,0.50902559,0.51941073,0.52976155,0.54007582, 19P0000157 +0.55035134,0.56058595,0.57077757,0.58092415,0.59102373, 19P0000158 +0.60107437,0.61107423,0.62102152,0.63091451,0.64075153, 19P0000159 +0.65053099,0.66025135,0.66991117,0.67950904,0.68904364, 19P0000160 +0.6985137,0.70791805,0.71725555,0.72652515,0.73572586, 19P0000161 +0.74485675,0.75421303,0.76395415,0.77371855,0.78350424, 19P0000162 +0.79330925,0.80313156,0.81296912,0.82281989,0.83268178, 19P0000163 +0.84255271,0.85243059,0.8623133,0.87219872,0.88208475, 19P0000164 +0.89196926,0.90185013,0.91172525,0.92159253,0.93144985, 19P0000165 +0.94129515,0.95112636,0.96094142,0.9707383,0.98051501, 19P0000166 +0.99026956,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 19P0000167 +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 19P0000168 +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 19P0000169 +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,108.25318,-62.5,500,108.72917, 19P0000170 +-61.675557,500,109.39601,-60.490228,500,110.58242,-58.297963, 19P0000171 +500,111.67637,-56.171805,500,112.75256,-53.980357,500,113.7889, 19P0000172 +-51.759983,500,114.78952,-49.501672,500,115.75148,-47.208793, 19P0000173 +500,116.67373,-44.881446,500,117.55475,-42.520704,500,118.39317, 19P0000174 +-40.127462,500,119.18761,-37.702752,500,119.9367,-35.247656,500, 19P0000175 +120.63913,-32.763329,500,121.2936,-30.250992,500,121.89886, 19P0000176 +-27.711933,500,122.4537,-25.147507,500,122.95696,-22.559131,500, 19P0000177 +123.40752,-19.948286,500,123.80432,-17.316511,500,124.14636, 19P0000178 +-14.665407,500,124.43268,-11.996626,500,124.66242,-9.3118781, 19P0000179 +500,124.83475,-6.6129189,500,124.94895,-3.9015525,500,125.00435, 19P0000180 +-1.1796259,500,125.00035,1.550975,500,124.93645,4.2883288,500, 19P0000181 +124.81222,7.0304831,500,124.62732,9.775459,500,124.38149, 19P0000182 +12.521255,500,124.07458,15.265853,500,123.70648,18.00722,500, 19P0000183 +123.27723,20.743319,500,122.78691,23.472106,500,122.23572, 19P0000184 +26.191542,500,121.62394,28.899594,500,120.95195,31.594242,500, 19P0000185 +120.22021,34.273482,500,119.42927,36.935335,500,118.57977, 19P0000186 +39.577846,500,117.67242,42.199093,500,116.70805,44.797192,500, 19P0000187 +115.68754,47.370297,500,114.61185,49.916611,500,113.48202, 19P0000188 +52.434383,500,112.29918,54.921918,500,111.06451,57.377576,500, 19P0000189 +109.77926,59.79978,500,108.44474,62.187013,500,107.06232, 19P0000190 +64.537829,500,105.63342,66.850847,500,104.15953,69.124759,500, 19P0000191 +102.64215,71.358331,500,101.08284,73.550403,500,99.483212, 19P0000192 +75.699893,500,97.844883,77.805794,500,96.169511,79.86718,500, 19P0000193 +94.458776,81.883203,500,92.714373,83.853094,500,90.938016, 19P0000194 +85.776162,500,89.131426,87.651796,500,87.29633,89.479463,500, 19P0000195 +85.434457,91.258707,500,83.547533,92.989148,500,81.63728, 19P0000196 +94.67048,500,79.705408,96.302473,500,77.753614,97.884965,500, 19P0000197 +75.783579,99.417866,500,73.796964,100.90115,500,71.795407, 19P0000198 +102.33487,500,69.78052,103.71912,500,67.753887,105.05408,500, 19P0000199 +65.717063,106.33996,500,63.64946,107.59042,500,61.517211, 19P0000200 +108.82424,500,59.312306,110.04192,500,57.049821,111.23174,500, 19P0000201 +54.758466,112.3775,500,52.439523,113.47818,500,50.094319, 19P0000202 +114.53282,500,47.724226,115.54052,500,45.330654,116.50044,500, 19P0000203 +42.915053,117.41176,500,40.478907,118.27377,500,38.023731, 19P0000204 +119.08579,500,35.551069,119.84721,500,33.062492,120.55747,500, 19P0000205 +30.559592,121.2161,500,28.04398,121.82269,500,25.517282, 19P0000206 +122.37687,500,22.981133,122.87837,500,20.437195,123.32698,500, 19P0000207 +17.887059,123.72255,500,15.332603,124.06501,500,12.774636, 19P0000208 +124.35434,500,10.217936,124.59062,500,7.6524755,124.77396,500, 19P0000209 +5.1232682,124.90456,500,2.4705189,124.98267,500,1.0189504,125, 19P0000210 +500,0,125,500,0,1,0,0,0; 19P0000211 +504,9,3,1,1,1,2,5,1,2,1,3,7,1,3,1,1,9,1,4,1,5,11,1,1,1,4,13,1,2, 21P0000212 +1,5,15,1,5,1,6,17,1,3,1,6,19,1,6,1,4; 21P0000213 +508,3,0,21,3,1,0,0,21,1,1,0,0,21,2,1,0; 23P0000214 +508,4,0,21,1,0,0,0,21,5,1,0,0,21,4,1,0,0,21,6,0,0; 25P0000215 +508,4,0,21,2,0,0,0,21,6,1,0,0,21,7,1,0,0,21,8,0,0; 27P0000216 +508,4,0,21,3,0,0,0,21,8,1,0,0,21,9,1,0,0,21,5,0,0; 29P0000217 +508,3,0,21,9,0,0,0,21,7,0,0,0,21,4,0,0; 31P0000218 +128,1,1,1,1,0,0,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,-274.98929,275,0, 33P0000219 +-274.98929,-275,0,274.98929,275,0,274.98929,-275,0,0,1,0,1; 33P0000220 +128,1,4,1,2,0,0,0,0,0,0,0,1,1,0,0,0,0.7456669,0.7456669,1,1,1,1, 35P0000221 +1,0.70710678,0.70710678,1,1,0.96592583,0.96592583,1,1,0,250,0,0, 35P0000222 +0,1000,-250,250,0,0,0,1000,-250,0,0,0,0,1000,-250,-66.987298,0, 35P0000223 +0,0,1000,-216.50635,-125,0,0,0,1000,0,1,0,1; 35P0000224 +128,1,4,1,2,0,0,0,0,0,0,0,1,1,0,0,0,0.7456669,0.7456669,1,1,1,1, 37P0000225 +1,0.70710678,0.70710678,1,1,0.96592583,0.96592583,1,1, 37P0000226 +-216.50635,-125,0,0,0,1000,-91.506351,-341.50635,0,0,0,1000,125, 37P0000227 +-216.50635,0,0,0,1000,183.0127,-183.0127,0,0,0,1000,216.50635, 37P0000228 +-125,0,0,0,1000,0,1,0,1; 37P0000229 +128,1,4,1,2,0,0,0,0,0,0,0,1,1,0,0,0,0.7456669,0.7456669,1,1,1,1, 39P0000230 +1,0.70710678,0.70710678,1,1,0.96592583,0.96592583,1,1,216.50635, 39P0000231 +-125,0,0,0,1000,341.50635,91.506351,0,0,0,1000,125,216.50635,0, 39P0000232 +0,0,1000,66.987298,250,0,0,0,1000,1.145578E-013,250,0,0,0,1000, 39P0000233 +0,1,0,1; 39P0000234 +128,1,1,1,1,0,0,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,250,-250,500,-250, 41P0000235 +-250,500,250,250,500,-250,250,500,0,1,0,1; 41P0000236 +510,33,1,1,23; 43P0000237 +510,35,1,1,25; 45P0000238 +510,37,1,1,27; 47P0000239 +510,39,1,1,29; 49P0000240 +510,41,1,1,31; 51P0000241 +514,5,43,1,49,1,45,1,47,1,51,1; 53P0000242 +186,53,1,0; 55P0000243 +S0000001G0000002D0000056P0000243 T0000001 diff --git a/benchmarks/bugs/tresse_coherence_bug.geo b/benchmarks/bugs/tresse_coherence_bug.geo deleted file mode 100644 index 5725a275a73fcf9263b7289007a681035e85fc60..0000000000000000000000000000000000000000 --- a/benchmarks/bugs/tresse_coherence_bug.geo +++ /dev/null @@ -1,69 +0,0 @@ -rayon = 0.004 ; -haut = 0.012 ; // hauteur du cylindre -psi = 40. * Pi / 180 ; // angle de tressage par rapport a l'axe vertical z du cable -nn = 24 ; // nbre de meplats (qui vont dans le meme sens) -nw = 5; // nombre de fils dans un meplat -dw = 0.0002 ; // diametre des fils -ampl = 0.0003 ; // amplitude du Cosinus -v = 1 ; // je le pose arbitrairement -omega = 1 / ( rayon * Tan(Pi/2-psi) ) ; Printf("omega = %g" , omega ) ; -tmax = haut ; -nbr_pas_tot = 30 ; -dt = tmax / nbr_pas_tot ; -omdeph = nn * omega / 2; // vitesse angulaire pour dephasage de Pi entre 2 meplats -angm = dw/rayon/Cos(psi) ; - -Geometry.AutoCoherence = 0; - -lc1 = 0.0008 ; - -For jj In {1:nn} - - For ii In {0:nbr_pas_tot} - - t = ii * dt ; - rf = rayon ; - thetaf = -nw*angm/2 + (jj-1)*2*Pi/nn + omega * t ; - zf = v * t ; - aa = ampl * Cos( Pi/4 + (jj-1)*Pi + omdeph * t ); - xf = (rf+aa) * Cos(thetaf) ; yf = (rf+aa) * Sin(thetaf) ; - Point((2*jj-1)*1000+ii) = { xf , yf , zf , lc1 } ; - tab1[ii] = (2*jj-1)*1000+ii ; - - thetaf = -nw*angm/2 + (jj-1)*2*Pi/nn - omega * t ; - aa = ampl * Cos( 3*Pi/4 + (jj-1)*Pi + omdeph * t ); - xf = (rf+aa) * Cos(thetaf) ; yf = (rf+aa) * Sin(thetaf) ; - Point((2*jj)*1000+ii) = { xf , yf , zf , lc1 } ; - tab2[ii] = (2*jj)*1000+ii ; - - EndFor - - Spline((2*jj-1)*1000+ii) = tab1[]; -// Extrude Line { ((2*jj-1)*1000+ii) , {0,0,1}, {0,0,0}, nw*angm } ; - For kk In {1:nw-1} - Rotate { {0,0,1}, {0,0,0}, kk*angm} { Duplicata { Line{(2*jj-1)*1000+ii} ; } } - EndFor - - Spline((2*jj)*1000+ii) = tab2[]; -// Extrude Line { ((2*jj)*1000+ii) , {0,0,1}, {0,0,0}, nw*angm } ; - For kk In {1:nw-1} - Rotate { {0,0,1}, {0,0,0}, kk*angm} { Duplicata { Line{(2*jj)*1000+ii} ; } } - EndFor - - EndFor - -//BoundingBox; - -//FIXME: this is buggy -- investigate -Coherence; - -b = rayon ; -L = 2*nn ; -N = nw ; -d = dw ; -ld = 4*Pi*b/L-N*d/Cos(psi) ;// small axis of the diamond shaped aperture (horizontal) -Ld = ld/Tan(psi) ; // Big axis of the diamond shaped aperture (vertical=z) -P = 4*Pi*b/L/Tan(psi); // Periode du tressage selon axe z vertical du cable -n = L*L*Tan(psi)/(4*Pi*b) ; // number of apertures per unit length -F = N*d*L/(4*Pi*rayon*Cos(psi)) ; Printf("Fill Factor = %g" , F ) ; -K = 2*F-F*F ; Printf("Optical coverage = %g" , K ) ; diff --git a/configure b/configure index 729597a6fb2b1006483984aec9fe197ed289447f..b71734f8641bf8ae9deaf36150fded40803d7dc6 100755 --- a/configure +++ b/configure @@ -4592,8 +4592,9 @@ fi GMSH_LIBS="${GMSH_LIBS} ${OCC_LIBS}" FLAGS="${FLAGS} -DHAVE_OCC" else - GMSH_LIBS="${GMSH_LIBS} -L${OCC_PREFIX}/lib ${OCC_LIBS}" + GMSH_LIBS="${GMSH_LIBS} -L${OCC_PREFIX}/lib -I${OCC_PREFIX}/${UNAME}/lib ${OCC_LIBS}" FLAGS="${FLAGS} -DHAVE_OCC -I${OCC_PREFIX}/include -I${OCC_PREFIX}/inc" + FLAGS="${FLAGS} -I${OCC_PREFIX}/${UNAME}/include -I${OCC_PREFIX}/${UNAME}/inc" fi fi fi diff --git a/configure.in b/configure.in index e48ec09c6813cd4a409ab4d6794c3989ac5ec6a4..714bcb7697e62ddc13d995b200f4cd64f8ba6c08 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -dnl $Id: configure.in,v 1.116 2006-11-29 03:11:18 geuzaine Exp $ +dnl $Id: configure.in,v 1.117 2007-01-25 15:50:57 geuzaine Exp $ dnl dnl Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle dnl @@ -574,7 +574,7 @@ if test "x$enable_occ" = "xyes"; then GMSH_LIBS="${GMSH_LIBS} ${OCC_LIBS}" FLAGS="${FLAGS} -DHAVE_OCC" else - GMSH_LIBS="${GMSH_LIBS} -L${OCC_PREFIX}/lib ${OCC_LIBS}" + GMSH_LIBS="${GMSH_LIBS} -L${OCC_PREFIX}/lib -I${OCC_PREFIX}/${UNAME}/lib ${OCC_LIBS}" FLAGS="${FLAGS} -DHAVE_OCC -I${OCC_PREFIX}/include -I${OCC_PREFIX}/inc" FLAGS="${FLAGS} -I${OCC_PREFIX}/${UNAME}/include -I${OCC_PREFIX}/${UNAME}/inc" fi diff --git a/doc/FAQ b/doc/FAQ index 03a8d12b931adb0fa1e4550f6dbd22c87a2d8362..db5650db1d636347d916b54518cdbdb36473e45f 100644 --- a/doc/FAQ +++ b/doc/FAQ @@ -1,4 +1,4 @@ -$Id: FAQ,v 1.78 2006-12-03 21:13:24 geuzaine Exp $ +$Id: FAQ,v 1.79 2007-01-25 15:51:04 geuzaine Exp $ This is the Gmsh FAQ @@ -152,7 +152,7 @@ by explicitly specifying their identification tags. In the 4.4 When compiled with OpenCascade support, Gmsh crashes at startup -Try setting these environment variables, which govern how OpenCascade +Try changing these environment variables, which govern how OpenCascade allocates memory: export MMGT_OPT=0