diff --git a/Makefile b/Makefile index 609e800aceb7a11cea43e15a6dbf6fabf754761f..f1bc83c9fc102288ae72cac3731997c646a0b037 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.123 2001-08-08 13:34:02 remacle Exp $ +# $Id: Makefile,v 1.124 2001-08-08 14:05:26 remacle Exp $ # ---------------------------------------------------------------------- # Makefile for Gmsh # ---------------------------------------------------------------------- @@ -66,11 +66,11 @@ FLTK_LIB_SOLARIS_SCOREC = /users/develop/develop/visual/fltk/1.0/lib/sun4_5/libf GMSH_XMOTIF_LIB = -L$(GMSH_LIB_DIR) -lMotif -lGraphics -lParser -lMesh -lGeo\ - -lAdapt -lCommon -lDataStr -lJpeg + -lAdapt -lCommon -lDataStr -lJpeg -lParallel GMSH_FLTK_LIB = -L$(GMSH_LIB_DIR) -lFltk -lParser -lGraphics -lMesh -lGeo\ - -lAdapt -lCommon -lDataStr -lJpeg -lPlugin + -lAdapt -lCommon -lDataStr -lJpeg -lPlugin -lParallel GMSH_BOX_LIB = -L$(GMSH_LIB_DIR) -lBox -lParser -lMesh -lGeo\ - -lAdapt -lPlugin -lCommon -lDataStr + -lAdapt -lPlugin -lCommon -lDataStr -lParallel GMSH_ARCHIVE = $(GMSH_ARCHIVE_DIR)/gmsh-`date "+%Y.%m.%d"` GMSH_SRCRPM = gmsh-$(GMSH_RELEASE) GMSH_SOURCES = `find . \( ! -name "*.tar*" -a ! -name "*.tgz" \ diff --git a/Parallel/Makefile b/Parallel/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..9816d57f2281a340c9ee748e31e7c938277d6f8b --- /dev/null +++ b/Parallel/Makefile @@ -0,0 +1,52 @@ +# $Id: Makefile,v 1.1 2001-08-08 14:06:07 remacle Exp $ +# +# Makefile for "libBox.a" +# + +.IGNORE: +ifeq ($(PARALLEL),1) +CC = mpiCC +else +CC = c++ +endif +AR = ar ruvs +RM = rm +RANLIB = ranlib +LIB = ../lib/libParallel.a +INCLUDE = + +C_FLAGS = -g +OS_FLAGS = +VERSION_FLAGS = + +RMFLAGS = -f +CFLAGS = $(C_FLAGS) $(OS_FLAGS) $(VERSION_FLAGS) $(INCLUDE) + +SRC = ParUtil.cpp + +OBJ = $(SRC:.cpp=.o) + +.SUFFIXES: .o .cpp + +$(LIB): $(OBJ) + $(AR) $(LIB) $(OBJ) + $(RANLIB) $(LIB) + +.cpp.o: + $(CC) $(CFLAGS) -c $< + +clean: + $(RM) $(RMFLAGS) *.o + +lint: + $(LINT) $(CFLAGS) $(SRC) + +depend: + (sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \ + $(CC) -MM $(CFLAGS) ${SRC} \ + ) >Makefile.new + cp Makefile Makefile.bak + cp Makefile.new Makefile + $(RM) $(RMFLAGS) Makefile.new + +# DO NOT DELETE THIS LINE diff --git a/Parallel/ParUtil.cc b/Parallel/ParUtil.cc new file mode 100644 index 0000000000000000000000000000000000000000..4f171d2b1b4fb14e4a04961ec4b1eb167796dc54 --- /dev/null +++ b/Parallel/ParUtil.cc @@ -0,0 +1,152 @@ +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#ifdef SUN4 +#include <sys/varargs.h> +#else +#include <stdarg.h> +#endif +#include "ParUtil.h" +#ifdef PARALLEL +#include "autopack.h" +#else +#include <sys/time.h> +#endif + +ParUtil* ParUtil::Instance() +{ + if(!instance) + { + instance = new ParUtil; + } + return instance; +} + +ParUtil::~ParUtil() +{ +} + +ParUtil::ParUtil() +{ +} + +void ParUtil::init(int &argc, char **&argv) { + +#ifdef PARALLEL + int namelen; + char name[1024]; + MPI_Init(&argc, &argv); + + MPI_Comm_rank(MPI_COMM_WORLD, &myrank); + MPI_Comm_size(MPI_COMM_WORLD, &mysize); + + MPI_Comm_dup(MPI_COMM_WORLD, &seq_local_comm); + MPI_Errhandler_set(MPI_COMM_WORLD,MPI_ERRORS_RETURN); + AP_init(&argc, &argv); + AP_setparam(10*4096, 1, 1024, -1); + MPI_Get_processor_name(name,&namelen); + procName = new char[namelen+1]; + strcpy(procName,name); + char logname[256]; + sprintf(logname,"log-proc%d-%s.dat",myrank,procName); + log = fopen (logname,"w"); + vl = 1; +#endif +} + +double ParUtil::wTime() const +{ + +#ifdef PARALLEL + return MPI_Wtime(); +#else + struct timeval tp; + struct timezone tzp; + double timeval; + + gettimeofday(&tp,&tzp); + + timeval = (double) tp.tv_sec; + timeval = timeval + (double) ((double) .000001 * (double) tp.tv_usec); + + return(timeval); +#endif +} + +void ParUtil::processorName(char *name) const +{ +#ifdef PARALLEL + strcpy(name,procName); +#else + strcpy(name,"localhost"); +#endif +} + +void ParUtil:: Msg(ParUtil::MessageLevel level, char *fmt, ...) +{ + char buff[1024]; + va_list args; + va_start (args, fmt); + vsprintf(buff, fmt, args); + va_end (args); + + switch(level) + { + case DEBUG1: + if(vl > 1) + { + fprintf(log,"%s",buff); + fflush(log); + } + break; + case DEBUG2: + if(vl > 2) + { + fprintf(log,"%s",buff); + fflush(log); + } + break; + case INFO: + if(vl >= 0 && master()) + { + // fprintf(log,"%s",buff); + fprintf(stdout,"%s",buff); + // fflush(log); + } + if(vl > 2) + { + // fprintf(log,"%s",buff); + // fflush(log); + } + break; + case WARNING: + fprintf(stdout,"Processor %d AOMD WARNING : %s",rank(),buff); + fflush(stdout); + break; + case ERROR: + fprintf(stdout,"AOMD FATAL ERROR : %s",buff); + fflush(stdout); + Abort(); + break; + } +} + +void ParUtil::Abort() +{ +#ifdef PARALLEL + MPI_Abort(MPI_COMM_WORLD, 1); +#else + abort(); +#endif +} + +void ParUtil::Barrier(int line, const char *fn) +{ +#ifdef PARALLEL + Msg(DEBUG2,"BARRIER : Line %d in %s\n",line,fn); + MPI_Barrier(MPI_COMM_WORLD); + Msg(DEBUG2,"BARRIER PASSED : Line %d in %s\n",line,fn); +#endif +} + +ParUtil* ParUtil::instance = 0; diff --git a/Parallel/ParUtil.h b/Parallel/ParUtil.h new file mode 100644 index 0000000000000000000000000000000000000000..b3fb948c605dea1fc38f8e6de35a93fac7bf338f --- /dev/null +++ b/Parallel/ParUtil.h @@ -0,0 +1,67 @@ +#ifndef _H_ParUtil +#define _H_ParUtil +#include <stdio.h> + +#ifdef PARALLEL +#include "mpi.h" +#endif + +/** + ParUtil is a Singleton. It gives some + general services for parallel implementation. +*/ + +class ParUtil { + ParUtil(); + ~ParUtil(); +public: + /// Message severity level + typedef enum MessageLevel {DEBUG1,DEBUG2,INFO,WARNING,ERROR}; + /// returne the only instance + static ParUtil* Instance(); + /// initialization, needed for mpi and autopack + void init(int &argc, char **&argv); + /// adds a barrier + void Barrier(int, const char*); + /// compute wall time + double wTime () const; + /// gets the processor name + void processorName(char *name) const; + /// set the verbosity level (0,1,2,3) + inline void setVertbosityLevel(int i){vl = i;} + /// prints a message, same format as printf + void Msg(MessageLevel lev, char *fmt, ...); + /// abort a calculation + void Abort(); +#ifdef PARALLEL + inline int rank() { return myrank; } + inline int size() { return mysize; } + inline int master() { return myrank==0; } +#else + /// gets the processor id + inline int rank() { return 0; } + /// gets the number of processors + inline int size() { return 1; } + /// tells if it's processor 0 + inline int master() { return 1; } +#endif +private: + static ParUtil *instance; + FILE *log; + int vl; + int procSpeed; + char *procName; +#ifdef PARALLEL + int myrank; + int mysize; + MPI_Comm seq_local_comm; +#endif +}; + +#endif + + + + + + diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index 7ea9d77502e40eff8ab2693e00a890b0515c8cea..65a4bc9636b16a3f03dd4b69048ef11e5bf7e8bd 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -1,6 +1,6 @@ %{ -// $Id: Gmsh.l,v 1.33 2001-07-26 19:21:01 remacle Exp $ +// $Id: Gmsh.l,v 1.34 2001-08-08 14:05:26 remacle Exp $ #include <stdio.h> #include <stdlib.h> @@ -151,6 +151,8 @@ Layers return tLayers; Modulo return tModulo ; Meshes return tMesh; +MPI_Rank return tMPI_Rank; +MPI_Size return tMPI_Size; Nurbs return tNurbs; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 80fae95bc58b21e2e1335c49167d3595e861f150..245da2061518e068be252ae29ce5e61c2419ad79 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -11,168 +11,170 @@ #define tAFFECT 261 #define tDOTS 262 #define tPi 263 -#define tExp 264 -#define tLog 265 -#define tLog10 266 -#define tSqrt 267 -#define tSin 268 -#define tAsin 269 -#define tCos 270 -#define tAcos 271 -#define tTan 272 -#define tRand 273 -#define tAtan 274 -#define tAtan2 275 -#define tSinh 276 -#define tCosh 277 -#define tTanh 278 -#define tFabs 279 -#define tFloor 280 -#define tCeil 281 -#define tFmod 282 -#define tModulo 283 -#define tHypot 284 -#define tPrintf 285 -#define tSprintf 286 -#define tStrCat 287 -#define tStrPrefix 288 -#define tDraw 289 -#define tPoint 290 -#define tCircle 291 -#define tEllipsis 292 -#define tLine 293 -#define tSurface 294 -#define tSpline 295 -#define tVolume 296 -#define tCharacteristic 297 -#define tLength 298 -#define tParametric 299 -#define tElliptic 300 -#define tPlane 301 -#define tRuled 302 -#define tTransfinite 303 -#define tComplex 304 -#define tPhysical 305 -#define tUsing 306 -#define tBump 307 -#define tProgression 308 -#define tPlugin 309 -#define tRotate 310 -#define tTranslate 311 -#define tSymmetry 312 -#define tDilate 313 -#define tExtrude 314 -#define tDuplicata 315 -#define tLoop 316 -#define tRecombine 317 -#define tDelete 318 -#define tCoherence 319 -#define tIntersect 320 -#define tAttractor 321 -#define tLayers 322 -#define tScalarTetrahedron 323 -#define tVectorTetrahedron 324 -#define tTensorTetrahedron 325 -#define tScalarTriangle 326 -#define tVectorTriangle 327 -#define tTensorTriangle 328 -#define tScalarLine 329 -#define tVectorLine 330 -#define tTensorLine 331 -#define tScalarPoint 332 -#define tVectorPoint 333 -#define tTensorPoint 334 -#define tBSpline 335 -#define tNurbs 336 -#define tOrder 337 -#define tWith 338 -#define tBounds 339 -#define tKnots 340 -#define tColor 341 -#define tColorTable 342 -#define tFor 343 -#define tIn 344 -#define tEndFor 345 -#define tIf 346 -#define tEndIf 347 -#define tExit 348 -#define tReturn 349 -#define tCall 350 -#define tFunction 351 -#define tMesh 352 -#define tB_SPLINE_SURFACE_WITH_KNOTS 353 -#define tB_SPLINE_CURVE_WITH_KNOTS 354 -#define tCARTESIAN_POINT 355 -#define tTRUE 356 -#define tFALSE 357 -#define tUNSPECIFIED 358 -#define tU 359 -#define tV 360 -#define tEDGE_CURVE 361 -#define tVERTEX_POINT 362 -#define tORIENTED_EDGE 363 -#define tPLANE 364 -#define tFACE_OUTER_BOUND 365 -#define tEDGE_LOOP 366 -#define tADVANCED_FACE 367 -#define tVECTOR 368 -#define tDIRECTION 369 -#define tAXIS2_PLACEMENT_3D 370 -#define tISO 371 -#define tENDISO 372 -#define tENDSEC 373 -#define tDATA 374 -#define tHEADER 375 -#define tFILE_DESCRIPTION 376 -#define tFILE_SCHEMA 377 -#define tFILE_NAME 378 -#define tMANIFOLD_SOLID_BREP 379 -#define tCLOSED_SHELL 380 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 381 -#define tFACE_BOUND 382 -#define tCYLINDRICAL_SURFACE 383 -#define tCONICAL_SURFACE 384 -#define tCIRCLE 385 -#define tTRIMMED_CURVE 386 -#define tGEOMETRIC_SET 387 -#define tCOMPOSITE_CURVE_SEGMENT 388 -#define tCONTINUOUS 389 -#define tCOMPOSITE_CURVE 390 -#define tTOROIDAL_SURFACE 391 -#define tPRODUCT_DEFINITION 392 -#define tPRODUCT_DEFINITION_SHAPE 393 -#define tSHAPE_DEFINITION_REPRESENTATION 394 -#define tELLIPSE 395 -#define tTrimmed 396 -#define tSolid 397 -#define tEndSolid 398 -#define tVertex 399 -#define tFacet 400 -#define tNormal 401 -#define tOuter 402 -#define tLoopSTL 403 -#define tEndLoop 404 -#define tEndFacet 405 -#define tAFFECTPLUS 406 -#define tAFFECTMINUS 407 -#define tAFFECTTIMES 408 -#define tAFFECTDIVIDE 409 -#define tOR 410 -#define tAND 411 -#define tEQUAL 412 -#define tNOTEQUAL 413 -#define tAPPROXEQUAL 414 -#define tLESSOREQUAL 415 -#define tGREATEROREQUAL 416 -#define tCROSSPRODUCT 417 -#define tPLUSPLUS 418 -#define tMINUSMINUS 419 -#define UNARYPREC 420 +#define tMPI_Rank 264 +#define tMPI_Size 265 +#define tExp 266 +#define tLog 267 +#define tLog10 268 +#define tSqrt 269 +#define tSin 270 +#define tAsin 271 +#define tCos 272 +#define tAcos 273 +#define tTan 274 +#define tRand 275 +#define tAtan 276 +#define tAtan2 277 +#define tSinh 278 +#define tCosh 279 +#define tTanh 280 +#define tFabs 281 +#define tFloor 282 +#define tCeil 283 +#define tFmod 284 +#define tModulo 285 +#define tHypot 286 +#define tPrintf 287 +#define tSprintf 288 +#define tStrCat 289 +#define tStrPrefix 290 +#define tDraw 291 +#define tPoint 292 +#define tCircle 293 +#define tEllipsis 294 +#define tLine 295 +#define tSurface 296 +#define tSpline 297 +#define tVolume 298 +#define tCharacteristic 299 +#define tLength 300 +#define tParametric 301 +#define tElliptic 302 +#define tPlane 303 +#define tRuled 304 +#define tTransfinite 305 +#define tComplex 306 +#define tPhysical 307 +#define tUsing 308 +#define tBump 309 +#define tProgression 310 +#define tPlugin 311 +#define tRotate 312 +#define tTranslate 313 +#define tSymmetry 314 +#define tDilate 315 +#define tExtrude 316 +#define tDuplicata 317 +#define tLoop 318 +#define tRecombine 319 +#define tDelete 320 +#define tCoherence 321 +#define tIntersect 322 +#define tAttractor 323 +#define tLayers 324 +#define tScalarTetrahedron 325 +#define tVectorTetrahedron 326 +#define tTensorTetrahedron 327 +#define tScalarTriangle 328 +#define tVectorTriangle 329 +#define tTensorTriangle 330 +#define tScalarLine 331 +#define tVectorLine 332 +#define tTensorLine 333 +#define tScalarPoint 334 +#define tVectorPoint 335 +#define tTensorPoint 336 +#define tBSpline 337 +#define tNurbs 338 +#define tOrder 339 +#define tWith 340 +#define tBounds 341 +#define tKnots 342 +#define tColor 343 +#define tColorTable 344 +#define tFor 345 +#define tIn 346 +#define tEndFor 347 +#define tIf 348 +#define tEndIf 349 +#define tExit 350 +#define tReturn 351 +#define tCall 352 +#define tFunction 353 +#define tMesh 354 +#define tB_SPLINE_SURFACE_WITH_KNOTS 355 +#define tB_SPLINE_CURVE_WITH_KNOTS 356 +#define tCARTESIAN_POINT 357 +#define tTRUE 358 +#define tFALSE 359 +#define tUNSPECIFIED 360 +#define tU 361 +#define tV 362 +#define tEDGE_CURVE 363 +#define tVERTEX_POINT 364 +#define tORIENTED_EDGE 365 +#define tPLANE 366 +#define tFACE_OUTER_BOUND 367 +#define tEDGE_LOOP 368 +#define tADVANCED_FACE 369 +#define tVECTOR 370 +#define tDIRECTION 371 +#define tAXIS2_PLACEMENT_3D 372 +#define tISO 373 +#define tENDISO 374 +#define tENDSEC 375 +#define tDATA 376 +#define tHEADER 377 +#define tFILE_DESCRIPTION 378 +#define tFILE_SCHEMA 379 +#define tFILE_NAME 380 +#define tMANIFOLD_SOLID_BREP 381 +#define tCLOSED_SHELL 382 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 383 +#define tFACE_BOUND 384 +#define tCYLINDRICAL_SURFACE 385 +#define tCONICAL_SURFACE 386 +#define tCIRCLE 387 +#define tTRIMMED_CURVE 388 +#define tGEOMETRIC_SET 389 +#define tCOMPOSITE_CURVE_SEGMENT 390 +#define tCONTINUOUS 391 +#define tCOMPOSITE_CURVE 392 +#define tTOROIDAL_SURFACE 393 +#define tPRODUCT_DEFINITION 394 +#define tPRODUCT_DEFINITION_SHAPE 395 +#define tSHAPE_DEFINITION_REPRESENTATION 396 +#define tELLIPSE 397 +#define tTrimmed 398 +#define tSolid 399 +#define tEndSolid 400 +#define tVertex 401 +#define tFacet 402 +#define tNormal 403 +#define tOuter 404 +#define tLoopSTL 405 +#define tEndLoop 406 +#define tEndFacet 407 +#define tAFFECTPLUS 408 +#define tAFFECTMINUS 409 +#define tAFFECTTIMES 410 +#define tAFFECTDIVIDE 411 +#define tOR 412 +#define tAND 413 +#define tEQUAL 414 +#define tNOTEQUAL 415 +#define tAPPROXEQUAL 416 +#define tLESSOREQUAL 417 +#define tGREATEROREQUAL 418 +#define tCROSSPRODUCT 419 +#define tPLUSPLUS 420 +#define tMINUSMINUS 421 +#define UNARYPREC 422 #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.101 2001-08-06 08:09:51 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.102 2001-08-08 14:05:26 remacle Exp $ // // Generaliser sprintf avec des chaines de caracteres @@ -182,6 +184,7 @@ #ifndef _NOPLUGIN #include "PluginManager.h" #endif +#include "ParUtil.h" #include "Gmsh.h" #include "Const.h" #include "Context.h" @@ -241,7 +244,7 @@ void yyerror (char *s); void vyyerror (char *fmt, ...); void skip_until (char *skip, char *until); -#line 73 "Gmsh.y" +#line 74 "Gmsh.y" typedef union { char *c; int i; @@ -261,26 +264,26 @@ typedef union { -#define YYFINAL 1540 +#define YYFINAL 1542 #define YYFLAG -32768 -#define YYNTBASE 185 +#define YYNTBASE 187 -#define YYTRANSLATE(x) ((unsigned)(x) <= 420 ? yytranslate[x] : 268) +#define YYTRANSLATE(x) ((unsigned)(x) <= 422 ? yytranslate[x] : 270) 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, 172, 2, 2, 2, 170, 2, 2, 177, - 178, 168, 166, 182, 167, 181, 169, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 162, - 2, 164, 156, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 174, 2, 2, 2, 172, 2, 2, 179, + 180, 170, 168, 184, 169, 183, 171, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 164, + 2, 166, 158, 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, - 179, 2, 180, 176, 2, 2, 2, 2, 2, 2, + 181, 2, 182, 178, 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, 183, 2, 184, 2, 2, 2, 2, 2, + 2, 2, 185, 2, 186, 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, 2, @@ -308,8 +311,9 @@ static const short yytranslate[] = { 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 157, - 158, 159, 160, 161, 163, 165, 171, 173, 174, 175 + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 159, 160, 161, 162, 163, 165, 167, 173, 175, + 176, 177 }; #if YYDEBUG != 0 @@ -342,275 +346,277 @@ static const short yyprhs[] = { 0, 1769, 1773, 1777, 1781, 1785, 1789, 1793, 1797, 1801, 1805, 1809, 1815, 1820, 1825, 1830, 1835, 1840, 1845, 1850, 1855, 1860, 1865, 1872, 1877, 1882, 1887, 1892, 1897, 1902, 1909, - 1916, 1923, 1928, 1930, 1932, 1934, 1939, 1942, 1948, 1952, - 1959, 1964, 1972, 1974, 1977, 1980, 1984, 1988, 2000, 2010, - 2018, 2026, 2027, 2031, 2033, 2037, 2038, 2042, 2046, 2048, - 2052, 2054, 2056, 2060, 2065, 2069, 2075, 2079, 2084, 2091, - 2099, 2101, 2103, 2107, 2111, 2121, 2129, 2131, 2137, 2141, - 2148, 2150, 2154, 2156, 2163, 2168, 2173, 2180, 2187 + 1916, 1923, 1928, 1930, 1932, 1934, 1936, 1938, 1943, 1946, + 1952, 1956, 1963, 1968, 1976, 1978, 1981, 1984, 1988, 1992, + 2004, 2014, 2022, 2030, 2031, 2035, 2037, 2041, 2042, 2046, + 2050, 2052, 2056, 2058, 2060, 2064, 2069, 2073, 2079, 2083, + 2088, 2095, 2103, 2105, 2107, 2111, 2115, 2125, 2133, 2135, + 2141, 2145, 2152, 2154, 2158, 2160, 2167, 2172, 2177, 2184, + 2191 }; -static const short yyrhs[] = { 188, - 0, 187, 0, 193, 0, 1, 6, 0, 3, 0, - 167, 3, 0, 143, 0, 146, 147, 186, 186, 186, - 148, 149, 145, 186, 186, 186, 145, 186, 186, 186, - 145, 186, 186, 186, 150, 151, 0, 144, 0, 0, - 188, 189, 0, 190, 0, 192, 0, 191, 0, 117, - 6, 0, 118, 6, 0, 120, 6, 0, 119, 6, - 0, 121, 6, 0, 122, 177, 257, 182, 5, 178, - 6, 0, 123, 177, 257, 178, 6, 0, 124, 177, - 5, 182, 5, 182, 257, 182, 257, 182, 5, 182, - 5, 182, 5, 178, 6, 0, 3, 7, 101, 177, - 5, 182, 255, 178, 6, 0, 3, 7, 100, 177, - 5, 182, 253, 182, 261, 182, 252, 182, 252, 182, - 252, 182, 261, 182, 261, 182, 252, 178, 6, 0, - 3, 7, 99, 177, 5, 182, 253, 182, 253, 182, - 259, 182, 252, 182, 252, 182, 252, 182, 252, 182, - 261, 182, 261, 182, 261, 182, 261, 182, 252, 178, - 6, 0, 3, 7, 107, 177, 5, 182, 3, 182, - 3, 182, 3, 182, 252, 178, 6, 0, 3, 7, - 111, 177, 5, 182, 3, 182, 252, 178, 6, 0, - 3, 7, 128, 177, 5, 182, 3, 182, 252, 178, - 6, 0, 3, 7, 109, 177, 5, 182, 168, 182, - 168, 182, 253, 182, 252, 178, 6, 0, 3, 7, - 112, 177, 5, 182, 261, 178, 6, 0, 3, 7, - 113, 177, 5, 182, 261, 182, 3, 182, 252, 178, - 6, 0, 3, 7, 108, 177, 5, 182, 3, 178, - 6, 0, 3, 7, 114, 177, 5, 182, 3, 182, - 253, 178, 6, 0, 3, 7, 116, 177, 5, 182, - 3, 182, 3, 182, 3, 178, 6, 0, 3, 7, - 115, 177, 5, 182, 255, 178, 6, 0, 3, 7, - 110, 177, 5, 182, 3, 178, 6, 0, 3, 7, - 39, 177, 5, 182, 3, 182, 3, 178, 6, 0, - 3, 7, 126, 177, 5, 182, 261, 178, 6, 0, - 3, 7, 127, 177, 5, 182, 261, 182, 3, 178, - 6, 0, 3, 7, 125, 177, 5, 182, 3, 178, - 6, 0, 3, 7, 129, 177, 5, 182, 3, 182, - 253, 178, 6, 0, 3, 7, 130, 177, 5, 182, - 3, 182, 253, 182, 253, 178, 6, 0, 3, 7, - 137, 177, 5, 182, 3, 182, 253, 182, 253, 178, - 6, 0, 3, 7, 131, 177, 5, 182, 3, 182, - 253, 178, 6, 0, 3, 7, 141, 177, 5, 182, - 3, 182, 253, 182, 253, 178, 6, 0, 3, 7, - 132, 177, 5, 182, 3, 182, 261, 182, 261, 182, - 252, 182, 252, 178, 6, 0, 3, 7, 133, 177, - 5, 182, 261, 178, 6, 0, 3, 7, 134, 177, - 135, 182, 252, 182, 3, 178, 6, 0, 3, 7, - 136, 177, 5, 182, 261, 182, 252, 178, 6, 0, - 3, 7, 138, 177, 5, 182, 5, 182, 3, 182, - 3, 178, 6, 0, 3, 7, 139, 177, 5, 182, - 5, 182, 3, 178, 6, 0, 3, 7, 140, 177, - 3, 182, 3, 178, 6, 0, 0, 193, 194, 0, - 196, 0, 195, 0, 236, 0, 237, 0, 238, 0, - 241, 0, 242, 0, 245, 0, 250, 0, 251, 0, - 244, 0, 243, 0, 31, 177, 5, 178, 6, 0, - 31, 177, 5, 182, 263, 178, 6, 0, 4, 5, - 183, 197, 184, 6, 0, 4, 5, 4, 255, 183, - 197, 184, 6, 0, 0, 197, 199, 0, 197, 202, - 0, 197, 205, 0, 197, 208, 0, 197, 211, 0, - 197, 214, 0, 197, 217, 0, 197, 220, 0, 197, - 223, 0, 197, 226, 0, 197, 229, 0, 197, 232, - 0, 253, 0, 198, 182, 253, 0, 0, 78, 177, - 253, 182, 253, 182, 253, 178, 200, 183, 198, 184, - 6, 0, 253, 0, 201, 182, 253, 0, 0, 79, - 177, 253, 182, 253, 182, 253, 178, 203, 183, 201, - 184, 6, 0, 253, 0, 204, 182, 253, 0, 0, - 80, 177, 253, 182, 253, 182, 253, 178, 206, 183, - 204, 184, 6, 0, 253, 0, 207, 182, 253, 0, - 0, 75, 177, 253, 182, 253, 182, 253, 182, 253, - 182, 253, 182, 253, 178, 209, 183, 207, 184, 6, - 0, 253, 0, 210, 182, 253, 0, 0, 76, 177, - 253, 182, 253, 182, 253, 182, 253, 182, 253, 182, - 253, 178, 212, 183, 210, 184, 6, 0, 253, 0, - 213, 182, 253, 0, 0, 77, 177, 253, 182, 253, - 182, 253, 182, 253, 182, 253, 182, 253, 178, 215, - 183, 213, 184, 6, 0, 253, 0, 216, 182, 253, - 0, 0, 72, 177, 253, 182, 253, 182, 253, 182, - 253, 182, 253, 182, 253, 182, 253, 182, 253, 182, - 253, 178, 218, 183, 216, 184, 6, 0, 253, 0, - 219, 182, 253, 0, 0, 73, 177, 253, 182, 253, - 182, 253, 182, 253, 182, 253, 182, 253, 182, 253, - 182, 253, 182, 253, 178, 221, 183, 219, 184, 6, - 0, 253, 0, 222, 182, 253, 0, 0, 74, 177, - 253, 182, 253, 182, 253, 182, 253, 182, 253, 182, - 253, 182, 253, 182, 253, 182, 253, 178, 224, 183, - 222, 184, 6, 0, 253, 0, 225, 182, 253, 0, - 0, 69, 177, 253, 182, 253, 182, 253, 182, 253, - 182, 253, 182, 253, 182, 253, 182, 253, 182, 253, - 182, 253, 182, 253, 182, 253, 178, 227, 183, 225, - 184, 6, 0, 253, 0, 228, 182, 253, 0, 0, - 70, 177, 253, 182, 253, 182, 253, 182, 253, 182, - 253, 182, 253, 182, 253, 182, 253, 182, 253, 182, - 253, 182, 253, 182, 253, 178, 230, 183, 228, 184, - 6, 0, 253, 0, 231, 182, 253, 0, 0, 71, - 177, 253, 182, 253, 182, 253, 182, 253, 182, 253, - 182, 253, 182, 253, 182, 253, 182, 253, 182, 253, - 182, 253, 182, 253, 178, 233, 183, 231, 184, 6, - 0, 7, 0, 152, 0, 153, 0, 154, 0, 155, - 0, 173, 0, 174, 0, 4, 234, 253, 6, 0, - 4, 179, 253, 180, 234, 253, 6, 0, 4, 179, - 183, 263, 184, 180, 234, 261, 6, 0, 4, 179, - 180, 7, 261, 6, 0, 4, 235, 6, 0, 4, - 179, 253, 180, 235, 6, 0, 4, 181, 4, 7, - 267, 6, 0, 4, 179, 253, 180, 181, 4, 7, - 267, 6, 0, 4, 181, 4, 234, 253, 6, 0, - 4, 179, 253, 180, 181, 4, 234, 253, 6, 0, - 4, 181, 4, 235, 6, 0, 4, 179, 253, 180, - 181, 4, 235, 6, 0, 4, 181, 87, 181, 4, - 7, 264, 6, 0, 4, 179, 253, 180, 181, 87, - 181, 4, 7, 264, 6, 0, 4, 181, 88, 7, - 265, 6, 0, 4, 179, 253, 180, 181, 88, 7, - 265, 6, 0, 55, 177, 4, 178, 181, 4, 7, - 253, 6, 0, 55, 177, 4, 178, 181, 4, 7, - 267, 6, 0, 36, 177, 253, 178, 7, 255, 6, - 0, 51, 36, 177, 253, 178, 7, 261, 6, 0, - 67, 36, 261, 7, 183, 253, 182, 253, 182, 253, - 184, 6, 0, 43, 44, 261, 7, 253, 6, 0, - 36, 183, 253, 184, 6, 0, 39, 177, 253, 178, - 7, 261, 6, 0, 41, 177, 253, 178, 7, 261, - 6, 0, 67, 39, 261, 7, 183, 253, 182, 253, - 182, 253, 184, 6, 0, 37, 177, 253, 178, 7, - 261, 6, 0, 37, 177, 253, 178, 7, 261, 47, - 255, 6, 0, 45, 177, 253, 178, 7, 183, 253, - 182, 253, 182, 5, 182, 5, 182, 5, 184, 6, - 0, 38, 177, 253, 178, 7, 261, 6, 0, 51, - 39, 177, 253, 178, 7, 261, 6, 0, 39, 62, - 177, 253, 178, 7, 261, 6, 0, 81, 177, 253, - 178, 7, 261, 6, 0, 82, 177, 253, 178, 7, - 261, 86, 261, 83, 253, 6, 0, 39, 183, 253, - 184, 6, 0, 47, 40, 177, 253, 178, 7, 261, - 6, 0, 142, 40, 177, 253, 178, 7, 183, 253, - 182, 261, 184, 6, 0, 48, 40, 177, 253, 178, - 7, 261, 6, 0, 82, 40, 84, 85, 177, 253, - 178, 7, 259, 86, 183, 261, 182, 261, 184, 83, - 183, 253, 182, 253, 184, 6, 0, 82, 40, 177, - 253, 178, 7, 259, 86, 183, 261, 182, 261, 184, - 83, 183, 253, 182, 253, 184, 6, 0, 51, 40, - 177, 253, 178, 7, 261, 6, 0, 40, 62, 177, - 253, 178, 7, 261, 6, 0, 40, 183, 253, 184, - 6, 0, 50, 42, 177, 253, 178, 7, 261, 6, - 0, 42, 177, 253, 178, 7, 261, 6, 0, 51, - 42, 177, 253, 178, 7, 261, 6, 0, 57, 255, - 183, 239, 184, 0, 56, 183, 255, 182, 255, 182, - 253, 184, 183, 239, 184, 0, 58, 255, 183, 239, - 184, 0, 59, 183, 255, 182, 253, 184, 183, 239, - 184, 0, 241, 0, 240, 0, 238, 0, 0, 240, - 237, 0, 61, 183, 240, 184, 0, 64, 183, 240, - 184, 0, 64, 4, 179, 253, 180, 6, 0, 64, - 98, 6, 0, 4, 267, 6, 0, 4, 253, 6, - 0, 55, 177, 4, 178, 181, 4, 6, 0, 94, - 6, 0, 35, 6, 0, 89, 177, 253, 8, 253, - 178, 0, 89, 177, 253, 8, 253, 8, 253, 178, - 0, 89, 4, 90, 183, 253, 8, 253, 184, 0, - 89, 4, 90, 183, 253, 8, 253, 8, 253, 184, - 0, 91, 0, 97, 4, 0, 95, 0, 96, 4, - 6, 0, 92, 177, 253, 178, 0, 93, 0, 60, - 36, 183, 253, 182, 255, 184, 6, 0, 60, 36, - 183, 253, 182, 255, 182, 255, 182, 253, 184, 6, - 0, 60, 39, 183, 253, 182, 255, 184, 6, 0, - 60, 39, 183, 253, 182, 255, 182, 255, 182, 253, - 184, 6, 0, 60, 40, 183, 253, 182, 255, 184, - 6, 0, 60, 40, 183, 253, 182, 255, 182, 255, - 182, 253, 184, 6, 0, 0, 60, 40, 183, 253, - 182, 255, 184, 246, 183, 248, 184, 6, 0, 0, - 60, 40, 183, 253, 182, 255, 182, 255, 182, 253, - 184, 247, 183, 248, 184, 6, 0, 249, 0, 248, - 249, 0, 68, 183, 261, 182, 261, 182, 261, 184, - 6, 0, 63, 6, 0, 49, 39, 261, 7, 253, - 6, 0, 49, 39, 261, 7, 253, 52, 54, 253, - 6, 0, 49, 39, 261, 7, 253, 52, 53, 253, - 6, 0, 49, 40, 183, 253, 184, 7, 261, 6, - 0, 46, 40, 183, 253, 184, 7, 261, 6, 0, - 49, 42, 183, 253, 184, 7, 261, 6, 0, 63, - 40, 261, 7, 253, 6, 0, 63, 40, 261, 6, - 0, 65, 6, 0, 66, 6, 0, 102, 0, 103, - 0, 104, 0, 105, 0, 106, 0, 254, 0, 177, - 253, 178, 0, 167, 253, 0, 166, 253, 0, 172, - 253, 0, 253, 167, 253, 0, 253, 166, 253, 0, - 253, 168, 253, 0, 253, 169, 253, 0, 253, 170, - 253, 0, 253, 176, 253, 0, 253, 162, 253, 0, - 253, 164, 253, 0, 253, 163, 253, 0, 253, 165, - 253, 0, 253, 159, 253, 0, 253, 160, 253, 0, - 253, 158, 253, 0, 253, 157, 253, 0, 253, 156, - 253, 8, 253, 0, 10, 177, 253, 178, 0, 11, - 177, 253, 178, 0, 12, 177, 253, 178, 0, 13, - 177, 253, 178, 0, 14, 177, 253, 178, 0, 15, - 177, 253, 178, 0, 16, 177, 253, 178, 0, 17, - 177, 253, 178, 0, 18, 177, 253, 178, 0, 20, - 177, 253, 178, 0, 21, 177, 253, 182, 253, 178, - 0, 22, 177, 253, 178, 0, 23, 177, 253, 178, - 0, 24, 177, 253, 178, 0, 25, 177, 253, 178, - 0, 26, 177, 253, 178, 0, 27, 177, 253, 178, - 0, 28, 177, 253, 182, 253, 178, 0, 29, 177, - 253, 182, 253, 178, 0, 30, 177, 253, 182, 253, - 178, 0, 19, 177, 253, 178, 0, 3, 0, 9, - 0, 4, 0, 4, 179, 253, 180, 0, 4, 235, - 0, 4, 179, 253, 180, 235, 0, 4, 181, 4, - 0, 4, 179, 253, 180, 181, 4, 0, 4, 181, - 4, 235, 0, 4, 179, 253, 180, 181, 4, 235, - 0, 256, 0, 167, 255, 0, 166, 255, 0, 255, - 167, 255, 0, 255, 166, 255, 0, 183, 253, 182, - 253, 182, 253, 182, 253, 182, 253, 184, 0, 183, - 253, 182, 253, 182, 253, 182, 253, 184, 0, 183, - 253, 182, 253, 182, 253, 184, 0, 177, 253, 182, - 253, 182, 253, 178, 0, 0, 177, 258, 178, 0, - 5, 0, 258, 182, 5, 0, 0, 183, 260, 184, - 0, 177, 260, 178, 0, 261, 0, 260, 182, 261, - 0, 253, 0, 262, 0, 183, 263, 184, 0, 167, - 183, 263, 184, 0, 253, 8, 253, 0, 253, 8, - 253, 8, 253, 0, 4, 179, 180, 0, 167, 4, - 179, 180, 0, 4, 179, 183, 263, 184, 180, 0, - 167, 4, 179, 183, 263, 184, 180, 0, 253, 0, - 262, 0, 263, 182, 253, 0, 263, 182, 262, 0, - 183, 253, 182, 253, 182, 253, 182, 253, 184, 0, - 183, 253, 182, 253, 182, 253, 184, 0, 4, 0, - 4, 181, 87, 181, 4, 0, 183, 266, 184, 0, - 4, 179, 253, 180, 181, 88, 0, 264, 0, 266, - 182, 264, 0, 5, 0, 33, 177, 267, 182, 267, - 178, 0, 34, 177, 267, 178, 0, 32, 177, 267, - 178, 0, 32, 177, 267, 182, 263, 178, 0, 32, - 177, 4, 181, 4, 178, 0, 32, 177, 4, 179, - 253, 180, 181, 4, 178, 0 +static const short yyrhs[] = { 190, + 0, 189, 0, 195, 0, 1, 6, 0, 3, 0, + 169, 3, 0, 145, 0, 148, 149, 188, 188, 188, + 150, 151, 147, 188, 188, 188, 147, 188, 188, 188, + 147, 188, 188, 188, 152, 153, 0, 146, 0, 0, + 190, 191, 0, 192, 0, 194, 0, 193, 0, 119, + 6, 0, 120, 6, 0, 122, 6, 0, 121, 6, + 0, 123, 6, 0, 124, 179, 259, 184, 5, 180, + 6, 0, 125, 179, 259, 180, 6, 0, 126, 179, + 5, 184, 5, 184, 259, 184, 259, 184, 5, 184, + 5, 184, 5, 180, 6, 0, 3, 7, 103, 179, + 5, 184, 257, 180, 6, 0, 3, 7, 102, 179, + 5, 184, 255, 184, 263, 184, 254, 184, 254, 184, + 254, 184, 263, 184, 263, 184, 254, 180, 6, 0, + 3, 7, 101, 179, 5, 184, 255, 184, 255, 184, + 261, 184, 254, 184, 254, 184, 254, 184, 254, 184, + 263, 184, 263, 184, 263, 184, 263, 184, 254, 180, + 6, 0, 3, 7, 109, 179, 5, 184, 3, 184, + 3, 184, 3, 184, 254, 180, 6, 0, 3, 7, + 113, 179, 5, 184, 3, 184, 254, 180, 6, 0, + 3, 7, 130, 179, 5, 184, 3, 184, 254, 180, + 6, 0, 3, 7, 111, 179, 5, 184, 170, 184, + 170, 184, 255, 184, 254, 180, 6, 0, 3, 7, + 114, 179, 5, 184, 263, 180, 6, 0, 3, 7, + 115, 179, 5, 184, 263, 184, 3, 184, 254, 180, + 6, 0, 3, 7, 110, 179, 5, 184, 3, 180, + 6, 0, 3, 7, 116, 179, 5, 184, 3, 184, + 255, 180, 6, 0, 3, 7, 118, 179, 5, 184, + 3, 184, 3, 184, 3, 180, 6, 0, 3, 7, + 117, 179, 5, 184, 257, 180, 6, 0, 3, 7, + 112, 179, 5, 184, 3, 180, 6, 0, 3, 7, + 41, 179, 5, 184, 3, 184, 3, 180, 6, 0, + 3, 7, 128, 179, 5, 184, 263, 180, 6, 0, + 3, 7, 129, 179, 5, 184, 263, 184, 3, 180, + 6, 0, 3, 7, 127, 179, 5, 184, 3, 180, + 6, 0, 3, 7, 131, 179, 5, 184, 3, 184, + 255, 180, 6, 0, 3, 7, 132, 179, 5, 184, + 3, 184, 255, 184, 255, 180, 6, 0, 3, 7, + 139, 179, 5, 184, 3, 184, 255, 184, 255, 180, + 6, 0, 3, 7, 133, 179, 5, 184, 3, 184, + 255, 180, 6, 0, 3, 7, 143, 179, 5, 184, + 3, 184, 255, 184, 255, 180, 6, 0, 3, 7, + 134, 179, 5, 184, 3, 184, 263, 184, 263, 184, + 254, 184, 254, 180, 6, 0, 3, 7, 135, 179, + 5, 184, 263, 180, 6, 0, 3, 7, 136, 179, + 137, 184, 254, 184, 3, 180, 6, 0, 3, 7, + 138, 179, 5, 184, 263, 184, 254, 180, 6, 0, + 3, 7, 140, 179, 5, 184, 5, 184, 3, 184, + 3, 180, 6, 0, 3, 7, 141, 179, 5, 184, + 5, 184, 3, 180, 6, 0, 3, 7, 142, 179, + 3, 184, 3, 180, 6, 0, 0, 195, 196, 0, + 198, 0, 197, 0, 238, 0, 239, 0, 240, 0, + 243, 0, 244, 0, 247, 0, 252, 0, 253, 0, + 246, 0, 245, 0, 33, 179, 5, 180, 6, 0, + 33, 179, 5, 184, 265, 180, 6, 0, 4, 5, + 185, 199, 186, 6, 0, 4, 5, 4, 257, 185, + 199, 186, 6, 0, 0, 199, 201, 0, 199, 204, + 0, 199, 207, 0, 199, 210, 0, 199, 213, 0, + 199, 216, 0, 199, 219, 0, 199, 222, 0, 199, + 225, 0, 199, 228, 0, 199, 231, 0, 199, 234, + 0, 255, 0, 200, 184, 255, 0, 0, 80, 179, + 255, 184, 255, 184, 255, 180, 202, 185, 200, 186, + 6, 0, 255, 0, 203, 184, 255, 0, 0, 81, + 179, 255, 184, 255, 184, 255, 180, 205, 185, 203, + 186, 6, 0, 255, 0, 206, 184, 255, 0, 0, + 82, 179, 255, 184, 255, 184, 255, 180, 208, 185, + 206, 186, 6, 0, 255, 0, 209, 184, 255, 0, + 0, 77, 179, 255, 184, 255, 184, 255, 184, 255, + 184, 255, 184, 255, 180, 211, 185, 209, 186, 6, + 0, 255, 0, 212, 184, 255, 0, 0, 78, 179, + 255, 184, 255, 184, 255, 184, 255, 184, 255, 184, + 255, 180, 214, 185, 212, 186, 6, 0, 255, 0, + 215, 184, 255, 0, 0, 79, 179, 255, 184, 255, + 184, 255, 184, 255, 184, 255, 184, 255, 180, 217, + 185, 215, 186, 6, 0, 255, 0, 218, 184, 255, + 0, 0, 74, 179, 255, 184, 255, 184, 255, 184, + 255, 184, 255, 184, 255, 184, 255, 184, 255, 184, + 255, 180, 220, 185, 218, 186, 6, 0, 255, 0, + 221, 184, 255, 0, 0, 75, 179, 255, 184, 255, + 184, 255, 184, 255, 184, 255, 184, 255, 184, 255, + 184, 255, 184, 255, 180, 223, 185, 221, 186, 6, + 0, 255, 0, 224, 184, 255, 0, 0, 76, 179, + 255, 184, 255, 184, 255, 184, 255, 184, 255, 184, + 255, 184, 255, 184, 255, 184, 255, 180, 226, 185, + 224, 186, 6, 0, 255, 0, 227, 184, 255, 0, + 0, 71, 179, 255, 184, 255, 184, 255, 184, 255, + 184, 255, 184, 255, 184, 255, 184, 255, 184, 255, + 184, 255, 184, 255, 184, 255, 180, 229, 185, 227, + 186, 6, 0, 255, 0, 230, 184, 255, 0, 0, + 72, 179, 255, 184, 255, 184, 255, 184, 255, 184, + 255, 184, 255, 184, 255, 184, 255, 184, 255, 184, + 255, 184, 255, 184, 255, 180, 232, 185, 230, 186, + 6, 0, 255, 0, 233, 184, 255, 0, 0, 73, + 179, 255, 184, 255, 184, 255, 184, 255, 184, 255, + 184, 255, 184, 255, 184, 255, 184, 255, 184, 255, + 184, 255, 184, 255, 180, 235, 185, 233, 186, 6, + 0, 7, 0, 154, 0, 155, 0, 156, 0, 157, + 0, 175, 0, 176, 0, 4, 236, 255, 6, 0, + 4, 181, 255, 182, 236, 255, 6, 0, 4, 181, + 185, 265, 186, 182, 236, 263, 6, 0, 4, 181, + 182, 7, 263, 6, 0, 4, 237, 6, 0, 4, + 181, 255, 182, 237, 6, 0, 4, 183, 4, 7, + 269, 6, 0, 4, 181, 255, 182, 183, 4, 7, + 269, 6, 0, 4, 183, 4, 236, 255, 6, 0, + 4, 181, 255, 182, 183, 4, 236, 255, 6, 0, + 4, 183, 4, 237, 6, 0, 4, 181, 255, 182, + 183, 4, 237, 6, 0, 4, 183, 89, 183, 4, + 7, 266, 6, 0, 4, 181, 255, 182, 183, 89, + 183, 4, 7, 266, 6, 0, 4, 183, 90, 7, + 267, 6, 0, 4, 181, 255, 182, 183, 90, 7, + 267, 6, 0, 57, 179, 4, 180, 183, 4, 7, + 255, 6, 0, 57, 179, 4, 180, 183, 4, 7, + 269, 6, 0, 38, 179, 255, 180, 7, 257, 6, + 0, 53, 38, 179, 255, 180, 7, 263, 6, 0, + 69, 38, 263, 7, 185, 255, 184, 255, 184, 255, + 186, 6, 0, 45, 46, 263, 7, 255, 6, 0, + 38, 185, 255, 186, 6, 0, 41, 179, 255, 180, + 7, 263, 6, 0, 43, 179, 255, 180, 7, 263, + 6, 0, 69, 41, 263, 7, 185, 255, 184, 255, + 184, 255, 186, 6, 0, 39, 179, 255, 180, 7, + 263, 6, 0, 39, 179, 255, 180, 7, 263, 49, + 257, 6, 0, 47, 179, 255, 180, 7, 185, 255, + 184, 255, 184, 5, 184, 5, 184, 5, 186, 6, + 0, 40, 179, 255, 180, 7, 263, 6, 0, 53, + 41, 179, 255, 180, 7, 263, 6, 0, 41, 64, + 179, 255, 180, 7, 263, 6, 0, 83, 179, 255, + 180, 7, 263, 6, 0, 84, 179, 255, 180, 7, + 263, 88, 263, 85, 255, 6, 0, 41, 185, 255, + 186, 6, 0, 49, 42, 179, 255, 180, 7, 263, + 6, 0, 144, 42, 179, 255, 180, 7, 185, 255, + 184, 263, 186, 6, 0, 50, 42, 179, 255, 180, + 7, 263, 6, 0, 84, 42, 86, 87, 179, 255, + 180, 7, 261, 88, 185, 263, 184, 263, 186, 85, + 185, 255, 184, 255, 186, 6, 0, 84, 42, 179, + 255, 180, 7, 261, 88, 185, 263, 184, 263, 186, + 85, 185, 255, 184, 255, 186, 6, 0, 53, 42, + 179, 255, 180, 7, 263, 6, 0, 42, 64, 179, + 255, 180, 7, 263, 6, 0, 42, 185, 255, 186, + 6, 0, 52, 44, 179, 255, 180, 7, 263, 6, + 0, 44, 179, 255, 180, 7, 263, 6, 0, 53, + 44, 179, 255, 180, 7, 263, 6, 0, 59, 257, + 185, 241, 186, 0, 58, 185, 257, 184, 257, 184, + 255, 186, 185, 241, 186, 0, 60, 257, 185, 241, + 186, 0, 61, 185, 257, 184, 255, 186, 185, 241, + 186, 0, 243, 0, 242, 0, 240, 0, 0, 242, + 239, 0, 63, 185, 242, 186, 0, 66, 185, 242, + 186, 0, 66, 4, 181, 255, 182, 6, 0, 66, + 100, 6, 0, 4, 269, 6, 0, 4, 255, 6, + 0, 57, 179, 4, 180, 183, 4, 6, 0, 96, + 6, 0, 37, 6, 0, 91, 179, 255, 8, 255, + 180, 0, 91, 179, 255, 8, 255, 8, 255, 180, + 0, 91, 4, 92, 185, 255, 8, 255, 186, 0, + 91, 4, 92, 185, 255, 8, 255, 8, 255, 186, + 0, 93, 0, 99, 4, 0, 97, 0, 98, 4, + 6, 0, 94, 179, 255, 180, 0, 95, 0, 62, + 38, 185, 255, 184, 257, 186, 6, 0, 62, 38, + 185, 255, 184, 257, 184, 257, 184, 255, 186, 6, + 0, 62, 41, 185, 255, 184, 257, 186, 6, 0, + 62, 41, 185, 255, 184, 257, 184, 257, 184, 255, + 186, 6, 0, 62, 42, 185, 255, 184, 257, 186, + 6, 0, 62, 42, 185, 255, 184, 257, 184, 257, + 184, 255, 186, 6, 0, 0, 62, 42, 185, 255, + 184, 257, 186, 248, 185, 250, 186, 6, 0, 0, + 62, 42, 185, 255, 184, 257, 184, 257, 184, 255, + 186, 249, 185, 250, 186, 6, 0, 251, 0, 250, + 251, 0, 70, 185, 263, 184, 263, 184, 263, 186, + 6, 0, 65, 6, 0, 51, 41, 263, 7, 255, + 6, 0, 51, 41, 263, 7, 255, 54, 56, 255, + 6, 0, 51, 41, 263, 7, 255, 54, 55, 255, + 6, 0, 51, 42, 185, 255, 186, 7, 263, 6, + 0, 48, 42, 185, 255, 186, 7, 263, 6, 0, + 51, 44, 185, 255, 186, 7, 263, 6, 0, 65, + 42, 263, 7, 255, 6, 0, 65, 42, 263, 6, + 0, 67, 6, 0, 68, 6, 0, 104, 0, 105, + 0, 106, 0, 107, 0, 108, 0, 256, 0, 179, + 255, 180, 0, 169, 255, 0, 168, 255, 0, 174, + 255, 0, 255, 169, 255, 0, 255, 168, 255, 0, + 255, 170, 255, 0, 255, 171, 255, 0, 255, 172, + 255, 0, 255, 178, 255, 0, 255, 164, 255, 0, + 255, 166, 255, 0, 255, 165, 255, 0, 255, 167, + 255, 0, 255, 161, 255, 0, 255, 162, 255, 0, + 255, 160, 255, 0, 255, 159, 255, 0, 255, 158, + 255, 8, 255, 0, 12, 179, 255, 180, 0, 13, + 179, 255, 180, 0, 14, 179, 255, 180, 0, 15, + 179, 255, 180, 0, 16, 179, 255, 180, 0, 17, + 179, 255, 180, 0, 18, 179, 255, 180, 0, 19, + 179, 255, 180, 0, 20, 179, 255, 180, 0, 22, + 179, 255, 180, 0, 23, 179, 255, 184, 255, 180, + 0, 24, 179, 255, 180, 0, 25, 179, 255, 180, + 0, 26, 179, 255, 180, 0, 27, 179, 255, 180, + 0, 28, 179, 255, 180, 0, 29, 179, 255, 180, + 0, 30, 179, 255, 184, 255, 180, 0, 31, 179, + 255, 184, 255, 180, 0, 32, 179, 255, 184, 255, + 180, 0, 21, 179, 255, 180, 0, 3, 0, 9, + 0, 10, 0, 11, 0, 4, 0, 4, 181, 255, + 182, 0, 4, 237, 0, 4, 181, 255, 182, 237, + 0, 4, 183, 4, 0, 4, 181, 255, 182, 183, + 4, 0, 4, 183, 4, 237, 0, 4, 181, 255, + 182, 183, 4, 237, 0, 258, 0, 169, 257, 0, + 168, 257, 0, 257, 169, 257, 0, 257, 168, 257, + 0, 185, 255, 184, 255, 184, 255, 184, 255, 184, + 255, 186, 0, 185, 255, 184, 255, 184, 255, 184, + 255, 186, 0, 185, 255, 184, 255, 184, 255, 186, + 0, 179, 255, 184, 255, 184, 255, 180, 0, 0, + 179, 260, 180, 0, 5, 0, 260, 184, 5, 0, + 0, 185, 262, 186, 0, 179, 262, 180, 0, 263, + 0, 262, 184, 263, 0, 255, 0, 264, 0, 185, + 265, 186, 0, 169, 185, 265, 186, 0, 255, 8, + 255, 0, 255, 8, 255, 8, 255, 0, 4, 181, + 182, 0, 169, 4, 181, 182, 0, 4, 181, 185, + 265, 186, 182, 0, 169, 4, 181, 185, 265, 186, + 182, 0, 255, 0, 264, 0, 265, 184, 255, 0, + 265, 184, 264, 0, 185, 255, 184, 255, 184, 255, + 184, 255, 186, 0, 185, 255, 184, 255, 184, 255, + 186, 0, 4, 0, 4, 183, 89, 183, 4, 0, + 185, 268, 186, 0, 4, 181, 255, 182, 183, 90, + 0, 266, 0, 268, 184, 266, 0, 5, 0, 35, + 179, 269, 184, 269, 180, 0, 36, 179, 269, 180, + 0, 34, 179, 269, 180, 0, 34, 179, 269, 184, + 265, 180, 0, 34, 179, 4, 183, 4, 180, 0, + 34, 179, 4, 181, 255, 182, 183, 4, 180, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 155, 157, 158, 159, 166, 168, 171, 179, 193, 205, - 207, 210, 212, 213, 216, 222, 227, 228, 229, 232, - 236, 239, 245, 250, 256, 264, 269, 273, 279, 284, - 288, 293, 297, 300, 305, 309, 313, 317, 322, 326, - 329, 333, 337, 341, 345, 349, 353, 356, 360, 363, - 367, 370, 379, 383, 389, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 404, 409, 438, 444, - 451, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 470, 473, 477, 483, 489, 492, 496, - 502, 508, 511, 515, 521, 527, 530, 534, 542, 548, - 551, 555, 563, 569, 572, 576, 584, 590, 593, 597, - 609, 615, 618, 622, 634, 640, 643, 647, 659, 665, - 668, 672, 685, 691, 694, 698, 711, 717, 720, 724, - 737, 749, 751, 752, 753, 754, 756, 758, 760, 791, - 825, 872, 887, 896, 911, 923, 937, 960, 984, 996, - 1010, 1022, 1036, 1052, 1068, 1081, 1101, 1112, 1118, 1137, - 1148, 1156, 1162, 1168, 1187, 1193, 1209, 1216, 1222, 1228, - 1234, 1240, 1259, 1271, 1277, 1296, 1317, 1325, 1331, 1337, - 1343, 1355, 1361, 1367, 1379, 1385, 1390, 1395, 1402, 1404, - 1405, 1408, 1413, 1424, 1442, 1450, 1455, 1466, 1534, 1554, - 1560, 1564, 1584, 1600, 1614, 1639, 1664, 1690, 1696, 1701, - 1706, 1710, 1720, 1726, 1732, 1736, 1740, 1744, 1748, 1753, - 1758, 1764, 1771, 1775, 1780, 1801, 1811, 1830, 1848, 1866, - 1888, 1909, 1930, 1944, 1965, 1970, 1981, 1983, 1984, 1985, - 1986, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, - 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, - 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, - 2035, 2036, 2041, 2046, 2050, 2061, 2078, 2089, 2108, 2124, - 2140, 2156, 2173, 2178, 2182, 2186, 2190, 2195, 2200, 2204, - 2208, 2214, 2218, 2223, 2227, 2232, 2236, 2240, 2246, 2252, - 2259, 2265, 2269, 2273, 2283, 2290, 2301, 2315, 2331, 2351, - 2375, 2381, 2385, 2389, 2400, 2405, 2416, 2421, 2439, 2444, - 2457, 2463, 2469, 2474, 2482, 2495, 2499, 2524, 2538 + 156, 158, 159, 160, 167, 169, 172, 180, 194, 206, + 208, 211, 213, 214, 217, 223, 228, 229, 230, 233, + 237, 240, 246, 251, 257, 265, 270, 274, 280, 285, + 289, 294, 298, 301, 306, 310, 314, 318, 323, 327, + 330, 334, 338, 342, 346, 350, 354, 357, 361, 364, + 368, 371, 380, 384, 390, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 405, 410, 439, 445, + 452, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, 467, 468, 471, 474, 478, 484, 490, 493, 497, + 503, 509, 512, 516, 522, 528, 531, 535, 543, 549, + 552, 556, 564, 570, 573, 577, 585, 591, 594, 598, + 610, 616, 619, 623, 635, 641, 644, 648, 660, 666, + 669, 673, 686, 692, 695, 699, 712, 718, 721, 725, + 738, 750, 752, 753, 754, 755, 757, 759, 761, 792, + 826, 873, 888, 897, 912, 924, 938, 961, 985, 997, + 1011, 1023, 1037, 1053, 1069, 1082, 1102, 1113, 1119, 1138, + 1149, 1157, 1163, 1169, 1188, 1194, 1210, 1217, 1223, 1229, + 1235, 1241, 1260, 1272, 1278, 1297, 1318, 1326, 1332, 1338, + 1344, 1356, 1362, 1368, 1380, 1386, 1391, 1396, 1403, 1405, + 1406, 1409, 1414, 1425, 1443, 1451, 1456, 1467, 1535, 1555, + 1561, 1565, 1585, 1601, 1615, 1640, 1665, 1691, 1697, 1702, + 1707, 1711, 1721, 1727, 1733, 1737, 1741, 1745, 1749, 1754, + 1759, 1765, 1772, 1776, 1781, 1802, 1812, 1831, 1849, 1867, + 1889, 1910, 1931, 1945, 1966, 1971, 1982, 1984, 1985, 1986, + 1987, 1990, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, + 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, + 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, + 2036, 2037, 2042, 2047, 2048, 2049, 2053, 2064, 2081, 2092, + 2111, 2127, 2143, 2159, 2176, 2181, 2185, 2189, 2193, 2198, + 2203, 2207, 2211, 2217, 2221, 2226, 2230, 2235, 2239, 2243, + 2249, 2255, 2262, 2268, 2272, 2276, 2286, 2293, 2304, 2318, + 2334, 2354, 2378, 2384, 2388, 2392, 2403, 2408, 2419, 2424, + 2442, 2447, 2460, 2466, 2472, 2477, 2485, 2498, 2502, 2527, + 2541 }; #endif @@ -618,19 +624,19 @@ static const short yyrline[] = { 0, #if YYDEBUG != 0 || defined (YYERROR_VERBOSE) static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", -"tSTRING","tBIGSTR","tEND","tAFFECT","tDOTS","tPi","tExp","tLog","tLog10","tSqrt", -"tSin","tAsin","tCos","tAcos","tTan","tRand","tAtan","tAtan2","tSinh","tCosh", -"tTanh","tFabs","tFloor","tCeil","tFmod","tModulo","tHypot","tPrintf","tSprintf", -"tStrCat","tStrPrefix","tDraw","tPoint","tCircle","tEllipsis","tLine","tSurface", -"tSpline","tVolume","tCharacteristic","tLength","tParametric","tElliptic","tPlane", -"tRuled","tTransfinite","tComplex","tPhysical","tUsing","tBump","tProgression", -"tPlugin","tRotate","tTranslate","tSymmetry","tDilate","tExtrude","tDuplicata", -"tLoop","tRecombine","tDelete","tCoherence","tIntersect","tAttractor","tLayers", -"tScalarTetrahedron","tVectorTetrahedron","tTensorTetrahedron","tScalarTriangle", -"tVectorTriangle","tTensorTriangle","tScalarLine","tVectorLine","tTensorLine", -"tScalarPoint","tVectorPoint","tTensorPoint","tBSpline","tNurbs","tOrder","tWith", -"tBounds","tKnots","tColor","tColorTable","tFor","tIn","tEndFor","tIf","tEndIf", -"tExit","tReturn","tCall","tFunction","tMesh","tB_SPLINE_SURFACE_WITH_KNOTS", +"tSTRING","tBIGSTR","tEND","tAFFECT","tDOTS","tPi","tMPI_Rank","tMPI_Size","tExp", +"tLog","tLog10","tSqrt","tSin","tAsin","tCos","tAcos","tTan","tRand","tAtan", +"tAtan2","tSinh","tCosh","tTanh","tFabs","tFloor","tCeil","tFmod","tModulo", +"tHypot","tPrintf","tSprintf","tStrCat","tStrPrefix","tDraw","tPoint","tCircle", +"tEllipsis","tLine","tSurface","tSpline","tVolume","tCharacteristic","tLength", +"tParametric","tElliptic","tPlane","tRuled","tTransfinite","tComplex","tPhysical", +"tUsing","tBump","tProgression","tPlugin","tRotate","tTranslate","tSymmetry", +"tDilate","tExtrude","tDuplicata","tLoop","tRecombine","tDelete","tCoherence", +"tIntersect","tAttractor","tLayers","tScalarTetrahedron","tVectorTetrahedron", +"tTensorTetrahedron","tScalarTriangle","tVectorTriangle","tTensorTriangle","tScalarLine", +"tVectorLine","tTensorLine","tScalarPoint","tVectorPoint","tTensorPoint","tBSpline", +"tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tColorTable","tFor","tIn", +"tEndFor","tIf","tEndIf","tExit","tReturn","tCall","tFunction","tMesh","tB_SPLINE_SURFACE_WITH_KNOTS", "tB_SPLINE_CURVE_WITH_KNOTS","tCARTESIAN_POINT","tTRUE","tFALSE","tUNSPECIFIED", "tU","tV","tEDGE_CURVE","tVERTEX_POINT","tORIENTED_EDGE","tPLANE","tFACE_OUTER_BOUND", "tEDGE_LOOP","tADVANCED_FACE","tVECTOR","tDIRECTION","tAXIS2_PLACEMENT_3D","tISO", @@ -663,40 +669,41 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", #endif static const short yyr1[] = { 0, - 185, 185, 185, 185, 186, 186, 187, 187, 187, 188, - 188, 189, 189, 189, 190, 190, 190, 190, 190, 191, - 191, 191, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 193, 193, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 195, 195, 196, 196, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 198, 198, 200, 199, 201, 201, 203, - 202, 204, 204, 206, 205, 207, 207, 209, 208, 210, - 210, 212, 211, 213, 213, 215, 214, 216, 216, 218, - 217, 219, 219, 221, 220, 222, 222, 224, 223, 225, - 225, 227, 226, 228, 228, 230, 229, 231, 231, 233, - 232, 234, 234, 234, 234, 234, 235, 235, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 238, 238, 238, 238, 239, 239, - 239, 240, 240, 241, 242, 242, 242, 243, 243, 243, - 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 245, 245, 245, 245, 245, 245, 246, 245, - 247, 245, 248, 248, 249, 249, 250, 250, 250, 250, - 250, 250, 250, 250, 251, 251, 252, 252, 252, 252, - 252, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 255, 255, 255, 255, 255, 256, 256, 256, - 256, 257, 257, 258, 258, 259, 259, 259, 260, 260, - 261, 261, 261, 261, 262, 262, 262, 262, 262, 262, - 263, 263, 263, 263, 264, 264, 264, 264, 265, 265, - 266, 266, 267, 267, 267, 267, 267, 267, 267 + 187, 187, 187, 187, 188, 188, 189, 189, 189, 190, + 190, 191, 191, 191, 192, 192, 192, 192, 192, 193, + 193, 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, 195, 195, 196, 196, 196, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 197, 197, 198, 198, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 200, 200, 202, 201, 203, 203, 205, + 204, 206, 206, 208, 207, 209, 209, 211, 210, 212, + 212, 214, 213, 215, 215, 217, 216, 218, 218, 220, + 219, 221, 221, 223, 222, 224, 224, 226, 225, 227, + 227, 229, 228, 230, 230, 232, 231, 233, 233, 235, + 234, 236, 236, 236, 236, 236, 237, 237, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 240, 240, 240, 240, 241, 241, + 241, 242, 242, 243, 244, 244, 244, 245, 245, 245, + 245, 245, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 247, 247, 247, 247, 247, 247, 248, 247, + 249, 247, 250, 250, 251, 251, 252, 252, 252, 252, + 252, 252, 252, 252, 253, 253, 254, 254, 254, 254, + 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 256, 256, 256, 256, 256, 256, 256, 256, + 256, 256, 256, 256, 257, 257, 257, 257, 257, 258, + 258, 258, 258, 259, 259, 260, 260, 261, 261, 261, + 262, 262, 263, 263, 263, 263, 264, 264, 264, 264, + 264, 264, 265, 265, 265, 265, 266, 266, 266, 266, + 267, 267, 268, 268, 269, 269, 269, 269, 269, 269, + 269 }; static const short yyr2[] = { 0, @@ -728,12 +735,13 @@ static const short yyr2[] = { 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, 6, 6, - 6, 4, 1, 1, 1, 4, 2, 5, 3, 6, - 4, 7, 1, 2, 2, 3, 3, 11, 9, 7, - 7, 0, 3, 1, 3, 0, 3, 3, 1, 3, - 1, 1, 3, 4, 3, 5, 3, 4, 6, 7, - 1, 1, 3, 3, 9, 7, 1, 5, 3, 6, - 1, 3, 1, 6, 4, 4, 6, 6, 9 + 6, 4, 1, 1, 1, 1, 1, 4, 2, 5, + 3, 6, 4, 7, 1, 2, 2, 3, 3, 11, + 9, 7, 7, 0, 3, 1, 3, 0, 3, 3, + 1, 3, 1, 1, 3, 4, 3, 5, 3, 4, + 6, 7, 1, 1, 3, 3, 9, 7, 1, 5, + 3, 6, 1, 3, 1, 6, 4, 4, 6, 6, + 9 }; static const short yydefact[] = { 0, @@ -745,1655 +753,1663 @@ static const short yydefact[] = { 0, 0, 0, 0, 0, 0, 207, 0, 212, 0, 209, 0, 0, 0, 54, 56, 55, 57, 58, 59, 60, 61, 66, 65, 62, 63, 64, 5, 0, 0, 0, - 15, 16, 18, 17, 19, 302, 302, 0, 283, 285, - 333, 132, 284, 0, 0, 0, 0, 0, 0, 0, + 15, 16, 18, 17, 19, 304, 304, 0, 283, 287, + 335, 132, 284, 285, 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 133, 134, 135, - 136, 0, 0, 0, 137, 138, 0, 0, 0, 0, - 0, 0, 242, 0, 0, 202, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, + 134, 135, 136, 0, 0, 0, 137, 138, 0, 0, + 0, 0, 0, 0, 242, 0, 0, 202, 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, 293, 0, 0, - 0, 0, 0, 192, 0, 0, 0, 192, 235, 236, - 0, 0, 0, 0, 0, 0, 0, 0, 201, 0, - 208, 0, 6, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 0, 0, 0, 0, 0, 192, 0, 0, 0, 192, + 235, 236, 0, 0, 0, 0, 0, 0, 0, 0, + 201, 0, 208, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 287, 0, 71, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 289, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 245, 244, 246, - 0, 0, 0, 0, 0, 0, 0, 0, 143, 199, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, + 244, 246, 0, 0, 0, 0, 0, 0, 0, 0, + 143, 199, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 285, 0, - 0, 311, 0, 312, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 295, 294, - 0, 0, 0, 0, 192, 192, 0, 0, 0, 0, - 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, + 287, 0, 0, 313, 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 297, 296, 0, 0, 0, 0, 192, 192, 0, 0, + 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, - 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, - 0, 0, 243, 0, 0, 321, 322, 0, 0, 132, - 0, 0, 0, 0, 139, 0, 260, 259, 257, 258, - 253, 255, 254, 256, 248, 247, 249, 250, 251, 252, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, + 0, 0, 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 297, 296, 191, 0, 190, - 189, 0, 0, 0, 0, 0, 194, 193, 234, 0, - 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, - 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 335, 0, 0, 0, 243, 0, 0, 323, 324, 0, + 0, 132, 0, 0, 0, 0, 139, 0, 260, 259, + 257, 258, 253, 255, 254, 256, 248, 247, 249, 250, + 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 299, 298, 191, + 0, 190, 189, 0, 0, 0, 0, 0, 194, 193, + 234, 0, 0, 195, 0, 0, 0, 0, 0, 0, + 0, 0, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 303, 0, 0, 21, 0, 286, 291, - 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 282, 271, 0, 273, 274, - 275, 276, 277, 278, 0, 0, 0, 0, 0, 336, - 0, 0, 335, 0, 0, 0, 0, 0, 0, 0, - 0, 149, 0, 0, 0, 0, 0, 67, 0, 0, - 161, 0, 0, 0, 0, 173, 0, 181, 0, 0, - 317, 0, 0, 0, 313, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 185, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 305, 0, 0, 21, 0, + 288, 293, 71, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 282, 271, 0, + 273, 274, 275, 276, 277, 278, 0, 0, 0, 0, + 0, 338, 0, 0, 337, 0, 0, 0, 0, 0, + 0, 0, 0, 149, 0, 0, 0, 0, 0, 67, + 0, 0, 161, 0, 0, 0, 0, 173, 0, 181, + 0, 0, 319, 0, 0, 0, 315, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 185, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 305, 0, 302, 0, 288, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, - 0, 0, 0, 0, 0, 0, 0, 0, 142, 323, - 324, 0, 0, 0, 0, 0, 144, 145, 147, 0, - 0, 327, 0, 331, 0, 153, 261, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 318, 0, 314, - 0, 160, 0, 0, 0, 0, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 233, 196, 0, 0, 0, 0, 306, - 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 307, 0, 304, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, - 238, 239, 240, 241, 0, 0, 0, 0, 0, 0, - 0, 20, 0, 290, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 272, 279, 280, - 281, 0, 338, 337, 334, 0, 132, 0, 0, 0, - 0, 140, 0, 0, 0, 0, 0, 329, 68, 157, - 165, 0, 168, 0, 162, 0, 163, 183, 0, 0, - 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 200, 0, 0, 0, 0, 192, - 0, 0, 0, 0, 0, 219, 0, 0, 171, 0, + 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, + 142, 325, 326, 0, 0, 0, 0, 0, 144, 145, + 147, 0, 0, 329, 0, 333, 0, 153, 261, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, + 0, 316, 0, 160, 0, 0, 0, 0, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 233, 196, 0, 0, 0, + 0, 308, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 302, 292, - 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, - 151, 0, 0, 0, 332, 0, 170, 180, 319, 0, - 0, 231, 174, 176, 0, 0, 230, 232, 182, 158, - 169, 179, 184, 0, 0, 0, 301, 0, 300, 0, - 0, 213, 0, 215, 0, 217, 0, 0, 0, 306, - 0, 309, 0, 0, 0, 0, 205, 204, 0, 0, - 0, 0, 0, 23, 0, 32, 0, 36, 0, 30, - 0, 0, 35, 0, 40, 38, 0, 0, 0, 0, - 0, 0, 47, 0, 0, 0, 0, 0, 52, 0, + 0, 237, 238, 239, 240, 241, 0, 0, 0, 0, + 0, 0, 0, 20, 0, 292, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, + 279, 280, 281, 0, 340, 339, 336, 0, 132, 0, + 0, 0, 0, 140, 0, 0, 0, 0, 0, 331, + 68, 157, 165, 0, 168, 0, 162, 0, 163, 183, + 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, + 0, 192, 0, 0, 0, 0, 0, 219, 0, 0, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 141, 146, 148, 0, 154, 0, - 0, 0, 166, 320, 0, 229, 228, 155, 156, 192, - 0, 188, 0, 0, 0, 0, 0, 0, 0, 308, - 0, 307, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 304, 294, 70, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, + 0, 0, 151, 0, 0, 0, 334, 0, 170, 180, + 321, 0, 0, 231, 174, 176, 0, 0, 230, 232, + 182, 158, 169, 179, 184, 0, 0, 0, 303, 0, + 302, 0, 0, 213, 0, 215, 0, 217, 0, 0, + 0, 308, 0, 311, 0, 0, 0, 0, 205, 204, + 0, 0, 0, 0, 0, 23, 0, 32, 0, 36, + 0, 30, 0, 0, 35, 0, 40, 38, 0, 0, + 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, + 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 141, 146, 148, 0, + 154, 0, 0, 0, 166, 322, 0, 229, 228, 155, + 156, 192, 0, 188, 0, 0, 0, 0, 0, 0, + 0, 310, 0, 309, 0, 0, 0, 0, 0, 0, + 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 339, 0, 330, 328, 0, 0, 0, 0, 299, - 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, - 310, 0, 0, 206, 0, 0, 37, 0, 0, 0, - 0, 27, 0, 33, 0, 39, 28, 41, 0, 44, - 0, 48, 49, 0, 0, 51, 0, 0, 0, 0, + 0, 0, 0, 341, 0, 332, 330, 0, 0, 0, + 0, 301, 0, 0, 0, 0, 0, 0, 223, 0, + 0, 0, 312, 0, 0, 206, 0, 0, 37, 0, + 0, 0, 0, 27, 0, 33, 0, 39, 28, 41, + 0, 44, 0, 48, 49, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 152, 0, 0, 186, 0, 0, 0, 221, 226, 0, - 0, 224, 0, 0, 0, 0, 172, 0, 0, 0, + 0, 0, 152, 0, 0, 186, 0, 0, 0, 221, + 226, 0, 0, 224, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 90, 94, 0, 326, 0, 298, 214, 216, 218, - 0, 0, 220, 159, 164, 0, 0, 175, 0, 0, - 0, 0, 0, 31, 34, 42, 0, 43, 50, 45, + 0, 0, 86, 90, 94, 0, 328, 0, 300, 214, + 216, 218, 0, 0, 220, 159, 164, 0, 0, 175, + 0, 0, 0, 0, 0, 31, 34, 42, 0, 43, + 50, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 29, 0, + 327, 0, 0, 0, 0, 0, 0, 0, 0, 26, + 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 84, 0, 88, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 0, 88, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, + 0, 46, 22, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 85, 87, 89, 91, 93, 95, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 222, 0, 0, 0, 0, 0, 0, 46, - 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 85, 87, 89, 91, 93, 95, 167, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, - 102, 106, 225, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, + 0, 98, 102, 106, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 178, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 96, 0, 100, 0, 104, 0, 0, 0, + 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 96, 0, 100, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 177, 0, 24, 0, 0, 0, 0, 0, - 0, 97, 99, 101, 103, 105, 107, 0, 0, 0, - 0, 110, 114, 118, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 177, 0, 24, 0, 0, 0, + 0, 0, 0, 97, 99, 101, 103, 105, 107, 0, + 0, 0, 0, 110, 114, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 108, 0, 112, 0, 116, 0, 0, + 0, 0, 0, 0, 0, 108, 0, 112, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 109, 111, 113, 115, 117, 119, 0, 122, - 126, 130, 25, 0, 0, 0, 0, 0, 0, 0, - 120, 0, 124, 0, 128, 0, 0, 0, 0, 0, - 0, 121, 123, 125, 127, 129, 131, 0, 0, 0 + 0, 0, 0, 0, 109, 111, 113, 115, 117, 119, + 0, 122, 126, 130, 25, 0, 0, 0, 0, 0, + 0, 0, 120, 0, 124, 0, 128, 0, 0, 0, + 0, 0, 0, 121, 123, 125, 127, 129, 131, 0, + 0, 0 }; -static const short yydefgoto[] = { 1538, +static const short yydefgoto[] = { 1540, 79, 5, 6, 19, 20, 21, 22, 7, 64, 65, - 66, 386, 1311, 555, 1261, 1313, 556, 1262, 1315, 557, - 1263, 1422, 558, 1395, 1424, 559, 1396, 1426, 560, 1397, - 1483, 561, 1469, 1485, 562, 1470, 1487, 563, 1471, 1520, - 564, 1514, 1522, 565, 1515, 1524, 566, 1516, 130, 231, - 67, 488, 478, 479, 480, 481, 71, 72, 73, 74, - 997, 1231, 1136, 1137, 75, 76, 815, 302, 133, 167, - 168, 226, 379, 903, 1001, 1002, 304, 418, 734, 606, - 735, 134 + 66, 388, 1313, 557, 1263, 1315, 558, 1264, 1317, 559, + 1265, 1424, 560, 1397, 1426, 561, 1398, 1428, 562, 1399, + 1485, 563, 1471, 1487, 564, 1472, 1489, 565, 1473, 1522, + 566, 1516, 1524, 567, 1517, 1526, 568, 1518, 132, 233, + 67, 490, 480, 481, 482, 483, 71, 72, 73, 74, + 999, 1233, 1138, 1139, 75, 76, 817, 304, 135, 169, + 170, 228, 381, 905, 1003, 1004, 306, 420, 736, 608, + 737, 136 }; -static const short yypact[] = { 1896, - 66,-32768,-32768, -123,-32768, 28, 2021,-32768, 18, 130, - 235, 295, 303, 308, 330, -37, 55, 152,-32768,-32768, --32768,-32768, 1505, 167, 341, -5, 177, 246, 7, 11, - 263, 273, 312, 291, 359, 417, 440, 462, 439, 366, - 384, 326, 145, 145, 339, 403, 370, 483, 5, 560, - 561, -4, 393, -14, 16,-32768, 401,-32768, 574,-32768, - 578, 579, 545,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 586, 18, 2058, --32768,-32768,-32768,-32768,-32768, 424, 424, 597,-32768, 94, - 6,-32768,-32768, 429, 430, 431, 432, 434, 435, 436, - 437, 438, 444, 445, 446, 447, 448, 449, 450, 451, - 454, 456, 457, 458, 460, 461, 469,-32768,-32768,-32768, --32768, 67, 67, 67,-32768,-32768, 67, 522, 21, 67, - 599, 810,-32768, 610, 612,-32768, 67, 67, 67, 67, - 470, 67, 67, 471, 67, 67, 67, 981, 67, 488, - 495, 496, 981, 491, 507, 514, 515, 516, 518, 519, - 635, 145, 145, 145, 67, 67, 3,-32768, 113, 145, - 517, 520, 521,-32768, 981, 527, 691,-32768,-32768,-32768, - 981, 981, 67, -50, 67, 608, 67, 67,-32768, 701, --32768, 532,-32768, 18, 534, 535, 550, 552, 554, 555, - 557, 558, 559, 562, 563, 564, 565, 566, 570, 571, - 573, 575, 576, 577, 580, 581, 584, 585, 587, 588, - 589, 590, 591, 594, 732, 556, 595, 569, 67, 751, --32768, 145,-32768, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 134, 175, 175, 596, 596, 596, - 4904, 749, 1267, 4779, 172, 582, 767, 951,-32768,-32768, +static const short yypact[] = { 1927, + 108,-32768,-32768, -10,-32768, 27, 2128,-32768, 11, 176, + 136, 196, 228, 233, 269, 102, 119, 126,-32768,-32768, +-32768,-32768, 1572, 162, 338, -75, 180, 190, -45, -44, + 212, 219, 283, 238, 339, 378, 384, 168, 386, 346, + 262, 274, 207, 207, 278, 202, 282, 428, 13, 475, + 476, 92, 334, -21, 8,-32768, 335,-32768, 496,-32768, + 514, 551, 520,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 553, 11, 1978, +-32768,-32768,-32768,-32768,-32768, 389, 389, 567,-32768, 264, + 7,-32768,-32768,-32768,-32768, 405, 419, 439, 440, 444, + 445, 446, 447, 448, 449, 450, 451, 454, 456, 457, + 458, 461, 462, 467, 469, 495, 497, 513, 515,-32768, +-32768,-32768,-32768, 67, 67, 67,-32768,-32768, 67, 522, + 70, 67, 569, 811,-32768, 593, 604,-32768, 67, 67, + 67, 67, 516, 67, 67, 518, 67, 67, 67, 984, + 67, 464, 519, 521, 984, 490, 508, 523, 526, 527, + 529, 530, 695, 207, 207, 207, 67, 67, 97,-32768, + 135, 207, 528, 544, 546,-32768, 984, 533, 705,-32768, +-32768,-32768, 984, 984, 67, -14, 67, 644, 67, 67, +-32768, 744,-32768, 574,-32768, 11, 575, 576, 577, 578, + 579, 580, 581, 584, 585, 586, 587, 588, 589, 592, + 594, 595, 620, 621, 622, 623, 624, 626, 627, 628, + 629, 632, 633, 634, 635, 637, 747, 638, 639, 640, + 67, 768,-32768, 207,-32768, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67,-32768, -114, 4927, 2118, 4950, - 4973, 67, 4996, 2141, 67, 2164, 5019, 5042, 222, 1158, - 1267, 1557, 790,-32768, 5065, 67, 67, 67, 791, 67, - 67, 67, 67, 67, 67, 67, 621, -38,-32768,-32768, - 2532, 2553, 145, 145, 371, 371, 104, 67, 67, 67, - 340, 151, 67,-32768, 1844, 793, 794, 5088, 718, 67, - 5111, 622, 1643, 5134,-32768, 67, 656, 803, 804, 805, - 806, 808, 809, 813, 814, 816, 817, 819, 821, 822, - 823, 825, 826, 827, 829, 831, 837, 847, 851, 853, - 680, 854, 855, 856, 862, 865, 864,-32768, -80, 866, - 867, 871, 4804, 108, 174, 645, 5157, 5180, 5203, 5226, - 5249, 5272, 5295, 5318, 5341, 5364, 5387, 2574, 5410, 5433, - 5456, 5479, 5502, 5525, 2595, 2616, 2637, 95,-32768, -72, - 688, 694,-32768, 981, 1572, 1557,-32768, 137, 1, 175, - 67, 872, 873, 13,-32768, 1658, 1231, 428, 248, 248, - 279, 279, 279, 279, 302, 302, 596, 596, 596, 596, - 874, 1267, 875, 877, 878, 879, 5548, 881, 883, 5571, - 884, 885, 886, 640, 280, 1267, 202, 67, 67, 887, - 2187, 5594, 5617, 67, 2210, 2233, 5640, 5663, 5686, 5709, - 5732, 698, 145, 67, 67,-32768,-32768,-32768, 697, 2097, --32768, 707, 67, 2658, 2679, 2700,-32768,-32768,-32768, 67, - 4829,-32768, 712, 713, 891, 722, 5755, 893, 67, 67, --32768, 5778, 752, 720, 721, 725, 726, 727, 728, 730, - 731, 734, 735, 736, 753, 754, 757, 758, 760, 762, - 763, 765, 768, 769, 770, 771, 772, 774, 776, 777, - 779, 780, 781,-32768, 909, 756,-32768, 782, 64,-32768, --32768, 835, 841, 852, 859, 880, 882, 888, 889, 890, - 894, 895, 898, 925,-32768,-32768,-32768,-32768,-32768,-32768, + 67, 67, 67, 67, 67, 67, 279, 242, 242, 643, + 643, 643, 4939, 818, 1606, 4814, 15, 646, 821, 952, +-32768,-32768, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67,-32768, -111, 4962, + 1976, 4985, 5008, 67, 5031, 2176, 67, 2199, 5054, 5077, + 285, 1507, 1606, 978, 823,-32768, 5100, 67, 67, 67, + 825, 67, 67, 67, 67, 67, 67, 67, 653, 104, +-32768,-32768, 2567, 2588, 207, 207, 500, 500, 209, 67, + 67, 67, 313, 150, 67,-32768, 2016, 827, 829, 5123, + 731, 67, 5146, 659, 1674, 5169,-32768, 67, 688, 849, + 853, 855, 857, 858, 864, 865, 866, 867, 868, 869, + 870, 873, 874, 875, 876, 877, 878, 879, 880, 895, + 896, 897, 772, 898, 900, 905, 906, 909, 911,-32768, + 4, 913, 908, 914, 4839, 160, 204, 330, 5192, 5215, + 5238, 5261, 5284, 5307, 5330, 5353, 5376, 5399, 5422, 2609, + 5445, 5468, 5491, 5514, 5537, 5560, 2630, 2651, 2672, -152, +-32768, 23, 736, 753,-32768, 984, 1778, 978,-32768, 132, + 21, 242, 67, 930, 933, 9,-32768, 1701, 573, 726, + 425, 425, 280, 280, 280, 280, 302, 302, 643, 643, + 643, 643, 932, 1606, 934, 936, 937, 939, 5583, 940, + 943, 5606, 946, 947, 948, 641, 329, 1606, 258, 67, + 67, 949, 2222, 5629, 5652, 67, 2245, 2268, 5675, 5698, + 5721, 5744, 5767, 770, 207, 67, 67,-32768,-32768,-32768, + 773, 1323,-32768, 774, 67, 2693, 2714, 2735,-32768,-32768, +-32768, 67, 4864,-32768, 776, 778, 957, 786, 5790, 959, + 67, 67,-32768, 5813, 817, 790, 808, 833, 840, 850, + 851, 852, 854, 856, 859, 860, 862, 863, 881, 882, + 883, 884, 885, 886, 888, 889, 890, 893, 894, 899, + 901, 902, 904, 917, 918,-32768, 1032, 871,-32768, 919, + 164,-32768,-32768, 903, 925, 927, 928, 950, 953, 954, + 955, 956, 962, 972, 975, 1035,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 67,-32768,-32768, --32768,-32768,-32768,-32768, 67, 67, 67, 67, 967,-32768, - 1267, 175,-32768, 1022, 1267, 850, 25, 67, 1025, 1026, - 975,-32768, 980, 870, 15, 1028, 67,-32768, -46, 145, --32768, 981, 981, 1049, 981,-32768, 1051,-32768, 981, 981, --32768, 1267, 766, 274,-32768, 1673, 1047, 896, 1053, 1055, - 1056, 681, 1057, 1061, 1063, 1069, 1071, 1073, 1074, 1079, - 176, 2721, 2742,-32768,-32768, 2256, 145, 145, 145, 1068, - 1078, 67, 67, 981, 67, 1092, 981, 1697, 857, 1093, - 941, 1098, 67, 67, 145, 1099, 1101, 937, 1109, 1119, - 981, 981, 1120, 145, 1121, 1122, 981, 981, 1125, 1126, - 1127, 1133, 1143, 981, 261, 981, 1146, 1145, 1149, 1152, - 1153,-32768, 1151, 424, 1155,-32768, 968, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67,-32768, - 5801, 5824, 5847, 5870, 4854, 982, 256, 985,-32768, 1557, --32768, 111, 197, 984, 1191, 1202,-32768,-32768,-32768, 15, - 67, 1018, 67,-32768, 316,-32768, 6376, 1194, 35, 27, - 1196, 981, 1212, 981, 1213, 1214, 323,-32768, 1267,-32768, - 67,-32768, 67, 981, 981, 981,-32768, 409, 981, 981, - 981, 981, 981, 981, 981, 467, 67, 67, 67, 1046, - 136, 149, 171,-32768,-32768, 2763, 2784, 1233, 5893, 0, - 1154, 67, 67,-32768, 1058, 18, 1060, 2805, 2826, -139, - 1064, 1065, 1066, 1067, 1070, 1072, 1084, 1085, 259, 1086, - 1075, 1091, 1090, 1117, 1118, 1132, 1134, 1136, 1095,-32768, --32768,-32768,-32768,-32768, 1137, 1138, 1139, 1140, 1141, 1097, - 1144,-32768, 1147, 108, 1241, 2847, 2868, 2889, 2910, 2931, - 2952, 2973, 2994, 3015, 3036, 3057, 3078,-32768,-32768,-32768, --32768, 1150,-32768,-32768,-32768, 981, 175, 67, 1245, 1297, - 13,-32768, 1296, 4879, 1216, 3099, 15,-32768,-32768,-32768, --32768, 145,-32768, 1321,-32768, 1322,-32768,-32768, 1156, 324, - 6376, 3120, 1326, 1327, 1328, 67, 67, 1331, 1332, 1333, - 1334, 1336, 1337, 1338,-32768, 33, 2279, 5916, 1612, 371, - 145, 1339, 145, 1342, 145, 1343, 67, 67,-32768, 1350, - 981, 981, 1264, 981, 327, 5939, 67, 18, 1360, 67, - 981, 1367, 1371, 1370, 1209, 1373, 261, 1386, 1399, 67, - 1397, 1401, 1400, 1409, 1402, 261, 67, 67, 67, 981, - 1411, 1418, 261, 67, 1420, 1421, 1419, 67, 424,-32768, --32768, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 1424, 1423, 1425, 1450,-32768, 1428, 1426, --32768, 1249, 1259, 67,-32768, 69,-32768,-32768,-32768, 1261, - 67,-32768,-32768,-32768, 1465, 1480,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1534, 1436, 1260,-32768, 67,-32768, 1262, - 193,-32768, 207,-32768, 227,-32768, 1265, 3141, 3162, 0, - 297,-32768, 328, 1266, 1362, 67,-32768,-32768, 3183, 18, - 1269, 3204, 1275,-32768, 1276,-32768, 1277,-32768, 1282,-32768, - 1280, 5962,-32768, 1281,-32768,-32768, 1287, 1288, 5985, 3225, - 6008, 1291,-32768, 1298, 1299, 3246, 1293, 1302,-32768, 3267, - 1300, 3288, 3309, 3330, 3351, 3372, 3393, 3414, 3435, 3456, - 3477, 3498, 3519, 1303,-32768,-32768,-32768, 15,-32768, 1395, - 1483, 3540,-32768,-32768, 3561,-32768,-32768,-32768,-32768, 371, - 2047,-32768, 67, 67, 67, 179, 67, 67, 1403,-32768, - 981,-32768, 981, 67, 2302, 981, 1345, 1482, 0, 261, - 1489, 67, 1491, 261, 1492, 1496, 1494, 1495, 1498, 67, - 1500, 981, 1507, 1530, 67, 1499, 1535, 67, 1506, 67, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 67, +-32768,-32768,-32768,-32768,-32768,-32768, 67, 67, 67, 67, + 1038,-32768, 1606, 242,-32768, 1039, 1606, 944, 159, 67, + 1042, 1043, 1012,-32768, 1051, 974, 14, 1044, 67,-32768, + 147, 207,-32768, 984, 984, 1052, 984,-32768, 1053,-32768, + 984, 984,-32768, 1606, 766, 314,-32768, 1716, 1049, 924, + 1054, 1055, 1057, 861, 1073, 1074, 1108, 1120, 1124, 1150, + 1152, 1156, 211, 2756, 2777,-32768,-32768, 2291, 207, 207, + 207, 1070, 1155, 67, 67, 984, 67, 1157, 984, 1748, + 681, 1158, 1015, 1163, 67, 67, 207, 1164, 1182, 1016, + 1184, 1185, 984, 984, 1186, 207, 1197, 1198, 984, 984, + 1199, 1201, 1202, 1203, 1209, 984, 416, 984, 1219, 1220, + 1221, 1230, 1240,-32768, 1238, 389, 1241,-32768, 645, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67,-32768, 1536,-32768,-32768, 67, 1538, 1361, 67,-32768, - 2325, 2348, 2371, 1540, 1364, 62,-32768, 2394, 2417, 1365, --32768, 1368, 1597,-32768, 1369, 18,-32768, 1372, 1374, 1375, - 3582,-32768, 1366,-32768, 1377,-32768,-32768,-32768, 6031,-32768, - 1376,-32768,-32768, 6054, 1381,-32768, 6077, 1378, 3603, 3624, - 3645, 3666, 3687, 3708, 3729, 3750, 3771, 6100, 6123, 6146, --32768, 2084, 1382,-32768, 2440, 1546, 1567, 1568,-32768, 981, - 1571,-32768, 1573, 1574, 981, 981,-32768, 1598, 18, 261, - 261, 261, 261, 1599, 1605, 1646, 261, 1648, 1649, 1655, - 1657, 67, 67, 67, 67, 67, 67, 67, 67, 67, --32768,-32768,-32768, 67,-32768, 1659,-32768,-32768,-32768,-32768, - 1484, 1396,-32768,-32768,-32768, 1481, 1485,-32768, 18, 1486, - 1488, 1487, 1497,-32768,-32768,-32768, 1501,-32768,-32768,-32768, - 1503, 3792, 3813, 3834, 3855, 3876, 3897, 3918, 3939, 3960, - 1490, 1493, 1504, 2463, 1513, 179, 981, 981, 1591, 1543, - 261, 261, 1674, 1683, 261, 1701, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67,-32768, 1702, - 129, 1526, 1525, 1529, 18, 1547, 1548,-32768,-32768, 1550, - 1553, 3981, 4002, 4023, 4044, 4065, 4086, 4107, 4128, 4149, - 331, 6376, 332, 6376, 336, 6376, 1551, 1726, 981, 1651, - 67, 18, 261, 981, 1730, 1734, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 1735, 67, 1736, 67, - 1737, 1739,-32768, 1562, 1564, 4170, 18, 1566, 1569,-32768, --32768, 4191, 4212, 4233, 4254, 4275, 4296, 6169, 6192, 6215, - 6376,-32768, 6376,-32768, 6376,-32768,-32768, 1744, 67, 67, - 1602, 261, 981, 67, 67, 67, 67, 67, 67,-32768, --32768,-32768,-32768, 4317, 2486, 1607, 1601, 1603, 4338, 4359, - 4380, 4401, 4422, 4443, 1604, 1606, 1608, 67, 1778,-32768, - 981, 261, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 2509,-32768, 1610, 1615, 4464, 4485, 4506, 4527, 4548, - 4569, 337, 6376, 345, 6376, 346, 6376, 1780, 981, 1784, - 67, 67, 67, 67, 67, 67, 67, 1789, 67, 1791, - 67, 1792,-32768, 1622,-32768, 4590, 4611, 4632, 6238, 6261, - 6284, 6376,-32768, 6376,-32768, 6376,-32768, 981, 67, 67, - 67,-32768,-32768,-32768, 1662, 4653, 4674, 4695, 1663, 1664, - 1665, 981, 67, 67, 67, 67, 67, 67, 1668, 4716, - 4737, 4758, 372, 6376, 375, 6376, 376, 6376, 261, 67, - 67, 67, 67, 1839, 67, 1845, 67, 1846, 1680, 6307, - 6330, 6353, 6376,-32768, 6376,-32768, 6376,-32768, 1862,-32768, --32768,-32768,-32768, 1686, 1687, 1688, 67, 67, 67, 389, - 6376, 392, 6376, 395, 6376, 67, 1866, 67, 1868, 67, - 1869, 6376,-32768, 6376,-32768, 6376,-32768, 1876, 1877,-32768 + 67,-32768, 5836, 5859, 5882, 5905, 4889, 1066, 166, 1067, +-32768, 978,-32768, 113, 167, 1069, 1242, 1119,-32768,-32768, +-32768, 14, 67, 1071, 67,-32768, 322,-32768, 6411, 1244, + 17, 59, 1247, 984, 1249, 984, 1262, 1263, 323,-32768, + 1606,-32768, 67,-32768, 67, 984, 984, 984,-32768, 400, + 984, 984, 984, 984, 984, 984, 984, 470, 67, 67, + 67, 1085, -57, 142, 199,-32768,-32768, 2798, 2819, 1265, + 5928, -47, 1187, 67, 67,-32768, 1087, 11, 1089, 2840, + 2861, 169, 1090, 1102, 1109, 1112, 1110, 1115, 1114, 1117, + 256, 1118, 1116, 1123, 1121, 1132, 1134, 1136, 1137, 1138, + 1143,-32768,-32768,-32768,-32768,-32768, 1140, 1141, 1142, 1148, + 1159, 1162, 1160,-32768, 1161, 160, 1293, 2882, 2903, 2924, + 2945, 2966, 2987, 3008, 3029, 3050, 3071, 3092, 3113,-32768, +-32768,-32768,-32768, 1167,-32768,-32768,-32768, 984, 242, 67, + 1298, 1342, 9,-32768, 1345, 4914, 1270, 3134, 14,-32768, +-32768,-32768,-32768, 207,-32768, 1346,-32768, 1354,-32768,-32768, + 1189, 331, 6411, 3155, 1363, 1368, 1372, 67, 67, 1373, + 1374, 1375, 1385, 1387, 1388, 1389,-32768, 32, 2314, 5951, + 2075, 500, 207, 1390, 207, 1391, 207, 1392, 67, 67, +-32768, 1393, 984, 984, 1311, 984, 325, 5974, 67, 11, + 1398, 67, 984, 1396, 1400, 1399, 1234, 1402, 416, 1403, + 1414, 67, 1413, 1420, 1419, 1421, 1423, 416, 67, 67, + 67, 984, 1424, 1428, 416, 67, 1429, 1430, 1431, 67, + 389,-32768,-32768, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 1432, 1435, 1436, 1169,-32768, + 1427, 1437,-32768, 1252, 1261, 67,-32768, 69,-32768,-32768, +-32768, 1264, 67,-32768,-32768,-32768, 1482, 1536,-32768,-32768, +-32768,-32768,-32768,-32768,-32768, 1599, 1439, 1266,-32768, 67, +-32768, 1272, 245,-32768, 247,-32768, 250,-32768, 1274, 3176, + 3197, -47, 243,-32768, 343, 1275, 1362, 67,-32768,-32768, + 3218, 11, 1268, 3239, 1277,-32768, 1278,-32768, 1280,-32768, + 1269,-32768, 1281, 5997,-32768, 1284,-32768,-32768, 1295, 1297, + 6020, 3260, 6043, 1289,-32768, 1299, 1302, 3281, 1294, 1303, +-32768, 3302, 1300, 3323, 3344, 3365, 3386, 3407, 3428, 3449, + 3470, 3491, 3512, 3533, 3554, 1305,-32768,-32768,-32768, 14, +-32768, 1360, 1485, 3575,-32768,-32768, 3596,-32768,-32768,-32768, +-32768, 500, 2118,-32768, 67, 67, 67, 35, 67, 67, + 1404,-32768, 984,-32768, 984, 67, 2337, 984, 1343, 1488, + -47, 416, 1496, 67, 1494, 416, 1495, 1499, 1497, 1498, + 1500, 67, 1502, 984, 1506, 1508, 67, 1510, 1509, 67, + 1486, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67,-32768, 1534,-32768,-32768, 67, 1538, 1355, + 67,-32768, 2360, 2383, 2406, 1539, 1359, -32,-32768, 2429, + 2452, 1361,-32768, 1364, 1653,-32768, 1366, 11,-32768, 1365, + 1370, 1371, 3617,-32768, 1367,-32768, 1376,-32768,-32768,-32768, + 6066,-32768, 1377,-32768,-32768, 6089, 1378,-32768, 6112, 1382, + 3638, 3659, 3680, 3701, 3722, 3743, 3764, 3785, 3806, 6135, + 6158, 6181,-32768, 2147, 1383,-32768, 2475, 1544, 1551, 1553, +-32768, 984, 1554,-32768, 1556, 1574, 984, 984,-32768, 1605, + 11, 416, 416, 416, 416, 1607, 1608, 1633, 416, 1639, + 1650, 1651, 1573, 67, 67, 67, 67, 67, 67, 67, + 67, 67,-32768,-32768,-32768, 67,-32768, 1656,-32768,-32768, +-32768,-32768, 1473, 1478,-32768,-32768,-32768, 1479, 1426,-32768, + 11, 1480, 1481, 1487, 1489,-32768,-32768,-32768, 1484,-32768, +-32768,-32768, 1490, 3827, 3848, 3869, 3890, 3911, 3932, 3953, + 3974, 3995, 1492, 1493, 1503, 2498, 1501, 35, 984, 984, + 1581, 1523, 416, 416, 1665, 1666, 416, 1668, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, +-32768, 1675, -31, 1505, 1504, 1514, 11, 1526, 1527,-32768, +-32768, 1511, 1513, 4016, 4037, 4058, 4079, 4100, 4121, 4142, + 4163, 4184, 344, 6411, 387, 6411, 392, 6411, 1529, 1673, + 984, 1598, 67, 11, 416, 984, 1678, 1681, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 1706, 67, + 1710, 67, 1711, 1712,-32768, 1533, 1537, 4205, 11, 1541, + 1546,-32768,-32768, 4226, 4247, 4268, 4289, 4310, 4331, 6204, + 6227, 6250, 6411,-32768, 6411,-32768, 6411,-32768,-32768, 1715, + 67, 67, 1571, 416, 984, 67, 67, 67, 67, 67, + 67,-32768,-32768,-32768,-32768, 4352, 2521, 1578, 1548, 1549, + 4373, 4394, 4415, 4436, 4457, 4478, 1550, 1552, 1557, 67, + 1728,-32768, 984, 416, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 2544,-32768, 1559, 1558, 4499, 4520, 4541, + 4562, 4583, 4604, 395, 6411, 396, 6411, 401, 6411, 1730, + 984, 1738, 67, 67, 67, 67, 67, 67, 67, 1739, + 67, 1743, 67, 1744,-32768, 1568,-32768, 4625, 4646, 4667, + 6273, 6296, 6319, 6411,-32768, 6411,-32768, 6411,-32768, 984, + 67, 67, 67,-32768,-32768,-32768, 1570, 4688, 4709, 4730, + 1577, 1587, 1588, 984, 67, 67, 67, 67, 67, 67, + 1592, 4751, 4772, 4793, 420, 6411, 421, 6411, 424, 6411, + 416, 67, 67, 67, 67, 1772, 67, 1773, 67, 1777, + 1604, 6342, 6365, 6388, 6411,-32768, 6411,-32768, 6411,-32768, + 1780,-32768,-32768,-32768,-32768, 1631, 1641, 1642, 67, 67, + 67, 427, 6411, 430, 6411, 431, 6411, 67, 1822, 67, + 1823, 67, 1824, 6411,-32768, 6411,-32768, 6411,-32768, 1837, + 1847,-32768 }; static const short yypgoto[] = {-32768, -73,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 1357,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 1306,-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, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -258, -22, --32768, 1871, 1872, -321, 226, 1894,-32768,-32768,-32768,-32768, --32768,-32768, 636, -1120,-32768,-32768, -903, -23,-32768, -29, --32768, -84,-32768, -978, 1001, 807, -261, -283, -726, 1054, --32768, -244 +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -260, -22, +-32768, 1841, 1843, -323, 252, 1844,-32768,-32768,-32768,-32768, +-32768,-32768, 590, -1114,-32768,-32768, -903, -23,-32768, -29, +-32768, -84,-32768, -976, 951, 807, -263, -276, -728, 1000, +-32768, -249 }; -#define YYLAST 6552 +#define YYLAST 6589 -static const short yytable[] = { 132, - 131, 417, 227, 853, 482, 194, 421, 92, 176, 232, - 410, 411, 412, 1019, 169, 1192, 604, 457, 732, 186, - 77, 1079, 1028, 9, 265, 184, 323, 324, 723, 1035, - 10, 181, 861, 339, 182, 89, 90, 409, 912, 417, - 860, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 441, 115, 116, 117, 442, 141, 89, - 90, 8, 144, 862, 1063, 93, 94, 95, 96, 97, +static const short yytable[] = { 134, + 133, 419, 229, 855, 484, 196, 423, 412, 413, 414, + 234, 188, 606, 77, 171, 1021, 178, 734, 143, 146, + 186, 422, 862, 1194, 1030, 1081, 459, 92, 590, 10, + 591, 1037, 1136, 1136, 89, 90, 411, 1137, 1137, 419, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 863, 117, 118, 119, 443, 89, + 90, 341, 444, 267, 1065, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 534, 258, 259, - 260, 535, 177, 261, 264, 590, 268, 266, 267, 591, - 1148, 724, 725, 288, 289, 290, 291, 92, 293, 294, - 347, 296, 297, 298, 1134, 305, 340, 323, 324, 1135, - 965, 738, 318, 319, 320, 595, 80, 408, 409, 86, - 327, 321, 322, 473, 11, 12, 13, 14, 15, 16, - 17, 18, 118, 119, 120, 121, 489, 490, 609, 338, - 598, 341, 185, 343, 344, 115, 116, 117, 323, 324, - 1192, 137, 624, 125, 126, 600, 901, 138, 420, 409, - 417, 597, 902, 142, 78, 325, 1149, 178, 233, 143, - 1153, 1134, 187, 145, 417, 605, 1135, 733, 122, 123, - 323, 324, 385, 847, 124, 383, 115, 116, 117, 127, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 1136, + 260, 261, 262, 139, 1137, 263, 266, 864, 270, 140, + 325, 326, 179, 8, 1150, 290, 291, 292, 293, 92, + 295, 296, 349, 298, 299, 300, 893, 307, 894, 183, + 967, 903, 184, 144, 320, 321, 322, 904, 9, 145, + 147, 81, 329, 323, 324, 11, 12, 13, 14, 15, + 16, 17, 18, 1193, 1320, 491, 492, 187, 268, 269, + 600, 340, 725, 343, 342, 345, 346, 611, 120, 121, + 122, 123, 602, 849, 120, 121, 122, 123, 1194, 78, + 419, 626, 80, 536, 325, 326, 189, 537, 1151, 127, + 128, 235, 1155, 607, 419, 127, 128, 180, 735, 124, + 125, 82, 592, 599, 387, 126, 593, 385, 155, 156, + 129, 157, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 87, 122, 123, 323, 324, 125, 126, 124, 416, - 81, 1134, 422, 127, 695, 1191, 1135, 426, 427, 428, + 407, 408, 409, 83, 124, 125, 325, 326, 84, 173, + 126, 418, 174, 175, 424, 129, 411, 726, 727, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, - 439, 440, 118, 119, 120, 121, 125, 126, 447, 323, - 324, 450, 229, 588, 230, 589, 259, 416, 323, 324, - 125, 126, 461, 462, 463, 483, 465, 466, 467, 468, - 469, 470, 471, 476, 477, 326, 1240, 1241, 1242, 1243, - 82, 323, 324, 1247, 484, 485, 486, 717, 83, 491, - 163, 164, 1318, 84, 323, 324, 497, 891, 595, 892, - 596, 165, 502, 118, 119, 120, 121, 166, 88, 417, - 893, 1123, 894, 721, 1006, 85, 323, 324, 747, 323, - 324, 323, 324, 135, 125, 126, 136, 718, 118, 119, - 120, 121, 895, 139, 896, 148, 541, 767, 323, 324, - 417, 540, 810, 811, 812, 813, 814, 1296, 1297, 125, - 126, 1300, 323, 324, 1073, 26, 27, 28, 29, 30, - 31, 32, 33, 595, 34, 625, 36, 37, 1074, 39, - 40, 259, 323, 324, 125, 126, 599, 601, 150, 331, - 454, 157, 230, 335, 158, 159, 52, 160, 1075, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 416, 1348, - 53, 54, 140, 285, 323, 324, 42, 43, 44, 45, - 383, 47, 416, 844, 626, 627, 921, 595, 171, 146, - 632, 172, 173, 641, 280, 281, 282, 283, 284, 147, - 642, 643, 125, 126, 285, 595, 151, 750, 623, 646, - 230, 876, 877, 846, 848, 870, 650, 149, 1387, 282, - 283, 284, 885, 886, 1080, 658, 659, 285, 1081, 152, - 156, 63, 271, 272, 273, 274, 275, 417, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 857, 1415, 858, - 153, 154, 285, 155, 595, 595, 869, 970, 162, 1081, - 1007, 1082, 1336, 1338, 1337, 1339, 696, 1340, 1437, 1341, - 1438, 170, 175, 487, 89, 90, 1439, 1441, 1440, 1442, + 439, 440, 441, 442, 325, 326, 120, 121, 122, 123, + 449, 325, 326, 452, 85, 117, 118, 119, 261, 418, + 86, 327, 410, 411, 463, 464, 465, 475, 467, 468, + 469, 470, 471, 472, 473, 478, 479, 87, 1242, 1243, + 1244, 1245, 325, 326, 88, 1249, 486, 487, 488, 325, + 326, 493, 117, 118, 119, 597, 719, 598, 499, 328, + 120, 121, 122, 123, 504, 895, 740, 896, 150, 419, + 597, 1125, 1008, 723, 127, 128, 325, 326, 127, 128, + 137, 127, 128, 138, 720, 846, 697, 749, 914, 597, + 26, 27, 28, 29, 30, 31, 32, 33, 141, 34, + 419, 36, 37, 542, 39, 40, 325, 326, 142, 1298, + 1299, 325, 326, 1302, 165, 166, 325, 326, 325, 326, + 152, 52, 897, 159, 898, 167, 160, 161, 543, 162, + 148, 168, 485, 261, 769, 53, 54, 149, 601, 603, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 325, 326, 325, 326, 151, 325, 326, 153, + 418, 1350, 1082, 325, 326, 154, 1083, 333, 1075, 158, + 1076, 337, 385, 1077, 418, 923, 628, 629, 127, 128, + 163, 597, 634, 627, 231, 643, 232, 282, 283, 284, + 285, 286, 644, 645, 878, 879, 63, 287, 164, 127, + 128, 648, 172, 848, 850, 456, 176, 232, 652, 177, + 1389, 284, 285, 286, 872, 887, 888, 660, 661, 287, + 181, 182, 273, 274, 275, 276, 277, 419, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 597, 489, 752, + 1417, 191, 287, 127, 128, 859, 597, 860, 871, 625, + 1009, 232, 185, 190, 597, 556, 972, 192, 698, 812, + 813, 814, 815, 816, 89, 90, 1083, 1338, 1084, 1339, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 174, 1493, 711, 1494, 1495, 1497, 1496, 1498, - 161, 712, 713, 714, 715, 179, 180, 416, 990, 183, - 1526, 720, 1527, 1528, 726, 1529, 1530, 188, 1531, 189, - 739, 190, 191, 737, 192, 1499, 274, 275, 193, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 416, 383, - 225, 228, 956, 285, 269, 234, 235, 236, 237, 823, - 238, 239, 240, 241, 242, 286, 287, 771, 772, 773, - 243, 244, 245, 246, 247, 248, 249, 250, 776, 777, - 251, 779, 252, 253, 254, 790, 255, 256, 317, 788, - 789, 985, 89, 90, 799, 257, 292, 295, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 306, 307, 308, 310, 826, 827, 828, 829, 830, 831, - 832, 833, 834, 835, 836, 837, 757, 122, 123, 311, - 312, 313, 314, 124, 315, 316, 334, 342, 127, 328, - 849, 262, 329, 330, 263, 333, 345, 854, 346, 856, - 348, 349, 908, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 416, 350, 871, 351, 872, - 352, 353, 758, 354, 355, 356, 378, 380, 357, 358, - 359, 360, 361, 887, 888, 889, 362, 363, 1128, 364, - 382, 365, 366, 367, 384, 414, 368, 369, 905, 906, - 370, 371, 423, 372, 373, 374, 375, 376, 89, 90, - 377, 285, 381, 424, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 459, 464, 472, 493, - 494, 940, 496, 503, 499, 122, 123, 504, 505, 506, - 507, 124, 508, 509, 527, 270, 127, 510, 511, 621, - 512, 513, 622, 514, 957, 515, 516, 517, 554, 518, - 519, 520, 966, 521, 1010, 522, 271, 272, 273, 274, - 275, 523, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 524, 975, 976, 1041, 525, 285, 526, 528, 529, - 530, 991, 984, 993, 783, 995, 531, 532, 533, 592, - 536, 593, 537, 998, 999, 538, 603, 602, 640, 608, - 644, 610, 611, 1009, 612, 613, 1012, 615, 616, 618, - 645, 619, 620, 628, 652, 653, 1022, 654, 655, 657, - 661, 662, 663, 1029, 1030, 1031, 664, 665, 666, 667, - 1036, 668, 669, 692, 1040, 670, 671, 672, 1042, 1043, - 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, - 710, 122, 123, 693, 673, 674, 1087, 124, 675, 676, - 1062, 677, 127, 678, 679, 748, 680, 1065, 749, 681, - 682, 683, 684, 685, 303, 686, 425, 687, 688, 309, - 689, 690, 691, 694, 1071, 271, 272, 273, 274, 275, - 716, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 729, 332, 1085, 89, 299, 285, 730, 336, 337, 93, + 113, 114, 115, 116, 193, 195, 713, 42, 43, 44, + 45, 194, 47, 714, 715, 716, 717, 227, 992, 418, + 1340, 230, 1341, 722, 271, 1342, 728, 1343, 1439, 1441, + 1440, 1442, 741, 236, 1443, 739, 1444, 1501, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 237, 288, 958, + 418, 385, 287, 1495, 1497, 1496, 1498, 1499, 289, 1500, + 1528, 825, 1529, 1530, 1532, 1531, 1533, 238, 239, 773, + 774, 775, 240, 241, 242, 243, 244, 245, 246, 247, + 778, 779, 248, 781, 249, 250, 251, 792, 987, 252, + 253, 790, 791, 89, 90, 254, 801, 255, 308, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 698, 271, 272, 273, 274, 275, 699, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 719, 700, 722, - 727, 728, 285, 736, 784, 701, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 731, 1131, - 1132, 1133, 752, 1138, 1139, 742, 702, 744, 703, 754, - 1143, 755, 756, 759, 704, 705, 706, 760, 1151, 761, - 707, 708, 1199, 774, 709, 762, 1159, 763, 753, 764, - 765, 1164, 766, 775, 1167, 786, 1169, 1170, 1171, 1172, - 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 780, 785, - 787, 791, 1182, 792, 793, 1185, 271, 272, 273, 274, - 275, 794, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 795, 798, 800, 801, 1239, 285, 804, 805, 806, - 271, 272, 273, 274, 275, 807, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 808, 122, 300, 817, 818, - 285, 825, 124, 819, 820, 821, 822, 127, 824, 843, - 89, 455, 845, 301, 850, 1270, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 1252, 1253, - 1254, 1255, 1256, 1257, 1258, 1259, 1260, 851, 855, 859, - 1264, 863, 271, 272, 273, 274, 275, 852, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 865, 867, 868, - 594, 1322, 285, 271, 272, 273, 274, 275, 890, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 899, 904, - 907, 909, 914, 285, 916, 913, 941, 915, 1347, 918, - 958, 917, 923, 1302, 1303, 1304, 1305, 1306, 1307, 1308, - 1309, 1310, 1312, 1314, 1316, 919, 920, 922, 924, 89, - 299, 925, 931, 1371, 937, 93, 94, 95, 96, 97, + 114, 115, 116, 256, 312, 257, 828, 829, 830, 831, + 832, 833, 834, 835, 836, 837, 838, 839, 785, 124, + 125, 258, 313, 259, 294, 126, 297, 309, 319, 310, + 129, 314, 851, 264, 315, 316, 265, 317, 318, 856, + 336, 858, 330, 335, 910, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 418, 331, 873, + 332, 874, 275, 276, 277, 344, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 889, 890, 891, 1130, 347, + 287, 380, 348, 350, 351, 352, 353, 354, 355, 356, + 907, 908, 357, 358, 359, 360, 361, 362, 89, 90, + 363, 386, 364, 365, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 366, 367, + 368, 369, 370, 942, 371, 372, 373, 374, 124, 125, + 375, 376, 377, 378, 126, 379, 272, 498, 383, 129, + 287, 382, 623, 384, 416, 624, 959, 426, 425, 461, + 827, 466, 474, 495, 968, 496, 1012, 505, 273, 274, + 275, 276, 277, 501, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 506, 977, 978, 1043, 507, 287, 508, + 786, 509, 510, 993, 986, 995, 759, 997, 511, 512, + 513, 514, 515, 516, 517, 1000, 1001, 518, 519, 520, + 521, 522, 523, 524, 525, 1011, 276, 277, 1014, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 1024, 526, + 527, 528, 530, 287, 531, 1031, 1032, 1033, 529, 532, + 533, 534, 1038, 539, 760, 535, 1042, 538, 540, 594, + 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, + 1054, 1055, 595, 124, 125, 604, 605, 610, 1089, 126, + 612, 613, 1064, 614, 129, 615, 617, 750, 618, 1067, + 751, 620, 642, 621, 622, 630, 305, 427, 646, 647, + 654, 311, 655, 656, 657, 659, 1073, 663, 273, 274, + 275, 276, 277, 664, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 334, 1087, 460, 89, 301, 287, 338, + 339, 665, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 666, 731, 273, 274, + 275, 276, 277, 667, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 668, 669, 670, 694, 671, 287, 672, + 712, 718, 673, 674, 721, 675, 676, 729, 730, 738, + 695, 1133, 1134, 1135, 754, 1140, 1141, 732, 744, 746, + 756, 757, 1145, 758, 677, 678, 679, 680, 681, 682, + 1153, 683, 684, 685, 1201, 776, 686, 687, 1161, 761, + 762, 700, 688, 1166, 689, 690, 1169, 691, 1171, 1172, + 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, + 692, 693, 696, 701, 1184, 702, 703, 1187, 755, 273, + 274, 275, 276, 277, 763, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 854, 724, 764, 1241, 704, 287, + 765, 705, 706, 707, 708, 273, 274, 275, 276, 277, + 709, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 710, 124, 302, 711, 733, 287, 766, 126, 767, 768, + 777, 788, 129, 782, 787, 789, 793, 1272, 303, 273, + 274, 275, 276, 277, 1059, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 794, 795, 796, 797, 800, 287, + 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 802, + 803, 806, 1266, 807, 808, 809, 273, 274, 275, 276, + 277, 810, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 819, 596, 1324, 820, 821, 287, 273, 274, 275, + 276, 277, 822, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 823, 824, 826, 845, 847, 287, 853, 861, + 1349, 852, 865, 857, 867, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 1311, 1312, 1314, 1316, 1318, 869, 870, 892, + 901, 909, 911, 915, 906, 1373, 273, 274, 275, 276, + 277, 916, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 918, 917, 919, 920, 925, 287, 921, 943, 1348, + 922, 924, 926, 960, 927, 1354, 1355, 1356, 1357, 1358, + 1359, 1360, 1361, 1362, 1363, 928, 1365, 929, 1367, 930, + 931, 932, 933, 934, 935, 936, 273, 274, 275, 276, + 277, 937, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 939, 938, 940, 941, 961, 287, 1386, 1387, 956, + 963, 969, 1391, 1392, 1393, 1394, 1395, 1396, 965, 970, + 26, 27, 28, 29, 30, 31, 32, 33, 974, 34, + 971, 36, 37, 975, 39, 40, 1414, 976, 979, 980, + 981, 1418, 1419, 1420, 1421, 1422, 1423, 1425, 1427, 1429, + 982, 52, 983, 984, 985, 994, 996, 998, 1006, 1002, + 1013, 1016, 1017, 1019, 1018, 53, 54, 1020, 1022, 1448, + 1449, 1450, 1451, 1452, 1453, 1454, 1023, 1456, 1025, 1458, + 742, 743, 1026, 745, 1027, 1029, 1028, 747, 748, 1035, + 1036, 1039, 1040, 1060, 1062, 1056, 1041, 1468, 1469, 1470, + 1057, 1058, 1061, 1063, 1071, 1066, 1086, 1090, 1095, 1126, + 1072, 1482, 1483, 1484, 1486, 1488, 1490, 1074, 1078, 1085, + 1092, 1093, 780, 1094, 1096, 783, 63, 1098, 1502, 1503, + 1504, 1505, 1104, 1507, 1099, 1509, 1100, 1108, 1105, 798, + 799, 1106, 1109, 1111, 1124, 804, 805, 1068, 1127, 1148, + 1170, 1142, 811, 1149, 818, 1523, 1525, 1527, 1152, 1154, + 1156, 1157, 1158, 1159, 1534, 1160, 1536, 1162, 1538, 89, + 457, 1164, 1167, 1165, 1168, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 1346, 926, 927, - 959, 961, 963, 1352, 1353, 1354, 1355, 1356, 1357, 1358, - 1359, 1360, 1361, 928, 1363, 929, 1365, 930, 932, 933, - 934, 935, 936, 122, 123, 938, 967, 968, 939, 124, - 954, 972, 973, 974, 127, 969, 977, 978, 979, 980, - 456, 981, 982, 983, 992, 1384, 1385, 994, 996, 1004, - 1389, 1390, 1391, 1392, 1393, 1394, 1000, 271, 272, 273, - 274, 275, 1011, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 1014, 1015, 1412, 1016, 1017, 285, 1018, 1416, - 1417, 1418, 1419, 1420, 1421, 1423, 1425, 1427, 273, 274, - 275, 1020, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 1021, 1023, 1024, 1027, 1025, 285, 1446, 1447, 1448, - 1449, 1450, 1451, 1452, 1026, 1454, 1033, 1456, 740, 741, - 1034, 743, 1037, 1038, 1039, 745, 746, 1054, 1055, 1060, - 1056, 1059, 122, 415, 1058, 1466, 1467, 1468, 124, 1061, - 1064, 1069, 1070, 127, 1084, 1072, 1088, 1076, 1083, 1480, - 1481, 1482, 1484, 1486, 1488, 1057, 1090, 1091, 1092, 1093, - 778, 1094, 1096, 781, 1097, 1098, 1500, 1501, 1502, 1503, - 1066, 1505, 1102, 1507, 1106, 1103, 1104, 796, 797, 1107, - 1122, 1109, 1124, 802, 803, 1067, 1125, 1147, 1140, 1146, - 809, 1150, 816, 1521, 1523, 1525, 1152, 1154, 1155, 1156, - 1157, 1165, 1532, 1158, 1534, 1160, 1536, 89, 90, 91, - 1168, 92, 1162, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 1163, 115, 116, 117, 1068, - 1166, 1181, 1183, 1204, 1184, 1189, 1190, 1195, 864, 1196, - 866, 1228, 1198, 1200, 1205, 1201, 1202, 1207, 1209, 1211, - 873, 874, 875, 1226, 458, 878, 879, 880, 881, 882, - 883, 884, 1229, 1230, 89, 455, 1233, 1267, 1234, 1235, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 1183, + 1186, 1069, 1185, 1192, 1191, 1197, 1206, 1198, 1202, 1230, + 866, 1200, 868, 1203, 1204, 1207, 1231, 1211, 1232, 1235, + 1209, 1236, 875, 876, 877, 1213, 1228, 880, 881, 882, + 883, 884, 885, 886, 89, 90, 91, 1253, 92, 1237, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 1197, 1238, 1244, 271, 272, 273, 274, 275, - 1245, 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, - 500, 1246, 955, 1248, 1249, 285, 118, 119, 120, 121, - 1250, 1251, 1268, 1265, 1273, 607, 1266, 1271, 1269, 1272, - 122, 123, 1286, 1294, 1274, 1287, 124, 125, 126, 1298, - 751, 127, 1275, 128, 1276, 129, 1288, 1295, 1299, 271, - 272, 273, 274, 275, 1290, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 782, 1301, 1317, 1319, 1320, 285, - 1005, 1321, 271, 272, 273, 274, 275, 1013, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 1325, 1323, 1324, - 1326, 1343, 285, 1345, 1342, 1350, 1032, 122, 123, 1351, - 1362, 1364, 1366, 124, 1367, 1368, 1369, 1372, 127, 1383, - 1373, 1386, 271, 272, 273, 274, 275, 1400, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 271, 272, 273, - 274, 275, 285, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 1401, 1413, 1402, 1443, 1409, 285, 1410, 1445, - 1411, 1429, 1430, 988, 1453, 989, 1455, 1457, 271, 272, - 273, 274, 275, 1458, 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, 1472, 1504, 1476, 1477, 1478, 285, 1489, - 1506, 1508, 271, 272, 273, 274, 275, 1509, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 1513, 1517, 1518, - 1519, 1533, 285, 1535, 1537, 1539, 1540, 68, 69, 26, - 27, 28, 29, 30, 31, 32, 33, 1141, 34, 1142, - 36, 37, 1145, 39, 40, -10, 1, 697, -10, -53, - 70, 1291, 1003, 0, 960, 0, 0, 0, 1161, 0, - 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 53, 54, -53, 0, 0, 0, - -53, -53, -53, -53, -53, -53, -53, -53, -53, 0, - -53, -53, -53, -53, -53, -53, -53, 0, 0, 0, - -53, -53, -53, -53, -53, -53, -53, 0, -53, -53, - -53, -53, -53, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -53, -53, 0, 0, - 0, 0, 0, 0, -53, 63, -53, -53, -53, -53, - -53, -53, -53, 0, 0, 0, 1232, 0, 0, 0, - 0, 1236, 1237, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -10, -10, -10, -10, -10, -10, -10, -10, - 0, 0, 0, 0, 23, 0, 0, 492, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -53, 2, 3, - 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 24, 0, 0, 0, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 0, 34, 35, 36, 37, 38, - 39, 40, 0, 1292, 1293, 41, 42, 43, 44, 45, - 46, 47, 0, 48, 49, 50, 51, 52, 0, 0, - 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, - 0, 53, 54, 0, 0, 0, 0, 0, 0, 55, - 0, 56, 57, 58, 59, 60, 61, 62, 0, 0, - 0, 0, 0, 0, 0, 1344, 0, 0, 0, 0, - 1349, 0, 26, 27, 28, 29, 30, 31, 32, 33, - 0, 34, 0, 36, 37, 0, 39, 40, 0, 0, - 0, 0, 0, 0, 0, 0, 196, 197, 198, 0, - 0, 0, 63, 52, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 0, 0, 0, 53, 54, 1388, - 0, 0, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 0, 219, 220, 221, 222, 223, 224, 0, - 0, 0, 271, 272, 273, 274, 275, 1414, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 0, 0, 0, 0, 1129, 0, - 1130, 0, 0, 0, 0, 1444, 0, 0, 63, 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, 1465, 1224, 0, 1225, 0, 0, - 0, 0, 0, 271, 272, 273, 274, 275, 1479, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 0, 271, 272, 273, 274, - 275, 444, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 0, 271, - 272, 273, 274, 275, 449, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 0, 271, 272, 273, 274, 275, 451, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 0, 271, 272, 273, 274, 275, - 629, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 271, 272, - 273, 274, 275, 633, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 0, - 0, 271, 272, 273, 274, 275, 634, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 0, 271, 272, 273, 274, 275, 770, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 0, 271, 272, 273, - 274, 275, 986, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 0, - 271, 272, 273, 274, 275, 1144, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 0, 271, 272, 273, 274, 275, 1186, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 0, 271, 272, 273, 274, - 275, 1187, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 0, 271, - 272, 273, 274, 275, 1188, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 0, 271, 272, 273, 274, 275, 1193, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 0, 271, 272, 273, 274, 275, - 1194, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 0, 271, 272, - 273, 274, 275, 1227, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 0, - 0, 271, 272, 273, 274, 275, 1289, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 0, 271, 272, 273, 274, 275, 1399, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 0, 271, 272, 273, - 274, 275, 1428, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 271, 272, - 273, 274, 275, 474, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 271, - 272, 273, 274, 275, 475, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 271, 272, 273, 274, 275, 578, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 271, 272, 273, 274, 275, 585, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 271, 272, 273, 274, 275, 586, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 271, 272, 273, 274, 275, 587, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 271, 272, 273, 274, 275, 647, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 271, 272, 273, 274, 275, - 648, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 271, 272, 273, 274, - 275, 649, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 271, 272, 273, - 274, 275, 768, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 271, 272, - 273, 274, 275, 769, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 271, - 272, 273, 274, 275, 897, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 271, 272, 273, 274, 275, 898, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 271, 272, 273, 274, 275, 910, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 271, 272, 273, 274, 275, 911, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 271, 272, 273, 274, 275, 942, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 271, 272, 273, 274, 275, 943, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 271, 272, 273, 274, 275, - 944, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 271, 272, 273, 274, - 275, 945, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 271, 272, 273, - 274, 275, 946, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 271, 272, - 273, 274, 275, 947, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 271, - 272, 273, 274, 275, 948, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 271, 272, 273, 274, 275, 949, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 271, 272, 273, 274, 275, 950, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 271, 272, 273, 274, 275, 951, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 271, 272, 273, 274, 275, 952, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 271, 272, 273, 274, 275, 953, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 271, 272, 273, 274, 275, - 964, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 271, 272, 273, 274, - 275, 971, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 271, 272, 273, - 274, 275, 1077, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 271, 272, - 273, 274, 275, 1078, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 271, - 272, 273, 274, 275, 1086, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 271, 272, 273, 274, 275, 1089, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 271, 272, 273, 274, 275, 1100, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 271, 272, 273, 274, 275, 1105, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 271, 272, 273, 274, 275, 1108, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 271, 272, 273, 274, 275, 1110, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 271, 272, 273, 274, 275, - 1111, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 271, 272, 273, 274, - 275, 1112, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 271, 272, 273, - 274, 275, 1113, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 271, 272, - 273, 274, 275, 1114, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 271, - 272, 273, 274, 275, 1115, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 271, 272, 273, 274, 275, 1116, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 271, 272, 273, 274, 275, 1117, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 271, 272, 273, 274, 275, 1118, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 271, 272, 273, 274, 275, 1119, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 271, 272, 273, 274, 275, 1120, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 271, 272, 273, 274, 275, - 1121, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 271, 272, 273, 274, - 275, 1126, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 271, 272, 273, - 274, 275, 1127, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 271, 272, - 273, 274, 275, 1203, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 271, - 272, 273, 274, 275, 1212, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 271, 272, 273, 274, 275, 1213, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 271, 272, 273, 274, 275, 1214, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 271, 272, 273, 274, 275, 1215, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 271, 272, 273, 274, 275, 1216, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 271, 272, 273, 274, 275, 1217, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 271, 272, 273, 274, 275, - 1218, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 271, 272, 273, 274, - 275, 1219, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 271, 272, 273, - 274, 275, 1220, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 271, 272, - 273, 274, 275, 1277, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 271, - 272, 273, 274, 275, 1278, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 271, 272, 273, 274, 275, 1279, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 271, 272, 273, 274, 275, 1280, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 271, 272, 273, 274, 275, 1281, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 271, 272, 273, 274, 275, 1282, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 271, 272, 273, 274, 275, 1283, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 271, 272, 273, 274, 275, - 1284, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 271, 272, 273, 274, - 275, 1285, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 271, 272, 273, - 274, 275, 1327, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 271, 272, - 273, 274, 275, 1328, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 271, - 272, 273, 274, 275, 1329, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 271, 272, 273, 274, 275, 1330, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 271, 272, 273, 274, 275, 1331, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 271, 272, 273, 274, 275, 1332, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 271, 272, 273, 274, 275, 1333, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 271, 272, 273, 274, 275, 1334, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 271, 272, 273, 274, 275, - 1335, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 271, 272, 273, 274, - 275, 1370, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 271, 272, 273, - 274, 275, 1374, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 271, 272, - 273, 274, 275, 1375, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 271, - 272, 273, 274, 275, 1376, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 271, 272, 273, 274, 275, 1377, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 271, 272, 273, 274, 275, 1378, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 271, 272, 273, 274, 275, 1379, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 271, 272, 273, 274, 275, 1398, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 271, 272, 273, 274, 275, 1403, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 271, 272, 273, 274, 275, - 1404, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 271, 272, 273, 274, - 275, 1405, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 271, 272, 273, - 274, 275, 1406, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 271, 272, - 273, 274, 275, 1407, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 271, - 272, 273, 274, 275, 1408, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 271, 272, 273, 274, 275, 1431, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 271, 272, 273, 274, 275, 1432, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 271, 272, 273, 274, 275, 1433, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 271, 272, 273, 274, 275, 1434, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 271, 272, 273, 274, 275, 1435, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 271, 272, 273, 274, 275, - 1436, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 271, 272, 273, 274, - 275, 1459, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 271, 272, 273, - 274, 275, 1460, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 271, 272, - 273, 274, 275, 1461, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 271, - 272, 273, 274, 275, 1473, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 271, 272, 273, 274, 275, 1474, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 271, 272, 273, 274, 275, 1475, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 271, 272, 273, 274, 275, 1490, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 271, 272, 273, 274, 275, 1491, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 271, 272, 273, 274, 275, 1492, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 0, 0, 419, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 0, 0, 539, 271, 272, 273, 274, 275, 0, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 0, 0, 651, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 0, 0, 842, 271, 272, 273, 274, 275, 0, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 0, 0, 962, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 413, 271, 272, 273, 274, 275, 0, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 443, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 445, 271, 272, - 273, 274, 275, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 0, - 446, 271, 272, 273, 274, 275, 0, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 448, 271, 272, 273, 274, 275, 0, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 452, 271, 272, 273, - 274, 275, 0, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 453, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 460, 271, 272, 273, 274, 275, 0, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 495, 271, 272, 273, 274, - 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 498, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 501, 271, 272, 273, 274, 275, 0, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 567, 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, - 569, 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, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 571, 271, 272, 273, - 274, 275, 0, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 572, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 573, 271, 272, 273, 274, 275, 0, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 574, 271, 272, 273, 274, - 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 575, 271, - 272, 273, 274, 275, 0, 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, 577, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 579, 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, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 581, 271, 272, 273, 274, 275, 0, - 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, 583, - 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, 614, 271, 272, 273, 274, - 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 617, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 630, 271, 272, 273, 274, 275, 0, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 631, 271, 272, 273, 274, 275, - 0, 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, - 636, 271, 272, 273, 274, 275, 0, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 637, 271, 272, 273, 274, 275, 0, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 638, 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, 656, 271, 272, 273, 274, 275, 0, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 660, 271, 272, 273, 274, - 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 838, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 839, 271, 272, 273, 274, 275, 0, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 840, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 841, 271, 272, - 273, 274, 275, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 0, - 900, 271, 272, 273, 274, 275, 0, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 987, 271, 272, 273, 274, 275, 0, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 1008, 271, 272, 273, - 274, 275, 0, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 1095, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 1099, 271, 272, 273, 274, 275, 0, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 1101, 271, 272, 273, 274, - 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 1206, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 1208, 271, 272, 273, 274, 275, 0, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 1210, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 1221, 271, 272, - 273, 274, 275, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 0, - 1222, 271, 272, 273, 274, 275, 0, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285, 0, 1223, 271, 272, 273, 274, 275, 0, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, - 0, 0, 0, 0, 285, 0, 1380, 271, 272, 273, - 274, 275, 0, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 0, 0, 0, 0, 0, 285, 0, 1381, - 271, 272, 273, 274, 275, 0, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 0, 0, 0, 0, 0, - 285, 0, 1382, 271, 272, 273, 274, 275, 0, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 0, 0, - 0, 0, 0, 285, 0, 1462, 271, 272, 273, 274, - 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 0, 0, 0, 0, 0, 285, 0, 1463, 271, - 272, 273, 274, 275, 0, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 0, 0, 0, 0, 0, 285, - 0, 1464, 271, 272, 273, 274, 275, 0, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 285, 0, 1510, 271, 272, 273, 274, 275, - 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 0, 0, 0, 0, 0, 285, 0, 1511, 271, 272, - 273, 274, 275, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 0, 0, 0, 0, 0, 285, 0, - 1512, 271, 272, 273, 274, 275, 0, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 0, 0, 0, 0, - 0, 285 + 113, 114, 115, 116, 1070, 117, 118, 119, 89, 301, + 1240, 1271, 1246, 1247, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 1248, 273, + 274, 275, 276, 277, 1250, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 957, 1251, 1252, 1268, 1199, 287, + 1267, 1269, 1270, 1273, 1274, 1296, 1275, 1277, 1276, 1297, + 1300, 1301, 1303, 1278, 124, 125, 1288, 1289, 1345, 1319, + 126, 502, 1347, 1352, 1292, 129, 1353, 1290, 1321, 1322, + 1327, 458, 1328, 273, 274, 275, 276, 277, 1323, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 609, 1325, + 1326, 1364, 1007, 287, 1344, 1366, 1368, 1369, 1370, 1015, + 1385, 1371, 1388, 753, 1374, 120, 121, 122, 123, 1375, + 1402, 1403, 1404, 1415, 1411, 1445, 1412, 1432, 1034, 124, + 125, 1413, 1431, 1447, 1455, 126, 127, 128, 1457, 1459, + 129, 1460, 130, 1474, 131, 784, 273, 274, 275, 276, + 277, 1478, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 1479, 1480, 124, 417, 1491, 287, 1506, 1508, 126, + 89, 457, 1510, 1511, 129, 1515, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 273, 274, 275, 276, 277, 1519, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 1520, 1521, 1535, 1537, 1539, + 287, 273, 274, 275, 276, 277, 1541, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 1542, 68, 699, 69, + 70, 287, 962, 0, 1005, 0, 0, 1293, 273, 274, + 275, 276, 277, 0, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 273, 274, 275, 276, 277, 287, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 1143, + 0, 1144, 0, 287, 1147, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 273, 274, 275, 276, 277, + 1163, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, -10, 1, 0, -10, + -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 124, 125, 0, 0, 0, + 0, 126, 0, 0, 0, 0, 129, 0, 0, -53, + 0, 0, 0, -53, -53, -53, -53, -53, -53, -53, + -53, -53, 0, -53, -53, -53, -53, -53, -53, -53, + 0, 0, 0, -53, -53, -53, -53, -53, -53, -53, + 0, -53, -53, -53, -53, -53, 0, 0, 1234, 0, + 0, 0, 0, 1238, 1239, 0, 0, 0, 0, -53, + -53, 0, 0, 0, 0, 0, 0, -53, 197, -53, + -53, -53, -53, -53, -53, -53, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -10, -10, -10, -10, -10, + -10, -10, -10, 26, 27, 28, 29, 30, 31, 32, + 33, 0, 34, 0, 36, 37, 0, 39, 40, 0, + -53, 2, 3, 0, 4, 1294, 1295, 0, 198, 199, + 200, 0, 0, 0, 52, 0, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 0, 0, 53, 54, + 0, 0, 0, 0, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 0, 221, 222, 223, 224, 225, + 226, 0, 0, 0, 0, 0, 0, 1346, 0, 0, + 0, 23, 1351, 273, 274, 275, 276, 277, 0, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 0, 0, 0, 0, 0, 63, + 24, 446, 0, 0, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 0, 34, 35, 36, 37, 38, 39, + 40, 1390, 0, 0, 41, 42, 43, 44, 45, 46, + 47, 0, 48, 49, 50, 51, 52, 0, 0, 0, + 0, 494, 0, 0, 0, 0, 0, 0, 0, 1416, + 53, 54, 0, 0, 0, 0, 0, 0, 55, 0, + 56, 57, 58, 59, 60, 61, 62, 0, 0, 0, + 0, 0, 273, 274, 275, 276, 277, 1446, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 0, 0, 0, 0, 0, 990, 0, + 991, 0, 0, 0, 0, 0, 1467, 0, 0, 0, + 0, 63, 0, 0, 0, 273, 274, 275, 276, 277, + 1481, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 0, 0, 0, 0, + 0, 1131, 0, 1132, 273, 274, 275, 276, 277, 0, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, + 1226, 0, 1227, 273, 274, 275, 276, 277, 0, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 0, 0, 273, 274, 275, 276, + 277, 451, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 0, 0, 273, + 274, 275, 276, 277, 453, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 0, 0, 273, 274, 275, 276, 277, 631, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 0, 0, 273, 274, 275, 276, 277, + 635, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 0, 0, 273, 274, + 275, 276, 277, 636, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 0, + 0, 273, 274, 275, 276, 277, 772, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 0, 0, 273, 274, 275, 276, 277, 988, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 0, 0, 273, 274, 275, + 276, 277, 1146, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 0, 0, + 273, 274, 275, 276, 277, 1188, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 0, 0, 273, 274, 275, 276, 277, 1189, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 0, 0, 273, 274, 275, 276, + 277, 1190, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 0, 0, 273, + 274, 275, 276, 277, 1195, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 0, 0, 273, 274, 275, 276, 277, 1196, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 0, 0, 273, 274, 275, 276, 277, + 1229, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 0, 0, 273, 274, + 275, 276, 277, 1291, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 0, + 0, 273, 274, 275, 276, 277, 1401, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 0, 0, 273, 274, 275, 276, 277, 1430, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 273, 274, 275, 276, 277, + 476, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 273, 274, 275, 276, + 277, 477, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 273, 274, 275, + 276, 277, 580, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 273, 274, + 275, 276, 277, 587, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 273, + 274, 275, 276, 277, 588, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 273, 274, 275, 276, 277, 589, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 273, 274, 275, 276, 277, 649, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 273, 274, 275, 276, 277, 650, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 273, 274, 275, 276, 277, 651, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 273, 274, 275, 276, 277, 770, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 273, 274, 275, 276, 277, + 771, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 273, 274, 275, 276, + 277, 899, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 273, 274, 275, + 276, 277, 900, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 273, 274, + 275, 276, 277, 912, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 273, + 274, 275, 276, 277, 913, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 273, 274, 275, 276, 277, 944, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 273, 274, 275, 276, 277, 945, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 273, 274, 275, 276, 277, 946, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 273, 274, 275, 276, 277, 947, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 273, 274, 275, 276, 277, 948, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 273, 274, 275, 276, 277, + 949, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 273, 274, 275, 276, + 277, 950, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 273, 274, 275, + 276, 277, 951, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 273, 274, + 275, 276, 277, 952, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 273, + 274, 275, 276, 277, 953, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 273, 274, 275, 276, 277, 954, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 273, 274, 275, 276, 277, 955, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 273, 274, 275, 276, 277, 966, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 273, 274, 275, 276, 277, 973, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 273, 274, 275, 276, 277, 1079, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 273, 274, 275, 276, 277, + 1080, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 273, 274, 275, 276, + 277, 1088, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 273, 274, 275, + 276, 277, 1091, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 273, 274, + 275, 276, 277, 1102, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 273, + 274, 275, 276, 277, 1107, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 273, 274, 275, 276, 277, 1110, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 273, 274, 275, 276, 277, 1112, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 273, 274, 275, 276, 277, 1113, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 273, 274, 275, 276, 277, 1114, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 273, 274, 275, 276, 277, 1115, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 273, 274, 275, 276, 277, + 1116, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 273, 274, 275, 276, + 277, 1117, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 273, 274, 275, + 276, 277, 1118, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 273, 274, + 275, 276, 277, 1119, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 273, + 274, 275, 276, 277, 1120, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 273, 274, 275, 276, 277, 1121, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 273, 274, 275, 276, 277, 1122, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 273, 274, 275, 276, 277, 1123, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 273, 274, 275, 276, 277, 1128, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 273, 274, 275, 276, 277, 1129, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 273, 274, 275, 276, 277, + 1205, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 273, 274, 275, 276, + 277, 1214, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 273, 274, 275, + 276, 277, 1215, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 273, 274, + 275, 276, 277, 1216, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 273, + 274, 275, 276, 277, 1217, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 273, 274, 275, 276, 277, 1218, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 273, 274, 275, 276, 277, 1219, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 273, 274, 275, 276, 277, 1220, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 273, 274, 275, 276, 277, 1221, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 273, 274, 275, 276, 277, 1222, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 273, 274, 275, 276, 277, + 1279, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 273, 274, 275, 276, + 277, 1280, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 273, 274, 275, + 276, 277, 1281, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 273, 274, + 275, 276, 277, 1282, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 273, + 274, 275, 276, 277, 1283, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 273, 274, 275, 276, 277, 1284, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 273, 274, 275, 276, 277, 1285, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 273, 274, 275, 276, 277, 1286, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 273, 274, 275, 276, 277, 1287, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 273, 274, 275, 276, 277, 1329, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 273, 274, 275, 276, 277, + 1330, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 273, 274, 275, 276, + 277, 1331, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 273, 274, 275, + 276, 277, 1332, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 273, 274, + 275, 276, 277, 1333, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 273, + 274, 275, 276, 277, 1334, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 273, 274, 275, 276, 277, 1335, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 273, 274, 275, 276, 277, 1336, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 273, 274, 275, 276, 277, 1337, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 273, 274, 275, 276, 277, 1372, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 273, 274, 275, 276, 277, 1376, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 273, 274, 275, 276, 277, + 1377, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 273, 274, 275, 276, + 277, 1378, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 273, 274, 275, + 276, 277, 1379, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 273, 274, + 275, 276, 277, 1380, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 273, + 274, 275, 276, 277, 1381, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 273, 274, 275, 276, 277, 1400, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 273, 274, 275, 276, 277, 1405, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 273, 274, 275, 276, 277, 1406, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 273, 274, 275, 276, 277, 1407, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 273, 274, 275, 276, 277, 1408, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 273, 274, 275, 276, 277, + 1409, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 273, 274, 275, 276, + 277, 1410, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 273, 274, 275, + 276, 277, 1433, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 273, 274, + 275, 276, 277, 1434, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 273, + 274, 275, 276, 277, 1435, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 273, 274, 275, 276, 277, 1436, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 273, 274, 275, 276, 277, 1437, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 273, 274, 275, 276, 277, 1438, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 273, 274, 275, 276, 277, 1461, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 273, 274, 275, 276, 277, 1462, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 273, 274, 275, 276, 277, + 1463, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 273, 274, 275, 276, + 277, 1475, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 273, 274, 275, + 276, 277, 1476, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 273, 274, + 275, 276, 277, 1477, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 273, + 274, 275, 276, 277, 1492, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 273, 274, 275, 276, 277, 1493, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 273, 274, 275, 276, 277, 1494, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 0, 0, 0, 421, 273, 274, 275, 276, + 277, 0, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 0, 0, 0, + 541, 273, 274, 275, 276, 277, 0, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 0, 0, 0, 653, 273, 274, 275, 276, + 277, 0, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 0, 0, 0, + 844, 273, 274, 275, 276, 277, 0, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 0, 0, 0, 964, 273, 274, 275, 276, + 277, 0, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 0, 415, 273, + 274, 275, 276, 277, 0, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 0, 445, 273, 274, 275, 276, 277, 0, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 0, 447, 273, 274, 275, 276, 277, + 0, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 0, 448, 273, 274, + 275, 276, 277, 0, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 0, + 450, 273, 274, 275, 276, 277, 0, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 0, 454, 273, 274, 275, 276, 277, 0, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 0, 455, 273, 274, 275, + 276, 277, 0, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 0, 462, + 273, 274, 275, 276, 277, 0, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 0, 497, 273, 274, 275, 276, 277, 0, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 0, 500, 273, 274, 275, 276, + 277, 0, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 0, 503, 273, + 274, 275, 276, 277, 0, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 0, 569, 273, 274, 275, 276, 277, 0, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 0, 570, 273, 274, 275, 276, 277, + 0, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 0, 571, 273, 274, + 275, 276, 277, 0, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 0, + 572, 273, 274, 275, 276, 277, 0, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 0, 573, 273, 274, 275, 276, 277, 0, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 0, 574, 273, 274, 275, + 276, 277, 0, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 0, 575, + 273, 274, 275, 276, 277, 0, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 0, 576, 273, 274, 275, 276, 277, 0, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 0, 577, 273, 274, 275, 276, + 277, 0, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 0, 578, 273, + 274, 275, 276, 277, 0, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 0, 579, 273, 274, 275, 276, 277, 0, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 0, 581, 273, 274, 275, 276, 277, + 0, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 0, 582, 273, 274, + 275, 276, 277, 0, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 0, + 583, 273, 274, 275, 276, 277, 0, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 0, 584, 273, 274, 275, 276, 277, 0, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 0, 585, 273, 274, 275, + 276, 277, 0, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 0, 586, + 273, 274, 275, 276, 277, 0, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 0, 616, 273, 274, 275, 276, 277, 0, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 0, 619, 273, 274, 275, 276, + 277, 0, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 0, 632, 273, + 274, 275, 276, 277, 0, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 0, 633, 273, 274, 275, 276, 277, 0, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 0, 637, 273, 274, 275, 276, 277, + 0, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 0, 638, 273, 274, + 275, 276, 277, 0, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 0, + 639, 273, 274, 275, 276, 277, 0, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 0, 640, 273, 274, 275, 276, 277, 0, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 0, 641, 273, 274, 275, + 276, 277, 0, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 0, 658, + 273, 274, 275, 276, 277, 0, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 0, 662, 273, 274, 275, 276, 277, 0, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 0, 840, 273, 274, 275, 276, + 277, 0, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 0, 841, 273, + 274, 275, 276, 277, 0, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 0, 842, 273, 274, 275, 276, 277, 0, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 0, 843, 273, 274, 275, 276, 277, + 0, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 0, 902, 273, 274, + 275, 276, 277, 0, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 0, + 989, 273, 274, 275, 276, 277, 0, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 0, 1010, 273, 274, 275, 276, 277, 0, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 0, 1097, 273, 274, 275, + 276, 277, 0, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 0, 1101, + 273, 274, 275, 276, 277, 0, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 0, 1103, 273, 274, 275, 276, 277, 0, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 0, 1208, 273, 274, 275, 276, + 277, 0, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 0, 1210, 273, + 274, 275, 276, 277, 0, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 0, 1212, 273, 274, 275, 276, 277, 0, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 0, 1223, 273, 274, 275, 276, 277, + 0, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 0, 1224, 273, 274, + 275, 276, 277, 0, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287, 0, + 1225, 273, 274, 275, 276, 277, 0, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 0, 0, 0, 0, + 0, 287, 0, 1382, 273, 274, 275, 276, 277, 0, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, + 0, 0, 0, 0, 287, 0, 1383, 273, 274, 275, + 276, 277, 0, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 0, 0, 0, 0, 0, 287, 0, 1384, + 273, 274, 275, 276, 277, 0, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 0, 0, 0, 0, 0, + 287, 0, 1464, 273, 274, 275, 276, 277, 0, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, + 0, 0, 0, 287, 0, 1465, 273, 274, 275, 276, + 277, 0, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 0, 0, 0, 0, 0, 287, 0, 1466, 273, + 274, 275, 276, 277, 0, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 0, 0, 0, 0, 0, 287, + 0, 1512, 273, 274, 275, 276, 277, 0, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 0, 0, 0, + 0, 0, 287, 0, 1513, 273, 274, 275, 276, 277, + 0, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 0, 0, 0, 0, 0, 287, 0, 1514, 273, 274, + 275, 276, 277, 0, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 0, 0, 0, 0, 0, 287 }; static const short yycheck[] = { 23, - 23, 263, 87, 730, 326, 79, 265, 7, 4, 4, - 255, 256, 257, 917, 44, 1136, 4, 301, 4, 4, - 3, 1000, 926, 147, 4, 40, 166, 167, 4, 933, - 3, 36, 6, 84, 39, 3, 4, 5, 178, 301, - 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 178, 32, 33, 34, 182, 62, 3, - 4, 6, 62, 47, 6, 9, 10, 11, 12, 13, + 23, 265, 87, 732, 328, 79, 267, 257, 258, 259, + 4, 4, 4, 3, 44, 919, 4, 4, 64, 64, + 42, 7, 6, 1138, 928, 1002, 303, 7, 181, 3, + 183, 935, 65, 65, 3, 4, 5, 70, 70, 303, + 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, 34, 35, 36, 180, 3, + 4, 86, 184, 4, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 178, 122, 123, - 124, 182, 98, 127, 128, 178, 130, 87, 88, 182, - 1089, 87, 88, 137, 138, 139, 140, 7, 142, 143, - 194, 145, 146, 147, 63, 149, 177, 166, 167, 68, - 857, 178, 162, 163, 164, 182, 7, 4, 5, 177, - 170, 165, 166, 182, 117, 118, 119, 120, 121, 122, - 123, 124, 152, 153, 154, 155, 6, 7, 442, 183, - 419, 185, 177, 187, 188, 32, 33, 34, 166, 167, - 1291, 177, 456, 173, 174, 420, 177, 183, 7, 5, - 442, 181, 183, 177, 167, 183, 1090, 183, 183, 183, - 1094, 63, 177, 183, 456, 183, 68, 183, 166, 167, - 166, 167, 232, 7, 172, 229, 32, 33, 34, 177, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 65, + 124, 125, 126, 179, 70, 129, 130, 49, 132, 185, + 168, 169, 100, 6, 1091, 139, 140, 141, 142, 7, + 144, 145, 196, 147, 148, 149, 184, 151, 186, 38, + 859, 179, 41, 179, 164, 165, 166, 185, 149, 185, + 185, 6, 172, 167, 168, 119, 120, 121, 122, 123, + 124, 125, 126, 186, 186, 6, 7, 179, 89, 90, + 421, 185, 4, 187, 179, 189, 190, 444, 154, 155, + 156, 157, 422, 7, 154, 155, 156, 157, 1293, 169, + 444, 458, 7, 180, 168, 169, 179, 184, 1092, 175, + 176, 185, 1096, 185, 458, 175, 176, 185, 185, 168, + 169, 6, 180, 183, 234, 174, 184, 231, 41, 42, + 179, 44, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 177, 166, 167, 166, 167, 173, 174, 172, 263, - 6, 63, 265, 177, 181, 184, 68, 271, 272, 273, + 254, 255, 256, 6, 168, 169, 168, 169, 6, 38, + 174, 265, 41, 42, 267, 179, 5, 89, 90, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 152, 153, 154, 155, 173, 174, 292, 166, - 167, 295, 179, 179, 181, 181, 300, 301, 166, 167, - 173, 174, 306, 307, 308, 182, 310, 311, 312, 313, - 314, 315, 316, 323, 324, 183, 1200, 1201, 1202, 1203, - 6, 166, 167, 1207, 328, 329, 330, 591, 6, 333, - 166, 167, 184, 6, 166, 167, 340, 182, 182, 184, - 184, 177, 346, 152, 153, 154, 155, 183, 177, 591, - 182, 1058, 184, 595, 8, 6, 166, 167, 622, 166, - 167, 166, 167, 177, 173, 174, 6, 592, 152, 153, - 154, 155, 182, 177, 184, 44, 183, 182, 166, 167, - 622, 384, 102, 103, 104, 105, 106, 1271, 1272, 173, - 174, 1275, 166, 167, 182, 36, 37, 38, 39, 40, - 41, 42, 43, 182, 45, 184, 47, 48, 182, 50, - 51, 415, 166, 167, 173, 174, 419, 421, 40, 174, - 179, 36, 181, 178, 39, 40, 67, 42, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 442, 1323, - 81, 82, 177, 176, 166, 167, 56, 57, 58, 59, - 454, 61, 456, 178, 458, 459, 178, 182, 36, 177, - 464, 39, 40, 473, 166, 167, 168, 169, 170, 177, - 474, 475, 173, 174, 176, 182, 40, 184, 179, 483, - 181, 53, 54, 722, 723, 749, 490, 177, 1372, 168, - 169, 170, 6, 7, 178, 499, 500, 176, 182, 40, - 42, 142, 156, 157, 158, 159, 160, 749, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 182, 1402, 184, - 39, 40, 176, 42, 182, 182, 184, 184, 183, 182, - 184, 184, 182, 182, 184, 184, 539, 182, 182, 184, - 184, 183, 40, 184, 3, 4, 182, 182, 184, 184, + 284, 285, 286, 287, 168, 169, 154, 155, 156, 157, + 294, 168, 169, 297, 6, 34, 35, 36, 302, 303, + 179, 185, 4, 5, 308, 309, 310, 184, 312, 313, + 314, 315, 316, 317, 318, 325, 326, 179, 1202, 1203, + 1204, 1205, 168, 169, 179, 1209, 330, 331, 332, 168, + 169, 335, 34, 35, 36, 184, 593, 186, 342, 185, + 154, 155, 156, 157, 348, 184, 180, 186, 46, 593, + 184, 1060, 8, 597, 175, 176, 168, 169, 175, 176, + 179, 175, 176, 6, 594, 180, 183, 624, 180, 184, + 38, 39, 40, 41, 42, 43, 44, 45, 179, 47, + 624, 49, 50, 386, 52, 53, 168, 169, 179, 1273, + 1274, 168, 169, 1277, 168, 169, 168, 169, 168, 169, + 42, 69, 184, 38, 186, 179, 41, 42, 185, 44, + 179, 185, 184, 417, 184, 83, 84, 179, 421, 423, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 168, 169, 168, 169, 179, 168, 169, 42, + 444, 1325, 180, 168, 169, 42, 184, 176, 184, 44, + 184, 180, 456, 184, 458, 180, 460, 461, 175, 176, + 179, 184, 466, 186, 181, 475, 183, 168, 169, 170, + 171, 172, 476, 477, 55, 56, 144, 178, 185, 175, + 176, 485, 185, 724, 725, 181, 185, 183, 492, 42, + 1374, 170, 171, 172, 751, 6, 7, 501, 502, 178, + 6, 6, 158, 159, 160, 161, 162, 751, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 184, 186, 186, + 1404, 6, 178, 175, 176, 184, 184, 186, 186, 181, + 186, 183, 179, 179, 184, 186, 186, 4, 541, 104, + 105, 106, 107, 108, 3, 4, 184, 184, 186, 186, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 183, 182, 578, 184, 182, 182, 184, 184, - 177, 585, 586, 587, 588, 6, 6, 591, 890, 177, - 182, 595, 184, 182, 598, 184, 182, 177, 184, 6, - 610, 4, 4, 607, 40, 1489, 159, 160, 3, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 622, 623, - 177, 5, 847, 176, 6, 177, 177, 177, 177, 694, - 177, 177, 177, 177, 177, 6, 5, 647, 648, 649, - 177, 177, 177, 177, 177, 177, 177, 177, 652, 653, - 177, 655, 177, 177, 177, 665, 177, 177, 4, 663, - 664, 886, 3, 4, 674, 177, 177, 177, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 183, 177, 177, 183, 698, 699, 700, 701, 702, 703, - 704, 705, 706, 707, 708, 709, 6, 166, 167, 183, - 177, 177, 177, 172, 177, 177, 6, 90, 177, 183, - 723, 180, 183, 183, 183, 179, 6, 731, 177, 733, - 177, 177, 786, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 749, 177, 751, 177, 753, - 177, 177, 52, 177, 177, 177, 5, 182, 177, 177, - 177, 177, 177, 767, 768, 769, 177, 177, 1070, 177, - 182, 177, 177, 177, 4, 7, 177, 177, 782, 783, - 177, 177, 181, 177, 177, 177, 177, 177, 3, 4, - 177, 176, 178, 7, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 7, 7, 178, 7, - 7, 824, 85, 148, 183, 166, 167, 5, 5, 5, - 5, 172, 5, 5, 135, 6, 177, 5, 5, 180, - 5, 5, 183, 5, 848, 5, 5, 5, 184, 5, - 5, 5, 862, 5, 908, 5, 156, 157, 158, 159, - 160, 5, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 5, 876, 877, 939, 5, 176, 5, 5, 5, - 5, 891, 886, 893, 8, 895, 5, 3, 5, 182, - 5, 178, 6, 897, 898, 5, 4, 6, 181, 6, - 184, 7, 6, 907, 7, 7, 910, 7, 6, 6, - 184, 7, 7, 7, 183, 183, 920, 7, 177, 7, - 149, 182, 182, 927, 928, 929, 182, 182, 182, 182, - 934, 182, 182, 5, 938, 182, 182, 182, 942, 943, - 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, - 6, 166, 167, 178, 182, 182, 1010, 172, 182, 182, - 964, 182, 177, 182, 182, 180, 182, 971, 183, 182, - 182, 182, 182, 182, 148, 182, 6, 182, 182, 153, - 182, 182, 182, 182, 988, 156, 157, 158, 159, 160, - 4, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 6, 175, 1006, 3, 4, 176, 7, 181, 182, 9, + 29, 30, 31, 32, 4, 3, 580, 58, 59, 60, + 61, 42, 63, 587, 588, 589, 590, 179, 892, 593, + 184, 5, 186, 597, 6, 184, 600, 186, 184, 184, + 186, 186, 612, 179, 184, 609, 186, 1491, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 179, 6, 849, + 624, 625, 178, 184, 184, 186, 186, 184, 5, 186, + 184, 696, 186, 184, 184, 186, 186, 179, 179, 649, + 650, 651, 179, 179, 179, 179, 179, 179, 179, 179, + 654, 655, 179, 657, 179, 179, 179, 667, 888, 179, + 179, 665, 666, 3, 4, 179, 676, 179, 185, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 177, 156, 157, 158, 159, 160, 177, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 6, 177, 180, - 6, 6, 176, 6, 178, 177, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 179, 1073, - 1074, 1075, 6, 1077, 1078, 7, 177, 7, 177, 7, - 1084, 7, 7, 7, 177, 177, 177, 7, 1092, 7, - 177, 177, 1146, 6, 177, 7, 1100, 7, 183, 7, - 7, 1105, 4, 6, 1108, 145, 1110, 1111, 1112, 1113, - 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 7, 7, - 3, 3, 1126, 3, 168, 1129, 156, 157, 158, 159, - 160, 3, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 3, 3, 3, 3, 1199, 176, 3, 3, 3, - 156, 157, 158, 159, 160, 3, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 3, 166, 167, 3, 5, - 176, 184, 172, 5, 3, 3, 6, 177, 4, 178, - 3, 4, 178, 183, 181, 1239, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 1212, 1213, - 1214, 1215, 1216, 1217, 1218, 1219, 1220, 7, 181, 6, - 1224, 6, 156, 157, 158, 159, 160, 6, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 6, 6, 6, - 414, 1295, 176, 156, 157, 158, 159, 160, 183, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 6, 86, - 183, 182, 178, 176, 178, 182, 6, 182, 1322, 178, - 6, 182, 178, 1277, 1278, 1279, 1280, 1281, 1282, 1283, - 1284, 1285, 1286, 1287, 1288, 182, 182, 182, 178, 3, - 4, 182, 178, 1347, 178, 9, 10, 11, 12, 13, + 30, 31, 32, 179, 185, 179, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 8, 168, + 169, 179, 185, 179, 179, 174, 179, 179, 4, 179, + 179, 179, 725, 182, 179, 179, 185, 179, 179, 733, + 6, 735, 185, 181, 788, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 751, 185, 753, + 185, 755, 160, 161, 162, 92, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 769, 770, 771, 1072, 6, + 178, 5, 179, 179, 179, 179, 179, 179, 179, 179, + 784, 785, 179, 179, 179, 179, 179, 179, 3, 4, + 179, 4, 179, 179, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 179, 179, + 179, 179, 179, 826, 179, 179, 179, 179, 168, 169, + 179, 179, 179, 179, 174, 179, 6, 87, 180, 179, + 178, 184, 182, 184, 7, 185, 850, 7, 183, 7, + 186, 7, 180, 7, 864, 7, 910, 150, 158, 159, + 160, 161, 162, 185, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 5, 878, 879, 941, 5, 178, 5, + 180, 5, 5, 893, 888, 895, 6, 897, 5, 5, + 5, 5, 5, 5, 5, 899, 900, 5, 5, 5, + 5, 5, 5, 5, 5, 909, 161, 162, 912, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 922, 5, + 5, 5, 5, 178, 5, 929, 930, 931, 137, 5, + 5, 3, 936, 6, 54, 5, 940, 5, 5, 184, + 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, + 954, 955, 180, 168, 169, 6, 4, 6, 1012, 174, + 7, 6, 966, 7, 179, 7, 7, 182, 6, 973, + 185, 6, 183, 7, 7, 7, 150, 6, 186, 186, + 185, 155, 185, 7, 179, 7, 990, 151, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 177, 1008, 8, 3, 4, 178, 183, + 184, 184, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 184, 6, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 184, 184, 184, 5, 184, 178, 184, + 6, 4, 184, 184, 6, 184, 184, 6, 6, 6, + 180, 1075, 1076, 1077, 6, 1079, 1080, 7, 7, 7, + 7, 7, 1086, 7, 184, 184, 184, 184, 184, 184, + 1094, 184, 184, 184, 1148, 6, 184, 184, 1102, 7, + 7, 179, 184, 1107, 184, 184, 1110, 184, 1112, 1113, + 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, + 184, 184, 184, 179, 1128, 179, 179, 1131, 185, 158, + 159, 160, 161, 162, 7, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 6, 182, 7, 1201, 179, 178, + 7, 179, 179, 179, 179, 158, 159, 160, 161, 162, + 179, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 179, 168, 169, 179, 181, 178, 7, 174, 7, 4, + 6, 147, 179, 7, 7, 3, 3, 1241, 185, 158, + 159, 160, 161, 162, 6, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 3, 170, 3, 3, 3, 178, + 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 3, + 3, 3, 1226, 3, 3, 3, 158, 159, 160, 161, + 162, 3, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 3, 416, 1297, 5, 5, 178, 158, 159, 160, + 161, 162, 3, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 3, 6, 4, 180, 180, 178, 7, 6, + 1324, 183, 6, 183, 6, 1279, 1280, 1281, 1282, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 1290, 6, 6, 185, + 6, 185, 184, 184, 88, 1349, 158, 159, 160, 161, + 162, 180, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 180, 184, 184, 180, 180, 178, 184, 6, 1323, + 184, 184, 180, 6, 184, 1329, 1330, 1331, 1332, 1333, + 1334, 1335, 1336, 1337, 1338, 184, 1340, 184, 1342, 184, + 184, 184, 180, 184, 184, 184, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 180, 184, 184, 184, 4, 178, 1371, 1372, 183, + 6, 6, 1376, 1377, 1378, 1379, 1380, 1381, 89, 6, + 38, 39, 40, 41, 42, 43, 44, 45, 6, 47, + 182, 49, 50, 6, 52, 53, 1400, 6, 6, 6, + 6, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, + 6, 69, 6, 6, 6, 6, 6, 6, 88, 7, + 3, 6, 3, 170, 6, 83, 84, 6, 6, 1433, + 1434, 1435, 1436, 1437, 1438, 1439, 3, 1441, 6, 1443, + 614, 615, 3, 617, 6, 3, 6, 621, 622, 6, + 3, 3, 3, 7, 183, 4, 6, 1461, 1462, 1463, + 6, 6, 6, 183, 6, 182, 85, 180, 180, 90, + 185, 1475, 1476, 1477, 1478, 1479, 1480, 186, 185, 185, + 184, 184, 656, 184, 184, 659, 144, 184, 1492, 1493, + 1494, 1495, 184, 1497, 180, 1499, 180, 184, 180, 673, + 674, 180, 180, 184, 180, 679, 680, 6, 4, 147, + 5, 88, 686, 6, 688, 1519, 1520, 1521, 3, 6, + 6, 3, 6, 6, 1528, 6, 1530, 6, 1532, 3, + 4, 6, 3, 6, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 1321, 182, 182, - 4, 6, 87, 1327, 1328, 1329, 1330, 1331, 1332, 1333, - 1334, 1335, 1336, 182, 1338, 182, 1340, 182, 182, 182, - 182, 182, 182, 166, 167, 182, 6, 6, 182, 172, - 181, 6, 6, 6, 177, 180, 6, 6, 6, 6, - 183, 6, 6, 6, 6, 1369, 1370, 6, 6, 86, - 1374, 1375, 1376, 1377, 1378, 1379, 7, 156, 157, 158, - 159, 160, 3, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 6, 3, 1398, 6, 168, 176, 6, 1403, - 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 158, 159, - 160, 6, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 3, 6, 3, 3, 6, 176, 1431, 1432, 1433, - 1434, 1435, 1436, 1437, 6, 1439, 6, 1441, 612, 613, - 3, 615, 3, 3, 6, 619, 620, 4, 6, 181, - 6, 6, 166, 167, 7, 1459, 1460, 1461, 172, 181, - 180, 6, 183, 177, 83, 184, 178, 183, 183, 1473, - 1474, 1475, 1476, 1477, 1478, 6, 182, 182, 182, 178, - 654, 182, 182, 657, 178, 178, 1490, 1491, 1492, 1493, - 6, 1495, 182, 1497, 182, 178, 178, 671, 672, 178, - 178, 182, 88, 677, 678, 6, 4, 6, 86, 145, - 684, 3, 686, 1517, 1518, 1519, 6, 6, 3, 6, - 6, 3, 1526, 6, 1528, 6, 1530, 3, 4, 5, - 5, 7, 6, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 6, 32, 33, 34, 6, - 6, 6, 5, 178, 184, 6, 183, 183, 742, 182, - 744, 6, 184, 182, 178, 182, 182, 182, 178, 182, - 754, 755, 756, 182, 8, 759, 760, 761, 762, 763, - 764, 765, 6, 6, 3, 4, 6, 182, 6, 6, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 6, + 186, 6, 5, 185, 6, 185, 180, 184, 184, 6, + 744, 186, 746, 184, 184, 180, 6, 180, 6, 6, + 184, 6, 756, 757, 758, 184, 184, 761, 762, 763, + 764, 765, 766, 767, 3, 4, 5, 5, 7, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 6, 6, 6, 156, 157, 158, 159, 160, - 6, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 156, 157, 158, 159, 160, 176, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 156, 157, 158, 159, 160, - 176, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 8, 6, 846, 6, 6, 176, 152, 153, 154, 155, - 6, 5, 182, 5, 178, 8, 183, 182, 184, 182, - 166, 167, 183, 83, 178, 183, 172, 173, 174, 6, - 8, 177, 182, 179, 182, 181, 183, 145, 6, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 8, 5, 5, 182, 184, 176, - 904, 183, 156, 157, 158, 159, 160, 911, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 178, 182, 182, - 178, 6, 176, 83, 184, 6, 930, 166, 167, 6, - 6, 6, 6, 172, 6, 184, 183, 182, 177, 6, - 182, 150, 156, 157, 158, 159, 160, 151, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 156, 157, 158, - 159, 160, 176, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 182, 6, 182, 6, 183, 176, 183, 6, - 183, 182, 178, 182, 6, 184, 6, 6, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 156, 157, 158, 159, 160, 176, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 156, 157, - 158, 159, 160, 176, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 182, 6, 183, 183, 183, 176, 182, - 6, 6, 156, 157, 158, 159, 160, 178, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 6, 183, 183, - 183, 6, 176, 6, 6, 0, 0, 7, 7, 36, - 37, 38, 39, 40, 41, 42, 43, 1081, 45, 1083, - 47, 48, 1086, 50, 51, 0, 1, 541, 3, 4, - 7, 1266, 902, -1, 851, -1, -1, -1, 1102, -1, - 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 81, 82, 31, -1, -1, -1, - 35, 36, 37, 38, 39, 40, 41, 42, 43, -1, - 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, - 55, 56, 57, 58, 59, 60, 61, -1, 63, 64, - 65, 66, 67, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 81, 82, -1, -1, - -1, -1, -1, -1, 89, 142, 91, 92, 93, 94, - 95, 96, 97, -1, -1, -1, 1190, -1, -1, -1, - -1, 1195, 1196, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, 4, -1, -1, 184, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 142, 143, 144, - -1, 146, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 31, -1, -1, -1, 35, 36, 37, 38, 39, - 40, 41, 42, 43, -1, 45, 46, 47, 48, 49, - 50, 51, -1, 1267, 1268, 55, 56, 57, 58, 59, - 60, 61, -1, 63, 64, 65, 66, 67, -1, -1, - -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, - -1, 81, 82, -1, -1, -1, -1, -1, -1, 89, - -1, 91, 92, 93, 94, 95, 96, 97, -1, -1, - -1, -1, -1, -1, -1, 1319, -1, -1, -1, -1, - 1324, -1, 36, 37, 38, 39, 40, 41, 42, 43, - -1, 45, -1, 47, 48, -1, 50, 51, -1, -1, - -1, -1, -1, -1, -1, -1, 99, 100, 101, -1, - -1, -1, 142, 67, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, -1, -1, -1, 81, 82, 1373, - -1, -1, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, -1, 136, 137, 138, 139, 140, 141, -1, - -1, -1, 156, 157, 158, 159, 160, 1401, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, -1, -1, -1, -1, -1, 182, -1, - 184, -1, -1, -1, -1, 1429, -1, -1, 142, 156, - 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, -1, -1, -1, 1458, 182, -1, 184, -1, -1, - -1, -1, -1, 156, 157, 158, 159, 160, 1472, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, -1, -1, 156, 157, 158, 159, - 160, 184, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, -1, -1, 156, - 157, 158, 159, 160, 184, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, -1, 156, 157, 158, 159, 160, 184, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, -1, -1, 156, 157, 158, 159, 160, - 184, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, -1, -1, 156, 157, - 158, 159, 160, 184, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, -1, - -1, 156, 157, 158, 159, 160, 184, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, -1, -1, 156, 157, 158, 159, 160, 184, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, -1, -1, 156, 157, 158, - 159, 160, 184, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, -1, -1, - 156, 157, 158, 159, 160, 184, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, -1, -1, 156, 157, 158, 159, 160, 184, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, -1, -1, 156, 157, 158, 159, - 160, 184, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, -1, -1, 156, - 157, 158, 159, 160, 184, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, -1, 156, 157, 158, 159, 160, 184, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, -1, -1, 156, 157, 158, 159, 160, - 184, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, -1, -1, 156, 157, - 158, 159, 160, 184, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, -1, - -1, 156, 157, 158, 159, 160, 184, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, -1, -1, 156, 157, 158, 159, 160, 184, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, -1, -1, 156, 157, 158, - 159, 160, 184, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - 156, 157, 158, 159, 160, 182, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, 156, 157, 158, 159, 160, 182, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, 156, 157, 158, 159, 160, 182, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, 156, 157, 158, 159, 160, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, 156, 157, 158, 159, 160, 182, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, 156, 157, 158, 159, 160, - 182, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, 156, 157, 158, 159, - 160, 182, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, 156, 157, 158, - 159, 160, 182, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - 156, 157, 158, 159, 160, 182, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, 156, 157, 158, 159, 160, 182, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, 156, 157, 158, 159, 160, 182, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, 156, 157, 158, 159, 160, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, 156, 157, 158, 159, 160, 182, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, 156, 157, 158, 159, 160, - 182, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, 156, 157, 158, 159, - 160, 182, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, 156, 157, 158, - 159, 160, 182, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - 156, 157, 158, 159, 160, 182, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, 156, 157, 158, 159, 160, 182, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, 156, 157, 158, 159, 160, 182, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, 156, 157, 158, 159, 160, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, 156, 157, 158, 159, 160, 182, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, 156, 157, 158, 159, 160, - 182, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, 156, 157, 158, 159, - 160, 182, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, 156, 157, 158, - 159, 160, 182, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - 156, 157, 158, 159, 160, 182, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, 156, 157, 158, 159, 160, 182, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, 156, 157, 158, 159, 160, 182, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, 156, 157, 158, 159, 160, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, 156, 157, 158, 159, 160, 182, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, 156, 157, 158, 159, 160, - 182, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, 156, 157, 158, 159, - 160, 182, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, 156, 157, 158, - 159, 160, 182, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - 156, 157, 158, 159, 160, 182, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, 156, 157, 158, 159, 160, 182, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, 156, 157, 158, 159, 160, 182, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, 156, 157, 158, 159, 160, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, 156, 157, 158, 159, 160, 182, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, 156, 157, 158, 159, 160, - 182, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, 156, 157, 158, 159, - 160, 182, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, 156, 157, 158, - 159, 160, 182, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - 156, 157, 158, 159, 160, 182, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, 156, 157, 158, 159, 160, 182, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, 156, 157, 158, 159, 160, 182, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, 156, 157, 158, 159, 160, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, 156, 157, 158, 159, 160, 182, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, 156, 157, 158, 159, 160, - 182, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, 156, 157, 158, 159, - 160, 182, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, 156, 157, 158, - 159, 160, 182, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - 156, 157, 158, 159, 160, 182, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, 156, 157, 158, 159, 160, 182, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, 156, 157, 158, 159, 160, 182, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, 156, 157, 158, 159, 160, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, 156, 157, 158, 159, 160, 182, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, 156, 157, 158, 159, 160, - 182, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, 156, 157, 158, 159, - 160, 182, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, 156, 157, 158, - 159, 160, 182, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - 156, 157, 158, 159, 160, 182, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, 156, 157, 158, 159, 160, 182, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, 156, 157, 158, 159, 160, 182, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, 156, 157, 158, 159, 160, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, 156, 157, 158, 159, 160, 182, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, 156, 157, 158, 159, 160, - 182, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, 156, 157, 158, 159, - 160, 182, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, 156, 157, 158, - 159, 160, 182, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - 156, 157, 158, 159, 160, 182, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, 156, 157, 158, 159, 160, 182, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, 156, 157, 158, 159, 160, 182, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, 156, 157, 158, 159, 160, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, 156, 157, 158, 159, 160, 182, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, 156, 157, 158, 159, 160, - 182, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, 156, 157, 158, 159, - 160, 182, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, 156, 157, 158, - 159, 160, 182, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - 156, 157, 158, 159, 160, 182, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, 156, 157, 158, 159, 160, 182, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, 156, 157, 158, 159, 160, 182, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, 156, 157, 158, 159, 160, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, 156, 157, 158, 159, 160, 182, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, 156, 157, 158, 159, 160, - 182, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, 156, 157, 158, 159, - 160, 182, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, 156, 157, 158, - 159, 160, 182, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, 156, 157, - 158, 159, 160, 182, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, 156, - 157, 158, 159, 160, 182, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - 156, 157, 158, 159, 160, 182, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, 156, 157, 158, 159, 160, 182, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, 156, 157, 158, 159, 160, 182, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, 156, 157, 158, 159, 160, 182, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, 156, 157, 158, 159, 160, 182, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, -1, -1, -1, 180, 156, - 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, -1, -1, 180, 156, 157, 158, 159, 160, -1, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, -1, -1, -1, 180, 156, - 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, -1, -1, 180, 156, 157, 158, 159, 160, -1, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, -1, -1, -1, 180, 156, - 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, 178, 156, 157, 158, 159, 160, -1, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, -1, 178, 156, 157, 158, 159, 160, - -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, -1, 178, 156, 157, - 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, -1, - 178, 156, 157, 158, 159, 160, -1, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, -1, 178, 156, 157, 158, 159, 160, -1, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, -1, 178, 156, 157, 158, - 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, -1, 178, - 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, -1, 178, 156, 157, 158, 159, 160, -1, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, -1, 178, 156, 157, 158, 159, - 160, -1, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, -1, 178, 156, - 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, 178, 156, 157, 158, 159, 160, -1, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, -1, 178, 156, 157, 158, 159, 160, - -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, -1, 178, 156, 157, - 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, -1, - 178, 156, 157, 158, 159, 160, -1, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, -1, 178, 156, 157, 158, 159, 160, -1, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, -1, 178, 156, 157, 158, - 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, -1, 178, - 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, -1, 178, 156, 157, 158, 159, 160, -1, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, -1, 178, 156, 157, 158, 159, - 160, -1, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, -1, 178, 156, - 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, 178, 156, 157, 158, 159, 160, -1, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, -1, 178, 156, 157, 158, 159, 160, - -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, -1, 178, 156, 157, - 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, -1, - 178, 156, 157, 158, 159, 160, -1, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, -1, 178, 156, 157, 158, 159, 160, -1, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, -1, 178, 156, 157, 158, - 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, -1, 178, - 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, -1, 178, 156, 157, 158, 159, 160, -1, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, -1, 178, 156, 157, 158, 159, - 160, -1, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, -1, 178, 156, - 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, 178, 156, 157, 158, 159, 160, -1, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, -1, 178, 156, 157, 158, 159, 160, - -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, -1, 178, 156, 157, - 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, -1, - 178, 156, 157, 158, 159, 160, -1, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, -1, 178, 156, 157, 158, 159, 160, -1, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, -1, 178, 156, 157, 158, - 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, -1, 178, - 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, -1, 178, 156, 157, 158, 159, 160, -1, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, -1, 178, 156, 157, 158, 159, - 160, -1, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, -1, 178, 156, - 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, 178, 156, 157, 158, 159, 160, -1, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, -1, 178, 156, 157, 158, 159, 160, - -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, -1, 178, 156, 157, - 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, -1, - 178, 156, 157, 158, 159, 160, -1, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, -1, 178, 156, 157, 158, 159, 160, -1, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, -1, 178, 156, 157, 158, - 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, -1, 178, - 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, -1, 178, 156, 157, 158, 159, 160, -1, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, -1, 178, 156, 157, 158, 159, - 160, -1, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, -1, 178, 156, - 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, 178, 156, 157, 158, 159, 160, -1, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, -1, 178, 156, 157, 158, 159, 160, - -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, -1, 178, 156, 157, - 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, -1, - 178, 156, 157, 158, 159, 160, -1, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176, -1, 178, 156, 157, 158, 159, 160, -1, - 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, - -1, -1, -1, -1, 176, -1, 178, 156, 157, 158, - 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, - 169, 170, -1, -1, -1, -1, -1, 176, -1, 178, - 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, - 166, 167, 168, 169, 170, -1, -1, -1, -1, -1, - 176, -1, 178, 156, 157, 158, 159, 160, -1, 162, - 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, - -1, -1, -1, 176, -1, 178, 156, 157, 158, 159, - 160, -1, 162, 163, 164, 165, 166, 167, 168, 169, - 170, -1, -1, -1, -1, -1, 176, -1, 178, 156, - 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, 176, - -1, 178, 156, 157, 158, 159, 160, -1, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, 176, -1, 178, 156, 157, 158, 159, 160, - -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, - -1, -1, -1, -1, -1, 176, -1, 178, 156, 157, - 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, - 168, 169, 170, -1, -1, -1, -1, -1, 176, -1, - 178, 156, 157, 158, 159, 160, -1, 162, 163, 164, - 165, 166, 167, 168, 169, 170, -1, -1, -1, -1, - -1, 176 + 29, 30, 31, 32, 6, 34, 35, 36, 3, 4, + 6, 186, 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, 6, 158, + 159, 160, 161, 162, 6, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 848, 6, 6, 185, 6, 178, + 5, 184, 184, 184, 184, 85, 180, 184, 180, 147, + 6, 6, 5, 184, 168, 169, 185, 185, 6, 5, + 174, 8, 85, 6, 184, 179, 6, 185, 184, 186, + 180, 185, 180, 158, 159, 160, 161, 162, 185, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 8, 184, + 184, 6, 906, 178, 186, 6, 6, 6, 186, 913, + 6, 185, 152, 8, 184, 154, 155, 156, 157, 184, + 153, 184, 184, 6, 185, 6, 185, 180, 932, 168, + 169, 185, 184, 6, 6, 174, 175, 176, 6, 6, + 179, 184, 181, 184, 183, 8, 158, 159, 160, 161, + 162, 185, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 185, 185, 168, 169, 184, 178, 6, 6, 174, + 3, 4, 6, 180, 179, 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, + 158, 159, 160, 161, 162, 185, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 185, 185, 6, 6, 6, + 178, 158, 159, 160, 161, 162, 0, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 0, 7, 543, 7, + 7, 178, 853, -1, 904, -1, -1, 1268, 158, 159, + 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 158, 159, 160, 161, 162, 178, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, 1083, + -1, 1085, -1, 178, 1088, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 1104, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 0, 1, -1, 3, + 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 168, 169, -1, -1, -1, + -1, 174, -1, -1, -1, -1, 179, -1, -1, 33, + -1, -1, -1, 37, 38, 39, 40, 41, 42, 43, + 44, 45, -1, 47, 48, 49, 50, 51, 52, 53, + -1, -1, -1, 57, 58, 59, 60, 61, 62, 63, + -1, 65, 66, 67, 68, 69, -1, -1, 1192, -1, + -1, -1, -1, 1197, 1198, -1, -1, -1, -1, 83, + 84, -1, -1, -1, -1, -1, -1, 91, 41, 93, + 94, 95, 96, 97, 98, 99, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 119, 120, 121, 122, 123, + 124, 125, 126, 38, 39, 40, 41, 42, 43, 44, + 45, -1, 47, -1, 49, 50, -1, 52, 53, -1, + 144, 145, 146, -1, 148, 1269, 1270, -1, 101, 102, + 103, -1, -1, -1, 69, -1, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, -1, 83, 84, + -1, -1, -1, -1, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, -1, 138, 139, 140, 141, 142, + 143, -1, -1, -1, -1, -1, -1, 1321, -1, -1, + -1, 4, 1326, 158, 159, 160, 161, 162, -1, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, -1, -1, -1, -1, -1, 144, + 33, 186, -1, -1, 37, 38, 39, 40, 41, 42, + 43, 44, 45, -1, 47, 48, 49, 50, 51, 52, + 53, 1375, -1, -1, 57, 58, 59, 60, 61, 62, + 63, -1, 65, 66, 67, 68, 69, -1, -1, -1, + -1, 186, -1, -1, -1, -1, -1, -1, -1, 1403, + 83, 84, -1, -1, -1, -1, -1, -1, 91, -1, + 93, 94, 95, 96, 97, 98, 99, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 1431, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, -1, -1, -1, -1, -1, 184, -1, + 186, -1, -1, -1, -1, -1, 1460, -1, -1, -1, + -1, 144, -1, -1, -1, 158, 159, 160, 161, 162, + 1474, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, + -1, 184, -1, 186, 158, 159, 160, 161, 162, -1, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, -1, -1, -1, -1, -1, + 184, -1, 186, 158, 159, 160, 161, 162, -1, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, -1, -1, 158, 159, 160, 161, + 162, 186, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, -1, -1, 158, + 159, 160, 161, 162, 186, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + -1, -1, 158, 159, 160, 161, 162, 186, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, -1, -1, 158, 159, 160, 161, 162, + 186, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, -1, -1, 158, 159, + 160, 161, 162, 186, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, -1, + -1, 158, 159, 160, 161, 162, 186, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, -1, -1, 158, 159, 160, 161, 162, 186, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, -1, -1, 158, 159, 160, + 161, 162, 186, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, -1, -1, + 158, 159, 160, 161, 162, 186, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, -1, -1, 158, 159, 160, 161, 162, 186, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, -1, -1, 158, 159, 160, 161, + 162, 186, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, -1, -1, 158, + 159, 160, 161, 162, 186, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + -1, -1, 158, 159, 160, 161, 162, 186, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, -1, -1, 158, 159, 160, 161, 162, + 186, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, -1, -1, 158, 159, + 160, 161, 162, 186, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, -1, + -1, 158, 159, 160, 161, 162, 186, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, -1, -1, 158, 159, 160, 161, 162, 186, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, 158, 159, 160, 161, 162, + 184, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, 158, 159, 160, + 161, 162, 184, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, 158, + 159, 160, 161, 162, 184, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + 158, 159, 160, 161, 162, 184, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, 158, 159, 160, 161, 162, 184, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, 158, 159, 160, 161, 162, 184, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, 158, 159, 160, 161, 162, 184, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, 158, 159, 160, 161, 162, 184, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, 158, 159, 160, 161, 162, + 184, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, 158, 159, 160, + 161, 162, 184, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, 158, + 159, 160, 161, 162, 184, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + 158, 159, 160, 161, 162, 184, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, 158, 159, 160, 161, 162, 184, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, 158, 159, 160, 161, 162, 184, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, 158, 159, 160, 161, 162, 184, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, 158, 159, 160, 161, 162, 184, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, 158, 159, 160, 161, 162, + 184, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, 158, 159, 160, + 161, 162, 184, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, 158, + 159, 160, 161, 162, 184, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + 158, 159, 160, 161, 162, 184, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, 158, 159, 160, 161, 162, 184, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, 158, 159, 160, 161, 162, 184, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, 158, 159, 160, 161, 162, 184, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, 158, 159, 160, 161, 162, 184, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, 158, 159, 160, 161, 162, + 184, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, 158, 159, 160, + 161, 162, 184, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, 158, + 159, 160, 161, 162, 184, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + 158, 159, 160, 161, 162, 184, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, 158, 159, 160, 161, 162, 184, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, 158, 159, 160, 161, 162, 184, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, 158, 159, 160, 161, 162, 184, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, 158, 159, 160, 161, 162, 184, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, 158, 159, 160, 161, 162, + 184, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, 158, 159, 160, + 161, 162, 184, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, 158, + 159, 160, 161, 162, 184, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + 158, 159, 160, 161, 162, 184, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, 158, 159, 160, 161, 162, 184, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, 158, 159, 160, 161, 162, 184, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, 158, 159, 160, 161, 162, 184, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, 158, 159, 160, 161, 162, 184, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, 158, 159, 160, 161, 162, + 184, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, 158, 159, 160, + 161, 162, 184, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, 158, + 159, 160, 161, 162, 184, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + 158, 159, 160, 161, 162, 184, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, 158, 159, 160, 161, 162, 184, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, 158, 159, 160, 161, 162, 184, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, 158, 159, 160, 161, 162, 184, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, 158, 159, 160, 161, 162, 184, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, 158, 159, 160, 161, 162, + 184, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, 158, 159, 160, + 161, 162, 184, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, 158, + 159, 160, 161, 162, 184, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + 158, 159, 160, 161, 162, 184, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, 158, 159, 160, 161, 162, 184, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, 158, 159, 160, 161, 162, 184, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, 158, 159, 160, 161, 162, 184, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, 158, 159, 160, 161, 162, 184, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, 158, 159, 160, 161, 162, + 184, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, 158, 159, 160, + 161, 162, 184, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, 158, + 159, 160, 161, 162, 184, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + 158, 159, 160, 161, 162, 184, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, 158, 159, 160, 161, 162, 184, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, 158, 159, 160, 161, 162, 184, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, 158, 159, 160, 161, 162, 184, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, 158, 159, 160, 161, 162, 184, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, 158, 159, 160, 161, 162, + 184, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, 158, 159, 160, + 161, 162, 184, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, 158, + 159, 160, 161, 162, 184, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + 158, 159, 160, 161, 162, 184, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, 158, 159, 160, 161, 162, 184, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, 158, 159, 160, 161, 162, 184, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, 158, 159, 160, 161, 162, 184, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, 158, 159, 160, 161, 162, 184, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, 158, 159, 160, 161, 162, + 184, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, 158, 159, 160, + 161, 162, 184, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, 158, + 159, 160, 161, 162, 184, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + 158, 159, 160, 161, 162, 184, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, 158, 159, 160, 161, 162, 184, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, 158, 159, 160, 161, 162, 184, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, 158, 159, 160, 161, 162, 184, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, 158, 159, 160, 161, 162, 184, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, 158, 159, 160, 161, 162, + 184, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, 158, 159, 160, 161, + 162, 184, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, 158, 159, 160, + 161, 162, 184, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, 158, 159, + 160, 161, 162, 184, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, 158, + 159, 160, 161, 162, 184, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + 158, 159, 160, 161, 162, 184, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, 158, 159, 160, 161, 162, 184, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, -1, -1, -1, 182, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, -1, -1, -1, + 182, 158, 159, 160, 161, 162, -1, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, -1, -1, -1, 182, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, -1, -1, -1, + 182, 158, 159, 160, 161, 162, -1, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, -1, -1, -1, 182, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, -1, 180, 158, + 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + -1, 180, 158, 159, 160, 161, 162, -1, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, -1, 180, 158, 159, 160, 161, 162, + -1, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, -1, 180, 158, 159, + 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, -1, + 180, 158, 159, 160, 161, 162, -1, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, -1, 180, 158, 159, 160, 161, 162, -1, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, -1, 180, 158, 159, 160, + 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, -1, 180, + 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, -1, 180, 158, 159, 160, 161, 162, -1, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, -1, 180, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, -1, 180, 158, + 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + -1, 180, 158, 159, 160, 161, 162, -1, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, -1, 180, 158, 159, 160, 161, 162, + -1, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, -1, 180, 158, 159, + 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, -1, + 180, 158, 159, 160, 161, 162, -1, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, -1, 180, 158, 159, 160, 161, 162, -1, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, -1, 180, 158, 159, 160, + 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, -1, 180, + 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, -1, 180, 158, 159, 160, 161, 162, -1, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, -1, 180, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, -1, 180, 158, + 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + -1, 180, 158, 159, 160, 161, 162, -1, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, -1, 180, 158, 159, 160, 161, 162, + -1, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, -1, 180, 158, 159, + 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, -1, + 180, 158, 159, 160, 161, 162, -1, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, -1, 180, 158, 159, 160, 161, 162, -1, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, -1, 180, 158, 159, 160, + 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, -1, 180, + 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, -1, 180, 158, 159, 160, 161, 162, -1, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, -1, 180, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, -1, 180, 158, + 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + -1, 180, 158, 159, 160, 161, 162, -1, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, -1, 180, 158, 159, 160, 161, 162, + -1, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, -1, 180, 158, 159, + 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, -1, + 180, 158, 159, 160, 161, 162, -1, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, -1, 180, 158, 159, 160, 161, 162, -1, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, -1, 180, 158, 159, 160, + 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, -1, 180, + 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, -1, 180, 158, 159, 160, 161, 162, -1, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, -1, 180, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, -1, 180, 158, + 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + -1, 180, 158, 159, 160, 161, 162, -1, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, -1, 180, 158, 159, 160, 161, 162, + -1, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, -1, 180, 158, 159, + 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, -1, + 180, 158, 159, 160, 161, 162, -1, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, -1, 180, 158, 159, 160, 161, 162, -1, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, -1, 180, 158, 159, 160, + 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, -1, 180, + 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, -1, 180, 158, 159, 160, 161, 162, -1, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, -1, 180, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, -1, 180, 158, + 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + -1, 180, 158, 159, 160, 161, 162, -1, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, -1, 180, 158, 159, 160, 161, 162, + -1, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, -1, 180, 158, 159, + 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178, -1, + 180, 158, 159, 160, 161, 162, -1, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + -1, 178, -1, 180, 158, 159, 160, 161, 162, -1, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, -1, 178, -1, 180, 158, 159, 160, + 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, + 171, 172, -1, -1, -1, -1, -1, 178, -1, 180, + 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, -1, + 178, -1, 180, 158, 159, 160, 161, 162, -1, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, -1, 178, -1, 180, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, -1, 178, -1, 180, 158, + 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, -1, 178, + -1, 180, 158, 159, 160, 161, 162, -1, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, -1, 178, -1, 180, 158, 159, 160, 161, 162, + -1, 164, 165, 166, 167, 168, 169, 170, 171, 172, + -1, -1, -1, -1, -1, 178, -1, 180, 158, 159, + 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, -1, 178 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/lib/bison.simple" @@ -2939,19 +2955,19 @@ yyreduce: switch (yyn) { case 4: -#line 159 "Gmsh.y" +#line 160 "Gmsh.y" { yyerrok ; return 1; ; break;} case 5: -#line 167 "Gmsh.y" +#line 168 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 6: -#line 168 "Gmsh.y" +#line 169 "Gmsh.y" { yyval.d = -yyvsp[0].d; ; break;} case 7: -#line 173 "Gmsh.y" +#line 174 "Gmsh.y" { Msg(PARSER_INFO,"STL file format"); STL_Surf = Create_Surface(1,MSH_SURF_STL,1); @@ -2960,7 +2976,7 @@ case 7: ; break;} case 8: -#line 187 "Gmsh.y" +#line 188 "Gmsh.y" { STL_Surf->STL->Add_Facet( yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d, @@ -2969,7 +2985,7 @@ case 8: ; break;} case 9: -#line 194 "Gmsh.y" +#line 195 "Gmsh.y" { Msg(PARSER_INFO,"STL file format read"); Tree_Add(THEM->Surfaces, &STL_Surf); @@ -2977,79 +2993,79 @@ case 9: ; break;} case 12: -#line 211 "Gmsh.y" +#line 212 "Gmsh.y" { return 1; ; break;} case 13: -#line 212 "Gmsh.y" +#line 213 "Gmsh.y" { return 1; ; break;} case 14: -#line 213 "Gmsh.y" +#line 214 "Gmsh.y" { return 1; ; break;} case 15: -#line 218 "Gmsh.y" +#line 219 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 file format"); Create_Step_Solid_BRep(); ; break;} case 16: -#line 223 "Gmsh.y" +#line 224 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 file format read"); Resolve_BREP (); ; break;} case 20: -#line 234 "Gmsh.y" +#line 235 "Gmsh.y" { ; break;} case 21: -#line 237 "Gmsh.y" +#line 238 "Gmsh.y" { ; break;} case 22: -#line 241 "Gmsh.y" +#line 242 "Gmsh.y" { ; break;} case 23: -#line 247 "Gmsh.y" +#line 248 "Gmsh.y" { Add_Cartesian_Point((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2]); ; break;} case 24: -#line 253 "Gmsh.y" +#line 254 "Gmsh.y" { Add_BSpline_Curve_With_Knots ((int)yyvsp[-22].d, yyvsp[-18].c, (int) yyvsp[-16].d, yyvsp[-14].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1.); ; break;} case 25: -#line 260 "Gmsh.y" +#line 261 "Gmsh.y" { Add_BSpline_Surface_With_Knots ((int)yyvsp[-30].d, yyvsp[-26].c, (int) yyvsp[-24].d, (int) yyvsp[-22].d, yyvsp[-20].l, yyvsp[-10].l, yyvsp[-8].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1., 0., 1. ); ; break;} case 26: -#line 266 "Gmsh.y" +#line 267 "Gmsh.y" { Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d); ; break;} case 27: -#line 270 "Gmsh.y" +#line 271 "Gmsh.y" { Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1); ; break;} case 28: -#line 274 "Gmsh.y" +#line 275 "Gmsh.y" { /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */ Msg(PARSER_INFO,"Found a face bound"); @@ -3057,207 +3073,207 @@ case 28: ; break;} case 29: -#line 281 "Gmsh.y" +#line 282 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 30: -#line 285 "Gmsh.y" +#line 286 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l); ; break;} case 31: -#line 290 "Gmsh.y" +#line 291 "Gmsh.y" { Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 32: -#line 294 "Gmsh.y" +#line 295 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 33: -#line 298 "Gmsh.y" +#line 299 "Gmsh.y" { ; break;} case 34: -#line 302 "Gmsh.y" +#line 303 "Gmsh.y" { Add_Axis2_Placement3D ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); ; break;} case 35: -#line 306 "Gmsh.y" +#line 307 "Gmsh.y" { Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]); ; break;} case 36: -#line 310 "Gmsh.y" +#line 311 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 37: -#line 314 "Gmsh.y" +#line 315 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 38: -#line 318 "Gmsh.y" +#line 319 "Gmsh.y" { Msg(PARSER_INFO,"Found a closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); ; break;} case 39: -#line 324 "Gmsh.y" +#line 325 "Gmsh.y" { ; break;} case 40: -#line 327 "Gmsh.y" +#line 328 "Gmsh.y" { ; break;} case 41: -#line 330 "Gmsh.y" +#line 331 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 42: -#line 334 "Gmsh.y" +#line 335 "Gmsh.y" { Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 43: -#line 338 "Gmsh.y" +#line 339 "Gmsh.y" { Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 44: -#line 342 "Gmsh.y" +#line 343 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 45: -#line 346 "Gmsh.y" +#line 347 "Gmsh.y" { Add_Ellipsis((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 46: -#line 351 "Gmsh.y" +#line 352 "Gmsh.y" { ; break;} case 47: -#line 354 "Gmsh.y" +#line 355 "Gmsh.y" { ; break;} case 48: -#line 358 "Gmsh.y" +#line 359 "Gmsh.y" { ; break;} case 49: -#line 361 "Gmsh.y" +#line 362 "Gmsh.y" { ; break;} case 50: -#line 365 "Gmsh.y" +#line 366 "Gmsh.y" { ; break;} case 51: -#line 368 "Gmsh.y" +#line 369 "Gmsh.y" { ; break;} case 52: -#line 371 "Gmsh.y" +#line 372 "Gmsh.y" { ; break;} case 53: -#line 381 "Gmsh.y" +#line 382 "Gmsh.y" { ; break;} case 54: -#line 384 "Gmsh.y" +#line 385 "Gmsh.y" { Msg(PARSER_INFO,"Gmsh file format read"); ; break;} case 55: -#line 390 "Gmsh.y" +#line 391 "Gmsh.y" { return 1; ; break;} case 56: -#line 391 "Gmsh.y" +#line 392 "Gmsh.y" { return 1; ; break;} case 57: -#line 392 "Gmsh.y" +#line 393 "Gmsh.y" { return 1; ; break;} case 58: -#line 393 "Gmsh.y" +#line 394 "Gmsh.y" { return 1; ; break;} case 59: -#line 394 "Gmsh.y" +#line 395 "Gmsh.y" { return 1; ; break;} case 60: -#line 395 "Gmsh.y" +#line 396 "Gmsh.y" { return 1; ; break;} case 61: -#line 396 "Gmsh.y" +#line 397 "Gmsh.y" { return 1; ; break;} case 62: -#line 397 "Gmsh.y" +#line 398 "Gmsh.y" { return 1; ; break;} case 63: -#line 398 "Gmsh.y" +#line 399 "Gmsh.y" { return 1; ; break;} case 64: -#line 399 "Gmsh.y" +#line 400 "Gmsh.y" { return 1; ; break;} case 65: -#line 400 "Gmsh.y" +#line 401 "Gmsh.y" { return 1; ; break;} case 66: -#line 401 "Gmsh.y" +#line 402 "Gmsh.y" { return 1; ; break;} case 67: -#line 406 "Gmsh.y" +#line 407 "Gmsh.y" { Msg(DIRECT, yyvsp[-2].c); ; break;} case 68: -#line 410 "Gmsh.y" +#line 411 "Gmsh.y" { for(i = 0 ; i<List_Nbr(yyvsp[-2].l) ; i++){ if(!i){ @@ -3282,98 +3298,98 @@ case 68: ; break;} case 69: -#line 440 "Gmsh.y" +#line 441 "Gmsh.y" { if(!strcmp(yyvsp[-5].c, "View")) EndView(1, yyname, yyvsp[-4].c); ; break;} case 70: -#line 445 "Gmsh.y" +#line 446 "Gmsh.y" { if(!strcmp(yyvsp[-7].c, "View")) EndView(1, yyname, yyvsp[-6].c); ; break;} case 71: -#line 453 "Gmsh.y" +#line 454 "Gmsh.y" { View = BeginView(1); ; break;} case 84: -#line 472 "Gmsh.y" +#line 473 "Gmsh.y" { List_Add(View->SP, &yyvsp[0].d) ; ; break;} case 85: -#line 474 "Gmsh.y" +#line 475 "Gmsh.y" { List_Add(View->SP, &yyvsp[0].d) ; ; break;} case 86: -#line 479 "Gmsh.y" +#line 480 "Gmsh.y" { List_Add(View->SP, &yyvsp[-5].d); List_Add(View->SP, &yyvsp[-3].d); List_Add(View->SP, &yyvsp[-1].d); ; break;} case 87: -#line 484 "Gmsh.y" +#line 485 "Gmsh.y" { View->NbSP++ ; ; break;} case 88: -#line 491 "Gmsh.y" +#line 492 "Gmsh.y" { List_Add(View->VP, &yyvsp[0].d) ; ; break;} case 89: -#line 493 "Gmsh.y" +#line 494 "Gmsh.y" { List_Add(View->VP, &yyvsp[0].d) ; ; break;} case 90: -#line 498 "Gmsh.y" +#line 499 "Gmsh.y" { List_Add(View->VP, &yyvsp[-5].d); List_Add(View->VP, &yyvsp[-3].d); List_Add(View->VP, &yyvsp[-1].d); ; break;} case 91: -#line 503 "Gmsh.y" +#line 504 "Gmsh.y" { View->NbVP++ ; ; break;} case 92: -#line 510 "Gmsh.y" +#line 511 "Gmsh.y" { List_Add(View->TP, &yyvsp[0].d) ; ; break;} case 93: -#line 512 "Gmsh.y" +#line 513 "Gmsh.y" { List_Add(View->TP, &yyvsp[0].d) ; ; break;} case 94: -#line 517 "Gmsh.y" +#line 518 "Gmsh.y" { List_Add(View->TP, &yyvsp[-5].d); List_Add(View->TP, &yyvsp[-3].d); List_Add(View->TP, &yyvsp[-1].d); ; break;} case 95: -#line 522 "Gmsh.y" +#line 523 "Gmsh.y" { View->NbTP++ ; ; break;} case 96: -#line 529 "Gmsh.y" +#line 530 "Gmsh.y" { List_Add(View->SL, &yyvsp[0].d) ; ; break;} case 97: -#line 531 "Gmsh.y" +#line 532 "Gmsh.y" { List_Add(View->SL, &yyvsp[0].d) ; ; break;} case 98: -#line 537 "Gmsh.y" +#line 538 "Gmsh.y" { List_Add(View->SL, &yyvsp[-11].d); List_Add(View->SL, &yyvsp[-5].d); List_Add(View->SL, &yyvsp[-9].d); List_Add(View->SL, &yyvsp[-3].d); @@ -3381,21 +3397,21 @@ case 98: ; break;} case 99: -#line 543 "Gmsh.y" +#line 544 "Gmsh.y" { View->NbSL++ ; ; break;} case 100: -#line 550 "Gmsh.y" +#line 551 "Gmsh.y" { List_Add(View->VL, &yyvsp[0].d) ; ; break;} case 101: -#line 552 "Gmsh.y" +#line 553 "Gmsh.y" { List_Add(View->VL, &yyvsp[0].d) ; ; break;} case 102: -#line 558 "Gmsh.y" +#line 559 "Gmsh.y" { List_Add(View->VL, &yyvsp[-11].d); List_Add(View->VL, &yyvsp[-5].d); List_Add(View->VL, &yyvsp[-9].d); List_Add(View->VL, &yyvsp[-3].d); @@ -3403,21 +3419,21 @@ case 102: ; break;} case 103: -#line 564 "Gmsh.y" +#line 565 "Gmsh.y" { View->NbVL++ ; ; break;} case 104: -#line 571 "Gmsh.y" +#line 572 "Gmsh.y" { List_Add(View->TL, &yyvsp[0].d) ; ; break;} case 105: -#line 573 "Gmsh.y" +#line 574 "Gmsh.y" { List_Add(View->TL, &yyvsp[0].d) ; ; break;} case 106: -#line 579 "Gmsh.y" +#line 580 "Gmsh.y" { List_Add(View->TL, &yyvsp[-11].d); List_Add(View->TL, &yyvsp[-5].d); List_Add(View->TL, &yyvsp[-9].d); List_Add(View->TL, &yyvsp[-3].d); @@ -3425,21 +3441,21 @@ case 106: ; break;} case 107: -#line 585 "Gmsh.y" +#line 586 "Gmsh.y" { View->NbTL++ ; ; break;} case 108: -#line 592 "Gmsh.y" +#line 593 "Gmsh.y" { List_Add(View->ST, &yyvsp[0].d) ; ; break;} case 109: -#line 594 "Gmsh.y" +#line 595 "Gmsh.y" { List_Add(View->ST, &yyvsp[0].d) ; ; break;} case 110: -#line 601 "Gmsh.y" +#line 602 "Gmsh.y" { List_Add(View->ST, &yyvsp[-17].d); List_Add(View->ST, &yyvsp[-11].d); List_Add(View->ST, &yyvsp[-5].d); @@ -3450,21 +3466,21 @@ case 110: ; break;} case 111: -#line 610 "Gmsh.y" +#line 611 "Gmsh.y" { View->NbST++ ; ; break;} case 112: -#line 617 "Gmsh.y" +#line 618 "Gmsh.y" { List_Add(View->VT, &yyvsp[0].d) ; ; break;} case 113: -#line 619 "Gmsh.y" +#line 620 "Gmsh.y" { List_Add(View->VT, &yyvsp[0].d) ; ; break;} case 114: -#line 626 "Gmsh.y" +#line 627 "Gmsh.y" { List_Add(View->VT, &yyvsp[-17].d); List_Add(View->VT, &yyvsp[-11].d); List_Add(View->VT, &yyvsp[-5].d); @@ -3475,21 +3491,21 @@ case 114: ; break;} case 115: -#line 635 "Gmsh.y" +#line 636 "Gmsh.y" { View->NbVT++ ; ; break;} case 116: -#line 642 "Gmsh.y" +#line 643 "Gmsh.y" { List_Add(View->TT, &yyvsp[0].d) ; ; break;} case 117: -#line 644 "Gmsh.y" +#line 645 "Gmsh.y" { List_Add(View->TT, &yyvsp[0].d) ; ; break;} case 118: -#line 651 "Gmsh.y" +#line 652 "Gmsh.y" { List_Add(View->TT, &yyvsp[-17].d); List_Add(View->TT, &yyvsp[-11].d); List_Add(View->TT, &yyvsp[-5].d); @@ -3500,21 +3516,21 @@ case 118: ; break;} case 119: -#line 660 "Gmsh.y" +#line 661 "Gmsh.y" { View->NbTT++ ; ; break;} case 120: -#line 667 "Gmsh.y" +#line 668 "Gmsh.y" { List_Add(View->SS, &yyvsp[0].d) ; ; break;} case 121: -#line 669 "Gmsh.y" +#line 670 "Gmsh.y" { List_Add(View->SS, &yyvsp[0].d) ; ; break;} case 122: -#line 677 "Gmsh.y" +#line 678 "Gmsh.y" { List_Add(View->SS, &yyvsp[-23].d); List_Add(View->SS, &yyvsp[-17].d); List_Add(View->SS, &yyvsp[-11].d); List_Add(View->SS, &yyvsp[-5].d); @@ -3525,21 +3541,21 @@ case 122: ; break;} case 123: -#line 686 "Gmsh.y" +#line 687 "Gmsh.y" { View->NbSS++ ; ; break;} case 124: -#line 693 "Gmsh.y" +#line 694 "Gmsh.y" { List_Add(View->VS, &yyvsp[0].d) ; ; break;} case 125: -#line 695 "Gmsh.y" +#line 696 "Gmsh.y" { List_Add(View->VS, &yyvsp[0].d) ; ; break;} case 126: -#line 703 "Gmsh.y" +#line 704 "Gmsh.y" { List_Add(View->VS, &yyvsp[-23].d); List_Add(View->VS, &yyvsp[-17].d); List_Add(View->VS, &yyvsp[-11].d); List_Add(View->VS, &yyvsp[-5].d); @@ -3550,21 +3566,21 @@ case 126: ; break;} case 127: -#line 712 "Gmsh.y" +#line 713 "Gmsh.y" { View->NbVS++ ; ; break;} case 128: -#line 719 "Gmsh.y" +#line 720 "Gmsh.y" { List_Add(View->TS, &yyvsp[0].d) ; ; break;} case 129: -#line 721 "Gmsh.y" +#line 722 "Gmsh.y" { List_Add(View->TS, &yyvsp[0].d) ; ; break;} case 130: -#line 729 "Gmsh.y" +#line 730 "Gmsh.y" { List_Add(View->TS, &yyvsp[-23].d); List_Add(View->TS, &yyvsp[-17].d); List_Add(View->TS, &yyvsp[-11].d); List_Add(View->TS, &yyvsp[-5].d); @@ -3575,41 +3591,41 @@ case 130: ; break;} case 131: -#line 738 "Gmsh.y" +#line 739 "Gmsh.y" { View->NbTS++ ; ; break;} case 132: -#line 750 "Gmsh.y" +#line 751 "Gmsh.y" { yyval.i = 0 ; ; break;} case 133: -#line 751 "Gmsh.y" +#line 752 "Gmsh.y" { yyval.i = 1 ; ; break;} case 134: -#line 752 "Gmsh.y" +#line 753 "Gmsh.y" { yyval.i = 2 ; ; break;} case 135: -#line 753 "Gmsh.y" +#line 754 "Gmsh.y" { yyval.i = 3 ; ; break;} case 136: -#line 754 "Gmsh.y" +#line 755 "Gmsh.y" { yyval.i = 4 ; ; break;} case 137: -#line 757 "Gmsh.y" +#line 758 "Gmsh.y" { yyval.i = 1 ; ; break;} case 138: -#line 758 "Gmsh.y" +#line 759 "Gmsh.y" { yyval.i = -1 ; ; break;} case 139: -#line 765 "Gmsh.y" +#line 766 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3637,7 +3653,7 @@ case 139: ; break;} case 140: -#line 792 "Gmsh.y" +#line 793 "Gmsh.y" { TheSymbol.Name = yyvsp[-6].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3672,7 +3688,7 @@ case 140: ; break;} case 141: -#line 826 "Gmsh.y" +#line 827 "Gmsh.y" { if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l)) vyyerror("Incompatible array dimensions in affectation"); @@ -3720,7 +3736,7 @@ case 141: ; break;} case 142: -#line 873 "Gmsh.y" +#line 874 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3736,7 +3752,7 @@ case 142: ; break;} case 143: -#line 888 "Gmsh.y" +#line 889 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3746,7 +3762,7 @@ case 143: ; break;} case 144: -#line 897 "Gmsh.y" +#line 898 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3760,7 +3776,7 @@ case 144: ; break;} case 145: -#line 912 "Gmsh.y" +#line 913 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) vyyerror("Unknown string option class '%s'", yyvsp[-5].c); @@ -3773,7 +3789,7 @@ case 145: ; break;} case 146: -#line 924 "Gmsh.y" +#line 925 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-8].c))) vyyerror("Unknown string option class '%s'", yyvsp[-8].c); @@ -3786,7 +3802,7 @@ case 146: ; break;} case 147: -#line 938 "Gmsh.y" +#line 939 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-5].c); @@ -3810,7 +3826,7 @@ case 147: ; break;} case 148: -#line 961 "Gmsh.y" +#line 962 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-8].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-8].c); @@ -3835,7 +3851,7 @@ case 148: ; break;} case 149: -#line 985 "Gmsh.y" +#line 986 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-4].c); @@ -3848,7 +3864,7 @@ case 149: ; break;} case 150: -#line 997 "Gmsh.y" +#line 998 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-7].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-7].c); @@ -3861,7 +3877,7 @@ case 150: ; break;} case 151: -#line 1011 "Gmsh.y" +#line 1012 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) vyyerror("Unknown color option class '%s'", yyvsp[-7].c); @@ -3874,7 +3890,7 @@ case 151: ; break;} case 152: -#line 1023 "Gmsh.y" +#line 1024 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-10].c))) vyyerror("Unknown color option class '%s'", yyvsp[-10].c); @@ -3887,7 +3903,7 @@ case 152: ; break;} case 153: -#line 1037 "Gmsh.y" +#line 1038 "Gmsh.y" { ColorTable *ct = Get_ColorTable(0); if(!ct) @@ -3904,7 +3920,7 @@ case 153: ; break;} case 154: -#line 1053 "Gmsh.y" +#line 1054 "Gmsh.y" { ColorTable *ct = Get_ColorTable((int)yyvsp[-6].d); if(!ct) @@ -3921,7 +3937,7 @@ case 154: ; break;} case 155: -#line 1069 "Gmsh.y" +#line 1070 "Gmsh.y" { #ifndef _NOPLUGIN try @@ -3936,7 +3952,7 @@ case 155: ; break;} case 156: -#line 1082 "Gmsh.y" +#line 1083 "Gmsh.y" { #ifndef _NOPLUGIN try @@ -3951,7 +3967,7 @@ case 156: ; break;} case 157: -#line 1106 "Gmsh.y" +#line 1107 "Gmsh.y" { Cdbpts101((int)yyvsp[-4].d,yyvsp[-1].v[0],yyvsp[-1].v[1],yyvsp[-1].v[2],yyvsp[-1].v[3],yyvsp[-1].v[4]); yyval.s.Type = MSH_POINT; @@ -3959,7 +3975,7 @@ case 157: ; break;} case 158: -#line 1113 "Gmsh.y" +#line 1114 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_POINT; @@ -3967,7 +3983,7 @@ case 158: ; break;} case 159: -#line 1119 "Gmsh.y" +#line 1120 "Gmsh.y" { Vertex *v; Attractor *a; @@ -3988,7 +4004,7 @@ case 159: ; break;} case 160: -#line 1138 "Gmsh.y" +#line 1139 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ List_Read(yyvsp[-3].l,i,&d); @@ -4001,14 +4017,14 @@ case 160: ; break;} case 161: -#line 1149 "Gmsh.y" +#line 1150 "Gmsh.y" { yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-2].d; ; break;} case 162: -#line 1157 "Gmsh.y" +#line 1158 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_LINE,1,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_LINE; @@ -4016,7 +4032,7 @@ case 162: ; break;} case 163: -#line 1163 "Gmsh.y" +#line 1164 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_SPLN,3,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_SPLN; @@ -4024,7 +4040,7 @@ case 163: ; break;} case 164: -#line 1169 "Gmsh.y" +#line 1170 "Gmsh.y" { Curve *c; Attractor *a; @@ -4045,7 +4061,7 @@ case 164: ; break;} case 165: -#line 1188 "Gmsh.y" +#line 1189 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_CIRC,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_CIRC ; @@ -4053,7 +4069,7 @@ case 165: ; break;} case 166: -#line 1194 "Gmsh.y" +#line 1195 "Gmsh.y" { List_T *temp; int i,j; @@ -4071,7 +4087,7 @@ case 166: ; break;} case 167: -#line 1211 "Gmsh.y" +#line 1212 "Gmsh.y" { Cdbseg101((int)yyvsp[-14].d,MSH_SEGM_PARAMETRIC,2,NULL,NULL,-1,-1,yyvsp[-10].d,yyvsp[-8].d,yyvsp[-6].c,yyvsp[-4].c,yyvsp[-2].c); yyval.s.Type = MSH_SEGM_PARAMETRIC ; @@ -4079,7 +4095,7 @@ case 167: ; break;} case 168: -#line 1217 "Gmsh.y" +#line 1218 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_ELLI,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_ELLI ; @@ -4087,7 +4103,7 @@ case 168: ; break;} case 169: -#line 1223 "Gmsh.y" +#line 1224 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_LINE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_LINE; @@ -4095,7 +4111,7 @@ case 169: ; break;} case 170: -#line 1229 "Gmsh.y" +#line 1230 "Gmsh.y" { yyval.s.Type = MSH_SEGM_LOOP; Cdbz101((int)yyvsp[-4].d,yyval.s.Type,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4103,7 +4119,7 @@ case 170: ; break;} case 171: -#line 1235 "Gmsh.y" +#line 1236 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BSPLN,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_BSPLN; @@ -4111,7 +4127,7 @@ case 171: ; break;} case 172: -#line 1241 "Gmsh.y" +#line 1242 "Gmsh.y" { List_T *Temp; int i; @@ -4132,7 +4148,7 @@ case 172: ; break;} case 173: -#line 1260 "Gmsh.y" +#line 1261 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Curve *c = FindCurve(yyval.s.Num,THEM); @@ -4143,7 +4159,7 @@ case 173: ; break;} case 174: -#line 1272 "Gmsh.y" +#line 1273 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_PLAN; @@ -4151,7 +4167,7 @@ case 174: ; break;} case 175: -#line 1278 "Gmsh.y" +#line 1279 "Gmsh.y" { Surface *s,*support; support = FindSurface((int)yyvsp[-4].d,THEM); @@ -4172,7 +4188,7 @@ case 175: ; break;} case 176: -#line 1297 "Gmsh.y" +#line 1298 "Gmsh.y" { List_Read(yyvsp[-1].l,0,&d); i = (int)d; @@ -4195,7 +4211,7 @@ case 176: ; break;} case 177: -#line 1320 "Gmsh.y" +#line 1321 "Gmsh.y" { CreateNurbsSurface ( (int) yyvsp[-16].d , (int)yyvsp[-4].d , (int)yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; @@ -4203,13 +4219,13 @@ case 177: ; break;} case 178: -#line 1328 "Gmsh.y" +#line 1329 "Gmsh.y" { CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); ; break;} case 179: -#line 1332 "Gmsh.y" +#line 1333 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_SURFACE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_SURFACE; @@ -4217,7 +4233,7 @@ case 179: ; break;} case 180: -#line 1338 "Gmsh.y" +#line 1339 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_LOOP,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_LOOP; @@ -4225,7 +4241,7 @@ case 180: ; break;} case 181: -#line 1344 "Gmsh.y" +#line 1345 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Surface *s = FindSurface(yyval.s.Num,THEM); @@ -4236,7 +4252,7 @@ case 181: ; break;} case 182: -#line 1356 "Gmsh.y" +#line 1357 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -4244,7 +4260,7 @@ case 182: ; break;} case 183: -#line 1362 "Gmsh.y" +#line 1363 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -4252,7 +4268,7 @@ case 183: ; break;} case 184: -#line 1368 "Gmsh.y" +#line 1369 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_VOLUME; @@ -4260,60 +4276,60 @@ case 184: ; break;} case 185: -#line 1381 "Gmsh.y" +#line 1382 "Gmsh.y" { TranslateShapes (yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 186: -#line 1386 "Gmsh.y" +#line 1387 "Gmsh.y" { RotateShapes(yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l); yyval.l = yyvsp[-1].l; ; break;} case 187: -#line 1391 "Gmsh.y" +#line 1392 "Gmsh.y" { SymmetryShapes(yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-3].v[3],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 188: -#line 1396 "Gmsh.y" +#line 1397 "Gmsh.y" { DilatShapes(yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 189: -#line 1403 "Gmsh.y" +#line 1404 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 190: -#line 1404 "Gmsh.y" +#line 1405 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 191: -#line 1405 "Gmsh.y" +#line 1406 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 192: -#line 1410 "Gmsh.y" +#line 1411 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); ; break;} case 193: -#line 1414 "Gmsh.y" +#line 1415 "Gmsh.y" { List_Add(yyval.l,&yyvsp[0].s); yyval.l = yyvsp[-1].l; ; break;} case 194: -#line 1426 "Gmsh.y" +#line 1427 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -4325,7 +4341,7 @@ case 194: ; break;} case 195: -#line 1444 "Gmsh.y" +#line 1445 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ List_Read (yyvsp[-1].l,i,&TheShape); @@ -4334,20 +4350,20 @@ case 195: ; break;} case 196: -#line 1451 "Gmsh.y" +#line 1452 "Gmsh.y" { if(!strcmp(yyvsp[-4].c, "View")) FreeView((int)yyvsp[-2].d); ; break;} case 197: -#line 1456 "Gmsh.y" +#line 1457 "Gmsh.y" { Init_Mesh(THEM, 1); ; break;} case 198: -#line 1468 "Gmsh.y" +#line 1469 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Include")){ @@ -4416,7 +4432,7 @@ case 198: ; break;} case 199: -#line 1535 "Gmsh.y" +#line 1536 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Sleep")){ @@ -4438,7 +4454,7 @@ case 199: ; break;} case 200: -#line 1555 "Gmsh.y" +#line 1556 "Gmsh.y" { #ifndef _NOPLUGIN GMSH_PluginManager::Instance()->Action(yyvsp[-4].c,yyvsp[-1].c,0); @@ -4446,13 +4462,13 @@ case 200: ; break;} case 201: -#line 1561 "Gmsh.y" +#line 1562 "Gmsh.y" { exit(0); ; break;} case 202: -#line 1565 "Gmsh.y" +#line 1566 "Gmsh.y" { if(!CTX.batch){ // we're in interactive mode if(Tree_Nbr(THEM->Points) != Last_NumberOfPoints){ @@ -4468,7 +4484,7 @@ case 202: ; break;} case 203: -#line 1587 "Gmsh.y" +#line 1588 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4484,7 +4500,7 @@ case 203: ; break;} case 204: -#line 1601 "Gmsh.y" +#line 1602 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4500,7 +4516,7 @@ case 204: ; break;} case 205: -#line 1615 "Gmsh.y" +#line 1616 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4527,7 +4543,7 @@ case 205: ; break;} case 206: -#line 1640 "Gmsh.y" +#line 1641 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4554,7 +4570,7 @@ case 206: ; break;} case 207: -#line 1665 "Gmsh.y" +#line 1666 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]){ @@ -4582,7 +4598,7 @@ case 207: ; break;} case 208: -#line 1691 "Gmsh.y" +#line 1692 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction(yyvsp[0].c,yyin,yylineno)) vyyerror("Redefinition of function %s",yyvsp[0].c); @@ -4590,39 +4606,39 @@ case 208: ; break;} case 209: -#line 1697 "Gmsh.y" +#line 1698 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin,yylineno)) vyyerror("Error while exiting function"); ; break;} case 210: -#line 1702 "Gmsh.y" +#line 1703 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c,&yyin,yylineno)) vyyerror("Unknown function %s",yyvsp[-1].c); ; break;} case 211: -#line 1707 "Gmsh.y" +#line 1708 "Gmsh.y" { if(!yyvsp[-1].d) skip_until("If", "EndIf"); ; break;} case 212: -#line 1711 "Gmsh.y" +#line 1712 "Gmsh.y" { ; break;} case 213: -#line 1722 "Gmsh.y" +#line 1723 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,&pc,&prc,NULL); ; break;} case 214: -#line 1727 "Gmsh.y" +#line 1728 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d, @@ -4630,69 +4646,69 @@ case 214: ; break;} case 215: -#line 1733 "Gmsh.y" +#line 1734 "Gmsh.y" { Extrude_ProtudeCurve(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,NULL); ; break;} case 216: -#line 1737 "Gmsh.y" +#line 1738 "Gmsh.y" { Extrude_ProtudeCurve(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,NULL); ; break;} case 217: -#line 1741 "Gmsh.y" +#line 1742 "Gmsh.y" { Extrude_ProtudeSurface(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,0,NULL); ; break;} case 218: -#line 1745 "Gmsh.y" +#line 1746 "Gmsh.y" { Extrude_ProtudeSurface(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL); ; break;} case 219: -#line 1749 "Gmsh.y" +#line 1750 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 220: -#line 1754 "Gmsh.y" +#line 1755 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(1,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],0.,0.,0.,0.,vol,&extr); ; break;} case 221: -#line 1759 "Gmsh.y" +#line 1760 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 222: -#line 1765 "Gmsh.y" +#line 1766 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(0,(int)yyvsp[-12].d,yyvsp[-10].v[0],yyvsp[-10].v[1],yyvsp[-10].v[2],yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].d,vol,&extr); ; break;} case 223: -#line 1773 "Gmsh.y" +#line 1774 "Gmsh.y" { ; break;} case 224: -#line 1776 "Gmsh.y" +#line 1777 "Gmsh.y" { ; break;} case 225: -#line 1782 "Gmsh.y" +#line 1783 "Gmsh.y" { double d; int j; @@ -4714,13 +4730,13 @@ case 225: ; break;} case 226: -#line 1802 "Gmsh.y" +#line 1803 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} case 227: -#line 1813 "Gmsh.y" +#line 1814 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -4740,7 +4756,7 @@ case 227: ; break;} case 228: -#line 1831 "Gmsh.y" +#line 1832 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -4760,7 +4776,7 @@ case 228: ; break;} case 229: -#line 1849 "Gmsh.y" +#line 1850 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -4780,7 +4796,7 @@ case 229: ; break;} case 230: -#line 1867 "Gmsh.y" +#line 1868 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -4804,7 +4820,7 @@ case 230: ; break;} case 231: -#line 1889 "Gmsh.y" +#line 1890 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -4827,7 +4843,7 @@ case 231: ; break;} case 232: -#line 1910 "Gmsh.y" +#line 1911 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d,THEM); if(!v) @@ -4850,7 +4866,7 @@ case 232: ; break;} case 233: -#line 1931 "Gmsh.y" +#line 1932 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -4866,7 +4882,7 @@ case 233: ; break;} case 234: -#line 1945 "Gmsh.y" +#line 1946 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -4882,71 +4898,71 @@ case 234: ; break;} case 235: -#line 1967 "Gmsh.y" +#line 1968 "Gmsh.y" { Coherence_PS(); ; break;} case 236: -#line 1971 "Gmsh.y" +#line 1972 "Gmsh.y" { IntersectAllSegmentsTogether(); ; break;} case 237: -#line 1982 "Gmsh.y" +#line 1983 "Gmsh.y" {yyval.i = 1;; break;} case 238: -#line 1983 "Gmsh.y" +#line 1984 "Gmsh.y" {yyval.i = 0;; break;} case 239: -#line 1984 "Gmsh.y" +#line 1985 "Gmsh.y" {yyval.i = -1;; break;} case 240: -#line 1985 "Gmsh.y" +#line 1986 "Gmsh.y" {yyval.i = -1;; break;} case 241: -#line 1986 "Gmsh.y" +#line 1987 "Gmsh.y" {yyval.i = -1;; break;} case 242: -#line 1990 "Gmsh.y" +#line 1991 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 243: -#line 1991 "Gmsh.y" +#line 1992 "Gmsh.y" { yyval.d = yyvsp[-1].d ; ; break;} case 244: -#line 1992 "Gmsh.y" +#line 1993 "Gmsh.y" { yyval.d = -yyvsp[0].d ; ; break;} case 245: -#line 1993 "Gmsh.y" +#line 1994 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 246: -#line 1994 "Gmsh.y" +#line 1995 "Gmsh.y" { yyval.d = !yyvsp[0].d ; ; break;} case 247: -#line 1995 "Gmsh.y" +#line 1996 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d ; ; break;} case 248: -#line 1996 "Gmsh.y" +#line 1997 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d ; ; break;} case 249: -#line 1997 "Gmsh.y" +#line 1998 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d ; ; break;} case 250: -#line 1999 "Gmsh.y" +#line 2000 "Gmsh.y" { if(!yyvsp[0].d) vyyerror("Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); @@ -4955,143 +4971,151 @@ case 250: ; break;} case 251: -#line 2005 "Gmsh.y" +#line 2006 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ; break;} case 252: -#line 2006 "Gmsh.y" +#line 2007 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d,yyvsp[0].d) ; ; break;} case 253: -#line 2007 "Gmsh.y" +#line 2008 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d ; ; break;} case 254: -#line 2008 "Gmsh.y" +#line 2009 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d ; ; break;} case 255: -#line 2009 "Gmsh.y" +#line 2010 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d ; ; break;} case 256: -#line 2010 "Gmsh.y" +#line 2011 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d ; ; break;} case 257: -#line 2011 "Gmsh.y" +#line 2012 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d ; ; break;} case 258: -#line 2012 "Gmsh.y" +#line 2013 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d ; ; break;} case 259: -#line 2013 "Gmsh.y" +#line 2014 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d ; ; break;} case 260: -#line 2014 "Gmsh.y" +#line 2015 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d ; ; break;} case 261: -#line 2015 "Gmsh.y" +#line 2016 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ; break;} case 262: -#line 2016 "Gmsh.y" +#line 2017 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 263: -#line 2017 "Gmsh.y" +#line 2018 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 264: -#line 2018 "Gmsh.y" +#line 2019 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 265: -#line 2019 "Gmsh.y" +#line 2020 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 266: -#line 2020 "Gmsh.y" +#line 2021 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 267: -#line 2021 "Gmsh.y" +#line 2022 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 268: -#line 2022 "Gmsh.y" +#line 2023 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 269: -#line 2023 "Gmsh.y" +#line 2024 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 270: -#line 2024 "Gmsh.y" +#line 2025 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 271: -#line 2025 "Gmsh.y" +#line 2026 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 272: -#line 2026 "Gmsh.y" +#line 2027 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 273: -#line 2027 "Gmsh.y" +#line 2028 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 274: -#line 2028 "Gmsh.y" +#line 2029 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 275: -#line 2029 "Gmsh.y" +#line 2030 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 276: -#line 2030 "Gmsh.y" +#line 2031 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 277: -#line 2031 "Gmsh.y" +#line 2032 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 278: -#line 2032 "Gmsh.y" +#line 2033 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 279: -#line 2033 "Gmsh.y" +#line 2034 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 280: -#line 2034 "Gmsh.y" +#line 2035 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 281: -#line 2035 "Gmsh.y" +#line 2036 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 282: -#line 2036 "Gmsh.y" +#line 2037 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 283: -#line 2045 "Gmsh.y" +#line 2046 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 284: -#line 2046 "Gmsh.y" +#line 2047 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} case 285: -#line 2051 "Gmsh.y" +#line 2048 "Gmsh.y" +{ yyval.d = ParUtil::Instance()->rank(); ; + break;} +case 286: +#line 2049 "Gmsh.y" +{ yyval.d = ParUtil::Instance()->size(); ; + break;} +case 287: +#line 2054 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5102,8 +5126,8 @@ case 285: yyval.d = *(double*)List_Pointer_Fast(pSymbol->val, 0) ; ; break;} -case 286: -#line 2062 "Gmsh.y" +case 288: +#line 2065 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5120,8 +5144,8 @@ case 286: } ; break;} -case 287: -#line 2079 "Gmsh.y" +case 289: +#line 2082 "Gmsh.y" { TheSymbol.Name = yyvsp[-1].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5132,8 +5156,8 @@ case 287: yyval.d = (*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[0].i) ; ; break;} -case 288: -#line 2090 "Gmsh.y" +case 290: +#line 2093 "Gmsh.y" { TheSymbol.Name = yyvsp[-4].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5150,8 +5174,8 @@ case 288: } ; break;} -case 289: -#line 2109 "Gmsh.y" +case 291: +#line 2112 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-2].c); @@ -5167,8 +5191,8 @@ case 289: } ; break;} -case 290: -#line 2125 "Gmsh.y" +case 292: +#line 2128 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-5].c); @@ -5184,8 +5208,8 @@ case 290: } ; break;} -case 291: -#line 2141 "Gmsh.y" +case 293: +#line 2144 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-3].c); @@ -5201,8 +5225,8 @@ case 291: } ; break;} -case 292: -#line 2157 "Gmsh.y" +case 294: +#line 2160 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-6].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-6].c); @@ -5218,131 +5242,131 @@ case 292: } ; break;} -case 293: -#line 2175 "Gmsh.y" +case 295: +#line 2178 "Gmsh.y" { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)) ; ; break;} -case 294: -#line 2179 "Gmsh.y" +case 296: +#line 2182 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = -yyvsp[0].v[i] ; ; break;} -case 295: -#line 2183 "Gmsh.y" +case 297: +#line 2186 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} -case 296: -#line 2187 "Gmsh.y" +case 298: +#line 2190 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i] ; ; break;} -case 297: -#line 2191 "Gmsh.y" +case 299: +#line 2194 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i] ; ; break;} -case 298: -#line 2197 "Gmsh.y" +case 300: +#line 2200 "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 299: -#line 2201 "Gmsh.y" +case 301: +#line 2204 "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 300: -#line 2205 "Gmsh.y" +case 302: +#line 2208 "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 301: -#line 2209 "Gmsh.y" +case 303: +#line 2212 "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 302: -#line 2216 "Gmsh.y" -{ - ; - break;} -case 303: +case 304: #line 2219 "Gmsh.y" { ; break;} -case 304: -#line 2225 "Gmsh.y" +case 305: +#line 2222 "Gmsh.y" { ; break;} -case 305: +case 306: #line 2228 "Gmsh.y" { ; break;} -case 306: -#line 2234 "Gmsh.y" +case 307: +#line 2231 "Gmsh.y" { ; break;} -case 307: +case 308: #line 2237 "Gmsh.y" +{ + ; + break;} +case 309: +#line 2240 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} -case 308: -#line 2241 "Gmsh.y" +case 310: +#line 2244 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} -case 309: -#line 2248 "Gmsh.y" +case 311: +#line 2251 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(List_T*)) ; List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} -case 310: -#line 2253 "Gmsh.y" +case 312: +#line 2256 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} -case 311: -#line 2261 "Gmsh.y" +case 313: +#line 2264 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} -case 312: -#line 2266 "Gmsh.y" +case 314: +#line 2269 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} -case 313: -#line 2270 "Gmsh.y" +case 315: +#line 2273 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} -case 314: -#line 2274 "Gmsh.y" +case 316: +#line 2277 "Gmsh.y" { yyval.l=yyvsp[-1].l; for(i=0 ; i<List_Nbr(yyval.l) ; i++){ @@ -5351,16 +5375,16 @@ case 314: } ; break;} -case 315: -#line 2285 "Gmsh.y" +case 317: +#line 2288 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; for(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 316: -#line 2291 "Gmsh.y" +case 318: +#line 2294 "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)){ @@ -5372,8 +5396,8 @@ case 316: List_Add(yyval.l, &d) ; ; break;} -case 317: -#line 2302 "Gmsh.y" +case 319: +#line 2305 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -5388,8 +5412,8 @@ case 317: } ; break;} -case 318: -#line 2316 "Gmsh.y" +case 320: +#line 2319 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -5406,8 +5430,8 @@ case 318: } ; break;} -case 319: -#line 2332 "Gmsh.y" +case 321: +#line 2335 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -5428,8 +5452,8 @@ case 319: List_Delete(yyvsp[-2].l); ; break;} -case 320: -#line 2352 "Gmsh.y" +case 322: +#line 2355 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -5452,27 +5476,27 @@ case 320: List_Delete(yyvsp[-2].l); ; break;} -case 321: -#line 2377 "Gmsh.y" +case 323: +#line 2380 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} -case 322: -#line 2382 "Gmsh.y" +case 324: +#line 2385 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} -case 323: -#line 2386 "Gmsh.y" +case 325: +#line 2389 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} -case 324: -#line 2390 "Gmsh.y" +case 326: +#line 2393 "Gmsh.y" { for(i=0 ; i<List_Nbr(yyvsp[0].l) ; i++){ List_Read(yyvsp[0].l, i, &d) ; @@ -5481,27 +5505,27 @@ case 324: List_Delete(yyvsp[0].l); ; break;} -case 325: -#line 2402 "Gmsh.y" +case 327: +#line 2405 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} -case 326: -#line 2406 "Gmsh.y" +case 328: +#line 2409 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} -case 327: -#line 2417 "Gmsh.y" +case 329: +#line 2420 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) vyyerror("Unknown color '%s'", yyvsp[0].c); ; break;} -case 328: -#line 2422 "Gmsh.y" +case 330: +#line 2425 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))){ vyyerror("Unknown color option class '%s'", yyvsp[-4].c); @@ -5518,14 +5542,14 @@ case 328: } ; break;} -case 329: -#line 2441 "Gmsh.y" +case 331: +#line 2444 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} -case 330: -#line 2445 "Gmsh.y" +case 332: +#line 2448 "Gmsh.y" { yyval.l = List_Create(256,10,sizeof(unsigned int)) ; ColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); @@ -5537,27 +5561,27 @@ case 330: } ; break;} -case 331: -#line 2459 "Gmsh.y" +case 333: +#line 2462 "Gmsh.y" { yyval.l = List_Create(256,10,sizeof(unsigned int)) ; List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} -case 332: -#line 2464 "Gmsh.y" +case 334: +#line 2467 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} -case 333: -#line 2471 "Gmsh.y" +case 335: +#line 2474 "Gmsh.y" { yyval.c = yyvsp[0].c; ; break;} -case 334: -#line 2475 "Gmsh.y" +case 336: +#line 2478 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)) ; strcpy(yyval.c, yyvsp[-3].c) ; @@ -5566,8 +5590,8 @@ case 334: Free(yyvsp[-1].c); ; break;} -case 335: -#line 2483 "Gmsh.y" +case 337: +#line 2486 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)) ; for(i=strlen(yyvsp[-1].c)-1; i>=0; i--){ @@ -5581,14 +5605,14 @@ case 335: Free(yyvsp[-1].c); ; break;} -case 336: -#line 2496 "Gmsh.y" +case 338: +#line 2499 "Gmsh.y" { yyval.c = yyvsp[-1].c; ; break;} -case 337: -#line 2500 "Gmsh.y" +case 339: +#line 2503 "Gmsh.y" { for(i = 0 ; i<List_Nbr(yyvsp[-1].l) ; i++){ if(!i){ @@ -5614,8 +5638,8 @@ case 337: Free(yyvsp[-3].c); ; break;} -case 338: -#line 2525 "Gmsh.y" +case 340: +#line 2528 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-3].c))) vyyerror("Unknown string option class '%s'", yyvsp[-3].c); @@ -5630,8 +5654,8 @@ case 338: } ; break;} -case 339: -#line 2539 "Gmsh.y" +case 341: +#line 2542 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-6].c))) vyyerror("Unknown string option class '%s'", yyvsp[-6].c); @@ -5868,7 +5892,7 @@ yyerrhandle: } return 1; } -#line 2554 "Gmsh.y" +#line 2557 "Gmsh.y" void InitSymbols(void){ diff --git a/Parser/Gmsh.tab.cpp.h b/Parser/Gmsh.tab.cpp.h index 07779d9d6f648edfdec225d686dddd996a10ab3d..5b28b27a9794be0f5da3b362c7a6de8586231242 100644 --- a/Parser/Gmsh.tab.cpp.h +++ b/Parser/Gmsh.tab.cpp.h @@ -14,163 +14,165 @@ typedef union { #define tAFFECT 261 #define tDOTS 262 #define tPi 263 -#define tExp 264 -#define tLog 265 -#define tLog10 266 -#define tSqrt 267 -#define tSin 268 -#define tAsin 269 -#define tCos 270 -#define tAcos 271 -#define tTan 272 -#define tRand 273 -#define tAtan 274 -#define tAtan2 275 -#define tSinh 276 -#define tCosh 277 -#define tTanh 278 -#define tFabs 279 -#define tFloor 280 -#define tCeil 281 -#define tFmod 282 -#define tModulo 283 -#define tHypot 284 -#define tPrintf 285 -#define tSprintf 286 -#define tStrCat 287 -#define tStrPrefix 288 -#define tDraw 289 -#define tPoint 290 -#define tCircle 291 -#define tEllipsis 292 -#define tLine 293 -#define tSurface 294 -#define tSpline 295 -#define tVolume 296 -#define tCharacteristic 297 -#define tLength 298 -#define tParametric 299 -#define tElliptic 300 -#define tPlane 301 -#define tRuled 302 -#define tTransfinite 303 -#define tComplex 304 -#define tPhysical 305 -#define tUsing 306 -#define tBump 307 -#define tProgression 308 -#define tPlugin 309 -#define tRotate 310 -#define tTranslate 311 -#define tSymmetry 312 -#define tDilate 313 -#define tExtrude 314 -#define tDuplicata 315 -#define tLoop 316 -#define tRecombine 317 -#define tDelete 318 -#define tCoherence 319 -#define tIntersect 320 -#define tAttractor 321 -#define tLayers 322 -#define tScalarTetrahedron 323 -#define tVectorTetrahedron 324 -#define tTensorTetrahedron 325 -#define tScalarTriangle 326 -#define tVectorTriangle 327 -#define tTensorTriangle 328 -#define tScalarLine 329 -#define tVectorLine 330 -#define tTensorLine 331 -#define tScalarPoint 332 -#define tVectorPoint 333 -#define tTensorPoint 334 -#define tBSpline 335 -#define tNurbs 336 -#define tOrder 337 -#define tWith 338 -#define tBounds 339 -#define tKnots 340 -#define tColor 341 -#define tColorTable 342 -#define tFor 343 -#define tIn 344 -#define tEndFor 345 -#define tIf 346 -#define tEndIf 347 -#define tExit 348 -#define tReturn 349 -#define tCall 350 -#define tFunction 351 -#define tMesh 352 -#define tB_SPLINE_SURFACE_WITH_KNOTS 353 -#define tB_SPLINE_CURVE_WITH_KNOTS 354 -#define tCARTESIAN_POINT 355 -#define tTRUE 356 -#define tFALSE 357 -#define tUNSPECIFIED 358 -#define tU 359 -#define tV 360 -#define tEDGE_CURVE 361 -#define tVERTEX_POINT 362 -#define tORIENTED_EDGE 363 -#define tPLANE 364 -#define tFACE_OUTER_BOUND 365 -#define tEDGE_LOOP 366 -#define tADVANCED_FACE 367 -#define tVECTOR 368 -#define tDIRECTION 369 -#define tAXIS2_PLACEMENT_3D 370 -#define tISO 371 -#define tENDISO 372 -#define tENDSEC 373 -#define tDATA 374 -#define tHEADER 375 -#define tFILE_DESCRIPTION 376 -#define tFILE_SCHEMA 377 -#define tFILE_NAME 378 -#define tMANIFOLD_SOLID_BREP 379 -#define tCLOSED_SHELL 380 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 381 -#define tFACE_BOUND 382 -#define tCYLINDRICAL_SURFACE 383 -#define tCONICAL_SURFACE 384 -#define tCIRCLE 385 -#define tTRIMMED_CURVE 386 -#define tGEOMETRIC_SET 387 -#define tCOMPOSITE_CURVE_SEGMENT 388 -#define tCONTINUOUS 389 -#define tCOMPOSITE_CURVE 390 -#define tTOROIDAL_SURFACE 391 -#define tPRODUCT_DEFINITION 392 -#define tPRODUCT_DEFINITION_SHAPE 393 -#define tSHAPE_DEFINITION_REPRESENTATION 394 -#define tELLIPSE 395 -#define tTrimmed 396 -#define tSolid 397 -#define tEndSolid 398 -#define tVertex 399 -#define tFacet 400 -#define tNormal 401 -#define tOuter 402 -#define tLoopSTL 403 -#define tEndLoop 404 -#define tEndFacet 405 -#define tAFFECTPLUS 406 -#define tAFFECTMINUS 407 -#define tAFFECTTIMES 408 -#define tAFFECTDIVIDE 409 -#define tOR 410 -#define tAND 411 -#define tEQUAL 412 -#define tNOTEQUAL 413 -#define tAPPROXEQUAL 414 -#define tLESSOREQUAL 415 -#define tGREATEROREQUAL 416 -#define tCROSSPRODUCT 417 -#define tPLUSPLUS 418 -#define tMINUSMINUS 419 -#define UNARYPREC 420 +#define tMPI_Rank 264 +#define tMPI_Size 265 +#define tExp 266 +#define tLog 267 +#define tLog10 268 +#define tSqrt 269 +#define tSin 270 +#define tAsin 271 +#define tCos 272 +#define tAcos 273 +#define tTan 274 +#define tRand 275 +#define tAtan 276 +#define tAtan2 277 +#define tSinh 278 +#define tCosh 279 +#define tTanh 280 +#define tFabs 281 +#define tFloor 282 +#define tCeil 283 +#define tFmod 284 +#define tModulo 285 +#define tHypot 286 +#define tPrintf 287 +#define tSprintf 288 +#define tStrCat 289 +#define tStrPrefix 290 +#define tDraw 291 +#define tPoint 292 +#define tCircle 293 +#define tEllipsis 294 +#define tLine 295 +#define tSurface 296 +#define tSpline 297 +#define tVolume 298 +#define tCharacteristic 299 +#define tLength 300 +#define tParametric 301 +#define tElliptic 302 +#define tPlane 303 +#define tRuled 304 +#define tTransfinite 305 +#define tComplex 306 +#define tPhysical 307 +#define tUsing 308 +#define tBump 309 +#define tProgression 310 +#define tPlugin 311 +#define tRotate 312 +#define tTranslate 313 +#define tSymmetry 314 +#define tDilate 315 +#define tExtrude 316 +#define tDuplicata 317 +#define tLoop 318 +#define tRecombine 319 +#define tDelete 320 +#define tCoherence 321 +#define tIntersect 322 +#define tAttractor 323 +#define tLayers 324 +#define tScalarTetrahedron 325 +#define tVectorTetrahedron 326 +#define tTensorTetrahedron 327 +#define tScalarTriangle 328 +#define tVectorTriangle 329 +#define tTensorTriangle 330 +#define tScalarLine 331 +#define tVectorLine 332 +#define tTensorLine 333 +#define tScalarPoint 334 +#define tVectorPoint 335 +#define tTensorPoint 336 +#define tBSpline 337 +#define tNurbs 338 +#define tOrder 339 +#define tWith 340 +#define tBounds 341 +#define tKnots 342 +#define tColor 343 +#define tColorTable 344 +#define tFor 345 +#define tIn 346 +#define tEndFor 347 +#define tIf 348 +#define tEndIf 349 +#define tExit 350 +#define tReturn 351 +#define tCall 352 +#define tFunction 353 +#define tMesh 354 +#define tB_SPLINE_SURFACE_WITH_KNOTS 355 +#define tB_SPLINE_CURVE_WITH_KNOTS 356 +#define tCARTESIAN_POINT 357 +#define tTRUE 358 +#define tFALSE 359 +#define tUNSPECIFIED 360 +#define tU 361 +#define tV 362 +#define tEDGE_CURVE 363 +#define tVERTEX_POINT 364 +#define tORIENTED_EDGE 365 +#define tPLANE 366 +#define tFACE_OUTER_BOUND 367 +#define tEDGE_LOOP 368 +#define tADVANCED_FACE 369 +#define tVECTOR 370 +#define tDIRECTION 371 +#define tAXIS2_PLACEMENT_3D 372 +#define tISO 373 +#define tENDISO 374 +#define tENDSEC 375 +#define tDATA 376 +#define tHEADER 377 +#define tFILE_DESCRIPTION 378 +#define tFILE_SCHEMA 379 +#define tFILE_NAME 380 +#define tMANIFOLD_SOLID_BREP 381 +#define tCLOSED_SHELL 382 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 383 +#define tFACE_BOUND 384 +#define tCYLINDRICAL_SURFACE 385 +#define tCONICAL_SURFACE 386 +#define tCIRCLE 387 +#define tTRIMMED_CURVE 388 +#define tGEOMETRIC_SET 389 +#define tCOMPOSITE_CURVE_SEGMENT 390 +#define tCONTINUOUS 391 +#define tCOMPOSITE_CURVE 392 +#define tTOROIDAL_SURFACE 393 +#define tPRODUCT_DEFINITION 394 +#define tPRODUCT_DEFINITION_SHAPE 395 +#define tSHAPE_DEFINITION_REPRESENTATION 396 +#define tELLIPSE 397 +#define tTrimmed 398 +#define tSolid 399 +#define tEndSolid 400 +#define tVertex 401 +#define tFacet 402 +#define tNormal 403 +#define tOuter 404 +#define tLoopSTL 405 +#define tEndLoop 406 +#define tEndFacet 407 +#define tAFFECTPLUS 408 +#define tAFFECTMINUS 409 +#define tAFFECTTIMES 410 +#define tAFFECTDIVIDE 411 +#define tOR 412 +#define tAND 413 +#define tEQUAL 414 +#define tNOTEQUAL 415 +#define tAPPROXEQUAL 416 +#define tLESSOREQUAL 417 +#define tGREATEROREQUAL 418 +#define tCROSSPRODUCT 419 +#define tPLUSPLUS 420 +#define tMINUSMINUS 421 +#define UNARYPREC 422 extern YYSTYPE yylval; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index fde89b830a9aa7eb4912e1e08a3a1d94c6d4b8e0..228cb2168443a488d9080d33114aa6b1f363907d 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,6 +1,6 @@ %{ -// $Id: Gmsh.y,v 1.88 2001-08-06 08:09:51 geuzaine Exp $ +// $Id: Gmsh.y,v 1.89 2001-08-08 14:05:27 remacle Exp $ // // Generaliser sprintf avec des chaines de caracteres @@ -10,6 +10,7 @@ #ifndef _NOPLUGIN #include "PluginManager.h" #endif +#include "ParUtil.h" #include "Gmsh.h" #include "Const.h" #include "Context.h" @@ -83,7 +84,7 @@ void skip_until (char *skip, char *until); %token <d> tDOUBLE %token <c> tSTRING tBIGSTR -%token tEND tAFFECT tDOTS tPi +%token tEND tAFFECT tDOTS tPi tMPI_Rank tMPI_Size %token tExp tLog tLog10 tSqrt tSin tAsin tCos tAcos tTan tRand %token tAtan tAtan2 tSinh tCosh tTanh tFabs tFloor tCeil %token tFmod tModulo tHypot tPrintf tSprintf tStrCat tStrPrefix tDraw @@ -2044,6 +2045,8 @@ FExpr_Single : tDOUBLE { $$ = $1; } | tPi { $$ = 3.141592653589793; } + | tMPI_Rank { $$ = ParUtil::Instance()->rank(); } + | tMPI_Size { $$ = ParUtil::Instance()->size(); } /* -------- Variables -------- */ diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 947b54aa237f42b65f1fe9ceb514c7cdb5ce139e..00fcb8d0c6483f600fac68e47b120981f617f6bc 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.101 2001-08-06 08:09:51 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.102 2001-08-08 14:05:27 remacle Exp $ */ #define FLEX_SCANNER @@ -283,120 +283,121 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 183 -#define YY_END_OF_BUFFER 184 -static yyconst short int yy_accept[998] = +#define YY_NUM_RULES 185 +#define YY_END_OF_BUFFER 186 +static yyconst short int yy_accept[1009] = { 0, - 0, 0, 184, 182, 1, 1, 182, 5, 176, 182, - 6, 182, 182, 182, 182, 182, 177, 14, 2, 182, - 9, 182, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 182, 182, 0, 0, 22, 176, 18, 12, 19, - 10, 20, 11, 0, 179, 0, 0, 0, 0, 3, - 4, 13, 16, 178, 177, 0, 24, 21, 25, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 68, 67, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 82, 181, 181, 181, 181, 181, 181, - 181, 181, 118, 121, 112, 115, 181, 181, 181, 181, - 181, 181, 120, 181, 123, 181, 114, 117, 181, 181, - 181, 181, 119, 122, 113, 116, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 17, 23, 0, 0, - 15, 0, 129, 130, 131, 132, 178, 0, 0, 180, - - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 40, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 53, 181, 181, 181, 181, 181, 181, 64, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 74, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 96, 181, 181, 181, 181, 181, 181, - 181, 181, 107, 181, 181, 181, 181, 181, 181, 181, - - 181, 181, 181, 181, 181, 181, 181, 181, 0, 0, - 0, 179, 0, 0, 178, 181, 181, 181, 181, 26, - 181, 181, 181, 28, 30, 181, 181, 181, 181, 35, - 181, 181, 181, 181, 181, 181, 48, 181, 38, 181, - 181, 181, 181, 181, 39, 146, 181, 181, 181, 52, - 181, 181, 181, 0, 181, 181, 181, 181, 60, 181, - 181, 181, 61, 181, 63, 181, 181, 181, 181, 0, - 181, 181, 140, 181, 181, 72, 181, 73, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 93, 181, 181, 181, 181, 181, - - 97, 181, 181, 95, 181, 181, 181, 181, 181, 181, - 106, 181, 181, 181, 181, 181, 181, 111, 181, 181, - 181, 181, 171, 8, 181, 181, 181, 181, 181, 0, - 0, 0, 178, 181, 181, 181, 181, 181, 181, 181, - 32, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 45, 181, 181, 181, 181, - 181, 181, 181, 0, 181, 181, 181, 59, 181, 181, - 181, 62, 181, 181, 181, 66, 0, 181, 70, 181, - 181, 75, 181, 181, 181, 79, 181, 80, 144, 181, - 181, 181, 83, 181, 84, 85, 181, 181, 181, 181, - - 181, 92, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 109, 181, 181, 181, 181, 181, 181, - 168, 181, 181, 170, 175, 181, 0, 0, 181, 181, - 181, 181, 27, 29, 31, 181, 181, 181, 37, 181, - 159, 181, 181, 181, 181, 181, 181, 42, 181, 181, - 181, 181, 49, 50, 181, 181, 181, 181, 0, 152, - 181, 181, 58, 181, 181, 181, 181, 181, 181, 181, - 181, 145, 0, 181, 76, 71, 181, 78, 77, 181, - 181, 181, 181, 89, 88, 181, 181, 94, 91, 181, - 98, 181, 102, 181, 181, 181, 181, 181, 181, 181, - - 181, 141, 181, 110, 181, 181, 181, 7, 169, 167, - 0, 0, 181, 181, 181, 181, 33, 181, 36, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 44, - 181, 181, 181, 181, 57, 0, 181, 181, 55, 181, - 181, 181, 181, 181, 181, 181, 0, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 101, 181, 99, 181, - 181, 181, 181, 181, 108, 181, 181, 172, 181, 0, - 0, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 0, 54, 56, 181, 181, 181, 181, 181, 65, 181, - - 0, 181, 181, 181, 181, 181, 81, 181, 181, 181, - 181, 100, 181, 181, 181, 181, 181, 173, 174, 0, - 0, 181, 181, 181, 181, 34, 181, 181, 181, 181, - 181, 181, 181, 181, 43, 181, 142, 51, 181, 135, - 0, 181, 181, 181, 148, 181, 181, 0, 69, 181, - 181, 181, 181, 181, 90, 181, 103, 181, 181, 181, - 105, 181, 0, 0, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 47, 181, 46, 134, - 0, 138, 181, 181, 181, 181, 0, 181, 181, 181, - 87, 181, 181, 181, 181, 181, 181, 0, 0, 181, - - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 0, 181, 181, 147, 181, 0, 181, 181, - 181, 86, 181, 181, 181, 104, 181, 128, 0, 128, - 181, 181, 181, 181, 181, 181, 181, 153, 181, 181, - 181, 181, 0, 181, 181, 181, 150, 181, 181, 181, - 181, 181, 181, 136, 127, 181, 139, 127, 181, 181, - 181, 181, 181, 181, 181, 181, 0, 181, 181, 161, - 181, 133, 181, 181, 181, 160, 181, 181, 181, 181, - 181, 181, 181, 181, 41, 0, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 124, 163, 157, 181, - - 0, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 151, 137, 149, 181, 181, 181, 158, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 143, 181, 181, 181, 181, 181, 164, 181, 181, 181, - 181, 181, 156, 155, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 162, 181, 181, - 181, 181, 181, 165, 181, 181, 126, 181, 181, 181, - 181, 181, 181, 125, 181, 181, 181, 181, 181, 181, - 181, 181, 166, 181, 181, 154, 0 - + 0, 0, 186, 184, 1, 1, 184, 5, 178, 184, + 6, 184, 184, 184, 184, 184, 179, 14, 2, 184, + 9, 184, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 184, 184, 0, 0, 22, 178, 18, 12, 19, + 10, 20, 11, 0, 181, 0, 0, 0, 0, 3, + 4, 13, 16, 180, 179, 0, 24, 21, 25, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 68, 67, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 84, 183, 183, 183, 183, 183, + 183, 183, 183, 120, 123, 114, 117, 183, 183, 183, + 183, 183, 183, 122, 183, 125, 183, 116, 119, 183, + 183, 183, 183, 121, 124, 115, 118, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 17, 23, 0, + 0, 15, 0, 131, 132, 133, 134, 180, 0, 0, + + 182, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 40, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 53, 183, 183, 183, 183, 183, 183, 64, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 74, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 98, 183, 183, 183, 183, + 183, 183, 183, 183, 109, 183, 183, 183, 183, 183, + + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 0, 0, 0, 181, 0, 0, 180, 183, 183, 183, + 183, 26, 183, 183, 183, 28, 30, 183, 183, 183, + 183, 35, 183, 183, 183, 183, 183, 183, 48, 183, + 38, 183, 183, 183, 183, 183, 39, 148, 183, 183, + 183, 52, 183, 183, 183, 0, 183, 183, 183, 183, + 60, 183, 183, 183, 61, 183, 63, 183, 183, 183, + 183, 0, 183, 183, 142, 183, 183, 72, 183, 73, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 95, 183, 183, + + 183, 183, 183, 99, 183, 183, 97, 183, 183, 183, + 183, 183, 183, 108, 183, 183, 183, 183, 183, 183, + 113, 183, 183, 183, 183, 173, 8, 183, 183, 183, + 183, 183, 0, 0, 0, 180, 183, 183, 183, 183, + 183, 183, 183, 32, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 45, 183, + 183, 183, 183, 183, 183, 183, 0, 183, 183, 183, + 59, 183, 183, 183, 62, 183, 183, 183, 66, 0, + 183, 70, 183, 183, 75, 183, 183, 183, 183, 183, + 81, 183, 82, 146, 183, 183, 183, 85, 183, 86, + + 87, 183, 183, 183, 183, 183, 94, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 111, 183, + 183, 183, 183, 183, 183, 170, 183, 183, 172, 177, + 183, 0, 0, 183, 183, 183, 183, 27, 29, 31, + 183, 183, 183, 37, 183, 161, 183, 183, 183, 183, + 183, 183, 42, 183, 183, 183, 183, 49, 50, 183, + 183, 183, 183, 0, 154, 183, 183, 58, 183, 183, + 183, 183, 183, 183, 183, 183, 147, 0, 183, 76, + 71, 183, 183, 183, 78, 77, 183, 183, 183, 183, + 91, 90, 183, 183, 96, 93, 183, 100, 183, 104, + + 183, 183, 183, 183, 183, 183, 183, 183, 143, 183, + 112, 183, 183, 183, 7, 171, 169, 0, 0, 183, + 183, 183, 183, 33, 183, 36, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 44, 183, 183, 183, + 183, 57, 0, 183, 183, 55, 183, 183, 183, 183, + 183, 183, 183, 0, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 103, 183, 101, 183, 183, + 183, 183, 183, 110, 183, 183, 174, 183, 0, 0, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 0, + + 54, 56, 183, 183, 183, 183, 183, 65, 183, 0, + 183, 183, 79, 80, 183, 183, 183, 83, 183, 183, + 183, 183, 102, 183, 183, 183, 183, 183, 175, 176, + 0, 0, 183, 183, 183, 183, 34, 183, 183, 183, + 183, 183, 183, 183, 183, 43, 183, 144, 51, 183, + 137, 0, 183, 183, 183, 150, 183, 183, 0, 69, + 183, 183, 183, 183, 183, 92, 183, 105, 183, 183, + 183, 107, 183, 0, 0, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 47, 183, 46, + 136, 0, 140, 183, 183, 183, 183, 0, 183, 183, + + 183, 89, 183, 183, 183, 183, 183, 183, 0, 0, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 0, 183, 183, 149, 183, 0, 183, + 183, 183, 88, 183, 183, 183, 106, 183, 130, 0, + 130, 183, 183, 183, 183, 183, 183, 183, 155, 183, + 183, 183, 183, 0, 183, 183, 183, 152, 183, 183, + 183, 183, 183, 183, 138, 129, 183, 141, 129, 183, + 183, 183, 183, 183, 183, 183, 183, 0, 183, 183, + 163, 183, 135, 183, 183, 183, 162, 183, 183, 183, + 183, 183, 183, 183, 183, 41, 0, 183, 183, 183, + + 183, 183, 183, 183, 183, 183, 183, 126, 165, 159, + 183, 0, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 153, 139, 151, 183, 183, 183, + 160, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 145, 183, 183, 183, 183, 183, 166, 183, 183, + 183, 183, 183, 158, 157, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 164, 183, + 183, 183, 183, 183, 167, 183, 183, 128, 183, 183, + 183, 183, 183, 183, 127, 183, 183, 183, 183, 183, + + 183, 183, 183, 168, 183, 183, 156, 0 } ; static yyconst int yy_ec[256] = @@ -412,9 +413,9 @@ static yyconst int yy_ec[256] = 33, 40, 41, 42, 43, 44, 45, 46, 47, 33, 1, 48, 1, 1, 49, 1, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 33, 33, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 33, 1, 73, 1, 74, 1, 1, 1, 1, + 54, 55, 56, 57, 58, 33, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 1, 75, 1, 76, 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, @@ -431,7 +432,7 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[75] = +static yyconst int yy_meta[77] = { 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 1, 1, @@ -440,391 +441,394 @@ static yyconst int yy_meta[75] = 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 1, 1 + 3, 3, 3, 3, 1, 1 } ; -static yyconst short int yy_base[1003] = +static yyconst short int yy_base[1014] = { 0, - 0, 0, 1259, 49, 50, 1260, 55, 52, 68, 73, - 53, 65, 78, 79, 111, 93, 130, 71, 77, 87, - 109, 117, 123, 131, 176, 138, 178, 186, 133, 181, - 201, 81, 125, 209, 231, 152, 151, 225, 238, 281, - 291, 235, 324, 139, 243, 246, 251, 265, 272, 285, - 271, 295, 329, 1220, 1220, 1260, 359, 1260, 1260, 1260, - 1260, 1260, 1260, 1244, 364, 1243, 1242, 126, 1241, 1260, - 1260, 1260, 1260, 373, 381, 396, 1260, 1260, 1260, 0, - 1214, 1207, 1213, 1217, 1186, 1195, 1188, 67, 1182, 1203, - 1175, 1182, 1201, 1200, 1201, 96, 1203, 51, 1179, 1186, - - 1170, 360, 1192, 1193, 1173, 1172, 1180, 1166, 1198, 1192, - 1199, 1166, 1171, 279, 1197, 1187, 1170, 1158, 1157, 1153, - 1156, 1178, 1191, 1151, 1175, 0, 1145, 1149, 1173, 1137, - 1147, 1146, 123, 1169, 1139, 1151, 1138, 1170, 1148, 1176, - 1161, 1133, 1125, 0, 133, 170, 109, 1135, 165, 1128, - 1135, 1169, 0, 0, 0, 0, 1131, 166, 1126, 1125, - 1124, 1128, 0, 1147, 0, 1154, 0, 0, 1124, 200, - 1126, 240, 0, 0, 0, 0, 1124, 1115, 1128, 1128, - 1117, 1108, 1112, 1109, 1116, 1109, 1260, 1260, 1136, 1131, - 1260, 414, 1260, 1260, 1260, 1260, 422, 431, 437, 442, - - 1134, 1146, 1128, 1127, 1101, 328, 1105, 1104, 1099, 1104, - 1123, 1100, 1097, 1117, 1132, 1116, 1117, 1123, 1122, 1094, - 1092, 1092, 1085, 1097, 1094, 1085, 1083, 1088, 1120, 1115, - 1088, 1091, 1070, 1080, 1110, 1105, 232, 1078, 247, 1068, - 0, 1069, 1105, 1104, 1065, 1068, 1076, 0, 1076, 1091, - 1099, 1063, 1113, 1069, 1055, 1093, 1066, 1063, 1064, 1102, - 1053, 1083, 1057, 1045, 1061, 1083, 1056, 1072, 1081, 1057, - 1040, 1044, 1048, 1042, 1048, 1040, 1044, 1046, 1036, 1029, - 1046, 1041, 1055, 1036, 1034, 1033, 1023, 279, 1034, 1028, - 1049, 1050, 1028, 1023, 1023, 1021, 1039, 1038, 1011, 1021, - - 244, 1023, 1013, 295, 1015, 1020, 1015, 1005, 1029, 1031, - 447, 452, 463, 468, 473, 1027, 1031, 1028, 1050, 0, - 1003, 1006, 1013, 0, 1046, 1011, 1002, 1024, 1005, 0, - 1029, 1021, 1027, 1016, 1027, 1015, 0, 983, 0, 1000, - 990, 983, 982, 987, 0, 0, 1019, 977, 976, 0, - 984, 992, 1001, 1007, 1010, 974, 974, 980, 0, 966, - 984, 983, 0, 966, 0, 963, 1001, 1000, 960, 1011, - 960, 958, 0, 958, 955, 0, 1007, 0, 991, 965, - 959, 951, 979, 950, 986, 970, 952, 953, 956, 951, - 941, 942, 939, 940, 0, 944, 938, 935, 948, 972, - - 0, 938, 937, 0, 947, 931, 945, 940, 961, 956, - 0, 925, 930, 933, 950, 959, 926, 0, 935, 922, - 921, 915, 0, 0, 927, 930, 914, 925, 923, 944, - 947, 478, 483, 942, 947, 944, 922, 904, 908, 907, - 0, 915, 905, 933, 898, 922, 934, 934, 919, 935, - 931, 898, 904, 901, 900, 911, 898, 909, 896, 895, - 896, 336, 906, 905, 919, 269, 879, 0, 890, 377, - 367, 0, 884, 899, 900, 0, 925, 872, 0, 871, - 879, 0, 897, 868, 871, 0, 890, 0, 0, 905, - 876, 877, 0, 867, 0, 0, 872, 872, 874, 863, - - 869, 0, 873, 867, 853, 852, 864, 865, 849, 888, - 886, 302, 859, 0, 872, 865, 856, 857, 846, 848, - 0, 850, 846, 0, 0, 833, 866, 876, 864, 872, - 873, 859, 0, 0, 881, 829, 841, 857, 0, 861, - 0, 843, 859, 855, 849, 829, 820, 0, 825, 835, - 813, 851, 0, 0, 832, 838, 842, 851, 840, 0, - 819, 818, 0, 821, 836, 830, 844, 847, 844, 807, - 828, 0, 850, 812, 0, 0, 830, 0, 0, 836, - 821, 795, 811, 0, 0, 794, 801, 0, 0, 831, - 0, 802, 0, 801, 801, 789, 829, 825, 793, 800, - - 796, 0, 799, 0, 793, 783, 787, 0, 0, 0, - 801, 811, 799, 814, 808, 804, 0, 776, 0, 809, - 812, 794, 792, 784, 800, 791, 776, 777, 777, 0, - 789, 759, 785, 786, 0, 812, 756, 769, 0, 777, - 777, 777, 781, 785, 754, 782, 799, 760, 784, 783, - 760, 743, 748, 740, 744, 776, 0, 745, 0, 730, - 766, 751, 738, 731, 0, 758, 729, 0, 742, 756, - 764, 754, 742, 761, 765, 723, 738, 749, 754, 756, - 742, 756, 719, 715, 725, 719, 740, 726, 731, 735, - 758, 0, 0, 735, 743, 744, 741, 740, 0, 741, - - 749, 698, 714, 711, 730, 696, 0, 31, 58, 158, - 127, 0, 173, 221, 212, 241, 264, 0, 0, 266, - 311, 321, 446, 351, 358, 0, 359, 354, 377, 367, - 378, 398, 363, 375, 0, 380, 0, 0, 415, 0, - 430, 445, 462, 463, 0, 468, 456, 495, 0, 466, - 480, 481, 458, 449, 0, 480, 0, 472, 471, 448, - 0, 484, 476, 490, 478, 480, 497, 494, 495, 481, - 482, 487, 492, 502, 489, 495, 0, 465, 0, 0, - 515, 0, 484, 502, 511, 495, 521, 500, 512, 511, - 0, 480, 505, 500, 504, 491, 509, 0, 520, 547, - - 522, 535, 535, 527, 524, 525, 533, 537, 530, 545, - 526, 509, 563, 553, 540, 0, 552, 566, 547, 553, - 552, 0, 553, 546, 543, 0, 546, 1260, 0, 0, - 550, 562, 621, 563, 548, 564, 562, 0, 556, 573, - 557, 541, 583, 563, 560, 561, 1260, 572, 577, 569, - 565, 579, 581, 0, 1260, 561, 0, 0, 574, 584, - 589, 577, 571, 590, 574, 566, 608, 581, 603, 0, - 609, 0, 605, 606, 615, 0, 604, 604, 598, 622, - 607, 622, 623, 612, 0, 637, 617, 617, 607, 615, - 620, 633, 629, 612, 617, 635, 0, 615, 0, 636, - - 651, 640, 631, 645, 639, 635, 645, 650, 658, 644, - 628, 637, 655, 1260, 0, 0, 640, 643, 633, 0, - 644, 657, 643, 641, 659, 662, 661, 653, 651, 664, - 0, 662, 664, 667, 670, 660, 651, 673, 653, 654, - 662, 669, 0, 0, 665, 668, 668, 675, 679, 683, - 681, 673, 686, 678, 667, 680, 694, 691, 681, 683, - 688, 681, 685, 684, 686, 685, 691, 0, 701, 702, - 703, 691, 695, 0, 697, 694, 0, 694, 695, 710, - 698, 716, 704, 0, 700, 701, 712, 721, 708, 705, - 711, 717, 0, 712, 714, 0, 1260, 749, 752, 755, - - 758, 761 + 0, 0, 1272, 51, 52, 1273, 57, 54, 70, 75, + 55, 67, 80, 81, 113, 95, 132, 73, 79, 89, + 111, 119, 125, 133, 179, 140, 181, 189, 135, 161, + 204, 83, 158, 214, 230, 110, 222, 252, 253, 297, + 307, 184, 278, 154, 212, 255, 237, 271, 268, 300, + 325, 256, 147, 1233, 1233, 1273, 360, 1273, 1273, 1273, + 1273, 1273, 1273, 1257, 366, 1256, 1255, 128, 1254, 1273, + 1273, 1273, 1273, 371, 386, 395, 1273, 1273, 1273, 0, + 1227, 1220, 1226, 1230, 1198, 1208, 1201, 117, 1194, 1216, + 1187, 1194, 1214, 1213, 1214, 83, 1216, 163, 1192, 1199, + + 1182, 361, 1205, 1206, 1185, 1184, 1193, 1178, 1211, 1205, + 1212, 1178, 1184, 203, 1210, 1200, 1183, 1170, 1169, 1165, + 1168, 1191, 1204, 1163, 1188, 0, 1157, 1161, 1186, 1149, + 1159, 1158, 125, 1182, 1186, 1150, 1163, 1149, 1182, 1160, + 1188, 1173, 1144, 1136, 0, 150, 212, 227, 1146, 176, + 1139, 1146, 1181, 0, 0, 0, 0, 1142, 264, 1137, + 1136, 1135, 1139, 0, 1159, 0, 1166, 0, 0, 1135, + 277, 1138, 249, 0, 0, 0, 0, 1135, 1126, 1140, + 1140, 1128, 1119, 1123, 1120, 1127, 1120, 1273, 1273, 1148, + 1143, 1273, 416, 1273, 1273, 1273, 1273, 421, 436, 427, + + 441, 1146, 1158, 1140, 1139, 1112, 318, 1116, 1115, 1110, + 1115, 1135, 1111, 1108, 1129, 1144, 1128, 1129, 1135, 1134, + 1105, 1103, 1103, 1096, 1109, 1106, 1096, 1094, 1100, 1132, + 1127, 1100, 1103, 1081, 1091, 1122, 1117, 184, 1090, 324, + 1079, 0, 1080, 1117, 1116, 1076, 1079, 1088, 0, 1088, + 1103, 1111, 1074, 1125, 1081, 1066, 1105, 1078, 1075, 1076, + 1114, 1064, 1095, 1077, 1068, 1055, 1072, 1094, 1067, 1083, + 1092, 1068, 1050, 1054, 1059, 1052, 1059, 1050, 1055, 1057, + 1046, 1039, 1057, 1052, 1066, 1047, 1045, 1044, 1033, 328, + 1045, 1038, 1060, 1061, 1039, 1033, 1033, 1031, 1050, 1049, + + 1021, 1032, 405, 1034, 1023, 48, 1025, 1031, 1026, 1015, + 1040, 1042, 452, 462, 471, 476, 481, 1038, 1042, 1039, + 1061, 0, 1013, 1017, 1024, 0, 1057, 1022, 1013, 1035, + 1016, 0, 1040, 1032, 1038, 1027, 1038, 1026, 0, 993, + 0, 1011, 1000, 993, 992, 997, 0, 0, 1030, 987, + 986, 0, 995, 1003, 1012, 1018, 1021, 984, 984, 991, + 0, 976, 995, 994, 0, 976, 0, 973, 1012, 1011, + 970, 1022, 970, 968, 0, 968, 965, 0, 1018, 0, + 1002, 94, 976, 969, 961, 990, 960, 997, 981, 962, + 964, 967, 962, 951, 952, 949, 950, 0, 954, 948, + + 945, 959, 983, 0, 948, 947, 0, 958, 941, 956, + 951, 972, 967, 0, 935, 940, 944, 961, 970, 936, + 0, 946, 932, 931, 925, 0, 0, 938, 941, 924, + 936, 934, 955, 958, 486, 491, 953, 958, 955, 933, + 914, 918, 917, 0, 926, 915, 944, 908, 933, 945, + 945, 930, 946, 942, 908, 915, 912, 911, 922, 909, + 920, 907, 906, 907, 381, 917, 916, 930, 304, 889, + 0, 901, 370, 483, 0, 895, 910, 911, 0, 936, + 882, 0, 881, 890, 0, 908, 895, 886, 876, 879, + 0, 899, 0, 0, 914, 885, 886, 0, 875, 0, + + 0, 881, 881, 883, 871, 878, 0, 882, 876, 861, + 860, 873, 874, 857, 897, 895, 231, 868, 0, 881, + 874, 865, 866, 854, 856, 0, 859, 854, 0, 0, + 841, 875, 885, 873, 881, 882, 868, 0, 0, 890, + 837, 850, 866, 0, 870, 0, 852, 868, 864, 858, + 837, 828, 0, 833, 844, 821, 860, 0, 0, 841, + 847, 851, 860, 849, 0, 828, 827, 0, 830, 845, + 839, 853, 856, 853, 815, 837, 0, 859, 821, 0, + 0, 839, 811, 798, 0, 0, 843, 828, 801, 818, + 0, 0, 800, 808, 0, 0, 838, 0, 809, 0, + + 808, 808, 795, 836, 832, 800, 807, 803, 0, 806, + 0, 800, 789, 794, 0, 0, 0, 808, 818, 806, + 821, 815, 811, 0, 782, 0, 816, 819, 801, 799, + 791, 807, 798, 783, 784, 784, 0, 796, 765, 792, + 793, 0, 819, 762, 776, 0, 784, 784, 784, 788, + 792, 760, 789, 806, 767, 791, 758, 762, 788, 765, + 747, 752, 744, 748, 781, 0, 750, 0, 734, 771, + 756, 742, 735, 0, 763, 733, 0, 747, 761, 769, + 759, 747, 766, 770, 727, 743, 754, 759, 761, 747, + 761, 723, 719, 730, 723, 745, 731, 736, 740, 763, + + 0, 0, 739, 745, 744, 739, 63, 0, 144, 182, + 167, 211, 0, 0, 227, 274, 250, 0, 271, 298, + 329, 292, 0, 320, 364, 333, 338, 355, 0, 0, + 353, 365, 372, 394, 385, 398, 0, 422, 380, 433, + 413, 421, 447, 412, 416, 0, 429, 0, 0, 456, + 0, 497, 485, 473, 474, 0, 479, 467, 506, 0, + 477, 491, 493, 470, 460, 0, 493, 0, 485, 484, + 460, 0, 497, 489, 503, 491, 493, 510, 507, 508, + 494, 495, 500, 505, 515, 502, 508, 0, 477, 0, + 0, 528, 0, 497, 515, 524, 508, 534, 513, 525, + + 524, 0, 492, 518, 513, 517, 504, 522, 0, 533, + 560, 535, 548, 548, 540, 537, 538, 546, 550, 543, + 558, 539, 521, 576, 566, 553, 0, 565, 579, 560, + 566, 565, 0, 566, 559, 556, 0, 559, 1273, 0, + 0, 563, 575, 636, 576, 561, 577, 575, 0, 569, + 586, 570, 554, 596, 576, 573, 574, 1273, 585, 590, + 582, 578, 592, 594, 0, 1273, 574, 0, 0, 587, + 597, 602, 590, 584, 603, 587, 579, 621, 590, 602, + 0, 612, 0, 618, 619, 628, 0, 612, 612, 611, + 635, 620, 635, 636, 625, 0, 650, 630, 630, 620, + + 628, 633, 646, 642, 625, 630, 648, 0, 628, 0, + 649, 664, 653, 644, 657, 651, 648, 658, 663, 671, + 657, 641, 650, 668, 1273, 0, 0, 653, 656, 646, + 0, 657, 670, 656, 654, 672, 675, 674, 666, 664, + 677, 0, 675, 675, 678, 681, 671, 664, 686, 666, + 667, 675, 682, 0, 0, 678, 681, 681, 688, 692, + 696, 694, 686, 699, 691, 680, 693, 707, 704, 694, + 696, 701, 694, 698, 697, 699, 698, 704, 0, 714, + 715, 716, 704, 708, 0, 710, 707, 0, 707, 708, + 723, 711, 729, 717, 0, 713, 714, 725, 734, 721, + + 718, 724, 730, 0, 725, 727, 0, 1273, 762, 765, + 768, 771, 774 } ; -static yyconst short int yy_def[1003] = +static yyconst short int yy_def[1014] = { 0, - 997, 1, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - - 998, 998, 998, 998, 998, 998, 998, 998, 997, 997, - 997, 997, 997, 997, 997, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 997, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 997, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 997, - 997, 997, 997, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 997, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 997, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 997, 997, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 997, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 997, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 997, 997, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 997, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 997, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 997, - 997, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 997, 998, 998, 998, 998, 998, 998, 998, 998, 998, - - 997, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 997, - 997, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 997, 998, 998, 998, 998, 998, 998, 997, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 997, 997, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 997, 998, 998, 998, 998, 998, 997, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 999, 997, 1000, - - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 997, 998, 998, 998, 998, 997, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 997, 1001, 998, - 998, 998, 1002, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 997, 998, 998, 998, 997, 998, 998, 998, - 998, 998, 998, 998, 997, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 997, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 997, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - - 997, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 997, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 998, 998, 0, 997, 997, 997, - - 997, 997 + 1008, 1, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + + 1008, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1008, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1008, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1008, 1008, 1008, 1008, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1008, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1008, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1008, 1008, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1008, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1008, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1008, 1008, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1008, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1008, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1008, 1008, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1008, + + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1008, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1008, 1008, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1008, 1009, 1009, 1009, 1009, 1009, 1009, 1008, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1008, 1008, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1008, 1009, 1009, 1009, 1009, 1009, 1008, 1009, 1009, + + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1010, 1008, + 1011, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1008, 1009, 1009, 1009, 1009, 1008, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1008, 1012, + 1009, 1009, 1009, 1013, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1008, 1009, 1009, 1009, 1008, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1008, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1008, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1008, 1009, 1009, 1009, + + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1008, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1008, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, + + 1009, 1009, 1009, 1009, 1009, 1009, 1009, 0, 1008, 1008, + 1008, 1008, 1008 } ; -static yyconst short int yy_nxt[1335] = +static yyconst short int yy_nxt[1350] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 32, 32, 4, 32, 32, - 32, 32, 32, 45, 46, 32, 32, 32, 47, 32, - 48, 49, 32, 32, 32, 50, 32, 32, 51, 32, - 32, 32, 52, 53, 54, 54, 56, 54, 54, 58, - 54, 57, 57, 57, 57, 57, 59, 60, 754, 62, - 54, 55, 55, 54, 55, 55, 54, 55, 54, 61, - - 63, 70, 54, 54, 54, 71, 81, 55, 77, 220, - 55, 755, 54, 55, 72, 55, 208, 221, 54, 55, - 55, 55, 64, 83, 65, 65, 65, 65, 65, 55, - 78, 217, 218, 209, 54, 55, 54, 195, 79, 66, - 73, 74, 54, 75, 75, 75, 75, 75, 81, 82, - 81, 55, 67, 68, 69, 54, 81, 76, 81, 55, - 122, 103, 190, 81, 81, 83, 276, 83, 84, 104, - 277, 89, 55, 83, 85, 83, 81, 81, 260, 90, - 83, 83, 272, 76, 261, 128, 756, 86, 87, 88, - 138, 105, 91, 83, 83, 106, 178, 757, 92, 93, - - 273, 81, 107, 81, 109, 108, 81, 94, 123, 115, - 95, 81, 110, 96, 111, 139, 279, 116, 83, 137, - 83, 758, 97, 83, 285, 98, 81, 274, 83, 99, - 286, 280, 100, 101, 81, 117, 112, 102, 113, 275, - 129, 125, 354, 83, 118, 119, 759, 120, 114, 294, - 81, 83, 124, 121, 134, 126, 81, 295, 130, 140, - 81, 127, 131, 81, 141, 297, 132, 83, 81, 760, - 133, 81, 355, 83, 142, 357, 81, 83, 358, 298, - 83, 143, 144, 145, 135, 83, 146, 148, 83, 147, - 81, 149, 136, 83, 761, 180, 81, 81, 419, 150, - - 171, 762, 420, 179, 405, 151, 81, 83, 763, 421, - 81, 152, 181, 83, 83, 153, 81, 406, 182, 154, - 54, 155, 156, 83, 186, 163, 183, 83, 164, 165, - 166, 167, 168, 83, 561, 562, 240, 55, 157, 184, - 169, 241, 764, 158, 159, 242, 185, 160, 161, 81, - 188, 172, 162, 321, 54, 170, 599, 424, 173, 425, - 600, 556, 174, 765, 175, 176, 83, 187, 322, 323, - 557, 55, 57, 57, 57, 57, 57, 65, 65, 65, - 65, 65, 768, 769, 770, 177, 197, 197, 197, 197, - 197, 192, 74, 567, 75, 75, 75, 75, 75, 771, - - 198, 565, 772, 568, 773, 199, 199, 569, 76, 200, - 200, 200, 200, 200, 566, 774, 225, 192, 226, 227, - 775, 776, 777, 311, 311, 228, 198, 312, 312, 312, - 312, 312, 778, 779, 76, 197, 197, 197, 197, 197, - 314, 314, 780, 781, 315, 315, 315, 315, 315, 313, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, - 766, 782, 432, 432, 767, 313, 433, 433, 433, 433, - 433, 315, 315, 315, 315, 315, 315, 315, 315, 315, - 315, 433, 433, 433, 433, 433, 433, 433, 433, 433, - - 433, 783, 784, 785, 786, 787, 788, 789, 790, 791, - 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, - 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, - 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, - 822, 823, 824, 825, 826, 827, 829, 828, 828, 831, - 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, - 832, 833, 834, 835, 836, 828, 828, 828, 828, 828, - 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, - 847, 848, 849, 850, 851, 852, 853, 854, 856, 857, - 859, 860, 861, 862, 828, 863, 864, 865, 866, 867, - - 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, - 878, 879, 880, 881, 882, 883, 884, 885, 886, 828, - 828, 855, 855, 887, 855, 855, 855, 855, 855, 855, - 855, 855, 855, 855, 888, 889, 890, 891, 892, 855, - 855, 855, 855, 855, 893, 894, 895, 896, 897, 898, - 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, - 909, 910, 911, 912, 913, 914, 915, 916, 855, 917, - 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, - 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, - 938, 939, 940, 855, 855, 941, 942, 943, 944, 945, + 32, 32, 32, 45, 46, 32, 32, 32, 32, 47, + 32, 48, 49, 32, 32, 32, 50, 32, 32, 51, + 32, 32, 32, 32, 52, 53, 54, 54, 56, 54, + 54, 58, 54, 57, 57, 57, 57, 57, 59, 60, + 757, 62, 54, 55, 55, 54, 55, 55, 54, 55, + + 54, 61, 63, 70, 54, 54, 54, 71, 81, 55, + 77, 427, 55, 428, 54, 55, 72, 55, 218, 219, + 54, 55, 55, 55, 64, 83, 65, 65, 65, 65, + 65, 55, 78, 487, 488, 81, 54, 55, 54, 196, + 79, 66, 73, 74, 54, 75, 75, 75, 75, 75, + 81, 82, 83, 55, 67, 68, 69, 54, 81, 76, + 81, 55, 122, 103, 191, 81, 209, 83, 189, 758, + 84, 104, 54, 89, 55, 83, 85, 83, 138, 81, + 261, 90, 83, 81, 210, 76, 81, 262, 123, 55, + 86, 87, 88, 105, 356, 91, 83, 106, 759, 274, + + 83, 92, 93, 83, 81, 107, 81, 109, 108, 81, + 94, 179, 115, 95, 81, 110, 96, 111, 275, 128, + 116, 83, 221, 83, 357, 97, 83, 281, 98, 81, + 222, 83, 99, 124, 760, 100, 101, 81, 117, 81, + 112, 102, 113, 282, 125, 129, 83, 81, 118, 119, + 172, 120, 114, 134, 83, 81, 83, 121, 126, 761, + 241, 139, 81, 130, 83, 127, 242, 131, 135, 276, + 243, 132, 83, 180, 299, 762, 133, 81, 81, 83, + 81, 54, 277, 136, 278, 606, 141, 140, 300, 279, + 607, 142, 137, 81, 83, 83, 81, 83, 55, 182, + + 763, 143, 149, 81, 181, 173, 150, 764, 144, 145, + 83, 146, 174, 83, 147, 151, 175, 148, 176, 177, + 83, 152, 81, 287, 183, 81, 296, 153, 765, 288, + 188, 154, 81, 184, 297, 155, 185, 156, 157, 83, + 178, 164, 83, 323, 165, 166, 167, 168, 169, 83, + 81, 766, 359, 408, 158, 360, 170, 767, 324, 325, + 159, 160, 186, 768, 161, 162, 409, 83, 769, 163, + 566, 567, 171, 57, 57, 57, 57, 57, 187, 65, + 65, 65, 65, 65, 198, 198, 198, 198, 198, 770, + 771, 772, 773, 193, 570, 774, 775, 74, 199, 75, + + 75, 75, 75, 75, 200, 200, 561, 571, 201, 201, + 201, 201, 201, 76, 776, 562, 779, 226, 777, 193, + 227, 228, 778, 780, 199, 313, 313, 229, 783, 314, + 314, 314, 314, 314, 198, 198, 198, 198, 198, 76, + 201, 201, 201, 201, 201, 316, 316, 781, 315, 317, + 317, 317, 317, 317, 201, 201, 201, 201, 201, 422, + 784, 785, 782, 786, 423, 314, 314, 314, 314, 314, + 787, 424, 788, 789, 315, 314, 314, 314, 314, 314, + 435, 435, 790, 791, 436, 436, 436, 436, 436, 317, + 317, 317, 317, 317, 317, 317, 317, 317, 317, 436, + + 436, 436, 436, 436, 436, 436, 436, 436, 436, 572, + 792, 793, 794, 795, 796, 797, 798, 799, 800, 573, + 801, 802, 803, 574, 804, 805, 806, 807, 808, 809, + 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, + 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, + 830, 831, 832, 833, 834, 835, 836, 837, 838, 840, + 839, 839, 842, 839, 839, 839, 839, 839, 839, 839, + 839, 839, 839, 843, 844, 845, 846, 847, 839, 839, + 839, 839, 839, 848, 849, 850, 851, 852, 853, 854, + 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, + + 865, 867, 868, 870, 871, 872, 873, 839, 874, 875, + 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, + 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, + 896, 897, 898, 899, 839, 839, 866, 866, 900, 866, + 866, 866, 866, 866, 866, 866, 866, 866, 866, 901, + 902, 903, 904, 905, 866, 866, 866, 866, 866, 906, + 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, + 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, + 927, 928, 929, 866, 930, 931, 932, 933, 934, 935, + 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, - 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, - 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, - 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, - 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, - 996, 80, 828, 753, 828, 830, 752, 830, 855, 751, - 855, 858, 750, 858, 749, 748, 747, 746, 745, 744, - 743, 742, 741, 740, 739, 738, 737, 736, 735, 734, - 733, 732, 731, 730, 729, 728, 727, 726, 725, 724, - 723, 722, 721, 720, 719, 718, 717, 716, 715, 714, - - 713, 712, 711, 710, 709, 708, 707, 706, 705, 704, - 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, - 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, - 683, 682, 681, 680, 679, 678, 677, 676, 675, 674, - 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, - 663, 662, 661, 660, 659, 658, 657, 656, 655, 654, - 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, - 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, - 633, 632, 631, 630, 629, 628, 627, 626, 625, 624, - 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, - - 613, 612, 611, 610, 609, 608, 607, 606, 605, 604, - 603, 602, 601, 598, 597, 596, 595, 594, 593, 592, - 591, 590, 589, 588, 587, 586, 585, 584, 583, 582, - 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, - 571, 570, 564, 563, 560, 559, 558, 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, - 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, - 442, 441, 440, 439, 438, 437, 436, 435, 434, 431, - 430, 429, 428, 427, 426, 423, 422, 418, 417, 416, - 415, 414, 413, 412, 411, 410, 409, 408, 407, 404, - 403, 402, 401, 400, 399, 398, 397, 396, 395, 394, - - 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, - 383, 382, 381, 380, 379, 378, 377, 376, 375, 374, - 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, - 363, 362, 361, 360, 359, 356, 353, 352, 351, 350, - 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, - 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, - 329, 328, 327, 326, 325, 324, 320, 319, 318, 317, - 316, 310, 309, 308, 307, 306, 305, 304, 303, 302, - 301, 300, 299, 296, 293, 292, 291, 290, 289, 288, - 287, 284, 283, 282, 281, 278, 271, 270, 269, 268, - - 267, 266, 265, 264, 263, 262, 259, 258, 257, 256, - 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, - 245, 244, 243, 239, 238, 237, 236, 235, 234, 233, - 232, 231, 230, 229, 224, 223, 222, 219, 216, 215, - 214, 213, 212, 211, 210, 207, 206, 205, 204, 203, - 202, 201, 196, 194, 193, 191, 190, 189, 997, 3, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997 + 866, 866, 956, 957, 958, 959, 960, 961, 962, 963, + 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, + 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, + 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, + 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, + 1004, 1005, 1006, 1007, 80, 839, 756, 839, 841, 755, + 841, 866, 754, 866, 869, 753, 869, 752, 751, 750, + 749, 748, 747, 746, 745, 744, 743, 742, 741, 740, + 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, + + 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, + 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, + 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, + 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, + 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, + 679, 678, 677, 676, 675, 674, 673, 672, 671, 670, + 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, + 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, + 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, + 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, + + 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, + 619, 618, 617, 616, 615, 614, 613, 612, 611, 610, + 609, 608, 605, 604, 603, 602, 601, 600, 599, 598, + 597, 596, 595, 594, 593, 592, 591, 590, 589, 588, + 587, 586, 585, 584, 583, 582, 581, 580, 579, 578, + 577, 576, 575, 569, 568, 565, 564, 563, 560, 559, + 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, + 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, + 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, + 528, 527, 526, 525, 524, 523, 522, 521, 520, 519, + + 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, + 508, 507, 506, 505, 504, 503, 502, 501, 500, 499, + 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, + 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, 444, 443, 442, 441, 440, 439, 438, 437, + 434, 433, 432, 431, 430, 429, 426, 425, 421, 420, + 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, + + 407, 406, 405, 404, 403, 402, 401, 400, 399, 398, + 397, 396, 395, 394, 393, 392, 391, 390, 389, 388, + 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, + 377, 376, 375, 374, 373, 372, 371, 370, 369, 368, + 367, 366, 365, 364, 363, 362, 361, 358, 355, 354, + 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, + 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, + 333, 332, 331, 330, 329, 328, 327, 326, 322, 321, + 320, 319, 318, 312, 311, 310, 309, 308, 307, 306, + 305, 304, 303, 302, 301, 298, 295, 294, 293, 292, + + 291, 290, 289, 286, 285, 284, 283, 280, 273, 272, + 271, 270, 269, 268, 267, 266, 265, 264, 263, 260, + 259, 258, 257, 256, 255, 254, 253, 252, 251, 250, + 249, 248, 247, 246, 245, 244, 240, 239, 238, 237, + 236, 235, 234, 233, 232, 231, 230, 225, 224, 223, + 220, 217, 216, 215, 214, 213, 212, 211, 208, 207, + 206, 205, 204, 203, 202, 197, 195, 194, 192, 191, + 190, 1008, 3, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008 } ; -static yyconst short int yy_chk[1335] = +static yyconst short int yy_chk[1350] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -833,146 +837,147 @@ static yyconst short int yy_chk[1335] = 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, 4, 5, 7, 8, 11, 10, - 7, 9, 9, 9, 9, 9, 12, 13, 708, 14, - 12, 4, 5, 9, 8, 11, 18, 7, 10, 13, - - 14, 16, 19, 13, 14, 16, 32, 12, 20, 98, - 9, 709, 20, 18, 16, 10, 88, 98, 16, 19, - 13, 14, 15, 32, 15, 15, 15, 15, 15, 20, - 21, 96, 96, 88, 21, 16, 15, 68, 22, 15, - 16, 17, 22, 17, 17, 17, 17, 17, 23, 23, - 33, 21, 15, 15, 15, 17, 24, 17, 29, 22, - 29, 26, 68, 26, 44, 23, 147, 33, 23, 26, - 147, 24, 17, 24, 23, 29, 37, 36, 133, 24, - 26, 44, 145, 17, 133, 33, 710, 23, 23, 23, - 37, 26, 24, 37, 36, 26, 44, 711, 24, 25, - - 145, 25, 26, 27, 27, 26, 30, 25, 30, 28, - 25, 28, 27, 25, 27, 37, 149, 28, 25, 36, - 27, 713, 25, 30, 158, 25, 31, 146, 28, 25, - 158, 149, 25, 25, 34, 28, 27, 25, 27, 146, - 34, 31, 237, 31, 28, 28, 714, 28, 27, 170, - 38, 34, 30, 28, 35, 31, 35, 170, 34, 38, - 42, 31, 34, 39, 38, 172, 34, 38, 45, 715, - 34, 46, 237, 35, 38, 239, 47, 42, 239, 172, - 39, 38, 38, 38, 35, 45, 38, 39, 46, 38, - 48, 39, 35, 47, 716, 46, 51, 49, 301, 39, - - 42, 717, 301, 45, 288, 39, 40, 48, 720, 301, - 50, 40, 47, 51, 49, 40, 41, 288, 48, 40, - 52, 40, 40, 40, 51, 41, 48, 50, 41, 41, - 41, 41, 41, 41, 466, 466, 114, 52, 40, 49, - 41, 114, 721, 40, 40, 114, 50, 40, 40, 43, - 53, 43, 40, 206, 53, 41, 512, 304, 43, 304, - 512, 462, 43, 722, 43, 43, 43, 52, 206, 206, - 462, 53, 57, 57, 57, 57, 57, 65, 65, 65, - 65, 65, 724, 725, 727, 43, 74, 74, 74, 74, - 74, 65, 75, 471, 75, 75, 75, 75, 75, 727, - - 74, 470, 728, 471, 729, 76, 76, 471, 75, 76, - 76, 76, 76, 76, 470, 730, 102, 65, 102, 102, - 731, 732, 733, 192, 192, 102, 74, 192, 192, 192, - 192, 192, 734, 736, 75, 197, 197, 197, 197, 197, - 198, 198, 739, 741, 198, 198, 198, 198, 198, 197, - 199, 199, 199, 199, 199, 200, 200, 200, 200, 200, - 311, 311, 311, 311, 311, 312, 312, 312, 312, 312, - 723, 742, 313, 313, 723, 197, 313, 313, 313, 313, - 313, 314, 314, 314, 314, 314, 315, 315, 315, 315, - 315, 432, 432, 432, 432, 432, 433, 433, 433, 433, - - 433, 743, 744, 746, 747, 748, 750, 751, 752, 753, - 754, 756, 758, 759, 760, 762, 763, 764, 765, 766, - 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, - 778, 781, 783, 784, 785, 786, 787, 788, 789, 790, - 792, 793, 794, 795, 796, 797, 799, 800, 800, 801, - 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, - 802, 803, 804, 805, 806, 800, 800, 800, 800, 800, - 807, 808, 809, 810, 811, 812, 813, 814, 815, 817, - 818, 819, 820, 821, 823, 824, 825, 827, 831, 832, - 834, 835, 836, 837, 800, 839, 840, 841, 842, 843, - - 844, 845, 846, 848, 849, 850, 851, 852, 853, 856, - 859, 860, 861, 862, 863, 864, 865, 866, 867, 800, - 800, 833, 833, 868, 833, 833, 833, 833, 833, 833, - 833, 833, 833, 833, 869, 871, 873, 874, 875, 833, - 833, 833, 833, 833, 877, 878, 879, 880, 881, 882, - 883, 884, 886, 887, 888, 889, 890, 891, 892, 893, - 894, 895, 896, 898, 900, 901, 902, 903, 833, 904, - 905, 906, 907, 908, 909, 910, 911, 912, 913, 917, - 918, 919, 921, 922, 923, 924, 925, 926, 927, 928, - 929, 930, 932, 833, 833, 933, 934, 935, 936, 937, - - 938, 939, 940, 941, 942, 945, 946, 947, 948, 949, - 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, - 960, 961, 962, 963, 964, 965, 966, 967, 969, 970, - 971, 972, 973, 975, 976, 978, 979, 980, 981, 982, - 983, 985, 986, 987, 988, 989, 990, 991, 992, 994, - 995, 998, 999, 706, 999, 1000, 705, 1000, 1001, 704, - 1001, 1002, 703, 1002, 702, 701, 700, 698, 697, 696, - 695, 694, 691, 690, 689, 688, 687, 686, 685, 684, - 683, 682, 681, 680, 679, 678, 677, 676, 675, 674, - 673, 672, 671, 670, 669, 667, 666, 664, 663, 662, - - 661, 660, 658, 656, 655, 654, 653, 652, 651, 650, - 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, - 638, 637, 636, 634, 633, 632, 631, 629, 628, 627, - 626, 625, 624, 623, 622, 621, 620, 618, 616, 615, - 614, 613, 612, 611, 607, 606, 605, 603, 601, 600, - 599, 598, 597, 596, 595, 594, 592, 590, 587, 586, - 583, 582, 581, 580, 577, 574, 573, 571, 570, 569, - 568, 567, 566, 565, 564, 562, 561, 559, 558, 557, - 556, 555, 552, 551, 550, 549, 547, 546, 545, 544, - 543, 542, 540, 538, 537, 536, 535, 532, 531, 530, - - 529, 528, 527, 526, 523, 522, 520, 519, 518, 517, - 516, 515, 513, 511, 510, 509, 508, 507, 506, 505, - 504, 503, 501, 500, 499, 498, 497, 494, 492, 491, - 490, 487, 485, 484, 483, 481, 480, 478, 477, 475, - 474, 473, 469, 467, 465, 464, 463, 461, 460, 459, - 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, - 448, 447, 446, 445, 444, 443, 442, 440, 439, 438, - 437, 436, 435, 434, 431, 430, 429, 428, 427, 426, - 425, 422, 421, 420, 419, 417, 416, 415, 414, 413, - 412, 410, 409, 408, 407, 406, 405, 403, 402, 400, - - 399, 398, 397, 396, 394, 393, 392, 391, 390, 389, - 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, - 377, 375, 374, 372, 371, 370, 369, 368, 367, 366, - 364, 362, 361, 360, 358, 357, 356, 355, 354, 353, - 352, 351, 349, 348, 347, 344, 343, 342, 341, 340, - 338, 336, 335, 334, 333, 332, 331, 329, 328, 327, - 326, 325, 323, 322, 321, 319, 318, 317, 316, 310, - 309, 308, 307, 306, 305, 303, 302, 300, 299, 298, - 297, 296, 295, 294, 293, 292, 291, 290, 289, 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, 250, 249, 247, 246, - 245, 244, 243, 242, 240, 238, 236, 235, 234, 233, - 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, - 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, - 212, 211, 210, 209, 208, 207, 205, 204, 203, 202, - 201, 190, 189, 186, 185, 184, 183, 182, 181, 180, - 179, 178, 177, 171, 169, 166, 164, 162, 161, 160, - 159, 157, 152, 151, 150, 148, 143, 142, 141, 140, - - 139, 138, 137, 136, 135, 134, 132, 131, 130, 129, - 128, 127, 125, 124, 123, 122, 121, 120, 119, 118, - 117, 116, 115, 113, 112, 111, 110, 109, 108, 107, - 106, 105, 104, 103, 101, 100, 99, 97, 95, 94, - 93, 92, 91, 90, 89, 87, 86, 85, 84, 83, - 82, 81, 69, 67, 66, 64, 55, 54, 3, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997 + 1, 1, 1, 1, 1, 1, 4, 5, 7, 8, + 11, 10, 7, 9, 9, 9, 9, 9, 12, 13, + 707, 14, 12, 4, 5, 9, 8, 11, 18, 7, + + 10, 13, 14, 16, 19, 13, 14, 16, 32, 12, + 20, 306, 9, 306, 20, 18, 16, 10, 96, 96, + 16, 19, 13, 14, 15, 32, 15, 15, 15, 15, + 15, 20, 21, 382, 382, 36, 21, 16, 15, 68, + 22, 15, 16, 17, 22, 17, 17, 17, 17, 17, + 23, 23, 36, 21, 15, 15, 15, 17, 24, 17, + 29, 22, 29, 26, 68, 26, 88, 23, 53, 709, + 23, 26, 53, 24, 17, 24, 23, 29, 36, 44, + 133, 24, 26, 33, 88, 17, 30, 133, 30, 53, + 23, 23, 23, 26, 238, 24, 44, 26, 710, 146, + + 33, 24, 25, 30, 25, 26, 27, 27, 26, 42, + 25, 44, 28, 25, 28, 27, 25, 27, 146, 33, + 28, 25, 98, 27, 238, 25, 42, 150, 25, 31, + 98, 28, 25, 30, 711, 25, 25, 45, 28, 34, + 27, 25, 27, 150, 31, 34, 31, 37, 28, 28, + 42, 28, 27, 35, 45, 35, 34, 28, 31, 712, + 114, 37, 47, 34, 37, 31, 114, 34, 35, 147, + 114, 34, 35, 45, 173, 715, 34, 38, 39, 47, + 46, 52, 147, 35, 148, 517, 38, 37, 173, 148, + 517, 38, 35, 49, 38, 39, 48, 46, 52, 47, + + 716, 38, 39, 43, 46, 43, 39, 717, 38, 38, + 49, 38, 43, 48, 38, 39, 43, 38, 43, 43, + 43, 39, 40, 159, 48, 50, 171, 40, 719, 159, + 52, 40, 41, 48, 171, 40, 49, 40, 40, 40, + 43, 41, 50, 207, 41, 41, 41, 41, 41, 41, + 51, 720, 240, 290, 40, 240, 41, 721, 207, 207, + 40, 40, 50, 722, 40, 40, 290, 51, 724, 40, + 469, 469, 41, 57, 57, 57, 57, 57, 51, 65, + 65, 65, 65, 65, 74, 74, 74, 74, 74, 725, + 726, 727, 728, 65, 473, 731, 732, 75, 74, 75, + + 75, 75, 75, 75, 76, 76, 465, 473, 76, 76, + 76, 76, 76, 75, 733, 465, 735, 102, 734, 65, + 102, 102, 734, 736, 74, 193, 193, 102, 739, 193, + 193, 193, 193, 193, 198, 198, 198, 198, 198, 75, + 200, 200, 200, 200, 200, 199, 199, 738, 198, 199, + 199, 199, 199, 199, 201, 201, 201, 201, 201, 303, + 740, 741, 738, 742, 303, 313, 313, 313, 313, 313, + 743, 303, 744, 745, 198, 314, 314, 314, 314, 314, + 315, 315, 747, 750, 315, 315, 315, 315, 315, 316, + 316, 316, 316, 316, 317, 317, 317, 317, 317, 435, + + 435, 435, 435, 435, 436, 436, 436, 436, 436, 474, + 752, 753, 754, 755, 757, 758, 759, 761, 762, 474, + 763, 764, 765, 474, 767, 769, 770, 771, 773, 774, + 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, + 785, 786, 787, 789, 792, 794, 795, 796, 797, 798, + 799, 800, 801, 803, 804, 805, 806, 807, 808, 810, + 811, 811, 812, 811, 811, 811, 811, 811, 811, 811, + 811, 811, 811, 813, 814, 815, 816, 817, 811, 811, + 811, 811, 811, 818, 819, 820, 821, 822, 823, 824, + 825, 826, 828, 829, 830, 831, 832, 834, 835, 836, + + 838, 842, 843, 845, 846, 847, 848, 811, 850, 851, + 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, + 863, 864, 867, 870, 871, 872, 873, 874, 875, 876, + 877, 878, 879, 880, 811, 811, 844, 844, 882, 844, + 844, 844, 844, 844, 844, 844, 844, 844, 844, 884, + 885, 886, 888, 889, 844, 844, 844, 844, 844, 890, + 891, 892, 893, 894, 895, 897, 898, 899, 900, 901, + 902, 903, 904, 905, 906, 907, 909, 911, 912, 913, + 914, 915, 916, 844, 917, 918, 919, 920, 921, 922, + 923, 924, 928, 929, 930, 932, 933, 934, 935, 936, + + 937, 938, 939, 940, 941, 943, 944, 945, 946, 947, + 844, 844, 948, 949, 950, 951, 952, 953, 956, 957, + 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, + 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, + 978, 980, 981, 982, 983, 984, 986, 987, 989, 990, + 991, 992, 993, 994, 996, 997, 998, 999, 1000, 1001, + 1002, 1003, 1005, 1006, 1009, 1010, 706, 1010, 1011, 705, + 1011, 1012, 704, 1012, 1013, 703, 1013, 700, 699, 698, + 697, 696, 695, 694, 693, 692, 691, 690, 689, 688, + 687, 686, 685, 684, 683, 682, 681, 680, 679, 678, + + 676, 675, 673, 672, 671, 670, 669, 667, 665, 664, + 663, 662, 661, 660, 659, 658, 657, 656, 655, 654, + 653, 652, 651, 650, 649, 648, 647, 645, 644, 643, + 641, 640, 639, 638, 636, 635, 634, 633, 632, 631, + 630, 629, 628, 627, 625, 623, 622, 621, 620, 619, + 618, 614, 613, 612, 610, 608, 607, 606, 605, 604, + 603, 602, 601, 599, 597, 594, 593, 590, 589, 588, + 587, 584, 583, 582, 579, 578, 576, 575, 574, 573, + 572, 571, 570, 569, 567, 566, 564, 563, 562, 561, + 560, 557, 556, 555, 554, 552, 551, 550, 549, 548, + + 547, 545, 543, 542, 541, 540, 537, 536, 535, 534, + 533, 532, 531, 528, 527, 525, 524, 523, 522, 521, + 520, 518, 516, 515, 514, 513, 512, 511, 510, 509, + 508, 506, 505, 504, 503, 502, 499, 497, 496, 495, + 492, 490, 489, 488, 487, 486, 484, 483, 481, 480, + 478, 477, 476, 472, 470, 468, 467, 466, 464, 463, + 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, + 452, 451, 450, 449, 448, 447, 446, 445, 443, 442, + 441, 440, 439, 438, 437, 434, 433, 432, 431, 430, + 429, 428, 425, 424, 423, 422, 420, 419, 418, 417, + + 416, 415, 413, 412, 411, 410, 409, 408, 406, 405, + 403, 402, 401, 400, 399, 397, 396, 395, 394, 393, + 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, + 381, 379, 377, 376, 374, 373, 372, 371, 370, 369, + 368, 366, 364, 363, 362, 360, 359, 358, 357, 356, + 355, 354, 353, 351, 350, 349, 346, 345, 344, 343, + 342, 340, 338, 337, 336, 335, 334, 333, 331, 330, + 329, 328, 327, 325, 324, 323, 321, 320, 319, 318, + 312, 311, 310, 309, 308, 307, 305, 304, 302, 301, + 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, + + 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, 250, + 248, 247, 246, 245, 244, 243, 241, 239, 237, 236, + 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, + 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, + 215, 214, 213, 212, 211, 210, 209, 208, 206, 205, + 204, 203, 202, 191, 190, 187, 186, 185, 184, 183, + 182, 181, 180, 179, 178, 172, 170, 167, 165, 163, + + 162, 161, 160, 158, 153, 152, 151, 149, 144, 143, + 142, 141, 140, 139, 138, 137, 136, 135, 134, 132, + 131, 130, 129, 128, 127, 125, 124, 123, 122, 121, + 120, 119, 118, 117, 116, 115, 113, 112, 111, 110, + 109, 108, 107, 106, 105, 104, 103, 101, 100, 99, + 97, 95, 94, 93, 92, 91, 90, 89, 87, 86, + 85, 84, 83, 82, 81, 69, 67, 66, 64, 55, + 54, 3, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008 } ; static yy_state_type yy_last_accepting_state; @@ -990,7 +995,7 @@ char *yytext; #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.101 2001-08-06 08:09:51 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.102 2001-08-08 14:05:27 remacle Exp $ #include <stdio.h> #include <stdlib.h> @@ -1033,7 +1038,7 @@ void skipline(void); && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); -#line 1037 "Gmsh.yy.cpp" +#line 1042 "Gmsh.yy.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1187,7 +1192,7 @@ YY_DECL #line 63 "Gmsh.l" -#line 1191 "Gmsh.yy.cpp" +#line 1196 "Gmsh.yy.cpp" if ( yy_init ) { @@ -1238,13 +1243,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 >= 998 ) + if ( yy_current_state >= 1009 ) 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] != 1260 ); + while ( yy_base[yy_current_state] != 1273 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1662,521 +1667,531 @@ return tMesh; YY_BREAK case 79: YY_RULE_SETUP -#line 155 "Gmsh.l" -return tNurbs; +#line 154 "Gmsh.l" +return tMPI_Rank; YY_BREAK case 80: YY_RULE_SETUP -#line 157 "Gmsh.l" -return tOrder; +#line 155 "Gmsh.l" +return tMPI_Size; YY_BREAK case 81: YY_RULE_SETUP -#line 159 "Gmsh.l" -return tPhysical; +#line 157 "Gmsh.l" +return tNurbs; YY_BREAK case 82: YY_RULE_SETUP -#line 160 "Gmsh.l" -return tPi; +#line 159 "Gmsh.l" +return tOrder; YY_BREAK case 83: YY_RULE_SETUP #line 161 "Gmsh.l" -return tPlane; +return tPhysical; YY_BREAK case 84: YY_RULE_SETUP #line 162 "Gmsh.l" -return tPoint; +return tPi; YY_BREAK case 85: YY_RULE_SETUP #line 163 "Gmsh.l" -return tProgression; +return tPlane; YY_BREAK case 86: YY_RULE_SETUP #line 164 "Gmsh.l" -return tProgression; +return tPoint; YY_BREAK case 87: YY_RULE_SETUP #line 165 "Gmsh.l" -return tParametric; +return tProgression; YY_BREAK case 88: YY_RULE_SETUP #line 166 "Gmsh.l" -return tPrintf; +return tProgression; YY_BREAK case 89: YY_RULE_SETUP #line 167 "Gmsh.l" -return tPlugin; +return tParametric; YY_BREAK case 90: YY_RULE_SETUP -#line 169 "Gmsh.l" -return tRecombine; +#line 168 "Gmsh.l" +return tPrintf; YY_BREAK case 91: YY_RULE_SETUP -#line 170 "Gmsh.l" -return tRotate; +#line 169 "Gmsh.l" +return tPlugin; YY_BREAK case 92: YY_RULE_SETUP #line 171 "Gmsh.l" -return tRuled; +return tRecombine; YY_BREAK case 93: YY_RULE_SETUP #line 172 "Gmsh.l" -return tRand; +return tRotate; YY_BREAK case 94: YY_RULE_SETUP #line 173 "Gmsh.l" -return tReturn; +return tRuled; YY_BREAK case 95: YY_RULE_SETUP -#line 175 "Gmsh.l" -return tSqrt ; +#line 174 "Gmsh.l" +return tRand; YY_BREAK case 96: YY_RULE_SETUP -#line 176 "Gmsh.l" -return tSin ; +#line 175 "Gmsh.l" +return tReturn; YY_BREAK case 97: YY_RULE_SETUP #line 177 "Gmsh.l" -return tSinh ; +return tSqrt ; YY_BREAK case 98: YY_RULE_SETUP #line 178 "Gmsh.l" -return tSpline; +return tSin ; YY_BREAK case 99: YY_RULE_SETUP #line 179 "Gmsh.l" -return tSurface; +return tSinh ; YY_BREAK case 100: YY_RULE_SETUP #line 180 "Gmsh.l" -return tSymmetry; +return tSpline; YY_BREAK case 101: YY_RULE_SETUP #line 181 "Gmsh.l" -return tSprintf ; +return tSurface; YY_BREAK case 102: YY_RULE_SETUP #line 182 "Gmsh.l" -return tStrCat ; +return tSymmetry; YY_BREAK case 103: YY_RULE_SETUP #line 183 "Gmsh.l" -return tStrPrefix ; +return tSprintf ; YY_BREAK case 104: YY_RULE_SETUP -#line 185 "Gmsh.l" -return tTransfinite; +#line 184 "Gmsh.l" +return tStrCat ; YY_BREAK case 105: YY_RULE_SETUP -#line 186 "Gmsh.l" -return tTranslate; +#line 185 "Gmsh.l" +return tStrPrefix ; YY_BREAK case 106: YY_RULE_SETUP #line 187 "Gmsh.l" -return tTanh ; +return tTransfinite; YY_BREAK case 107: YY_RULE_SETUP #line 188 "Gmsh.l" -return tTan; +return tTranslate; YY_BREAK case 108: YY_RULE_SETUP #line 189 "Gmsh.l" -return tTrimmed; +return tTanh ; YY_BREAK case 109: YY_RULE_SETUP -#line 191 "Gmsh.l" -return tUsing; +#line 190 "Gmsh.l" +return tTan; YY_BREAK case 110: YY_RULE_SETUP -#line 193 "Gmsh.l" -return tVolume; +#line 191 "Gmsh.l" +return tTrimmed; YY_BREAK case 111: YY_RULE_SETUP -#line 195 "Gmsh.l" -return tWith; +#line 193 "Gmsh.l" +return tUsing; YY_BREAK case 112: YY_RULE_SETUP -#line 197 "Gmsh.l" -return tScalarTetrahedron; +#line 195 "Gmsh.l" +return tVolume; YY_BREAK case 113: YY_RULE_SETUP -#line 198 "Gmsh.l" -return tVectorTetrahedron; +#line 197 "Gmsh.l" +return tWith; YY_BREAK case 114: YY_RULE_SETUP #line 199 "Gmsh.l" -return tTensorTetrahedron; +return tScalarTetrahedron; YY_BREAK case 115: YY_RULE_SETUP #line 200 "Gmsh.l" -return tScalarTriangle; +return tVectorTetrahedron; YY_BREAK case 116: YY_RULE_SETUP #line 201 "Gmsh.l" -return tVectorTriangle; +return tTensorTetrahedron; YY_BREAK case 117: YY_RULE_SETUP #line 202 "Gmsh.l" -return tTensorTriangle; +return tScalarTriangle; YY_BREAK case 118: YY_RULE_SETUP #line 203 "Gmsh.l" -return tScalarLine; +return tVectorTriangle; YY_BREAK case 119: YY_RULE_SETUP #line 204 "Gmsh.l" -return tVectorLine; +return tTensorTriangle; YY_BREAK case 120: YY_RULE_SETUP #line 205 "Gmsh.l" -return tTensorLine; +return tScalarLine; YY_BREAK case 121: YY_RULE_SETUP #line 206 "Gmsh.l" -return tScalarPoint; +return tVectorLine; YY_BREAK case 122: YY_RULE_SETUP #line 207 "Gmsh.l" -return tVectorPoint; +return tTensorLine; YY_BREAK case 123: YY_RULE_SETUP #line 208 "Gmsh.l" -return tTensorPoint; +return tScalarPoint; YY_BREAK case 124: YY_RULE_SETUP -#line 211 "Gmsh.l" -return tCARTESIAN_POINT; +#line 209 "Gmsh.l" +return tVectorPoint; YY_BREAK case 125: YY_RULE_SETUP -#line 212 "Gmsh.l" -return tB_SPLINE_SURFACE_WITH_KNOTS; +#line 210 "Gmsh.l" +return tTensorPoint; YY_BREAK case 126: YY_RULE_SETUP #line 213 "Gmsh.l" -return tB_SPLINE_CURVE_WITH_KNOTS; +return tCARTESIAN_POINT; YY_BREAK case 127: YY_RULE_SETUP #line 214 "Gmsh.l" -return tUNSPECIFIED; +return tB_SPLINE_SURFACE_WITH_KNOTS; YY_BREAK case 128: YY_RULE_SETUP #line 215 "Gmsh.l" -return tCONTINUOUS; +return tB_SPLINE_CURVE_WITH_KNOTS; YY_BREAK case 129: YY_RULE_SETUP #line 216 "Gmsh.l" -return tFALSE; +return tUNSPECIFIED; YY_BREAK case 130: YY_RULE_SETUP #line 217 "Gmsh.l" -return tTRUE; +return tCONTINUOUS; YY_BREAK case 131: YY_RULE_SETUP #line 218 "Gmsh.l" -return tU; +return tFALSE; YY_BREAK case 132: YY_RULE_SETUP #line 219 "Gmsh.l" -return tV; +return tTRUE; YY_BREAK case 133: YY_RULE_SETUP #line 220 "Gmsh.l" -return tORIENTED_EDGE; +return tU; YY_BREAK case 134: YY_RULE_SETUP #line 221 "Gmsh.l" -return tEDGE_CURVE; +return tV; YY_BREAK case 135: YY_RULE_SETUP #line 222 "Gmsh.l" -return tEDGE_LOOP; +return tORIENTED_EDGE; YY_BREAK case 136: YY_RULE_SETUP #line 223 "Gmsh.l" -return tVERTEX_POINT; +return tEDGE_CURVE; YY_BREAK case 137: YY_RULE_SETUP #line 224 "Gmsh.l" -return tFACE_OUTER_BOUND; +return tEDGE_LOOP; YY_BREAK case 138: YY_RULE_SETUP #line 225 "Gmsh.l" -return tFACE_BOUND; +return tVERTEX_POINT; YY_BREAK case 139: YY_RULE_SETUP #line 226 "Gmsh.l" -return tADVANCED_FACE; +return tFACE_OUTER_BOUND; YY_BREAK case 140: YY_RULE_SETUP #line 227 "Gmsh.l" -return tLine; +return tFACE_BOUND; YY_BREAK case 141: YY_RULE_SETUP #line 228 "Gmsh.l" -return tVECTOR; +return tADVANCED_FACE; YY_BREAK case 142: YY_RULE_SETUP #line 229 "Gmsh.l" -return tDIRECTION; +return tLine; YY_BREAK case 143: YY_RULE_SETUP #line 230 "Gmsh.l" -return tAXIS2_PLACEMENT_3D; +return tVECTOR; YY_BREAK case 144: YY_RULE_SETUP #line 231 "Gmsh.l" -return tPLANE; +return tDIRECTION; YY_BREAK case 145: YY_RULE_SETUP #line 232 "Gmsh.l" -return tHEADER; +return tAXIS2_PLACEMENT_3D; YY_BREAK case 146: YY_RULE_SETUP #line 233 "Gmsh.l" -return tDATA; +return tPLANE; YY_BREAK case 147: YY_RULE_SETUP #line 234 "Gmsh.l" -return tFILE_SCHEMA; +return tHEADER; YY_BREAK case 148: YY_RULE_SETUP #line 235 "Gmsh.l" -return tFILE_NAME; +return tDATA; YY_BREAK case 149: YY_RULE_SETUP #line 236 "Gmsh.l" -return tFILE_DESCRIPTION; +return tFILE_SCHEMA; YY_BREAK case 150: YY_RULE_SETUP #line 237 "Gmsh.l" -return tISO; +return tFILE_NAME; YY_BREAK case 151: YY_RULE_SETUP #line 238 "Gmsh.l" -return tENDISO; +return tFILE_DESCRIPTION; YY_BREAK case 152: YY_RULE_SETUP #line 239 "Gmsh.l" -return tENDSEC; +return tISO; YY_BREAK case 153: YY_RULE_SETUP #line 240 "Gmsh.l" -return tCLOSED_SHELL; +return tENDISO; YY_BREAK case 154: YY_RULE_SETUP #line 241 "Gmsh.l" -return tADVANCED_BREP_SHAPE_REPRESENTATION; +return tENDSEC; YY_BREAK case 155: YY_RULE_SETUP #line 242 "Gmsh.l" -return tMANIFOLD_SOLID_BREP; +return tCLOSED_SHELL; YY_BREAK case 156: YY_RULE_SETUP #line 243 "Gmsh.l" -return tCYLINDRICAL_SURFACE; +return tADVANCED_BREP_SHAPE_REPRESENTATION; YY_BREAK case 157: YY_RULE_SETUP #line 244 "Gmsh.l" -return tCONICAL_SURFACE; +return tMANIFOLD_SOLID_BREP; YY_BREAK case 158: YY_RULE_SETUP #line 245 "Gmsh.l" -return tTOROIDAL_SURFACE; +return tCYLINDRICAL_SURFACE; YY_BREAK case 159: YY_RULE_SETUP #line 246 "Gmsh.l" -return tCIRCLE; +return tCONICAL_SURFACE; YY_BREAK case 160: YY_RULE_SETUP #line 247 "Gmsh.l" -return tTRIMMED_CURVE; +return tTOROIDAL_SURFACE; YY_BREAK case 161: YY_RULE_SETUP #line 248 "Gmsh.l" -return tGEOMETRIC_SET; +return tCIRCLE; YY_BREAK case 162: YY_RULE_SETUP #line 249 "Gmsh.l" -return tCOMPOSITE_CURVE_SEGMENT; +return tTRIMMED_CURVE; YY_BREAK case 163: YY_RULE_SETUP #line 250 "Gmsh.l" -return tCOMPOSITE_CURVE; +return tGEOMETRIC_SET; YY_BREAK case 164: YY_RULE_SETUP #line 251 "Gmsh.l" -return tPRODUCT_DEFINITION; +return tCOMPOSITE_CURVE_SEGMENT; YY_BREAK case 165: YY_RULE_SETUP #line 252 "Gmsh.l" -return tPRODUCT_DEFINITION_SHAPE; +return tCOMPOSITE_CURVE; YY_BREAK case 166: YY_RULE_SETUP #line 253 "Gmsh.l" -return tSHAPE_DEFINITION_REPRESENTATION; +return tPRODUCT_DEFINITION; YY_BREAK case 167: YY_RULE_SETUP -#line 255 "Gmsh.l" -return tVertex; +#line 254 "Gmsh.l" +return tPRODUCT_DEFINITION_SHAPE; YY_BREAK case 168: YY_RULE_SETUP -#line 256 "Gmsh.l" -return tFacet; +#line 255 "Gmsh.l" +return tSHAPE_DEFINITION_REPRESENTATION; YY_BREAK case 169: YY_RULE_SETUP #line 257 "Gmsh.l" -return tNormal; +return tVertex; YY_BREAK case 170: YY_RULE_SETUP #line 258 "Gmsh.l" -return tOuter; +return tFacet; YY_BREAK case 171: YY_RULE_SETUP #line 259 "Gmsh.l" -return tLoopSTL; +return tNormal; YY_BREAK case 172: YY_RULE_SETUP #line 260 "Gmsh.l" -return tEndLoop; +return tOuter; YY_BREAK case 173: YY_RULE_SETUP #line 261 "Gmsh.l" -return tEndFacet; +return tLoopSTL; YY_BREAK case 174: YY_RULE_SETUP #line 262 "Gmsh.l" -{skipline();return tEndSolid;} +return tEndLoop; YY_BREAK case 175: YY_RULE_SETUP #line 263 "Gmsh.l" -{skipline();return tSolid;} +return tEndFacet; YY_BREAK case 176: YY_RULE_SETUP -#line 265 "Gmsh.l" -{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} +#line 264 "Gmsh.l" +{skipline();return tEndSolid;} YY_BREAK case 177: -#line 268 "Gmsh.l" +YY_RULE_SETUP +#line 265 "Gmsh.l" +{skipline();return tSolid;} + YY_BREAK case 178: -#line 269 "Gmsh.l" +YY_RULE_SETUP +#line 267 "Gmsh.l" +{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} + YY_BREAK case 179: #line 270 "Gmsh.l" case 180: +#line 271 "Gmsh.l" +case 181: +#line 272 "Gmsh.l" +case 182: YY_RULE_SETUP -#line 270 "Gmsh.l" +#line 272 "Gmsh.l" {yylval.d = atof((char *)yytext); return tDOUBLE;} YY_BREAK -case 181: +case 183: YY_RULE_SETUP -#line 272 "Gmsh.l" +#line 274 "Gmsh.l" {yylval.c = strsave((char*)yytext); return tSTRING;} YY_BREAK -case 182: +case 184: YY_RULE_SETUP -#line 274 "Gmsh.l" +#line 276 "Gmsh.l" return yytext[0]; YY_BREAK -case 183: +case 185: YY_RULE_SETUP -#line 276 "Gmsh.l" +#line 278 "Gmsh.l" ECHO; YY_BREAK -#line 2180 "Gmsh.yy.cpp" +#line 2195 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2468,7 +2483,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 >= 998 ) + if ( yy_current_state >= 1009 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2503,11 +2518,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 >= 998 ) + if ( yy_current_state >= 1009 ) 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 == 997); + yy_is_jam = (yy_current_state == 1008); return yy_is_jam ? 0 : yy_current_state; } @@ -3057,7 +3072,7 @@ int main() return 0; } #endif -#line 276 "Gmsh.l" +#line 278 "Gmsh.l" #undef yywrap diff --git a/Parser/Makefile b/Parser/Makefile index a7298a82c9130b1684211fa1afe9b7ad05ee39c7..d9b84b205b406439dc3d50bde2c24e44cf9df6a8 100644 --- a/Parser/Makefile +++ b/Parser/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.25 2001-08-07 21:00:10 remacle Exp $ +# $Id: Makefile,v 1.26 2001-08-08 14:05:27 remacle Exp $ # # Makefile for "libParser.a" # @@ -14,7 +14,7 @@ LEX = flex LIB = ../lib/libParser.a INCLUDE = -I../includes -I../Common -I../DataStr -I../Geo -I../Graphics\ - -I../Mesh -I../Motif -I../Fltk -I../Plugin + -I../Mesh -I../Motif -I../Fltk -I../Plugin -I../Parallel C_FLAGS = -g -Wall OS_FLAGS = -D_LITTLE_ENDIAN