New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 14107 for vendors/AGRIF/dev/LIB – NEMO

Ignore:
Timestamp:
2020-12-04T18:02:20+01:00 (3 years ago)
Author:
nicolasmartin
Message:

Reintegration of dev_r12970_AGRIF_CMEMS to AGRIF/dev

Location:
vendors/AGRIF/dev/LIB
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • vendors/AGRIF/dev/LIB/DiversListe.c

    r5656 r14107  
    479479        strcpy(newvar->var->v_nomvar,name); 
    480480        strcpy(newvar->var->v_modulename,curmodulename); 
     481        if (strcasecmp(curmodulename,"")) 
     482        { 
     483        newvar->var->v_module=1; 
     484        } 
    481485        strcpy(newvar->var->v_subroutinename,subroutinename); 
    482486        strcpy(newvar->var->v_commoninfile,cur_filename); 
     
    522526 
    523527            Init_Variable(newvar->var); 
    524  
    525528            newvar->var->v_save = 1; 
    526529            strcpy(newvar->var->v_nomvar,parcours->var->v_nomvar); 
     530            strcpy(newvar->var->v_dimchar,parcours->var->v_dimchar); 
    527531            strcpy(newvar->var->v_modulename,curmodulename); 
    528532            strcpy(newvar->var->v_subroutinename,subroutinename); 
     
    531535 
    532536            newvar->var->v_nbdim = parcours->var->v_nbdim; 
     537            strcpy(newvar->var->v_typevar,parcours->var->v_typevar); 
     538            strcpy(newvar->var->v_precision,parcours->var->v_precision); 
    533539            newvar->var->v_catvar = parcours->var->v_catvar; 
    534540            newvar->var->v_dimension = parcours->var->v_dimension; 
    535541            newvar->var->v_dimensiongiven=parcours->var->v_dimensiongiven; 
     542            newvar->var->v_allocatable = parcours->var->v_allocatable; 
     543            newvar->var->v_initialvalue = parcours->var->v_initialvalue; 
     544            newvar->var->v_initialvalue_array = parcours->var->v_initialvalue_array; 
    536545            newvar->suiv = List_Save_Var; 
    537546            List_Save_Var = newvar; 
  • vendors/AGRIF/dev/LIB/Makefile

    r5656 r14107  
    1818   @echo =================================================== 
    1919   @echo 
    20  
    21 #main.c: convert.y convert.lex 
    22 #  @echo =================================================== 
    23 #  @echo   Rebuilding main.c ... 
    24 #  @echo =================================================== 
    25 #  $(MAKE) -f Makefile.lex main.c 
    26  
    27 #fortran.c: fortran.y fortran.lex 
     20# Modif Laurent Debreu car Version de bison trop ancienne => Eviter l'appel a Bison 
     21main.c: ../LEX/convert.y ../LEX/convert.lex 
     22   @echo =================================================== 
     23   @echo   Rebuilding main.c ... 
     24   @echo =================================================== 
     25   $(MAKE) -f Makefile.lex main.c 
     26# 
     27fortran.c: ../LEX/fortran.y ../LEX/fortran.lex 
    2828#  @echo =================================================== 
    2929#  @echo   Rebuilding fortran.c ... 
     
    3232 
    3333conv: $(OBJS) 
    34    $(CC) $(CFLAGS) -g $(OBJS) -o ../$@ 
     34   $(CC) $(CFLAGS) $(OBJS) -o ../$@ 
    3535 
    3636%.o: %.c 
    37    $(CC) $(CFLAGS) -g -c $< -o $@ 
     37   $(CC) $(CFLAGS) -c $< -o $@ 
    3838 
    3939main.o : main.c 
     
    6262 
    6363clean: 
    64 #  $(MAKE) -f Makefile.lex clean 
     64   $(MAKE) -f ../LEX/Makefile.lex clean 
    6565   $(RM) *.o conv 
    6666    
     67clean-all: clean 
     68   $(MAKE) -f Makefile.lex clean-all 
  • vendors/AGRIF/dev/LIB/SubLoopCreation.c

    r5656 r14107  
    5858      if ( todebug == 1 ) printf("> enter in WriteBeginof_SubLoop : IsTabvarsUseInArgument_0() == 1\n"); 
    5959      /* we should add the use agrif_uti l if it is necessary                 */ 
     60      if (todebug == 1) fprintf(fortran_out,"\n      !DEBUG: Avant WriteHeadofSubroutineLoop\n"); 
    6061      WriteHeadofSubroutineLoop(); 
     62      if (todebug == 1) fprintf(fortran_out,"      !DEBUG: Apres WriteHeadofSubroutineLoop\n"); 
     63      fflush(fortran_out); 
     64      if (todebug == 1) { 
     65      fprintf(fortran_out,"      !DEBUG: Avant WriteUsemoduleDeclaration\n"); 
     66      } 
     67       
    6168      WriteUsemoduleDeclaration(subroutinename); 
    6269      if ( ImplicitNoneInSubroutine() == 1 ) fprintf(fortran_out, "      implicit none\n"); 
    6370      WriteIncludeDeclaration(fortran_out); 
     71      if (todebug == 1) fprintf(fortran_out,"      !DEBUG: Avant WriteIncludeDeclaration\n"); 
    6472      /*                                                                      */ 
    6573      /* We should write once the declaration of tables (extract              */ 
     
    7785      AddUseAgrifUtil_0(fortran_out); 
    7886      WriteUsemoduleDeclaration(subroutinename); 
     87      if ( ImplicitNoneInSubroutine() == 1 ) fprintf(fortran_out, "      implicit none\n"); 
    7988      WriteIncludeDeclaration(fortran_out); 
    80       if ( ImplicitNoneInSubroutine() == 1 ) fprintf(fortran_out, "      implicit none\n"); 
    8189      WriteLocalParamDeclaration(fortran_out); 
    8290      WriteArgumentDeclaration_beforecall(); 
     91      if (todebug == 1) fprintf(fortran_out,"      !DEBUG: Avant WriteFunctionDeclaration\n"); 
    8392      if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 1); 
    8493/*    writesub_loopdeclaration_scalar(List_SubroutineArgument_Var,fortran_out); 
     
    102111/*                                                                            */ 
    103112/******************************************************************************/ 
    104 void WriteVariablelist_subloop(char *ligne) 
     113void WriteVariablelist_subloop(char **ligne, size_t *line_length) 
    105114{ 
    106115   listvar *parcours; 
     
    117126      if ( !strcasecmp(parcours->var->v_subroutinename,subroutinename) ) 
    118127      { 
    119          if ( didvariableadded == 1 )   strcat(ligne,","); 
    120          strcat(ligne,parcours->var->v_nomvar); 
     128         if ( didvariableadded == 1 )   strcat(*ligne,","); 
     129         if ( (strlen(*ligne)+strlen(parcours->var->v_nomvar)+100) > *line_length ) 
     130         { 
     131            *line_length += LONG_M; 
     132            *ligne = realloc( *ligne, *line_length*sizeof(char) ); 
     133         } 
     134         strcat(*ligne,parcours->var->v_nomvar); 
    121135         didvariableadded = 1; 
    122136      } 
     
    128142      if ( !strcasecmp(parcours->var->v_subroutinename,subroutinename) ) 
    129143      { 
    130          if ( didvariableadded == 1 )   strcat(ligne,","); 
    131          strcat(ligne,parcours->var->v_nomvar); 
     144         if ( didvariableadded == 1 )   strcat(*ligne,","); 
     145         if ( (strlen(*ligne)+strlen(parcours->var->v_nomvar)+100) > *line_length ) 
     146         { 
     147            *line_length += LONG_M; 
     148            *ligne = realloc( *ligne, *line_length*sizeof(char) ); 
     149         } 
     150         strcat(*ligne,parcours->var->v_nomvar); 
    132151         didvariableadded = 1; 
    133152      } 
     
    152171/*                                                                            */ 
    153172/******************************************************************************/ 
    154 void WriteVariablelist_subloop_Call(char **ligne, size_t line_length) 
     173void WriteVariablelist_subloop_Call(char **ligne, size_t *line_length) 
    155174{ 
    156175   listvar *parcours; 
    157176   char ligne2[LONG_M]; 
    158177   int i; 
    159    size_t cur_length; 
    160  
    161    cur_length = line_length; 
    162178 
    163179   if ( todebug == 1 ) printf("> enter in WriteVariablelist_subloop_Call\n"); 
     
    170186      /*    in the output file                                                */ 
    171187      if ( !strcasecmp(parcours->var->v_subroutinename,subroutinename)  && 
    172            (parcours->var->v_pointerdeclare == 0 || !strcasecmp(parcours->var->v_typevar,"type")) 
     188           (parcours->var->v_pointerdeclare >= 0 || !strcasecmp(parcours->var->v_typevar,"type")) 
    173189         ) 
    174190      { 
    175191         if ( didvariableadded == 1 )   strcat(*ligne,","); 
    176192         const char *vres = vargridcurgridtabvars(parcours->var, 0); 
    177          if ( (strlen(*ligne)+strlen(vres)+100) > cur_length ) 
     193         if ( (strlen(*ligne)+strlen(parcours->var->v_nomvar)+100) > *line_length ) 
    178194         { 
    179             cur_length += LONG_M; 
    180             *ligne = realloc( *ligne, cur_length*sizeof(char) ); 
     195            *line_length += LONG_M; 
     196            *ligne = realloc( *ligne, *line_length*sizeof(char) ); 
    181197         } 
    182198         strcat(*ligne, vres); 
     
    186202         if (  SubloopScalar != 0 && 
    187203               ( 
    188                (parcours->var->v_pointerdeclare == 0 || !strcasecmp(parcours->var->v_typevar,"type"))) && 
     204               (parcours->var->v_pointerdeclare >= 0 || !strcasecmp(parcours->var->v_typevar,"type"))) && 
    189205               parcours->var->v_nbdim != 0 ) 
    190206         { 
     
    231247/*                                                                            */ 
    232248/******************************************************************************/ 
    233 void WriteVariablelist_subloop_Def(char *ligne) 
     249void WriteVariablelist_subloop_Def(char **ligne, size_t *line_length) 
    234250{ 
    235251   listvar *parcours; 
     
    244260      /*    in the output file                                                */ 
    245261      if ( !strcasecmp(parcours->var->v_subroutinename,subroutinename)  && 
    246            (parcours->var->v_pointerdeclare == 0 || !strcasecmp(parcours->var->v_typevar,"type")) ) 
     262           (parcours->var->v_pointerdeclare >= 0 || !strcasecmp(parcours->var->v_typevar,"type")) ) 
    247263      { 
    248          if ( didvariableadded == 1 )   strcat(ligne,","); 
    249          strcat(ligne,parcours->var->v_nomvar); 
     264         if ( didvariableadded == 1 )   strcat(*ligne,","); 
     265         if ( (strlen(*ligne)+strlen(parcours->var->v_nomvar)+100) > *line_length ) 
     266         { 
     267            *line_length += LONG_M; 
     268            *ligne = realloc( *ligne, *line_length*sizeof(char) ); 
     269         } 
     270         strcat(*ligne,parcours->var->v_nomvar); 
    250271         didvariableadded = 1; 
    251272      } 
    252273      parcours = parcours -> suiv; 
    253274   } 
    254    Save_Length(ligne,41); 
     275 
    255276   if ( todebug == 1 ) printf("<   out of WriteVariablelist_subloop_Def\n"); 
    256277} 
     
    272293void WriteHeadofSubroutineLoop() 
    273294{ 
    274    char ligne[LONG_M]; 
     295   char *ligne; 
    275296   FILE * subloop; 
    276  
    277    if ( todebug == 1 ) printf("> enter in WriteHeadofSubroutineLoop\n"); 
     297   size_t line_length; 
     298 
     299   ligne = (char*) calloc(LONG_M, sizeof(char)); 
     300   line_length = LONG_M; 
     301 
     302   if ( todebug == 1 ) printf("> enter in WriteHeadofSubroutineLoop subroutine %s\n",subroutinename); 
    278303   tofich(fortran_out,"\n",1); 
     304 
    279305   /* Open this newfile                                                       */ 
    280306   sprintf(ligne,"Sub_Loop_%s.h",subroutinename); 
     
    283309   if (isrecursive) sprintf(ligne,"recursive subroutine Sub_Loop_%s(",subroutinename); 
    284310   else             sprintf(ligne,"subroutine Sub_Loop_%s(",subroutinename); 
     311 
    285312   /*                                                                         */ 
    286    WriteVariablelist_subloop(ligne); 
    287    WriteVariablelist_subloop_Def(ligne); 
     313   if (todebug == 1) fprintf(subloop,"      !DEBUG: Avant WriteVariablelist_subloop\n"); 
     314   WriteVariablelist_subloop(&ligne,&line_length); 
     315   WriteVariablelist_subloop_Def(&ligne,&line_length); 
    288316   /*                                                                         */ 
    289317   strcat(ligne,")"); 
    290318   tofich(subloop,ligne,1); 
     319 
    291320   /* if USE agrif_Uti l should be add                                        */ 
     321   if (todebug == 1) fprintf(subloop,"      !DEBUG: Avant AddUseAgrifUtil_0\n"); 
    292322   AddUseAgrifUtil_0(subloop); 
     323 
    293324   /*                                                                         */ 
     325   if (todebug == 1) fprintf(subloop,"      !DEBUG: Apres AddUseAgrifUtil_0\n"); 
    294326   oldfortran_out = fortran_out; 
    295327   fortran_out = subloop; 
     328    
    296329   if ( todebug == 1 ) printf("<   out of WriteHeadofSubroutineLoop\n"); 
     330    
     331   free(ligne); 
    297332} 
    298333 
     
    313348{ 
    314349   char *ligne; 
     350   size_t line_length; 
    315351 
    316352   if ( firstpass == 1 )    return; 
     
    318354 
    319355   ligne = (char*) calloc(LONG_M, sizeof(char)); 
     356   line_length = LONG_M; 
    320357 
    321358   if ( IsTabvarsUseInArgument_0() == 1 ) 
     
    331368 
    332369      AddUseAgrifUtilBeforeCall_0(fortran_out); 
     370            
    333371      WriteArgumentDeclaration_beforecall(); 
     372      if (todebug == 1) fprintf(fortran_out,"      !DEBUG: Avant WriteFunctionDeclaration\n"); 
     373 
    334374      if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 0); 
    335375      if ( !strcasecmp(subofagrifinitgrids,subroutinename) ) 
     
    339379      sprintf(ligne,"  call Sub_Loop_%s(",subroutinename); 
    340380      /* Write the list of the local variables used in this new subroutine    */ 
    341       WriteVariablelist_subloop(ligne); 
     381      WriteVariablelist_subloop(&ligne,&line_length); 
    342382      /* Write the list of the global tables used in this new subroutine      */ 
    343383      /*    in doloop                                                         */ 
    344       WriteVariablelist_subloop_Call(&ligne, LONG_M); 
     384      WriteVariablelist_subloop_Call(&ligne, &line_length); 
    345385      /* Close the parenthesis of the new subroutine called                   */ 
    346386      strcat(ligne,")\n"); 
     
    358398    oldfortran_out = (FILE *)NULL; 
    359399    if ( todebug == 1 ) printf("<   out of closeandcallsubloopandincludeit_0\n"); 
     400     
     401    free(ligne); 
    360402} 
    361403 
     
    363405{ 
    364406   char *ligne; 
     407   size_t line_length; 
    365408 
    366409   if ( todebug == 1 ) printf("> enter in closeandcallsubloop_contains_0\n"); 
     
    368411   { 
    369412      ligne = (char*) calloc(LONG_M, sizeof(char)); 
     413      line_length = LONG_M; 
    370414      RemoveWordCUR_0(fortran_out,9);   // Remove word 'contains' 
    371415      tofich(fortran_out,"\n",1); 
     
    376420 
    377421      AddUseAgrifUtilBeforeCall_0(fortran_out); 
    378  
    379422      if ( ImplicitNoneInSubroutine() == 1 ) fprintf(fortran_out, "      implicit none\n"); 
    380423      WriteLocalParamDeclaration(fortran_out); 
     424            printf("ICI3\n"); 
    381425      WriteArgumentDeclaration_beforecall(); 
     426      if (todebug == 1) fprintf(fortran_out,"      !DEBUG: Avant WriteFunctionDeclaration\n"); 
    382427      if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 0); 
    383428/*      WriteSubroutineDeclaration(0);*/ 
     
    388433      sprintf(ligne,"  call Sub_Loop_%s(",subroutinename); 
    389434      /* Write the list of the local variables used in this new subroutine    */ 
    390       WriteVariablelist_subloop(ligne); 
     435      WriteVariablelist_subloop(&ligne,&line_length); 
    391436      /* Write the list of the global tables used in this new subroutine      */ 
    392437      /*    in doloop                                                         */ 
    393       WriteVariablelist_subloop_Call(&ligne, LONG_M); 
     438      WriteVariablelist_subloop_Call(&ligne, &line_length); 
    394439      /* Close the parenthesis of the new subroutine called                   */ 
    395440      strcat(ligne,")\n"); 
  • vendors/AGRIF/dev/LIB/UtilAgrif.c

    r5656 r14107  
    150150    { 
    151151        // remove the variable 
    152         RemoveWordCUR_0(fortran_out,lengthname); 
     152 //       RemoveWordCUR_0(fortran_out,lengthname); 
    153153        // then write the new name 
    154         if ( inagrifcallargument == 1 && agrif_parentcall == 0 ) 
    155             fprintf(fortran_out,"%d",newvar->var->v_indicetabvars); 
    156         else 
    157         { 
    158             if ( retour77 == 0 ) 
    159                 fprintf(fortran_out,"Agrif_%s & \n      ", tabvarsname(newvar->var)); 
    160             else 
    161             { 
    162                fprintf(fortran_out,"Agrif_%s", tabvarsname(newvar->var)); 
    163                fprintf(fortran_out," \n     & "); 
    164             } 
    165             fprintf(fortran_out,"%s",vargridcurgridtabvarswithoutAgrif_Gr(newvar->var)); 
    166         } 
     154 //        if ( inagrifcallargument == 1 && agrif_parentcall == 0 ) 
     155//             fprintf(fortran_out,"%d",newvar->var->v_indicetabvars); 
     156//         else 
     157//         { 
     158//             if ( retour77 == 0 ) 
     159//                 fprintf(fortran_out,"Agrif_%s & \n      ", tabvarsname(newvar->var)); 
     160//             else 
     161//             { 
     162//                fprintf(fortran_out,"Agrif_%s", tabvarsname(newvar->var)); 
     163//                fprintf(fortran_out," \n     & "); 
     164//             } 
     165//             fprintf(fortran_out,"%s",vargridcurgridtabvarswithoutAgrif_Gr(newvar->var)); 
     166//         } 
    167167    } 
    168168    else 
  • vendors/AGRIF/dev/LIB/UtilFortran.c

    r5656 r14107  
    423423                                                                  doloopout = 1; 
    424424         else parcours = parcours->suiv; 
     425         
    425426      } 
    426427      if (  doloopout == 0 ) out = 0; 
     
    591592    out = 0; 
    592593 
     594    return (out == 0); 
     595     
    593596    if ( !strcasecmp(ident,"size") || 
    594597         !strcasecmp(ident,"if")   || 
     
    596599         !strcasecmp(ident,"min")  ) 
    597600    { 
     601    printf("ident = %s\n",ident); 
    598602        newvar = List_SubroutineDeclaration_Var; 
    599603        while ( newvar && out == 0 ) 
     
    611615            while ( newvar && out == 0 ) 
    612616            { 
     617            printf("llll = %s\n",newvar->var->v_nomvar); 
    613618                if ( !strcasecmp(ident, newvar->var->v_nomvar) ) out = 1; 
    614619                newvar = newvar -> suiv ; 
     
    617622    } 
    618623    return (out == 0); 
     624} 
     625 
     626/* removenewline */ 
     627/* REMOVE UNWANTED character */ 
     628/* from a NAME{NEWLINE77]NAME flex match */ 
     629 
     630void removenewline(char *nom) 
     631{ 
     632char temp_nom[LONG_VNAME]; 
     633int size_nom,i,j; 
     634 
     635size_nom=strlen(nom); 
     636 
     637j=0; 
     638for (i=0;i<size_nom;) 
     639{ 
     640if (nom[i]=='\n') 
     641{ 
     642/* REMOVE RETURN - blank and column 6 character */ 
     643i=i+7; 
     644} 
     645else if (nom[i]==' ' || nom[i]=='\t') 
     646{ 
     647i=i+1; 
     648} 
     649else 
     650{ 
     651temp_nom[j]=nom[i]; 
     652j++; 
     653i++; 
     654} 
     655} 
     656temp_nom[j]='\0'; 
     657 
     658strcpy(nom,temp_nom); 
    619659} 
    620660 
  • vendors/AGRIF/dev/LIB/UtilListe.c

    r5656 r14107  
    5252   strcpy(var->v_subroutinename     , ""); 
    5353   strcpy(var->v_precision          , ""); 
    54    strcpy(var->v_initialvalue       , ""); 
     54   var->v_initialvalue = (listname *)NULL; 
     55   var->v_initialvalue_array = (listname *)NULL; 
     56   var->v_do_loop = NULL; 
    5557   strcpy(var->v_IntentSpec         , ""); 
    5658   strcpy(var->v_readedlistdimension, ""); 
     
    103105            newvar->suiv = l; 
    104106        } 
     107        newvar=glob; 
     108        while (newvar) 
     109        { 
     110        newvar=newvar->suiv; 
     111        } 
    105112    } 
    106113    return glob; 
     
    117124void CreateAndFillin_Curvar(const char *type, variable *curvar) 
    118125{ 
     126listname *newvar; 
     127 
    119128    if ( !strcasecmp(type, "character") && strcasecmp(CharacterSize, "") ) 
    120129    { 
     
    150159    if (InitialValueGiven == 1 ) 
    151160    { 
    152         strcpy(curvar->v_initialvalue,InitValue); 
     161    curvar->v_initialvalue=Insertname(curvar->v_initialvalue,InitValue,0); 
     162     
     163//        strcpy(curvar->v_initialvalue,InitValue); 
     164         
    153165        Save_Length(InitValue,14); 
    154166    } 
     
    481493      v = newvar->var; 
    482494      strcpy(v->v_typevar,nom); 
     495       
    483496      v->v_catvar = get_cat_var(v); 
     497 
    484498      newvar = newvar->suiv; 
    485499   } 
     
    502516   { 
    503517      v=newvar->var; 
    504       printf("nom = %s, allocatable = %d dim = %s\n",v->v_nomvar,v->v_allocatable,(v->v_dimension)->dim.last); 
    505518      newvar=newvar->suiv; 
    506519   } 
     
    564577} 
    565578 
     579int testandextractfromlist(listname **lin, char*nom) 
     580{ 
     581listname *newvar; 
     582int val_1, val_2; 
     583int return_stmt; 
     584 
     585printname(*lin); 
     586if (!(*lin)) 
     587 { 
     588  return 0; 
     589 } 
     590else 
     591 { 
     592 sscanf(nom,"%d",&val_1); 
     593 sscanf((*lin)->n_name,"%d",&val_2); 
     594 if (val_1==val_2) 
     595   { 
     596/*   newvar = *lin; 
     597   *lin = (*lin)->suiv; 
     598   free(newvar);*/ 
     599   /* continue to remove while the label stays the same */ 
     600/*   return_stmt=testandextractfromlist(lin,nom);*/ 
     601   return 1; 
     602   } 
     603 else 
     604  { 
     605  return 0; 
     606  } 
     607 } 
     608} 
     609 
     610void removefromlist(listname **lin, char*nom) 
     611{ 
     612listname *newvar,*prev; 
     613int val_1, val_2; 
     614int return_stmt; 
     615int out; 
     616 
     617printname(*lin); 
     618if (*lin) 
     619 { 
     620 sscanf(nom,"%d",&val_1); 
     621 prev=(listname *) calloc(1,sizeof(listname)); 
     622 prev->suiv=*lin; 
     623 *lin=prev; 
     624 newvar=(*lin)->suiv; 
     625 out = 0; 
     626 while (newvar && out == 0) 
     627 { 
     628 sscanf((newvar)->n_name,"%d",&val_2); 
     629 if (val_1==val_2) 
     630   { 
     631   prev->suiv=newvar->suiv; 
     632   free(newvar); 
     633   } 
     634  if (prev->suiv)  
     635    { 
     636    prev=prev->suiv; 
     637    newvar=prev->suiv; 
     638    } 
     639   else 
     640   { 
     641   out = 1; 
     642   } 
     643  } 
     644 prev=*lin; 
     645 *lin=(*lin)->suiv; 
     646 free(prev); 
     647 } 
     648} 
     649 
    566650listname *concat_listname(listname *l1, listname *l2) 
    567651{ 
     
    606690   while (newvar) 
    607691   { 
    608       printf("nom = %s \n",newvar->n_name); 
    609692      newvar=newvar->suiv; 
    610693   } 
     
    694777int get_cat_var(variable *var) 
    695778{ 
     779 
    696780    if (!strcasecmp(var->v_typevar, "CHARACTER")) 
    697781        return 1; 
     
    705789        return 0; 
    706790} 
     791 
     792void Insertdoloop(variable *var,char *do_var,char *do_begin, char *do_end, char *do_step) 
     793{ 
     794listdoloop *new_do_loop; 
     795listdoloop *tmploop; 
     796new_do_loop = (listdoloop *) calloc(1,sizeof(listdoloop)); 
     797 
     798new_do_loop->cur_do_loop = (do_loop *) calloc(1,sizeof(do_loop)); 
     799 
     800strcpy(new_do_loop->cur_do_loop->do_variable,do_var); 
     801strcpy(new_do_loop->cur_do_loop->do_begin,do_begin); 
     802strcpy(new_do_loop->cur_do_loop->do_end,do_end); 
     803strcpy(new_do_loop->cur_do_loop->do_step,do_step); 
     804new_do_loop->suiv = NULL; 
     805 
     806if (!var->v_do_loop) 
     807{ 
     808  var->v_do_loop = new_do_loop; 
     809} 
     810else 
     811{ 
     812  new_do_loop->suiv = var->v_do_loop; 
     813  var->v_do_loop = new_do_loop; 
     814       
     815//   tmploop = var->v_do_loop; 
     816//   while (tmploop->suiv) 
     817//   { 
     818//     tmploop=tmploop->suiv; 
     819//   } 
     820//   tmploop->suiv = new_do_loop ; 
     821//   } 
     822} 
     823} 
  • vendors/AGRIF/dev/LIB/WorkWithlistdatavariable.c

    r5656 r14107  
    7070        strcpy(ligne,values); 
    7171        
    72      strcpy(newvar->var->v_initialvalue,ligne); 
     72     newvar->var->v_initialvalue=Insertname(newvar->var->v_initialvalue,ligne,0); 
     73      
     74     // strcpy(newvar->var->v_initialvalue,ligne); 
    7375     Save_Length(ligne,14); 
    7476     newvar->suiv = NULL; 
     
    8587} 
    8688 
    87 void Add_Data_Var_Names_01 (listvar **curlist,listname *l1,listname *l2) 
     89void Add_Data_Var_Names_01 (listvar **curlist,listvar *l1,listname *l2) 
    8890{ 
    8991    listvar *newvar; 
    9092    listvar *tmpvar; 
    91     listname *tmpvar1; 
    92     listname *tmpvar2;   
     93    listvar *tmpvar1; 
     94    listname *tmpvar2; 
     95    char tempname[LONG_M]; 
    9396    variable *found_var = NULL; 
     97    int out; 
     98    size_t i = 0; 
     99    char chartmp[2]; 
    94100     
    95101    tmpvar1 = l1; 
     
    98104    while (tmpvar1) 
    99105    { 
    100         newvar = (listvar *) calloc(1,sizeof(listvar)); 
    101         newvar->var = (variable *) calloc(1,sizeof(variable)); 
    102  
    103         Init_Variable(newvar->var); 
    104  
    105         if ( inmoduledeclare == 1 ) newvar->var->v_module=1; 
    106       
    107         found_var = get_variable_in_list_from_name(List_Common_Var, tmpvar1->n_name); 
    108         if ( ! found_var )  found_var = get_variable_in_list_from_name(List_Global_Var,tmpvar1->n_name); 
    109         if ( ! found_var )  found_var = get_variable_in_list_from_name(List_SubroutineDeclaration_Var,tmpvar1->n_name); 
    110          
    111         if ( found_var && found_var->v_nbdim > 0 ) 
     106//    printf("TMPVAR 1 nomvar = %s, initialvaluearra = %s\n",tmpvar1->var->v_nomvar,tmpvar1->var->v_initialvalue_array->n_name); 
     107       strcpy(tempname,tmpvar1->var->v_nomvar); 
     108//        while ( i < strlen(tmpvar1->var->v_nomvar) ) 
     109//        { 
     110//        if (tmpvar1->var->v_nomvar[i]=='(') break; 
     111//          sprintf(chartmp,"%c",tmpvar1->var->v_nomvar[i]); 
     112//          strcat(tempname,chartmp); 
     113//          i++; 
     114//        } 
     115        found_var = get_variable_in_list_from_name(List_Common_Var, tempname); 
     116        if ( ! found_var )  found_var = get_variable_in_list_from_name(List_Global_Var,tempname); 
     117        if ( ! found_var )  found_var = get_variable_in_list_from_name(List_SubroutineDeclaration_Var,tempname); 
     118         
     119        if ( found_var && found_var->v_nbdim > 1000 ) 
    112120        { 
    113121            printf("##############################################################################################################\n"); 
     
    118126        } 
    119127         
    120         strcpy(newvar->var->v_nomvar,tmpvar1->n_name); 
     128        if (tmpvar1->var->v_initialvalue_array) 
     129        { 
     130        if ((firstpass == 1) && strcmp(tmpvar1->var->v_initialvalue_array->n_name,"")) 
     131        { 
     132        DecomposeTheName(tmpvar1->var->v_initialvalue_array->n_name); 
     133        } 
     134        } 
     135         
     136        // Search for existing newvar 
     137         
     138        tmpvar = *curlist; 
     139        out = 0; 
     140        while (tmpvar) 
     141        { 
     142        if (!strcasecmp(tempname,tmpvar->var->v_nomvar) && !strcasecmp(subroutinename,tmpvar->var->v_subroutinename) && !strcasecmp(curmodulename,tmpvar->var->v_modulename) && !strcasecmp(cur_filename,tmpvar->var->v_commoninfile) ) 
     143        { 
     144        out = 1; 
     145        break; 
     146        } 
     147        tmpvar=tmpvar->suiv; 
     148        } 
     149        if (out == 0) 
     150        { 
     151        newvar = (listvar *) calloc(1,sizeof(listvar)); 
     152        newvar->var = (variable *) calloc(1,sizeof(variable)); 
     153 
     154        Init_Variable(newvar->var); 
     155 
     156        if ( inmoduledeclare == 1 ) newvar->var->v_module=1; 
     157         
     158        strcpy(newvar->var->v_nomvar,tempname); 
    121159        strcpy(newvar->var->v_subroutinename,subroutinename); 
    122160        strcpy(newvar->var->v_modulename,curmodulename); 
    123161        strcpy(newvar->var->v_commoninfile,cur_filename); 
    124         strcpy(newvar->var->v_initialvalue,tmpvar2->n_name); 
     162        /*printf("TMPVAR 2 nomvar = %s\n",tmpvar2->n_name);*/ 
     163        newvar->var->v_initialvalue=Insertname(newvar->var->v_initialvalue,tmpvar2->n_name,0); 
     164         
     165        if (tmpvar1->var->v_initialvalue_array) 
     166        { 
     167        if (strcmp(tmpvar1->var->v_initialvalue_array->n_name,"")) 
     168        { 
     169        newvar->var->v_initialvalue_array=Insertname(newvar->var->v_initialvalue_array,tmpvar1->var->v_initialvalue_array->n_name,0); 
     170        } 
     171        } 
     172        newvar->var->v_do_loop=tmpvar1->var->v_do_loop; 
     173//        strcpy(newvar->var->v_initialvalue,tmpvar2->n_name); 
     174//        strcpy(newvar->var->v_initialvalue_array,tmpvar1->var->v_initialvalue_array); 
     175         
     176        newvar->var->v_dimension=tmpvar1->var->v_dimension; 
    125177 
    126178        Save_Length(tmpvar2->n_name,14); 
     
    139191            *curlist  = newvar ; 
    140192        } 
     193        tmpvar=newvar; 
     194        } 
     195        else // out = 1 
     196        { 
     197        tmpvar->var->v_initialvalue=Insertname(tmpvar->var->v_initialvalue,tmpvar2->n_name,0); 
     198        if (strcmp(tmpvar1->var->v_initialvalue_array->n_name,"")) 
     199        { 
     200        tmpvar->var->v_initialvalue_array=Insertname(tmpvar->var->v_initialvalue_array,tmpvar1->var->v_initialvalue_array->n_name,0); 
     201        } 
     202        tmpvar->var->v_do_loop=tmpvar1->var->v_do_loop; 
     203        } 
    141204      
    142205        tmpvar1 = tmpvar1->suiv; 
    143         tmpvar2 = tmpvar2->suiv;   
     206        tmpvar2 = tmpvar2->suiv; 
    144207    } 
     208     
     209    while (tmpvar2) 
     210    { 
     211    strcpy(tempname,tmpvar2->n_name); 
     212    tmpvar->var->v_initialvalue = Insertname(tmpvar->var->v_initialvalue,tempname,1); 
     213    tmpvar2 = tmpvar2->suiv;  
     214    } 
     215     
    145216} 
  • vendors/AGRIF/dev/LIB/WorkWithlistvarindoloop.c

    r5656 r14107  
    119119  if ( !List_UsedInSubroutine_Var ) 
    120120  { 
     121  printf("LISTE VIDE\n"); 
    121122      newvar=(listvar *)calloc(1,sizeof(listvar)); 
    122123      newvar->var=(variable *)calloc(1,sizeof(variable)); 
     
    161162         } 
    162163      } 
     164       
    163165      if ( out == 2 || out == 0 ) 
    164166      { 
     
    175177 
    176178         /* we should find this new variable to know the tabvars indice       */ 
     179 
    177180         if ( variableisglobal(newvar, List_Global_Var) == 1 ) 
    178181         { 
     
    271274void Merge_Variables(variable *var1, variable *var2) 
    272275{ 
     276 
    273277    if ( !strcasecmp(var1->v_typevar,"") ) 
    274278            strcpy(var1->v_typevar,var2->v_typevar); 
    275     else 
    276       { 
    277       strcpy(var2->v_typevar,var1->v_typevar); 
    278       } 
     279    else    strcpy(var2->v_typevar,var1->v_typevar); 
    279280 
    280281    if ( !strcasecmp(var1->v_oldname,"") ) 
     
    310311    else    strcpy(var2->v_precision,var1->v_precision); 
    311312 
    312     if ( !strcasecmp(var1->v_initialvalue,"") ) 
    313             strcpy(var1->v_initialvalue,var2->v_initialvalue); 
    314     else    strcpy(var2->v_initialvalue,var1->v_initialvalue); 
    315  
     313//     if ( !strcasecmp(var1->v_initialvalue,"") ) 
     314//             strcpy(var1->v_initialvalue,var2->v_initialvalue); 
     315//     else    strcpy(var2->v_initialvalue,var1->v_initialvalue); 
     316 
     317    if ( var1->v_initialvalue ) 
     318            var2->v_initialvalue = var1->v_initialvalue; 
     319    else    var1->v_initialvalue = var2->v_initialvalue; 
     320 
     321    if ( var1->v_initialvalue_array ) 
     322            var2->v_initialvalue_array = var1->v_initialvalue_array; 
     323    else    var1->v_initialvalue_array = var2->v_initialvalue_array; 
     324     
     325    if ( var1->v_do_loop ) 
     326            var2->v_do_loop = var1->v_do_loop; 
     327    else    var1->v_do_loop = var2->v_do_loop; 
     328     
     329//     if ( !strcasecmp(var1->v_initialvalue_array,"") ) 
     330//             strcpy(var1->v_initialvalue_array,var2->v_initialvalue_array); 
     331//     else    strcpy(var2->v_initialvalue_array,var1->v_initialvalue_array); 
     332     
    316333    if ( !strcasecmp(var1->v_IntentSpec,"") ) 
    317334            strcpy(var1->v_IntentSpec,var2->v_IntentSpec); 
     
    490507         /*                                                                   */ 
    491508         newvar->suiv = NULL; 
     509 
    492510         Merge_Variables(parcours->var,newvar->var); 
    493511         strcpy(newvar->var->v_subroutinename,parcours->var->v_subroutinename); 
     
    11551173                newvar->var->v_VariableIsParameter, 
    11561174                newvar->var->v_typevar, 
    1157                 newvar->var->v_initialvalue ); 
     1175                newvar->var->v_initialvalue->n_name ); 
    11581176        newvar = newvar->suiv; 
    11591177    } 
     
    11731191                                        strcpy(parcours->var->v_typevar,"REAL"); 
    11741192         else strcpy(parcours->var->v_typevar,"INTEGER"); 
     1193         parcours->var->v_catvar = get_cat_var(parcours->var); 
    11751194      } 
    11761195      parcours = parcours -> suiv ; 
     
    11851204                                        strcpy(parcours->var->v_typevar,"REAL"); 
    11861205         else strcpy(parcours->var->v_typevar,"INTEGER"); 
     1206         parcours->var->v_catvar = get_cat_var(parcours->var); 
    11871207      } 
    11881208      parcours = parcours -> suiv ; 
     
    11971217                                        strcpy(parcours->var->v_typevar,"REAL"); 
    11981218         else strcpy(parcours->var->v_typevar,"INTEGER"); 
     1219         parcours->var->v_catvar = get_cat_var(parcours->var); 
    11991220      } 
    12001221      parcours = parcours -> suiv ; 
     
    12091230                                        strcpy(parcours->var->v_typevar,"REAL"); 
    12101231         else strcpy(parcours->var->v_typevar,"INTEGER"); 
     1232         parcours->var->v_catvar = get_cat_var(parcours->var); 
     1233      } 
     1234      parcours = parcours -> suiv ; 
     1235   } 
     1236    
     1237   /*                                                                         */ 
     1238   parcours = List_Parameter_Var; 
     1239   while ( parcours ) 
     1240   { 
     1241      if ( !strcasecmp(parcours->var->v_typevar,"") ) 
     1242      { 
     1243         if ( IsVariableReal(parcours->var->v_nomvar) == 1 ) 
     1244                                        strcpy(parcours->var->v_typevar,"REAL"); 
     1245         else strcpy(parcours->var->v_typevar,"INTEGER"); 
     1246         parcours->var->v_catvar = get_cat_var(parcours->var); 
     1247      } 
     1248      parcours = parcours -> suiv ; 
     1249   } 
     1250    
     1251   /*                                                                         */ 
     1252   parcours = List_GlobalParameter_Var; 
     1253   while ( parcours ) 
     1254   { 
     1255      if ( !strcasecmp(parcours->var->v_typevar,"") ) 
     1256      { 
     1257         if ( IsVariableReal(parcours->var->v_nomvar) == 1 ) 
     1258                                        strcpy(parcours->var->v_typevar,"REAL"); 
     1259         else strcpy(parcours->var->v_typevar,"INTEGER"); 
     1260         parcours->var->v_catvar = get_cat_var(parcours->var); 
    12111261      } 
    12121262      parcours = parcours -> suiv ; 
     
    15091559void update_indicemaxtabvars(variable *var,listindice **Listofindices) 
    15101560{ 
    1511  
    1512  
    15131561            if ( Listofindices[var->v_catvar] ) 
    15141562            { 
     
    15471595          ) 
    15481596      { 
     1597            /* The type may has not been given if the variable was only declared with dimension */ 
     1598 
     1599            if ( !strcasecmp(parcours->var->v_typevar,"") ) 
     1600            { 
     1601                  if ( IsVariableReal(parcours->var->v_nomvar) == 1 ) 
     1602                                        strcpy(parcours->var->v_typevar,"REAL"); 
     1603                  else strcpy(parcours->var->v_typevar,"INTEGER"); 
     1604                  parcours->var->v_catvar = get_cat_var(parcours->var); 
     1605             } 
     1606              
    15491607         indicemaxtabvars[parcours->var->v_catvar] = indicemaxtabvars[parcours->var->v_catvar] + 1 ; 
    15501608         parcours->var->v_indicetabvars = indicemaxtabvars[parcours->var->v_catvar]; 
     
    16261684              parcours->var->v_notgrid == 0                              && 
    16271685              ( ( parcours->var->v_nbdim != 0 || !strcasecmp(parcours->var->v_typevar,"type") ) 
    1628               || strcasecmp(parcours->var->v_initialvalue,"") ) 
     1686              || parcours->var->v_initialvalue ) 
    16291687            ) 
    16301688         { 
     
    16581716              !strcasecmp(parcours->var->v_commoninfile,cur_filename)       && 
    16591717              ( ( parcours->var->v_nbdim != 0 || !strcasecmp(parcours->var->v_typevar,"type") ) 
    1660               || strcasecmp(parcours->var->v_initialvalue,"") ) 
     1718              || parcours->var->v_initialvalue ) 
    16611719            ) 
    16621720         { 
     
    18451903      printf("dimensiongiven - %d \n", parcours->var->v_dimensiongiven); 
    18461904      printf("dimsempty      - %d \n", parcours->var->v_dimsempty); 
    1847       printf("initialvalue   - %s \n", parcours->var->v_initialvalue); 
     1905      printf("initialvalue   - %s \n", parcours->var->v_initialvalue->n_name); 
    18481906      printf("readedlistdim  - %s \n", parcours->var->v_readedlistdimension); 
    18491907      printf("-------------------------------------\n"); 
  • vendors/AGRIF/dev/LIB/WriteInFile.c

    r5656 r14107  
    141141    fseek(filout, position, SEEK_SET); 
    142142    tofich_blanc(filout, sizetoremove); 
    143     fseek(filout, position, SEEK_SET); 
     143 
    144144} 
    145145 
  • vendors/AGRIF/dev/LIB/Writedeclarations.c

    r5656 r14107  
    6666  /* We should give the precision of the variable if it has been given        */ 
    6767  precision_given = 0; 
     68   
    6869  if ( strcasecmp(v->v_precision,"") ) 
    6970  { 
     
    128129    { 
    129130        strcat(line," = "); 
    130         strcat(line, v->v_initialvalue); 
     131        strcat(line, v->v_initialvalue->n_name); 
    131132    } 
    132133    Save_Length(line, 45); 
     
    173174    { 
    174175        strcat(ligne," = "); 
    175         strcat(ligne,v->v_initialvalue); 
     176        strcat(ligne,v->v_initialvalue->n_name); 
    176177    } 
    177178    Save_Length(ligne,45); 
     
    206207        WriteTableDeclaration(v, ligne, value); 
    207208 
    208      if ( v->v_VariableIsParameter != 1 && strcasecmp(v->v_initialvalue,"") ) 
     209     if ( v->v_VariableIsParameter != 1 && v->v_initialvalue) 
    209210     { 
    210211        strcat(ligne," = "); 
    211         strcat(ligne,v->v_initialvalue); 
     212        strcat(ligne,v->v_initialvalue->n_name); 
    212213     } 
    213214     tofich(filecommon, ligne, 1); 
     
    241242    while ( parcours ) 
    242243    { 
     244    if (!strcmp(parcours->var->v_typevar, "")) 
     245    { 
     246     /* Default type*/ 
     247          if ( IsVariableReal(parcours->var->v_nomvar) == 1 ) 
     248                                         strcpy(parcours->var->v_typevar,"REAL"); 
     249          else strcpy(parcours->var->v_typevar,"INTEGER"); 
     250     } 
    243251        if ( !strcasecmp(parcours->var->v_subroutinename, subroutinename) && 
    244252              strcasecmp(parcours->var->v_typevar, "") ) 
     
    261269        if ( !strcasecmp(v->v_subroutinename, subroutinename)   && 
    262270             (v->v_save == 0)                                   && 
    263              (v->v_pointerdeclare == 0)                         && 
    264271             (v->v_VariableIsParameter == 0)                    && 
    265272             (v->v_common == 0) ) 
     
    285292    listvar *parcours; 
    286293    variable *v; 
    287     char ligne[LONG_M]; 
    288  
     294    char *ligne; 
     295    size_t line_length; 
     296    int res; 
     297    int global_check; 
     298 
     299    ligne = (char*) calloc(LONG_M, sizeof(char)); 
     300    line_length = LONG_M; 
     301     
     302    global_check = 0; 
     303    
     304    
    289305    fprintf(fortran_out,"#include \"Param_BeforeCall_%s.h\"\n",subroutinename); 
    290306 
     
    303319            position++; 
    304320            WriteVarDeclaration(v, fortran_out, 0, 1); 
    305             neededparameter = writedeclarationintoamr(List_Parameter_Var, paramtoamr, 
    306                                     v, v->v_subroutinename, neededparameter, subroutinename); 
     321            res = writedeclarationintoamr(List_Parameter_Var, paramtoamr, 
     322                                    v, v->v_subroutinename, &neededparameter, subroutinename, global_check); 
    307323            parcours = List_SubroutineArgument_Var; 
    308324        } 
    309325        else parcours = parcours -> suiv; 
    310326    } 
    311     Save_Length(ligne,45); 
    312327 
    313328    // Write interface for 'Sub_Loop_machin' in 'Param_BeforeCall_machin.h' when outside a module 
     
    317332        if (isrecursive) sprintf(ligne,"  recursive subroutine Sub_Loop_%s(", subroutinename); 
    318333        else             sprintf(ligne,"  subroutine Sub_Loop_%s(", subroutinename); 
    319         WriteVariablelist_subloop(ligne); 
    320         WriteVariablelist_subloop_Def(ligne); 
     334        WriteVariablelist_subloop(&ligne,&line_length); 
     335        WriteVariablelist_subloop_Def(&ligne,&line_length); 
    321336        strcat(ligne,")"); 
    322         Save_Length(ligne,45); 
     337 
    323338        tofich(paramtoamr,ligne,1); 
    324339 
     
    353368 
    354369    parcours = List_SubroutineArgument_Var; 
     370     
    355371    while ( parcours ) 
    356372    { 
     
    399415/*                                                                            */ 
    400416/******************************************************************************/ 
    401 listnom *writedeclarationintoamr (listvar * deb_common, FILE *fileout, 
     417int writedeclarationintoamr (listvar * deb_common, FILE *fileout, 
    402418                              variable *var , const char *commonname, 
    403                            listnom *neededparameter, const char *name_common) 
     419                           listnom **neededparameter, const char *name_common, int global_check) 
    404420{ 
    405421  listvar *newvar; 
     
    410426  int writeit; 
    411427  listnom *parcours; 
     428  listname *parcours_name_array; 
     429  int res; 
     430   
     431  res = 0; 
    412432 
    413433  /* we should list the needed parameter                                      */ 
     434 
    414435  if ( !strcasecmp(name_common,commonname) ) 
    415      neededparameter = DecomposeTheNameinlistnom(var->v_readedlistdimension,neededparameter); 
     436     { 
     437     *neededparameter = DecomposeTheNameinlistnom(var->v_readedlistdimension,*neededparameter); 
     438     parcours_name_array = var->v_initialvalue_array; 
     439     while (parcours_name_array) 
     440     { 
     441     *neededparameter = DecomposeTheNameinlistnom(parcours_name_array->n_name,*neededparameter); 
     442     parcours_name_array=parcours_name_array->suiv; 
     443     } 
     444     } 
     445 
    416446  /*                                                                          */ 
    417   parcours = neededparameter; 
     447  parcours = *neededparameter; 
     448 
    418449  while (parcours) 
    419450  { 
     
    423454     while ( newvar && out == 0 ) 
    424455     { 
    425  
    426         if ( !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_subroutinename,newvar->var->v_subroutinename)) 
     456        if ( (global_check == 0) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_subroutinename,newvar->var->v_subroutinename)) 
    427457        { 
    428458           out=1; 
    429459        /* add the name to the list of needed parameter                       */ 
    430            neededparameter = DecomposeTheNameinlistnom( 
    431                  newvar->var->v_initialvalue, 
    432                  neededparameter ); 
     460           *neededparameter = DecomposeTheNameinlistnom( 
     461                 newvar->var->v_initialvalue->n_name, 
     462                 *neededparameter ); 
     463        } 
     464        else if ( (global_check == 1) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_modulename,newvar->var->v_modulename)) 
     465        { 
     466           out=1; 
     467        /* add the name to the list of needed parameter                       */ 
     468           *neededparameter = DecomposeTheNameinlistnom( 
     469                 newvar->var->v_initialvalue->n_name, 
     470                 *neededparameter ); 
    433471        } 
    434472        else newvar=newvar->suiv; 
     
    437475   } 
    438476  /*                                                                          */ 
    439   parcours = neededparameter; 
     477  parcours = *neededparameter; 
     478   
    440479  while (parcours) 
    441480  { 
     
    444483     while ( newvar && out == 0 ) 
    445484     { 
    446         if ( !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_subroutinename,newvar->var->v_subroutinename)) 
     485        if ( (global_check == 0) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_subroutinename,newvar->var->v_subroutinename)) 
    447486        { 
    448487           out=1; 
    449488        /* add the name to the list of needed parameter                       */ 
    450            neededparameter = DecomposeTheNameinlistnom( 
    451                  newvar->var->v_initialvalue, 
    452                  neededparameter ); 
     489           *neededparameter = DecomposeTheNameinlistnom( 
     490                 newvar->var->v_initialvalue->n_name, 
     491                 *neededparameter ); 
     492        } 
     493        else if ( (global_check == 1) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && !strcasecmp(var->v_modulename,newvar->var->v_modulename)) 
     494        { 
     495           out=1; 
     496        /* add the name to the list of needed parameter                       */ 
     497           *neededparameter = DecomposeTheNameinlistnom( 
     498                 newvar->var->v_initialvalue->n_name, 
     499                 *neededparameter ); 
    453500        } 
    454501        else newvar=newvar->suiv; 
     
    456503     parcours=parcours->suiv; 
    457504   } 
    458   parcours = neededparameter; 
     505  parcours = *neededparameter; 
    459506  while (parcours) 
    460507  { 
     
    463510     while ( newvar && writeit == 0 ) 
    464511     { 
    465         if ( !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && 
     512        if ( (global_check == 0) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && 
    466513            !strcasecmp(var->v_subroutinename,newvar->var->v_subroutinename) && parcours->o_val == 0 ) 
     514        { 
     515           writeit=1; 
     516           parcours->o_val = 1; 
     517        } 
     518        else if ( (global_check == 1) && !strcasecmp(parcours->o_nom,newvar->var->v_nomvar) && 
     519            !strcasecmp(var->v_modulename,newvar->var->v_modulename) && parcours->o_val == 0 ) 
    467520        { 
    468521           writeit=1; 
     
    490543           v->v_allocatable = 1; 
    491544        } 
     545        res = 1; 
    492546     } 
    493547     else 
     
    503557  } 
    504558  Save_Length(ligne,45); 
    505   return neededparameter; 
     559  return res; 
    506560} 
    507561 
     
    532586     if ( newvar->var->v_nbdim == 0 && 
    533587          !strcasecmp(newvar->var->v_subroutinename,subroutinename)  && 
    534            (newvar->var->v_pointerdeclare == 0 || !strcasecmp(newvar->var->v_typevar,"type")) ) 
     588           (newvar->var->v_pointerdeclare >= 0 || !strcasecmp(newvar->var->v_typevar,"type")) ) 
    535589     { 
    536590        v = newvar->var; 
    537  
    538591        WriteBeginDeclaration(v,ligne,1); 
    539592        WriteScalarDeclaration(v,ligne); 
     
    570623//  printf("newvar = %s %d %s\n",newvar->var->v_nomvar,newvar->var->v_pointerdeclare,newvar->var->v_typevar); 
    571624     if ( (v->v_nbdim != 0)  && !strcasecmp(v->v_subroutinename, subroutinename) && 
    572           (v->v_pointerdeclare == 0 || !strcasecmp(v->v_typevar,"type")) ) 
     625          (v->v_pointerdeclare >= 0 || !strcasecmp(v->v_typevar,"type")) ) 
    573626     { 
    574627        changeval = 0; 
     
    596649     newvar = newvar->suiv; 
    597650  } 
     651 
    598652  Save_Length(ligne,45); 
    599653} 
     
    619673            if (firstpass == 0 && out == 0 && VariableIsParameter == 0 && SaveDeclare == 0) 
    620674            { 
     675             
     676            /* The type may has not been given if the variable was only declared with dimension */ 
     677 
     678            if ( !strcasecmp(v->v_typevar,"") ) 
     679            { 
     680                  if ( IsVariableReal(v->v_nomvar) == 1 ) 
     681                                        strcpy(v->v_typevar,"REAL"); 
     682                  else strcpy(v->v_typevar,"INTEGER"); 
     683                  v->v_catvar = get_cat_var(v); 
     684             } 
     685              
    621686                WriteVarDeclaration(v, fortran_out, 1, 1); 
    622687            } 
     
    639704    char ligne[LONG_M]; 
    640705    char initialvalue[LONG_M]; 
    641  
     706    listname *parcours_name; 
     707     
    642708    if (insubroutinedeclare == 1) 
    643709    { 
     
    651717            if (out)   break; 
    652718 
    653             if (strncasecmp(parcours->var->v_initialvalue,"(/",2)) 
     719            strcpy(initialvalue,""); 
     720            parcours_name = parcours->var->v_initialvalue; 
     721            while (parcours_name) 
    654722            { 
    655                 strcpy(initialvalue,parcours->var->v_initialvalue); 
     723            if (strncasecmp(parcours_name->n_name,"(/",2)) 
     724            { 
     725                strcat(initialvalue,parcours_name->n_name); 
     726                if (parcours_name->suiv) 
     727                { 
     728                strcat(initialvalue,","); 
     729                } 
    656730            } 
    657731            else 
    658732            { 
    659                 strncpy(initialvalue,&parcours->var->v_initialvalue[2],strlen(parcours->var->v_initialvalue)-4); 
    660                 strcpy(&initialvalue[strlen(parcours->var->v_initialvalue)-4],"\0"); 
     733            printf("A TRAITER DANS REWRITEDATA STATEMETN "); 
     734            exit(1); 
     735                strncpy(initialvalue,&parcours_name->n_name[2],strlen(parcours_name->n_name)-4); 
     736                strcpy(&initialvalue[strlen(parcours_name->n_name)-4],"\0"); 
     737            } 
     738            parcours_name=parcours_name->suiv; 
    661739            } 
    662740            sprintf(ligne,"data %s/%s/",parcours->var->v_nomvar,initialvalue); 
    663741            tofich(filout,ligne,1); 
    664  
     742             
    665743            parcours = parcours->suiv; 
    666744        } 
  • vendors/AGRIF/dev/LIB/decl.h

    r9019 r14107  
    3636#define LONG_FNAME 1000    // Max length for a file name 
    3737#define LONG_C     200 
    38 #define LONG_M     2000 
     38#define LONG_M     1500 
    3939 
    4040#define NB_CAT_VARIABLES 5 
     
    5555   struct listdim *suiv; 
    5656} listdim;                 /* list of the dimensions of a variable            */ 
     57 
     58typedef struct listname 
     59{ 
     60   char n_name[LONG_M]; 
     61   struct  listname* suiv; 
     62} listname ;            /* list of names                                  */ 
     63 
     64typedef struct do_loop 
     65{ 
     66   char do_variable[LONG_VNAME]; 
     67   char do_begin[LONG_VNAME]; 
     68   char do_end[LONG_VNAME]; 
     69   char do_step[LONG_VNAME]; 
     70} do_loop ; 
     71 
     72typedef struct listdoloop 
     73{ 
     74   do_loop *cur_do_loop; 
     75   struct listdoloop* suiv; 
     76} listdoloop; 
    5777 
    5878typedef struct variable 
     
    6888   char v_commoninfile[LONG_FNAME]; 
    6989   char v_subroutinename[LONG_VNAME]; 
     90   listdoloop *v_do_loop; 
    7091   char v_precision[LONG_C]; 
    71    char v_initialvalue[LONG_M]; 
     92   listname *v_initialvalue; 
     93   listname *v_initialvalue_array; 
    7294   char v_IntentSpec[LONG_M]; 
    7395   char v_readedlistdimension[LONG_M]; 
     
    126148} listparameter ;           /* list of names                                  */ 
    127149 
    128 typedef struct listname 
    129 { 
    130    char n_name[LONG_VNAME]; 
    131    struct  listname* suiv; 
    132 } listname ;            /* list of names                                  */ 
    133  
    134150typedef struct listcouple 
    135151{ 
     
    198214 listname *List_Pointer_Var; 
    199215 listname *List_ImplicitNoneSubroutine; 
     216  
     217 listname *List_Do_labels;  
     218 /* A list that contains the do labels if any */ 
    200219 
    201220 listusemodule *List_NameOfModuleUsed; 
     
    321340 char curmodulename[LONG_VNAME]; 
    322341 char subroutinename[LONG_VNAME]; 
     342 char old_subroutinename[LONG_VNAME]; // For internal subprogramm 
    323343 char cur_filename[LONG_FNAME];     // Name of the current parsed Fortran file 
    324344 char config_file[LONG_FNAME];      // Name of conv configuration file (ex: amr.in) 
     
    331351 FILE *fortran_in;           /* Input File                                     */ 
    332352 FILE *oldfortran_out; 
     353 FILE *old_oldfortran_out; // For internal subprogramm 
    333354 FILE *subloop; 
    334355 FILE *module_declar; 
     
    433454/******************************************************************************/ 
    434455extern void WriteBeginof_SubLoop(); 
    435 extern void WriteVariablelist_subloop(char *ligne); 
    436 extern void WriteVariablelist_subloop_Call(char **ligne, size_t line_length); 
    437 extern void WriteVariablelist_subloop_Def(char *ligne); 
     456extern void WriteVariablelist_subloop(char **ligne, size_t *line_length); 
     457extern void WriteVariablelist_subloop_Call(char **ligne, size_t *line_length); 
     458extern void WriteVariablelist_subloop_Def(char **ligne, size_t *line_length); 
    438459extern void WriteHeadofSubroutineLoop(); 
    439460extern void closeandcallsubloopandincludeit_0(int suborfun); 
     
    516537extern int varistyped_0(char *ident); 
    517538extern void dump_var(const variable* var); 
     539extern void removenewline(char *nom); 
    518540/******************************************************************************/ 
    519541/*********** UtilListe.c ******************************************************/ 
     
    532554extern int IsinListe(listvar *lin,char *nom); 
    533555extern listname *Insertname(listname *lin,char *nom,int sens); 
     556extern int testandextractfromlist(listname **lin, char*nom); 
     557extern void removefromlist(listname **lin, char*nom); 
    534558extern listname *concat_listname(listname *l1, listname *l2); 
    535559extern void createstringfromlistname(char *ligne, listname *lin); 
     
    540564extern void  addprecision_derivedfromkind(variable *curvar); 
    541565extern int get_cat_var(variable *var); 
     566extern void Insertdoloop(variable *var,char *do_var, char *do_begin, char *do_end, char *do_step); 
    542567/******************************************************************************/ 
    543568/*********** UtilNotGridDep.c *************************************************/ 
     
    560585/******************************************************************************/ 
    561586extern void Add_Data_Var_1 (listvar **curlist,char *name,char *values); 
    562 extern void Add_Data_Var_Names_01 (listvar **curlist,listname *l1, listname *l2); 
     587extern void Add_Data_Var_Names_01 (listvar **curlist,listvar *l1, listname *l2); 
    563588/******************************************************************************/ 
    564589/*********** WorkWithlistmoduleinfile.c ***************************************/ 
     
    641666extern void WriteArgumentDeclaration_beforecall(); 
    642667extern void WriteArgumentDeclaration_Sort(FILE* tofile); 
    643 extern listnom * writedeclarationintoamr(listvar *deb_common, FILE *fileout, variable *var, 
    644                   const char *commonname, listnom *neededparameter, const char *name_common); 
     668extern int writedeclarationintoamr(listvar *deb_common, FILE *fileout, variable *var, 
     669                  const char *commonname, listnom **neededparameter, const char *name_common, int global_check); 
    645670extern void writesub_loopdeclaration_scalar(listvar *deb_common, FILE *fileout); 
    646671extern void writesub_loopdeclaration_tab(listvar *deb_common, FILE *fileout); 
  • vendors/AGRIF/dev/LIB/fortran.c

    r12420 r14107  
    1 /* A Bison parser, made by GNU Bison 3.4.2.  */ 
     1/* A Bison parser, made by GNU Bison 3.0.4.  */ 
    22 
    33/* Bison implementation for Yacc-like parsers in C 
    44 
    5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, 
    6    Inc. 
     5   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. 
    76 
    87   This program is free software: you can redistribute it and/or modify 
     
    4241   USER NAME SPACE" below.  */ 
    4342 
    44 /* Undocumented macros, especially those whose name start with YY_, 
    45    are private implementation details.  Do not rely on them.  */ 
    46  
    4743/* Identify Bison output.  */ 
    4844#define YYBISON 1 
    4945 
    5046/* Bison version.  */ 
    51 #define YYBISON_VERSION "3.4.2" 
     47#define YYBISON_VERSION "3.0.4" 
    5248 
    5349/* Skeleton name.  */ 
     
    7470#define yychar          fortran_char 
    7571 
    76 /* First part of user prologue.  */ 
    77 #line 36 "fortran.y" 
     72/* Copy the first part of user declarations.  */ 
     73#line 36 "fortran.y" /* yacc.c:339  */ 
    7874 
    7975#define YYMAXDEPTH 1000 
     
    8480 
    8581extern int line_num_input; 
    86 extern char *fortran_text; 
    8782 
    8883char c_selectorname[LONG_M]; 
     
    9287int c_selectorgiven=0; 
    9388listvar *curlistvar; 
     89int in_select_case_stmt=0; 
    9490typedim c_selectordim; 
    9591listcouple *coupletmp; 
    9692int removeline=0; 
     93int token_since_endofstmt = 0; 
     94int increment_nbtokens = 1; 
     95int in_complex_literal = 0; 
     96int close_or_connect = 0; 
     97int in_io_control_spec = 0; 
     98int intent_spec = 0; 
     99long int my_position; 
     100long int my_position_before; 
     101int suborfun = 0; 
     102int indeclaration = 0; 
     103int endoffile = 0; 
     104int in_inquire = 0; 
     105int in_char_selector = 0; 
     106int in_kind_selector =0; 
     107int char_length_toreset = 0; 
     108 
     109typedim my_dim; 
     110 
    97111listvar *test; 
     112 
     113char linebuf1[1024]; 
     114char linebuf2[1024]; 
    98115 
    99116int fortran_error(const char *s) 
    100117{ 
    101     printf("%s line %d, file %s motclef = |%s|\n", s, line_num_input, cur_filename, fortran_text); 
     118  if (endoffile == 1)  
     119  { 
     120  endoffile = 0; 
     121  return 0; 
     122  } 
     123    printf("%s line %d, file %s culprit = |%s|\n", s, line_num_input, cur_filename, strcat(linebuf1, linebuf2)); 
    102124    exit(1); 
    103125} 
    104126 
    105127 
    106 #line 107 "fortran.tab.c" 
     128#line 129 "fortran.tab.c" /* yacc.c:339  */ 
    107129 
    108130# ifndef YY_NULLPTR 
    109 #  if defined __cplusplus 
    110 #   if 201103L <= __cplusplus 
    111 #    define YY_NULLPTR nullptr 
    112 #   else 
    113 #    define YY_NULLPTR 0 
    114 #   endif 
     131#  if defined __cplusplus && 201103L <= __cplusplus 
     132#   define YY_NULLPTR nullptr 
    115133#  else 
    116 #   define YY_NULLPTR ((void*)0) 
     134#   define YY_NULLPTR 0 
    117135#  endif 
    118136# endif 
     
    163181    TOK_PROGRAM = 279, 
    164182    TOK_FUNCTION = 280, 
    165     TOK_FORMAT = 281, 
    166     TOK_MAX = 282, 
    167     TOK_TANH = 283, 
    168     TOK_WHERE = 284, 
    169     TOK_ELSEWHEREPAR = 285, 
    170     TOK_ELSEWHERE = 286, 
    171     TOK_ENDWHERE = 287, 
    172     TOK_MAXVAL = 288, 
    173     TOK_TRIM = 289, 
    174     TOK_NULL_PTR = 290, 
    175     TOK_SUM = 291, 
    176     TOK_SQRT = 292, 
    177     TOK_CASE = 293, 
    178     TOK_SELECTCASE = 294, 
    179     TOK_FILE = 295, 
    180     TOK_UNIT = 296, 
    181     TOK_FMT = 297, 
    182     TOK_NML = 298, 
    183     TOK_END = 299, 
    184     TOK_EOR = 300, 
    185     TOK_ERR = 301, 
    186     TOK_EXIST = 302, 
    187     TOK_MIN = 303, 
    188     TOK_FLOAT = 304, 
    189     TOK_EXP = 305, 
    190     TOK_COS = 306, 
    191     TOK_COSH = 307, 
    192     TOK_ACOS = 308, 
    193     TOK_NINT = 309, 
    194     TOK_CYCLE = 310, 
    195     TOK_SIN = 311, 
    196     TOK_SINH = 312, 
    197     TOK_ASIN = 313, 
    198     TOK_EQUIVALENCE = 314, 
    199     TOK_BACKSPACE = 315, 
    200     TOK_LOG = 316, 
    201     TOK_TAN = 317, 
    202     TOK_ATAN = 318, 
    203     TOK_RECURSIVE = 319, 
    204     TOK_ABS = 320, 
    205     TOK_MOD = 321, 
    206     TOK_SIGN = 322, 
    207     TOK_MINLOC = 323, 
    208     TOK_MAXLOC = 324, 
    209     TOK_EXIT = 325, 
    210     TOK_MINVAL = 326, 
    211     TOK_PUBLIC = 327, 
    212     TOK_PRIVATE = 328, 
    213     TOK_ALLOCATABLE = 329, 
    214     TOK_RETURN = 330, 
    215     TOK_THEN = 331, 
    216     TOK_ELSEIF = 332, 
    217     TOK_ELSE = 333, 
    218     TOK_ENDIF = 334, 
    219     TOK_PRINT = 335, 
    220     TOK_PLAINGOTO = 336, 
    221     TOK_LOGICALIF = 337, 
    222     TOK_PLAINDO = 338, 
    223     TOK_CONTAINS = 339, 
    224     TOK_ENDDO = 340, 
    225     TOK_MODULE = 341, 
    226     TOK_ENDMODULE = 342, 
    227     TOK_WHILE = 343, 
    228     TOK_CONCURRENT = 344, 
    229     TOK_ALLOCATE = 345, 
    230     TOK_OPEN = 346, 
    231     TOK_CLOSE = 347, 
    232     TOK_INQUIRE = 348, 
    233     TOK_WRITE = 349, 
    234     TOK_FLUSH = 350, 
    235     TOK_READ = 351, 
    236     TOK_REWIND = 352, 
    237     TOK_DEALLOCATE = 353, 
    238     TOK_NULLIFY = 354, 
    239     TOK_DIMENSION = 355, 
    240     TOK_ENDSELECT = 356, 
    241     TOK_EXTERNAL = 357, 
    242     TOK_INTENT = 358, 
    243     TOK_INTRINSIC = 359, 
    244     TOK_NAMELIST = 360, 
    245     TOK_DEFAULT = 361, 
    246     TOK_OPTIONAL = 362, 
    247     TOK_POINTER = 363, 
    248     TOK_CONTINUE = 364, 
    249     TOK_SAVE = 365, 
    250     TOK_TARGET = 366, 
    251     TOK_IMPLICIT = 367, 
    252     TOK_NONE = 368, 
    253     TOK_CALL = 369, 
    254     TOK_STAT = 370, 
    255     TOK_POINT_TO = 371, 
    256     TOK_COMMON = 372, 
    257     TOK_GLOBAL = 373, 
    258     TOK_LEFTAB = 374, 
    259     TOK_RIGHTAB = 375, 
    260     TOK_PAUSE = 376, 
    261     TOK_PROCEDURE = 377, 
    262     TOK_STOP = 378, 
    263     TOK_REAL8 = 379, 
    264     TOK_FOURDOTS = 380, 
    265     TOK_HEXA = 381, 
    266     TOK_ASSIGNTYPE = 382, 
    267     TOK_OUT = 383, 
    268     TOK_INOUT = 384, 
    269     TOK_IN = 385, 
    270     TOK_USE = 386, 
    271     TOK_TRUE = 387, 
    272     TOK_FALSE = 388, 
    273     TOK_LABEL = 389, 
    274     TOK_TYPE = 390, 
    275     TOK_TYPEPAR = 391, 
    276     TOK_ENDTYPE = 392, 
    277     TOK_REAL = 393, 
    278     TOK_INTEGER = 394, 
    279     TOK_LOGICAL = 395, 
    280     TOK_DOUBLEPRECISION = 396, 
    281     TOK_ENDSUBROUTINE = 397, 
    282     TOK_ENDFUNCTION = 398, 
    283     TOK_ENDPROGRAM = 399, 
    284     TOK_ENDUNIT = 400, 
    285     TOK_CHARACTER = 401, 
    286     TOK_CHAR_CONSTANT = 402, 
    287     TOK_CHAR_CUT = 403, 
    288     TOK_DATA = 404, 
    289     TOK_CHAR_MESSAGE = 405, 
    290     TOK_CSTREAL = 406, 
    291     TOK_COMPLEX = 407, 
    292     TOK_DOUBLECOMPLEX = 408, 
    293     TOK_NAME = 409, 
    294     TOK_CSTINT = 410 
     183    TOK_LABEL_FORMAT = 281, 
     184    TOK_LABEL_CONTINUE = 282, 
     185    TOK_LABEL_END_DO = 283, 
     186    TOK_MAX = 284, 
     187    TOK_TANH = 285, 
     188    TOK_COMMENT = 286, 
     189    TOK_WHERE = 287, 
     190    TOK_ELSEWHEREPAR = 288, 
     191    TOK_ELSEWHERE = 289, 
     192    TOK_ENDWHERE = 290, 
     193    TOK_MAXVAL = 291, 
     194    TOK_TRIM = 292, 
     195    TOK_NULL_PTR = 293, 
     196    TOK_SUM = 294, 
     197    TOK_SQRT = 295, 
     198    TOK_CASE = 296, 
     199    TOK_SELECTCASE = 297, 
     200    TOK_FILE = 298, 
     201    TOK_REC = 299, 
     202    TOK_NAME_EQ = 300, 
     203    TOK_IOLENGTH = 301, 
     204    TOK_ACCESS = 302, 
     205    TOK_ACTION = 303, 
     206    TOK_FORM = 304, 
     207    TOK_RECL = 305, 
     208    TOK_STATUS = 306, 
     209    TOK_UNIT = 307, 
     210    TOK_OPENED = 308, 
     211    TOK_FMT = 309, 
     212    TOK_NML = 310, 
     213    TOK_END = 311, 
     214    TOK_EOR = 312, 
     215    TOK_EOF = 313, 
     216    TOK_ERR = 314, 
     217    TOK_POSITION = 315, 
     218    TOK_IOSTAT = 316, 
     219    TOK_IOMSG = 317, 
     220    TOK_EXIST = 318, 
     221    TOK_MIN = 319, 
     222    TOK_FLOAT = 320, 
     223    TOK_EXP = 321, 
     224    TOK_LEN = 322, 
     225    TOK_COS = 323, 
     226    TOK_COSH = 324, 
     227    TOK_ACOS = 325, 
     228    TOK_NINT = 326, 
     229    TOK_CYCLE = 327, 
     230    TOK_SIN = 328, 
     231    TOK_SINH = 329, 
     232    TOK_ASIN = 330, 
     233    TOK_EQUIVALENCE = 331, 
     234    TOK_BACKSPACE = 332, 
     235    TOK_LOG = 333, 
     236    TOK_TAN = 334, 
     237    TOK_ATAN = 335, 
     238    TOK_RECURSIVE = 336, 
     239    TOK_ABS = 337, 
     240    TOK_MOD = 338, 
     241    TOK_SIGN = 339, 
     242    TOK_MINLOC = 340, 
     243    TOK_MAXLOC = 341, 
     244    TOK_EXIT = 342, 
     245    TOK_KIND = 343, 
     246    TOK_MOLD = 344, 
     247    TOK_SOURCE = 345, 
     248    TOK_ERRMSG = 346, 
     249    TOK_MINVAL = 347, 
     250    TOK_PUBLIC = 348, 
     251    TOK_PRIVATE = 349, 
     252    TOK_ALLOCATABLE = 350, 
     253    TOK_RETURN = 351, 
     254    TOK_THEN = 352, 
     255    TOK_ELSEIF = 353, 
     256    TOK_ELSE = 354, 
     257    TOK_ENDIF = 355, 
     258    TOK_PRINT = 356, 
     259    TOK_PLAINGOTO = 357, 
     260    TOK_LOGICALIF = 358, 
     261    TOK_LOGICALIF_PAR = 359, 
     262    TOK_PLAINDO = 360, 
     263    TOK_CONTAINS = 361, 
     264    TOK_ENDDO = 362, 
     265    TOK_MODULE = 363, 
     266    TOK_ENDMODULE = 364, 
     267    TOK_WHILE = 365, 
     268    TOK_CONCURRENT = 366, 
     269    TOK_ALLOCATE = 367, 
     270    TOK_OPEN = 368, 
     271    TOK_CLOSE = 369, 
     272    TOK_INQUIRE = 370, 
     273    TOK_WRITE_PAR = 371, 
     274    TOK_WRITE = 372, 
     275    TOK_FLUSH = 373, 
     276    TOK_READ_PAR = 374, 
     277    TOK_READ = 375, 
     278    TOK_REWIND = 376, 
     279    TOK_DEALLOCATE = 377, 
     280    TOK_NULLIFY = 378, 
     281    TOK_DIMENSION = 379, 
     282    TOK_ENDSELECT = 380, 
     283    TOK_EXTERNAL = 381, 
     284    TOK_INTENT = 382, 
     285    TOK_INTRINSIC = 383, 
     286    TOK_NAMELIST = 384, 
     287    TOK_DEFAULT = 385, 
     288    TOK_OPTIONAL = 386, 
     289    TOK_POINTER = 387, 
     290    TOK_CONTINUE = 388, 
     291    TOK_SAVE = 389, 
     292    TOK_TARGET = 390, 
     293    TOK_IMPLICIT = 391, 
     294    TOK_NONE = 392, 
     295    TOK_CALL = 393, 
     296    TOK_STAT = 394, 
     297    TOK_POINT_TO = 395, 
     298    TOK_COMMON = 396, 
     299    TOK_GLOBAL = 397, 
     300    TOK_LEFTAB = 398, 
     301    TOK_RIGHTAB = 399, 
     302    TOK_PAUSE = 400, 
     303    TOK_PROCEDURE = 401, 
     304    TOK_STOP = 402, 
     305    TOK_FOURDOTS = 403, 
     306    TOK_HEXA = 404, 
     307    TOK_ASSIGNTYPE = 405, 
     308    TOK_OUT = 406, 
     309    TOK_INOUT = 407, 
     310    TOK_IN = 408, 
     311    TOK_USE = 409, 
     312    TOK_EQUALEQUAL = 410, 
     313    TOK_SLASHEQUAL = 411, 
     314    TOK_INFEQUAL = 412, 
     315    TOK_SUPEQUAL = 413, 
     316    TOK_TRUE = 414, 
     317    TOK_FALSE = 415, 
     318    TOK_LABEL = 416, 
     319    TOK_LABEL_DJVIEW = 417, 
     320    TOK_PLAINDO_LABEL_DJVIEW = 418, 
     321    TOK_PLAINDO_LABEL = 419, 
     322    TOK_TYPE = 420, 
     323    TOK_TYPEPAR = 421, 
     324    TOK_ENDTYPE = 422, 
     325    TOK_COMMACOMPLEX = 423, 
     326    TOK_REAL = 424, 
     327    TOK_INTEGER = 425, 
     328    TOK_LOGICAL = 426, 
     329    TOK_DOUBLEPRECISION = 427, 
     330    TOK_ENDSUBROUTINE = 428, 
     331    TOK_ENDFUNCTION = 429, 
     332    TOK_ENDPROGRAM = 430, 
     333    TOK_ENDUNIT = 431, 
     334    TOK_CHARACTER = 432, 
     335    TOK_CHAR_CONSTANT = 433, 
     336    TOK_CHAR_CUT = 434, 
     337    TOK_DATA = 435, 
     338    TOK_CHAR_MESSAGE = 436, 
     339    TOK_CSTREAL = 437, 
     340    TOK_COMPLEX = 438, 
     341    TOK_DOUBLECOMPLEX = 439, 
     342    TOK_NAME = 440, 
     343    TOK_CSTINT = 441 
    295344  }; 
    296345#endif 
     
    298347/* Value type.  */ 
    299348#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 
     349 
    300350union YYSTYPE 
    301351{ 
    302 #line 65 "fortran.y" 
     352#line 91 "fortran.y" /* yacc.c:355  */ 
    303353 
    304354    char        na[LONG_M]; 
     
    310360    variable    *v; 
    311361 
    312 #line 313 "fortran.tab.c" 
    313  
     362#line 363 "fortran.tab.c" /* yacc.c:355  */ 
    314363}; 
     364 
    315365typedef union YYSTYPE YYSTYPE; 
    316366# define YYSTYPE_IS_TRIVIAL 1 
     
    325375 
    326376 
    327  
     377/* Copy the second part of user declarations.  */ 
     378 
     379#line 380 "fortran.tab.c" /* yacc.c:358  */ 
    328380 
    329381#ifdef short 
     
    346398typedef YYTYPE_UINT16 yytype_uint16; 
    347399#else 
    348 typedef unsigned short yytype_uint16; 
     400typedef unsigned short int yytype_uint16; 
    349401#endif 
    350402 
     
    352404typedef YYTYPE_INT16 yytype_int16; 
    353405#else 
    354 typedef short yytype_int16; 
     406typedef short int yytype_int16; 
    355407#endif 
    356408 
     
    364416#  define YYSIZE_T size_t 
    365417# else 
    366 #  define YYSIZE_T unsigned 
     418#  define YYSIZE_T unsigned int 
    367419# endif 
    368420#endif 
     
    400452#endif 
    401453 
     454#if !defined _Noreturn \ 
     455     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 
     456# if defined _MSC_VER && 1200 <= _MSC_VER 
     457#  define _Noreturn __declspec (noreturn) 
     458# else 
     459#  define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 
     460# endif 
     461#endif 
     462 
    402463/* Suppress unused-variable warnings by "using" E.  */ 
    403464#if ! defined lint || defined __GNUC__ 
     
    407468#endif 
    408469 
    409 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 
     470#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 
    410471/* Suppress an incorrect diagnostic about yylval being uninitialized.  */ 
    411472# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 
     
    426487#endif 
    427488 
    428  
    429 #define YY_ASSERT(E) ((void) (0 && (E))) 
    430489 
    431490#if ! defined yyoverflow || YYERROR_VERBOSE 
     
    560619#define YYFINAL  2 
    561620/* YYLAST -- Last index in YYTABLE.  */ 
    562 #define YYLAST   6446 
     621#define YYLAST   4539 
    563622 
    564623/* YYNTOKENS -- Number of terminals.  */ 
    565 #define YYNTOKENS  169 
     624#define YYNTOKENS  203 
    566625/* YYNNTS -- Number of nonterminals.  */ 
    567 #define YYNNTS  206 
     626#define YYNNTS  524 
    568627/* YYNRULES -- Number of rules.  */ 
    569 #define YYNRULES  598 
     628#define YYNRULES  1070 
    570629/* YYNSTATES -- Number of states.  */ 
    571 #define YYNSTATES  1052 
    572  
     630#define YYNSTATES  1734 
     631 
     632/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 
     633   by yylex, with out-of-bounds checking.  */ 
    573634#define YYUNDEFTOK  2 
    574 #define YYMAXUTOK   410 
    575  
    576 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM 
    577    as returned by yylex, with out-of-bounds checking.  */ 
     635#define YYMAXUTOK   441 
     636 
    578637#define YYTRANSLATE(YYX)                                                \ 
    579   ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 
     638  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 
    580639 
    581640/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 
    582    as returned by yylex.  */ 
     641   as returned by yylex, without out-of-bounds checking.  */ 
    583642static const yytype_uint8 yytranslate[] = 
    584643{ 
    585644       0,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    586      166,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     645     197,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    587646       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    588        2,     2,     2,     2,     2,     2,     2,   168,     2,     2, 
    589      162,   163,    21,    19,     3,    20,     2,   167,     2,     2, 
     647       2,     2,     2,     2,     2,     2,     2,   199,     2,     2, 
     648     193,   194,    21,    19,     3,    20,     2,   198,     2,     2, 
    590649       2,     2,     2,     2,     2,     2,     2,     2,     4,     2, 
    591      164,     5,   165,     2,     2,     2,     2,     2,     2,     2, 
     650     195,     5,   196,     2,     2,     2,     2,     2,     2,     2, 
    592651       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    593652       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    594        2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     653       2,   201,     2,   202,     2,   200,     2,     2,     2,     2, 
    595654       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
    596655       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     
    624683     141,   142,   143,   144,   145,   146,   147,   148,   149,   150, 
    625684     151,   152,   153,   154,   155,   156,   157,   158,   159,   160, 
    626      161 
     685     161,   162,   163,   164,   165,   166,   167,   168,   169,   170, 
     686     171,   172,   173,   174,   175,   176,   177,   178,   179,   180, 
     687     181,   182,   183,   184,   185,   186,   187,   188,   189,   190, 
     688     191,   192 
    627689}; 
    628690 
     
    631693static const yytype_uint16 yyrline[] = 
    632694{ 
    633        0,   313,   313,   314,   316,   317,   318,   319,   322,   323, 
    634      324,   325,   326,   329,   330,   331,   334,   335,   336,   344, 
    635      347,   350,   351,   354,   355,   358,   366,   375,   392,   411, 
    636      412,   415,   417,   419,   420,   421,   423,   424,   425,   427, 
    637      439,   451,   452,   454,   455,   456,   457,   458,   475,   492, 
    638      493,   498,   499,   536,   549,   550,   551,   552,   553,   554, 
    639      555,   556,   557,   570,   571,   578,   579,   580,   581,   582, 
    640      583,   584,   585,   586,   587,   588,   589,   590,   591,   592, 
    641      593,   594,   595,   596,   597,   598,   599,   600,   601,   604, 
    642      605,   608,   609,   612,   613,   615,   618,   619,   622,   623, 
    643      625,   626,   629,   695,   710,   712,   716,   719,   720,   723, 
    644      729,   734,   748,   749,   752,   753,   754,   755,   758,   760, 
    645      761,   764,   765,   766,   769,   770,   771,   772,   773,   775, 
    646      776,   779,   780,   781,   782,   785,   792,   802,   814,   815, 
    647      818,   819,   822,   823,   824,   825,   828,   834,   842,   852, 
    648      853,   856,   857,   860,   868,   874,   881,   882,   885,   886, 
    649      889,   905,   908,   909,   912,   921,   923,   945,   970,   972, 
    650      973,   974,   975,   977,   978,   979,   980,   983,   984,   985, 
    651      987,   990,   991,   992,   993,   994,   995,   997,   998,  1001, 
    652     1002,  1004,  1005,  1006,  1008,  1009,  1012,  1013,  1023,  1024, 
    653     1025,  1028,  1029,  1030,  1032,  1033,  1035,  1036,  1037,  1039, 
    654     1040,  1043,  1044,  1045,  1046,  1047,  1048,  1050,  1051,  1052, 
    655     1053,  1054,  1057,  1058,  1059,  1062,  1063,  1065,  1066,  1074, 
    656     1080,  1087,  1088,  1089,  1090,  1091,  1094,  1095,  1097,  1098, 
    657     1099,  1100,  1104,  1105,  1106,  1107,  1108,  1109,  1110,  1111, 
    658     1112,  1113,  1114,  1115,  1116,  1117,  1118,  1119,  1120,  1121, 
    659     1122,  1123,  1124,  1125,  1126,  1127,  1128,  1129,  1131,  1132, 
    660     1134,  1135,  1136,  1137,  1138,  1139,  1141,  1142,  1146,  1147, 
    661     1148,  1149,  1150,  1151,  1152,  1153,  1154,  1155,  1156,  1157, 
    662     1158,  1159,  1160,  1161,  1162,  1163,  1164,  1165,  1166,  1168, 
    663     1169,  1170,  1171,  1174,  1175,  1178,  1179,  1180,  1184,  1195, 
    664     1196,  1197,  1198,  1201,  1210,  1217,  1220,  1221,  1224,  1225, 
    665     1228,  1229,  1232,  1233,  1234,  1235,  1236,  1237,  1238,  1240, 
    666     1286,  1287,  1288,  1289,  1290,  1291,  1292,  1294,  1297,  1298, 
    667     1299,  1300,  1302,  1303,  1306,  1308,  1309,  1312,  1313,  1315, 
    668     1316,  1322,  1330,  1333,  1353,  1380,  1400,  1440,  1447,  1451, 
    669     1458,  1468,  1469,  1477,  1487,  1499,  1500,  1505,  1506,  1507, 
    670     1508,  1509,  1514,  1515,  1516,  1517,  1518,  1519,  1520,  1521, 
    671     1522,  1523,  1524,  1525,  1526,  1527,  1528,  1529,  1530,  1531, 
    672     1568,  1577,  1588,  1596,  1618,  1619,  1620,  1658,  1662,  1666, 
    673     1669,  1670,  1673,  1674,  1677,  1678,  1683,  1687,  1688,  1689, 
    674     1693,  1697,  1702,  1703,  1708,  1709,  1714,  1715,  1719,  1723, 
    675     1724,  1725,  1730,  1735,  1740,  1741,  1746,  1747,  1748,  1749, 
    676     1754,  1755,  1756,  1757,  1762,  1763,  1764,  1765,  1769,  1773, 
    677     1777,  1778,  1783,  1784,  1788,  1791,  1792,  1793,  1797,  1800, 
    678     1801,  1802,  1805,  1810,  1811,  1816,  1817,  1822,  1823,  1828, 
    679     1829,  1833,  1837,  1840,  1841,  1842,  1845,  1850,  1851,  1856, 
    680     1857,  1862,  1863,  1868,  1869,  1873,  1874,  1879,  1880,  1881, 
    681     1882,  1886,  1890,  1894,  1898,  1906,  1913,  1920,  1927,  1928, 
    682     1931,  1934,  1945,  1951,  1952,  1955,  1956,  1958,  1971,  1972, 
    683     1974,  1975,  1978,  1979,  2001,  2004,  2005,  2008,  2016,  2019, 
    684     2020,  2023,  2024,  2027,  2028,  2030,  2031,  2033,  2036,  2037, 
    685     2038,  2039,  2040,  2043,  2044,  2047,  2048,  2049,  2050,  2051, 
    686     2052,  2053,  2054,  2057,  2060,  2061,  2062,  2064,  2065,  2068, 
    687     2069,  2070,  2073,  2074,  2077,  2078,  2079,  2080,  2081,  2082, 
    688     2083,  2084,  2085,  2086,  2087,  2088,  2089,  2090,  2091,  2092, 
    689     2093,  2095,  2096,  2098,  2099,  2105,  2106,  2107,  2108,  2109, 
    690     2111,  2112,  2113,  2116,  2117,  2118,  2119,  2120,  2121,  2122, 
    691     2123,  2124,  2125,  2128,  2129,  2130,  2132,  2133,  2135,  2136, 
    692     2139,  2140,  2143,  2146,  2147,  2149,  2150,  2153,  2154 
     695       0,   514,   514,   515,   517,   518,   519,   521,   523,   524, 
     696     525,   526,   529,   530,   531,   533,   534,   542,   560,   564, 
     697     565,   566,   570,   571,   584,   852,   853,  1104,  1105,  1106, 
     698    1107,  1108,  1110,  1111,  1115,  1116,  1117,  1118,  1119,  1120, 
     699    1121,  1122,  1123,  1124,  1125,  1126,  1127,  1128,  1129,  1130, 
     700    1131,  1132,  1133,  1134,  1135,  1137,  1138,  1139,  1140,  1143, 
     701    1144,  1147,  1148,  1149,  1153,  1164,  1165,  1166,  1166,  1167, 
     702    1167,  1169,  1170,  1170,  1179,  1191,  1192,  1195,  1196,  1199, 
     703    1200,  1203,  1204,  1205,  1206,  1207,  1208,  1209,  1211,  1258, 
     704    1259,  1260,  1261,  1262,  1263,  1264,  1266,  1269,  1270,  1271, 
     705    1272,  1274,  1275,  1285,  1286,  1338,  1341,  1342,  1367,  1368, 
     706    1372,  1373,  1386,  1387,  1388,  1389,  1390,  1391,  1392,  1393, 
     707    1394,  1395,  1396,  1397,  1398,  1401,  1402,  1406,  1409,  1410, 
     708    1414,  1415,  1419,  1420,  1423,  1424,  1428,  1432,  1433,  1436, 
     709    1437,  1441,  1442,  1446,  1447,  1448,  1449,  1450,  1451,  1452, 
     710    1453,  1454,  1459,  1460,  1461,  1462,  1463,  1471,  1472,  1473, 
     711    1474,  1475,  1476,  1477,  1478,  1479,  1480,  1481,  1482,  1483, 
     712    1505,  1506,  1507,  1508,  1509,  1510,  1511,  1512,  1513,  1514, 
     713    1515,  1516,  1520,  1523,  1528,  1529,  1533,  1534,  1535,  1536, 
     714    1538,  1542,  1561,  1562,  1566,  1567,  1571,  1572,  1576,  1580, 
     715    1581,  1582,  1593,  1593,  1595,  1596,  1601,  1601,  1603,  1603, 
     716    1605,  1605,  1607,  1607,  1609,  1609,  1611,  1611,  1616,  1617, 
     717    1623,  1625,  1627,  1634,  1635,  1640,  1641,  1646,  1647,  1663, 
     718    1664,  1669,  1670,  1677,  1683,  1684,  1685,  1689,  1690,  1691, 
     719    1694,  1695,  1700,  1701,  1706,  1707,  1708,  1709,  1710,  1714, 
     720    1716,  1718,  1719,  1723,  1725,  1730,  1731,  1732,  1736,  1737, 
     721    1741,  1741,  1746,  1747,  1750,  1751,  1754,  1755,  1758,  1759, 
     722    1763,  1766,  1767,  1770,  1774,  1775,  1778,  1779,  1783,  1784, 
     723    1788,  1792,  1795,  1796,  1797,  1800,  1801,  1805,  1806,  1807, 
     724    1807,  1808,  1811,  1812,  1816,  1839,  1840,  1844,  1845,  1848, 
     725    1849,  1853,  1854,  1855,  1859,  1864,  1866,  1869,  1870,  1874, 
     726    1875,  1879,  1880,  1883,  1884,  1888,  1889,  1893,  1894,  1895, 
     727    1899,  1901,  1916,  1920,  1924,  1928,  1929,  1934,  1935,  1939, 
     728    1944,  1946,  1951,  1955,  1956,  1955,  2023,  2024,  2027,  2028, 
     729    2032,  2033,  2037,  2038,  2040,  2040,  2042,  2044,  2044,  2046, 
     730    2047,  2049,  2051,  2053,  2055,  2060,  2062,  2067,  2101,  2104, 
     731    2107,  2108,  2112,  2118,  2124,  2133,  2137,  2139,  2144,  2145, 
     732    2145,  2150,  2152,  2154,  2156,  2158,  2162,  2168,  2177,  2179, 
     733    2184,  2189,  2193,  2199,  2208,  2210,  2215,  2221,  2230,  2235, 
     734    2258,  2259,  2278,  2279,  2283,  2284,  2288,  2292,  2294,  2296, 
     735    2302,  2301,  2320,  2321,  2325,  2327,  2332,  2333,  2338,  2337, 
     736    2352,  2353,  2356,  2357,  2361,  2371,  2373,  2379,  2381,  2386, 
     737    2387,  2391,  2397,  2404,  2406,  2411,  2412,  2416,  2420,  2425, 
     738    2427,  2429,  2431,  2432,  2433,  2434,  2435,  2439,  2440,  2456, 
     739    2457,  2458,  2459,  2460,  2461,  2462,  2468,  2476,  2481,  2483, 
     740    2481,  2528,  2528,  2537,  2537,  2550,  2551,  2550,  2570,  2572, 
     741    2577,  2594,  2595,  2594,  2602,  2603,  2606,  2607,  2610,  2611, 
     742    2615,  2617,  2618,  2622,  2626,  2630,  2632,  2631,  2643,  2644, 
     743    2648,  2651,  2652,  2656,  2657,  2661,  2664,  2665,  2667,  2668, 
     744    2672,  2676,  2679,  2680,  2684,  2684,  2687,  2688,  2692,  2693, 
     745    2694,  2699,  2700,  2699,  2709,  2710,  2718,  2724,  2732,  2733, 
     746    2736,  2738,  2737,  2747,  2749,  2757,  2763,  2763,  2772,  2773, 
     747    2774,  2775,  2784,  2787,  2800,  2803,  2807,  2811,  2814,  2818, 
     748    2821,  2824,  2828,  2829,  2831,  2846,  2851,  2856,  2857,  2862, 
     749    2864,  2864,  2876,  2880,  2885,  2890,  2892,  2899,  2900,  2902, 
     750    2924,  2926,  2928,  2930,  2932,  2934,  2936,  2937,  2939,  2941, 
     751    2945,  2947,  2949,  2951,  2953,  2956,  2970,  2974,  2975,  2974, 
     752    2983,  2984,  2988,  2989,  2993,  2994,  2998,  3002,  3006,  3007, 
     753    3011,  3015,  3016,  3019,  3020,  3024,  3025,  3029,  3032,  3033, 
     754    3037,  3041,  3045,  3046,  3045,  3051,  3052,  3055,  3056,  3060, 
     755    3061,  3065,  3066,  3075,  3085,  3086,  3087,  3088,  3093,  3098, 
     756    3099,  3103,  3104,  3111,  3112,  3114,  3116,  3117,  3122,  3126, 
     757    3128,  3132,  3134,  3139,  3140,  3145,  3148,  3149,  3154,  3155, 
     758    3156,  3157,  3158,  3159,  3160,  3161,  3162,  3164,  3165,  3167, 
     759    3172,  3173,  3179,  3180,  3186,  3187,  3192,  3193,  3198,  3202, 
     760    3206,  3210,  3211,  3215,  3218,  3222,  3226,  3230,  3231,  3234, 
     761    3238,  3245,  3249,  3253,  3256,  3260,  3266,  3267,  3279,  3280, 
     762    3281,  3289,  3290,  3294,  3295,  3299,  3300,  3304,  3308,  3312, 
     763    3315,  3324,  3328,  3329,  3330,  3334,  3338,  3341,  3342,  3345, 
     764    3346,  3349,  3350,  3354,  3358,  3359,  3360,  3364,  3368,  3372, 
     765    3373,  3377,  3378,  3383,  3384,  3388,  3392,  3395,  3396,  3401, 
     766    3402,  3406,  3411,  3412,  3423,  3424,  3425,  3426,  3429,  3430, 
     767    3431,  3432,  3436,  3437,  3438,  3439,  3444,  3445,  3446,  3447, 
     768    3451,  3455,  3464,  3465,  3469,  3470,  3481,  3482,  3488,  3498, 
     769    3503,  3504,  3505,  3506,  3507,  3508,  3509,  3510,  3511,  3512, 
     770    3513,  3514,  3515,  3516,  3517,  3518,  3519,  3529,  3530,  3533, 
     771    3534,  3545,  3550,  3553,  3554,  3558,  3562,  3565,  3566,  3567, 
     772    3570,  3573,  3574,  3575,  3578,  3582,  3583,  3584,  3588,  3589, 
     773    3593,  3594,  3598,  3599,  3603,  3607,  3610,  3611,  3612,  3615, 
     774    3619,  3619,  3620,  3620,  3624,  3625,  3629,  3629,  3630,  3630, 
     775    3635,  3635,  3636,  3640,  3641,  3646,  3647,  3648,  3649,  3653, 
     776    3657,  3658,  3662,  3666,  3670,  3674,  3675,  3679,  3680,  3684, 
     777    3685,  3686,  3690,  3694,  3698,  3698,  3698,  3701,  3702,  3706, 
     778    3707,  3708,  3709,  3710,  3711,  3712,  3713,  3714,  3715,  3716, 
     779    3720,  3724,  3728,  3728,  3732,  3733,  3737,  3738,  3739,  3740, 
     780    3741,  3746,  3745,  3751,  3750,  3755,  3756,  3761,  3760,  3766, 
     781    3765,  3773,  3774,  3776,  3777,  3780,  3784,  3785,  3786,  3787, 
     782    3788,  3789,  3790,  3791,  3792,  3793,  3794,  3798,  3799,  3800, 
     783    3803,  3804,  3807,  3808,  3812,  3813,  3817,  3818,  3822,  3825, 
     784    3826,  3836,  3840,  3841,  3845,  3846,  3850,  3851,  3855,  3856, 
     785    3857,  3858,  3859,  3863,  3864,  3868,  3869,  3873,  3874,  3875, 
     786    3876,  3877,  3883,  3882,  3886,  3885,  3890,  3894,  3895,  3899, 
     787    3900,  3901,  3902,  3903,  3904,  3905,  3906,  3907,  3908,  3909, 
     788    3913,  3917,  3917,  3920,  3921,  3926,  3925,  3946,  3945,  3970, 
     789    3971,  3974,  3975,  3978,  3981,  3982,  3985,  3986,  3989,  3990, 
     790    3993,  3994,  3998,  4003,  4002,  4041,  4040,  4092,  4093,  4094, 
     791    4098,  4099,  4104,  4107,  4108,  4111,  4112,  4117,  4116,  4130, 
     792    4131,  4130,  4142,  4143,  4145,  4146,  4149,  4153,  4156,  4162, 
     793    4166,  4175,  4185,  4187,  4196,  4204,  4212,  4220,  4224,  4228, 
     794    4229,  4232,  4233,  4236,  4240,  4244,  4245,  4248,  4252,  4253, 
     795    4253,  4260,  4259,  4273,  4272,  4285,  4286,  4285,  4300,  4300, 
     796    4324,  4325,  4326,  4330,  4331,  4336,  4344,  4355,  4356,  4366, 
     797    4369,  4370,  4374,  4375,  4379,  4381,  4383,  4388,  4393,  4394, 
     798    4392,  4418,  4443,  4448,  4449,  4453,  4470,  4469,  4474,  4475, 
     799    4479,  4484,  4483,  4498,  4515,  4520,  4564,  4565,  4569,  4570, 
     800    4570,  4575,  4576,  4581,  4593,  4607,  4609,  4614,  4615,  4620, 
     801    4619,  4655,  4656,  4763,  4764,  4765,  4766,  4767,  4784,  4877, 
     802    4878 
    693803}; 
    694804#endif 
     
    704814  "'-'", "'*'", "TOK_SLASH", "TOK_DASTER", "TOK_SEMICOLON", 
    705815  "TOK_PARAMETER", "TOK_RESULT", "TOK_ONLY", "TOK_INCLUDE", 
    706   "TOK_SUBROUTINE", "TOK_PROGRAM", "TOK_FUNCTION", "TOK_FORMAT", "TOK_MAX", 
    707   "TOK_TANH", "TOK_WHERE", "TOK_ELSEWHEREPAR", "TOK_ELSEWHERE", 
     816  "TOK_SUBROUTINE", "TOK_PROGRAM", "TOK_FUNCTION", "TOK_LABEL_FORMAT", 
     817  "TOK_LABEL_CONTINUE", "TOK_LABEL_END_DO", "TOK_MAX", "TOK_TANH", 
     818  "TOK_COMMENT", "TOK_WHERE", "TOK_ELSEWHEREPAR", "TOK_ELSEWHERE", 
    708819  "TOK_ENDWHERE", "TOK_MAXVAL", "TOK_TRIM", "TOK_NULL_PTR", "TOK_SUM", 
    709   "TOK_SQRT", "TOK_CASE", "TOK_SELECTCASE", "TOK_FILE", "TOK_UNIT", 
    710   "TOK_FMT", "TOK_NML", "TOK_END", "TOK_EOR", "TOK_ERR", "TOK_EXIST", 
    711   "TOK_MIN", "TOK_FLOAT", "TOK_EXP", "TOK_COS", "TOK_COSH", "TOK_ACOS", 
    712   "TOK_NINT", "TOK_CYCLE", "TOK_SIN", "TOK_SINH", "TOK_ASIN", 
    713   "TOK_EQUIVALENCE", "TOK_BACKSPACE", "TOK_LOG", "TOK_TAN", "TOK_ATAN", 
    714   "TOK_RECURSIVE", "TOK_ABS", "TOK_MOD", "TOK_SIGN", "TOK_MINLOC", 
    715   "TOK_MAXLOC", "TOK_EXIT", "TOK_MINVAL", "TOK_PUBLIC", "TOK_PRIVATE", 
     820  "TOK_SQRT", "TOK_CASE", "TOK_SELECTCASE", "TOK_FILE", "TOK_REC", 
     821  "TOK_NAME_EQ", "TOK_IOLENGTH", "TOK_ACCESS", "TOK_ACTION", "TOK_FORM", 
     822  "TOK_RECL", "TOK_STATUS", "TOK_UNIT", "TOK_OPENED", "TOK_FMT", "TOK_NML", 
     823  "TOK_END", "TOK_EOR", "TOK_EOF", "TOK_ERR", "TOK_POSITION", "TOK_IOSTAT", 
     824  "TOK_IOMSG", "TOK_EXIST", "TOK_MIN", "TOK_FLOAT", "TOK_EXP", "TOK_LEN", 
     825  "TOK_COS", "TOK_COSH", "TOK_ACOS", "TOK_NINT", "TOK_CYCLE", "TOK_SIN", 
     826  "TOK_SINH", "TOK_ASIN", "TOK_EQUIVALENCE", "TOK_BACKSPACE", "TOK_LOG", 
     827  "TOK_TAN", "TOK_ATAN", "TOK_RECURSIVE", "TOK_ABS", "TOK_MOD", "TOK_SIGN", 
     828  "TOK_MINLOC", "TOK_MAXLOC", "TOK_EXIT", "TOK_KIND", "TOK_MOLD", 
     829  "TOK_SOURCE", "TOK_ERRMSG", "TOK_MINVAL", "TOK_PUBLIC", "TOK_PRIVATE", 
    716830  "TOK_ALLOCATABLE", "TOK_RETURN", "TOK_THEN", "TOK_ELSEIF", "TOK_ELSE", 
    717831  "TOK_ENDIF", "TOK_PRINT", "TOK_PLAINGOTO", "TOK_LOGICALIF", 
    718   "TOK_PLAINDO", "TOK_CONTAINS", "TOK_ENDDO", "TOK_MODULE", 
    719   "TOK_ENDMODULE", "TOK_WHILE", "TOK_CONCURRENT", "TOK_ALLOCATE", 
    720   "TOK_OPEN", "TOK_CLOSE", "TOK_INQUIRE", "TOK_WRITE", "TOK_FLUSH", 
    721   "TOK_READ", "TOK_REWIND", "TOK_DEALLOCATE", "TOK_NULLIFY", 
    722   "TOK_DIMENSION", "TOK_ENDSELECT", "TOK_EXTERNAL", "TOK_INTENT", 
    723   "TOK_INTRINSIC", "TOK_NAMELIST", "TOK_DEFAULT", "TOK_OPTIONAL", 
    724   "TOK_POINTER", "TOK_CONTINUE", "TOK_SAVE", "TOK_TARGET", "TOK_IMPLICIT", 
    725   "TOK_NONE", "TOK_CALL", "TOK_STAT", "TOK_POINT_TO", "TOK_COMMON", 
    726   "TOK_GLOBAL", "TOK_LEFTAB", "TOK_RIGHTAB", "TOK_PAUSE", "TOK_PROCEDURE", 
    727   "TOK_STOP", "TOK_REAL8", "TOK_FOURDOTS", "TOK_HEXA", "TOK_ASSIGNTYPE", 
    728   "TOK_OUT", "TOK_INOUT", "TOK_IN", "TOK_USE", "TOK_TRUE", "TOK_FALSE", 
    729   "TOK_LABEL", "TOK_TYPE", "TOK_TYPEPAR", "TOK_ENDTYPE", "TOK_REAL", 
     832  "TOK_LOGICALIF_PAR", "TOK_PLAINDO", "TOK_CONTAINS", "TOK_ENDDO", 
     833  "TOK_MODULE", "TOK_ENDMODULE", "TOK_WHILE", "TOK_CONCURRENT", 
     834  "TOK_ALLOCATE", "TOK_OPEN", "TOK_CLOSE", "TOK_INQUIRE", "TOK_WRITE_PAR", 
     835  "TOK_WRITE", "TOK_FLUSH", "TOK_READ_PAR", "TOK_READ", "TOK_REWIND", 
     836  "TOK_DEALLOCATE", "TOK_NULLIFY", "TOK_DIMENSION", "TOK_ENDSELECT", 
     837  "TOK_EXTERNAL", "TOK_INTENT", "TOK_INTRINSIC", "TOK_NAMELIST", 
     838  "TOK_DEFAULT", "TOK_OPTIONAL", "TOK_POINTER", "TOK_CONTINUE", "TOK_SAVE", 
     839  "TOK_TARGET", "TOK_IMPLICIT", "TOK_NONE", "TOK_CALL", "TOK_STAT", 
     840  "TOK_POINT_TO", "TOK_COMMON", "TOK_GLOBAL", "TOK_LEFTAB", "TOK_RIGHTAB", 
     841  "TOK_PAUSE", "TOK_PROCEDURE", "TOK_STOP", "TOK_FOURDOTS", "TOK_HEXA", 
     842  "TOK_ASSIGNTYPE", "TOK_OUT", "TOK_INOUT", "TOK_IN", "TOK_USE", 
     843  "TOK_EQUALEQUAL", "TOK_SLASHEQUAL", "TOK_INFEQUAL", "TOK_SUPEQUAL", 
     844  "TOK_TRUE", "TOK_FALSE", "TOK_LABEL", "TOK_LABEL_DJVIEW", 
     845  "TOK_PLAINDO_LABEL_DJVIEW", "TOK_PLAINDO_LABEL", "TOK_TYPE", 
     846  "TOK_TYPEPAR", "TOK_ENDTYPE", "TOK_COMMACOMPLEX", "TOK_REAL", 
    730847  "TOK_INTEGER", "TOK_LOGICAL", "TOK_DOUBLEPRECISION", "TOK_ENDSUBROUTINE", 
    731848  "TOK_ENDFUNCTION", "TOK_ENDPROGRAM", "TOK_ENDUNIT", "TOK_CHARACTER", 
    732849  "TOK_CHAR_CONSTANT", "TOK_CHAR_CUT", "TOK_DATA", "TOK_CHAR_MESSAGE", 
    733850  "TOK_CSTREAL", "TOK_COMPLEX", "TOK_DOUBLECOMPLEX", "TOK_NAME", 
    734   "TOK_CSTINT", "'('", "')'", "'<'", "'>'", "'\\n'", "'/'", "'%'", 
    735   "$accept", "input", "line", "line-break", "suite_line_list", 
    736   "suite_line", "fin_line", "opt_recursive", "opt_result", "entry", 
    737   "label", "name_routine", "filename", "arglist", "arglist_after_result", 
    738   "args", "arg", "spec", "opt_spec", "name_intrinsic", 
    739   "use_intrinsic_list", "list_couple", "list_expr_equi", "expr_equi", 
    740   "list_expr_equi1", "list_expr", "opt_sep", "after_type", 
    741   "before_function", "before_parameter", "data_stmt", "data_stmt_set_list", 
    742   "data_stmt_set", "data_stmt_value_list", "save", "before_save", 
    743   "varsave", "datanamelist", "expr_data", "opt_signe", "namelist", 
    744   "before_dimension", "dimension", "private", "public", "use_name_list", 
    745   "common", "before_common", "var_common_list", "var_common", "comblock", 
    746   "opt_comma", "paramlist", "paramitem", "module_proc_stmt", 
    747   "proc_name_list", "implicit", "dcl", "nodimsgiven", "type", "c_selector", 
    748   "c_attribute", "before_character", "typespec", "lengspec", 
    749   "proper_lengspec", "selector", "proper_selector", "attribute", "clause", 
    750   "opt_clause", "options", "attr_spec_list", "attr_spec", "intent_spec", 
    751   "access_spec", "dims", "dimlist", "dim", "ubound", "expr", 
    752   "predefinedfunction", "minmaxlist", "uexpr", "signe", "operation", 
    753   "after_slash", "after_equal", "lhs", "beforefunctionuse", 
    754   "array_ele_substring_func_ref", "begin_array", "structure_component", 
    755   "vec", "funarglist", "funargs", "funarg", "triplet", "ident", 
    756   "simple_const", "string_constant", "opt_substring", "substring", 
    757   "optexpr", "opt_expr", "initial_value", "complex_const", "use_stat", 
    758   "word_use", "rename_list", "rename_name", "only_list", "only_name", 
    759   "execution-part-construct", "executable-construct", "action-stmt", 
    760   "assignment-stmt", "where-stmt", "where-construct", 
    761   "opt-where-body-construct", "opt-masked-elsewhere-construct", 
    762   "opt-elsewhere-construct", "where-construct-stmt", 
    763   "where-body-construct", "where-assignment-stmt", "mask-expr", 
    764   "masked-elsewhere-stmt", "elsewhere-stmt", "end-where-stmt", 
    765   "forall-header", "block", "do-construct", "block-do-construct", 
    766   "do-stmt", "label-do-stmt", "nonlabel-do-stmt", "loop-control", 
    767   "do-variable", "do-block", "end-do", "end-do-stmt", "if-construct", 
     851  "TOK_CSTINT", "'('", "')'", "'<'", "'>'", "'\\n'", "'/'", "'%'", "'_'", 
     852  "'['", "']'", "$accept", "input", "line", "line-break", 
     853  "suite_line_list", "suite_line", "fin_line", "program-unit", 
     854  "external-subprogram", "filename", "opt_comma", "uexpr", "signe", 
     855  "operation", "after_slash", "after_equal", "lhs", "beforefunctionuse", 
     856  "array_ele_substring_func_ref", "$@4", "$@5", "begin_array", "$@6", 
     857  "structure_component", "funarglist", "funargs", "funarg", "triplet", 
     858  "ident", "simple_const", "string_constant", "opt_substring", "opt_expr", 
     859  "specification-part", "opt-use-stmt-list", 
     860  "opt-declaration-construct-list", "declaration-construct-list", 
     861  "declaration-construct", "opt-execution-part", "execution-part", 
     862  "opt-execution-part-construct-list", "execution-part-construct-list", 
     863  "execution-part-construct", "opt-internal-subprogram-part", 
     864  "internal-subprogram-part", "opt-internal-subprogram", 
     865  "internal-subprogram-list", "internal-subprogram", 
     866  "other-specification-stmt", "executable-construct", "action-stmt", 
     867  "keyword", "scalar-constant", "constant", "literal-constant", 
     868  "named-constant", "opt-label", "label", "opt-label-djview", 
     869  "label-djview", "type-param-value", "declaration-type-spec", "$@7", 
     870  "intrinsic-type-spec", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", 
     871  "opt-kind-selector", "kind-selector", "signed-int-literal-constant", 
     872  "int-literal-constant", "kind-param", "signed-real-literal-constant", 
     873  "real-literal-constant", "complex-literal-constant", "real-part", 
     874  "imag-part", "opt-char_length-star", "opt-char-selector", 
     875  "char-selector", "length-selector", "char-length", 
     876  "char-literal-constant", "logical-literal-constant", "derived-type-def", 
     877  "$@14", "derived-type-stmt", "opt-type-attr-spec-list-comma-fourdots", 
     878  "opt-type-attr-spec-list-comma", "type-attr-spec-list", "type-attr-spec", 
     879  "type-param-name-list", "type-param-name", "end-type-stmt", 
     880  "opt-component-part", "component-part", "component-def-stmt", 
     881  "data-component-def-stmt", "opt-component-attr-spec-list-comma-2points", 
     882  "component-attr-spec-list", "component-attr-spec", "$@15", 
     883  "component-decl-list", "component-decl", "opt-component-array-spec", 
     884  "component-array-spec", "opt-component-initialization", 
     885  "component-initialization", "initial-data-target", "derived-type-spec", 
     886  "type-param-spec-list", "type-param-spec", "structure-constructor", 
     887  "component-spec-list", "component-spec", "component-data-source", 
     888  "array-constructor", "ac-spec", "lbracket", "rbracket", "ac-value-list", 
     889  "ac-value", "ac-implied-do", "ac-implied-do-control", "ac-do-variable", 
     890  "type-declaration-stmt", "$@16", "$@17", "opt-attr-spec-construct", 
     891  "opt-attr-spec-comma-list", "attr-spec-comma-list", "attr-spec", "$@18", 
     892  "$@19", "entity-decl-list", "entity-decl", "object-name", 
     893  "object-name-noident", "opt-initialization", "initialization", 
     894  "null-init", "access-spec", "opt-array-spec-par", "$@20", "array-spec", 
     895  "explicit-shape-spec-list", "explicit-shape-spec", "lower-bound", 
     896  "upper-bound", "assumed-shape-spec-list", "assumed-shape-spec", 
     897  "deferred-shape-spec-list", "deferred-shape-spec", "assumed-size-spec", 
     898  "opt-explicit-shape-spec-list-comma", "opt-lower-bound-2points", 
     899  "implied-shape-spec-list", "implied-shape-spec", "intent-spec", 
     900  "access-stmt", "$@21", "opt-access-id-list", "access-id-list", 
     901  "access-id", "data-stmt", "$@22", "opt-data-stmt-set-nlist", 
     902  "data-stmt-set-nlist", "data-stmt-set", "data-stmt-object-list", 
     903  "data-stmt-value-list", "data-stmt-object", "data-implied-do", 
     904  "data-i-do-object-list", "data-i-do-object", "data-i-do-variable", 
     905  "data-stmt-value", "opt-data-stmt-star", "data-stmt-constant", 
     906  "scalar-constant-subobject", "constant-subobject", "dimension-stmt", 
     907  "$@23", "$@24", "array-name-spec-list", "$@25", "$@26", "parameter-stmt", 
     908  "$@27", "$@28", "named-constant-def-list", "named-constant-def", 
     909  "save-stmt", "$@29", "$@30", "opt-TOK_FOURDOTS", "opt-saved-entity-list", 
     910  "saved-entity-list", "saved-entity", "proc-pointer-name", 
     911  "get_my_position", "implicit-stmt", "$@31", "implicit-spec-list", 
     912  "implicit-spec", "letter-spec-list", "letter-spec", "namelist-stmt", 
     913  "opt-namelist-other", "namelist-group-object-list", 
     914  "namelist-group-object", "equivalence-stmt", "equivalence-set-list", 
     915  "equivalence-set", "$@32", "equivalence-object-list", 
     916  "equivalence-object", "common-stmt", "$@33", "$@34", 
     917  "opt-common-block-name", "common-block-name", "opt-comma", 
     918  "opt-common-block-list", "$@35", "common-block-object-list", 
     919  "common-block-object", "$@36", "designator", "scalar-variable", 
     920  "variable", "variable-name", "scalar-logical-variable", 
     921  "logical-variable", "char-variable", "scalar-default-char-variable", 
     922  "default-char-variable", "scalar-int-variable", "int-variable", 
     923  "substring", "substring-range", "data-ref", "opt-part-ref", "part-ref", 
     924  "$@37", "scalar-structure-component", "structure-component", 
     925  "array-element", "array-section", "section-subscript-list", 
     926  "section-subscript", "section_subscript_ambiguous", "vector-subscript", 
     927  "allocate-stmt", "$@38", "$@39", "opt-alloc-opt-list-comma", 
     928  "alloc-opt-list", "alloc-opt", "stat-variable", "errmsg-variable", 
     929  "allocation-list", "allocation", "allocate-object", 
     930  "opt-allocate-shape-spec-list-par", "allocate-shape-spec-list", 
     931  "allocate-shape-spec", "opt-lower-bound-expr", "lower-bound-expr", 
     932  "upper-bound-expr", "deallocate-stmt", "$@40", "$@41", 
     933  "allocate-object-list", "opt-dealloc-opt-list-comma", "dealloc-opt-list", 
     934  "dealloc-opt", "primary", "level-1-expr", "mult-operand", "add-operand", 
     935  "level-2-expr", "power-op", "mult-op", "add-op", "level-3-expr", 
     936  "concat-op", "level-4-expr", "rel-op", "and-operand", "or-operand", 
     937  "equiv-operand", "level-5-expr", "not-op", "and-op", "or-op", "equiv-op", 
     938  "expr", "scalar-default-char-expr", "default-char-expr", "int-expr", 
     939  "opt-scalar-int-expr", "scalar-int-expr", "specification-expr", 
     940  "constant-expr", "scalar-default-char-constant-expr", 
     941  "default-char-constant-expr", "scalar-int-constant-expr", 
     942  "int-constant-expr", "assignment-stmt", "pointer-assignment-stmt", 
     943  "opt-bounds-spec-list-par", "bounds-spec-list", "bounds-remapping-list", 
     944  "bounds-spec", "bounds-remapping", "data-target", 
     945  "procedure-component-name", "proc-component-ref", "proc-target", 
     946  "where-stmt", "where-construct", "opt-where-body-construct", 
     947  "opt-masked-elsewhere-construct", "opt-elsewhere-construct", 
     948  "where-construct-stmt", "where-body-construct", "where-assignment-stmt", 
     949  "mask-expr", "masked-elsewhere-stmt", "elsewhere-stmt", "end-where-stmt", 
     950  "forall-header", "block", "opt-execution-part-construct", "do-construct", 
     951  "block-do-construct", "label-do-stmt", "label-do-stmt-djview", 
     952  "nonlabel-do-stmt", "loop-control", "do-variable", "do-block", "end-do", 
     953  "end-do-stmt", "nonblock-do-construct", "action-term-do-construct", 
     954  "do-term-action-stmt", "do-term-action-stmt-special", 
     955  "outer-shared-do-construct", "label-do-stmt-djview-do-block-list", 
     956  "inner-shared-do-construct", "do-term-shared-stmt", 
     957  "opt-do-construct-name", "cycle-stmt", "if-construct", 
    768958  "opt-else-if-stmt-block", "else-if-stmt-block", "opt-else-stmt-block", 
    769959  "else-stmt-block", "if-then-stmt", "else-if-stmt", "else-stmt", 
    770960  "end-if-stmt", "if-stmt", "case-construct", "opt_case-stmt-block", 
    771   "case-stmt-block", "select-case-stmt", "case-stmt", "end-select-stmt", 
    772   "case-selector", "case-value-range-list", "case-value-range", 
    773   "case-value", "continue-stmt", "format-stmt", "word_endsubroutine", 
    774   "word_endunit", "word_endprogram", "word_endfunction", "opt_name", 
    775   "before_dims", "ident_dims", "int_list", "after_ident_dims", "call", 
    776   "opt_call", "opt_callarglist", "keywordcall", "before_call", 
    777   "callarglist", "callarg", "stop", "option_inlist", "option_read", 
    778   "opt_inlist", "ioctl", "after_rewind", "ctllist", "ioclause", 
    779   "declare_after_percent", "iofctl", "infmt", "read", "fexpr", 
    780   "unpar_fexpr", "addop", "inlist", "inelt", "opt_operation", "outlist", 
    781   "other", "dospec", "goto", "allocation_list", "allocate_object", 
    782   "allocate_object_list", "opt_stat_spec", "pointer_name_list", YY_NULLPTR 
     961  "case-stmt-block", "select-case-stmt", "$@42", "$@43", "case-stmt", 
     962  "end-select-stmt", "$@44", "$@45", "case-selector", "$@46", 
     963  "case-value-range-list", "case-value-range", "case-value", "exit-stmt", 
     964  "goto-stmt", "arithmetic-if-stmt", "continue-stmt", "stop-stmt", 
     965  "stop-code", "io-unit", "file-unit-number", "internal-file-variable", 
     966  "open-stmt", "$@47", "$@48", "connect-spec-list", "connect-spec", 
     967  "file-name-expr", "iomsg-variable", "close-stmt", "$@49", 
     968  "close-spec-list", "close-spec", "read-stmt", "$@50", "$@51", 
     969  "write-stmt", "$@52", "$@53", "print-stmt", "io-control-spec-list", 
     970  "namelist-group-name", "io-control-spec", "format", "input-item-list", 
     971  "input-item", "output-item-list", "output-item", "io-implied-do", 
     972  "io-implied-do-object-list", "io-implied-do-object", 
     973  "io-implied-do-control", "rewind-stmt", "position-spec-list", 
     974  "position-spec", "flush-stmt", "flush-spec-list", "flush-spec", 
     975  "inquire-stmt", "$@54", "$@55", "set_in_inquire", "inquire-spec-list", 
     976  "inquire-spec", "format-stmt", "module", "$@56", 
     977  "opt-module-subprogram-part", "module-stmt", "$@57", "end-module-stmt", 
     978  "$@58", "opt-tok-module", "opt-ident", "module-subprogram-part", 
     979  "opt-module-subprogram-list", "module-subprogram-list", 
     980  "module-subprogram", "use-stmt-list", "save_olduse", "use-stmt", "$@59", 
     981  "$@60", "opt-module-nature-2points", "opt-only-list", "main-program", 
     982  "opt-specification-part", "program-stmt", "$@61", "end-program-stmt", 
     983  "$@62", "$@63", "opt-tok-program", "opt-tok-name", "module-nature", 
     984  "opt-rename-list", "rename-list", "rename", "only-list", "only", 
     985  "only-use-name", "generic-spec", "external-stmt", "external-name-list", 
     986  "external-name", "intrinsic-stmt", "intrinsic-procedure-name-list", 
     987  "intrinsic-procedure-name", "function-reference", "$@64", "call-stmt", 
     988  "$@65", "$@66", "$@67", "$@68", "before-call-stmt", "$@69", 
     989  "procedure-designator", "actual-arg-spec-list", "actual-arg-spec", 
     990  "actual-arg", "opt-prefix", "prefix", "prefix-spec", 
     991  "function-subprogram", "function-stmt", "$@70", "$@71", "function-name", 
     992  "dummy-arg-name", "opt-suffix", "suffix", "end-function-stmt", "$@72", 
     993  "opt-tok-function", "subroutine-subprogram", "subroutine-stmt", "$@73", 
     994  "subroutine-name", "end-subroutine-stmt", "close_subroutine", 
     995  "opt-tok-subroutine", "opt-dummy-arg-list-par", "$@74", 
     996  "opt-dummy-arg-list", "dummy-arg-list", "dummy-arg", "return-stmt", 
     997  "contains-stmt", "$@75", "opt_name", "after_rewind", 
     998  "declare_after_percent", "pointer_name_list", YY_NULLPTR 
    783999}; 
    7841000#endif 
     
    8051021     389,   390,   391,   392,   393,   394,   395,   396,   397,   398, 
    8061022     399,   400,   401,   402,   403,   404,   405,   406,   407,   408, 
    807      409,   410,    40,    41,    60,    62,    10,    47,    37 
     1023     409,   410,   411,   412,   413,   414,   415,   416,   417,   418, 
     1024     419,   420,   421,   422,   423,   424,   425,   426,   427,   428, 
     1025     429,   430,   431,   432,   433,   434,   435,   436,   437,   438, 
     1026     439,   440,   441,    40,    41,    60,    62,    10,    47,    37, 
     1027      95,    91,    93 
    8081028}; 
    8091029# endif 
    8101030 
    811 #define YYPACT_NINF -890 
     1031#define YYPACT_NINF -1435 
    8121032 
    8131033#define yypact_value_is_default(Yystate) \ 
    814   (!!((Yystate) == (-890))) 
    815  
    816 #define YYTABLE_NINF -543 
     1034  (!!((Yystate) == (-1435))) 
     1035 
     1036#define YYTABLE_NINF -1022 
    8171037 
    8181038#define yytable_value_is_error(Yytable_value) \ 
    819   (!!((Yytable_value) == (-543))) 
     1039  0 
    8201040 
    8211041  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 
     
    8231043static const yytype_int16 yypact[] = 
    8241044{ 
    825     -890,   968,  -890,  -890,  -890,  -890,   -45,   -47,  -890,   -37, 
    826        5,  3882,     8,    37,  -890,  4701,     3,   228,  3882,  -890, 
    827      296,   171,    54,  -890,   201,   287,   237,  -890,  -890,  -890, 
    828      265,  -890,  -890,   415,   275,   284,  -890,   339,   339,    38, 
    829      349,  -890,  -890,    66,  -890,  -890,   299,  -890,   361,  -890, 
    830     -890,  5801,   411,   347,   287,  -890,  -890,  -890,  -890,  -890, 
    831     -890,  -890,  -890,  -890,    24,  -890,  -890,   524,  -890,  -890, 
    832     -890,   286,   516,  -890,   438,  -890,  -890,   322,   378,   469, 
    833      111,   507,   546,   548,  -890,  -890,   520,   258,  -890,  -890, 
    834       81,    85,   158,  -890,  -890,   400,  -890,  -890,  -890,  -890, 
    835     -890,    99,  -890,  -890,    99,  -890,  -890,  -890,    99,  -890, 
    836     -890,    99,  -890,   287,  -890,   287,   287,    36,   563,  -890, 
    837      423,     2,  3882,   265,  5520,  -890,  -890,  -890,  -890,  -890, 
    838     4701,  4701,  4701,  -890,  -890,  4701,   447,   459,   462,  -890, 
    839     4701,  4701,  4701,   463,   464,   466,   468,   470,   473,   474, 
    840      475,   477,   478,   487,   488,  4701,   489,  4701,   494,   496, 
    841      497,  4810,  -890,  -890,  -890,   498,  -890,  -890,  -890,  -890, 
    842     -890,  -890,  4701,  -890,  2531,  -890,  -890,  4701,   432,  -890, 
    843      499,   500,  -890,   501,   471,   259,  -890,  -890,   481,   631, 
    844     -890,  4701,  2531,  -890,  -890,  -890,   189,  -890,   189,  -890, 
    845     -890,  4701,  4701,  -890,  -890,    58,   253,  -890,  -890,  -890, 
    846     -890,  -890,   481,  5390,  4810,  -890,  -890,  4919,  -890,   481, 
    847      481,   189,  1245,  -890,   504,   481,  -890,  4701,   665,  -890, 
    848     -890,  -890,  -890,   666,   516,  -890,  -890,   339,  -890,  -890, 
    849     2553,  -890,   508,  -890,   117,   481,    42,  -890,   329,   104, 
    850     -890,  -890,  -890,  -890,  5664,   -47,   -47,  -890,  -890,   669, 
    851      510,   672,  -890,  -890,   518,   397,   514,  -890,   518,   481, 
    852      397,   523,   527,   397,   514,   677,  -890,   528,   776,  -890, 
    853     -890,  -890,   -47,   681,   530,   356,  2792,  -890,  5028,   347, 
    854     -890,   514,   690,   286,   286,   286,   406,  -890,  -890,  -890, 
    855     4701,  4701,  -890,  -890,   533,  4135,  -890,  -890,  -890,  -890, 
    856     -890,  -890,  -890,  -890,  4701,  4701,  4701,  4701,  4701,  4701, 
    857     4701,   691,  5390,  -890,   432,   471,  -890,  5924,   692,   571, 
    858      597,  5566,  -890,  2531,   534,  1354,   742,  2531,    46,  4701, 
    859     4701,  4701,    65,  1375,    69,  4701,  4701,  4701,  4701,  4701, 
    860     4701,  4701,  4701,  4701,  4701,  4701,  4701,  1536,  4701,    70, 
    861     4701,  4701,  4701,  4810,  2531,  1555,   807,  1638,   169,   695, 
    862     4701,  1657,   699,  3555,  4701,  4701,  4701,  4701,  4701,  4701, 
    863     4701,  4701,  4701,  4701,  4701,  4701,  4701,  4701,  3446,  4701, 
    864     3664,  3773,  -890,   164,  -890,  4701,  -890,  -890,  -890,  -890, 
    865     -890,  -890,  -890,    95,   514,     8,  1716,  -890,  -890,   702, 
    866      702,  1151,  1735,  -890,  -890,   544,  -890,  -890,   704,   432, 
    867      715,  -890,  -890,  -890,  5566,  4026,   115,  -890,   571,  -890, 
    868      722,   568,   569,   369,  -890,   730,  -890,   121,   702,  -890, 
    869     -890,  -890,  -890,  -890,  -890,  -890,  -890,  -890,  -890,  -890, 
    870     -890,  -890,  -890,  -890,  -890,  -890,  -890,  -890,  -890,  -890, 
    871     -890,  -890,  -890,  -890,   731,   685,  -890,   123,  2531,   573, 
    872      576,   287,  -890,  2901,  -890,  -890,  2531,  -890,   551,  4701, 
    873       34,    24,   577,   551,   578,   580,    93,  -890,  -890,  -890, 
    874      581,   581,  4701,   124,   510,  -890,   546,  3010,  -890,  -890, 
    875     -890,   546,   514,   514,   546,  -890,   528,   677,  -890,  -890, 
    876      514,  -890,   582,  -890,  -890,  -890,  -890,  -890,   125,  -890, 
    877     -890,   581,   579,  -890,   514,  -890,  2792,  2683,   575,   743, 
    878       63,  4244,  -890,  2531,   584,   514,   136,  4374,  6133,   240, 
    879     6057,   -17,    57,  -890,    99,  2531,  2531,   481,  -890,   587, 
    880     2531,   586,   748,  -890,  2531,  2531,  2531,  2531,  2531,  2531, 
    881     2531,  4701,   155,  5924,  2531,  1130,  1754,  -890,   749,  -890, 
    882     5924,  -890,  5566,  5566,  5566,  5566,  5566,   737,  4701,  -890, 
    883     4701,  -890,   134,   135,  1773,  -890,  -890,  -890,  1818,  1837, 
    884     1934,  1953,  1998,  2017,  2036,  2055,  2114,  2133,  2216,  2235, 
    885     -890,   137,  -890,   138,   139,   148,   763,   764,   782,  4810, 
    886     4810,  -890,  4810,   149,  -890,  4701,  4701,  2531,  -890,   388, 
    887      388,   419,   419,   742,   761,   761,   761,   761,   761,   761, 
    888      160,   160,   164,  4701,  4701,  2531,  -890,   164,  4701,   761, 
    889     4701,   761,   481,   741,  3119,   616,   626,   481,  -890,  -890, 
    890     -890,  -890,   291,  4701,  6209,  4701,  -890,  4701,   200,   627, 
    891      155,  -890,  -890,  3119,   707,  5390,  -890,  -890,  -890,  -890, 
    892      200,   628,   481,  -890,  1245,  -890,  4701,  -890,  4701,  -890, 
    893     -890,  -890,   770,    50,   547,  -890,  2294,   633,  -890,   632, 
    894     -890,   773,  4701,  4701,   107,  -890,   190,  -890,   771,  2531, 
    895     -890,  -890,   518,  4701,  -890,   150,  -890,  -890,  1417,   481, 
    896      775,   775,   528,  -890,  -890,   472,   776,  -890,  -890,   514, 
    897      775,   636,  2901,   743,  -890,   640,  -890,   639,  -890,  -890, 
    898      801,   686,   806,  -890,  2531,  -890,  -890,  -890,   789,    99, 
    899     -890,    99,   651,  -890,  -890,  -890,  -890,   670,   495,  -890, 
    900       99,  -890,  3228,   671,   673,  -890,  -890,   286,  -890,  -890, 
    901     -890,  4135,  2531,  -890,   151,  -890,  2531,  2531,  2531,  5924, 
    902      749,   535,   737,   737,   737,   590,  -890,  2531,  -890,  -890, 
    903     -890,  -890,  -890,  -890,  -890,  -890,  -890,  -890,  -890,  -890, 
    904     -890,  -890,  -890,  -890,  -890,  -890,  -890,  5137,  5137,  5137, 
    905     2531,  -890,  2531,  -890,  2531,  -890,  -890,   675,   761,   761, 
    906      164,   761,   761,   432,  4701,  3337,  1437,   831,  -890,  -890, 
    907      499,  -890,   514,  -890,  -890,  2313,   674,  -890,   678,  -890, 
    908     2332,  1172,   830,  -890,  -890,  1255,   679,  -890,  -890,  -890, 
    909     -890,  -890,  -890,  -890,  2531,   152,  -890,   551,   551,   551, 
    910      551,   551,   471,  -890,   836,   680,  -890,  2351,  2396,  -890, 
    911     -890,  -890,  -890,   153,  -890,   682,  -890,  -890,  2531,  3010, 
    912     -890,  4483,  -890,  5246,  -890,  -890,   677,  -890,  -890,  -890, 
    913      683,  -890,   775,    75,  -890,   743,  -890,  2901,  -890,   294, 
    914      687,   688,  4701,   559,    99,   286,   286,  -890,  4701,   689, 
    915     -890,   429,  -890,    99,   286,  4701,  2531,   154,  -890,   846, 
    916     -890,  -890,  6133,   514,  -890,  5969,  2531,  -890,  -890,   836, 
    917      694,   696,   698,  -890,   700,  4701,  1457,  4701,  3119,  -890, 
    918     -890,   848,  4701,  4701,  -890,  4701,   481,  -890,   481,  -890, 
    919     -890,    60,    60,   697,    55,  4701,   843,  -890,   784,    71, 
    920     -890,   260,  -890,  -890,  -890,  2531,  4592,  -890,  2531,  -890, 
    921       75,  4701,  4701,  -890,  -890,  -890,   745,  -890,   849,  -890, 
    922     -890,  -890,   705,   693,   710,    99,  -890,   286,  2415,  -890, 
    923      713,  -890,  -890,   286,  6133,  -890,  3228,  -890,  4701,   514, 
    924      711,  2531,  -890,  -890,  -890,  -890,  2531,  4701,  1477,  -890, 
    925     4701,   714,  2512,  1193,   432,   712,  1214,   551,  -890,  -890, 
    926     -890,   156,   720,  -890,  2531,  2531,   718,   728,   735,  -890, 
    927     -890,   286,  4374,   809,  -890,  6133,  -890,  -890,  -890,  -890, 
    928     2531,  4701,  2531,  4701,  6285,  4701,  4701,   874,  -890,  -890, 
    929     -890,  -890,  -890,  4374,   738,  2531,  2531,  1235,  -890,  -890, 
    930     4701,  2531 
     1045   -1435,  1099, -1435, -1435, -1435,    46,   134, -1435, -1435, -1435, 
     1046     164,  1017, -1435, -1435,   130,   230, -1435, -1435, -1435, -1435, 
     1047     585, -1435,   200, -1435,   200,   488,   798, -1435, -1435,   200, 
     1048   -1435,   200, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 
     1049   -1435, -1435, -1435,    77,   242,   305, -1435, -1435, -1435,   748, 
     1050   -1435, -1435,  3966,   377,   200, -1435,   450,  4246,   232,   353, 
     1051   -1435, -1435,  4246,  4246, -1435,   133,   133,    79,    79,    79, 
     1052      79,    93,    79,  1456, -1435, -1435, -1435, -1435, -1435, -1435, 
     1053     133,   379, -1435, -1435,    94,    78,   429,   576, -1435, -1435, 
     1054      94,   106, -1435, -1435,   919, -1435,   607, -1435,   444, -1435, 
     1055    3966, -1435, -1435,   511,   705,   473, -1435, -1435, -1435,   523, 
     1056     356, -1435, -1435, -1435,   573, -1435, -1435,   568,   569, -1435, 
     1057   -1435, -1435, -1435,   -42,   724, -1435,   521, -1435, -1435, -1435, 
     1058   -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 
     1059   -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 
     1060     622, -1435, -1435, -1435,   483,   557,   578,  1918,   337,    66, 
     1061     -35,   593,   596, -1435,  3686,  3710,   609,   613,  3445,   818, 
     1062     719, -1435,  4145, -1435,   995, -1435, -1435, -1435, -1435, -1435, 
     1063   -1435, -1435, -1435, -1435, -1435, -1435, -1435,   794, -1435, -1435, 
     1064   -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 
     1065   -1435, -1435,   643, -1435, -1435,   666, -1435,   668,   719,   719, 
     1066     130,   130,   654,  3492, -1435, -1435, -1435, -1435, -1435,   549, 
     1067     894, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 
     1068   -1435,  3734, -1435, -1435, -1435,   663,   669,  3764, -1435,   214, 
     1069     874, -1435, -1435, -1435,   713, -1435, -1435,   473, -1435,    83, 
     1070   -1435, -1435,  3734, -1435, -1435,   870, -1435,   733,    88,  1349, 
     1071     704, -1435, -1435,   885,   896,   760,  2264, -1435, -1435, -1435, 
     1072   -1435,   716,   739,   130, -1435,   113, -1435, -1435,   130,   434, 
     1073     133,   706, -1435,   114, -1435, -1435,   744,   753,   604,   130, 
     1074     133,   695,   762,   448,   599,   122,   646, -1435, -1435, -1435, 
     1075   -1435,   369, -1435, -1435,  3445,  3021,  3764,   133,   915,   934, 
     1076    3764,   710,   107, -1435,   766,   429,   429,   433,  3812,  3764, 
     1077     801,  3764,  3764,   767, -1435,  4067,   537,   791,   857,   226, 
     1078   -1435, -1435, -1435,   709, -1435, -1435, -1435,  3764,  3764,   294, 
     1079     444, -1435, -1435,   133,   133,   130,   133, -1435, -1435, -1435, 
     1080   -1435, -1435,   782,  3204, -1435,   133,  3352,   133, -1435,   787, 
     1081     130, -1435, -1435, -1435, -1435, -1435, -1435, -1435,   133,   393, 
     1082     133, -1435, -1435, -1435,  4168, -1435, -1435, -1435,  3764,   796, 
     1083    2939,  2939,  3021, -1435,   653,   229,   407, -1435, -1435,   788, 
     1084     133, -1435, -1435, -1435, -1435, -1435, -1435,   988,   806,  1456, 
     1085   -1435, -1435,   996,  1000,   100,  3734,   859,  1004, -1435, -1435, 
     1086   -1435,   726,   726,   506,   836, -1435,   837,   839,  1349,   821, 
     1087    1456,  1456, -1435,   817, -1435,  1349, -1435, -1435,  1349, -1435, 
     1088   -1435,  1349,   846,   733, -1435, -1435, -1435, -1435, -1435, -1435, 
     1089   -1435, -1435, -1435, -1435, -1435, -1435, -1435,  2264,  2264, -1435, 
     1090    3764, -1435,  3764, -1435, -1435,  3764, -1435,   833,   842,   905, 
     1091     379,   130,   841, -1435, -1435,  1025,   130,   114,   706,   130, 
     1092   -1435,   124, -1435,  1013, -1435,   847,   848, -1435,   130,  1034, 
     1093   -1435, -1435,   133, -1435,   851, -1435,  1043, -1435, -1435, -1435, 
     1094   -1435, -1435, -1435, -1435,   125,   919,   919,  1106,  3764,    94, 
     1095      94,  1036,   130,   133, -1435,   112, -1435, -1435, -1435,   131, 
     1096     854,   130,   940,  3764,   858,  1047, -1435,   260,   880,   750, 
     1097   -1435, -1435,   891,   875,   911,  1064,   133, -1435,  1070, -1435, 
     1098   -1435,   884,   237, -1435,   887,   142, -1435, -1435,    96,   878, 
     1099   -1435, -1435, -1435, -1435,   133,  1079, -1435,   108,   109, -1435, 
     1100   -1435,   905,   133,   890,   787, -1435, -1435,    94,  1084,   980, 
     1101    1222, -1435, -1435, -1435, -1435,   386, -1435,   374, -1435,   914, 
     1102     822, -1435, -1435,   974, -1435,   923,   133,   937, -1435, -1435, 
     1103   -1435,   922,   930,   130,   130,   130,   787,  2868,  2533,  3764, 
     1104      66,   905,   905,   821, -1435,   110, -1435,   130,  3764,    66, 
     1105     905,   905, -1435,   119, -1435,   130,   787, -1435,   121,   130, 
     1106     939,   406, -1435,   951, -1435,   941, -1435, -1435,  1132,  3503, 
     1107    3021,   947,    66,    66,    66,   905, -1435, -1435, -1435, -1435, 
     1108   -1435, -1435,   126, -1435, -1435, -1435,   129,   150,    48,   905, 
     1109   -1435, -1435, -1435,  1104, -1435, -1435, -1435, -1435,   403,   954, 
     1110   -1435, -1435, -1435, -1435,  3764,   130,   222,   133,   222,   964, 
     1111   -1435,   966, -1435,  3764, -1435,   955,  1456,  3764,  3764, -1435, 
     1112    1148,   821, -1435,  3734, -1435, -1435, -1435, -1435,   233,   979, 
     1113   -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435,   733,    88, 
     1114    1136, -1435,   885,   896, -1435,  3764,  1151,   137, -1435,   257, 
     1115    1154, -1435, -1435,   968, -1435, -1435,  3764, -1435,  3764,   130, 
     1116   -1435,   744,   130,   787,  1140,   973,  1165, -1435,   695,   130, 
     1117     978,   599,   133,   919, -1435, -1435,   983, -1435,  1157, -1435, 
     1118   -1435,   225, -1435,   986, -1435, -1435,   679, -1435,  1157, -1435, 
     1119    1159,   501, -1435,   993,   130,   133,   130,   133,  1570,    66, 
     1120    3764,   219,   139, -1435, -1435,   217, -1435,   130,  3843,   130, 
     1121    1069,  3764,   133, -1435,  3764,   558, -1435,   787,   410, -1435, 
     1122   -1435, -1435, -1435,   989, -1435,   998, -1435, -1435, -1435, -1435, 
     1123   -1435, -1435, -1435, -1435,  1185, -1435,  1005, -1435,   891,   130, 
     1124     766,  1011,  1204, -1435, -1435, -1435,  1206, -1435, -1435, -1435, 
     1125     133,  1019,   523,   130,  1021,   130,  3764,  3764, -1435,  3764, 
     1126    1072, -1435,   133,   130, -1435, -1435,   130,   133,  1046,   447, 
     1127    1026,  3896,  1029,  1203,   905, -1435, -1435, -1435, -1435, -1435, 
     1128   -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 
     1129   -1435, -1435,   791, -1435, -1435,  1086,  3764,   472, -1435,   728, 
     1130   -1435, -1435, -1435, -1435,  1080,  1223,   130,  1128,   449, -1435, 
     1131   -1435, -1435, -1435,  1242, -1435,  1053,  3764,  3764,  3764,  3764, 
     1132    3764,  1243,  3764,    66,  3764,   905, -1435,   140, -1435,  3764, 
     1133    1244,   905,   905,   905,   905,  3764,   905,    66,   905,   905, 
     1134   -1435,   149, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 
     1135   -1435, -1435,  3204,   133, -1435, -1435, -1435, -1435,  3352,   133, 
     1136   -1435,  1250,   787, -1435,  3764, -1435,   797, -1435, -1435, -1435, 
     1137    1217,  4269,  3392,  3764, -1435, -1435, -1435, -1435, -1435, -1435, 
     1138   -1435, -1435, -1435,  2939,  3843,  1048,  1048,   130, -1435, -1435, 
     1139    3764,   888, -1435,  1607,   133,   130, -1435,   133,   133,   214, 
     1140    1249, -1435, -1435,   162, -1435, -1435, -1435, -1435, -1435,  1061, 
     1141    1253, -1435,   130,  1063,  1227,  1233,  1071, -1435,   165,   172, 
     1142    1073,  3734, -1435, -1435, -1435, -1435, -1435,  1074,   176,  3764, 
     1143     842, -1435,   905,  3764,  1075,  1260, -1435, -1435,  1261, -1435, 
     1144   -1435, -1435, -1435,   848,   642, -1435, -1435,   184, -1435,   223, 
     1145   -1435,  1265, -1435,   130, -1435,  1456,   486, -1435, -1435,  3576, 
     1146    1106, -1435, -1435, -1435, -1435,  1163,   130,   130,  3764,  1268, 
     1147   -1435, -1435,  3624,  1036, -1435,  1679,  3764, -1435,  3843, -1435, 
     1148     167, -1435, -1435,   133,  1090,   130, -1435, -1435,  1085, -1435, 
     1149     275, -1435, -1435,  1087,   170, -1435,   133,   130, -1435, -1435, 
     1150     875,   133, -1435,  1252, -1435, -1435, -1435,  1094,   133,   133, 
     1151     237,   130,  1266,   187, -1435, -1435, -1435, -1435, -1435, -1435, 
     1152    1283, -1435,  1285, -1435,   905,   130,   130,    94,   133,   130, 
     1153    3764,  2816,  2752,  3174, -1435,   787,  3764,  4347, -1435,   791, 
     1154    1098,   133,   130,   518, -1435, -1435, -1435, -1435,   191, -1435, 
     1155   -1435,  1108,   130, -1435,   133,   241,  1101,  3764, -1435, -1435, 
     1156   -1435, -1435, -1435, -1435, -1435, -1435,  3764, -1435, -1435, -1435, 
     1157   -1435,  2868, -1435, -1435,   905,  1109, -1435, -1435, -1435, -1435, 
     1158   -1435, -1435, -1435, -1435, -1435, -1435,  3102, -1435, -1435,   130, 
     1159   -1435,   130,   255,  1112, -1435,  1113, -1435, -1435,  1111, -1435, 
     1160    1045,   224,  1303,  3764,    66,   905, -1435,   195, -1435, -1435, 
     1161   -1435,   133,  1306,  3843, -1435,   133,  1308, -1435, -1435,   177, 
     1162    1118,   540,   555, -1435, -1435,   653,  3764, -1435,   196, -1435, 
     1163    1311,   130,   133,   130,   130,  3764,  3764, -1435, -1435,   222, 
     1164    1290, -1435,  1108, -1435,  1108, -1435,  1224, -1435,  1246, -1435, 
     1165   -1435,   223,  1126,  1316, -1435, -1435, -1435, -1435, -1435, -1435, 
     1166     133,   197, -1435,  1130, -1435,  3764,   787,   178,  1782, -1435, 
     1167     133,   604,   978,   133,  3764,   233,   455, -1435, -1435, -1435, 
     1168   -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435,  1321, 
     1169     205, -1435, -1435,  1133, -1435, -1435, -1435, -1435,   133, -1435, 
     1170    3764,    66, -1435, -1435,  3764,  1323, -1435,   821, -1435,  1328, 
     1171   -1435,  3843,   130,   130,  1230, -1435,   558, -1435,  1870,  1252, 
     1172     787,   130,   130,  1782,   749, -1435,   130,  1782,   549,   251, 
     1173    1782,  1143,   130,   130, -1435,  1161,  1019, -1435, -1435,  3764, 
     1174     133,   130,   133,   130,  1160,  3764, -1435, -1435, -1435, -1435, 
     1175   -1435,   -68,   405,   746,   789,   877,   513,   539,  1162,  3764, 
     1176    1149, -1435,   905,  1164,   482,  1167,  1012,  1804,   208,  1168, 
     1177   -1435,  1258,   130,   133,   130,  1359,  1207,  1361, -1435,   133, 
     1178   -1435, -1435,   130,   905,  1360,  1366, -1435, -1435, -1435,   209, 
     1179   -1435,  3764,  1367, -1435, -1435,   133, -1435,  3843, -1435,   133, 
     1180     905,  1365, -1435,  1369, -1435, -1435, -1435, -1435, -1435,  3764, 
     1181      66,  3764, -1435, -1435, -1435,  3392,   133,   130,   133,   130, 
     1182    1048,   133,   130,   560,   133,   130,   133,   130,   653, -1435, 
     1183    1607, -1435,  3764,   130,   444, -1435, -1435,   133, -1435,  1181, 
     1184   -1435, -1435, -1435, -1435,  1370,  1372, -1435,  3764,   130,   905, 
     1185   -1435, -1435,  1375, -1435,   130,  1357, -1435,  1187,  1381, -1435, 
     1186    1382, -1435,  1384, -1435,  1387, -1435, -1435,  3764,  1364,  1388, 
     1187   -1435, -1435,  1389,   130, -1435, -1435,   130,  1391, -1435, -1435, 
     1188    3812,  3812, -1435,   130, -1435, -1435, -1435,  3764,  3843, -1435, 
     1189     133,  1870, -1435, -1435,  1198,  1392,  1394,  1387,   252, -1435, 
     1190    1202, -1435, -1435, -1435,  1208,  1209, -1435,  3764,   623, -1435, 
     1191   -1435,  1214, -1435, -1435, -1435,   130,   130,   771, -1435, -1435, 
     1192   -1435, -1435, -1435, -1435,   968, -1435,   263, -1435, -1435,  1218, 
     1193   -1435, -1435,  1733,  3764,  3764,  3764,  3764,  3764,  3764,  3764, 
     1194    3764,  3764,  3764,  3764,  3764,  3764,  3764,  2233,  3764,  2376, 
     1195    2487, -1435, -1435,  4347,   567,   130,  1210,  1221,  1226,   130, 
     1196     133, -1435, -1435,   905,   120,   133,  3764, -1435, -1435, -1435, 
     1197     130,  1306,   130, -1435,   905,   371,   133,   133,   133,  1225, 
     1198    1418, -1435, -1435,   130,   130, -1435,   130,   133,   130,   130, 
     1199     130, -1435, -1435,   130,  1231,   133, -1435,   133,  3764,  1456, 
     1200    1421, -1435,  3764,  1235, -1435,  3764,  3654,  1903,  1424,  1425, 
     1201    1409, -1435, -1435,  3764,   848,  3764, -1435, -1435, -1435,  1426, 
     1202   -1435,  1238,   130,  1241, -1435,  3764,  3764,  3764,   623, -1435, 
     1203   -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435,  1782, 
     1204      22, -1435, -1435, -1435,  3764, -1435, -1435, -1435, -1435, -1435, 
     1205   -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 
     1206   -1435,  3764,  3764, -1435, -1435, -1435,  3764, -1435,  3764, -1435, 
     1207     133,   130,  1207, -1435, -1435,  1435, -1435, -1435, -1435, -1435, 
     1208   -1435,   130, -1435, -1435, -1435,   130, -1435,   133, -1435, -1435, 
     1209     130,   130,   130,  4347,    66,   130,  1248,   130,   133,   130, 
     1210    1251,  1255,  3764, -1435,  1422, -1435, -1435, -1435, -1435,  1436, 
     1211   -1435, -1435, -1435, -1435, -1435,  1165,   212,  3764, -1435, -1435, 
     1212   -1435, -1435, -1435,  1257,  1149,  1259,  2014,  1270,  1271,  1272, 
     1213   -1435, -1435, -1435, -1435, -1435,   130,   133,  1210,   130,   133, 
     1214   -1435,   130, -1435, -1435,  1440,   787, -1435,  3764, -1435,  1443, 
     1215   -1435, -1435,  2155,  1451, -1435, -1435,  1455, -1435,   905, -1435, 
     1216     130, -1435,   130,  3764, -1435,  1274,  3764,  3764,  1458,  2014, 
     1217    3764, -1435, -1435, -1435,  1452, -1435,  3764, -1435,  1465,  3764, 
     1218   -1435,  3764, -1435, -1435 
    9311219}; 
    9321220 
     
    9361224static const yytype_uint16 yydefact[] = 
    9371225{ 
    938        2,     0,     1,     7,     9,   105,     0,     0,   483,     0, 
    939        0,     0,     0,     0,    22,   345,   100,   100,     0,   541, 
    940        0,     0,   156,   396,     0,     0,     0,   534,   535,   540, 
    941        0,   536,   539,     0,     0,     0,   135,   100,   100,     0, 
    942        0,   372,   118,     0,   504,   149,     0,   509,     0,   510, 
    943      357,    21,    63,     0,     0,   183,   181,   182,   186,   484, 
    944      487,   486,   485,   180,     0,   184,   185,   329,   493,    20, 
    945        3,     4,     5,    13,     0,    20,    20,     0,     0,    50, 
    946      119,    57,   156,    52,    54,    53,    49,     0,    56,    51, 
    947      206,   173,   191,   490,    55,     0,    19,   365,   367,   395, 
    948      371,     0,   368,   422,     0,   424,   425,   370,     0,   394, 
    949      369,     0,   366,     0,   389,     0,     0,     0,   387,   375, 
    950      498,     0,     0,     0,     0,   374,    32,    20,    31,    26, 
    951        0,     0,     0,   276,   277,     0,     0,     0,     0,   332, 
     1226       2,     0,     1,     6,     8,     0,     0,    17,     9,  1026, 
     1227    1025,     0,    18,     3,     4,     5,    12,    15,    20,  1024, 
     1228       0,    21,   106,    19,   106,     0,   202,  1022,    22,   106, 
     1229      23,   106,    24,    18,   967,   935,   208,   206,   216,   210, 
     1230     214,   212,    88,   305,     0,     0,     7,    11,    18,   202, 
     1231     203,   964,   108,     0,   107,   950,   192,   192,     0,     0, 
     1232    1025,  1023,   192,   192,    16,     0,     0,   218,   218,   218, 
     1233     218,   242,   218,     0,   204,   205,    10,    13,    14,   455, 
     1234       0,     0,   366,   367,    25,     0,   464,     0,   501,   194, 
     1235      25,   264,   255,   257,     0,   256,    88,   195,   539,   105, 
     1236     109,   110,   116,     0,   193,     0,   112,   260,   117,   202, 
     1237     402,   143,   145,   146,     0,   113,   151,     0,     0,   115, 
     1238     150,   147,   144,   523,     0,   521,   532,   537,   520,   518, 
     1239     519,   118,   119,   120,   709,   707,   707,   710,   736,   737, 
     1240     121,   707,   122,   124,   114,   148,   149,   123,   952,   951, 
     1241       0,   193,   931,   934,   202,     0,     0,   103,     0,     0, 
     1242       0,     0,     0,   916,     0,     0,     0,     0,     0,    88, 
     1243     134,   126,   192,   152,     0,   157,   163,   158,   173,   179, 
     1244     156,   687,   153,   162,   155,   170,   154,   786,   165,   164, 
     1245     181,   161,   178,   172,   160,   175,   180,   174,   177,   166, 
     1246     171,   159,  1001,   176,  1043,  1048,  1031,     0,   134,   134, 
     1247     968,   936,     0,     0,   209,   219,   207,   217,   211,     0, 
     1248       0,   215,   243,   244,   213,   201,   648,   621,   622,   200, 
     1249    1011,     0,   258,   259,  1012,   231,   225,     0,   323,   539, 
     1250       0,   604,   309,   616,   186,   187,   189,   190,   188,     0, 
     1251     307,   605,     0,   603,   608,   609,   611,   613,   623,     0, 
     1252     626,   640,   642,   644,   646,   653,     0,   656,   659,   199, 
     1253     606,     0,     0,   930,   494,     0,   492,    26,   723,     0, 
     1254       0,     0,   993,     0,   991,   465,     0,     0,   504,   715, 
     1255       0,     0,     0,     0,     0,   508,     0,   415,   420,   523, 
     1256     419,     0,   540,   111,     0,     0,     0,     0,    88,     0, 
     1257     657,   202,   336,   400,     0,   464,   464,   202,     0,     0, 
     1258       0,     0,   657,   536,   731,   192,   196,   196,   767,   957, 
     1259    1059,   474,   943,   202,   946,   948,   949,     0,     0,    88, 
     1260     539,   167,   104,     0,     0,   810,     0,  1062,  1061,   169, 
     1261     567,   824,     0,     0,   822,     0,     0,     0,   592,     0, 
     1262     815,   655,   663,   665,   817,   662,   818,   664,     0,     0, 
     1263       0,   969,   135,   127,   192,   130,   132,   133,     0,     0, 
     1264       0,     0,     0,  1008,   689,     0,     0,   787,   707,  1005, 
     1265       0,  1049,  1041,  1028,   474,   474,   222,     0,     0,     0, 
     1266     254,   251,     0,     0,     0,     0,     0,   322,   325,   328, 
     1267     327,     0,     0,   539,   616,   235,   187,     0,     0,     0, 
     1268       0,     0,   306,     0,   618,     0,   619,   620,     0,   617, 
     1269     223,     0,   186,   614,   630,   632,   631,   633,   628,   629, 
     1270     625,   634,   635,   637,   639,   636,   638,     0,     0,   649, 
     1271       0,   650,     0,   651,   652,     0,   641,   999,     0,     0, 
     1272       0,   491,     0,   705,   730,     0,   725,     0,     0,   989, 
     1273     997,     0,   995,     0,   506,     0,     0,   505,   717,   267, 
     1274     268,   270,     0,   265,     0,   427,     0,   423,   543,   426, 
     1275     542,   425,   509,   408,   508,     0,     0,     0,     0,    25, 
     1276      25,   547,  1057,     0,   879,   225,   878,   655,   877,     0, 
     1277       0,   814,     0,     0,     0,     0,   658,   282,     0,   202, 
     1278     278,   280,     0,     0,     0,   339,     0,   406,   403,   404, 
     1279     407,     0,   466,   476,     0,     0,   478,    88,   603,     0, 
     1280     522,   682,   683,   684,     0,     0,   590,     0,     0,   673, 
     1281     675,     0,     0,     0,     0,   708,   198,    25,     0,     0, 
     1282     192,   707,   712,   732,   738,     0,   758,   192,   713,     0, 
     1283     771,   768,   707,     0,   958,     0,     0,     0,   932,   947, 
     1284     698,     0,     0,   765,   811,   812,     0,     0,     0,     0, 
     1285       0,     0,     0,   656,   907,     0,   905,   903,     0,     0, 
     1286       0,     0,   898,     0,   896,   894,     0,  1069,     0,   816, 
     1287       0,   202,   962,     0,   131,     0,   842,   820,     0,     0, 
     1288       0,     0,     0,     0,     0,     0,    88,   527,   823,   866, 
     1289     819,   821,     0,   869,   863,   868,     0,     0,     0,     0, 
     1290     697,   695,   696,   691,   688,   694,   802,   800,     0,   796, 
     1291     788,   785,   789,  1003,     0,  1002,  1051,     0,  1051,     0, 
     1292    1027,     0,  1040,     0,   220,     0,     0,     0,     0,   249, 
     1293       0,   327,   320,     0,   228,   227,   232,   226,     0,   187, 
     1294     607,   310,   308,   324,   321,   186,   610,   612,   615,   624, 
     1295     627,   643,   645,   647,   998,     0,     0,     0,   458,   524, 
     1296       0,   498,   500,   532,   499,   493,     0,   729,     0,   990, 
     1297     992,     0,   994,     0,     0,   515,   510,   513,     0,   262, 
     1298       0,     0,     0,     0,   412,   416,   539,   432,   223,   433, 
     1299     229,   437,   435,     0,   436,   434,     0,   417,   437,   446, 
     1300     304,     0,   365,     0,   722,     0,   714,     0,   551,     0, 
     1301       0,   539,     0,   548,   556,   565,   566,  1058,     0,   861, 
     1302       0,     0,     0,   534,   657,     0,   283,     0,     0,   261, 
     1303     279,   351,   343,     0,   346,     0,   349,   350,   352,   353, 
     1304     354,   340,   342,   359,   334,   355,   368,   337,     0,   401, 
     1305       0,     0,   449,   358,   470,   462,   467,   468,   471,   472, 
     1306       0,     0,   202,   475,     0,   670,   677,     0,   672,     0, 
     1307       0,   679,     0,   666,   533,   538,   719,     0,     0,     0, 
     1308       0,     0,     0,     0,   193,   740,   744,   741,   755,   739, 
     1309     749,   746,   733,   751,   743,   753,   756,   752,   754,   745, 
     1310     750,   742,   759,   707,   757,     0,     0,     0,   769,     0, 
     1311     772,   707,   770,   976,     0,   977,  1060,   939,     0,   792, 
     1312     581,   543,   582,   570,   578,   583,     0,     0,     0,     0, 
     1313       0,     0,     0,     0,     0,     0,   829,     0,   827,     0, 
    9521314       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    953        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    954        0,     0,   335,   330,   331,     0,   338,   341,   340,   334, 
    955      329,   333,     0,   347,   348,   240,   238,     0,   270,   307, 
    956      309,   306,   272,   305,   271,   342,   385,   239,     0,    61, 
    957       93,     0,   346,   383,   101,   140,     0,   138,     0,   384, 
    958      589,     0,     0,   157,    29,   156,     0,   433,    28,   489, 
    959      488,   393,     0,     0,   378,   522,   520,     0,   380,     0, 
    960        0,     0,     0,   154,     0,     0,   131,     0,    46,   164, 
    961      165,   150,   162,   161,     6,   225,   226,   100,    64,   200, 
    962      198,   199,     0,    45,   121,     0,   156,   107,     0,     0, 
    963        8,    11,    12,    20,    21,     0,     0,    16,    17,     0, 
    964        0,    48,   158,    62,   119,     0,   227,   114,   119,   157, 
    965        0,     0,     0,     0,   227,   146,   151,     0,     0,   104, 
    966      207,    43,     0,   168,     0,     0,     0,   170,     0,     0, 
    967      169,   227,   353,   400,   419,   419,   463,   391,   390,   392, 
    968        0,     0,   533,   373,     0,   500,   497,   502,   503,   386, 
    969      376,   561,   562,   538,     0,     0,     0,     0,     0,     0, 
    970        0,   329,     0,   560,   544,   545,   377,   511,   515,     0, 
    971      537,     0,    18,   411,     0,     0,   275,   268,     0,     0, 
    972        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    973        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    974        0,     0,     0,     0,     0,   574,   575,   573,     0,   576, 
    975        0,     0,   238,     0,     0,     0,     0,     0,     0,     0, 
    976        0,     0,     0,     0,     0,     0,     0,     0,   299,     0, 
    977        0,     0,   273,   274,   533,   345,   310,   308,   308,   336, 
    978      339,   337,   343,     0,   227,     0,     0,   143,   142,   141, 
    979      139,     0,     0,    30,   429,     0,   418,   438,     0,   592, 
    980      595,   590,   526,   527,     0,   305,     0,   523,   525,   542, 
    981      379,   333,   238,   305,   593,   595,   597,     0,    59,    66, 
    982       67,    70,    65,    71,    68,    73,    74,    75,    76,    77, 
    983       72,    78,    79,    80,    81,    82,    83,    84,    85,    86, 
    984       87,    69,    88,    89,    60,     0,   132,     0,    98,     0, 
    985        0,     0,   203,     0,   202,   196,   201,   172,   129,     0, 
    986        0,     0,     0,   129,     0,     0,   156,    10,    14,    15, 
    987       33,    33,     0,     0,     0,   117,   156,     0,   120,   115, 
    988      134,   156,   227,   227,   156,   153,     0,   147,   211,   213, 
    989      227,   215,     0,   217,   218,   219,   220,   221,     0,   209, 
    990      212,    33,     0,   102,   227,   174,     0,   329,     0,   204, 
    991      333,     0,   192,   194,     0,   227,     0,   402,   439,     0, 
    992      445,     0,     0,   464,     0,   495,   496,     0,   494,     0, 
    993      507,     0,   501,   505,   552,   553,   555,   554,   558,   557, 
    994      556,     0,   525,     0,   570,   570,   570,   513,   512,   563, 
    995        0,   514,     0,     0,     0,     0,     0,   550,   406,   468, 
    996        0,   243,     0,     0,     0,   242,   249,   246,     0,     0, 
    997        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    998      263,     0,   265,     0,     0,     0,   238,     0,     0,     0, 
    999        0,   315,     0,     0,   241,     0,     0,   304,   298,   283, 
    1000      293,   295,   294,   296,   289,   284,   291,   290,   282,   292, 
    1001      278,   279,   280,     0,     0,   300,   297,   281,     0,   286, 
    1002        0,   285,     0,     0,   316,     0,     0,     0,    95,    96, 
    1003       94,    58,     0,     0,     0,     0,   437,     0,     0,     0, 
    1004        0,   531,   532,   308,   227,     0,   517,   519,   521,   518, 
    1005        0,     0,     0,   388,     0,   155,     0,    91,     0,   163, 
    1006       44,   197,     0,   112,     0,   130,     0,     0,   108,   121, 
    1007      123,     0,     0,     0,   156,   432,     0,    25,    23,   160, 
    1008       47,   159,   119,   232,   236,     0,   229,   231,   237,     0, 
    1009      187,   187,     0,   152,   214,     0,     0,   208,   103,   227, 
    1010      187,     0,     0,   204,   176,     0,   179,     0,   193,   491, 
    1011        0,     0,   354,   358,   397,   410,   408,   409,   404,     0, 
    1012      407,   420,   442,   482,   423,   440,   441,     0,   449,   446, 
    1013        0,   474,     0,   469,   471,   465,   462,   419,   490,   508, 
    1014      499,     0,   559,   543,     0,   571,   567,   565,   568,     0, 
    1015      516,   551,   547,   548,   549,   546,   398,   269,   244,   245, 
    1016      248,   252,   253,   254,   255,   256,   251,   257,   258,   259, 
    1017      260,   261,   262,   264,   266,   267,   247,     0,     0,     0, 
    1018      577,   578,   581,   582,   579,   580,   250,   238,   303,   301, 
    1019      302,   288,   287,   314,   345,   328,   320,   317,   318,   321, 
    1020      311,   313,   227,   145,   144,     0,     0,   454,     0,   461, 
    1021        0,     0,     0,   591,   381,     0,     0,   533,   528,   524, 
    1022      594,   382,   598,    90,    99,     0,   109,   129,   129,   129, 
    1023      129,   129,   124,   122,     0,     0,   110,     0,     0,   428, 
    1024       42,    41,    34,     0,    39,    36,    27,   116,   234,     0, 
    1025      228,   233,   133,     0,   136,   137,   148,   223,   224,   222, 
    1026        0,   210,   187,   349,   175,   204,   177,     0,   195,     0, 
    1027        0,     0,     0,     0,     0,   401,   421,   443,     0,   457, 
    1028      447,     0,   450,     0,   419,     0,   481,     0,   475,   477, 
    1029      470,   472,   466,   227,   506,     0,   570,   572,   564,   329, 
    1030        0,     0,     0,   352,     0,     0,   326,   327,     0,   312, 
    1031       97,     0,     0,     0,   436,     0,     0,   530,     0,    92, 
    1032      113,   125,   126,   127,   128,     0,     0,   467,     0,     0, 
    1033       35,     0,    24,   230,   235,   237,     0,   188,   189,   216, 
    1034      349,     0,     0,   166,   178,   205,   364,   355,   356,   361, 
    1035      360,   359,     0,   414,   416,     0,   399,   400,     0,   458, 
    1036      459,   451,   444,   419,   448,   479,     0,   473,   478,   227, 
    1037        0,   566,   583,   584,   585,   344,   325,     0,   322,   319, 
    1038        0,     0,     0,   434,   596,   529,     0,   129,   453,    40, 
    1039       37,     0,     0,   167,   350,   351,     0,     0,   412,   415, 
    1040      417,   400,   403,     0,   460,   452,   476,   480,   492,   569, 
    1041      324,     0,   588,     0,     0,     0,     0,     0,    38,   190, 
    1042      363,   362,   413,   405,   455,   323,   435,   586,   111,   456, 
    1043        0,   587 
     1315     919,     0,   917,   908,   911,   531,   909,   530,   529,   841, 
     1316     528,   910,     0,     0,   899,   902,   901,   900,     0,     0, 
     1317     595,   597,     0,   168,     0,   136,   202,   139,   141,   142, 
     1318     972,   192,     0,     0,   820,   867,   871,   865,   870,   872, 
     1319     873,   874,   875,     0,   857,   851,     0,   855,  1010,  1009, 
     1320       0,     0,   687,     0,     0,   794,   798,     0,     0,   539, 
     1321       0,  1018,  1017,     0,  1013,  1015,  1056,  1032,  1055,     0, 
     1322    1052,  1053,  1042,     0,  1038,  1046,     0,   253,     0,     0, 
     1323       0,     0,   326,   191,   239,   237,   238,     0,     0,     0, 
     1324       0,   456,     0,   657,     0,     0,   996,   524,   486,   488, 
     1325     490,   507,   516,     0,   502,   269,   273,     0,   271,   539, 
     1326     424,     0,   428,   409,   413,   540,     0,   430,   431,     0, 
     1327       0,   414,   429,   224,   230,     0,   724,   716,     0,   552, 
     1328     559,   555,     0,     0,   541,   560,     0,   550,     0,   886, 
     1329       0,   884,   887,     0,     0,   667,   535,   288,     0,   291, 
     1330       0,   285,   287,   295,     0,   292,     0,   274,   344,   347, 
     1331       0,     0,   369,   240,   341,   405,   451,     0,     0,     0, 
     1332       0,   477,   483,     0,   481,   479,   680,   681,   678,   591, 
     1333       0,   674,     0,   676,     0,   668,   721,    25,     0,   734, 
     1334       0,  1067,  1065,     0,   747,     0,     0,   192,   761,   760, 
     1335       0,     0,   780,     0,   773,   766,   774,   959,     0,   953, 
     1336     940,   941,   693,   685,     0,     0,     0,     0,   580,   840, 
     1337     654,   834,   831,   832,   835,   838,     0,   830,   833,   837, 
     1338     836,     0,   825,   921,     0,     0,   922,   923,   929,   920, 
     1339     526,   928,   525,   924,   926,   925,     0,   912,   906,   904, 
     1340     897,   895,     0,     0,  1070,     0,   140,   973,   974,   784, 
     1341       0,   193,     0,     0,     0,     0,   846,     0,   844,   876, 
     1342     864,     0,   859,     0,   882,     0,   853,   880,   883,     0, 
     1343       0,     0,     0,   687,   686,   690,     0,   809,     0,   803, 
     1344     805,   795,     0,   797,  1004,     0,     0,  1006,  1050,     0, 
     1345    1033,  1039,   941,  1047,   941,   221,     0,   250,     0,   247, 
     1346     246,   539,     0,     0,   332,   233,  1000,   661,   460,   459, 
     1347       0,     0,   496,     0,   728,     0,     0,   508,   390,   514, 
     1348       0,     0,     0,     0,     0,     0,   191,   439,   183,   184, 
     1349     185,   441,   442,   444,   445,   443,   438,   440,   311,     0, 
     1350       0,   313,   315,   679,   317,   318,   319,   418,     0,   553, 
     1351       0,     0,   557,   549,     0,   561,   564,   886,   891,     0, 
     1352     889,     0,   862,   777,     0,   289,     0,   284,     0,   240, 
     1353       0,   281,   275,   390,     0,   356,   335,   390,     0,   360, 
     1354     390,     0,   450,   463,   469,     0,     0,   480,   677,     0, 
     1355       0,   718,     0,   735,     0,     0,    32,    33,    91,    71, 
     1356      94,   258,   259,   255,   257,   256,   231,   225,     0,     0, 
     1357      27,    63,    65,    62,   539,    28,   101,   656,     0,     0, 
     1358     762,     0,   781,     0,   782,     0,     0,   978,   979,     0, 
     1359     942,   937,   793,     0,     0,   571,   572,   579,   568,     0, 
     1360     585,     0,     0,   839,   828,     0,   927,     0,   918,     0, 
     1361       0,     0,   596,   598,   599,   593,   790,   975,   970,     0, 
     1362       0,     0,   847,   849,   848,     0,     0,   858,     0,   852, 
     1363       0,     0,   856,     0,     0,   701,     0,   703,   692,   807, 
     1364       0,   801,   806,   799,   539,  1016,  1014,     0,  1054,     0, 
     1365    1029,  1034,  1045,  1045,     0,     0,   329,     0,   457,     0, 
     1366     495,   533,   726,   489,   485,     0,   384,     0,   371,   376, 
     1367       0,   379,   372,   382,   373,   386,   374,   392,     0,   375, 
     1368     394,   660,   381,   503,   511,   272,   263,     0,   236,   234, 
     1369       0,     0,   312,   775,   554,   558,   562,     0,     0,   885, 
     1370       0,     0,   286,   388,     0,   297,     0,   298,   299,   293, 
     1371       0,   398,   399,   397,     0,     0,   241,     0,     0,   357, 
     1372     361,     0,   453,   484,   482,   669,   720,     0,    31,  1064, 
     1373    1066,    30,  1068,    66,   532,    67,    72,  1063,    95,    98, 
     1374      96,   102,     0,     0,     0,     0,     0,     0,     0,     0, 
     1375       0,     0,     0,     0,     0,     0,     0,    55,     0,     0, 
     1376       0,    29,   748,   192,     0,   783,   960,     0,     0,   954, 
     1377       0,   577,   574,     0,     0,     0,     0,   584,   587,   589, 
     1378     826,   914,   913,   601,     0,     0,     0,     0,     0,     0, 
     1379       0,   850,   845,   843,   860,   881,   854,     0,   699,   702, 
     1380     704,   804,   808,  1007,     0,     0,  1036,     0,     0,     0, 
     1381       0,   497,     0,     0,   517,   391,   385,     0,     0,     0, 
     1382       0,   380,   396,   392,     0,     0,   316,   314,   563,     0, 
     1383     890,     0,   776,     0,   296,     0,     0,     0,     0,   294, 
     1384     300,   345,   348,   370,   362,   364,   363,   304,   452,   390, 
     1385       0,    64,    64,    64,     0,    54,    60,    39,    49,    51, 
     1386      50,    52,    45,    40,    47,    46,    38,    48,    34,    35, 
     1387      36,     0,     0,    53,    56,    37,     0,    42,     0,    41, 
     1388       0,   778,   987,   955,   986,   961,   982,   985,   984,   981, 
     1389     980,   938,   576,   575,   573,   569,   586,     0,   602,   600, 
     1390     594,   791,   971,   192,     0,   700,     0,  1030,     0,  1044, 
     1391       0,     0,     0,   727,     0,   377,   378,   381,   384,     0, 
     1392     383,   387,   393,   389,   395,   512,     0,     0,   888,   290, 
     1393     301,   303,   302,     0,    74,    61,    75,     0,     0,     0, 
     1394      59,    57,    58,    44,    43,   779,     0,     0,   915,     0, 
     1395    1035,  1037,   245,   248,   330,     0,   385,     0,   421,     0, 
     1396     454,    72,    87,    76,    77,    80,    79,    68,     0,    73, 
     1397     956,   983,   813,     0,   487,     0,     0,     0,    85,     0, 
     1398      86,    70,   331,   422,   892,    84,     0,    78,    81,     0, 
     1399      83,     0,   893,    82 
    10441400}; 
    10451401 
     
    10471403static const yytype_int16 yypgoto[] = 
    10481404{ 
    1049     -890,  -890,  -890,   -96,   850,   643,   -13,  -890,  -890,  -890, 
    1050      413,   161,  -890,  -320,  -890,   -51,   -46,  -890,  -890,   230, 
    1051     -890,  -890,  -890,   503,  -890,   224,    13,  -890,  -890,  -890, 
    1052     -890,  -890,   424,  -464,  -890,  -890,  -247,   427,  -286,  -890, 
    1053     -890,  -890,  -890,  -890,  -890,   -33,  -890,  -890,  -263,   404, 
    1054      -22,    23,   652,   417,  -890,  -890,  -890,  -890,  -890,  -890, 
    1055     -890,   389,  -890,  -890,  -672,  -890,  -890,  -890,   629,  -234, 
    1056     -680,  -890,  -890,   203,  -890,   868,  -236,  -890,    59,    52, 
    1057      -11,   -78,   -98,  -150,  -460,  -530,  -890,  -890,   -97,  -890, 
    1058     -890,  -890,  -890,  -890,   532,  -890,    -1,   267,     1,   -70, 
    1059     -890,  -890,  -182,  -370,    73,   -29,  -128,  -890,  -890,  -890, 
    1060       41,  -890,   -84,    28,  -890,  -628,  -890,  -521,  -513,  -889, 
    1061     -890,  -890,  -890,  -890,  -569,  -785,  -890,  -890,  -890,  -890, 
    1062     -294,  -890,  -890,  -890,  -890,  -890,  -195,  -890,  -890,  -890, 
    1063     -890,  -890,  -890,  -701,  -890,  -890,  -890,  -890,  -890,  -890, 
    1064     -890,  -890,  -890,   393,  -890,  -890,  -890,  -890,  -890,   -50, 
    1065     -828,  -890,  -890,  -890,  -890,  -890,  -890,   -26,   179,     0, 
    1066     -890,  -890,  -890,  -890,  -890,  -890,  -890,  -890,   180,  -890, 
    1067     -890,  -890,  -890,   479,  -890,  -890,   277,  -381,  -890,  -890, 
    1068     -890,   -39,   816,    -3,  -470,  -670,  -534,  -117,  -217,  -441, 
    1069     -890,  -890,  -199,  -890,   509,  -890 
     1405   -1435, -1435, -1435,  1093, -1435,  1423,   428, -1435, -1435, -1435, 
     1406   -1435, -1435, -1435, -1435, -1435, -1435,  -116, -1435, -1435, -1435, 
     1407   -1435, -1435, -1435, -1435,  -650, -1435,  -248, -1435,   -11, -1435, 
     1408   -1435, -1435, -1435, -1435, -1435, -1435, -1435,  1378,   889, -1435, 
     1409   -1435, -1435,   -85,   756, -1435, -1435, -1435,   565, -1435,   -76, 
     1410    -894,  -632, -1435, -1435,   476,   478,   -45,    63, -1435,   659, 
     1411    -215,   -67, -1435,  1466, -1435, -1435, -1435, -1435, -1435, -1435, 
     1412     712, -1435,  -223,  -180,  1076,  -453,  -209, -1435, -1435, -1435, 
     1413     216, -1435, -1435, -1435,   211,   -33, -1435, -1435, -1435, -1435, 
     1414   -1435, -1435, -1435,   772, -1435,   271, -1435, -1435, -1435,   975, 
     1415   -1435, -1435, -1435,   231, -1435, -1435,   234, -1435,    54, -1435, 
     1416   -1435,  -966,  1485, -1435,  1078,   494, -1435,    70,    73, -1435, 
     1417    1254, -1435, -1435,  1100,  -599, -1435, -1435, -1435, -1435, -1435, 
     1418   -1435, -1435, -1435, -1435,   720, -1435, -1435, -1435,   457, -1435, 
     1419   -1435, -1435, -1435,  -963,  -258, -1435, -1435, -1185, -1148, -1434, 
     1420   -1170, -1219, -1435,   -48, -1105,   -47, -1435, -1435,    99, -1435, 
     1421     -53, -1435, -1435, -1435, -1435, -1435,   727, -1435, -1435, -1435, 
     1422   -1435,  -418, -1435, -1435,  1027,  -249, -1435,   800, -1435,   512, 
     1423    -362, -1435,   522, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 
     1424   -1435, -1435, -1435, -1435,   547, -1435, -1435, -1435,   -16, -1435, 
     1425   -1435,   469, -1435,     1, -1435, -1435, -1435,   730, -1435,   249, 
     1426   -1435, -1435,  -152,   328, -1435, -1435,  1088, -1435, -1435,  -918, 
     1427   -1435, -1435, -1435, -1435,  -267,  -469, -1435, -1435,   -18,   554, 
     1428   -1435,  1353, -1435,  1911,  -451,   660, -1435, -1435,  -798, -1435, 
     1429    -535, -1435,  -458,  -285,  -290, -1435,   997, -1435, -1435,  -262, 
     1430    -288, -1435, -1435,   530, -1435, -1435,   994, -1435, -1435, -1435, 
     1431   -1435,    41,    32,   207, -1435,   453,  -557, -1435, -1435,    43, 
     1432   -1435,  -261,   220,  1002, -1435, -1435, -1435, -1435, -1435,    38, 
     1433   -1435, -1435,   272,   -39,  1120, -1435, -1435,  -189,  1117, -1435, 
     1434    1302, -1435,  1119,  1121,  1115, -1435, -1435, -1435, -1435, -1435, 
     1435    1996,  -787,  -145,  -166,   807,   -37,  -831, -1298, -1435, -1435, 
     1436    -210, -1435,   -34,   456, -1435, -1435, -1435,   765,   768,  -501, 
     1437     774, -1435,  1264,  -375,  -372,  -866, -1435, -1435, -1435, -1435, 
     1438    -820,  -805, -1435, -1435, -1435, -1435,  -107, -1435,   471, -1435, 
     1439   -1435,  1018, -1435,   -80,  -695,  -119,  1267, -1435, -1435, -1435, 
     1440   -1435, -1435, -1435, -1435,  1020, -1435, -1435, -1435,   493, -1435, 
     1441    -495, -1435, -1435, -1435, -1435, -1435, -1435,  1016, -1435, -1435, 
     1442    1200, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 
     1443   -1435,   204, -1085, -1435,  1028, -1435,     2, -1435, -1435,   972, 
     1444    -149, -1435,  1035, -1435, -1435, -1435,   466,   718,   999,  1039, 
     1445   -1435, -1435,   236,  1044, -1435, -1435,  1049, -1435, -1435,     5, 
     1446    1232,   982,   673,  -232,   671,   238,  -864,  -960,  -876, -1435, 
     1447     174, -1435,  1054, -1435,   708,  1057, -1435,   721,  1060, -1435, 
     1448   -1435, -1435, -1435,   489,   508, -1435, -1435, -1435, -1435, -1435, 
     1449   -1435, -1435, -1435,  -376, -1435, -1435, -1435,  1291, -1435, -1435, 
     1450    1575, -1435, -1435, -1435, -1435, -1435,   780, -1435, -1435, -1435, 
     1451   -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1026, -1435,   -54, 
     1452   -1435, -1400, -1435,  1354,  1166, -1435, -1435,   925,  -477, -1435, 
     1453    1082, -1435, -1435, -1435, -1435, -1435, -1435,  1001,   943,   460, 
     1454     467, -1435, -1435,  1625,  -141, -1435, -1435, -1435, -1435, -1435, 
     1455   -1435, -1435, -1435, -1435, -1435,  -123, -1435, -1435, -1435, -1435, 
     1456     261, -1435, -1435, -1435,  1003, -1435,   464,   535, -1435, -1435, 
     1457   -1435, -1435, -1435,   570 
    10701458}; 
    10711459 
     
    10731461static const yytype_int16 yydefgoto[] = 
    10741462{ 
    1075       -1,     1,    70,    71,    72,    73,   250,    74,   866,    75, 
    1076      205,   129,   127,   697,   952,   863,   864,    76,   237,   463, 
    1077      464,   228,   189,   190,   403,   467,   196,   281,   282,    77, 
    1078       78,   246,   247,   682,    79,    80,   267,   248,   683,   684, 
    1079       81,    82,    83,    84,    85,   409,    86,    87,   275,   276, 
    1080      225,   206,   261,   262,    88,   233,    89,   283,   523,    90, 
    1081      287,   528,    91,    92,   874,   957,   290,   532,   242,   529, 
    1082      726,   284,   518,   519,   880,   520,   498,   705,   706,   707, 
    1083      337,   175,   338,   176,   177,   392,   636,   618,   178,   644, 
    1084      179,   180,   181,   182,   646,   817,   818,   819,   183,   184, 
    1085      185,   401,   396,   193,   186,   963,   187,    94,    95,   732, 
    1086      733,   968,   969,   741,    97,    98,   735,    99,   100,   537, 
    1087      738,   893,   101,   739,   740,   334,   894,   975,   976,   656, 
    1088      538,   102,   103,   104,   105,   106,   207,   418,   539,   744, 
    1089      745,   107,   748,   749,   901,   902,   108,   750,   903,   982, 
    1090      109,   110,   542,   543,   111,   544,   756,   753,   907,   908, 
    1091      909,   746,   112,   113,   114,   115,   116,   211,   291,   117, 
    1092      118,   303,   119,   306,   551,   120,   121,   552,   553,   122, 
    1093      567,   326,   571,   214,   218,   426,   427,   547,   123,   328, 
    1094      124,   428,   429,   331,   568,   569,   766,   368,   369,   855, 
    1095      125,   420,   421,   435,   659,   437 
     1463      -1,     1,    13,    14,    15,    16,    46,    17,    18,    33, 
     1464     279,  1308,  1309,  1501,  1613,  1595,  1310,  1676,  1311,  1591, 
     1465    1592,  1312,  1593,  1313,  1677,  1703,  1704,  1705,   340,  1315, 
     1466    1316,  1480,   341,    51,    52,    99,   100,   101,   170,   171, 
     1467     373,   374,   375,   371,   372,   915,   916,   917,   102,   172, 
     1468     173,   240,  1227,  1228,   241,   974,   174,   104,   559,  1087, 
     1469     242,    19,    20,    44,    68,    67,    70,    72,    71,    69, 
     1470     214,   215,   243,   244,   676,   415,   245,   246,   417,   977, 
     1471    1279,   221,   222,   223,   401,   247,   248,   106,   311,   107, 
     1472     292,   293,   479,   480,   997,   998,   769,   518,   519,   520, 
     1473     521,   767,  1040,  1041,  1441,  1044,  1045,  1269,  1444,  1579, 
     1474    1580,   732,   733,   249,   250,   734,  1240,  1241,  1242,   251, 
     1475     406,   252,   684,   407,   408,   409,  1202,  1203,   108,   109, 
     1476    1051,   523,   524,   525,   781,  1273,  1274,   784,   785,   794, 
     1477     786,  1459,  1460,   735,   110,  1053,  1277,  1407,  1408,  1409, 
     1478    1410,  1411,  1412,  1413,  1414,  1415,  1416,  1417,  1418,  1419, 
     1479    1420,  1454,   111,   526,   313,   528,   529,   112,   722,   493, 
     1480     494,   295,   296,   736,   297,   298,   486,   487,  1001,   737, 
     1481    1007,  1236,   738,   739,   113,   114,  1058,   792,  1280,  1589, 
     1482     115,   272,  1210,   697,   698,   116,   117,  1059,   286,   795, 
     1483     796,   797,   798,    53,   119,   800,   535,   536,  1063,  1064, 
     1484     120,  1217,   988,   989,   121,   275,   276,   459,  1211,   700, 
     1485     122,   288,  1220,   476,   799,   495,   994,  1564,   716,   717, 
     1486    1218,   253,   539,   124,   860,  1131,  1132,   628,   899,   900, 
     1487    1632,   897,   125,   514,   126,   323,   127,   501,   489,   128, 
     1488     129,   130,   752,   753,  1027,   754,   175,   586,  1515,  1106, 
     1489    1335,  1336,  1633,  1512,   863,   864,   865,  1108,  1339,  1340, 
     1490    1341,  1342,  1068,   176,   606,  1526,   911,  1143,  1353,  1354, 
     1491     254,   255,   256,   257,   258,   425,   428,   259,   260,   447, 
     1492     261,   448,   262,   263,   264,   265,   266,   450,   452,   455, 
     1493     267,  1109,  1110,   268,   515,   354,  1422,  1208,   364,   365, 
     1494     366,   367,   177,   178,   320,   547,   548,   549,   550,  1245, 
     1495     542,   543,  1246,   179,   180,   384,   643,   941,   181,   644, 
     1496     645,   581,   942,  1173,  1174,   707,   324,   325,   182,   134, 
     1497     135,   561,   136,   280,   465,   326,   562,   563,   137,   138, 
     1498     564,   829,   139,   565,   566,  1088,   343,   183,   184,   570, 
     1499     571,   849,   850,   141,   572,   851,  1095,   185,   186,   386, 
     1500     387,   187,  1527,  1104,   388,   651,   947,  1182,   648,   943, 
     1501    1178,  1179,  1180,   188,   189,   190,   191,   192,   368,   629, 
     1502     630,   631,   193,   587,  1345,   877,   878,  1111,   901,   194, 
     1503     922,  1157,  1158,   195,  1165,  1371,   196,  1161,  1368,   197, 
     1504     632,   633,   634,   635,  1166,  1167,  1030,  1031,  1032,  1259, 
     1505    1260,  1571,   198,   603,   604,   199,   595,   596,   200,  1349, 
     1506    1637,   352,   891,   892,   377,    21,   331,   152,    22,    66, 
     1507     578,  1510,  1101,  1331,   153,   332,   333,   334,    54,   329, 
     1508      55,  1329,  1686,   575,  1623,    23,    56,    24,    65,   612, 
     1509     613,  1528,  1148,  1358,   854,  1099,  1327,  1624,  1625,  1626, 
     1510    1627,   530,   145,   283,   284,   146,   471,   472,   270,   695, 
     1511     201,   390,   948,   654,  1387,   202,   638,   271,   953,   954, 
     1512     955,    25,    26,    27,    28,    29,   658,  1545,   207,   958, 
     1513    1390,  1391,   660,  1648,  1192,    30,    31,   657,   205,   662, 
     1514    1546,  1194,   392,   656,   959,   960,   961,   203,   154,   576, 
     1515     349,  1084,  1590,   608 
    10961516}; 
    10971517 
     
    11011521static const yytype_int16 yytable[] = 
    11021522{ 
    1103      174,   540,    93,   402,   192,   293,   475,   174,   294,   776, 
    1104      414,   366,   295,   642,   507,   296,   736,   495,   685,   691, 
    1105      434,   499,   372,   685,   737,   643,   829,   324,   243,    96, 
    1106      198,   767,   768,   367,   765,   765,   765,   687,   505,   875, 
    1107      226,   300,   342,   886,   344,   203,   323,   900,   883,   580, 
    1108      221,   222,    93,   847,   325,   535,   223,   203,   268,   359, 
    1109      224,   203,   257,   258,   366,   277,  -171,   432,   580,   848, 
    1110      849,   850,   580,   580,   848,   849,   850,   985,  -431,    96, 
    1111      961,   850,  -427,   365,   278,   329,   367,   297,  1022,   298, 
    1112      299,   199,   860,   764,  -171,   751,   203,   430,   647,   918, 
    1113      770,   541,   265,   307,   270,   271,   285,   972,   126,   273, 
    1114      203,   174,   279,   128,   332,   419,   324,  -430,   665,   333, 
    1115      335,   336,   419,     4,   672,   130,   676,   494,   716,   223, 
    1116      343,  -426,  1043,   224,   194,   323,   365,   580,   580,   478, 
    1117      580,   580,   580,   325,   357,   752,   608,  1001,   480,   484, 
    1118      364,   580,   580,   869,   915,   676,   949,   986,   301,   949, 
    1119     1027,   371,   308,   730,   754,   410,   393,   131,   649,   195, 
    1120      188,   698,   610,   572,   311,   312,   573,   574,   575,   288, 
    1121      406,   387,   388,   389,   244,   229,   245,   389,   438,   404, 
    1122      411,   412,   485,   486,  -171,   309,   230,   962,   170,   191, 
    1123      981,   718,   394,   364,   302,   964,   364,   417,  -106,   581, 
    1124      960,   860,   280,   606,   425,   204,   468,   851,   433,   413, 
    1125     -431,   436,   851,  -171,  -427,   324,   466,   851,   585,   476, 
    1126      565,   861,   587,   602,   324,   367,   917,   917,   917,   681, 
    1127      487,   582,   583,   496,   323,   918,   607,   286,   501,   564, 
    1128      471,   504,   325,   323,   204,    93,   717,   566,   648,  -430, 
    1129      601,   325,   603,   604,   605,    69,   710,   711,   413,   481, 
    1130      500,   266,   613,  -426,   714,   476,   223,   533,   666,   479, 
    1131      224,   860,    96,   562,   673,   365,   677,   700,   720,   545, 
    1132      546,   695,   577,   723,   550,   611,   731,   778,   779,   729, 
    1133      793,   794,   795,   554,   555,   556,   557,   558,   559,   560, 
    1134      251,   796,   806,   870,   916,   939,   950,   987,   763,  1038, 
    1135      289,   832,   407,   425,   390,   391,   576,   324,   390,   391, 
    1136      584,   742,   482,   202,   588,   589,   590,   591,   592,   593, 
    1137      594,   595,   596,   597,   598,   599,   323,   415,   416,   408, 
    1138      861,   483,   371,   862,   325,   743,   920,   921,   922,   194, 
    1139      170,   208,   617,   619,   620,   621,   622,   623,   624,   625, 
    1140      626,   627,   628,   629,   630,   631,   632,   635,   637,   639, 
    1141      641,   372,   991,   940,   192,   660,   765,   685,   685,   685, 
    1142      685,   685,   801,   803,   197,   805,   376,   377,   378,   212, 
    1143      379,   380,   381,   382,   383,   384,   829,   385,   386,   387, 
    1144      388,   389,   400,   170,   664,   223,   490,   491,   274,   224, 
    1145      861,   395,   231,  1010,   823,   576,   252,   213,   838,   378, 
    1146      251,   379,   380,   381,   382,   383,   384,   219,   385,   386, 
    1147      387,   388,   389,   521,   924,   680,   220,   209,   757,   876, 
    1148      541,   824,   253,   210,   966,   867,   938,   200,   201,   833, 
    1149      967,   917,   476,   912,   776,   807,   565,   255,   686,   256, 
    1150      194,   840,   264,   565,   990,   324,   324,   324,   324,   324, 
    1151      239,   699,   259,   882,   260,   564,   708,  -156,   885,   235, 
    1152      236,  -156,   564,   566,   323,   323,   323,   323,   323,   859, 
    1153      566,   736,   325,   325,   325,   325,   325,   240,   241,   737, 
    1154      269,   227,   747,   372,   980,   476,   476,   525,   526,   702, 
    1155      371,   232,   736,   203,   709,  -156,   734,   712,   249,  -156, 
    1156      737,   398,   669,   771,   772,   773,   774,   775,  -156,    93, 
    1157      254,    93,  -156,  1037,   263,   813,   252,   685,   758,   203, 
    1158      762,   272,   390,   391,   311,   312,   573,   574,   575,   576, 
    1159      292,   419,   941,   942,   943,   944,   304,   734,   324,   777, 
    1160      133,   134,   253,   419,   576,   215,   216,   217,   747,   899, 
    1161      801,   803,   805,   390,   391,   305,   930,   323,   139,   572, 
    1162      311,   312,   573,   574,   575,   325,   973,   974,   800,   802, 
    1163      394,   804,   310,   327,   364,   808,   877,   878,   879,   339, 
    1164      984,   573,   574,   575,   852,  -542,  -542,  -542,  -542,  -542, 
    1165     -542,   340,   809,   810,   341,   345,   346,   811,   347,   812, 
    1166      348,   399,   349,   816,   405,   350,   351,   352,   929,   353, 
    1167      354,   170,   825,   895,   830,   896,   831,   807,   822,   355, 
    1168      356,   358,   835,   965,   904,    93,   360,   576,   361,   362, 
    1169      370,   395,   397,   398,   465,   844,   425,   468,   469,   470, 
    1170      259,   477,   565,   842,   492,   494,   497,   989,   266,   162, 
    1171      506,   857,   858,   502,   522,   163,   164,   503,   274,  1025, 
    1172      524,   564,   868,   536,   548,   570,   561,   578,   612,   566, 
    1173      166,   167,   615,   168,   169,   652,   655,   675,   171,   657, 
    1174      872,   476,   373,   374,   375,   376,   377,   378,   658,   379, 
    1175      380,   381,   382,   383,   384,   610,   385,   386,   387,   388, 
    1176      389,   667,   668,   670,   674,   678,   679,   689,   724,   719, 
    1177      692,   906,   693,   696,   715,   814,   725,   728,   759,   760, 
    1178      550,   761,   769,  1028,   379,   380,   381,   382,   383,   384, 
    1179      575,   385,   386,   387,   388,   389,   797,   798,   576,   576, 
    1180      576,   576,   576,  -543,  -543,  -543,  -543,  -543,  -543,   820, 
    1181      385,   386,   387,   388,   389,   799,   800,   802,   804,   821, 
    1182      834,   841,   846,   854,   479,   856,   873,   865,   977,   884, 
    1183      887,   508,   888,   192,   926,   889,   372,   983,   890,   891, 
    1184      609,   897,  -238,  -238,  -238,  -238,  -238,  -238,   565,  -238, 
    1185     -238,  -238,  -238,  -238,  -238,   892,  -238,  -238,  -238,  -238, 
    1186     -238,   910,   898,   911,   928,   936,   932,   564,   923,  1004, 
    1187      933,   945,   937,   946,   951,   566,   959,   970,   731,   979, 
    1188      988,  1000,  1017,  1019,   235,   236,   509,   992,   708,   993, 
    1189      955,   994,   958,   995,   851,  1007,  1008,  1016,  1018,   497, 
    1190     1020,   390,   391,  1024,  1029,   837,   476,  1033,  1040,  1021, 
    1191      302,   333,   510,  1039,   511,   512,   513,   978,   966,   514, 
    1192      515,  1044,   516,   517,   906,  1042,  1048,   489,  1049,   694, 
    1193     1011,   234,   845,  1009,   843,   688,   390,   391,   650,   690, 
    1194      713,   701,   493,    93,   996,   721,   998,   816,   534,   881, 
    1195      238,   333,  1002,   954,  1003,   390,   391,   999,   953,   645, 
    1196      836,  1013,   971,  1041,  1006,   755,  1026,   913,  1005,    93, 
    1197      330,   914,   839,     0,   671,   371,     0,     0,     0,     0, 
    1198     1014,  1015,     0,     0,     0,     0,     0,     0,     0,     0, 
    1199        0,     0,     0,     0,     0,     0,     0,     0,     2,     3, 
    1200        0,  -238,  -238,     0,     0,   906,     0,   906,     0,     0, 
    1201        0,     0,     0,     0,     0,    93,  1030,     0,     0,  1032, 
    1202        0,     0,     4,     5,     0,     0,     6,   -21,     7,   -21, 
    1203        8,     0,     0,     9,     0,     0,     0,     0,     0,     0, 
    1204        0,   734,     0,    10,     0,     0,     0,     0,     0,     0, 
    1205     1045,     0,   734,     0,  1046,  1047,    93,     0,     0,    11, 
    1206        0,     0,   734,    12,    13,    93,     0,     0,    14,  1051, 
    1207        0,     0,     0,     0,    15,     0,    16,    17,     0,    18, 
    1208        0,     0,     0,     0,    19,    20,    21,    22,    23,     0, 
    1209       24,    25,     0,     0,    26,    27,    28,    29,    30,    31, 
    1210       32,    33,    34,    35,    36,     0,    37,     0,    38,    39, 
    1211        0,     0,    40,    41,    42,     0,    43,     0,    44,     0, 
    1212        0,    45,    46,     0,     0,    47,    48,    49,     0,     0, 
    1213        0,     0,     0,     0,     0,    50,     0,     0,    51,    52, 
    1214       53,    54,    55,    56,    57,    58,    59,    60,    61,    62, 
    1215       63,     0,     0,    64,     0,     0,    65,    66,    67,    68, 
    1216        0,     0,     0,     0,    69,   373,   374,   375,   376,   377, 
    1217      378,     0,   379,   380,   381,   382,   383,   384,     0,   385, 
    1218      386,   387,   388,   389,   653,     0,   373,   374,   375,   376, 
    1219      377,   378,     0,   379,   380,   381,   382,   383,   384,     0, 
    1220      385,   386,   387,   388,   389,   935,     0,   373,   374,   375, 
    1221      376,   377,   378,     0,   379,   380,   381,   382,   383,   384, 
    1222        0,   385,   386,   387,   388,   389,  1035,     0,   373,   374, 
    1223      375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
    1224      384,     0,   385,   386,   387,   388,   389,  1036,     0,   373, 
    1225      374,   375,   376,   377,   378,     0,   379,   380,   381,   382, 
    1226      383,   384,     0,   385,   386,   387,   388,   389,  1050,     0, 
    1227      373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
    1228      382,   383,   384,     0,   385,   386,   387,   388,   389,   927, 
    1229      373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
    1230      382,   383,   384,     0,   385,   386,   387,   388,   389,   439, 
    1231        0,     0,     0,     0,   440,   441,     0,   442,   443,     0, 
    1232        0,     0,     0,     0,   390,   391,     0,     0,   394,   444, 
    1233      445,   446,   447,   448,   449,   450,     0,   451,   452,   453, 
    1234        0,     0,   454,   455,   456,   390,   391,   457,   458,   459, 
    1235      460,     0,   461,     0,     0,     0,     0,     0,     0,     0, 
    1236        0,     0,     0,     0,     0,     0,   390,   391,     0,     0, 
    1237        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1238        0,     0,     0,     0,     0,     0,     0,   390,   391,   373, 
    1239      374,   375,   376,   377,   378,     0,   379,   380,   381,   382, 
    1240      383,   384,     0,   385,   386,   387,   388,   389,   390,   391, 
    1241      373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
    1242      382,   383,   384,     0,   385,   386,   387,   388,   389,   390, 
    1243      391,     0,     0,     0,     0,   462,     0,     0,     0,     0, 
    1244        0,     0,     0,     0,     0,     0,     0,     0,   614,   390, 
    1245      391,   871,   373,   374,   375,   376,   377,   378,     0,   379, 
    1246      380,   381,   382,   383,   384,     0,   385,   386,   387,   388, 
    1247      389,   927,   373,   374,   375,   376,   377,   378,     0,   379, 
    1248      380,   381,   382,   383,   384,     0,   385,   386,   387,   388, 
    1249      389,   997,   373,   374,   375,   376,   377,   378,     0,   379, 
    1250      380,   381,   382,   383,   384,     0,   385,   386,   387,   388, 
    1251      389,  1031,   373,   374,   375,   376,   377,   378,     0,   379, 
    1252      380,   381,   382,   383,   384,     0,   385,   386,   387,   388, 
    1253      389,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1254        0,     0,     0,     0,     0,     0,     0,   579,   390,   391, 
    1255        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1256        0,     0,     0,     0,     0,     0,     0,     0,   586,   390, 
    1257      391,   373,   374,   375,   376,   377,   378,     0,   379,   380, 
    1258      381,   382,   383,   384,     0,   385,   386,   387,   388,   389, 
    1259     -240,  -240,  -240,  -240,  -240,  -240,     0,  -240,  -240,  -240, 
    1260     -240,  -240,  -240,     0,  -240,  -240,  -240,  -240,  -240,     0, 
    1261        0,   390,   391,     0,     0,     0,     0,     0,     0,     0, 
    1262        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1263        0,   390,   391,     0,     0,     0,     0,     0,     0,     0, 
    1264        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1265        0,   390,   391,     0,     0,     0,     0,     0,     0,     0, 
    1266        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1267        0,   390,   391,  -239,  -239,  -239,  -239,  -239,  -239,     0, 
    1268     -239,  -239,  -239,  -239,  -239,  -239,     0,  -239,  -239,  -239, 
    1269     -239,  -239,   373,   374,   375,   376,   377,   378,     0,   379, 
    1270      380,   381,   382,   383,   384,     0,   385,   386,   387,   388, 
    1271      389,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1272        0,     0,     0,     0,     0,     0,     0,     0,     0,   600, 
    1273      390,   391,     0,     0,     0,     0,     0,     0,     0,     0, 
    1274        0,     0,     0,     0,     0,     0,     0,     0,  -240,  -240, 
    1275     -240,   373,   374,   375,   376,   377,   378,     0,   379,   380, 
    1276      381,   382,   383,   384,     0,   385,   386,   387,   388,   389, 
    1277      373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
    1278      382,   383,   384,     0,   385,   386,   387,   388,   389,   373, 
    1279      374,   375,   376,   377,   378,     0,   379,   380,   381,   382, 
    1280      383,   384,     0,   385,   386,   387,   388,   389,   373,   374, 
    1281      375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
    1282      384,     0,   385,   386,   387,   388,   389,     0,     0,     0, 
    1283        0,  -239,  -239,  -239,     0,     0,     0,     0,     0,     0, 
    1284        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1285      614,   390,   391,   373,   374,   375,   376,   377,   378,     0, 
    1286      379,   380,   381,   382,   383,   384,     0,   385,   386,   387, 
    1287      388,   389,   373,   374,   375,   376,   377,   378,     0,   379, 
    1288      380,   381,   382,   383,   384,     0,   385,   386,   387,   388, 
    1289      389,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1290        0,     0,     0,     0,     0,     0,     0,     0,     0,   651, 
    1291      390,   391,     0,     0,     0,     0,     0,     0,     0,     0, 
    1292        0,     0,     0,     0,     0,     0,     0,     0,   654,   390, 
    1293      391,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1294        0,     0,     0,     0,   399,     0,     0,     0,   390,   391, 
    1295        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1296        0,     0,     0,     0,     0,     0,   780,   390,   391,   373, 
    1297      374,   375,   376,   377,   378,     0,   379,   380,   381,   382, 
    1298      383,   384,     0,   385,   386,   387,   388,   389,   373,   374, 
    1299      375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
    1300      384,     0,   385,   386,   387,   388,   389,     0,     0,     0, 
    1301        0,   781,   390,   391,     0,     0,     0,     0,     0,     0, 
    1302        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1303      782,   390,   391,   373,   374,   375,   376,   377,   378,     0, 
    1304      379,   380,   381,   382,   383,   384,     0,   385,   386,   387, 
    1305      388,   389,   373,   374,   375,   376,   377,   378,     0,   379, 
    1306      380,   381,   382,   383,   384,     0,   385,   386,   387,   388, 
    1307      389,   373,   374,   375,   376,   377,   378,     0,   379,   380, 
    1308      381,   382,   383,   384,     0,   385,   386,   387,   388,   389, 
    1309      373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
    1310      382,   383,   384,     0,   385,   386,   387,   388,   389,     0, 
    1311        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1312        0,     0,     0,     0,     0,     0,     0,   783,   390,   391, 
    1313        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1314        0,     0,     0,     0,     0,     0,   784,   390,   391,   373, 
    1315      374,   375,   376,   377,   378,     0,   379,   380,   381,   382, 
    1316      383,   384,     0,   385,   386,   387,   388,   389,   373,   374, 
    1317      375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
    1318      384,     0,   385,   386,   387,   388,   389,     0,     0,     0, 
    1319        0,   785,   390,   391,     0,     0,     0,     0,     0,     0, 
    1320        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1321      786,   390,   391,     0,     0,     0,     0,     0,     0,     0, 
    1322        0,     0,     0,     0,     0,     0,     0,     0,     0,   787, 
    1323      390,   391,     0,     0,     0,     0,     0,     0,     0,     0, 
    1324        0,     0,     0,     0,     0,     0,     0,     0,   788,   390, 
    1325      391,   373,   374,   375,   376,   377,   378,     0,   379,   380, 
    1326      381,   382,   383,   384,     0,   385,   386,   387,   388,   389, 
    1327      373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
    1328      382,   383,   384,     0,   385,   386,   387,   388,   389,     0, 
    1329        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1330        0,     0,     0,     0,     0,     0,     0,   789,   390,   391, 
    1331        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1332        0,     0,     0,     0,     0,     0,   790,   390,   391,   373, 
    1333      374,   375,   376,   377,   378,     0,   379,   380,   381,   382, 
    1334      383,   384,     0,   385,   386,   387,   388,   389,   373,   374, 
    1335      375,   376,   377,   378,     0,   379,   380,   381,   382,   383, 
    1336      384,     0,   385,   386,   387,   388,   389,   373,   374,   375, 
    1337      376,   377,   378,     0,   379,   380,   381,   382,   383,   384, 
    1338        0,   385,   386,   387,   388,   389,   373,   374,   375,   376, 
    1339      377,   378,     0,   379,   380,   381,   382,   383,   384,     0, 
    1340      385,   386,   387,   388,   389,     0,     0,     0,     0,   791, 
    1341      390,   391,     0,     0,     0,     0,     0,     0,     0,     0, 
    1342        0,     0,     0,     0,     0,     0,     0,     0,   792,   390, 
    1343      391,   373,   374,   375,   376,   377,   378,     0,   379,   380, 
    1344      381,   382,   383,   384,     0,   385,   386,   387,   388,   389, 
    1345      373,   374,   375,   376,   377,   378,     0,   379,   380,   381, 
    1346      382,   383,   384,     0,   385,   386,   387,   388,   389,     0, 
    1347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1348        0,     0,     0,     0,     0,     0,     0,   853,   390,   391, 
    1349        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1350        0,     0,     0,     0,     0,     0,   931,   390,   391,     0, 
    1351        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1352        0,     0,     0,     0,     0,   934,   390,   391,     0,     0, 
    1353        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1354        0,     0,     0,     0,   947,   390,   391,   373,   374,   375, 
    1355      376,   377,   378,     0,   379,   380,   381,   382,   383,   384, 
    1356        0,   385,   386,   387,   388,   389,   373,   374,   375,   376, 
    1357      377,   378,     0,   379,   380,   381,   382,   383,   384,     0, 
    1358      385,   386,   387,   388,   389,     0,     0,   472,   473,   948, 
    1359      390,   391,     0,     0,   132,     0,     0,     0,     0,     0, 
    1360        0,     0,   133,   134,   474,     0,     0,     0,  1023,   390, 
    1361      391,     0,     0,     0,     0,     0,   135,   136,     0,     0, 
    1362        0,     0,   137,   138,   139,   140,   141,     0,     0,     0, 
    1363        0,     0,     0,     0,     0,     0,     0,   142,   143,   144, 
    1364      145,   146,   147,   148,     0,   149,   150,   151,     0,     0, 
    1365      152,   153,   154,     0,   155,   156,   157,   158,   159,     0, 
    1366      160,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1523      43,   702,   363,   398,   488,   404,   491,   103,   701,   641, 
     1524     290,   150,   642,   335,   414,   355,   357,   327,   131,   105, 
     1525     742,   477,   950,   362,   105,   723,  1002,  1149,   416,   105, 
     1526     105,   336,   490,   481,   328,   429,   269,   553,  1103,   400, 
     1527    1233,    98,   312,  1235,   729,   485,    98,   363,   418,   910, 
     1528     812,    98,    98,   118,   142,   103,   896,   143,   545,  1168, 
     1529    1168,   105,   239,   950,  1212,   906,   131,   105,  1258,   431, 
     1530    1162,   105,  1328,   509,   972,   848,  1175,   724,   430,   432, 
     1531    1112,  1113,  1114,    98,  1126,  1127,   421,  1119,  1450,    98, 
     1532     932,  1379,  1455,    98,   314,  1461,   376,   277,  1446,  -523, 
     1533     212,   118,   142,   668,   318,   143,  1628,   227,   228,   291, 
     1534     522,   807,   809,   902,   219,  -195,   460,   468,     4,   151, 
     1535    1445,  1655,   908,   -89,   912,   492,   -89,   711,   492,   933, 
     1536     414,  1299,   933,   414,   758,  1170,  -195,     4,     4,   105, 
     1537     980,  1655,  1023,  1121,   416,   802,  -410,   416,     4,  -411, 
     1538     637,   319,  1136,   936,    47,     4,   347,     4,     8,  1584, 
     1539     508,    98,   348,  1447,   418,  1186,     4,   418,  1196,   703, 
     1540    1261,   704,   230,  1270,     4,  1198,  -195,     8,     8,  1186, 
     1541    1370,   492,   414,   269,   665,   828,  -410,  1222,     8,  -411, 
     1542    1286,     4,   335,  1320,     4,     8,   416,     8,  1365,  1380, 
     1543    1399,     4,     4,  1258,   594,   681,     8,   602,  1431,   679, 
     1544     336,   912,  1516,    42,     8,  1697,   418,  1333,  1325,  -182, 
     1545     433,  1025,   346,   234,  1022,   976,   413,  1360,  -730,   573, 
     1546      32,     8,   281,    89,     8,   508,   508,   508,   432,    42, 
     1547     555,     8,     8,   956,   517,   685,  1006,  1559,   685,   376, 
     1548     534,   432,   227,   228,    49,   474,  1457,  1577,    97,   475, 
     1549    -266,  -338,   990,   765,   782,  1334,  -540,   503,   464,   282, 
     1550      73,  1446,   213,   516,   727,  1294,  1204,   422,  1266,  1670, 
     1551     236,   652,   546,    98,  -540,   516,   220,  1628,   730,   614, 
     1552    -523,    12,   105,  1445,   669,  -523,   861,  1542,   376,   531, 
     1553     532,  1439,   808,   810,   903,  1004,  -195,  1378,   741,  -195, 
     1554      12,    12,   412,   909,    98,   913,   861,   728,  -764,  -410, 
     1555     934,    12,  -411,   935,   862,    34,  1346,    48,    12,  1343, 
     1556      12,   981,   577,  1024,  1122,   756,  1447,  1656,  1333,    12, 
     1557    1120,   105,   413,  1137,   862,   413,  1125,    12,   607,  1128, 
     1558     640,   105,  1350,  1134,  1094,    35,  1187,  1656,  -764,  1197, 
     1559    -474,     4,   269,    98,    12,   646,  1199,    12,   506,  1008, 
     1560    1206,  1026,   972,    98,    12,    12,  1012,  1239,  1223,   433, 
     1561     574,  1287,  1326,   269,   269,  1446,  1334,  1659,   926,  1366, 
     1562    1381,  1400,   688,  1559,   413,   659,   661,  1458,  1578,  1432, 
     1563    1351,     8,  1502,  1517,  1673,  1446,  1698,   302,    92,    93, 
     1564     239,    95,   302,   957,   766,    42,   302,  -540,   310,   745, 
     1565     747,   235,   647,   204,    42,   236,   105,     4,    42,  1267, 
     1566      47,   488,    42,   491,     4, -1020,    74, -1020,   876,   890, 
     1567     893,   610,   842,   506,   506,   506,    42,   639,   699,   904, 
     1568     302,   968,   517,   966,   385,   975,  -539,   969,   970,   490, 
     1569     481,    64,   105,   105,   731,   852,   429,     8,  1350,   730, 
     1570     918,     4,   485,     4,     8,   508,    76,   817,  1258,   498, 
     1571     499,  1551,  1630,  1521,    98,    98,   726,  -197,   919,   741, 
     1572     751,  -764,  1585,     9,  1168,  1586,     4,   363,   430,    75, 
     1573     431,   363,   363,   498,   499,   227,   228,  1042,   132,   430, 
     1574     285,     8, -1020,     8, -1020,   823,  1351,    58,   105,    59, 
     1575      60,   793,   845,   133,   702,  1221,   827,   105,   344,   742, 
     1576     782,   701,  1014,   742,    12,  1511,     8,   148,   649,   500, 
     1577      98,    89,     4,    98,   206,   140,  1070,  -464,  1072,    98, 
     1578     462,   463,  1511,  1232,   950,   557,   132,   729,   105,   105, 
     1579     144,  1013,   832,   500,     4,   837,    97,   105,   105,   832, 
     1580       9,   133,   274,  1290,  1531,   699,   533,   558,    11,     4, 
     1581      98,    98,     8,   285,     4,  1352,  1561,   147,  -137,    98, 
     1582      98,     4,   105,   140,   944,   699,   -90,    60,   287,   -90, 
     1583      12,  1046,   483,    48,     8,    11,   105,    12,   144,  1149, 
     1584     230,   301,  1671,   304,    98,  1672,    89,    89,   305,     8, 
     1585    1364,   306,   474,   824,     8,    42,   475,   938,    98,   269, 
     1586     151,     8,  -933,    92,    93,   147,    95,   302,  1078,   484, 
     1587      42,    97,    97,   949,    12,   492,    12,  1103,  1005,   496, 
     1588     307,   232,   233,   894,  -539,    11,  -236,    82,    83,  1037, 
     1589    -508,   234,   905,  1091,  -508,  -944,   310,   973,   497,    12, 
     1590      92,    93,   357,    95,   235,  1476,  1477,    42,   236,  1225, 
     1591    -236,   -61,  1010,   506,   949,   929,   930,   931,  1038,   235, 
     1592     105,   155,   703,   236,   704,    11,  1039,   686,  1213,   302, 
     1593     687,  1011,   987,   315,   -93,   556,   557,   -93,   316,  1323, 
     1594     999,   317,    98,   411,   322,    12,   434,   435,   436,   437, 
     1595     438,   439,   440,  1117,  1089,  1657,  1561,   516,   558,   321, 
     1596     -92,  1374,  1561,  1469,   330,   534,  1129,    12, -1020,   412, 
     1597   -1020,   236,   399,  1569,  1096,  1657,  1376,   230,  1405,  1149, 
     1598     337,  1537,    12,   594,   426,   427,  1043,    12,  1620,   602, 
     1599      36,    37,    38,    39,    12,   990,   453,   454,    40,  1069, 
     1600     546,   338,   546,  1156,    41,   918,     5, -1020,     6, -1020, 
     1601     216,   217,   218,  1231,   224,     7,   350,   727,   508,   351, 
     1602      42,   105,   294,   919,    82,    83,     9,   416,   234,  1239, 
     1603     641,   730,   358,   642,    57,   414,   359,    92,    93,    62, 
     1604      95,    63,  1020,    98,    42,   861,  1392,   741,  1393,   416, 
     1605      89,   741,   369,    60,   640,   105, -1020, -1021, -1020, -1021, 
     1606     728,   370,   569,  1115,  1093,     9,   389,    92,    93,   418, 
     1607      95,   385,   105,   862,    42,    97,   396,    98,   105,   105, 
     1608     105,   105,   861,   105,  1473,   105,   105,   756,  1481,   391, 
     1609     414,   393,    10,   411,    98,   441,   442,   443,   444,   412, 
     1610      98,    98,    98,    98,   416,    98,  1150,    98,    98,   420, 
     1611     862,    11,    11,  -276,     9,     9,  1159,  -223,   105,    92, 
     1612      93,  -945,    95,   424,   418,   449,   308,   282,   225,   445, 
     1613     446,  1144,   105,   105,   451,   226,  1451,  1452,  1453,   457, 
     1614      98,    60,    60,   227,   228,   229,   771,   674,   675,   512, 
     1615      11,   639,    11,  -277,    98,    98,   569,   847,  1171,  1172, 
     1616     -97,   -97,   458,   -97,   602,   470,  1118,   -97,    89,   513, 
     1617     -97,   702,  1678,  1679,   473,    77,   516,   551,   701,   105, 
     1618    1133,   208,   209,   482,  1424,    92,    93,   527,    95,   556, 
     1619    1201,   569,    42,    97,   394,   395,   554,   402,   269,    11, 
     1620      11,   699,   876,  -100,  -100,   588,  -100,   731,    42,  -138, 
     1621    -100,   742,   653,  -100,  1151,   560,   567,   890,   403,   616, 
     1622      82,    83,   772,   663,   239,  1226,   506,  1292,   239,   726, 
     1623     664,   666,  1429,   641,  1362,   667,   642,   673,  1042,   672, 
     1624    -234,  -229,   751,   678,  1427,   680,   730,   413,   230,   683, 
     1625    -224,   773,  1474,   774,   775,   776,  1474,   694,   777,   778, 
     1626     708,   779,   780,   696,   706,   713,   741,   718,   714,   715, 
     1627     748,   105,  1150,   231,   720,   430,   721,   226,   760,   793, 
     1628     761,   764,   763,   768,   105,   227,   228,   749,   363,   232, 
     1629     233,   -99,   -99,    98,   -99,   787,   783,   788,   -99,   234, 
     1630     546,   -99,  1314,   790,   607,   791,    98,   804,    92,    93, 
     1631     801,    95,   235,   806,   814,    42,   236,   237,   818,    92, 
     1632      93,   105,    95,   819,   699,   238,    42,   304,   400,     2, 
     1633       3,   742,   305,    92,    93,   378,    95,   846,   853,   703, 
     1634      42,   704,   294,    98,   855,   379,   858,   380,   105,   857, 
     1635     381,   382,   105,     4,   859,   227,   228,     5, -1020,     6, 
     1636   -1020,   699,   914,   920,   307,   921,     7,   923,   927,   383, 
     1637      98,   640,   105,   940,    98,   946,   964,   304,   965,   967, 
     1638     824,   971,   305,  -230,   440,  1359,   979,   982,   210,   211, 
     1639     230,   983,   991,     8,    98,   379,   992,   380,   993,   996, 
     1640     381,   382,  1033,   273,  1384,   949,  1005,   278,  1006,  1009, 
     1641    -447,  1421,  1048,   289,   307,   231,     9,  1015,  1050,   383, 
     1642     750,  1049,    36,    37,    38,    39,  1479,    93,  1052,    95, 
     1643      40,   232,   233,    42,  1056,   987,    41,  1057,    42,  1060, 
     1644    1062,   234,  1066,    10,  1428,  1077,  1156,  1363,  1074,  1080, 
     1645      92,    93,  1085,    95,   235,   307,  1098,    42,   236,   237, 
     1646     230,  1421,    92,    93,  1097,    95,  1421,   238,   639,    42, 
     1647    1421,  1163,  1100,  1421,   990,  1105,  1107,  1147,  1116,  1124, 
     1648    1721,   345,  1069,  1142,  1185,  1188,  1189,  1190,  1191,  1043, 
     1649     820,   360,  1193,  1215,  1216,  1195,  1248,  1200,  1205,  1214, 
     1650    1224,    11,  1250,  1278,  -202,  -202,  -202,  -202,  1265,   105, 
     1651    1268,   234,  -202,   105,  1264,  1281,  1285,  1288,  -202,  1289, 
     1652      92,    93,  1321,    95,   235,  1338,    12,    42,   236,  1330, 
     1653     105,    98,  1357,  1347,  1069,    98,  1355,  1356,  1361,  1261, 
     1654     305,  1370,  1373,  1086,  1435,  1382,  1389,   105,  1394,  1395, 
     1655    1396,  1397,    98,   379,  1401,   380,  1430,  1437,   381,   382, 
     1656     159,  1438,  -522,  1440,  1651,  -197,  1462,   105,  1650,    98, 
     1657     161,   162,   307,   163,   640,   105,   164,   383,  1472,   821, 
     1658     166,   822,  1463,  1507,  1467,  1666,  1470,  1475,  1478,    98, 
     1659    1550,  1504,  1503,  1506,  1508,  1513,   105,    98,   461,  1514, 
     1660    1524,  1519,  1525,   466,  1544,  1548,   469,  1549,  1552,  1553, 
     1661    1421,  1554,   363,   478,  1555,  1562,  1556,  1557,   699,    89, 
     1662    1558,  1563,  1574,  -380,  1565,  1575,  1581,   502,  1576,   363, 
     1663     511,  1622,  1582,  1583,  1421,   123,    92,    93,  1588,    95, 
     1664     123,  -255,  1629,    42,    97,   123,   123,  1326,  1474,  1643, 
     1665     239,  1644,  1646,  1530,  1652,   105,  1654,  1201,  1443,  1662, 
     1666    1663,  1667,  1668,   640,   105,  1669,   583,   584,  1687,   585, 
     1667    1696,   639,  1690,  1713,  1695,  1692,  1716,   299,   597,  1693, 
     1668     605,  1700,  1701,   123,  1719,  1729,    98,   299,  1150,  1720, 
     1669     225,   609,  1726,   611,  1707,  1708,  1709,   226,  1723,  1731, 
     1670     105,  1727,    78,   230,  1674,   227,   228,   229,   303,   546, 
     1671     105,  1146,  1229,   655,  1230,  1448,    50,  1715,   677,  1456, 
     1672     995,   105,    98,  1425,   770,  1573,    45,  1442,   231,   682, 
     1673    1234,  1567,    98,  1566,  1449,   670,   423,  1275,  1054,  1660, 
     1674    1664,  1661,   269,    98,   232,   233,  1560,  1055,  1421,  1421, 
     1675    1421,  1000,  1247,   725,   234,   123,  1421,  1209,  1237,  1284, 
     1676     639,   363,  1065,    92,    93,  1464,    95,   235,  1421,  1421, 
     1677      42,   236,   237,  1714,  1403,   105,  1665,  1219,   705,  1135, 
     1678     238,   815,  1421,  1253,   825,  1634,  1638,  1523,  1337,  1636, 
     1679     709,  1518,   826,  1639,   712,   690,   824,   689,   456,   691, 
     1680     693,  1036,  1071,   692,  1018,   719,   830,  1073,  1067,  1675, 
     1681     230,   226,   544,   843,  1541,   844,   650,  1344,   831,   227, 
     1682     228,   925,   744,   746,   568,   833,   757,  1123,  1150,   834, 
     1683     907,  1532,   759,   928,   835,   231,  1160,  1169,  1535,   836, 
     1684     105,  1176,  1570,   636,   838,  1694,  1140,   839,   226,   789, 
     1685     840,   232,   233,  1138,   579,  1348,   227,   228,   803,   149, 
     1686    1699,   234,    98,  1711,   710,   467,   986,   805,   978,   939, 
     1687      92,    93,   841,    95,   235,   813,  1386,    42,   236,   237, 
     1688     816,    61,  1385,  1388,  1547,  1318,     0,   238,     0,     0, 
     1689       0,   963,     0,     0,     0,     0,     0,     0,     0,   856, 
     1690       0,   538,     0,     0,     0,   105,  1722,     0,   123,  1724, 
     1691       0,     0,     0,  1254,   987,     0,     0,     0,     0,     0, 
     1692     226,     0,  1732,     0,   230,     0,     0,    98,   227,   228, 
     1693       0,     0,     0,     0,     0,     0,  1151,  1689,     0,     0, 
     1694       0,     0,     0,     0,     0,     0,     0,     0,     0,   231, 
     1695       0,     0,     0,     0,     0,     0,     0,   123,     0,     0, 
     1696     937,   230,     0,   538,   538,   232,   233,   299,  1594,     0, 
     1697       0,   945,     0,     0,   226,   234,     0,     0,     0,     0, 
     1698     962,     0,   227,   228,    92,    93,   231,    95,   235,     0, 
     1699       0,    42,   236,   237,     0,     0,     0,     0,     0,     0, 
     1700       0,   238,   232,   233,     0,     0,     0,     0,     0,     0, 
     1701       0,     0,   234,     0,     0,     0,  1406,     0,     0,     0, 
     1702       0,    92,    93,   226,    95,   235,     0,     0,    42,   236, 
     1703     237,   227,   228,   230,     0,     0,     0,     0,   238,  1482, 
     1704    1483,  1484,  1485,  1486,  1487,  1003,  1488,  1489,  1490,  1491, 
     1705    1492,  1493,     0,  1494,  1495,  1496,  1497,  1498,   231,     0, 
     1706       0,     0,     0,     0,     0,     0,     0,     0,  1016,     0, 
     1707    1017,     0,     0,     0,   232,   233,     0,     0,   299,   299, 
     1708     740,     0,     0,     0,   234,  1035,     0,   230,     0,     0, 
     1709       0,  1047,     0,    92,    93,     0,    95,   235,     0,     0, 
     1710      42,   236,   237,     0,  1443,     0,     0,     0,     0,     0, 
     1711     238,   226,   231,     0,     0,     0,     0,     0,     0,   227, 
     1712     228,     0,     0,  1061,     0,     0,     0,     0,   232,   233, 
     1713       0,     0,     0,     0,   299,  1075,   230,  1658,   234,     0, 
     1714    1076,     0,  1079,   299,   226,     0,     0,    92,    93,     0, 
     1715      95,   235,   227,   228,    42,   236,   237,     0,     0,   226, 
     1716       0,   231,     0,     0,   238,     0,     0,   227,   228,     0, 
     1717    1092,     0,  -763,     0,   299,   299,     0,   232,   233,     0, 
     1718       0,  1102,     0,   299,   299,     0,     0,   234,     0,     0, 
     1719       0,     0,     0,     0,     0,     0,    92,    93,     0,    95, 
     1720     235,     0,   538,    42,   236,   237,     0,     0,   299,     0, 
     1721       0,     0,  -763,   238,     0,     0,     0,     0,     0,     0, 
     1722       0,     0,   299,     0,   230,     0,  1139,     0,   680,  1499, 
     1723    1500,     0,  1141,     0,     0,   300,     0,   538,     0,     0, 
     1724       0,     0,     0,     0,     0,   309,     0,     0,  1702,   231, 
     1725       0,     0,     0,     0,     0,   226,     0,   230,     0,     0, 
     1726       0,     0,     0,   227,   228,   232,   233,  1181,     0,     0, 
     1727    1183,  1184,   230,     0,     0,   234,     0,     0,   538,     0, 
     1728       0,     0,   231,     0,    92,    93,     0,    95,   235,     0, 
     1729       0,    42,   236,   237,     0,     0,     0,   231,   232,   233, 
     1730       0,   238,     0,     0,     0,     0,   299,     0,   234,     0, 
     1731       0,     0,     0,   232,   233,     0,     0,    92,    93,     0, 
     1732      95,   235,     0,   234,    42,   236,   237,     0,     0,     0, 
     1733       0,     0,    92,    93,   238,    95,   235,     0,     0,   339, 
     1734     236,   237,     0,     0,     0,  -763,     0,     0,     0,   238, 
     1735       0,     0,     0,  1262,     0,     0,  1263,     0,     0,     0, 
     1736       0,     0,     0,     0,     0,     0,     0,  1271,   230,  1272, 
     1737       0,     0,     0,     0,  1276,     0,     0,     0,     0,     0, 
     1738       0,  1282,  1283,   342,     0,     0,     0,     0,     0,  1717, 
     1739       0,     0,     0,   231,   361,     0,   226,     0,     0,     0, 
     1740    1291,  1293,     0,     0,   227,   228,     0,   299,     0,   232, 
     1741     233,     0,     0,     0,  1322,     0,  1324,     0,     0,   234, 
     1742       0,     0,     0,     0,     0,     0,     0,  1332,    92,    93, 
     1743       0,    95,   235,     0,     0,    42,   236,   237,     0,     0, 
     1744       0,   299,     0,     0,     0,   238,     0,     0,     0,     0, 
     1745       0,     0,     0,     0,     0,     0,     0,   410,   299,   540, 
     1746       0,     0,     0,   419,   299,   299,   299,   299,  1611,   299, 
     1747       0,   299,   299,     0,   226,     0,     0,     0,   410,     0, 
     1748       0,     0,   227,   228,  1367,  1612,     0,     0,  1369,     0, 
     1749       0,     0,  1372,     0,  1375,  1377,     0,     0,     0,     0, 
     1750       0,     0,     0,     0,   123,  1383,     0,     0,     0,   230, 
     1751       0,     0,     0,   227,   228,     0,   538,     0,   299,   299, 
     1752       0,   627,   627,     0,     0,     0,     0,     0,     0,     0, 
     1753       0,   507,   510,  1398,   231,     0,     0,     0,     0,     0, 
     1754    1404,     0,     0,  1423,   541,     0,  1426,   552,     0,     0, 
     1755     232,   233,     0,     0,     0,     0,     0,     0,     0,     0, 
     1756     234,     0,     0,   580,   582,     0,     0,     0,     0,    92, 
     1757      93,  1433,    95,   235,     0,     0,    42,   236,   237,   593, 
     1758       0,     0,   593,     0,     0,     0,   238,   230,     0,   740, 
     1759       0,     0,   538,   740,     0,     0,     0,     0,     0,     0, 
     1760       0,     0,     0,     0,   615,     0,   361,   361,   507,     0, 
     1761       0,  1616,   231,  1465,     0,  1466,     0,   226,   230,     0, 
     1762       0,     0,     0,     0,     0,   227,   228,     0,   232,   233, 
     1763       0,   671,     0,     0,     0,     0,   300,   300,   234,     0, 
     1764       0,     0,     0,   231,     0,     0,  1505,    92,    93,     0, 
     1765      95,   235,  1509,     0,    42,   236,   237,   299,     0,   232, 
     1766     233,     0,     0,     0,   238,     0,     0,     0,  1520,   234, 
     1767     123,     0,  1522,     0,     0,     0,     0,     0,    92,    93, 
     1768       0,    95,   235,     0,     0,    42,   236,   237,     0,  1533, 
     1769       0,  1534,   811,     0,  1536,   238,  1538,  1539,     0,  1540, 
     1770       0,     0,     0,     0,     0,     0,     0,   299,     0,     0, 
     1771    1543,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1772       0,     0,  1618,     0,   743,     0,     0,   755,   226,     0, 
     1773     230,     0,   895,   898,   299,     0,   227,   228,   299,   762, 
     1774       0,   895,   898,     0,     0,     0,     0,     0,     0,     0, 
     1775       0,     0,     0,     0,     0,   231,     0,     0,   299,     0, 
     1776     627,     0,     0,  1572,     0,     0,   895,     0,   538,   538, 
     1777       0,   232,   233,     0,   226,     0,     0,     0,     0,     0, 
     1778     309,   234,   227,   228,     0,     0,     0,     0,     0,     0, 
     1779      92,    93,     0,    95,   235,   951,     0,    42,   236,   237, 
     1780       0,     0,     0,     0,     0,     0,     0,   238,     0,     0, 
     1781       0,     0,   879,     0,   880,   881,   882,   883,     0,   884, 
     1782       0,   885,   886,     0,     0,     0,     0,  1621,   887,     0, 
     1783     888,     0,   889,  1631,     0,     0,   951,     0,  1635,     0, 
     1784       0,   230,     0,     0,     0,     0,   507,     0,     0,  1640, 
     1785    1641,  1642,     0,     0,     0,     0,     0,     0,     0,     0, 
     1786    1645,     0,     0,     0,   300,     0,   231,     0,  1647,     0, 
     1787    1649,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1788     952,     0,   232,   233,     0,     0,     0,   230,     0,     0, 
     1789       0,     0,   234,     0,     0,     0,     0,     0,     0,   410, 
     1790       0,    92,    93,     0,    95,   235,     0,     0,    42,   236, 
     1791     237,     0,   231,     0,     0,     0,   299,     0,   238,     0, 
     1792       0,   952,     0,     0,     0,     0,     0,     0,   232,   233, 
     1793       0,     0,   984,   299,   985,     0,     0,     0,   234,     0, 
     1794       0,     0,     0,  1685,     0,     0,     0,    92,    93,     0, 
     1795      95,   235,     0,   299,    42,   236,   237,     0,     0,     0, 
     1796    1688,   299,     0,     0,   238,   309,     0,     0,     0,     0, 
     1797       0,  1691,     0,     0,  1019,     0,  1021,     0,     0,     0, 
     1798       0,     0,     0,     0,  1029,     0,     0,  1034,  -225,  -225, 
     1799    -225,     0,  -225,     0,  -225,  -225,  -225,  -225,  -225,  -225, 
     1800    -225,  -225,  -225,  -225,  -225,  -225,  -225,     0,     0,  1710, 
     1801       0,     0,  1712,   538,   538,     0,   895,     0,     0,     0, 
     1802       0,     0,   895,   898,   898,   895,     0,  1130,     0,   895, 
     1803    1130,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1804       0,  1587,     0,     0,     0,     0,  -225,     0,     0,     0, 
     1805     299,     0,   -88,   -88,   -88,     0,   -88,     0,   -88,   -88, 
     1806     -88,   -88,   -88,   -88,   -88,   -88,   -88,   -88,   -88,   -88, 
     1807     -88,     0,  1090,     0,   627,     0,  1164,  1164,     0,     0, 
     1808       0,     0,     0,     0,     0,     0,   123,     0,     0,     0, 
     1809       0,     0,   507,   507,   507,   507,   299,     0,     0,     0, 
     1810     507,     0,     0,     0,     0,   507,     0,   299,     0,   226, 
     1811     -88,     0,     0,     0,     0,     0,     0,   227,   228,     0, 
    13671812       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    13681813       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1814    1145,     0,     0,  -225,  -225,  -225,  -225,   866,     0,     0, 
     1815    1243,   867,   868,   869,   870,   871,   872,     0,     0,   361, 
     1816    1029,  1587,     0,   873,   874,   875,   580,     0,     0,  1177, 
     1817       0,     0,     0,     0,  -225,     0,     0,  -225,  -225,  -225, 
     1818     226,     0,   412,     0,     0,     0,     0,     0,   227,   228, 
     1819     617,     0,     0,     0,     0,     0,     0,   410,     0,     0, 
     1820       0,     0,     0,     0,     0,  1207,     0,   -88,   -88,   -88, 
     1821     -88,     0,     0,     0,     0,   811,     0,     0,     0,   618, 
     1822       0,     0,   230,     0,     0,     0,   123,   619,     0,   620, 
     1823     621,   622,   623,     0,   624,  1244,   625,     0,   -88,   -88, 
     1824       0,   -88,   -88,   -88,  1249,   -88,     0,   231,  1252,   755, 
     1825       0,  1255,  1256,     0,  1257,     0,     0,     0,     0,     0, 
     1826       0,     0,   226,   232,   233,   898,     0,     0,     0,     0, 
     1827     227,   228,   504,   234,     0,     0,     0,     0,     0,     0, 
     1828       0,     0,    92,    93,     0,    95,   235,     0,     0,    42, 
     1829     236,   237,   309,   230,     0,     0,   895,     0,     0,   238, 
     1830       0,     0,     0,     0,     0,     0,   580,     0,     0,  1317, 
     1831       0,     0,  1319,     0,     0,     0,     0,     0,   231,     0, 
     1832       0,     0,     0,     0,     0,     0,   951,   951,     0,     0, 
     1833       0,     0,     0,     0,   232,   233,    89,     0,     0,     0, 
     1834       0,     0,   507,   226,   234,     0,     0,     0,     0,     0, 
     1835       0,   227,   228,    92,    93,     0,    95,   235,     0,     0, 
     1836     626,   505,   237,     0,     0,     0,     0,     0,     0,     0, 
     1837     238,     0,     0,     0,     0,   230,     0,     0,     0,     0, 
     1838       0,   879,     0,   880,     0,   882,   883,     0,   884,  1029, 
     1839     885,   886,     0,     0,     0,     0,     0,   887,     0,   888, 
     1840     231,   889,  1177,     0,     0,     0,     0,     0,     0,     0, 
     1841       0,   952,   952,     0,     0,  1295,   232,   233,    89,     0, 
     1842       0,     0,     0,  1296,  1297,     0,   234,     0,     0,     0, 
     1843       0,     0,     0,     0,     0,    92,    93,     0,    95,   235, 
     1844       0,  1402,    42,   505,   237,   226,     0,     0,  1298,     0, 
     1845       0,     0,   238,   227,   228,     0,   230,     0,     0,     0, 
     1846       0,     0,   598,     0,     0,     0,     0,     0,     0,   599, 
     1847       0,   600,   601,     0,   898,     0,  1434,     0,     0,     0, 
     1848    1436,   231,     0,     0,     0,     0,     0,  1029,     0,     0, 
     1849       0,   898,   589,     0,     0,     0,     0,   232,   233,   590, 
     1850       0,   591,   592,     0,     0,     0,     0,   234,     0,     0, 
     1851       0,  1164,     0,  1299,     0,     0,    92,    93,     0,    95, 
     1852     235,  1468,     0,    42,   236,   237,     0,     0,   230,     0, 
     1853       0,     0,     0,   238,     0,  1471,     0,     0,     0,     0, 
    13691854       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1370        0,     0,     0,     0,     0,  1034,   390,   391,   161,     0, 
    1371        0,     0,     0,     0,     0,   162,     0,   472,   722,     0, 
    1372        0,   163,   164,     0,   132,   390,   391,   165,     0,     0, 
    1373        0,     0,   133,   134,   474,     0,   166,   167,     0,   168, 
    1374      169,     0,     0,   170,   171,   172,   135,   136,     0,     0, 
    1375        0,     0,   137,   138,   139,   140,   141,     0,     0,     0, 
    1376        0,     0,     0,     0,     0,     0,     0,   142,   143,   144, 
    1377      145,   146,   147,   148,     0,   149,   150,   151,     0,     0, 
    1378      152,   153,   154,     0,   155,   156,   157,   158,   159,     0, 
    1379      160,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1855       0,     0,     0,   231,     0,     0,     0,     0,   230,  1300, 
     1856       0,     0,     0,     0,     0,     0,     0,     0,     0,  1301, 
     1857    1302,  1243,  1243,  1029,     0,     0,     0,     0,     0,   234, 
     1858       0,     0,     0,   231,     0,  1529,     0,   507,  1303,  1304, 
     1859       0,  1305,  1306,   226,     0,    42,  1307,   237,     0,   232, 
     1860     233,   227,   228,     0,     0,   238,  1177,     0,  1177,   234, 
     1861       0,     0,     0,     0,     0,     0,     0,     0,    92,    93, 
     1862       0,    95,   235,     0,     0,    42,   236,   237,     0,     0, 
     1863       0,     0,     0,   226,     0,   238,     0,     0,     0,     0, 
     1864     598,   227,   228,     0,     0,     0,     0,   599,     0,   600, 
     1865     601,     0,     0,     0,   895,     0,  1244,  1244,     0,     0, 
     1866       0,     0,     0,  1568,  1029,   895,     0,     0,     0,     0, 
     1867       0,     0,     0,     0,     0,     0,     0,     0,     0,  1152, 
     1868    1153,     0,     0,  1207,     0,     0,   226,  1154,     0,  1155, 
     1869       0,     0,     0,     0,   227,   228,     0,     0,     0,     4, 
     1870       0,     0,     0,     0,     0,     0,   230,     0,  1596,  1597, 
     1871    1598,  1599,  1600,  1601,  1602,  1603,  1604,  1605,  1606,  1607, 
     1872    1608,  1609,  1610,  1614,  1615,  1617,  1619,     0,     0,     0, 
     1873       0,   231,     0,   226,     0,     0,     0,     0,     0,     8, 
     1874       0,   227,   228,     0,   226,     0,   230,   232,   233,     0, 
     1875       0,     0,   227,   228,   924,     0,     0,   234,     0,     0, 
     1876       0,     0,     0,     0,     0,     0,    92,    93,     0,    95, 
     1877     235,   231,     0,    42,   236,   237,     0,     0,  1653,     0, 
     1878       0,     0,     0,   238,     0,     0,     0,   232,   233,     0, 
     1879       0,     0,     0,     0,     0,     0,     0,   234,     0,   230, 
     1880       0,     0,     0,  1207,     0,     0,    92,    93,     0,    95, 
     1881     235,     0,     0,    42,   236,   237,   397,   226,     0,     0, 
     1882    1680,     0,     0,   238,   231,   227,   228,     0,     0,     0, 
     1883       0,     0,     0,     0,     0,     0,     0,  1681,  1682,     0, 
     1884     232,   233,  1683,     0,  1684,     0,   230,     0,     0,     0, 
     1885     234,     0,     0,     0,     0,     0,     0,   230,     0,    92, 
     1886      93,     0,    95,   235,     0,   226,    42,   236,   237,     0, 
     1887       0,   231,    12,   227,   228,  1251,   238,     0,     0,     0, 
     1888       0,     0,   231,     0,     0,     0,     0,   232,   233,     0, 
     1889       0,     0,     0,     0,     0,   226,     0,   234,   232,   233, 
     1890       0,     0,  1706,   227,   228,  -393,    92,    93,   234,    95, 
     1891     235,     0,     0,    42,   236,   237,     0,    92,    93,     0, 
     1892      95,   235,     0,   238,    42,   236,   237,   226,  1718,     0, 
     1893     230,     0,     0,     0,   238,   227,   228,     0,     0,     0, 
     1894       0,     0,     0,  1725,     0,  1706,  1728,     0,     0,     0, 
     1895       0,   226,  1730,     0,     0,   231,     0,  1733,     0,   227, 
     1896     228,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1897       0,   232,   233,     0,     0,   226,     0,     0,   230,     0, 
     1898       0,   234,     0,   227,   228,     0,     0,     0,     0,     0, 
     1899      92,    93,     0,    95,   235,     0,     0,   537,   236,   237, 
     1900    1238,     0,     0,   231,     0,   226,     0,   238,   230,     0, 
     1901       0,     0,     0,   227,   228,     0,     0,     0,     0,   232, 
     1902     233,     0,     0,     0,     0,     0,     0,     0,     0,   234, 
     1903       0,     0,     0,   231,     0,     0,     0,     0,    92,    93, 
     1904     230,    95,   235,     0,     0,    42,   236,   237,     0,   232, 
     1905     233,     0,     0,   226,     0,   238,     0,     0,     0,   234, 
     1906       0,   227,   228,     0,   230,   231,     0,     0,    92,    93, 
     1907       0,    95,   235,     0,     0,    42,   236,   237,     0,     0, 
     1908       0,   232,   233,     0,   226,   238,     0,     0,   230,   231, 
     1909       0,   234,   227,   228,     0,     0,     0,     0,     0,     0, 
     1910      92,    93,     0,    95,   235,   232,   233,    42,   236,   353, 
     1911       0,     0,     0,   231,     0,   234,     0,   238,   230,     0, 
     1912       0,     0,     0,     0,    92,    93,     0,    95,   235,   232, 
     1913     233,    42,   236,   356,     0,     0,     0,   226,     0,   234, 
     1914       0,   238,     0,   231,     0,   227,   228,     0,    92,    93, 
     1915       0,    95,   235,     0,     0,    42,   236,   405,     0,   232, 
     1916     233,     0,     0,     0,     0,   238,   230,     0,     0,   234, 
     1917       0,     0,     0,     0,     0,     0,     0,     0,    92,    93, 
     1918       0,    95,   235,     0,     0,    42,   236,   237,     0,     0, 
     1919       0,   231,     0,     0,     0,   238,     0,   230,     0,     0, 
     1920       0,     0,     0,     0,     0,     0,     0,   232,   233,     0, 
     1921       0,     0,     0,     0,     0,     0,     0,   234,     0,     0, 
     1922       0,    79,   231,     0,     0,     0,    92,    93,    80,    95, 
     1923     235,     0,     0,   537,   236,   237,     0,     0,   232,   233, 
     1924       0,     0,     0,   238,     0,     0,     0,     0,   234,     0, 
     1925     230,     0,     0,     0,     0,     0,     0,    92,    93,     0, 
     1926      95,   235,     0,     0,    42,   236,  1028,     0,     0,     0, 
     1927       0,     0,     0,     0,   238,   231,     0,     0,    81,     0, 
     1928       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1929       0,   232,   233,     0,     0,    82,    83,     0,     0,     0, 
     1930       0,   234,     0,     0,     0,     0,     0,    84,     0,     0, 
     1931      92,    93,     0,    95,   235,     0,     0,  1081,  1082,  1083, 
     1932       0,     0,     0,     0,     0,     0,  -448,   238,    85,    80, 
     1933      86,    87,     0,     0,     0,   155,  -461,     0,  -474,     0, 
     1934       0,     0,     0,    88,  -706,   156,     0,     0,     0,     0, 
     1935       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1936       0,     0,     0,    89,     0,     0,    90,    91,  -333,     0, 
     1937       0,  -333,  -333,  -333,  -333,   157,     0,     0,     0,  -333, 
     1938      92,    93,    94,    95,     0,  -333,     0,    96,    97,     0, 
     1939     158,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1940       0,  -706,  -706,  -706,     0,   159,     0,    80,    84,     0, 
     1941    -706,     0,   160,   155,     0,   161,   162,     0,   163,     0, 
     1942       0,   164,     0,   156,   165,   166,   167,     0,  -706,     0, 
     1943      80,     0,     0,     0,     0,     0,   155,     0,     0,     0, 
     1944       0,     0,     0,     0,     0,     0,   156,     0,     0,     0, 
     1945     168,     0,     0,   157,     0,     0,     0,     0,     0,     0, 
     1946       0,     0,     0,     0,    89,  -706,  -706,    90,   158,     0, 
     1947       0,     0,     0,     0,     0,     0,   157,     0,     0,     0, 
     1948       0,    92,    93,   159,    95,     0,    84,  -128,   169,    97, 
     1949     160,   158,     0,   161,   162,     0,   163,     0,     0,   164, 
     1950       0,     0,   165,   166,   167,     0,   159,     0,     0,    84, 
     1951    -129,     0,     0,   160,   155,     0,   161,   162,     0,   163, 
     1952       0,     0,   164,     0,   156,   165,   166,   167,   168,     0, 
     1953       0,     0,     0,     0,     0,     0,     0,   820,     0,     0, 
     1954       0,     0,    89,     0,     0,    90,     0,     0,     0,     0, 
     1955       0,   168,     0,     0,   157,     0,     0,  -128,     0,    92, 
     1956      93,     0,    95,     0,     0,    89,   169,    97,    90,   158, 
     1957       0,     0,     0,     0,     0,     0,     0,   157,     0,     0, 
     1958    -129,     0,    92,    93,   159,    95,     0,    84,  -125,   169, 
     1959      97,   160,   158,     0,   161,   162,     0,   163,     0,     0, 
     1960     164,     0,  1033,   165,   166,   167,     0,   159,     0,     0, 
     1961       0,     0,     0,     0,   160,   820,     0,   161,   162,     0, 
     1962     163,     0,     0,   164,     0,     0,   165,   166,   167,   168, 
     1963       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1964       0,     0,     0,    89,     0,     0,    90,     0,     0,     0, 
     1965       0,     0,   168,     0,     0,   157,     0,     0,  -125,     0, 
     1966      92,    93,     0,    95,     0,     0,    89,   169,    97,     0, 
     1967     158,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1968       0,     0,     0,    92,    93,   159,    95,     0,     0,     0, 
     1969      42,    97,   160,     0,     0,   161,   162,     0,   163,     0, 
     1970       0,   164,     0,     0,   165,   166,   167,     0,     0,     0, 
    13801971       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    13811972       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1382        0,     0,     0,     0,     0,     0,   472,     0,     0,     0, 
    1383        0,     0,     0,   132,     0,     0,     0,     0,   161,     0, 
    1384        0,   133,   134,   474,     0,   162,     0,     0,     0,     0, 
    1385        0,   163,   164,     0,     0,   135,   136,   165,     0,     0, 
    1386        0,   137,   138,   139,   140,   141,   166,   167,     0,   168, 
    1387      169,     0,     0,   170,   171,   172,   142,   143,   144,   145, 
    1388      146,   147,   148,     0,   149,   150,   151,     0,     0,   152, 
    1389      153,   154,     0,   155,   156,   157,   158,   159,     0,   160, 
     1973     168,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1974       0,     0,     0,     0,    89,     0,     0,     0,     0,     0, 
    13901975       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1391        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1392        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1393        0,     0,     0,     0,     0,   472,     0,     0,     0,     0, 
    1394        0,     0,   132,     0,     0,     0,     0,   161,     0,     0, 
    1395      133,   134,   474,     0,   162,     0,     0,     0,     0,     0, 
    1396      163,   164,     0,     0,   135,   136,   165,     0,     0,     0, 
    1397      137,   138,   139,   140,   141,   166,   167,     0,   168,   169, 
    1398        0,     0,   527,   171,   172,   142,   143,   144,   145,   146, 
    1399      147,   148,     0,   149,   150,   151,     0,     0,   152,   153, 
    1400      154,     0,   155,   156,   157,   158,   159,     0,   160,     0, 
    1401        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1402        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1403        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1404        0,     0,     0,     0,   703,     0,     0,     0,     0,     0, 
    1405        0,   132,     0,     0,     0,     0,   161,     0,     0,   133, 
    1406      134,   704,     0,   162,     0,     0,     0,     0,     0,   163, 
    1407      164,     0,     0,   135,   136,   165,     0,     0,     0,   137, 
    1408      138,   139,   140,   141,   166,   167,     0,   168,   169,     0, 
    1409        0,   170,   171,   172,   142,   143,   144,   145,   146,   147, 
    1410      148,     0,   149,   150,   151,     0,     0,   152,   153,   154, 
    1411        0,   155,   156,   157,   158,   159,     0,   160,     0,     0, 
    1412        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1413        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1414        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1415        0,     0,     0,   815,     0,     0,     0,     0,     0,     0, 
    1416      132,     0,     0,     0,     0,   161,     0,     0,   133,   134, 
    1417        0,     0,   162,     0,     0,     0,     0,     0,   163,   164, 
    1418        0,     0,   135,   136,   165,     0,     0,     0,   137,   138, 
    1419      139,   140,   141,   166,   167,     0,   168,   169,     0,     0, 
    1420      170,   171,   172,   142,   143,   144,   145,   146,   147,   148, 
    1421        0,   149,   150,   151,     0,     0,   152,   153,   154,     0, 
    1422      155,   156,   157,   158,   159,     0,   160,     0,     0,     0, 
    1423        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1424        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1425        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1426        0,     0,   905,     0,     0,     0,     0,     0,     0,   132, 
    1427        0,     0,     0,     0,   161,     0,     0,   133,   134,     0, 
    1428        0,   162,     0,     0,     0,     0,     0,   163,   164,     0, 
    1429        0,   135,   136,   165,     0,     0,     0,   137,   138,   139, 
    1430      140,   141,   166,   167,     0,   168,   169,     0,     0,   170, 
    1431      171,   172,   142,   143,   144,   145,   146,   147,   148,     0, 
    1432      149,   150,   151,     0,     0,   152,   153,   154,     0,   155, 
    1433      156,   157,   158,   159,     0,   160,     0,     0,     0,     0, 
    1434        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1436        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1437        0,   925,     0,     0,     0,     0,     0,     0,   132,     0, 
    1438        0,     0,     0,   161,     0,     0,   133,   134,     0,     0, 
    1439      162,     0,     0,     0,     0,     0,   163,   164,     0,     0, 
    1440      135,   136,   165,     0,     0,     0,   137,   138,   139,   140, 
    1441      141,   166,   167,     0,   168,   169,     0,     0,   170,   171, 
    1442      172,   142,   143,   144,   145,   146,   147,   148,     0,   149, 
    1443      150,   151,     0,     0,   152,   153,   154,     0,   155,   156, 
    1444      157,   158,   159,     0,   160,     0,     0,     0,     0,     0, 
    1445        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1446        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1448        0,   633,     0,     0,     0,     0,     0,   132,     0,     0, 
    1449        0,     0,   161,     0,     0,   133,   134,     0,   634,   162, 
    1450        0,     0,     0,     0,     0,   163,   164,     0,     0,   135, 
    1451      136,   165,     0,     0,     0,   137,   138,   139,   140,   141, 
    1452      166,   167,     0,   168,   169,     0,     0,   170,   171,   172, 
    1453      142,   143,   144,   145,   146,   147,   148,     0,   149,   150, 
    1454      151,     0,     0,   152,   153,   154,     0,   155,   156,   157, 
    1455      158,   159,     0,   160,     0,     0,     0,     0,     0,     0, 
    1456        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1458        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1459      616,     0,     0,     0,     0,     0,   132,     0,     0,     0, 
    1460        0,   161,     0,     0,   133,   134,     0,     0,   162,     0, 
    1461        0,     0,     0,     0,   163,   164,     0,     0,   135,   136, 
    1462      165,     0,     0,     0,   137,   138,   139,   140,   141,   166, 
    1463      167,     0,   168,   169,     0,     0,   170,   171,   172,   142, 
    1464      143,   144,   145,   146,   147,   148,     0,   149,   150,   151, 
    1465        0,     0,   152,   153,   154,     0,   155,   156,   157,   158, 
    1466      159,     0,   160,     0,     0,     0,     0,     0,     0,     0, 
    1467        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1468        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1469        0,     0,     0,     0,     0,     0,     0,     0,     0,   638, 
    1470        0,     0,     0,     0,     0,   132,     0,     0,     0,     0, 
    1471      161,     0,     0,   133,   134,     0,     0,   162,     0,     0, 
    1472        0,     0,     0,   163,   164,     0,     0,   135,   136,   165, 
    1473        0,     0,     0,   137,   138,   139,   140,   141,   166,   167, 
    1474        0,   168,   169,     0,     0,   170,   171,   172,   142,   143, 
    1475      144,   145,   146,   147,   148,     0,   149,   150,   151,     0, 
    1476        0,   152,   153,   154,     0,   155,   156,   157,   158,   159, 
    1477        0,   160,     0,     0,     0,     0,     0,     0,     0,     0, 
    1478        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1479        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1480        0,     0,     0,     0,     0,     0,     0,     0,   640,     0, 
    1481        0,     0,     0,     0,   132,     0,     0,     0,     0,   161, 
    1482        0,     0,   133,   134,     0,     0,   162,     0,     0,     0, 
    1483        0,     0,   163,   164,     0,     0,   135,   136,   165,     0, 
    1484        0,     0,   137,   138,   139,   140,   141,   166,   167,     0, 
    1485      168,   169,     0,     0,   170,   171,   172,   142,   143,   144, 
    1486      145,   146,   147,   148,     0,   149,   150,   151,     0,     0, 
    1487      152,   153,   154,     0,   155,   156,   157,   158,   159,     0, 
    1488      160,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1489        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1490        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1492        0,     0,     0,   132,     0,     0,     0,     0,   161,     0, 
    1493        0,   133,   134,     0,     0,   162,     0,     0,     0,     0, 
    1494        0,   163,   164,     0,     0,   135,   136,   165,     0,     0, 
    1495        0,   137,   138,   139,   140,   141,   166,   167,     0,   168, 
    1496      169,     0,     0,   170,   171,   172,   142,   143,   144,   145, 
    1497      146,   147,   148,     0,   149,   150,   151,     0,     0,   152, 
    1498      153,   154,     0,   155,   156,   157,   158,   159,     0,   160, 
    1499        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1502        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1503        0,     0,     0,     0,     0,     0,     0,   161,     0,     0, 
    1504        0,     0,     0,     0,   162,     0,     0,     0,     0,     0, 
    1505      163,   164,     0,     0,     0,     0,   165,     0,     0,     0, 
    1506        0,     0,     0,     0,     0,   166,   167,   132,   168,   169, 
    1507        0,     0,   170,   171,   172,   133,   134,   661,   173,   662, 
    1508        0,     0,     0,     0,     0,     0,     0,     0,     0,   135, 
    1509      136,     0,     0,     0,     0,   137,   138,   139,   140,   141, 
    1510        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1511      142,   143,   144,   145,   146,   147,   148,     0,   149,   150, 
    1512      151,     0,     0,   152,   153,   154,     0,   155,   156,   157, 
    1513      158,   159,     0,   160,     0,     0,     0,     0,     0,     0, 
    1514        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1515        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1516        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1517        0,     0,     0,     0,     0,     0,   132,     0,     0,     0, 
    1518        0,   161,     0,     0,   133,   134,   549,     0,   162,     0, 
    1519        0,     0,     0,     0,   163,   164,     0,     0,   135,   136, 
    1520      165,     0,     0,     0,   137,   138,   139,   140,   141,   166, 
    1521      167,     0,   168,   169,     0,     0,   170,   171,   663,   142, 
    1522      143,   144,   145,   146,   147,   148,     0,   149,   150,   151, 
    1523        0,     0,   152,   153,   154,     0,   155,   156,   157,   158, 
    1524      159,     0,   160,     0,     0,     0,     0,     0,     0,     0, 
    1525        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1526        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1527        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1528        0,     0,     0,     0,     0,   132,     0,     0,     0,     0, 
    1529      161,     0,     0,   133,   134,   727,     0,   162,     0,     0, 
    1530        0,     0,     0,   163,   164,     0,     0,   135,   136,   165, 
    1531        0,     0,     0,   137,   138,   139,   140,   141,   166,   167, 
    1532        0,   168,   169,     0,     0,   170,   171,   172,   142,   143, 
    1533      144,   145,   146,   147,   148,     0,   149,   150,   151,     0, 
    1534        0,   152,   153,   154,     0,   155,   156,   157,   158,   159, 
    1535        0,   160,     0,     0,     0,     0,     0,     0,     0,     0, 
    1536        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1538        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1539        0,     0,     0,     0,     0,     0,     0,     0,     0,   161, 
    1540        0,     0,     0,     0,     0,     0,   162,     0,     0,     0, 
    1541        0,     0,   163,   164,     0,   132,     0,     0,   165,     0, 
    1542        0,     0,     0,   133,   134,     0,     0,   166,   167,     0, 
    1543      168,   169,     0,     0,   170,   171,   172,   135,   136,     9, 
    1544        0,     0,     0,   137,   138,   139,   140,   141,     0,     0, 
    1545        0,     0,     0,     0,     0,     0,     0,     0,   142,   143, 
    1546      144,   145,   146,   147,   148,     0,   149,   150,   151,     0, 
    1547        0,   152,   153,   154,     0,   155,   156,   157,   158,   159, 
    1548        0,   160,     0,     0,     0,     0,     0,     0,     0,     0, 
    1549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1550        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1551        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1552        0,     0,     0,     0,   132,     0,     0,     0,     0,   161, 
    1553        0,     0,   133,   134,   704,     0,   162,     0,     0,     0, 
    1554        0,     0,   163,   164,     0,     0,   135,   136,   165,     0, 
    1555        0,     0,   137,   138,   139,   140,   141,   166,   167,     0, 
    1556      168,   169,     0,     0,   170,   171,   172,   142,   143,   144, 
    1557      145,   146,   147,   148,     0,   149,   150,   151,     0,     0, 
    1558      152,   153,   154,     0,   155,   156,   157,   158,   159,     0, 
    1559      160,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1560        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1562        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1563        0,     0,     0,   132,     0,     0,     0,     0,   161,     0, 
    1564        0,   133,   134,  1012,     0,   162,     0,     0,     0,     0, 
    1565        0,   163,   164,     0,     0,   135,   136,   165,     0,     0, 
    1566        0,   137,   138,   139,   140,   141,   166,   167,     0,   168, 
    1567      169,     0,     0,   170,   171,   172,   142,   143,   144,   145, 
    1568      146,   147,   148,     0,   149,   150,   151,     0,     0,   152, 
    1569      153,   154,     0,   155,   156,   157,   158,   159,     0,   160, 
    1570        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1571        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1572        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1574        0,     0,   132,     0,     0,     0,     0,   161,     0,     0, 
    1575      133,   134,     0,     0,   162,     0,     0,     0,     0,     0, 
    1576      163,   164,     0,     0,   135,   136,   165,     0,     0,     0, 
    1577      137,   138,   139,   140,   141,   166,   167,     0,   168,   169, 
    1578        0,     0,   170,   171,   172,   142,   143,   144,   145,   146, 
    1579      147,   148,     0,   149,   150,   151,     0,     0,   152,   153, 
    1580      154,     0,   155,   156,   157,   158,   159,     0,   160,     0, 
    1581        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1582        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1583        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1584        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1585        0,   132,     0,     0,     0,     0,   161,     0,     0,   133, 
    1586      134,     0,     0,   162,     0,     0,     0,     0,     0,   163, 
    1587      164,     0,     0,   135,   136,   165,     0,     0,     0,   137, 
    1588      138,   139,   140,   141,   166,   167,     0,   168,   169,     0, 
    1589        0,   170,   171,   172,   142,   143,   144,   145,   146,   147, 
    1590      148,     0,   149,   150,   151,     0,     0,   152,   153,   154, 
    1591        0,   155,   156,   157,   158,   159,     0,   160,     0,     0, 
    1592        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1593        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1594        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1595        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1596      132,     0,     0,     0,     0,   161,     0,     0,   133,   134, 
    1597        0,     0,   162,     0,     0,     0,     0,     0,   163,   164, 
    1598        0,     0,   135,   136,   165,     0,     0,     0,   137,   138, 
    1599      139,   140,   141,   166,   167,     0,   168,   169,     0,     0, 
    1600      170,   171,   363,   142,   143,   144,   145,   146,   147,   148, 
    1601        0,   149,   150,   151,     0,     0,   152,   153,   154,     0, 
    1602      155,   156,   157,   158,   159,     0,   160,     0,     0,     0, 
    1603        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1604        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1605        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1606        0,     0,     0,     0,     0,     0,     0,     0,     0,   132, 
    1607        0,     0,     0,     0,   161,     0,     0,   133,   134,     0, 
    1608        0,   162,     0,     0,     0,     0,     0,   163,   164,     0, 
    1609        0,   135,   136,   165,     0,     0,     0,   137,   138,   139, 
    1610      140,   141,   166,   167,     0,   168,   169,     0,     0,   170, 
    1611      431,   172,   142,   143,   144,   145,   146,   147,   148,     0, 
    1612      149,   150,   151,     0,     0,   152,   153,   154,     0,   155, 
    1613      156,   157,   158,   159,     0,   160,     0,     0,     0,     0, 
    1614        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1615        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1616        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1617        0,     0,     0,     0,     0,     0,     0,     0,   132,     0, 
    1618        0,     0,     0,   161,     0,     0,   133,   134,     0,     0, 
    1619      162,     0,     0,     0,     0,     0,   163,   164,     0,     0, 
    1620      135,   136,   165,     0,     0,     0,   137,   138,   139,   140, 
    1621      141,   166,   167,     0,   168,   169,     0,     0,   170,   530, 
    1622      531,   142,   143,   144,   145,   146,   147,   148,     0,   149, 
    1623      150,   151,     0,     0,   152,   153,   154,     0,   155,   156, 
    1624      157,   158,   159,     0,   160,     0,     0,     0,     0,     0, 
    1625        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1627        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1628        0,     0,     0,     0,     0,     0,     0,   132,     0,     0, 
    1629        0,     0,   161,     0,     0,   133,   134,     0,     0,   162, 
    1630        0,     0,     0,     0,     0,   163,   164,     0,     0,   135, 
    1631      136,   165,     0,     0,     0,   137,   138,   139,   140,   141, 
    1632      166,   167,     0,   168,   169,     0,     0,   919,   171,   363, 
    1633      142,   143,   144,   145,   146,   147,   148,     0,   149,   150, 
    1634      151,     0,     0,   152,   153,   154,     0,   155,   156,   157, 
    1635      158,   159,     0,   160,     0,     0,     0,     0,     0,     0, 
    1636        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1637        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1638        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1639        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1640        0,   161,     0,     0,     0,     0,     0,     0,   162,     0, 
    1641        0,     0,     0,     0,   163,   164,     0,     0,     0,     0, 
    1642      165,     0,     0,     0,     0,     0,     0,     0,     0,   166, 
    1643      167,     0,   168,   169,     0,     0,   170,   171,   956,   311, 
    1644      312,   422,     0,   423,     0,     0,     0,     0,     0,     0, 
    1645        0,     0,     0,   135,   136,     0,     0,     0,     0,   137, 
    1646      138,   139,   140,   141,     0,     0,   314,   315,   316,   317, 
    1647      318,     0,   319,   320,   142,   143,   144,   145,   146,   147, 
    1648      148,     0,   149,   150,   151,     0,     0,   152,   153,   154, 
    1649        0,   155,   156,   157,   158,   159,     0,   160,     0,     0, 
    1650        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1651        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1652        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1653        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1654        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1655        0,     0,   162,     0,     0,     0,     0,     0,   163,   164, 
    1656        0,     0,     0,     0,   165,     0,     0,     0,     0,   311, 
    1657      312,   313,     0,   166,   167,     0,   168,   169,     0,     0, 
    1658      321,   171,   424,   135,   136,     0,     0,     0,     0,   137, 
    1659      138,   139,   140,   141,     0,     0,   314,   315,   316,   317, 
    1660      318,     0,   319,   320,   142,   143,   144,   145,   146,   147, 
    1661      148,     0,   149,   150,   151,   311,   312,   152,   153,   154, 
    1662        0,   155,   156,   157,   158,   159,     0,   160,     0,   135, 
    1663      136,     0,     0,     0,     0,   137,   138,   139,   140,   141, 
    1664        0,     0,   314,   315,   316,   317,   318,     0,   319,   320, 
    1665      142,   143,   144,   145,   146,   147,   148,     0,   149,   150, 
    1666      151,     0,     0,   152,   153,   154,     0,   155,   156,   157, 
    1667      158,   159,     0,   160,     0,     0,     0,     0,     0,     0, 
    1668        0,     0,   162,     0,     0,     0,     0,     0,   163,   164, 
    1669        0,     0,     0,     0,   165,     0,     0,     0,     0,     0, 
    1670        0,     0,     0,   166,   167,     0,   168,   169,     0,     0, 
    1671      321,   171,   322,     0,     0,     0,     0,     0,     0,     5, 
    1672        0,     0,     6,     0,     7,     0,     8,     0,   162,     9, 
    1673        0,     0,     0,     0,   163,   164,     0,     0,     0,    10, 
    1674      165,     0,     0,     0,     0,     0,     0,     0,     0,   166, 
    1675      167,     0,   168,   169,     0,    11,   321,   171,   424,    12, 
    1676       13,     0,     0,     0,    14,     0,     0,     0,     0,     0, 
    1677       15,     0,    16,    17,     0,    18,     0,     0,     0,     0, 
    1678       19,    20,    21,    22,    23,     0,    24,    25,     0,     0, 
    1679       26,    27,    28,    29,    30,    31,    32,    33,    34,    35, 
    1680       36,     0,    37,     0,    38,    39,     0,     0,    40,    41, 
    1681       42,     0,    43,     0,    44,     0,     0,    45,    46,     0, 
    1682        0,    47,    48,    49,     0,     0,     0,     0,     0,     0, 
    1683        0,    50,     0,     0,     0,    52,    53,    54,    55,    56, 
    1684       57,    58,    59,    60,    61,    62,    63,     0,     0,    64, 
    1685        0,     0,    65,    66,    67,    68,     5,     0,     0,     6, 
    1686      488,     7,     0,     8,     0,     0,     9,     0,     0,     0, 
    1687        0,     0,     0,     0,     0,     0,    10,     0,     0,     0, 
    1688        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1689        0,     0,    11,     0,     0,     0,    12,    13,     0,     0, 
    1690        0,    14,     0,     0,     0,     0,     0,    15,     0,    16, 
    1691       17,     0,    18,     0,     0,     0,     0,    19,    20,    21, 
    1692       22,    23,     0,    24,    25,     0,     0,    26,    27,    28, 
    1693       29,    30,    31,    32,    33,    34,    35,    36,     0,    37, 
    1694        0,    38,    39,     0,     0,    40,    41,    42,     0,    43, 
    1695        0,    44,     0,     0,    45,    46,     0,     0,    47,    48, 
    1696       49,     0,     0,     0,     0,     0,     0,     0,    50,     0, 
    1697        0,     0,    52,    53,    54,    55,    56,    57,    58,    59, 
    1698       60,    61,    62,    63,     0,     0,    64,   135,   136,    65, 
    1699       66,    67,    68,   137,   138,   139,   140,   141,     0,     0, 
    1700        0,     0,     0,     0,     0,     0,     0,     0,   142,   143, 
    1701      144,   145,   146,   147,   148,     0,   149,   150,   151,     0, 
    1702        0,   152,   153,   154,     0,   155,   156,   157,   158,   159, 
    1703        0,   160,   135,   136,     0,     0,     0,     0,   137,   138, 
    1704      139,   140,   141,     0,     0,     0,     0,     0,     0,     0, 
    1705        0,     0,     0,   142,   143,   144,   145,   146,   147,   148, 
    1706        0,   149,   150,   151,     0,     0,   152,   153,   154,     0, 
    1707      155,   156,   157,   158,   159,     0,   160,     0,     0,     0, 
    1708        0,     0,     0,     0,     0,     0,   162,     0,     0,     0, 
    1709        0,     0,   163,   164,     0,     0,     0,     0,   165,     0, 
    1710        0,     0,     0,     0,     0,     0,     0,   166,   167,     0, 
    1711      168,   169,     0,     0,   170,   171,   563,     0,     0,     8, 
    1712        0,     0,     9,     0,     0,     0,     0,     0,     0,     0, 
    1713        0,   162,    10,     0,     0,     0,     0,   163,   164,     0, 
    1714        0,     0,     0,   165,     0,     0,     0,     0,    11,     0, 
    1715        0,     0,   166,   167,     0,   168,   169,     0,     0,   919, 
    1716      171,   563,     0,    15,     0,     0,     0,     0,    18,     0, 
    1717      747,     0,     0,    19,    20,    21,    22,    23,     0,     0, 
    1718       25,     0,     0,    26,    27,    28,    29,    30,    31,    32, 
    1719       33,    34,    35,     0,     0,     8,     0,     0,     9,     0, 
    1720        0,     0,    41,     0,     0,     0,     0,    44,    10,     0, 
    1721        0,     0,     0,     0,    47,     0,    49,     0,     0,     0, 
    1722        0,     0,     0,     0,    11,     0,     0,     0,     0,     0, 
    1723        0,     0,     0,     0,     0,    59,    60,    61,    62,    15, 
    1724        0,     0,     0,     0,    18,     0,     0,    67,    68,    19, 
    1725       20,    21,    22,    23,     0,     0,    25,     0,     0,    26, 
    1726       27,    28,    29,    30,    31,    32,    33,    34,    35,     0, 
    1727        0,     0,     0,     0,   826,     0,     0,     0,    41,     0, 
    1728        0,     0,     0,    44,     0,     0,     0,     0,     0,     0, 
    1729       47,     0,    49,     0,     0,     0,     0,     0,     0,     0, 
    1730       11,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1731        0,    59,    60,    61,    62,    15,     0,     0,     0,     0, 
    1732       18,   827,     0,    67,    68,    19,    20,   828,     0,    23, 
    1733        0,     0,    25,     0,     0,    26,    27,    28,    29,    30, 
    1734       31,    32,    33,    34,    35,     0,     0,     0,     0,     0, 
    1735      826,     0,     0,     0,    41,     0,     0,     0,     0,    44, 
    1736        0,     0,     0,     0,     0,     0,    47,     0,    49,     0, 
    1737        0,     0,     0,     0,     0,     0,    11,     0,     0,     0, 
    1738        0,     0,     0,     0,     0,     0,     0,    59,    60,    61, 
    1739       62,    15,     0,     0,     0,     0,    18,     0,     0,   170, 
    1740       68,    19,    20,   828,     0,    23,     0,     0,    25,     0, 
    1741        0,    26,    27,    28,    29,    30,    31,    32,    33,    34, 
    1742       35,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1743       41,     0,     0,     0,     0,    44,     0,     0,     0,     0, 
    1744        0,     0,    47,     0,    49,     0,     0,     0,     0,     0, 
    1745        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
    1746        0,     0,     0,    59,    60,    61,    62,     0,     0,     0, 
    1747        0,     0,     0,     0,     0,   170,    68 
     1976       0,    92,    93,     0,    95,     0,     0,     0,    42,    97 
    17481977}; 
    17491978 
    17501979static const yytype_int16 yycheck[] = 
    17511980{ 
    1752       11,   295,     1,   185,    15,   101,   240,    18,   104,   578, 
    1753      205,   161,   108,   394,   277,   111,   537,   264,   478,   483, 
    1754      219,   268,   172,   483,   537,   395,   654,   124,    54,     1, 
    1755       17,   565,   566,   161,   564,   565,   566,     3,   274,   711, 
    1756       39,     5,   140,   723,   142,     3,   124,   748,   720,     3, 
    1757       37,    38,    51,     3,   124,   291,    18,     3,    80,   157, 
    1758       22,     3,    75,    76,   214,    87,     3,   217,     3,    19, 
    1759       20,    21,     3,     3,    19,    20,    21,   905,    24,    51, 
    1760        5,    21,    24,   161,     3,   124,   214,   113,   977,   115, 
    1761      116,    18,    21,   563,    31,   112,     3,   214,     3,   769, 
    1762      570,    44,    79,   101,    81,    82,    21,   892,   153,    86, 
    1763        3,   122,    31,   160,   127,   212,   213,    24,     3,   130, 
    1764      131,   132,   219,    24,     3,   162,     3,     3,     3,    18, 
    1765      141,    24,  1021,    22,   131,   213,   214,     3,     3,    22, 
    1766        3,     3,     3,   213,   155,   162,   363,   932,   245,    45, 
    1767      161,     3,     3,     3,     3,     3,     3,     3,   122,     3, 
    1768      988,   172,   160,    27,   107,   198,   177,   162,   404,   166, 
    1769      162,   491,     3,    18,    19,    20,    21,    22,    23,    21, 
    1770      191,    21,    22,    23,   160,   119,   162,    23,   221,   188, 
    1771      201,   202,    88,    89,   131,   122,   130,   122,   160,   162, 
    1772      901,   521,   168,   214,   168,   885,   217,   206,   166,   163, 
    1773      882,    21,   131,   363,   213,   161,   227,   167,   217,   161, 
    1774      166,   220,   167,   160,   166,   322,   225,   167,   163,   240, 
    1775      327,   160,   163,   163,   331,   363,   766,   767,   768,   473, 
    1776      253,   339,   340,   265,   322,   915,   363,   162,   270,   327, 
    1777      237,   273,   322,   331,   161,   254,   131,   327,   163,   166, 
    1778      358,   331,   360,   361,   362,   166,   502,   503,   161,   246, 
    1779      269,   160,   370,   166,   510,   286,    18,   288,   163,   162, 
    1780       22,    21,   254,   322,   163,   363,   163,   163,   524,   300, 
    1781      301,   486,   331,   527,   305,   126,   160,   163,   163,   535, 
    1782      163,   163,   163,   314,   315,   316,   317,   318,   319,   320, 
    1783       24,   163,   163,   163,   163,   163,   163,   163,   163,   163, 
    1784      162,   121,   133,   322,   164,   165,   329,   424,   164,   165, 
    1785      341,    91,     3,   162,   345,   346,   347,   348,   349,   350, 
    1786      351,   352,   353,   354,   355,   356,   424,    94,    95,   160, 
    1787      160,    22,   363,   163,   424,   115,   797,   798,   799,   131, 
    1788      160,   160,   373,   374,   375,   376,   377,   378,   379,   380, 
    1789      381,   382,   383,   384,   385,   386,   387,   388,   389,   390, 
    1790      391,   531,   916,   847,   395,   424,   916,   847,   848,   849, 
    1791      850,   851,   609,   610,   166,   612,     8,     9,    10,   162, 
    1792       12,    13,    14,    15,    16,    17,  1034,    19,    20,    21, 
    1793       22,    23,   153,   160,   425,    18,   255,   256,   160,    22, 
    1794      160,   162,   123,   163,   133,   428,   140,   162,   664,    10, 
    1795       24,    12,    13,    14,    15,    16,    17,   162,    19,    20, 
    1796       21,    22,    23,   282,   814,   471,   162,   160,   544,   712, 
    1797       44,   160,   166,   166,   160,   702,   837,   161,   162,   658, 
    1798      166,   991,   473,   757,  1033,   615,   563,    29,   479,    31, 
    1799      131,   670,     3,   570,   915,   572,   573,   574,   575,   576, 
    1800      133,   492,   160,   719,   162,   563,   497,    18,   722,    78, 
    1801       79,    22,   570,   563,   572,   573,   574,   575,   576,   694, 
    1802      570,  1022,   572,   573,   574,   575,   576,   160,   161,  1022, 
    1803        3,   162,    83,   663,    85,   526,   527,   161,   162,   496, 
    1804      531,   160,  1043,     3,   501,    18,   537,   504,     4,    22, 
    1805     1043,   162,   163,   572,   573,   574,   575,   576,    18,   538, 
    1806       24,   540,    22,  1007,   166,   642,   140,  1007,   547,     3, 
    1807      561,     3,   164,   165,    19,    20,    21,    22,    23,   562, 
    1808      160,   658,   848,   849,   850,   851,     3,   578,   665,   580, 
    1809       19,    20,   166,   670,   577,   160,   161,   162,    83,    84, 
    1810      797,   798,   799,   164,   165,   162,   822,   665,    41,    18, 
    1811       19,    20,    21,    22,    23,   665,    37,    38,   609,   610, 
    1812      168,   612,   123,   124,   615,   616,   134,   135,   136,   162, 
    1813      904,    21,    22,    23,   684,    18,    19,    20,    21,    22, 
    1814       23,   162,   633,   634,   162,   162,   162,   638,   162,   640, 
    1815      162,   160,   162,   644,     3,   162,   162,   162,   820,   162, 
    1816      162,   160,   653,   739,   655,   741,   657,   797,   647,   162, 
    1817      162,   162,   663,   887,   750,   654,   162,   660,   162,   162, 
    1818      162,   162,   162,   162,   160,   676,   665,   678,     3,     3, 
    1819      160,   163,   769,   672,     5,     3,   162,   913,   160,   132, 
    1820        3,   692,   693,   160,     3,   138,   139,   160,   160,   983, 
    1821      160,   769,   703,     3,   161,     3,     5,   163,     3,   769, 
    1822      153,   154,     3,   156,   157,     3,   162,    22,   161,     5, 
    1823      709,   722,     5,     6,     7,     8,     9,    10,     3,    12, 
    1824       13,    14,    15,    16,    17,     3,    19,    20,    21,    22, 
    1825       23,   163,   163,     3,     3,   162,   160,   160,   163,   160, 
    1826      162,   752,   162,   162,   162,     4,     3,   163,   161,   163, 
    1827      761,     3,     3,   989,    12,    13,    14,    15,    16,    17, 
    1828       23,    19,    20,    21,    22,    23,     3,     3,   771,   772, 
    1829      773,   774,   775,    12,    13,    14,    15,    16,    17,   163, 
    1830       19,    20,    21,    22,    23,     3,   797,   798,   799,   163, 
    1831      163,   163,    22,   160,   162,    22,    21,    26,   894,   163, 
    1832      160,    25,   163,   814,   815,     4,   956,   903,   122,     3, 
    1833        3,   160,     5,     6,     7,     8,     9,    10,   915,    12, 
    1834       13,    14,    15,    16,    17,    36,    19,    20,    21,    22, 
    1835       23,   160,   162,   160,     3,     5,   162,   915,   163,   936, 
    1836      162,     5,   163,   163,   162,   915,   163,   160,   160,   160, 
    1837        4,     3,     3,   160,    78,    79,    80,   163,   869,   163, 
    1838      871,   163,   873,   163,   167,    22,    82,   122,   163,   162, 
    1839      160,   164,   165,   160,   163,   168,   887,   163,   160,   975, 
    1840      168,   892,   106,   163,   108,   109,   110,   898,   160,   113, 
    1841      114,    82,   116,   117,   905,   160,    22,   254,   160,   486, 
    1842      951,    51,   678,   949,   674,   481,   164,   165,   405,   482, 
    1843      506,   494,   260,   912,   925,   526,   927,   928,   289,   716, 
    1844       52,   932,   933,   871,   935,   164,   165,   928,   869,   397, 
    1845      663,   960,   891,  1017,   945,   542,   986,   758,   938,   938, 
    1846      124,   761,   665,    -1,   435,   956,    -1,    -1,    -1,    -1, 
    1847      961,   962,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     0,     1, 
    1849       -1,   164,   165,    -1,    -1,   986,    -1,   988,    -1,    -1, 
    1850       -1,    -1,    -1,    -1,    -1,   984,   997,    -1,    -1,  1000, 
    1851       -1,    -1,    24,    25,    -1,    -1,    28,    29,    30,    31, 
    1852       32,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1, 
    1853       -1,  1022,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1, 
    1854     1031,    -1,  1033,    -1,  1035,  1036,  1025,    -1,    -1,    61, 
    1855       -1,    -1,  1043,    65,    66,  1034,    -1,    -1,    70,  1050, 
    1856       -1,    -1,    -1,    -1,    76,    -1,    78,    79,    -1,    81, 
    1857       -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,    -1, 
    1858       92,    93,    -1,    -1,    96,    97,    98,    99,   100,   101, 
    1859      102,   103,   104,   105,   106,    -1,   108,    -1,   110,   111, 
    1860       -1,    -1,   114,   115,   116,    -1,   118,    -1,   120,    -1, 
    1861       -1,   123,   124,    -1,    -1,   127,   128,   129,    -1,    -1, 
    1862       -1,    -1,    -1,    -1,    -1,   137,    -1,    -1,   140,   141, 
    1863      142,   143,   144,   145,   146,   147,   148,   149,   150,   151, 
    1864      152,    -1,    -1,   155,    -1,    -1,   158,   159,   160,   161, 
    1865       -1,    -1,    -1,    -1,   166,     5,     6,     7,     8,     9, 
    1866       10,    -1,    12,    13,    14,    15,    16,    17,    -1,    19, 
    1867       20,    21,    22,    23,     3,    -1,     5,     6,     7,     8, 
    1868        9,    10,    -1,    12,    13,    14,    15,    16,    17,    -1, 
    1869       19,    20,    21,    22,    23,     3,    -1,     5,     6,     7, 
    1870        8,     9,    10,    -1,    12,    13,    14,    15,    16,    17, 
    1871       -1,    19,    20,    21,    22,    23,     3,    -1,     5,     6, 
    1872        7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
    1873       17,    -1,    19,    20,    21,    22,    23,     3,    -1,     5, 
    1874        6,     7,     8,     9,    10,    -1,    12,    13,    14,    15, 
    1875       16,    17,    -1,    19,    20,    21,    22,    23,     3,    -1, 
    1876        5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
    1877       15,    16,    17,    -1,    19,    20,    21,    22,    23,     4, 
    1878        5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
    1879       15,    16,    17,    -1,    19,    20,    21,    22,    23,    34, 
    1880       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    -1, 
    1881       -1,    -1,    -1,    -1,   164,   165,    -1,    -1,   168,    54, 
    1882       55,    56,    57,    58,    59,    60,    -1,    62,    63,    64, 
    1883       -1,    -1,    67,    68,    69,   164,   165,    72,    73,    74, 
    1884       75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1885       -1,    -1,    -1,    -1,    -1,    -1,   164,   165,    -1,    -1, 
    1886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1887       -1,    -1,    -1,    -1,    -1,    -1,    -1,   164,   165,     5, 
    1888        6,     7,     8,     9,    10,    -1,    12,    13,    14,    15, 
    1889       16,    17,    -1,    19,    20,    21,    22,    23,   164,   165, 
    1890        5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
    1891       15,    16,    17,    -1,    19,    20,    21,    22,    23,   164, 
    1892      165,    -1,    -1,    -1,    -1,   160,    -1,    -1,    -1,    -1, 
    1893       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164, 
    1894      165,     4,     5,     6,     7,     8,     9,    10,    -1,    12, 
    1895       13,    14,    15,    16,    17,    -1,    19,    20,    21,    22, 
    1896       23,     4,     5,     6,     7,     8,     9,    10,    -1,    12, 
    1897       13,    14,    15,    16,    17,    -1,    19,    20,    21,    22, 
    1898       23,     4,     5,     6,     7,     8,     9,    10,    -1,    12, 
    1899       13,    14,    15,    16,    17,    -1,    19,    20,    21,    22, 
    1900       23,     4,     5,     6,     7,     8,     9,    10,    -1,    12, 
    1901       13,    14,    15,    16,    17,    -1,    19,    20,    21,    22, 
    1902       23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1903       -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165, 
    1904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1905       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164, 
    1906      165,     5,     6,     7,     8,     9,    10,    -1,    12,    13, 
    1907       14,    15,    16,    17,    -1,    19,    20,    21,    22,    23, 
    1908        5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
    1909       15,    16,    17,    -1,    19,    20,    21,    22,    23,    -1, 
    1910       -1,   164,   165,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1912       -1,   164,   165,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1914       -1,   164,   165,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1915       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1916       -1,   164,   165,     5,     6,     7,     8,     9,    10,    -1, 
    1917       12,    13,    14,    15,    16,    17,    -1,    19,    20,    21, 
    1918       22,    23,     5,     6,     7,     8,     9,    10,    -1,    12, 
    1919       13,    14,    15,    16,    17,    -1,    19,    20,    21,    22, 
    1920       23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1921       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163, 
    1922      164,   165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164, 
    1924      165,     5,     6,     7,     8,     9,    10,    -1,    12,    13, 
    1925       14,    15,    16,    17,    -1,    19,    20,    21,    22,    23, 
    1926        5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
    1927       15,    16,    17,    -1,    19,    20,    21,    22,    23,     5, 
    1928        6,     7,     8,     9,    10,    -1,    12,    13,    14,    15, 
    1929       16,    17,    -1,    19,    20,    21,    22,    23,     5,     6, 
    1930        7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
    1931       17,    -1,    19,    20,    21,    22,    23,    -1,    -1,    -1, 
    1932       -1,   163,   164,   165,    -1,    -1,    -1,    -1,    -1,    -1, 
    1933       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1934      163,   164,   165,     5,     6,     7,     8,     9,    10,    -1, 
    1935       12,    13,    14,    15,    16,    17,    -1,    19,    20,    21, 
    1936       22,    23,     5,     6,     7,     8,     9,    10,    -1,    12, 
    1937       13,    14,    15,    16,    17,    -1,    19,    20,    21,    22, 
    1938       23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1939       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163, 
    1940      164,   165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164, 
    1942      165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1943       -1,    -1,    -1,    -1,   160,    -1,    -1,    -1,   164,   165, 
    1944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1945       -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165,     5, 
    1946        6,     7,     8,     9,    10,    -1,    12,    13,    14,    15, 
    1947       16,    17,    -1,    19,    20,    21,    22,    23,     5,     6, 
    1948        7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
    1949       17,    -1,    19,    20,    21,    22,    23,    -1,    -1,    -1, 
    1950       -1,   163,   164,   165,    -1,    -1,    -1,    -1,    -1,    -1, 
    1951       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1952      163,   164,   165,     5,     6,     7,     8,     9,    10,    -1, 
    1953       12,    13,    14,    15,    16,    17,    -1,    19,    20,    21, 
    1954       22,    23,     5,     6,     7,     8,     9,    10,    -1,    12, 
    1955       13,    14,    15,    16,    17,    -1,    19,    20,    21,    22, 
    1956       23,     5,     6,     7,     8,     9,    10,    -1,    12,    13, 
    1957       14,    15,    16,    17,    -1,    19,    20,    21,    22,    23, 
    1958        5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
    1959       15,    16,    17,    -1,    19,    20,    21,    22,    23,    -1, 
    1960       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1961       -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165, 
    1962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1963       -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165,     5, 
    1964        6,     7,     8,     9,    10,    -1,    12,    13,    14,    15, 
    1965       16,    17,    -1,    19,    20,    21,    22,    23,     5,     6, 
    1966        7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
    1967       17,    -1,    19,    20,    21,    22,    23,    -1,    -1,    -1, 
    1968       -1,   163,   164,   165,    -1,    -1,    -1,    -1,    -1,    -1, 
    1969       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1970      163,   164,   165,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163, 
    1972      164,   165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1973       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164, 
    1974      165,     5,     6,     7,     8,     9,    10,    -1,    12,    13, 
    1975       14,    15,    16,    17,    -1,    19,    20,    21,    22,    23, 
    1976        5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
    1977       15,    16,    17,    -1,    19,    20,    21,    22,    23,    -1, 
    1978       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1979       -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165, 
    1980       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1981       -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165,     5, 
    1982        6,     7,     8,     9,    10,    -1,    12,    13,    14,    15, 
    1983       16,    17,    -1,    19,    20,    21,    22,    23,     5,     6, 
    1984        7,     8,     9,    10,    -1,    12,    13,    14,    15,    16, 
    1985       17,    -1,    19,    20,    21,    22,    23,     5,     6,     7, 
    1986        8,     9,    10,    -1,    12,    13,    14,    15,    16,    17, 
    1987       -1,    19,    20,    21,    22,    23,     5,     6,     7,     8, 
    1988        9,    10,    -1,    12,    13,    14,    15,    16,    17,    -1, 
    1989       19,    20,    21,    22,    23,    -1,    -1,    -1,    -1,   163, 
    1990      164,   165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164, 
    1992      165,     5,     6,     7,     8,     9,    10,    -1,    12,    13, 
    1993       14,    15,    16,    17,    -1,    19,    20,    21,    22,    23, 
    1994        5,     6,     7,     8,     9,    10,    -1,    12,    13,    14, 
    1995       15,    16,    17,    -1,    19,    20,    21,    22,    23,    -1, 
    1996       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1997       -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165, 
    1998       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    1999       -1,    -1,    -1,    -1,    -1,    -1,   163,   164,   165,    -1, 
    2000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2001       -1,    -1,    -1,    -1,    -1,   163,   164,   165,    -1,    -1, 
    2002       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2003       -1,    -1,    -1,    -1,   163,   164,   165,     5,     6,     7, 
    2004        8,     9,    10,    -1,    12,    13,    14,    15,    16,    17, 
    2005       -1,    19,    20,    21,    22,    23,     5,     6,     7,     8, 
    2006        9,    10,    -1,    12,    13,    14,    15,    16,    17,    -1, 
    2007       19,    20,    21,    22,    23,    -1,    -1,     4,     5,   163, 
    2008      164,   165,    -1,    -1,    11,    -1,    -1,    -1,    -1,    -1, 
    2009       -1,    -1,    19,    20,    21,    -1,    -1,    -1,   163,   164, 
    2010      165,    -1,    -1,    -1,    -1,    -1,    33,    34,    -1,    -1, 
    2011       -1,    -1,    39,    40,    41,    42,    43,    -1,    -1,    -1, 
    2012       -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    55,    56, 
    2013       57,    58,    59,    60,    -1,    62,    63,    64,    -1,    -1, 
    2014       67,    68,    69,    -1,    71,    72,    73,    74,    75,    -1, 
    2015       77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     1981      11,   459,   168,   213,   294,   220,   294,    52,   459,   384, 
     1982      90,    56,   384,   154,   237,   164,   165,   136,    52,    52, 
     1983     497,   288,   654,   168,    57,   494,   721,   921,   237,    62, 
     1984      63,   154,   294,   291,   141,   258,    73,   322,   858,   219, 
     1985    1006,    52,   109,  1006,   497,   294,    57,   213,   237,   606, 
     1986     551,    62,    63,    52,    52,   100,   591,    52,   319,   935, 
     1987     936,    94,    73,   695,   982,   600,   100,   100,  1028,   258, 
     1988     934,   104,  1098,   305,   673,   570,   942,   495,   258,   259, 
     1989     867,   868,   869,    94,   882,   883,     3,   874,  1273,   100, 
     1990     625,  1176,  1277,   104,   110,  1280,   172,     3,  1268,     3, 
     1991      21,   100,   100,     3,   146,   100,  1506,    19,    20,     3, 
     1992       3,     3,     3,     3,    21,     3,     3,     3,    24,    56, 
     1993    1268,  1555,     3,   191,     3,     3,   194,     3,     3,     3, 
     1994     353,   109,     3,   356,     3,   940,    24,    24,    24,   172, 
     1995       3,  1575,     3,     3,   353,     3,    24,   356,    24,    24, 
     1996     382,   193,     3,     3,    24,    24,   191,    24,    64,  1457, 
     1997     305,   172,   197,  1268,   353,     3,    24,   356,     3,   459, 
     1998       3,   459,   124,     3,    24,     3,    64,    64,    64,     3, 
     1999       3,     3,   405,   220,   399,   560,    64,     3,    64,    64, 
     2000       3,    24,   333,  1087,    24,    64,   405,    64,     3,     3, 
     2001       3,    24,    24,  1163,   353,   420,    64,   356,     3,   418, 
     2002     333,     3,     3,   191,    64,     3,   405,    97,    27,     5, 
     2003     259,     4,   159,   175,     5,   678,   237,     3,     5,     3, 
     2004     184,    64,   154,   167,    64,   380,   381,   382,   418,   191, 
     2005     325,    64,    64,    21,   311,   425,    21,  1417,   428,   325, 
     2006     317,   431,    19,    20,    24,    18,     5,     5,   192,    22, 
     2007     154,   154,   713,     3,   522,   145,     3,   304,   279,   191, 
     2008     193,  1441,   193,   310,   497,  1080,   971,   194,     3,  1577, 
     2009     192,   388,   319,   294,    21,   322,   193,  1687,   497,   374, 
     2010     194,   197,   325,  1441,   194,   199,   586,  1382,   374,   315, 
     2011     316,  1261,   194,   194,   194,   723,   194,  1173,   497,   197, 
     2012     197,   197,   200,   194,   325,   194,   606,   497,    24,   197, 
     2013     194,   197,   197,   194,   586,   191,  1124,   197,   197,  1116, 
     2014     197,   194,   331,   194,   194,   501,  1441,  1556,    97,   197, 
     2015     875,   374,   353,   194,   606,   356,   881,   197,   359,   884, 
     2016     384,   384,    97,   888,   849,   191,   194,  1576,    64,   194, 
     2017     160,    24,   399,   374,   197,   136,   194,   197,   305,   731, 
     2018     194,   154,   971,   384,   197,   197,   738,  1009,   194,   418, 
     2019     154,   194,   191,   420,   421,  1555,   145,  1557,   620,   194, 
     2020     194,   194,   431,  1563,   405,   394,   395,   146,   146,   194, 
     2021     145,    64,   194,   194,  1589,  1575,   194,   193,   184,   185, 
     2022     421,   187,   193,   191,   154,   191,   193,   154,   193,   499, 
     2023     500,   188,   193,   191,   191,   192,   459,    24,   191,   154, 
     2024      24,   721,   191,   721,    24,    29,   194,    31,   587,   588, 
     2025     589,    48,   561,   380,   381,   382,   191,   384,   459,   598, 
     2026     193,   666,   519,   663,    47,   678,   199,   667,   668,   721, 
     2027     718,    33,   495,   496,   497,   572,   689,    64,    97,   678, 
     2028     611,    24,   721,    24,    64,   620,    48,   557,  1438,   110, 
     2029     111,  1399,  1508,  1347,   495,   496,   497,   113,   611,   678, 
     2030     501,   197,  1458,    87,  1370,  1458,    24,   663,   678,   194, 
     2031     689,   667,   668,   110,   111,    19,    20,   765,    52,   689, 
     2032     154,    64,    29,    64,    31,   560,   145,    29,   551,    31, 
     2033     114,   532,   567,    52,   982,   994,   560,   560,   191,  1006, 
     2034     788,   982,   741,  1010,   197,  1333,    64,   160,   131,   170, 
     2035     551,   167,    24,   554,   191,    52,   807,   191,   809,   560, 
     2036     116,   117,  1350,  1006,  1186,   169,   100,  1010,   591,   592, 
     2037      52,   741,   560,   170,    24,   560,   192,   600,   601,   567, 
     2038      87,   100,   193,  1074,  1361,   586,   143,   191,   172,    24, 
     2039     591,   592,    64,   154,    24,  1142,  1417,    52,   182,   600, 
     2040     601,    24,   625,   100,   191,   606,   191,   114,    22,   194, 
     2041     197,   191,   154,   197,    64,   172,   639,   197,   100,  1503, 
     2042     124,     4,  1578,   102,   625,  1578,   167,   167,   107,    64, 
     2043    1155,   110,    18,   560,    64,   191,    22,   638,   639,   666, 
     2044     567,    64,   182,   184,   185,   100,   187,   193,   191,   191, 
     2045     191,   192,   192,   654,   197,     3,   197,  1467,   193,     3, 
     2046     139,   165,   166,   590,   199,   172,   174,    99,   100,   101, 
     2047      18,   175,   599,   191,    22,   182,   193,   678,    22,   197, 
     2048     184,   185,   821,   187,   188,   193,   194,   191,   192,   193, 
     2049     174,   199,     3,   620,   695,   622,   623,   624,   130,   188, 
     2050     723,    38,   982,   192,   982,   172,   138,   425,   983,   193, 
     2051     428,    22,   713,   130,   191,   168,   169,   194,   140,   191, 
     2052     721,   142,   723,   200,   193,   197,    12,    13,    14,    15, 
     2053      16,    17,    18,   872,   843,  1556,  1557,   764,   191,     5, 
     2054     191,   191,  1563,   194,   112,   802,   885,   197,    29,   200, 
     2055      31,   192,   193,  1438,   851,  1576,   191,   124,  1217,  1643, 
     2056     193,   191,   197,   902,    21,    22,   767,   197,   191,   908, 
     2057     175,   176,   177,   178,   197,  1216,     6,     7,   183,   806, 
     2058     807,   193,   809,   922,   189,   916,    28,    29,    30,    31, 
     2059      68,    69,    70,  1006,    72,    37,   193,  1010,   933,   193, 
     2060     191,   824,   193,   916,    99,   100,    87,  1006,   175,  1431, 
     2061    1175,  1010,   193,  1175,    24,  1028,   193,   184,   185,    29, 
     2062     187,    31,   749,   824,   191,  1105,  1192,  1006,  1194,  1028, 
     2063     167,  1010,     4,   114,   858,   858,    29,    29,    31,    31, 
     2064    1010,   112,   104,   870,   106,    87,   193,   184,   185,  1028, 
     2065     187,    47,   875,  1105,   191,   192,   192,   858,   881,   882, 
     2066     883,   884,  1142,   886,  1312,   888,   889,  1023,  1316,   193, 
     2067    1083,   193,   114,   200,   875,   161,   162,   163,   164,   200, 
     2068     881,   882,   883,   884,  1083,   886,   921,   888,   889,     5, 
     2069    1142,   172,   172,   173,    87,    87,   923,   174,   921,   184, 
     2070     185,   182,   187,    23,  1083,    10,   191,   191,     4,   195, 
     2071     196,   912,   935,   936,     8,    11,   157,   158,   159,   193, 
     2072     921,   114,   114,    19,    20,    21,    25,   191,   192,     4, 
     2073     172,   858,   172,   173,   935,   936,   104,   105,    40,    41, 
     2074     184,   185,   193,   187,  1083,   191,   873,   191,   167,     5, 
     2075     194,  1399,  1592,  1593,   191,   197,   983,   146,  1399,   982, 
     2076     887,    62,    63,   191,  1221,   184,   185,   191,   187,   168, 
     2077     971,   104,   191,   192,   208,   209,   199,    73,  1005,   172, 
     2078     172,   982,  1121,   184,   185,   193,   187,  1010,   191,   182, 
     2079     191,  1458,   194,   194,   921,   326,   327,  1136,    94,   193, 
     2080      99,   100,   101,     5,  1005,  1006,   933,  1077,  1009,  1010, 
     2081     194,     5,  1225,  1378,  1153,     5,  1378,     3,  1266,   150, 
     2082     174,   174,  1023,   174,  1224,   194,  1225,  1028,   124,   202, 
     2083     174,   130,  1312,   132,   133,   134,  1316,   194,   137,   138, 
     2084       5,   140,   141,   191,   193,    22,  1225,     3,   191,   191, 
     2085       4,  1074,  1087,   149,   193,  1225,     3,    11,   194,  1060, 
     2086     110,     4,   194,   173,  1087,    19,    20,    21,  1224,   165, 
     2087     166,   184,   185,  1074,   187,   154,   191,     3,   191,   175, 
     2088    1107,   194,  1083,     3,  1085,   191,  1087,   199,   184,   185, 
     2089     193,   187,   188,     4,   194,   191,   192,   193,     4,   184, 
     2090     185,  1124,   187,   113,  1105,   201,   191,   102,  1278,     0, 
     2091       1,  1578,   107,   184,   185,   110,   187,   193,   134,  1399, 
     2092     191,  1399,   193,  1124,   191,   120,   194,   122,  1151,   182, 
     2093     125,   126,  1155,    24,   194,    19,    20,    28,    29,    30, 
     2094      31,  1142,   193,   182,   139,   194,    37,     5,   191,   144, 
     2095    1151,  1175,  1175,    39,  1155,   191,   182,   102,   182,   194, 
     2096    1087,     3,   107,   174,    18,   110,     5,     3,    65,    66, 
     2097     124,   193,    22,    64,  1175,   120,   193,   122,     3,   191, 
     2098     125,   126,   103,    80,  1185,  1186,   193,    84,    21,   193, 
     2099      21,  1218,   193,    90,   139,   149,    87,   194,     3,   144, 
     2100     154,   193,   175,   176,   177,   178,   184,   185,   193,   187, 
     2101     183,   165,   166,   191,   193,  1216,   189,     3,   191,     3, 
     2102     191,   175,   191,   114,  1225,   169,  1365,  1154,   146,   193, 
     2103     184,   185,   193,   187,   188,   139,     3,   191,   192,   193, 
     2104     124,  1268,   184,   185,   154,   187,  1273,   201,  1175,   191, 
     2105    1277,   193,   114,  1280,  1695,     3,   193,    30,     5,     5, 
     2106    1708,   158,  1289,     3,     5,   194,     3,   194,    31,  1270, 
     2107      38,   168,    29,     3,     3,   194,   103,   194,   194,   194, 
     2108       5,   172,     4,    21,   175,   176,   177,   178,   193,  1312, 
     2109     193,   175,   183,  1316,   194,   191,    20,     4,   189,     4, 
     2110     184,   185,   194,   187,   188,   194,   197,   191,   192,   191, 
     2111    1333,  1312,   191,   194,  1341,  1316,   194,   194,     5,     3, 
     2112     107,     3,   194,   110,  1251,     4,    26,  1350,    94,    73, 
     2113     194,     5,  1333,   120,   194,   122,     5,     4,   125,   126, 
     2114     108,     3,   199,   103,  1549,   113,   193,  1370,  1548,  1350, 
     2115     118,   119,   139,   121,  1378,  1378,   124,   144,   199,   127, 
     2116     128,   129,   191,   146,   194,  1565,   194,   193,   191,  1370, 
     2117    1397,   103,   194,     4,     3,     5,  1399,  1378,   275,     3, 
     2118       5,     4,     3,   280,   193,     5,   283,     5,     3,    22, 
     2119    1417,   194,  1548,   290,     3,    21,     4,     3,  1399,   167, 
     2120       3,     3,   194,     4,     3,     3,   194,   304,     4,  1565, 
     2121     307,   191,   194,   194,  1441,    52,   184,   185,   194,   187, 
     2122      57,   193,   191,   191,   192,    62,    63,   191,  1708,   194, 
     2123    1431,     3,   191,  1360,     3,  1458,   191,  1438,     4,     4, 
     2124      21,     5,   194,  1467,  1467,   194,   343,   344,     3,   346, 
     2125       4,  1378,   194,     3,    22,   194,     3,    94,   355,   194, 
     2126     357,   194,   193,   100,     3,     3,  1467,   104,  1503,     4, 
     2127       4,   368,     4,   370,   194,   194,   194,    11,   194,     4, 
     2128    1503,  1719,    49,   124,  1590,    19,    20,    21,   100,  1516, 
     2129    1513,   916,  1006,   390,  1006,  1269,    20,  1697,   412,  1278, 
     2130     718,  1524,  1503,  1222,   519,  1441,    11,  1266,   149,   421, 
     2131    1006,  1431,  1513,  1430,  1270,   405,   252,  1050,   788,  1557, 
     2132    1563,  1558,  1549,  1524,   165,   166,  1417,   790,  1555,  1556, 
     2133    1557,   721,  1010,   496,   175,   172,  1563,   980,  1006,  1060, 
     2134    1467,  1697,   802,   184,   185,  1286,   187,   188,  1575,  1576, 
     2135     191,   192,   193,  1695,  1216,  1578,  1564,   993,   460,   889, 
     2136     201,   554,  1589,  1023,   560,  1514,  1524,  1350,  1105,  1516, 
     2137     467,  1341,   560,  1525,   471,   448,  1503,   447,   266,   450, 
     2138     455,   764,   807,   452,     4,   482,   560,   809,   804,  1590, 
     2139     124,    11,   318,   565,  1380,   565,   386,  1121,   560,    19, 
     2140      20,   619,   499,   500,   327,   560,   503,   879,  1643,   560, 
     2141     601,  1365,   509,   621,   560,   149,   933,   936,  1370,   560, 
     2142    1643,     4,  1438,   381,   560,  1652,   908,   560,    11,   526, 
     2143     560,   165,   166,   902,   333,  1136,    19,    20,   535,    54, 
     2144    1667,   175,  1643,  1687,   468,   281,   711,   544,   695,   638, 
     2145     184,   185,   560,   187,   188,   552,  1186,   191,   192,   193, 
     2146     557,    26,  1185,  1189,  1393,  1085,    -1,   201,    -1,    -1, 
     2147      -1,   658,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   576, 
     2148      -1,   318,    -1,    -1,    -1,  1708,  1713,    -1,   325,  1716, 
     2149      -1,    -1,    -1,     4,  1695,    -1,    -1,    -1,    -1,    -1, 
     2150      11,    -1,  1729,    -1,   124,    -1,    -1,  1708,    19,    20, 
     2151      -1,    -1,    -1,    -1,    -1,    -1,  1643,  1644,    -1,    -1, 
     2152      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   149, 
     2153      -1,    -1,    -1,    -1,    -1,    -1,    -1,   374,    -1,    -1, 
     2154     637,   124,    -1,   380,   381,   165,   166,   384,     5,    -1, 
     2155      -1,   648,    -1,    -1,    11,   175,    -1,    -1,    -1,    -1, 
     2156     657,    -1,    19,    20,   184,   185,   149,   187,   188,    -1, 
     2157      -1,   191,   192,   193,    -1,    -1,    -1,    -1,    -1,    -1, 
     2158      -1,   201,   165,   166,    -1,    -1,    -1,    -1,    -1,    -1, 
     2159      -1,    -1,   175,    -1,    -1,    -1,     4,    -1,    -1,    -1, 
     2160      -1,   184,   185,    11,   187,   188,    -1,    -1,   191,   192, 
     2161     193,    19,    20,   124,    -1,    -1,    -1,    -1,   201,     5, 
     2162       6,     7,     8,     9,    10,   722,    12,    13,    14,    15, 
     2163      16,    17,    -1,    19,    20,    21,    22,    23,   149,    -1, 
     2164      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   745,    -1, 
     2165     747,    -1,    -1,    -1,   165,   166,    -1,    -1,   495,   496, 
     2166     497,    -1,    -1,    -1,   175,   762,    -1,   124,    -1,    -1, 
     2167      -1,   768,    -1,   184,   185,    -1,   187,   188,    -1,    -1, 
     2168     191,   192,   193,    -1,     4,    -1,    -1,    -1,    -1,    -1, 
     2169     201,    11,   149,    -1,    -1,    -1,    -1,    -1,    -1,    19, 
     2170      20,    -1,    -1,   800,    -1,    -1,    -1,    -1,   165,   166, 
     2171      -1,    -1,    -1,    -1,   551,   812,   124,     4,   175,    -1, 
     2172     817,    -1,   819,   560,    11,    -1,    -1,   184,   185,    -1, 
     2173     187,   188,    19,    20,   191,   192,   193,    -1,    -1,    11, 
     2174      -1,   149,    -1,    -1,   201,    -1,    -1,    19,    20,    -1, 
     2175     847,    -1,    24,    -1,   591,   592,    -1,   165,   166,    -1, 
     2176      -1,   858,    -1,   600,   601,    -1,    -1,   175,    -1,    -1, 
     2177      -1,    -1,    -1,    -1,    -1,    -1,   184,   185,    -1,   187, 
     2178     188,    -1,   619,   191,   192,   193,    -1,    -1,   625,    -1, 
     2179      -1,    -1,    64,   201,    -1,    -1,    -1,    -1,    -1,    -1, 
     2180      -1,    -1,   639,    -1,   124,    -1,   903,    -1,   194,   195, 
     2181     196,    -1,   909,    -1,    -1,    94,    -1,   654,    -1,    -1, 
     2182      -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,     4,   149, 
     2183      -1,    -1,    -1,    -1,    -1,    11,    -1,   124,    -1,    -1, 
     2184      -1,    -1,    -1,    19,    20,   165,   166,   944,    -1,    -1, 
     2185     947,   948,   124,    -1,    -1,   175,    -1,    -1,   695,    -1, 
     2186      -1,    -1,   149,    -1,   184,   185,    -1,   187,   188,    -1, 
     2187      -1,   191,   192,   193,    -1,    -1,    -1,   149,   165,   166, 
     2188      -1,   201,    -1,    -1,    -1,    -1,   723,    -1,   175,    -1, 
     2189      -1,    -1,    -1,   165,   166,    -1,    -1,   184,   185,    -1, 
     2190     187,   188,    -1,   175,   191,   192,   193,    -1,    -1,    -1, 
     2191      -1,    -1,   184,   185,   201,   187,   188,    -1,    -1,   191, 
     2192     192,   193,    -1,    -1,    -1,   197,    -1,    -1,    -1,   201, 
     2193      -1,    -1,    -1,  1030,    -1,    -1,  1033,    -1,    -1,    -1, 
     2194      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1044,   124,  1046, 
     2195      -1,    -1,    -1,    -1,  1051,    -1,    -1,    -1,    -1,    -1, 
     2196      -1,  1058,  1059,   157,    -1,    -1,    -1,    -1,    -1,     4, 
     2197      -1,    -1,    -1,   149,   168,    -1,    11,    -1,    -1,    -1, 
     2198    1077,  1078,    -1,    -1,    19,    20,    -1,   824,    -1,   165, 
     2199     166,    -1,    -1,    -1,  1091,    -1,  1093,    -1,    -1,   175, 
     2200      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1104,   184,   185, 
     2201      -1,   187,   188,    -1,    -1,   191,   192,   193,    -1,    -1, 
     2202      -1,   858,    -1,    -1,    -1,   201,    -1,    -1,    -1,    -1, 
     2203      -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,   875,   318, 
     2204      -1,    -1,    -1,   237,   881,   882,   883,   884,     5,   886, 
     2205      -1,   888,   889,    -1,    11,    -1,    -1,    -1,   252,    -1, 
     2206      -1,    -1,    19,    20,  1161,    22,    -1,    -1,  1165,    -1, 
     2207      -1,    -1,  1169,    -1,  1171,  1172,    -1,    -1,    -1,    -1, 
     2208      -1,    -1,    -1,    -1,   921,  1182,    -1,    -1,    -1,   124, 
     2209      -1,    -1,    -1,    19,    20,    -1,   933,    -1,   935,   936, 
     2210      -1,   380,   381,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2211      -1,   305,   306,  1210,   149,    -1,    -1,    -1,    -1,    -1, 
     2212    1217,    -1,    -1,  1220,   318,    -1,  1223,   321,    -1,    -1, 
     2213     165,   166,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2214     175,    -1,    -1,   337,   338,    -1,    -1,    -1,    -1,   184, 
     2215     185,  1248,   187,   188,    -1,    -1,   191,   192,   193,   353, 
     2216      -1,    -1,   356,    -1,    -1,    -1,   201,   124,    -1,  1006, 
     2217      -1,    -1,  1009,  1010,    -1,    -1,    -1,    -1,    -1,    -1, 
     2218      -1,    -1,    -1,    -1,   378,    -1,   380,   381,   382,    -1, 
     2219      -1,     5,   149,  1290,    -1,  1292,    -1,    11,   124,    -1, 
     2220      -1,    -1,    -1,    -1,    -1,    19,    20,    -1,   165,   166, 
     2221      -1,   405,    -1,    -1,    -1,    -1,   495,   496,   175,    -1, 
     2222      -1,    -1,    -1,   149,    -1,    -1,  1323,   184,   185,    -1, 
     2223     187,   188,  1329,    -1,   191,   192,   193,  1074,    -1,   165, 
     2224     166,    -1,    -1,    -1,   201,    -1,    -1,    -1,  1345,   175, 
     2225    1087,    -1,  1349,    -1,    -1,    -1,    -1,    -1,   184,   185, 
     2226      -1,   187,   188,    -1,    -1,   191,   192,   193,    -1,  1366, 
     2227      -1,  1368,   551,    -1,  1371,   201,  1373,  1374,    -1,  1376, 
     2228      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1124,    -1,    -1, 
     2229    1387,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2230      -1,    -1,     5,    -1,   498,    -1,    -1,   501,    11,    -1, 
     2231     124,    -1,   591,   592,  1151,    -1,    19,    20,  1155,   513, 
     2232      -1,   600,   601,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2233      -1,    -1,    -1,    -1,    -1,   149,    -1,    -1,  1175,    -1, 
     2234     619,    -1,    -1,  1440,    -1,    -1,   625,    -1,  1185,  1186, 
     2235      -1,   165,   166,    -1,    11,    -1,    -1,    -1,    -1,    -1, 
     2236     639,   175,    19,    20,    -1,    -1,    -1,    -1,    -1,    -1, 
     2237     184,   185,    -1,   187,   188,   654,    -1,   191,   192,   193, 
     2238      -1,    -1,    -1,    -1,    -1,    -1,    -1,   201,    -1,    -1, 
     2239      -1,    -1,    49,    -1,    51,    52,    53,    54,    -1,    56, 
     2240      -1,    58,    59,    -1,    -1,    -1,    -1,  1504,    65,    -1, 
     2241      67,    -1,    69,  1510,    -1,    -1,   695,    -1,  1515,    -1, 
     2242      -1,   124,    -1,    -1,    -1,    -1,   620,    -1,    -1,  1526, 
     2243    1527,  1528,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2244    1537,    -1,    -1,    -1,   723,    -1,   149,    -1,  1545,    -1, 
     2245    1547,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2246     654,    -1,   165,   166,    -1,    -1,    -1,   124,    -1,    -1, 
     2247      -1,    -1,   175,    -1,    -1,    -1,    -1,    -1,    -1,   673, 
     2248      -1,   184,   185,    -1,   187,   188,    -1,    -1,   191,   192, 
     2249     193,    -1,   149,    -1,    -1,    -1,  1333,    -1,   201,    -1, 
     2250      -1,   695,    -1,    -1,    -1,    -1,    -1,    -1,   165,   166, 
     2251      -1,    -1,   706,  1350,   708,    -1,    -1,    -1,   175,    -1, 
     2252      -1,    -1,    -1,  1620,    -1,    -1,    -1,   184,   185,    -1, 
     2253     187,   188,    -1,  1370,   191,   192,   193,    -1,    -1,    -1, 
     2254    1637,  1378,    -1,    -1,   201,   824,    -1,    -1,    -1,    -1, 
     2255      -1,  1648,    -1,    -1,   748,    -1,   750,    -1,    -1,    -1, 
     2256      -1,    -1,    -1,    -1,   758,    -1,    -1,   761,     6,     7, 
     2257       8,    -1,    10,    -1,    12,    13,    14,    15,    16,    17, 
     2258      18,    19,    20,    21,    22,    23,    24,    -1,    -1,  1686, 
     2259      -1,    -1,  1689,  1430,  1431,    -1,   875,    -1,    -1,    -1, 
     2260      -1,    -1,   881,   882,   883,   884,    -1,   886,    -1,   888, 
     2261     889,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2262      -1,  1458,    -1,    -1,    -1,    -1,    64,    -1,    -1,    -1, 
     2263    1467,    -1,     6,     7,     8,    -1,    10,    -1,    12,    13, 
     2264      14,    15,    16,    17,    18,    19,    20,    21,    22,    23, 
     2265      24,    -1,   846,    -1,   933,    -1,   935,   936,    -1,    -1, 
     2266      -1,    -1,    -1,    -1,    -1,    -1,  1503,    -1,    -1,    -1, 
     2267      -1,    -1,   866,   867,   868,   869,  1513,    -1,    -1,    -1, 
     2268     874,    -1,    -1,    -1,    -1,   879,    -1,  1524,    -1,    11, 
     2269      64,    -1,    -1,    -1,    -1,    -1,    -1,    19,    20,    -1, 
    20162270      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    20172271      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2272     914,    -1,    -1,   161,   162,   163,   164,    49,    -1,    -1, 
     2273    1009,    53,    54,    55,    56,    57,    58,    -1,    -1,   933, 
     2274     934,  1578,    -1,    65,    66,    67,   940,    -1,    -1,   943, 
     2275      -1,    -1,    -1,    -1,   192,    -1,    -1,   195,   196,   197, 
     2276      11,    -1,   200,    -1,    -1,    -1,    -1,    -1,    19,    20, 
     2277      21,    -1,    -1,    -1,    -1,    -1,    -1,   971,    -1,    -1, 
     2278      -1,    -1,    -1,    -1,    -1,   979,    -1,   161,   162,   163, 
     2279     164,    -1,    -1,    -1,    -1,  1074,    -1,    -1,    -1,    50, 
     2280      -1,    -1,   124,    -1,    -1,    -1,  1643,    58,    -1,    60, 
     2281      61,    62,    63,    -1,    65,  1009,    67,    -1,   192,   193, 
     2282      -1,   195,   196,   197,  1018,   199,    -1,   149,  1022,  1023, 
     2283      -1,  1025,  1026,    -1,  1028,    -1,    -1,    -1,    -1,    -1, 
     2284      -1,    -1,    11,   165,   166,  1124,    -1,    -1,    -1,    -1, 
     2285      19,    20,    21,   175,    -1,    -1,    -1,    -1,    -1,    -1, 
     2286      -1,    -1,   184,   185,    -1,   187,   188,    -1,    -1,   191, 
     2287     192,   193,  1151,   124,    -1,    -1,  1155,    -1,    -1,   201, 
     2288      -1,    -1,    -1,    -1,    -1,    -1,  1080,    -1,    -1,  1083, 
     2289      -1,    -1,  1086,    -1,    -1,    -1,    -1,    -1,   149,    -1, 
     2290      -1,    -1,    -1,    -1,    -1,    -1,  1185,  1186,    -1,    -1, 
     2291      -1,    -1,    -1,    -1,   165,   166,   167,    -1,    -1,    -1, 
     2292      -1,    -1,  1116,    11,   175,    -1,    -1,    -1,    -1,    -1, 
     2293      -1,    19,    20,   184,   185,    -1,   187,   188,    -1,    -1, 
     2294     191,   192,   193,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2295     201,    -1,    -1,    -1,    -1,   124,    -1,    -1,    -1,    -1, 
     2296      -1,    49,    -1,    51,    -1,    53,    54,    -1,    56,  1163, 
     2297      58,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    67, 
     2298     149,    69,  1176,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2299      -1,  1185,  1186,    -1,    -1,    11,   165,   166,   167,    -1, 
     2300      -1,    -1,    -1,    19,    20,    -1,   175,    -1,    -1,    -1, 
     2301      -1,    -1,    -1,    -1,    -1,   184,   185,    -1,   187,   188, 
     2302      -1,  1215,   191,   192,   193,    11,    -1,    -1,    44,    -1, 
     2303      -1,    -1,   201,    19,    20,    -1,   124,    -1,    -1,    -1, 
     2304      -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    65, 
     2305      -1,    67,    68,    -1,  1333,    -1,  1250,    -1,    -1,    -1, 
     2306    1254,   149,    -1,    -1,    -1,    -1,    -1,  1261,    -1,    -1, 
     2307      -1,  1350,    58,    -1,    -1,    -1,    -1,   165,   166,    65, 
     2308      -1,    67,    68,    -1,    -1,    -1,    -1,   175,    -1,    -1, 
     2309      -1,  1370,    -1,   109,    -1,    -1,   184,   185,    -1,   187, 
     2310     188,  1295,    -1,   191,   192,   193,    -1,    -1,   124,    -1, 
     2311      -1,    -1,    -1,   201,    -1,  1309,    -1,    -1,    -1,    -1, 
    20182312      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2019       -1,    -1,    -1,    -1,    -1,   163,   164,   165,   125,    -1, 
    2020       -1,    -1,    -1,    -1,    -1,   132,    -1,     4,     5,    -1, 
    2021       -1,   138,   139,    -1,    11,   164,   165,   144,    -1,    -1, 
    2022       -1,    -1,    19,    20,    21,    -1,   153,   154,    -1,   156, 
    2023      157,    -1,    -1,   160,   161,   162,    33,    34,    -1,    -1, 
    2024       -1,    -1,    39,    40,    41,    42,    43,    -1,    -1,    -1, 
    2025       -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    55,    56, 
    2026       57,    58,    59,    60,    -1,    62,    63,    64,    -1,    -1, 
    2027       67,    68,    69,    -1,    71,    72,    73,    74,    75,    -1, 
    2028       77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2313      -1,    -1,    -1,   149,    -1,    -1,    -1,    -1,   124,   155, 
     2314      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   165, 
     2315     166,  1430,  1431,  1347,    -1,    -1,    -1,    -1,    -1,   175, 
     2316      -1,    -1,    -1,   149,    -1,  1359,    -1,  1361,   184,   185, 
     2317      -1,   187,   188,    11,    -1,   191,   192,   193,    -1,   165, 
     2318     166,    19,    20,    -1,    -1,   201,  1380,    -1,  1382,   175, 
     2319      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   184,   185, 
     2320      -1,   187,   188,    -1,    -1,   191,   192,   193,    -1,    -1, 
     2321      -1,    -1,    -1,    11,    -1,   201,    -1,    -1,    -1,    -1, 
     2322      58,    19,    20,    -1,    -1,    -1,    -1,    65,    -1,    67, 
     2323      68,    -1,    -1,    -1,  1513,    -1,  1430,  1431,    -1,    -1, 
     2324      -1,    -1,    -1,  1437,  1438,  1524,    -1,    -1,    -1,    -1, 
     2325      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57, 
     2326      58,    -1,    -1,  1457,    -1,    -1,    11,    65,    -1,    67, 
     2327      -1,    -1,    -1,    -1,    19,    20,    -1,    -1,    -1,    24, 
     2328      -1,    -1,    -1,    -1,    -1,    -1,   124,    -1,  1482,  1483, 
     2329    1484,  1485,  1486,  1487,  1488,  1489,  1490,  1491,  1492,  1493, 
     2330    1494,  1495,  1496,  1497,  1498,  1499,  1500,    -1,    -1,    -1, 
     2331      -1,   149,    -1,    11,    -1,    -1,    -1,    -1,    -1,    64, 
     2332      -1,    19,    20,    -1,    11,    -1,   124,   165,   166,    -1, 
     2333      -1,    -1,    19,    20,    21,    -1,    -1,   175,    -1,    -1, 
     2334      -1,    -1,    -1,    -1,    -1,    -1,   184,   185,    -1,   187, 
     2335     188,   149,    -1,   191,   192,   193,    -1,    -1,  1552,    -1, 
     2336      -1,    -1,    -1,   201,    -1,    -1,    -1,   165,   166,    -1, 
     2337      -1,    -1,    -1,    -1,    -1,    -1,    -1,   175,    -1,   124, 
     2338      -1,    -1,    -1,  1577,    -1,    -1,   184,   185,    -1,   187, 
     2339     188,    -1,    -1,   191,   192,   193,    94,    11,    -1,    -1, 
     2340    1594,    -1,    -1,   201,   149,    19,    20,    -1,    -1,    -1, 
     2341      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1611,  1612,    -1, 
     2342     165,   166,  1616,    -1,  1618,    -1,   124,    -1,    -1,    -1, 
     2343     175,    -1,    -1,    -1,    -1,    -1,    -1,   124,    -1,   184, 
     2344     185,    -1,   187,   188,    -1,    11,   191,   192,   193,    -1, 
     2345      -1,   149,   197,    19,    20,    21,   201,    -1,    -1,    -1, 
     2346      -1,    -1,   149,    -1,    -1,    -1,    -1,   165,   166,    -1, 
     2347      -1,    -1,    -1,    -1,    -1,    11,    -1,   175,   165,   166, 
     2348      -1,    -1,  1676,    19,    20,    21,   184,   185,   175,   187, 
     2349     188,    -1,    -1,   191,   192,   193,    -1,   184,   185,    -1, 
     2350     187,   188,    -1,   201,   191,   192,   193,    11,  1702,    -1, 
     2351     124,    -1,    -1,    -1,   201,    19,    20,    -1,    -1,    -1, 
     2352      -1,    -1,    -1,  1717,    -1,  1719,  1720,    -1,    -1,    -1, 
     2353      -1,    11,  1726,    -1,    -1,   149,    -1,  1731,    -1,    19, 
     2354      20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2355      -1,   165,   166,    -1,    -1,    11,    -1,    -1,   124,    -1, 
     2356      -1,   175,    -1,    19,    20,    -1,    -1,    -1,    -1,    -1, 
     2357     184,   185,    -1,   187,   188,    -1,    -1,   191,   192,   193, 
     2358     194,    -1,    -1,   149,    -1,    11,    -1,   201,   124,    -1, 
     2359      -1,    -1,    -1,    19,    20,    -1,    -1,    -1,    -1,   165, 
     2360     166,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   175, 
     2361      -1,    -1,    -1,   149,    -1,    -1,    -1,    -1,   184,   185, 
     2362     124,   187,   188,    -1,    -1,   191,   192,   193,    -1,   165, 
     2363     166,    -1,    -1,    11,    -1,   201,    -1,    -1,    -1,   175, 
     2364      -1,    19,    20,    -1,   124,   149,    -1,    -1,   184,   185, 
     2365      -1,   187,   188,    -1,    -1,   191,   192,   193,    -1,    -1, 
     2366      -1,   165,   166,    -1,    11,   201,    -1,    -1,   124,   149, 
     2367      -1,   175,    19,    20,    -1,    -1,    -1,    -1,    -1,    -1, 
     2368     184,   185,    -1,   187,   188,   165,   166,   191,   192,   193, 
     2369      -1,    -1,    -1,   149,    -1,   175,    -1,   201,   124,    -1, 
     2370      -1,    -1,    -1,    -1,   184,   185,    -1,   187,   188,   165, 
     2371     166,   191,   192,   193,    -1,    -1,    -1,    11,    -1,   175, 
     2372      -1,   201,    -1,   149,    -1,    19,    20,    -1,   184,   185, 
     2373      -1,   187,   188,    -1,    -1,   191,   192,   193,    -1,   165, 
     2374     166,    -1,    -1,    -1,    -1,   201,   124,    -1,    -1,   175, 
     2375      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   184,   185, 
     2376      -1,   187,   188,    -1,    -1,   191,   192,   193,    -1,    -1, 
     2377      -1,   149,    -1,    -1,    -1,   201,    -1,   124,    -1,    -1, 
     2378      -1,    -1,    -1,    -1,    -1,    -1,    -1,   165,   166,    -1, 
     2379      -1,    -1,    -1,    -1,    -1,    -1,    -1,   175,    -1,    -1, 
     2380      -1,    25,   149,    -1,    -1,    -1,   184,   185,    32,   187, 
     2381     188,    -1,    -1,   191,   192,   193,    -1,    -1,   165,   166, 
     2382      -1,    -1,    -1,   201,    -1,    -1,    -1,    -1,   175,    -1, 
     2383     124,    -1,    -1,    -1,    -1,    -1,    -1,   184,   185,    -1, 
     2384     187,   188,    -1,    -1,   191,   192,   193,    -1,    -1,    -1, 
     2385      -1,    -1,    -1,    -1,   201,   149,    -1,    -1,    82,    -1, 
     2386      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2387      -1,   165,   166,    -1,    -1,    99,   100,    -1,    -1,    -1, 
     2388      -1,   175,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1, 
     2389     184,   185,    -1,   187,   188,    -1,    -1,   191,   192,   193, 
     2390      -1,    -1,    -1,    -1,    -1,    -1,   130,   201,   132,    32, 
     2391     134,   135,    -1,    -1,    -1,    38,   140,    -1,   142,    -1, 
     2392      -1,    -1,    -1,   147,    47,    48,    -1,    -1,    -1,    -1, 
     2393      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2394      -1,    -1,    -1,   167,    -1,    -1,   170,   171,   172,    -1, 
     2395      -1,   175,   176,   177,   178,    78,    -1,    -1,    -1,   183, 
     2396     184,   185,   186,   187,    -1,   189,    -1,   191,   192,    -1, 
     2397      93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2398      -1,   104,   105,   106,    -1,   108,    -1,    32,   111,    -1, 
     2399     113,    -1,   115,    38,    -1,   118,   119,    -1,   121,    -1, 
     2400      -1,   124,    -1,    48,   127,   128,   129,    -1,   131,    -1, 
     2401      32,    -1,    -1,    -1,    -1,    -1,    38,    -1,    -1,    -1, 
     2402      -1,    -1,    -1,    -1,    -1,    -1,    48,    -1,    -1,    -1, 
     2403     153,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1, 
     2404      -1,    -1,    -1,    -1,   167,   168,   169,   170,    93,    -1, 
     2405      -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1, 
     2406      -1,   184,   185,   108,   187,    -1,   111,   112,   191,   192, 
     2407     115,    93,    -1,   118,   119,    -1,   121,    -1,    -1,   124, 
     2408      -1,    -1,   127,   128,   129,    -1,   108,    -1,    -1,   111, 
     2409     112,    -1,    -1,   115,    38,    -1,   118,   119,    -1,   121, 
     2410      -1,    -1,   124,    -1,    48,   127,   128,   129,   153,    -1, 
     2411      -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    -1,    -1, 
     2412      -1,    -1,   167,    -1,    -1,   170,    -1,    -1,    -1,    -1, 
     2413      -1,   153,    -1,    -1,    78,    -1,    -1,   182,    -1,   184, 
     2414     185,    -1,   187,    -1,    -1,   167,   191,   192,   170,    93, 
     2415      -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1, 
     2416     182,    -1,   184,   185,   108,   187,    -1,   111,   112,   191, 
     2417     192,   115,    93,    -1,   118,   119,    -1,   121,    -1,    -1, 
     2418     124,    -1,   103,   127,   128,   129,    -1,   108,    -1,    -1, 
     2419      -1,    -1,    -1,    -1,   115,    38,    -1,   118,   119,    -1, 
     2420     121,    -1,    -1,   124,    -1,    -1,   127,   128,   129,   153, 
     2421      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2422      -1,    -1,    -1,   167,    -1,    -1,   170,    -1,    -1,    -1, 
     2423      -1,    -1,   153,    -1,    -1,    78,    -1,    -1,   182,    -1, 
     2424     184,   185,    -1,   187,    -1,    -1,   167,   191,   192,    -1, 
     2425      93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2426      -1,    -1,    -1,   184,   185,   108,   187,    -1,    -1,    -1, 
     2427     191,   192,   115,    -1,    -1,   118,   119,    -1,   121,    -1, 
     2428      -1,   124,    -1,    -1,   127,   128,   129,    -1,    -1,    -1, 
    20292429      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    20302430      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2031       -1,    -1,    -1,    -1,    -1,    -1,     4,    -1,    -1,    -1, 
    2032       -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   125,    -1, 
    2033       -1,    19,    20,    21,    -1,   132,    -1,    -1,    -1,    -1, 
    2034       -1,   138,   139,    -1,    -1,    33,    34,   144,    -1,    -1, 
    2035       -1,    39,    40,    41,    42,    43,   153,   154,    -1,   156, 
    2036      157,    -1,    -1,   160,   161,   162,    54,    55,    56,    57, 
    2037       58,    59,    60,    -1,    62,    63,    64,    -1,    -1,    67, 
    2038       68,    69,    -1,    71,    72,    73,    74,    75,    -1,    77, 
     2431     153,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2432      -1,    -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,    -1, 
    20392433      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2040       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2041       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2042       -1,    -1,    -1,    -1,    -1,     4,    -1,    -1,    -1,    -1, 
    2043       -1,    -1,    11,    -1,    -1,    -1,    -1,   125,    -1,    -1, 
    2044       19,    20,    21,    -1,   132,    -1,    -1,    -1,    -1,    -1, 
    2045      138,   139,    -1,    -1,    33,    34,   144,    -1,    -1,    -1, 
    2046       39,    40,    41,    42,    43,   153,   154,    -1,   156,   157, 
    2047       -1,    -1,   160,   161,   162,    54,    55,    56,    57,    58, 
    2048       59,    60,    -1,    62,    63,    64,    -1,    -1,    67,    68, 
    2049       69,    -1,    71,    72,    73,    74,    75,    -1,    77,    -1, 
    2050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2052       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2053       -1,    -1,    -1,    -1,     4,    -1,    -1,    -1,    -1,    -1, 
    2054       -1,    11,    -1,    -1,    -1,    -1,   125,    -1,    -1,    19, 
    2055       20,    21,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138, 
    2056      139,    -1,    -1,    33,    34,   144,    -1,    -1,    -1,    39, 
    2057       40,    41,    42,    43,   153,   154,    -1,   156,   157,    -1, 
    2058       -1,   160,   161,   162,    54,    55,    56,    57,    58,    59, 
    2059       60,    -1,    62,    63,    64,    -1,    -1,    67,    68,    69, 
    2060       -1,    71,    72,    73,    74,    75,    -1,    77,    -1,    -1, 
    2061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2063       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2064       -1,    -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,    -1, 
    2065       11,    -1,    -1,    -1,    -1,   125,    -1,    -1,    19,    20, 
    2066       -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138,   139, 
    2067       -1,    -1,    33,    34,   144,    -1,    -1,    -1,    39,    40, 
    2068       41,    42,    43,   153,   154,    -1,   156,   157,    -1,    -1, 
    2069      160,   161,   162,    54,    55,    56,    57,    58,    59,    60, 
    2070       -1,    62,    63,    64,    -1,    -1,    67,    68,    69,    -1, 
    2071       71,    72,    73,    74,    75,    -1,    77,    -1,    -1,    -1, 
    2072       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2073       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2075       -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,    -1,    11, 
    2076       -1,    -1,    -1,    -1,   125,    -1,    -1,    19,    20,    -1, 
    2077       -1,   132,    -1,    -1,    -1,    -1,    -1,   138,   139,    -1, 
    2078       -1,    33,    34,   144,    -1,    -1,    -1,    39,    40,    41, 
    2079       42,    43,   153,   154,    -1,   156,   157,    -1,    -1,   160, 
    2080      161,   162,    54,    55,    56,    57,    58,    59,    60,    -1, 
    2081       62,    63,    64,    -1,    -1,    67,    68,    69,    -1,    71, 
    2082       72,    73,    74,    75,    -1,    77,    -1,    -1,    -1,    -1, 
    2083       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2086       -1,     4,    -1,    -1,    -1,    -1,    -1,    -1,    11,    -1, 
    2087       -1,    -1,    -1,   125,    -1,    -1,    19,    20,    -1,    -1, 
    2088      132,    -1,    -1,    -1,    -1,    -1,   138,   139,    -1,    -1, 
    2089       33,    34,   144,    -1,    -1,    -1,    39,    40,    41,    42, 
    2090       43,   153,   154,    -1,   156,   157,    -1,    -1,   160,   161, 
    2091      162,    54,    55,    56,    57,    58,    59,    60,    -1,    62, 
    2092       63,    64,    -1,    -1,    67,    68,    69,    -1,    71,    72, 
    2093       73,    74,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1, 
    2094       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2095       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2096       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2097       -1,     5,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1, 
    2098       -1,    -1,   125,    -1,    -1,    19,    20,    -1,    22,   132, 
    2099       -1,    -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    33, 
    2100       34,   144,    -1,    -1,    -1,    39,    40,    41,    42,    43, 
    2101      153,   154,    -1,   156,   157,    -1,    -1,   160,   161,   162, 
    2102       54,    55,    56,    57,    58,    59,    60,    -1,    62,    63, 
    2103       64,    -1,    -1,    67,    68,    69,    -1,    71,    72,    73, 
    2104       74,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1, 
    2105       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2106       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2107       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2108        5,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1, 
    2109       -1,   125,    -1,    -1,    19,    20,    -1,    -1,   132,    -1, 
    2110       -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    33,    34, 
    2111      144,    -1,    -1,    -1,    39,    40,    41,    42,    43,   153, 
    2112      154,    -1,   156,   157,    -1,    -1,   160,   161,   162,    54, 
    2113       55,    56,    57,    58,    59,    60,    -1,    62,    63,    64, 
    2114       -1,    -1,    67,    68,    69,    -1,    71,    72,    73,    74, 
    2115       75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2116       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2118       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5, 
    2119       -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1, 
    2120      125,    -1,    -1,    19,    20,    -1,    -1,   132,    -1,    -1, 
    2121       -1,    -1,    -1,   138,   139,    -1,    -1,    33,    34,   144, 
    2122       -1,    -1,    -1,    39,    40,    41,    42,    43,   153,   154, 
    2123       -1,   156,   157,    -1,    -1,   160,   161,   162,    54,    55, 
    2124       56,    57,    58,    59,    60,    -1,    62,    63,    64,    -1, 
    2125       -1,    67,    68,    69,    -1,    71,    72,    73,    74,    75, 
    2126       -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2129       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,    -1, 
    2130       -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   125, 
    2131       -1,    -1,    19,    20,    -1,    -1,   132,    -1,    -1,    -1, 
    2132       -1,    -1,   138,   139,    -1,    -1,    33,    34,   144,    -1, 
    2133       -1,    -1,    39,    40,    41,    42,    43,   153,   154,    -1, 
    2134      156,   157,    -1,    -1,   160,   161,   162,    54,    55,    56, 
    2135       57,    58,    59,    60,    -1,    62,    63,    64,    -1,    -1, 
    2136       67,    68,    69,    -1,    71,    72,    73,    74,    75,    -1, 
    2137       77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2138       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2139       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2140       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2141       -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   125,    -1, 
    2142       -1,    19,    20,    -1,    -1,   132,    -1,    -1,    -1,    -1, 
    2143       -1,   138,   139,    -1,    -1,    33,    34,   144,    -1,    -1, 
    2144       -1,    39,    40,    41,    42,    43,   153,   154,    -1,   156, 
    2145      157,    -1,    -1,   160,   161,   162,    54,    55,    56,    57, 
    2146       58,    59,    60,    -1,    62,    63,    64,    -1,    -1,    67, 
    2147       68,    69,    -1,    71,    72,    73,    74,    75,    -1,    77, 
    2148       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2149       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2152       -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,    -1,    -1, 
    2153       -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1, 
    2154      138,   139,    -1,    -1,    -1,    -1,   144,    -1,    -1,    -1, 
    2155       -1,    -1,    -1,    -1,    -1,   153,   154,    11,   156,   157, 
    2156       -1,    -1,   160,   161,   162,    19,    20,    21,   166,    23, 
    2157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    33, 
    2158       34,    -1,    -1,    -1,    -1,    39,    40,    41,    42,    43, 
    2159       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2160       54,    55,    56,    57,    58,    59,    60,    -1,    62,    63, 
    2161       64,    -1,    -1,    67,    68,    69,    -1,    71,    72,    73, 
    2162       74,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1, 
    2163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2166       -1,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1, 
    2167       -1,   125,    -1,    -1,    19,    20,    21,    -1,   132,    -1, 
    2168       -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    33,    34, 
    2169      144,    -1,    -1,    -1,    39,    40,    41,    42,    43,   153, 
    2170      154,    -1,   156,   157,    -1,    -1,   160,   161,   162,    54, 
    2171       55,    56,    57,    58,    59,    60,    -1,    62,    63,    64, 
    2172       -1,    -1,    67,    68,    69,    -1,    71,    72,    73,    74, 
    2173       75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2176       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2177       -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1, 
    2178      125,    -1,    -1,    19,    20,    21,    -1,   132,    -1,    -1, 
    2179       -1,    -1,    -1,   138,   139,    -1,    -1,    33,    34,   144, 
    2180       -1,    -1,    -1,    39,    40,    41,    42,    43,   153,   154, 
    2181       -1,   156,   157,    -1,    -1,   160,   161,   162,    54,    55, 
    2182       56,    57,    58,    59,    60,    -1,    62,    63,    64,    -1, 
    2183       -1,    67,    68,    69,    -1,    71,    72,    73,    74,    75, 
    2184       -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2185       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2186       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2187       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2188       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   125, 
    2189       -1,    -1,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1, 
    2190       -1,    -1,   138,   139,    -1,    11,    -1,    -1,   144,    -1, 
    2191       -1,    -1,    -1,    19,    20,    -1,    -1,   153,   154,    -1, 
    2192      156,   157,    -1,    -1,   160,   161,   162,    33,    34,    35, 
    2193       -1,    -1,    -1,    39,    40,    41,    42,    43,    -1,    -1, 
    2194       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    55, 
    2195       56,    57,    58,    59,    60,    -1,    62,    63,    64,    -1, 
    2196       -1,    67,    68,    69,    -1,    71,    72,    73,    74,    75, 
    2197       -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2198       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2199       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2201       -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   125, 
    2202       -1,    -1,    19,    20,    21,    -1,   132,    -1,    -1,    -1, 
    2203       -1,    -1,   138,   139,    -1,    -1,    33,    34,   144,    -1, 
    2204       -1,    -1,    39,    40,    41,    42,    43,   153,   154,    -1, 
    2205      156,   157,    -1,    -1,   160,   161,   162,    54,    55,    56, 
    2206       57,    58,    59,    60,    -1,    62,    63,    64,    -1,    -1, 
    2207       67,    68,    69,    -1,    71,    72,    73,    74,    75,    -1, 
    2208       77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2209       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2210       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2211       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2212       -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   125,    -1, 
    2213       -1,    19,    20,    21,    -1,   132,    -1,    -1,    -1,    -1, 
    2214       -1,   138,   139,    -1,    -1,    33,    34,   144,    -1,    -1, 
    2215       -1,    39,    40,    41,    42,    43,   153,   154,    -1,   156, 
    2216      157,    -1,    -1,   160,   161,   162,    54,    55,    56,    57, 
    2217       58,    59,    60,    -1,    62,    63,    64,    -1,    -1,    67, 
    2218       68,    69,    -1,    71,    72,    73,    74,    75,    -1,    77, 
    2219       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2220       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2223       -1,    -1,    11,    -1,    -1,    -1,    -1,   125,    -1,    -1, 
    2224       19,    20,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1, 
    2225      138,   139,    -1,    -1,    33,    34,   144,    -1,    -1,    -1, 
    2226       39,    40,    41,    42,    43,   153,   154,    -1,   156,   157, 
    2227       -1,    -1,   160,   161,   162,    54,    55,    56,    57,    58, 
    2228       59,    60,    -1,    62,    63,    64,    -1,    -1,    67,    68, 
    2229       69,    -1,    71,    72,    73,    74,    75,    -1,    77,    -1, 
    2230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2231       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2232       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2234       -1,    11,    -1,    -1,    -1,    -1,   125,    -1,    -1,    19, 
    2235       20,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138, 
    2236      139,    -1,    -1,    33,    34,   144,    -1,    -1,    -1,    39, 
    2237       40,    41,    42,    43,   153,   154,    -1,   156,   157,    -1, 
    2238       -1,   160,   161,   162,    54,    55,    56,    57,    58,    59, 
    2239       60,    -1,    62,    63,    64,    -1,    -1,    67,    68,    69, 
    2240       -1,    71,    72,    73,    74,    75,    -1,    77,    -1,    -1, 
    2241       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2242       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2244       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2245       11,    -1,    -1,    -1,    -1,   125,    -1,    -1,    19,    20, 
    2246       -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138,   139, 
    2247       -1,    -1,    33,    34,   144,    -1,    -1,    -1,    39,    40, 
    2248       41,    42,    43,   153,   154,    -1,   156,   157,    -1,    -1, 
    2249      160,   161,   162,    54,    55,    56,    57,    58,    59,    60, 
    2250       -1,    62,    63,    64,    -1,    -1,    67,    68,    69,    -1, 
    2251       71,    72,    73,    74,    75,    -1,    77,    -1,    -1,    -1, 
    2252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2255       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    11, 
    2256       -1,    -1,    -1,    -1,   125,    -1,    -1,    19,    20,    -1, 
    2257       -1,   132,    -1,    -1,    -1,    -1,    -1,   138,   139,    -1, 
    2258       -1,    33,    34,   144,    -1,    -1,    -1,    39,    40,    41, 
    2259       42,    43,   153,   154,    -1,   156,   157,    -1,    -1,   160, 
    2260      161,   162,    54,    55,    56,    57,    58,    59,    60,    -1, 
    2261       62,    63,    64,    -1,    -1,    67,    68,    69,    -1,    71, 
    2262       72,    73,    74,    75,    -1,    77,    -1,    -1,    -1,    -1, 
    2263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2264       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2266       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    11,    -1, 
    2267       -1,    -1,    -1,   125,    -1,    -1,    19,    20,    -1,    -1, 
    2268      132,    -1,    -1,    -1,    -1,    -1,   138,   139,    -1,    -1, 
    2269       33,    34,   144,    -1,    -1,    -1,    39,    40,    41,    42, 
    2270       43,   153,   154,    -1,   156,   157,    -1,    -1,   160,   161, 
    2271      162,    54,    55,    56,    57,    58,    59,    60,    -1,    62, 
    2272       63,    64,    -1,    -1,    67,    68,    69,    -1,    71,    72, 
    2273       73,    74,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1, 
    2274       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2276       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2277       -1,    -1,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1, 
    2278       -1,    -1,   125,    -1,    -1,    19,    20,    -1,    -1,   132, 
    2279       -1,    -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    33, 
    2280       34,   144,    -1,    -1,    -1,    39,    40,    41,    42,    43, 
    2281      153,   154,    -1,   156,   157,    -1,    -1,   160,   161,   162, 
    2282       54,    55,    56,    57,    58,    59,    60,    -1,    62,    63, 
    2283       64,    -1,    -1,    67,    68,    69,    -1,    71,    72,    73, 
    2284       74,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1, 
    2285       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2286       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2289       -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,   132,    -1, 
    2290       -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    -1,    -1, 
    2291      144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   153, 
    2292      154,    -1,   156,   157,    -1,    -1,   160,   161,   162,    19, 
    2293       20,    21,    -1,    23,    -1,    -1,    -1,    -1,    -1,    -1, 
    2294       -1,    -1,    -1,    33,    34,    -1,    -1,    -1,    -1,    39, 
    2295       40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49, 
    2296       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59, 
    2297       60,    -1,    62,    63,    64,    -1,    -1,    67,    68,    69, 
    2298       -1,    71,    72,    73,    74,    75,    -1,    77,    -1,    -1, 
    2299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2300       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2301       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2304       -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138,   139, 
    2305       -1,    -1,    -1,    -1,   144,    -1,    -1,    -1,    -1,    19, 
    2306       20,    21,    -1,   153,   154,    -1,   156,   157,    -1,    -1, 
    2307      160,   161,   162,    33,    34,    -1,    -1,    -1,    -1,    39, 
    2308       40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49, 
    2309       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59, 
    2310       60,    -1,    62,    63,    64,    19,    20,    67,    68,    69, 
    2311       -1,    71,    72,    73,    74,    75,    -1,    77,    -1,    33, 
    2312       34,    -1,    -1,    -1,    -1,    39,    40,    41,    42,    43, 
    2313       -1,    -1,    46,    47,    48,    49,    50,    -1,    52,    53, 
    2314       54,    55,    56,    57,    58,    59,    60,    -1,    62,    63, 
    2315       64,    -1,    -1,    67,    68,    69,    -1,    71,    72,    73, 
    2316       74,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1, 
    2317       -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,   138,   139, 
    2318       -1,    -1,    -1,    -1,   144,    -1,    -1,    -1,    -1,    -1, 
    2319       -1,    -1,    -1,   153,   154,    -1,   156,   157,    -1,    -1, 
    2320      160,   161,   162,    -1,    -1,    -1,    -1,    -1,    -1,    25, 
    2321       -1,    -1,    28,    -1,    30,    -1,    32,    -1,   132,    35, 
    2322       -1,    -1,    -1,    -1,   138,   139,    -1,    -1,    -1,    45, 
    2323      144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   153, 
    2324      154,    -1,   156,   157,    -1,    61,   160,   161,   162,    65, 
    2325       66,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1, 
    2326       76,    -1,    78,    79,    -1,    81,    -1,    -1,    -1,    -1, 
    2327       86,    87,    88,    89,    90,    -1,    92,    93,    -1,    -1, 
    2328       96,    97,    98,    99,   100,   101,   102,   103,   104,   105, 
    2329      106,    -1,   108,    -1,   110,   111,    -1,    -1,   114,   115, 
    2330      116,    -1,   118,    -1,   120,    -1,    -1,   123,   124,    -1, 
    2331       -1,   127,   128,   129,    -1,    -1,    -1,    -1,    -1,    -1, 
    2332       -1,   137,    -1,    -1,    -1,   141,   142,   143,   144,   145, 
    2333      146,   147,   148,   149,   150,   151,   152,    -1,    -1,   155, 
    2334       -1,    -1,   158,   159,   160,   161,    25,    -1,    -1,    28, 
    2335      166,    30,    -1,    32,    -1,    -1,    35,    -1,    -1,    -1, 
    2336       -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1, 
    2337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2338       -1,    -1,    61,    -1,    -1,    -1,    65,    66,    -1,    -1, 
    2339       -1,    70,    -1,    -1,    -1,    -1,    -1,    76,    -1,    78, 
    2340       79,    -1,    81,    -1,    -1,    -1,    -1,    86,    87,    88, 
    2341       89,    90,    -1,    92,    93,    -1,    -1,    96,    97,    98, 
    2342       99,   100,   101,   102,   103,   104,   105,   106,    -1,   108, 
    2343       -1,   110,   111,    -1,    -1,   114,   115,   116,    -1,   118, 
    2344       -1,   120,    -1,    -1,   123,   124,    -1,    -1,   127,   128, 
    2345      129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   137,    -1, 
    2346       -1,    -1,   141,   142,   143,   144,   145,   146,   147,   148, 
    2347      149,   150,   151,   152,    -1,    -1,   155,    33,    34,   158, 
    2348      159,   160,   161,    39,    40,    41,    42,    43,    -1,    -1, 
    2349       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    55, 
    2350       56,    57,    58,    59,    60,    -1,    62,    63,    64,    -1, 
    2351       -1,    67,    68,    69,    -1,    71,    72,    73,    74,    75, 
    2352       -1,    77,    33,    34,    -1,    -1,    -1,    -1,    39,    40, 
    2353       41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2354       -1,    -1,    -1,    54,    55,    56,    57,    58,    59,    60, 
    2355       -1,    62,    63,    64,    -1,    -1,    67,    68,    69,    -1, 
    2356       71,    72,    73,    74,    75,    -1,    77,    -1,    -1,    -1, 
    2357       -1,    -1,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1, 
    2358       -1,    -1,   138,   139,    -1,    -1,    -1,    -1,   144,    -1, 
    2359       -1,    -1,    -1,    -1,    -1,    -1,    -1,   153,   154,    -1, 
    2360      156,   157,    -1,    -1,   160,   161,   162,    -1,    -1,    32, 
    2361       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2362       -1,   132,    45,    -1,    -1,    -1,    -1,   138,   139,    -1, 
    2363       -1,    -1,    -1,   144,    -1,    -1,    -1,    -1,    61,    -1, 
    2364       -1,    -1,   153,   154,    -1,   156,   157,    -1,    -1,   160, 
    2365      161,   162,    -1,    76,    -1,    -1,    -1,    -1,    81,    -1, 
    2366       83,    -1,    -1,    86,    87,    88,    89,    90,    -1,    -1, 
    2367       93,    -1,    -1,    96,    97,    98,    99,   100,   101,   102, 
    2368      103,   104,   105,    -1,    -1,    32,    -1,    -1,    35,    -1, 
    2369       -1,    -1,   115,    -1,    -1,    -1,    -1,   120,    45,    -1, 
    2370       -1,    -1,    -1,    -1,   127,    -1,   129,    -1,    -1,    -1, 
    2371       -1,    -1,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1, 
    2372       -1,    -1,    -1,    -1,    -1,   148,   149,   150,   151,    76, 
    2373       -1,    -1,    -1,    -1,    81,    -1,    -1,   160,   161,    86, 
    2374       87,    88,    89,    90,    -1,    -1,    93,    -1,    -1,    96, 
    2375       97,    98,    99,   100,   101,   102,   103,   104,   105,    -1, 
    2376       -1,    -1,    -1,    -1,    35,    -1,    -1,    -1,   115,    -1, 
    2377       -1,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1, 
    2378      127,    -1,   129,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2379       61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2380       -1,   148,   149,   150,   151,    76,    -1,    -1,    -1,    -1, 
    2381       81,    82,    -1,   160,   161,    86,    87,    88,    -1,    90, 
    2382       -1,    -1,    93,    -1,    -1,    96,    97,    98,    99,   100, 
    2383      101,   102,   103,   104,   105,    -1,    -1,    -1,    -1,    -1, 
    2384       35,    -1,    -1,    -1,   115,    -1,    -1,    -1,    -1,   120, 
    2385       -1,    -1,    -1,    -1,    -1,    -1,   127,    -1,   129,    -1, 
    2386       -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    -1, 
    2387       -1,    -1,    -1,    -1,    -1,    -1,    -1,   148,   149,   150, 
    2388      151,    76,    -1,    -1,    -1,    -1,    81,    -1,    -1,   160, 
    2389      161,    86,    87,    88,    -1,    90,    -1,    -1,    93,    -1, 
    2390       -1,    96,    97,    98,    99,   100,   101,   102,   103,   104, 
    2391      105,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2392      115,    -1,    -1,    -1,    -1,   120,    -1,    -1,    -1,    -1, 
    2393       -1,    -1,   127,    -1,   129,    -1,    -1,    -1,    -1,    -1, 
    2394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
    2395       -1,    -1,    -1,   148,   149,   150,   151,    -1,    -1,    -1, 
    2396       -1,    -1,    -1,    -1,    -1,   160,   161 
     2434      -1,   184,   185,    -1,   187,    -1,    -1,    -1,   191,   192 
    23972435}; 
    23982436 
     
    24012439static const yytype_uint16 yystos[] = 
    24022440{ 
    2403        0,   170,     0,     1,    24,    25,    28,    30,    32,    35, 
    2404       45,    61,    65,    66,    70,    76,    78,    79,    81,    86, 
    2405       87,    88,    89,    90,    92,    93,    96,    97,    98,    99, 
    2406      100,   101,   102,   103,   104,   105,   106,   108,   110,   111, 
    2407      114,   115,   116,   118,   120,   123,   124,   127,   128,   129, 
    2408      137,   140,   141,   142,   143,   144,   145,   146,   147,   148, 
    2409      149,   150,   151,   152,   155,   158,   159,   160,   161,   166, 
    2410      171,   172,   173,   174,   176,   178,   186,   198,   199,   203, 
    2411      204,   209,   210,   211,   212,   213,   215,   216,   223,   225, 
    2412      228,   231,   232,   267,   276,   277,   282,   283,   284,   286, 
    2413      287,   291,   300,   301,   302,   303,   304,   310,   315,   319, 
    2414      320,   323,   331,   332,   333,   334,   335,   338,   339,   341, 
    2415      344,   345,   348,   357,   359,   369,   153,   181,   160,   180, 
    2416      162,   162,    11,    19,    20,    33,    34,    39,    40,    41, 
    2417       42,    43,    54,    55,    56,    57,    58,    59,    60,    62, 
    2418       63,    64,    67,    68,    69,    71,    72,    73,    74,    75, 
    2419       77,   125,   132,   138,   139,   144,   153,   154,   156,   157, 
    2420      160,   161,   162,   166,   249,   250,   252,   253,   257,   259, 
    2421      260,   261,   262,   267,   268,   269,   273,   275,   162,   191, 
    2422      192,   162,   249,   272,   131,   166,   195,   166,   195,   273, 
    2423      161,   162,   162,     3,   161,   179,   220,   305,   160,   160, 
    2424      166,   336,   162,   162,   352,   160,   161,   162,   353,   162, 
    2425      162,   195,   195,    18,    22,   219,   267,   162,   190,   119, 
    2426      130,   123,   160,   224,   173,    78,    79,   187,   244,   133, 
    2427      160,   161,   237,   336,   160,   162,   200,   201,   206,     4, 
    2428      175,    24,   140,   166,    24,    29,    31,   175,   175,   160, 
    2429      162,   221,   222,   166,     3,   220,   160,   205,   219,     3, 
    2430      220,   220,     3,   220,   160,   217,   218,   219,     3,    31, 
    2431      131,   196,   197,   226,   240,    21,   162,   229,    21,   162, 
    2432      235,   337,   160,   172,   172,   172,   172,   336,   336,   336, 
    2433        5,   122,   168,   340,     3,   162,   342,   101,   160,   273, 
    2434      352,    19,    20,    21,    46,    47,    48,    49,    50,    52, 
    2435       53,   160,   162,   250,   257,   268,   350,   352,   358,   360, 
    2436      361,   362,   175,   249,   294,   249,   249,   249,   251,   162, 
    2437      162,   162,   251,   249,   251,   162,   162,   162,   162,   162, 
    2438      162,   162,   162,   162,   162,   162,   162,   249,   162,   251, 
    2439      162,   162,   162,   162,   249,   250,   252,   275,   366,   367, 
    2440      162,   249,   252,     5,     6,     7,     8,     9,    10,    12, 
    2441       13,    14,    15,    16,    17,    19,    20,    21,    22,    23, 
    2442      164,   165,   254,   249,   168,   162,   271,   162,   162,   160, 
    2443      153,   270,   271,   193,   267,     3,   249,   133,   160,   214, 
    2444      214,   249,   249,   161,   305,    94,    95,   267,   306,   257, 
    2445      370,   371,    21,    23,   162,   267,   354,   355,   360,   361, 
    2446      366,   161,   252,   267,   371,   372,   267,   374,   214,    34, 
    2447       39,    40,    42,    43,    54,    55,    56,    57,    58,    59, 
    2448       60,    62,    63,    64,    67,    68,    69,    72,    73,    74, 
    2449       75,    77,   160,   188,   189,   160,   267,   194,   249,     3, 
    2450        3,   195,     4,     5,    21,   238,   249,   163,    22,   162, 
    2451      257,   220,     3,    22,    45,    88,    89,   175,   166,   174, 
    2452      180,   180,     5,   221,     3,   205,   219,   162,   245,   205, 
    2453      267,   219,   160,   160,   219,   245,     3,   217,    25,    80, 
    2454      106,   108,   109,   110,   113,   114,   116,   117,   241,   242, 
    2455      244,   180,     3,   227,   160,   161,   162,   160,   230,   238, 
    2456      161,   162,   236,   249,   237,   245,     3,   288,   299,   307, 
    2457      299,    44,   321,   322,   324,   249,   249,   356,   161,    21, 
    2458      249,   343,   346,   347,   249,   249,   249,   249,   249,   249, 
    2459      249,     5,   360,   162,   250,   257,   268,   349,   363,   364, 
    2460        3,   351,    18,    21,    22,    23,   362,   360,   163,   163, 
    2461        3,   163,   251,   251,   249,   163,   163,   163,   249,   249, 
    2462      249,   249,   249,   249,   249,   249,   249,   249,   249,   249, 
    2463      163,   251,   163,   251,   251,   251,   252,   366,   367,     3, 
    2464        3,   126,     3,   251,   163,     3,     5,   249,   256,   249, 
    2465      249,   249,   249,   249,   249,   249,   249,   249,   249,   249, 
    2466      249,   249,   249,     5,    22,   249,   255,   249,     5,   249, 
    2467        5,   249,   356,   272,   258,   263,   263,     3,   163,   245, 
    2468      192,   163,     3,     3,   163,   162,   298,     5,     3,   373, 
    2469      360,    21,    23,   162,   249,     3,   163,   163,   163,   163, 
    2470        3,   373,     3,   163,     3,    22,     3,   163,   162,   160, 
    2471      336,   238,   202,   207,   208,   253,   249,     3,   201,   160, 
    2472      206,   202,   162,   162,   179,   305,   162,   182,   182,   249, 
    2473      163,   222,   220,     4,    21,   246,   247,   248,   249,   220, 
    2474      245,   245,   220,   218,   245,   162,     3,   131,   182,   160, 
    2475      245,   230,     5,   238,   163,     3,   239,    21,   163,   245, 
    2476       27,   160,   278,   279,   249,   285,   286,   287,   289,   292, 
    2477      293,   282,    91,   115,   308,   309,   330,    83,   311,   312, 
    2478      316,   112,   162,   326,   107,   322,   325,   172,   267,   161, 
    2479      163,     3,   249,   163,   363,   254,   365,   365,   365,     3, 
    2480      363,   360,   360,   360,   360,   360,   293,   249,   163,   163, 
    2481      163,   163,   163,   163,   163,   163,   163,   163,   163,   163, 
    2482      163,   163,   163,   163,   163,   163,   163,     3,     3,     3, 
    2483      249,   367,   249,   367,   249,   367,   163,   252,   249,   249, 
    2484      249,   249,   249,   257,     4,     4,   249,   264,   265,   266, 
    2485      163,   163,   267,   133,   160,   249,    35,    82,    88,   284, 
    2486      249,   249,   121,   371,   163,   249,   266,   168,   245,   355, 
    2487      371,   163,   267,   188,   249,   194,    22,     3,    19,    20, 
    2488       21,   167,   268,   163,   160,   368,    22,   249,   249,   305, 
    2489       21,   160,   163,   184,   185,    26,   177,   205,   249,     3, 
    2490      163,     4,   267,    21,   233,   233,   217,   134,   135,   136, 
    2491      243,   242,   245,   233,   163,   238,   239,   160,   163,     4, 
    2492      122,     3,    36,   290,   295,   172,   172,   160,   162,    84, 
    2493      312,   313,   314,   317,   172,     4,   249,   327,   328,   329, 
    2494      160,   160,   299,   337,   347,     3,   163,   254,   364,   160, 
    2495      368,   368,   368,   163,   272,     4,   249,     4,     3,   271, 
    2496      245,   163,   162,   162,   163,     3,     5,   163,   356,   163, 
    2497      202,   207,   207,   207,   207,     5,   163,   163,   163,     3, 
    2498      163,   162,   183,   247,   248,   249,   162,   234,   249,   163, 
    2499      233,     5,   122,   274,   239,   238,   160,   166,   280,   281, 
    2500      160,   279,   294,    37,    38,   296,   297,   172,   249,   160, 
    2501       85,   312,   318,   172,   299,   329,     3,   163,     4,   245, 
    2502      368,   365,   163,   163,   163,   163,   249,     4,   249,   265, 
    2503        3,   294,   249,   249,   257,   338,   249,    22,    82,   185, 
    2504      163,   184,    21,   274,   249,   249,   122,     3,   163,   160, 
    2505      160,   172,   288,   163,   160,   299,   328,   329,   245,   163, 
    2506      249,     4,   249,   163,   163,     3,     3,   202,   163,   163, 
    2507      160,   281,   160,   288,    82,   249,   249,   249,    22,   160, 
    2508        3,   249 
     2441       0,   204,     0,     1,    24,    28,    30,    37,    64,    87, 
     2442     114,   172,   197,   205,   206,   207,   208,   210,   211,   264, 
     2443     265,   638,   641,   658,   660,   694,   695,   696,   697,   698, 
     2444     708,   709,   184,   212,   191,   191,   175,   176,   177,   178, 
     2445     183,   189,   191,   231,   266,   315,   209,    24,   197,    24, 
     2446     266,   236,   237,   406,   651,   653,   659,   659,    29,    31, 
     2447     114,   696,   659,   659,   209,   661,   642,   268,   267,   272, 
     2448     269,   271,   270,   193,   194,   194,   209,   197,   208,    25, 
     2449      32,    82,    99,   100,   111,   132,   134,   135,   147,   167, 
     2450     170,   171,   184,   185,   186,   187,   191,   192,   231,   238, 
     2451     239,   240,   251,   259,   260,   288,   290,   292,   331,   332, 
     2452     347,   365,   370,   387,   388,   393,   398,   399,   406,   407, 
     2453     413,   417,   423,   434,   436,   445,   447,   449,   452,   453, 
     2454     454,   515,   516,   541,   542,   543,   545,   551,   552,   555, 
     2455     561,   566,   589,   612,   637,   675,   678,   720,   160,   653, 
     2456     259,   260,   640,   647,   721,    38,    48,    78,    93,   108, 
     2457     115,   118,   119,   121,   124,   127,   128,   129,   153,   191, 
     2458     241,   242,   252,   253,   259,   459,   476,   515,   516,   526, 
     2459     527,   531,   541,   560,   561,   570,   571,   574,   586,   587, 
     2460     588,   589,   590,   595,   602,   606,   609,   612,   625,   628, 
     2461     631,   683,   688,   720,   191,   711,   191,   701,   241,   241, 
     2462     206,   206,    21,   193,   273,   274,   273,   273,   273,    21, 
     2463     193,   284,   285,   286,   273,     4,    11,    19,    20,    21, 
     2464     124,   149,   165,   166,   175,   188,   192,   193,   201,   231, 
     2465     254,   257,   263,   275,   276,   279,   280,   288,   289,   316, 
     2466     317,   322,   324,   434,   483,   484,   485,   486,   487,   490, 
     2467     491,   493,   495,   496,   497,   498,   499,   503,   506,   508, 
     2468     681,   690,   394,   206,   193,   418,   419,     3,   206,   213, 
     2469     546,   154,   191,   676,   677,   154,   401,    22,   424,   206, 
     2470     546,     3,   293,   294,   193,   374,   375,   377,   378,   434, 
     2471     436,     4,   193,   240,   102,   107,   110,   139,   191,   436, 
     2472     193,   291,   264,   367,   401,   130,   140,   142,   146,   193, 
     2473     517,     5,   193,   448,   539,   540,   548,   548,   539,   652, 
     2474     112,   639,   648,   649,   650,   697,   708,   193,   193,   191, 
     2475     231,   235,   503,   559,   191,   206,   260,   191,   197,   723, 
     2476     193,   193,   634,   193,   508,   593,   193,   593,   193,   193, 
     2477     206,   503,   505,   506,   511,   512,   513,   514,   591,     4, 
     2478     112,   246,   247,   243,   244,   245,   252,   637,   110,   120, 
     2479     122,   125,   126,   144,   528,    47,   572,   573,   577,   193, 
     2480     684,   193,   715,   193,   246,   246,   192,    94,   513,   193, 
     2481     276,   287,    73,    94,   263,   193,   323,   326,   327,   328, 
     2482     503,   200,   200,   231,   275,   278,   279,   281,   490,   503, 
     2483       5,     3,   194,   323,    23,   488,    21,    22,   489,   275, 
     2484     276,   490,   276,   486,    12,    13,    14,    15,    16,    17, 
     2485      18,   161,   162,   163,   164,   195,   196,   492,   494,    10, 
     2486     500,     8,   501,     6,     7,   502,   493,   193,   193,   420, 
     2487       3,   206,   116,   117,   231,   547,   206,   676,     3,   206, 
     2488     191,   679,   680,   191,    18,    22,   426,   427,   206,   295, 
     2489     296,   347,   191,   154,   191,   378,   379,   380,   447,   451, 
     2490     452,   453,     3,   372,   373,   428,     3,    22,   110,   111, 
     2491     170,   450,   206,   508,    21,   192,   260,   503,   505,   616, 
     2492     503,   206,     4,     5,   446,   507,   508,   264,   300,   301, 
     2493     302,   303,     3,   334,   335,   336,   366,   191,   368,   369, 
     2494     674,   401,   401,   143,   264,   409,   410,   191,   434,   435, 
     2495     436,   503,   523,   524,   525,   474,   508,   518,   519,   520, 
     2496     521,   146,   503,   446,   199,   245,   168,   169,   191,   261, 
     2497     262,   544,   549,   550,   553,   556,   557,   262,   549,   104, 
     2498     562,   563,   567,     3,   154,   656,   722,   406,   643,   650, 
     2499     503,   534,   503,   206,   206,   206,   460,   596,   193,    58, 
     2500      65,    67,    68,   503,   593,   629,   630,   206,    58,    65, 
     2501      67,    68,   593,   626,   627,   206,   477,   231,   726,   206, 
     2502      48,   206,   662,   663,   245,   503,   193,    21,    50,    58, 
     2503      60,    61,    62,    63,    65,    67,   191,   436,   440,   592, 
     2504     593,   594,   613,   614,   615,   616,   613,   616,   689,   260, 
     2505     515,   526,   527,   529,   532,   533,   136,   193,   581,   131, 
     2506     573,   578,   539,   194,   686,   206,   716,   710,   699,   406, 
     2507     705,   406,   712,     5,   194,   263,     5,     5,     3,   194, 
     2508     326,   503,   150,     3,   191,   192,   277,   277,   174,   279, 
     2509     194,   263,   317,   202,   325,   276,   485,   485,   486,   487, 
     2510     491,   495,   496,   497,   194,   682,   191,   396,   397,   231, 
     2511     422,   437,   445,   447,   453,   419,   193,   538,     5,   206, 
     2512     677,     3,   206,    22,   191,   191,   431,   432,     3,   206, 
     2513     193,     3,   371,   428,   374,   377,   231,   275,   276,   278, 
     2514     279,   288,   314,   315,   318,   346,   376,   382,   385,   386, 
     2515     434,   490,   681,   503,   206,   546,   206,   546,     4,    21, 
     2516     154,   231,   455,   456,   458,   503,   506,   206,     3,   206, 
     2517     194,   110,   503,   194,     4,     3,   154,   304,   173,   299, 
     2518     302,    25,   101,   130,   132,   133,   134,   137,   138,   140, 
     2519     141,   337,   347,   191,   340,   341,   343,   154,     3,   206, 
     2520       3,   191,   390,   231,   342,   402,   403,   404,   405,   427, 
     2521     408,   193,     3,   206,   199,   206,     4,     3,   194,     3, 
     2522     194,   436,   522,   206,   194,   449,   206,   546,     4,   113, 
     2523      38,   127,   129,   259,   260,   459,   476,   515,   526,   554, 
     2524     570,   587,   589,   595,   602,   606,   609,   612,   625,   628, 
     2525     631,   683,   548,   544,   557,   259,   193,   105,   563,   564, 
     2526     565,   568,   539,   134,   667,   191,   206,   182,   194,   194, 
     2527     437,   447,   452,   467,   468,   469,    49,    53,    54,    55, 
     2528      56,    57,    58,    65,    66,    67,   593,   598,   599,    49, 
     2529      51,    52,    53,    54,    56,    58,    59,    65,    67,    69, 
     2530     593,   635,   636,   593,   260,   436,   443,   444,   436,   441, 
     2531     442,   601,     3,   194,   593,   260,   443,   601,     3,   194, 
     2532     469,   479,     3,   194,   193,   248,   249,   250,   697,   708, 
     2533     182,   194,   603,     5,    21,   592,   616,   191,   614,   260, 
     2534     260,   260,   443,     3,   194,   194,     3,   206,   231,   690, 
     2535      39,   530,   535,   582,   191,   206,   191,   579,   685,   231, 
     2536     254,   436,   503,   691,   692,   693,    21,   191,   702,   717, 
     2537     718,   719,   206,   717,   182,   182,   513,   194,   263,   513, 
     2538     513,     3,   327,   231,   258,   275,   278,   282,   691,     5, 
     2539       3,   194,     3,   193,   503,   503,   680,   231,   415,   416, 
     2540     437,    22,   193,     3,   429,   296,   191,   297,   298,   231, 
     2541     380,   381,   547,   206,   374,   193,    21,   383,   383,   193, 
     2542       3,    22,   383,   276,   279,   194,   206,   206,     4,   503, 
     2543     260,   503,     5,     3,   194,     4,   154,   457,   193,   503, 
     2544     619,   620,   621,   103,   503,   206,   507,   101,   130,   138, 
     2545     305,   306,   347,   231,   308,   309,   191,   206,   193,   193, 
     2546       3,   333,   193,   348,   337,   369,   193,     3,   389,   400, 
     2547       3,   206,   191,   411,   412,   410,   191,   523,   475,   508, 
     2548     474,   520,   474,   521,   146,   206,   206,   169,   191,   206, 
     2549     193,   191,   192,   193,   724,   193,   110,   262,   558,   548, 
     2550     503,   191,   206,   106,   563,   569,   539,   154,     3,   668, 
     2551     114,   645,   206,   533,   576,     3,   462,   193,   470,   504, 
     2552     505,   600,   504,   504,   504,   508,     5,   593,   260,   504, 
     2553     443,     3,   194,   600,     5,   443,   441,   441,   443,   593, 
     2554     436,   438,   439,   260,   443,   438,     3,   194,   630,   206, 
     2555     627,   206,     3,   480,   231,   503,   250,    30,   665,   253, 
     2556     259,   260,    57,    58,    65,    67,   593,   604,   605,   508, 
     2557     615,   610,   619,   193,   436,   607,   617,   618,   621,   617, 
     2558     534,    40,    41,   536,   537,   528,     4,   503,   583,   584, 
     2559     585,   206,   580,   206,   206,     5,     3,   194,   194,     3, 
     2560     194,    31,   707,    29,   714,   194,     3,   194,     3,   194, 
     2561     194,   231,   329,   330,   547,   194,   194,   503,   510,   397, 
     2562     395,   421,   422,   446,   194,     3,     3,   414,   433,   432, 
     2563     425,   428,     3,   194,     5,   193,   231,   255,   256,   257, 
     2564     258,   275,   278,   314,   318,   346,   384,   385,   194,   254, 
     2565     319,   320,   321,   436,   503,   522,   525,   382,   103,   503, 
     2566       4,    21,   503,   456,     4,   503,   503,   503,   620,   622, 
     2567     623,     3,   206,   206,   194,   193,     3,   154,   193,   310, 
     2568       3,   206,   206,   338,   339,   341,   206,   349,    21,   283, 
     2569     391,   191,   206,   206,   404,    20,     3,   194,     4,     4, 
     2570     522,   206,   546,   206,   534,    11,    19,    20,    44,   109, 
     2571     155,   165,   166,   184,   185,   187,   188,   192,   214,   215, 
     2572     219,   221,   224,   226,   231,   232,   233,   503,   726,   503, 
     2573     253,   194,   206,   191,   206,    27,   191,   669,   670,   654, 
     2574     191,   646,   206,    97,   145,   463,   464,   468,   194,   471, 
     2575     472,   473,   474,   504,   599,   597,   441,   194,   636,   632, 
     2576      97,   145,   469,   481,   482,   194,   194,   191,   666,   110, 
     2577       3,     5,   593,   260,   443,     3,   194,   206,   611,   206, 
     2578       3,   608,   206,   194,   191,   206,   191,   206,   528,   585, 
     2579       3,   194,     4,   206,   231,   693,   692,   687,   719,    26, 
     2580     703,   704,   646,   646,    94,    73,   194,     5,   206,     3, 
     2581     194,   194,   503,   416,   206,   428,     4,   350,   351,   352, 
     2582     353,   354,   355,   356,   357,   358,   359,   360,   361,   362, 
     2583     363,   508,   509,   206,   427,   298,   206,   513,   231,   275, 
     2584       5,     3,   194,   206,   503,   260,   503,     4,     3,   620, 
     2585     103,   307,   306,     4,   311,   351,   353,   357,   283,   309, 
     2586     350,   157,   158,   159,   364,   350,   287,     5,   146,   344, 
     2587     345,   350,   193,   191,   412,   206,   206,   194,   503,   194, 
     2588     194,   503,   199,   445,   447,   193,   193,   194,   191,   184, 
     2589     234,   445,     5,     6,     7,     8,     9,    10,    12,    13, 
     2590      14,    15,    16,    17,    19,    20,    21,    22,    23,   195, 
     2591     196,   216,   194,   194,   103,   206,     4,   146,     3,   206, 
     2592     644,   441,   466,     5,     3,   461,     3,   194,   475,     4, 
     2593     206,   619,   206,   466,     5,     3,   478,   575,   664,   503, 
     2594     260,   504,   605,   206,   206,   618,   206,   191,   206,   206, 
     2595     206,   584,   585,   206,   193,   700,   713,   713,     5,     5, 
     2596     508,   422,     3,    22,   194,     3,     4,     3,     3,   353, 
     2597     361,   509,    21,     3,   430,     3,   321,   320,   503,   547, 
     2598     623,   624,   206,   311,   194,     3,     4,     5,   146,   312, 
     2599     313,   194,   194,   194,   510,   314,   346,   434,   194,   392, 
     2600     725,   222,   223,   225,     5,   218,   503,   503,   503,   503, 
     2601     503,   503,   503,   503,   503,   503,   503,   503,   503,   503, 
     2602     503,     5,    22,   217,   503,   503,     5,   503,     5,   503, 
     2603     191,   206,   191,   657,   670,   671,   672,   673,   674,   191, 
     2604     670,   206,   443,   465,   464,   206,   472,   633,   465,   482, 
     2605     206,   206,   206,   194,     3,   206,   191,   206,   706,   206, 
     2606     513,   263,     3,   503,   191,   352,   354,   509,     4,   353, 
     2607     356,   358,     4,    21,   363,   431,   513,     5,   194,   194, 
     2608     510,   314,   346,   350,   219,   231,   220,   227,   227,   227, 
     2609     503,   503,   503,   503,   503,   206,   655,     3,   206,   260, 
     2610     194,   206,   194,   194,   508,    22,     4,     3,   194,   508, 
     2611     194,   193,     4,   228,   229,   230,   503,   194,   194,   194, 
     2612     206,   672,   206,     3,   415,   513,     3,     4,   503,     3, 
     2613       4,   445,   508,   194,   508,   503,     4,   229,   503,     3, 
     2614     503,     4,   508,   503 
    25092615}; 
    25102616 
     
    25122618static const yytype_uint16 yyr1[] = 
    25132619{ 
    2514        0,   169,   170,   170,   171,   171,   171,   171,   172,   172, 
    2515      172,   172,   172,   173,   173,   173,   174,   174,   174,   174, 
    2516      175,   176,   176,   177,   177,   178,   178,   178,   178,   179, 
    2517      179,   180,   181,   182,   182,   182,   183,   183,   183,   184, 
    2518      184,   185,   185,   186,   186,   186,   186,   186,   186,   186, 
    2519      186,   186,   186,   186,   186,   186,   186,   186,   186,   186, 
    2520      186,   186,   186,   187,   187,   188,   188,   188,   188,   188, 
    2521      188,   188,   188,   188,   188,   188,   188,   188,   188,   188, 
    2522      188,   188,   188,   188,   188,   188,   188,   188,   188,   189, 
    2523      189,   190,   190,   191,   191,   192,   193,   193,   194,   194, 
    2524      195,   195,   196,   196,   197,   198,   199,   200,   200,   201, 
    2525      201,   201,   202,   202,   203,   203,   203,   203,   204,   205, 
    2526      205,   206,   206,   206,   207,   207,   207,   207,   207,   208, 
    2527      208,   209,   209,   209,   209,   210,   211,   211,   212,   212, 
    2528      213,   213,   214,   214,   214,   214,   215,   215,   215,   216, 
    2529      216,   217,   217,   218,   219,   219,   220,   220,   221,   221, 
    2530      222,   223,   224,   224,   225,   225,   226,   226,   227,   228, 
    2531      228,   228,   228,   229,   229,   229,   229,   230,   230,   230, 
    2532      231,   232,   232,   232,   232,   232,   232,   233,   233,   234, 
    2533      234,   235,   235,   235,   236,   236,   237,   237,   237,   237, 
    2534      237,   238,   238,   238,   239,   239,   240,   240,   240,   241, 
    2535      241,   242,   242,   242,   242,   242,   242,   242,   242,   242, 
    2536      242,   242,   243,   243,   243,   244,   244,   245,   245,   246, 
    2537      246,   247,   247,   247,   247,   247,   248,   248,   249,   249, 
    2538      249,   249,   250,   250,   250,   250,   250,   250,   250,   250, 
    2539      250,   250,   250,   250,   250,   250,   250,   250,   250,   250, 
    2540      250,   250,   250,   250,   250,   250,   250,   250,   251,   251, 
    2541      252,   252,   252,   252,   252,   252,   253,   253,   254,   254, 
    2542      254,   254,   254,   254,   254,   254,   254,   254,   254,   254, 
    2543      254,   254,   254,   254,   254,   254,   254,   254,   254,   255, 
    2544      255,   255,   255,   256,   256,   257,   257,   257,   258,   259, 
    2545      259,   259,   259,   260,   261,   262,   263,   263,   264,   264, 
    2546      265,   265,   266,   266,   266,   266,   266,   266,   266,   267, 
    2547      268,   268,   268,   268,   268,   268,   268,   268,   269,   269, 
    2548      269,   269,   270,   270,   271,   272,   272,   273,   273,   274, 
    2549      274,   274,   275,   276,   276,   276,   276,   277,   278,   278, 
    2550      279,   280,   280,   281,   281,   282,   282,   283,   283,   283, 
    2551      283,   283,   284,   284,   284,   284,   284,   284,   284,   284, 
    2552      284,   284,   284,   284,   284,   284,   284,   284,   284,   284, 
    2553      284,   284,   284,   284,   284,   284,   284,   285,   286,   287, 
    2554      288,   288,   289,   289,   290,   290,   291,   292,   292,   292, 
    2555      293,   294,   295,   295,   296,   296,   297,   297,   298,   299, 
    2556      299,   299,   300,   301,   302,   302,   303,   303,   303,   303, 
    2557      304,   304,   304,   304,   305,   305,   305,   305,   306,   307, 
    2558      308,   308,   309,   309,   310,   311,   311,   311,   312,   313, 
    2559      313,   313,   314,   315,   315,   316,   316,   317,   317,   318, 
    2560      318,   319,   320,   321,   321,   321,   322,   323,   323,   324, 
    2561      324,   325,   325,   326,   326,   327,   327,   328,   328,   328, 
    2562      328,   329,   330,   331,   332,   333,   334,   335,   336,   336, 
    2563      337,   338,   338,   339,   339,   340,   340,   341,   342,   342, 
    2564      343,   343,   344,   344,   345,   346,   346,   347,   347,   348, 
    2565      348,   349,   349,   350,   350,   351,   351,   352,   353,   353, 
    2566      353,   353,   353,   354,   354,   355,   355,   355,   355,   355, 
    2567      355,   355,   355,   356,   357,   357,   357,   358,   358,   359, 
    2568      359,   359,   360,   360,   361,   361,   361,   361,   361,   361, 
    2569      361,   361,   361,   361,   361,   361,   361,   361,   361,   361, 
    2570      361,   362,   362,   363,   363,   364,   364,   364,   364,   364, 
    2571      365,   365,   365,   366,   366,   366,   366,   366,   366,   366, 
    2572      366,   366,   366,   367,   367,   367,   368,   368,   369,   369, 
    2573      370,   370,   371,   372,   372,   373,   373,   374,   374 
     2620       0,   203,   204,   204,   205,   205,   205,   206,   206,   206, 
     2621     206,   206,   207,   207,   207,   208,   208,   208,   209,   210, 
     2622     210,   210,   211,   211,   212,   213,   213,   214,   214,   214, 
     2623     214,   214,   215,   215,   216,   216,   216,   216,   216,   216, 
     2624     216,   216,   216,   216,   216,   216,   216,   216,   216,   216, 
     2625     216,   216,   216,   216,   216,   217,   217,   217,   217,   218, 
     2626     218,   219,   219,   219,   220,   221,   221,   222,   221,   223, 
     2627     221,   224,   225,   224,   226,   227,   227,   228,   228,   229, 
     2628     229,   230,   230,   230,   230,   230,   230,   230,   231,   232, 
     2629     232,   232,   232,   232,   232,   232,   232,   233,   233,   233, 
     2630     233,   234,   234,   235,   235,   236,   237,   237,   238,   238, 
     2631     239,   239,   240,   240,   240,   240,   240,   240,   240,   240, 
     2632     240,   240,   240,   240,   240,   241,   241,   242,   243,   243, 
     2633     244,   244,   245,   245,   246,   246,   247,   248,   248,   249, 
     2634     249,   250,   250,   251,   251,   251,   251,   251,   251,   251, 
     2635     251,   251,   252,   252,   252,   252,   252,   253,   253,   253, 
     2636     253,   253,   253,   253,   253,   253,   253,   253,   253,   253, 
     2637     253,   253,   253,   253,   253,   253,   253,   253,   253,   253, 
     2638     253,   253,   254,   255,   256,   256,   257,   257,   257,   257, 
     2639     257,   258,   259,   259,   260,   260,   261,   261,   262,   263, 
     2640     263,   263,   265,   264,   264,   264,   267,   266,   268,   266, 
     2641     269,   266,   270,   266,   271,   266,   272,   266,   273,   273, 
     2642     274,   274,   274,   275,   275,   276,   276,   277,   277,   278, 
     2643     278,   279,   279,   280,   281,   281,   281,   282,   282,   282, 
     2644     283,   283,   284,   284,   285,   285,   285,   285,   285,   286, 
     2645     286,   286,   286,   287,   287,   288,   288,   288,   289,   289, 
     2646     291,   290,   292,   292,   293,   293,   294,   294,   295,   295, 
     2647     296,   297,   297,   298,   299,   299,   300,   300,   301,   301, 
     2648     302,   303,   304,   304,   304,   305,   305,   306,   306,   307, 
     2649     306,   306,   308,   308,   309,   310,   310,   311,   311,   312, 
     2650     312,   313,   313,   313,   314,   315,   315,   316,   316,   317, 
     2651     317,   318,   318,   319,   319,   320,   320,   321,   321,   321, 
     2652     322,   322,   323,   324,   325,   326,   326,   327,   327,   328, 
     2653     329,   329,   330,   332,   333,   331,   334,   334,   335,   335, 
     2654     336,   336,   337,   337,   338,   337,   337,   339,   337,   337, 
     2655     337,   337,   337,   337,   337,   340,   340,   341,   342,   343, 
     2656     344,   344,   345,   345,   345,   346,   347,   347,   348,   349, 
     2657     348,   350,   350,   350,   350,   350,   351,   351,   352,   352, 
     2658     353,   354,   355,   355,   356,   356,   357,   357,   358,   359, 
     2659     360,   360,   361,   361,   362,   362,   363,   364,   364,   364, 
     2660     366,   365,   367,   367,   368,   368,   369,   369,   371,   370, 
     2661     372,   372,   373,   373,   374,   375,   375,   376,   376,   377, 
     2662     377,   378,   378,   379,   379,   380,   380,   380,   381,   382, 
     2663     382,   382,   382,   382,   382,   382,   382,   383,   383,   384, 
     2664     384,   384,   384,   384,   384,   384,   385,   386,   388,   389, 
     2665     387,   391,   390,   392,   390,   394,   395,   393,   396,   396, 
     2666     397,   399,   400,   398,   401,   401,   402,   402,   403,   403, 
     2667     404,   404,   404,   405,   406,   407,   408,   407,   409,   409, 
     2668     410,   411,   411,   412,   412,   413,   414,   414,   415,   415, 
     2669     416,   417,   418,   418,   420,   419,   421,   421,   422,   422, 
     2670     422,   424,   425,   423,   426,   426,   427,   427,   428,   428, 
     2671     429,   430,   429,   431,   431,   432,   433,   432,   434,   434, 
     2672     434,   434,   435,   436,   437,   438,   439,   440,   441,   442, 
     2673     443,   444,   445,   445,   445,   446,   447,   448,   448,   449, 
     2674     450,   449,   451,   452,   453,   454,   454,   455,   455,   455, 
     2675     456,   456,   456,   456,   456,   456,   456,   456,   456,   456, 
     2676     457,   457,   457,   457,   457,   457,   458,   460,   461,   459, 
     2677     462,   462,   463,   463,   464,   464,   465,   466,   467,   467, 
     2678     468,   469,   469,   470,   470,   471,   471,   472,   473,   473, 
     2679     474,   475,   477,   478,   476,   479,   479,   480,   480,   481, 
     2680     481,   482,   482,   483,   483,   483,   483,   483,   484,   485, 
     2681     485,   486,   486,   487,   487,   487,   487,   487,   488,   489, 
     2682     489,   490,   490,   491,   491,   492,   493,   493,   494,   494, 
     2683     494,   494,   494,   494,   494,   494,   494,   494,   494,   494, 
     2684     495,   495,   496,   496,   497,   497,   498,   498,   499,   500, 
     2685     501,   502,   502,   503,   504,   505,   506,   507,   507,   508, 
     2686     509,   510,   511,   512,   513,   514,   515,   515,   516,   516, 
     2687     516,   517,   517,   518,   518,   519,   519,   520,   521,   522, 
     2688     523,   524,   525,   525,   525,   526,   527,   528,   528,   529, 
     2689     529,   530,   530,   531,   532,   532,   532,   533,   534,   535, 
     2690     535,   536,   536,   537,   537,   538,   539,   540,   540,   541, 
     2691     541,   541,   542,   542,   543,   543,   543,   543,   544,   544, 
     2692     544,   544,   545,   545,   545,   545,   546,   546,   546,   546, 
     2693     547,   548,   549,   549,   550,   550,   551,   551,   552,   553, 
     2694     554,   554,   554,   554,   554,   554,   554,   554,   554,   554, 
     2695     554,   554,   554,   554,   554,   554,   554,   555,   555,   556, 
     2696     556,   557,   558,   559,   559,   560,   561,   562,   562,   562, 
     2697     563,   564,   564,   564,   565,   566,   566,   566,   567,   567, 
     2698     568,   568,   569,   569,   570,   571,   572,   572,   572,   573, 
     2699     575,   574,   576,   574,   577,   577,   579,   578,   580,   578, 
     2700     582,   581,   581,   583,   583,   584,   584,   584,   584,   585, 
     2701     586,   586,   587,   588,   589,   590,   590,   591,   591,   592, 
     2702     592,   592,   593,   594,   596,   597,   595,   598,   598,   599, 
     2703     599,   599,   599,   599,   599,   599,   599,   599,   599,   599, 
     2704     600,   601,   603,   602,   604,   604,   605,   605,   605,   605, 
     2705     605,   607,   606,   608,   606,   606,   606,   610,   609,   611, 
     2706     609,   612,   612,   613,   613,   614,   615,   615,   615,   615, 
     2707     615,   615,   615,   615,   615,   615,   615,   616,   616,   616, 
     2708     617,   617,   618,   618,   619,   619,   620,   620,   621,   622, 
     2709     622,   623,   624,   624,   625,   625,   626,   626,   627,   627, 
     2710     627,   627,   627,   628,   628,   629,   629,   630,   630,   630, 
     2711     630,   630,   632,   631,   633,   631,   634,   635,   635,   636, 
     2712     636,   636,   636,   636,   636,   636,   636,   636,   636,   636, 
     2713     637,   639,   638,   640,   640,   642,   641,   644,   643,   645, 
     2714     645,   646,   646,   647,   648,   648,   649,   649,   650,   650, 
     2715     651,   651,   652,   654,   653,   655,   653,   656,   656,   656, 
     2716     657,   657,   658,   659,   659,   241,   241,   661,   660,   663, 
     2717     664,   662,   665,   665,   666,   666,   667,   668,   668,   669, 
     2718     669,   670,   671,   671,   672,   672,   672,   673,   674,   675, 
     2719     675,   676,   676,   677,   678,   679,   679,   680,   681,   682, 
     2720     681,   684,   683,   685,   683,   686,   687,   683,   689,   688, 
     2721     690,   690,   690,   691,   691,   692,   692,   693,   693,   693, 
     2722     694,   694,   695,   695,   696,   696,   696,   697,   699,   700, 
     2723     698,   701,   702,   703,   703,   704,   706,   705,   707,   707, 
     2724     708,   710,   709,   711,   712,   713,   714,   714,   715,   716, 
     2725     715,   717,   717,   718,   718,   719,   719,   720,   720,   722, 
     2726     721,   723,   723,   724,   724,   724,   724,   724,   725,   726, 
     2727     726 
    25742728}; 
    25752729 
     
    25772731static const yytype_uint8 yyr2[] = 
    25782732{ 
    2579        0,     2,     0,     2,     1,     1,     2,     1,     2,     1, 
    2580        3,     2,     2,     1,     3,     3,     2,     2,     3,     1, 
    2581        0,     0,     1,     0,     2,     4,     2,     5,     2,     1, 
    2582        2,     1,     1,     0,     2,     3,     0,     2,     3,     1, 
    2583        3,     1,     1,     2,     4,     2,     2,     4,     2,     1, 
    2584        1,     1,     1,     1,     1,     1,     1,     1,     4,     3, 
    2585        3,     2,     2,     0,     1,     1,     1,     1,     1,     1, 
     2733       0,     2,     0,     2,     1,     1,     1,     2,     1,     1, 
     2734       3,     2,     1,     3,     3,     1,     3,     1,     0,     1, 
     2735       1,     1,     1,     1,     1,     0,     1,     1,     1,     2, 
     2736       2,     2,     1,     1,     2,     2,     2,     2,     2,     2, 
     2737       2,     2,     2,     3,     3,     2,     2,     2,     2,     2, 
     2738       2,     2,     2,     2,     2,     0,     1,     2,     2,     2, 
     2739       1,     1,     1,     1,     0,     1,     2,     0,     5,     0, 
     2740       6,     1,     0,     5,     4,     1,     2,     1,     3,     1, 
     2741       1,     3,     5,     4,     3,     2,     2,     1,     1,     1, 
     2742       1,     1,     1,     1,     1,     2,     2,     1,     2,     1, 
     2743       1,     0,     1,     0,     1,     2,     0,     1,     0,     1, 
     2744       1,     2,     1,     1,     1,     1,     1,     1,     1,     1, 
     2745       1,     1,     1,     1,     1,     0,     1,     2,     0,     1, 
     2746       1,     2,     1,     1,     0,     1,     3,     0,     1,     1, 
     2747       2,     1,     1,     1,     1,     1,     1,     1,     1,     1, 
     2748       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, 
     2749       1,     1,     1,     1,     1,     1,     1,     2,     4,     2, 
    25862750       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, 
    25872751       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, 
    2588        3,     3,     5,     1,     3,     3,     2,     4,     1,     3, 
    2589        0,     1,     2,     3,     1,     1,     2,     1,     3,     4, 
    2590        4,     8,     1,     3,     2,     3,     5,     3,     1,     0, 
    2591        2,     1,     4,     3,     2,     3,     3,     3,     3,     0, 
    2592        1,     2,     3,     5,     3,     1,     5,     5,     2,     3, 
    2593        2,     3,     1,     1,     3,     3,     2,     3,     5,     1, 
    2594        2,     1,     3,     2,     1,     3,     0,     1,     1,     3, 
    2595        3,     2,     1,     3,     2,     2,     5,     6,     0,     2, 
    2596        2,     3,     3,     0,     2,     4,     3,     3,     4,     2, 
    2597        1,     1,     1,     1,     1,     1,     1,     0,     2,     1, 
    2598        3,     0,     2,     3,     1,     3,     2,     3,     1,     1, 
    2599        1,     1,     1,     1,     0,     3,     0,     1,     3,     1, 
    2600        3,     1,     1,     1,     2,     1,     4,     1,     1,     1, 
    2601        1,     1,     1,     1,     1,     1,     1,     0,     3,     1, 
    2602        3,     1,     1,     2,     2,     3,     1,     1,     1,     1, 
    2603        1,     3,     3,     3,     4,     4,     3,     4,     4,     3, 
    2604        4,     4,     4,     4,     4,     4,     4,     4,     4,     4, 
    2605        4,     4,     4,     3,     4,     3,     4,     4,     1,     3, 
    2606        1,     1,     1,     2,     2,     2,     1,     1,     2,     2, 
    2607        2,     2,     2,     2,     2,     2,     2,     3,     3,     2, 
    2608        2,     2,     2,     2,     2,     2,     2,     2,     2,     0, 
    2609        1,     2,     2,     2,     1,     1,     1,     1,     0,     1, 
    2610        2,     4,     5,     4,     4,     3,     1,     2,     1,     3, 
    2611        1,     1,     3,     5,     4,     3,     2,     2,     1,     1, 
    2612        1,     1,     1,     1,     1,     1,     2,     2,     1,     2, 
    2613        1,     1,     0,     1,     5,     0,     1,     1,     1,     0, 
    2614        2,     2,     5,     2,     4,     6,     6,     1,     1,     3, 
    2615        3,     1,     3,     3,     1,     1,     1,     1,     1,     1, 
    2616        1,     1,     1,     2,     1,     1,     2,     2,     2,     3, 
    2617        2,     5,     5,     2,     2,     2,     2,     1,     4,     1, 
    2618        2,     2,     2,     2,     1,     1,     1,     1,     5,     6, 
    2619        0,     3,     0,     4,     0,     4,     4,     1,     1,     1, 
    2620        1,     1,     3,     4,     1,     2,     1,     2,     0,     0, 
    2621        2,     3,     1,     4,     1,     1,     4,     2,     5,     3, 
    2622        3,     1,     4,     2,     6,     8,     5,     3,     1,     1, 
    2623        1,     1,     1,     2,     6,     0,     1,     2,     3,     0, 
    2624        1,     2,     3,     7,     5,     5,     6,     1,     2,     1, 
    2625        2,     5,     4,     0,     1,     2,     3,     6,     4,     2, 
    2626        3,     1,     2,     3,     1,     1,     3,     1,     2,     2, 
    2627        3,     1,     1,     1,     1,     1,     1,     1,     1,     1, 
    2628        0,     4,     7,     1,     3,     2,     2,     2,     0,     3, 
    2629        0,     1,     2,     2,     1,     1,     3,     1,     2,     1, 
    2630        1,     0,     1,     2,     2,     0,     2,     3,     3,     3, 
    2631        1,     3,     1,     1,     3,     1,     1,     1,     3,     5, 
    2632        4,     2,     2,     0,     1,     1,     1,     1,     1,     1, 
    2633        1,     1,     1,     3,     1,     1,     3,     3,     3,     3, 
    2634        2,     3,     2,     2,     2,     2,     2,     2,     2,     3, 
    2635        1,     1,     1,     1,     3,     2,     4,     2,     2,     5, 
    2636        0,     1,     2,     1,     1,     1,     1,     3,     3,     3, 
    2637        3,     3,     3,     5,     5,     5,     5,     7,     8,     2, 
    2638        1,     3,     1,     1,     3,     0,     4,     1,     3 
     2752       1,     1,     0,     1,     1,     1,     0,     1,     1,     1, 
     2753       1,     1,     0,     2,     3,     3,     0,     3,     0,     3, 
     2754       0,     3,     0,     3,     0,     3,     0,     3,     0,     1, 
     2755       3,     5,     2,     1,     2,     1,     3,     1,     1,     1, 
     2756       2,     1,     3,     5,     1,     1,     1,     1,     1,     1, 
     2757       0,     2,     0,     1,     1,     9,     5,     5,     9,     3, 
     2758       5,     2,     3,     3,     1,     1,     1,     1,     1,     1, 
     2759       0,     4,     4,     7,     0,     2,     0,     2,     1,     3, 
     2760       1,     1,     3,     1,     2,     3,     0,     1,     1,     2, 
     2761       1,     4,     0,     1,     3,     1,     3,     1,     1,     0, 
     2762       5,     1,     1,     3,     4,     0,     3,     1,     1,     0, 
     2763       1,     2,     2,     2,     1,     1,     4,     1,     3,     1, 
     2764       3,     3,     4,     1,     3,     1,     3,     1,     1,     1, 
     2765       3,     3,     1,     1,     1,     1,     3,     1,     1,     5, 
     2766       5,     7,     1,     0,     0,     6,     0,     2,     0,     1, 
     2767       2,     3,     1,     1,     0,     5,     1,     0,     5,     1, 
     2768       1,     1,     1,     1,     1,     1,     3,     4,     1,     1, 
     2769       0,     1,     2,     2,     2,     1,     1,     1,     0,     0, 
     2770       4,     1,     1,     1,     1,     1,     1,     3,     3,     1, 
     2771       1,     1,     1,     3,     1,     2,     1,     3,     1,     3, 
     2772       0,     2,     0,     2,     1,     3,     2,     1,     1,     1, 
     2773       0,     4,     0,     2,     1,     3,     1,     1,     0,     5, 
     2774       0,     1,     2,     3,     4,     1,     3,     1,     3,     1, 
     2775       1,     9,    11,     1,     3,     1,     1,     1,     1,     2, 
     2776       2,     2,     1,     1,     1,     1,     1,     0,     2,     1, 
     2777       1,     1,     1,     1,     1,     1,     1,     1,     0,     0, 
     2778       6,     0,     5,     0,     7,     0,     0,     7,     1,     3, 
     2779       3,     0,     0,     6,     0,     1,     0,     1,     1,     3, 
     2780       1,     1,     1,     1,     0,     4,     0,     5,     1,     3, 
     2781       4,     1,     3,     1,     3,     7,     0,     6,     1,     3, 
     2782       1,     3,     1,     3,     0,     6,     1,     3,     1,     1, 
     2783       1,     0,     0,     7,     0,     1,     1,     3,     0,     1, 
     2784       0,     0,     5,     1,     3,     1,     0,     5,     1,     1, 
     2785       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, 
     2786       1,     1,     1,     4,     4,     3,     2,     0,     3,     1, 
     2787       0,     5,     1,     1,     1,     1,     4,     0,     1,     3, 
     2788       2,     1,     2,     3,     4,     2,     1,     3,     4,     2, 
     2789       1,     2,     3,     4,     2,     0,     1,     0,     0,     8, 
     2790       0,     2,     1,     3,     2,     3,     1,     1,     1,     3, 
     2791       2,     1,     1,     0,     3,     1,     3,     2,     0,     2, 
     2792       1,     1,     0,     0,     8,     1,     3,     0,     2,     1, 
     2793       3,     2,     3,     1,     1,     1,     1,     3,     1,     1, 
     2794       3,     1,     3,     1,     2,     3,     1,     2,     1,     1, 
     2795       1,     1,     1,     1,     3,     1,     1,     3,     1,     1, 
     2796       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, 
     2797       1,     2,     1,     3,     1,     3,     1,     3,     1,     1, 
     2798       1,     1,     1,     1,     1,     1,     1,     0,     1,     1, 
     2799       1,     1,     1,     1,     1,     1,     4,     5,     5,     7, 
     2800       4,     0,     3,     1,     3,     1,     3,     2,     3,     1, 
     2801       1,     3,     1,     1,     1,     5,     5,     0,     2,     0, 
     2802       3,     0,     3,     5,     1,     1,     1,     1,     1,     4, 
     2803       5,     2,     3,     2,     3,     0,     1,     0,     2,     1, 
     2804       1,     1,     3,     3,     4,     2,     5,     3,     4,     2, 
     2805       5,     3,     4,     2,     5,     3,     6,     8,     5,     3, 
     2806       1,     1,     1,     2,     3,     4,     1,     1,     3,     2, 
     2807       1,     1,     1,     1,     1,     1,     1,     2,     4,     1, 
     2808       1,     1,     1,     1,     1,     1,     1,     4,     3,     2, 
     2809       3,     3,     2,     0,     1,     3,     5,     0,     1,     2, 
     2810       2,     0,     1,     2,     2,     7,     8,     6,     6,     7, 
     2811       2,     3,     2,     3,     5,     3,     0,     1,     2,     2, 
     2812       0,     8,     0,     6,     3,     4,     0,     3,     0,     4, 
     2813       0,     4,     1,     1,     3,     1,     2,     2,     3,     1, 
     2814       2,     3,     3,    10,     3,     2,     3,     1,     1,     1, 
     2815       1,     1,     1,     1,     0,     0,     7,     1,     3,     1, 
     2816       2,     2,     2,     2,     2,     2,     2,     2,     2,     3, 
     2817       1,     1,     0,     7,     1,     3,     1,     2,     2,     2, 
     2818       3,     0,     6,     0,     7,     4,     6,     0,     6,     0, 
     2819       7,     4,     6,     1,     3,     1,     1,     2,     1,     1, 
     2820       2,     2,     2,     2,     2,     2,     3,     1,     1,     1, 
     2821       1,     3,     1,     1,     1,     3,     1,     1,     5,     1, 
     2822       3,     1,     5,     7,     3,     5,     1,     3,     1,     2, 
     2823       2,     2,     2,     3,     5,     1,     3,     1,     2,     2, 
     2824       2,     2,     0,     7,     0,     9,     0,     1,     3,     1, 
     2825       2,     2,     2,     2,     2,     2,     2,     3,     2,     2, 
     2826       2,     0,     5,     0,     1,     0,     4,     0,     6,     0, 
     2827       1,     0,     1,     2,     0,     1,     1,     2,     1,     1, 
     2828       1,     2,     0,     0,     8,     0,    11,     0,     1,     3, 
     2829       0,     1,     5,     0,     1,     0,     1,     0,     4,     0, 
     2830       0,     6,     0,     1,     0,     1,     1,     0,     2,     1, 
     2831       3,     3,     1,     3,     1,     1,     1,     1,     1,     3, 
     2832       4,     1,     3,     1,     4,     1,     3,     1,     3,     0, 
     2833       5,     0,     3,     0,     5,     0,     0,     7,     0,     4, 
     2834       1,     1,     1,     1,     3,     1,     3,     1,     1,     1, 
     2835       0,     1,     1,     2,     1,     1,     1,     5,     0,     0, 
     2836      10,     1,     1,     0,     1,     4,     0,     7,     0,     1, 
     2837       5,     0,     6,     1,     6,     0,     0,     1,     0,     0, 
     2838       4,     0,     1,     1,     3,     1,     1,     3,     4,     0, 
     2839       4,     1,     1,     3,     3,     1,     3,     1,     0,     1, 
     2840       3 
    26392841}; 
    26402842 
     
    26522854#define YYRECOVERING()  (!!yyerrstatus) 
    26532855 
    2654 #define YYBACKUP(Token, Value)                                    \ 
    2655   do                                                              \ 
    2656     if (yychar == YYEMPTY)                                        \ 
    2657       {                                                           \ 
    2658         yychar = (Token);                                         \ 
    2659         yylval = (Value);                                         \ 
    2660         YYPOPSTACK (yylen);                                       \ 
    2661         yystate = *yyssp;                                         \ 
    2662         goto yybackup;                                            \ 
    2663       }                                                           \ 
    2664     else                                                          \ 
    2665       {                                                           \ 
    2666         yyerror (YY_("syntax error: cannot back up")); \ 
    2667         YYERROR;                                                  \ 
    2668       }                                                           \ 
    2669   while (0) 
     2856#define YYBACKUP(Token, Value)                                  \ 
     2857do                                                              \ 
     2858  if (yychar == YYEMPTY)                                        \ 
     2859    {                                                           \ 
     2860      yychar = (Token);                                         \ 
     2861      yylval = (Value);                                         \ 
     2862      YYPOPSTACK (yylen);                                       \ 
     2863      yystate = *yyssp;                                         \ 
     2864      goto yybackup;                                            \ 
     2865    }                                                           \ 
     2866  else                                                          \ 
     2867    {                                                           \ 
     2868      yyerror (YY_("syntax error: cannot back up")); \ 
     2869      YYERROR;                                                  \ 
     2870    }                                                           \ 
     2871while (0) 
    26702872 
    26712873/* Error token number */ 
     
    27072909 
    27082910 
    2709 /*-----------------------------------. 
    2710 | Print this symbol's value on YYO.  | 
    2711 `-----------------------------------*/ 
     2911/*----------------------------------------. 
     2912| Print this symbol's value on YYOUTPUT.  | 
     2913`----------------------------------------*/ 
    27122914 
    27132915static void 
    2714 yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) 
     2916yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 
    27152917{ 
    2716   FILE *yyoutput = yyo; 
    2717   YYUSE (yyoutput); 
     2918  FILE *yyo = yyoutput; 
     2919  YYUSE (yyo); 
    27182920  if (!yyvaluep) 
    27192921    return; 
    27202922# ifdef YYPRINT 
    27212923  if (yytype < YYNTOKENS) 
    2722     YYPRINT (yyo, yytoknum[yytype], *yyvaluep); 
     2924    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 
    27232925# endif 
    2724   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
    27252926  YYUSE (yytype); 
    2726   YY_IGNORE_MAYBE_UNINITIALIZED_END 
    27272927} 
    27282928 
    27292929 
    2730 /*---------------------------. 
    2731 | Print this symbol on YYO.  | 
    2732 `---------------------------*/ 
     2930/*--------------------------------. 
     2931| Print this symbol on YYOUTPUT.  | 
     2932`--------------------------------*/ 
    27332933 
    27342934static void 
    2735 yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) 
     2935yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 
    27362936{ 
    2737   YYFPRINTF (yyo, "%s %s (", 
     2937  YYFPRINTF (yyoutput, "%s %s (", 
    27382938             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 
    27392939 
    2740   yy_symbol_value_print (yyo, yytype, yyvaluep); 
    2741   YYFPRINTF (yyo, ")"); 
     2940  yy_symbol_value_print (yyoutput, yytype, yyvaluep); 
     2941  YYFPRINTF (yyoutput, ")"); 
    27422942} 
    27432943 
     
    27732973yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 
    27742974{ 
    2775   unsigned long yylno = yyrline[yyrule]; 
     2975  unsigned long int yylno = yyrline[yyrule]; 
    27762976  int yynrhs = yyr2[yyrule]; 
    27772977  int yyi; 
     
    27842984      yy_symbol_print (stderr, 
    27852985                       yystos[yyssp[yyi + 1 - yynrhs]], 
    2786                        &yyvsp[(yyi + 1) - (yynrhs)] 
     2986                       &(yyvsp[(yyi + 1) - (yynrhs)]) 
    27872987                                              ); 
    27882988      YYFPRINTF (stderr, "\n"); 
     
    28883088            if (*++yyp != '\\') 
    28893089              goto do_not_strip_quotes; 
    2890             else 
    2891               goto append; 
    2892  
    2893           append: 
     3090            /* Fall through.  */ 
    28943091          default: 
    28953092            if (yyres) 
     
    29093106    return yystrlen (yystr); 
    29103107 
    2911   return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres); 
     3108  return yystpcpy (yyres, yystr) - yyres; 
    29123109} 
    29133110# endif 
     
    29873184                { 
    29883185                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); 
    2989                   if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) 
    2990                     yysize = yysize1; 
    2991                   else 
     3186                  if (! (yysize <= yysize1 
     3187                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 
    29923188                    return 2; 
     3189                  yysize = yysize1; 
    29933190                } 
    29943191              } 
     
    30023199        yyformat = S;                       \ 
    30033200      break 
    3004     default: /* Avoid compiler warnings. */ 
    30053201      YYCASE_(0, YY_("syntax error")); 
    30063202      YYCASE_(1, YY_("syntax error, unexpected %s")); 
     
    30143210  { 
    30153211    YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 
    3016     if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) 
    3017       yysize = yysize1; 
    3018     else 
     3212    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 
    30193213      return 2; 
     3214    yysize = yysize1; 
    30203215  } 
    30213216 
     
    31433338  goto yysetstate; 
    31443339 
    3145  
    31463340/*------------------------------------------------------------. 
    3147 | yynewstate -- push a new state, which is found in yystate.  | 
     3341| yynewstate -- Push a new state, which is found in yystate.  | 
    31483342`------------------------------------------------------------*/ 
    3149 yynewstate: 
     3343 yynewstate: 
    31503344  /* In all cases, when you get here, the value and location stacks 
    31513345     have just been pushed.  So pushing a state here evens the stacks.  */ 
    31523346  yyssp++; 
    31533347 
    3154  
    3155 /*--------------------------------------------------------------------. 
    3156 | yynewstate -- set current state (the top of the stack) to yystate.  | 
    3157 `--------------------------------------------------------------------*/ 
    3158 yysetstate: 
    3159   YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 
    3160   YY_ASSERT (0 <= yystate && yystate < YYNSTATES); 
    3161   *yyssp = (yytype_int16) yystate; 
     3348 yysetstate: 
     3349  *yyssp = yystate; 
    31623350 
    31633351  if (yyss + yystacksize - 1 <= yyssp) 
    3164 #if !defined yyoverflow && !defined YYSTACK_RELOCATE 
    3165     goto yyexhaustedlab; 
    3166 #else 
    31673352    { 
    31683353      /* Get the current used size of the three stacks, in elements.  */ 
    3169       YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1); 
    3170  
    3171 # if defined yyoverflow 
     3354      YYSIZE_T yysize = yyssp - yyss + 1; 
     3355 
     3356#ifdef yyoverflow 
    31723357      { 
    31733358        /* Give user a chance to reallocate the stack.  Use copies of 
     
    31853370                    &yyvs1, yysize * sizeof (*yyvsp), 
    31863371                    &yystacksize); 
     3372 
    31873373        yyss = yyss1; 
    31883374        yyvs = yyvs1; 
    31893375      } 
    3190 # else /* defined YYSTACK_RELOCATE */ 
     3376#else /* no yyoverflow */ 
     3377# ifndef YYSTACK_RELOCATE 
     3378      goto yyexhaustedlab; 
     3379# else 
    31913380      /* Extend the stack our own way.  */ 
    31923381      if (YYMAXDEPTH <= yystacksize) 
     
    32043393        YYSTACK_RELOCATE (yyss_alloc, yyss); 
    32053394        YYSTACK_RELOCATE (yyvs_alloc, yyvs); 
    3206 # undef YYSTACK_RELOCATE 
     3395#  undef YYSTACK_RELOCATE 
    32073396        if (yyss1 != yyssa) 
    32083397          YYSTACK_FREE (yyss1); 
    32093398      } 
    32103399# endif 
     3400#endif /* no yyoverflow */ 
    32113401 
    32123402      yyssp = yyss + yysize - 1; 
     
    32143404 
    32153405      YYDPRINTF ((stderr, "Stack size increased to %lu\n", 
    3216                   (unsigned long) yystacksize)); 
     3406                  (unsigned long int) yystacksize)); 
    32173407 
    32183408      if (yyss + yystacksize - 1 <= yyssp) 
    32193409        YYABORT; 
    32203410    } 
    3221 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ 
     3411 
     3412  YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 
    32223413 
    32233414  if (yystate == YYFINAL) 
     
    32253416 
    32263417  goto yybackup; 
    3227  
    32283418 
    32293419/*-----------. 
     
    32313421`-----------*/ 
    32323422yybackup: 
     3423 
    32333424  /* Do appropriate processing given the current state.  Read a 
    32343425     lookahead token if we need one and don't already have one.  */ 
     
    32883479  *++yyvsp = yylval; 
    32893480  YY_IGNORE_MAYBE_UNINITIALIZED_END 
     3481 
    32903482  goto yynewstate; 
    32913483 
     
    33023494 
    33033495/*-----------------------------. 
    3304 | yyreduce -- do a reduction.  | 
     3496| yyreduce -- Do a reduction.  | 
    33053497`-----------------------------*/ 
    33063498yyreduce: 
     
    33223514  switch (yyn) 
    33233515    { 
     3516        case 6: 
     3517#line 519 "fortran.y" /* yacc.c:1646  */ 
     3518    {yyerrok;yyclearin;} 
     3519#line 3520 "fortran.tab.c" /* yacc.c:1646  */ 
     3520    break; 
     3521 
    33243522  case 7: 
    3325 #line 319 "fortran.y" 
    3326     {yyerrok;yyclearin;} 
    3327 #line 3328 "fortran.tab.c" 
    3328     break; 
    3329  
    3330   case 18: 
    3331 #line 337 "fortran.y" 
     3523#line 522 "fortran.y" /* yacc.c:1646  */ 
     3524    {token_since_endofstmt = 0; increment_nbtokens = 0;} 
     3525#line 3526 "fortran.tab.c" /* yacc.c:1646  */ 
     3526    break; 
     3527 
     3528  case 16: 
     3529#line 535 "fortran.y" /* yacc.c:1646  */ 
    33323530    { 
    33333531            if (inmoduledeclare == 0 ) 
     
    33373535            } 
    33383536        } 
    3339 #line 3340 "fortran.tab.c" 
    3340     break; 
    3341  
    3342   case 20: 
    3343 #line 347 "fortran.y" 
     3537#line 3538 "fortran.tab.c" /* yacc.c:1646  */ 
     3538    break; 
     3539 
     3540  case 18: 
     3541#line 560 "fortran.y" /* yacc.c:1646  */ 
    33443542    { pos_cur = setposcur(); } 
    3345 #line 3346 "fortran.tab.c" 
    3346     break; 
    3347  
    3348   case 21: 
    3349 #line 350 "fortran.y" 
    3350     { isrecursive = 0; } 
    3351 #line 3352 "fortran.tab.c" 
    3352     break; 
    3353  
    3354   case 22: 
    3355 #line 351 "fortran.y" 
    3356     { isrecursive = 1; } 
    3357 #line 3358 "fortran.tab.c" 
    3358     break; 
    3359  
    3360   case 23: 
    3361 #line 354 "fortran.y" 
    3362     { is_result_present = 0; } 
    3363 #line 3364 "fortran.tab.c" 
     3543#line 3544 "fortran.tab.c" /* yacc.c:1646  */ 
    33643544    break; 
    33653545 
    33663546  case 24: 
    3367 #line 355 "fortran.y" 
    3368     { is_result_present = 1; } 
    3369 #line 3370 "fortran.tab.c" 
    3370     break; 
    3371  
    3372   case 25: 
    3373 #line 359 "fortran.y" 
    3374     { 
    3375             insubroutinedeclare = 1; 
    3376             if ( firstpass ) 
    3377                 Add_SubroutineArgument_Var_1((yyvsp[0].l)); 
    3378             else 
    3379                 WriteBeginof_SubLoop(); 
    3380         } 
    3381 #line 3382 "fortran.tab.c" 
    3382     break; 
    3383  
    3384   case 26: 
    3385 #line 367 "fortran.y" 
    3386     { 
    3387             insubroutinedeclare = 1; 
    3388             inprogramdeclare = 1; 
    3389             /* in the second step we should write the head of       */ 
    3390             /*    the subroutine sub_loop_<subroutinename>          */ 
    3391             if ( ! firstpass ) 
    3392                 WriteBeginof_SubLoop(); 
    3393         } 
    3394 #line 3395 "fortran.tab.c" 
     3547#line 584 "fortran.y" /* yacc.c:1646  */ 
     3548    { Add_Include_1((yyvsp[0].na)); } 
     3549#line 3550 "fortran.tab.c" /* yacc.c:1646  */ 
    33953550    break; 
    33963551 
    33973552  case 27: 
    3398 #line 376 "fortran.y" 
    3399     { 
    3400             insubroutinedeclare = 1; 
    3401             strcpy(DeclType, ""); 
    3402             /* we should to list of the subroutine argument the  */ 
    3403             /*    name of the function which has to be defined   */ 
    3404             if ( firstpass ) 
    3405             { 
    3406                 Add_SubroutineArgument_Var_1((yyvsp[-1].l)); 
    3407                 if ( ! is_result_present ) 
    3408                     Add_FunctionType_Var_1((yyvsp[-2].na)); 
    3409             } 
    3410             else 
    3411             /* in the second step we should write the head of    */ 
    3412             /*    the subroutine sub_loop_<subroutinename>       */ 
    3413                 WriteBeginof_SubLoop(); 
    3414         } 
    3415 #line 3416 "fortran.tab.c" 
     3553#line 1104 "fortran.y" /* yacc.c:1646  */ 
     3554    { strcpy((yyval.na),(yyvsp[0].na)); } 
     3555#line 3556 "fortran.tab.c" /* yacc.c:1646  */ 
    34163556    break; 
    34173557 
    34183558  case 28: 
    3419 #line 393 "fortran.y" 
    3420     { 
    3421             GlobalDeclaration = 0; 
    3422             strcpy(curmodulename,(yyvsp[0].na)); 
    3423             strcpy(subroutinename,""); 
    3424             Add_NameOfModule_1((yyvsp[0].na)); 
    3425             if ( inmoduledeclare == 0 ) 
    3426             { 
    3427                 /* To know if there are in the module declaration    */ 
    3428                 inmoduledeclare = 1; 
    3429                 /* to know if a module has been met                  */ 
    3430                 inmodulemeet = 1; 
    3431                 /* to know if we are after the keyword contains      */ 
    3432                 aftercontainsdeclare = 0 ; 
    3433             } 
    3434         } 
    3435 #line 3436 "fortran.tab.c" 
     3559#line 1105 "fortran.y" /* yacc.c:1646  */ 
     3560    { strcpy((yyval.na),(yyvsp[0].na)); } 
     3561#line 3562 "fortran.tab.c" /* yacc.c:1646  */ 
     3562    break; 
     3563 
     3564  case 29: 
     3565#line 1106 "fortran.y" /* yacc.c:1646  */ 
     3566    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3567#line 3568 "fortran.tab.c" /* yacc.c:1646  */ 
     3568    break; 
     3569 
     3570  case 30: 
     3571#line 1107 "fortran.y" /* yacc.c:1646  */ 
     3572    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3573#line 3574 "fortran.tab.c" /* yacc.c:1646  */ 
    34363574    break; 
    34373575 
    34383576  case 31: 
    3439 #line 415 "fortran.y" 
    3440     { strcpy((yyval.na), (yyvsp[0].na)); strcpy(subroutinename, (yyvsp[0].na)); } 
    3441 #line 3442 "fortran.tab.c" 
     3577#line 1108 "fortran.y" /* yacc.c:1646  */ 
     3578    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3579#line 3580 "fortran.tab.c" /* yacc.c:1646  */ 
    34423580    break; 
    34433581 
    34443582  case 32: 
    3445 #line 417 "fortran.y" 
    3446     { Add_Include_1((yyvsp[0].na)); } 
    3447 #line 3448 "fortran.tab.c" 
     3583#line 1110 "fortran.y" /* yacc.c:1646  */ 
     3584    { strcpy((yyval.na),"+"); } 
     3585#line 3586 "fortran.tab.c" /* yacc.c:1646  */ 
    34483586    break; 
    34493587 
    34503588  case 33: 
    3451 #line 419 "fortran.y" 
    3452     { if ( firstpass ) (yyval.l)=NULL; } 
    3453 #line 3454 "fortran.tab.c" 
     3589#line 1111 "fortran.y" /* yacc.c:1646  */ 
     3590    { strcpy((yyval.na),"-"); } 
     3591#line 3592 "fortran.tab.c" /* yacc.c:1646  */ 
    34543592    break; 
    34553593 
    34563594  case 34: 
    3457 #line 420 "fortran.y" 
    3458     { if ( firstpass ) (yyval.l)=NULL; } 
    3459 #line 3460 "fortran.tab.c" 
     3595#line 1115 "fortran.y" /* yacc.c:1646  */ 
     3596    { sprintf((yyval.na),"+%s",(yyvsp[0].na)); } 
     3597#line 3598 "fortran.tab.c" /* yacc.c:1646  */ 
    34603598    break; 
    34613599 
    34623600  case 35: 
    3463 #line 421 "fortran.y" 
    3464     { if ( firstpass ) (yyval.l)=(yyvsp[-1].l); } 
    3465 #line 3466 "fortran.tab.c" 
     3601#line 1116 "fortran.y" /* yacc.c:1646  */ 
     3602    { sprintf((yyval.na),"-%s",(yyvsp[0].na)); } 
     3603#line 3604 "fortran.tab.c" /* yacc.c:1646  */ 
     3604    break; 
     3605 
     3606  case 36: 
     3607#line 1117 "fortran.y" /* yacc.c:1646  */ 
     3608    { sprintf((yyval.na),"*%s",(yyvsp[0].na)); } 
     3609#line 3610 "fortran.tab.c" /* yacc.c:1646  */ 
     3610    break; 
     3611 
     3612  case 37: 
     3613#line 1118 "fortran.y" /* yacc.c:1646  */ 
     3614    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3615#line 3616 "fortran.tab.c" /* yacc.c:1646  */ 
    34663616    break; 
    34673617 
    34683618  case 38: 
    3469 #line 425 "fortran.y" 
    3470     { if ( firstpass ) Add_SubroutineArgument_Var_1((yyvsp[-1].l)); } 
    3471 #line 3472 "fortran.tab.c" 
     3619#line 1119 "fortran.y" /* yacc.c:1646  */ 
     3620    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3621#line 3622 "fortran.tab.c" /* yacc.c:1646  */ 
    34723622    break; 
    34733623 
    34743624  case 39: 
    3475 #line 428 "fortran.y" 
    3476     { 
    3477             if ( firstpass == 1 ) 
    3478             { 
    3479                 strcpy(nameinttypenameback,nameinttypename); 
    3480                 strcpy(nameinttypename,""); 
    3481                 curvar = createvar((yyvsp[0].na),NULL); 
    3482                 strcpy(nameinttypename,nameinttypenameback); 
    3483                 curlistvar = insertvar(NULL,curvar); 
    3484                 (yyval.l) = settype("",curlistvar); 
    3485             } 
    3486         } 
    3487 #line 3488 "fortran.tab.c" 
     3625#line 1120 "fortran.y" /* yacc.c:1646  */ 
     3626    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3627#line 3628 "fortran.tab.c" /* yacc.c:1646  */ 
    34883628    break; 
    34893629 
    34903630  case 40: 
    3491 #line 440 "fortran.y" 
    3492     { 
    3493             if ( firstpass == 1 ) 
    3494             { 
    3495                 strcpy(nameinttypenameback,nameinttypename); 
    3496                 strcpy(nameinttypename,""); 
    3497                 curvar = createvar((yyvsp[0].na),NULL); 
    3498                 strcpy(nameinttypename,nameinttypenameback); 
    3499                 (yyval.l) = insertvar((yyvsp[-2].l),curvar); 
    3500             } 
    3501         } 
    3502 #line 3503 "fortran.tab.c" 
     3631#line 1121 "fortran.y" /* yacc.c:1646  */ 
     3632    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3633#line 3634 "fortran.tab.c" /* yacc.c:1646  */ 
    35033634    break; 
    35043635 
    35053636  case 41: 
    3506 #line 451 "fortran.y" 
    3507     { strcpy((yyval.na),(yyvsp[0].na)); } 
    3508 #line 3509 "fortran.tab.c" 
     3637#line 1122 "fortran.y" /* yacc.c:1646  */ 
     3638    { sprintf((yyval.na)," > %s",(yyvsp[0].na)); } 
     3639#line 3640 "fortran.tab.c" /* yacc.c:1646  */ 
    35093640    break; 
    35103641 
    35113642  case 42: 
    3512 #line 452 "fortran.y" 
    3513     { strcpy((yyval.na),"*"); } 
    3514 #line 3515 "fortran.tab.c" 
     3643#line 1123 "fortran.y" /* yacc.c:1646  */ 
     3644    { sprintf((yyval.na)," < %s",(yyvsp[0].na)); } 
     3645#line 3646 "fortran.tab.c" /* yacc.c:1646  */ 
     3646    break; 
     3647 
     3648  case 43: 
     3649#line 1124 "fortran.y" /* yacc.c:1646  */ 
     3650    { sprintf((yyval.na)," >= %s",(yyvsp[0].na)); } 
     3651#line 3652 "fortran.tab.c" /* yacc.c:1646  */ 
    35153652    break; 
    35163653 
    35173654  case 44: 
    3518 #line 455 "fortran.y" 
    3519     { inside_type_declare = 1; } 
    3520 #line 3521 "fortran.tab.c" 
     3655#line 1125 "fortran.y" /* yacc.c:1646  */ 
     3656    { sprintf((yyval.na)," <= %s",(yyvsp[0].na)); } 
     3657#line 3658 "fortran.tab.c" /* yacc.c:1646  */ 
    35213658    break; 
    35223659 
    35233660  case 45: 
    3524 #line 456 "fortran.y" 
    3525     { inside_type_declare = 0; } 
    3526 #line 3527 "fortran.tab.c" 
     3661#line 1126 "fortran.y" /* yacc.c:1646  */ 
     3662    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3663#line 3664 "fortran.tab.c" /* yacc.c:1646  */ 
     3664    break; 
     3665 
     3666  case 46: 
     3667#line 1127 "fortran.y" /* yacc.c:1646  */ 
     3668    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3669#line 3670 "fortran.tab.c" /* yacc.c:1646  */ 
    35273670    break; 
    35283671 
    35293672  case 47: 
    3530 #line 459 "fortran.y" 
    3531     { 
    3532             if ( ! inside_type_declare ) 
    3533             { 
    3534                 if ( firstpass ) 
    3535                 { 
    3536                     if ( insubroutinedeclare )  Add_Parameter_Var_1((yyvsp[-1].l)); 
    3537                     else                        Add_GlobalParameter_Var_1((yyvsp[-1].l)); 
    3538                 } 
    3539                 else 
    3540                 { 
    3541                     pos_end = setposcur(); 
    3542                     RemoveWordSET_0(fortran_out, pos_cur_decl, pos_end-pos_cur_decl); 
    3543                 } 
    3544             } 
    3545             VariableIsParameter =  0 ; 
    3546         } 
    3547 #line 3548 "fortran.tab.c" 
     3673#line 1128 "fortran.y" /* yacc.c:1646  */ 
     3674    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3675#line 3676 "fortran.tab.c" /* yacc.c:1646  */ 
    35483676    break; 
    35493677 
    35503678  case 48: 
    3551 #line 476 "fortran.y" 
    3552     { 
    3553             if ( ! inside_type_declare ) 
    3554             { 
    3555                 if ( firstpass ) 
    3556                 { 
    3557                     if ( insubroutinedeclare )  Add_Parameter_Var_1((yyvsp[0].l)); 
    3558                     else                        Add_GlobalParameter_Var_1((yyvsp[0].l)); 
    3559                 } 
    3560                 else 
    3561                 { 
    3562                     pos_end = setposcur(); 
    3563                     RemoveWordSET_0(fortran_out,pos_cur_decl,pos_end-pos_cur_decl); 
    3564                 } 
    3565             } 
    3566             VariableIsParameter =  0 ; 
    3567         } 
    3568 #line 3569 "fortran.tab.c" 
     3679#line 1129 "fortran.y" /* yacc.c:1646  */ 
     3680    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3681#line 3682 "fortran.tab.c" /* yacc.c:1646  */ 
     3682    break; 
     3683 
     3684  case 49: 
     3685#line 1130 "fortran.y" /* yacc.c:1646  */ 
     3686    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3687#line 3688 "fortran.tab.c" /* yacc.c:1646  */ 
    35693688    break; 
    35703689 
    35713690  case 50: 
    3572 #line 494 "fortran.y" 
    3573     { 
    3574             pos_end = setposcur(); 
    3575             RemoveWordSET_0(fortran_out,pos_cursave,pos_end-pos_cursave); 
    3576         } 
    3577 #line 3578 "fortran.tab.c" 
     3691#line 1131 "fortran.y" /* yacc.c:1646  */ 
     3692    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3693#line 3694 "fortran.tab.c" /* yacc.c:1646  */ 
     3694    break; 
     3695 
     3696  case 51: 
     3697#line 1132 "fortran.y" /* yacc.c:1646  */ 
     3698    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3699#line 3700 "fortran.tab.c" /* yacc.c:1646  */ 
    35783700    break; 
    35793701 
    35803702  case 52: 
    3581 #line 500 "fortran.y" 
    3582     { 
    3583             /* if the variable is a parameter we can suppose that is   */ 
    3584             /*    value is the same on each grid. It is not useless to */ 
    3585             /*    create a copy of it on each grid                     */ 
    3586             if ( ! inside_type_declare ) 
    3587             { 
    3588                 if ( firstpass ) 
    3589                 { 
    3590                     Add_Globliste_1((yyvsp[0].l)); 
    3591                     /* if variableparamlists has been declared in a subroutine   */ 
    3592                     if ( insubroutinedeclare )     Add_Dimension_Var_1((yyvsp[0].l)); 
    3593                 } 
    3594                 else 
    3595                 { 
    3596                     pos_end = setposcur(); 
    3597                     RemoveWordSET_0(fortran_out,pos_curdimension,pos_end-pos_curdimension); 
    3598                 } 
    3599             } 
    3600             PublicDeclare = 0; 
    3601             PrivateDeclare = 0; 
    3602             ExternalDeclare = 0; 
    3603             strcpy(NamePrecision,""); 
    3604             c_star = 0; 
    3605             InitialValueGiven = 0 ; 
    3606             strcpy(IntentSpec,""); 
    3607             VariableIsParameter =  0 ; 
    3608             Allocatabledeclare = 0 ; 
    3609             Targetdeclare = 0 ; 
    3610             SaveDeclare = 0; 
    3611             pointerdeclare = 0; 
    3612             optionaldeclare = 0 ; 
    3613             dimsgiven=0; 
    3614             c_selectorgiven=0; 
    3615             strcpy(nameinttypename,""); 
    3616             strcpy(c_selectorname,""); 
    3617         } 
    3618 #line 3619 "fortran.tab.c" 
     3703#line 1133 "fortran.y" /* yacc.c:1646  */ 
     3704    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     3705#line 3706 "fortran.tab.c" /* yacc.c:1646  */ 
    36193706    break; 
    36203707 
    36213708  case 53: 
    3622 #line 537 "fortran.y" 
    3623     { 
    3624             if (firstpass == 0) 
    3625             { 
    3626                 if ((yyvsp[0].lnn)) 
    3627                 { 
    3628                     removeglobfromlist(&((yyvsp[0].lnn))); 
    3629                     pos_end = setposcur(); 
    3630                     RemoveWordSET_0(fortran_out,pos_cur,pos_end-pos_cur); 
    3631                     writelistpublic((yyvsp[0].lnn)); 
    3632                 } 
    3633             } 
    3634         } 
    3635 #line 3636 "fortran.tab.c" 
     3709#line 1134 "fortran.y" /* yacc.c:1646  */ 
     3710    { sprintf((yyval.na),"%s",(yyvsp[0].na)); } 
     3711#line 3712 "fortran.tab.c" /* yacc.c:1646  */ 
     3712    break; 
     3713 
     3714  case 54: 
     3715#line 1135 "fortran.y" /* yacc.c:1646  */ 
     3716    { sprintf((yyval.na),"%s",(yyvsp[0].na)); } 
     3717#line 3718 "fortran.tab.c" /* yacc.c:1646  */ 
     3718    break; 
     3719 
     3720  case 55: 
     3721#line 1137 "fortran.y" /* yacc.c:1646  */ 
     3722    { strcpy((yyval.na),""); } 
     3723#line 3724 "fortran.tab.c" /* yacc.c:1646  */ 
     3724    break; 
     3725 
     3726  case 56: 
     3727#line 1138 "fortran.y" /* yacc.c:1646  */ 
     3728    { sprintf((yyval.na),"/%s",(yyvsp[0].na)); } 
     3729#line 3730 "fortran.tab.c" /* yacc.c:1646  */ 
     3730    break; 
     3731 
     3732  case 57: 
     3733#line 1139 "fortran.y" /* yacc.c:1646  */ 
     3734    { sprintf((yyval.na),"/= %s",(yyvsp[0].na));} 
     3735#line 3736 "fortran.tab.c" /* yacc.c:1646  */ 
     3736    break; 
     3737 
     3738  case 58: 
     3739#line 1140 "fortran.y" /* yacc.c:1646  */ 
     3740    { sprintf((yyval.na),"//%s",(yyvsp[0].na)); } 
     3741#line 3742 "fortran.tab.c" /* yacc.c:1646  */ 
     3742    break; 
     3743 
     3744  case 59: 
     3745#line 1143 "fortran.y" /* yacc.c:1646  */ 
     3746    { sprintf((yyval.na),"==%s",(yyvsp[0].na)); } 
     3747#line 3748 "fortran.tab.c" /* yacc.c:1646  */ 
     3748    break; 
     3749 
     3750  case 60: 
     3751#line 1144 "fortran.y" /* yacc.c:1646  */ 
     3752    { sprintf((yyval.na),"= %s",(yyvsp[0].na)); } 
     3753#line 3754 "fortran.tab.c" /* yacc.c:1646  */ 
     3754    break; 
     3755 
     3756  case 61: 
     3757#line 1147 "fortran.y" /* yacc.c:1646  */ 
     3758    { strcpy((yyval.na),(yyvsp[0].na)); } 
     3759#line 3760 "fortran.tab.c" /* yacc.c:1646  */ 
    36363760    break; 
    36373761 
    36383762  case 62: 
    3639 #line 558 "fortran.y" 
    3640     { 
    3641             /* we should remove the data declaration                */ 
    3642             pos_end = setposcur(); 
    3643             RemoveWordSET_0(fortran_out,pos_curdata,pos_end-pos_curdata); 
    3644  
    3645             if ( aftercontainsdeclare == 1  && firstpass == 0 ) 
    3646             { 
    3647                 ReWriteDataStatement_0(fortran_out); 
    3648                 pos_end = setposcur(); 
    3649             } 
    3650         } 
    3651 #line 3652 "fortran.tab.c" 
     3763#line 1148 "fortran.y" /* yacc.c:1646  */ 
     3764    { strcpy((yyval.na),(yyvsp[0].na)); } 
     3765#line 3766 "fortran.tab.c" /* yacc.c:1646  */ 
     3766    break; 
     3767 
     3768  case 63: 
     3769#line 1149 "fortran.y" /* yacc.c:1646  */ 
     3770    { strcpy((yyval.na),(yyvsp[0].na)); } 
     3771#line 3772 "fortran.tab.c" /* yacc.c:1646  */ 
    36523772    break; 
    36533773 
    36543774  case 64: 
    3655 #line 572 "fortran.y" 
    3656     { 
    3657             PublicDeclare = 0 ; 
    3658             PrivateDeclare = 0 ; 
    3659         } 
    3660 #line 3661 "fortran.tab.c" 
    3661     break; 
    3662  
    3663   case 102: 
    3664 #line 630 "fortran.y" 
    3665     { 
    3666             /* if the variable is a parameter we can suppose that is*/ 
    3667             /*    value is the same on each grid. It is not useless */ 
    3668             /*    to create a copy of it on each grid               */ 
    3669             if ( ! inside_type_declare ) 
    3670             { 
    3671                 pos_end = setposcur(); 
    3672                 RemoveWordSET_0(fortran_out,pos_cur_decl,pos_end-pos_cur_decl); 
    3673                 ReWriteDeclarationAndAddTosubroutine_01((yyvsp[-1].l)); 
    3674                 pos_cur_decl = setposcur(); 
    3675                 if ( firstpass == 0 && GlobalDeclaration == 0 
    3676                                     && insubroutinedeclare == 0 ) 
    3677                 { 
    3678                     fprintf(fortran_out,"\n#include \"Module_Declar_%s.h\"\n", curmodulename); 
    3679                     sprintf(ligne, "Module_Declar_%s.h", curmodulename); 
    3680                     module_declar = open_for_write(ligne); 
    3681                     GlobalDeclaration = 1 ; 
    3682                     pos_cur_decl = setposcur(); 
    3683                 } 
    3684                 (yyval.l) = (yyvsp[-1].l); 
    3685  
    3686                 if ( firstpass ) 
    3687                 { 
    3688                     Add_Globliste_1((yyvsp[-1].l)); 
    3689                     if ( insubroutinedeclare ) 
    3690                     { 
    3691                         if ( pointerdeclare ) Add_Pointer_Var_From_List_1((yyvsp[-1].l)); 
    3692                         Add_Parameter_Var_1((yyvsp[-1].l)); 
    3693                     } 
    3694                     else 
    3695                         Add_GlobalParameter_Var_1((yyvsp[-1].l)); 
    3696  
    3697                     /* If there's a SAVE declaration in module's subroutines we should    */ 
    3698                     /*    remove it from the subroutines declaration and add it in the    */ 
    3699                     /*    global declarations                                             */ 
    3700                     if ( aftercontainsdeclare && SaveDeclare ) 
    3701                     { 
    3702                         if ( inmodulemeet ) Add_SubroutineDeclarationSave_Var_1((yyvsp[-1].l)); 
    3703                         else                Add_Save_Var_dcl_1((yyvsp[-1].l)); 
    3704                     } 
    3705                 } 
    3706             } 
    3707             else 
    3708             { 
    3709                 (yyval.l) = (listvar *) NULL; 
    3710             } 
    3711             PublicDeclare = 0; 
    3712             PrivateDeclare = 0; 
    3713             ExternalDeclare = 0; 
    3714             strcpy(NamePrecision,""); 
    3715             c_star = 0; 
    3716             InitialValueGiven = 0 ; 
    3717             strcpy(IntentSpec,""); 
    3718             VariableIsParameter =  0 ; 
    3719             Allocatabledeclare = 0 ; 
    3720             Targetdeclare = 0 ; 
    3721             SaveDeclare = 0; 
    3722             pointerdeclare = 0; 
    3723             optionaldeclare = 0 ; 
    3724             dimsgiven=0; 
    3725             c_selectorgiven=0; 
    3726             strcpy(nameinttypename,""); 
    3727             strcpy(c_selectorname,""); 
    3728             GlobalDeclarationType = 0; 
    3729         } 
    3730 #line 3731 "fortran.tab.c" 
    3731     break; 
    3732  
    3733   case 103: 
    3734 #line 696 "fortran.y" 
    3735     { 
    3736             insubroutinedeclare = 1; 
    3737  
    3738             if ( firstpass ) 
    3739             { 
    3740                 Add_SubroutineArgument_Var_1((yyvsp[0].l)); 
    3741                 Add_FunctionType_Var_1((yyvsp[-1].na)); 
    3742             } 
    3743             else 
    3744                 WriteBeginof_SubLoop(); 
    3745  
    3746             strcpy(nameinttypename,""); 
    3747         } 
    3748 #line 3749 "fortran.tab.c" 
    3749     break; 
    3750  
    3751   case 104: 
    3752 #line 710 "fortran.y" 
    3753     { functiondeclarationisdone = 1; } 
    3754 #line 3755 "fortran.tab.c" 
    3755     break; 
    3756  
    3757   case 105: 
    3758 #line 712 "fortran.y" 
    3759     { VariableIsParameter = 1; pos_curparameter = setposcur()-9; } 
    3760 #line 3761 "fortran.tab.c" 
    3761     break; 
    3762  
    3763   case 109: 
    3764 #line 724 "fortran.y" 
    3765     { 
    3766             createstringfromlistname(ligne,(yyvsp[-1].lnn)); 
    3767             if (firstpass == 1) Add_Data_Var_1(&List_Data_Var,(yyvsp[-3].na),ligne); 
    3768             else                Add_Data_Var_1(&List_Data_Var_Cur,(yyvsp[-3].na),ligne); 
    3769         } 
    3770 #line 3771 "fortran.tab.c" 
    3771     break; 
    3772  
    3773   case 110: 
    3774 #line 730 "fortran.y" 
    3775     { 
    3776             if (firstpass == 1)  Add_Data_Var_Names_01(&List_Data_Var,(yyvsp[-3].lnn),(yyvsp[-1].lnn)); 
    3777             else                 Add_Data_Var_Names_01(&List_Data_Var_Cur,(yyvsp[-3].lnn),(yyvsp[-1].lnn)); 
    3778         } 
    3779 #line 3780 "fortran.tab.c" 
    3780     break; 
    3781  
    3782   case 111: 
    3783 #line 735 "fortran.y" 
    3784     { 
    3785             createstringfromlistname(ligne,(yyvsp[-1].lnn)); 
    3786             printf("###################################################################################################################\n"); 
    3787             printf("## CONV Error : data_implied_do statements (R537) are not yet supported. Please complain to the proper authorities.\n"); 
    3788             printf("l.%4d -- data_stmt_set : ( lhs , dospec ) /data_stmt_value_list/ -- lhs=|%s| dospec=|%s| data_stmt_value_list=|%s|\n", 
    3789                 line_num_input,(yyvsp[-6].na),(yyvsp[-4].na),ligne); 
    3790             printf("## But, are you SURE you NEED a DATA construct ?\n"); 
    3791             printf("###################################################################################################################\n"); 
    3792             exit(1); 
    3793         } 
    3794 #line 3795 "fortran.tab.c" 
    3795     break; 
    3796  
    3797   case 112: 
    3798 #line 748 "fortran.y" 
    3799     { (yyval.lnn) = Insertname(NULL,(yyvsp[0].na),0); } 
    3800 #line 3801 "fortran.tab.c" 
    3801     break; 
    3802  
    3803   case 113: 
    3804 #line 749 "fortran.y" 
    3805     { (yyval.lnn) = Insertname((yyvsp[0].lnn),(yyvsp[-2].na),1);   } 
    3806 #line 3807 "fortran.tab.c" 
    3807     break; 
    3808  
    3809   case 118: 
    3810 #line 758 "fortran.y" 
    3811     { pos_cursave = setposcur()-4; } 
    3812 #line 3813 "fortran.tab.c" 
    3813     break; 
    3814  
    3815   case 120: 
    3816 #line 761 "fortran.y" 
    3817     { if ( ! inside_type_declare ) Add_Save_Var_1((yyvsp[-1].na),(yyvsp[0].d)); } 
    3818 #line 3819 "fortran.tab.c" 
    3819     break; 
    3820  
    3821   case 121: 
    3822 #line 764 "fortran.y" 
    3823     { (yyval.lnn) = Insertname(NULL,(yyvsp[0].na),0); } 
    3824 #line 3825 "fortran.tab.c" 
    3825     break; 
    3826  
    3827   case 122: 
    3828 #line 765 "fortran.y" 
    3829     { printf("l.%4d -- INSTRUCTION NON TRAITEE : INITIALISATION DE DATA AVEC EXPRESSION\n",line_num_input); exit(0); } 
    3830 #line 3831 "fortran.tab.c" 
    3831     break; 
    3832  
    3833   case 123: 
    3834 #line 766 "fortran.y" 
    3835     { (yyval.lnn) = concat_listname((yyvsp[-2].lnn),(yyvsp[0].lnn)); } 
    3836 #line 3837 "fortran.tab.c" 
    3837     break; 
    3838  
    3839   case 124: 
    3840 #line 769 "fortran.y" 
    3841     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));  } 
    3842 #line 3843 "fortran.tab.c" 
    3843     break; 
    3844  
    3845   case 125: 
    3846 #line 770 "fortran.y" 
    3847     { sprintf((yyval.na),"%s+%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    3848 #line 3849 "fortran.tab.c" 
    3849     break; 
    3850  
    3851   case 126: 
    3852 #line 771 "fortran.y" 
    3853     { sprintf((yyval.na),"%s-%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    3854 #line 3855 "fortran.tab.c" 
    3855     break; 
    3856  
    3857   case 127: 
    3858 #line 772 "fortran.y" 
    3859     { sprintf((yyval.na),"%s*%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    3860 #line 3861 "fortran.tab.c" 
    3861     break; 
    3862  
    3863   case 128: 
    3864 #line 773 "fortran.y" 
    3865     { sprintf((yyval.na),"%s/%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    3866 #line 3867 "fortran.tab.c" 
    3867     break; 
    3868  
    3869   case 129: 
    3870 #line 775 "fortran.y" 
    3871     { strcpy((yyval.na),""); } 
    3872 #line 3873 "fortran.tab.c" 
    3873     break; 
    3874  
    3875   case 130: 
    3876 #line 776 "fortran.y" 
    3877     { strcpy((yyval.na),(yyvsp[0].na)); } 
    3878 #line 3879 "fortran.tab.c" 
    3879     break; 
    3880  
    3881   case 135: 
    3882 #line 786 "fortran.y" 
    3883     { 
    3884             positioninblock = 0; 
    3885             pos_curdimension = setposcur()-9; 
    3886         } 
    3887 #line 3888 "fortran.tab.c" 
    3888     break; 
    3889  
    3890   case 136: 
    3891 #line 793 "fortran.y" 
    3892     { 
    3893             printf("l.%4d -- dimension : before_dimension opt_comma TOK_NAME = |%s| -- MHCHECK\n",line_num_input,(yyvsp[-2].na)); 
    3894             if ( inside_type_declare ) break; 
    3895             curvar = createvar((yyvsp[-2].na),(yyvsp[-1].d)); 
    3896             CreateAndFillin_Curvar("", curvar); 
    3897             curlistvar=insertvar(NULL, curvar); 
    3898             (yyval.l) = settype("",curlistvar); 
    3899             strcpy(vallengspec,""); 
    3900         } 
    3901 #line 3902 "fortran.tab.c" 
    3902     break; 
    3903  
    3904   case 137: 
    3905 #line 803 "fortran.y" 
    3906     { 
    3907             printf("l.%4d -- dimension : dimension ',' TOK_NAME dims lengspec = |%s| -- MHCHECK\n",line_num_input,(yyvsp[-2].na)); 
    3908             if ( inside_type_declare ) break; 
    3909             curvar = createvar((yyvsp[-2].na),(yyvsp[-1].d)); 
    3910             CreateAndFillin_Curvar("", curvar); 
    3911             curlistvar = insertvar((yyvsp[-4].l), curvar); 
    3912             (yyval.l) = curlistvar; 
    3913             strcpy(vallengspec,""); 
    3914         } 
    3915 #line 3916 "fortran.tab.c" 
    3916     break; 
    3917  
    3918   case 140: 
    3919 #line 818 "fortran.y" 
    3920     { (yyval.lnn) = (listname *) NULL; } 
    3921 #line 3922 "fortran.tab.c" 
    3922     break; 
    3923  
    3924   case 141: 
    3925 #line 819 "fortran.y" 
    3926     { (yyval.lnn) = (yyvsp[0].lnn); } 
    3927 #line 3928 "fortran.tab.c" 
    3928     break; 
    3929  
    3930   case 142: 
    3931 #line 822 "fortran.y" 
    3932     { (yyval.lnn) = Insertname(NULL,(yyvsp[0].na),0); } 
    3933 #line 3934 "fortran.tab.c" 
    3934     break; 
    3935  
    3936   case 143: 
    3937 #line 823 "fortran.y" 
    3938     { (yyval.lnn) = Insertname(NULL,(yyvsp[0].na),0); } 
    3939 #line 3940 "fortran.tab.c" 
    3940     break; 
    3941  
    3942   case 144: 
    3943 #line 824 "fortran.y" 
    3944     { (yyval.lnn) = Insertname((yyvsp[-2].lnn),(yyvsp[0].na),0);   } 
    3945 #line 3946 "fortran.tab.c" 
    3946     break; 
    3947  
    3948   case 145: 
    3949 #line 825 "fortran.y" 
    3950     { (yyval.lnn) = Insertname((yyvsp[-2].lnn),(yyvsp[0].na),0);   } 
    3951 #line 3952 "fortran.tab.c" 
    3952     break; 
    3953  
    3954   case 146: 
    3955 #line 829 "fortran.y" 
    3956     { 
    3957             if ( inside_type_declare ) break; 
    3958             pos_end = setposcur(); 
    3959             RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 
    3960         } 
    3961 #line 3962 "fortran.tab.c" 
    3962     break; 
    3963  
    3964   case 147: 
    3965 #line 835 "fortran.y" 
    3966     { 
    3967             if ( inside_type_declare ) break; 
    3968             sprintf(charusemodule,"%s",(yyvsp[-1].na)); 
    3969             Add_NameOfCommon_1((yyvsp[-1].na),subroutinename); 
    3970             pos_end = setposcur(); 
    3971             RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 
    3972         } 
    3973 #line 3974 "fortran.tab.c" 
    3974     break; 
    3975  
    3976   case 148: 
    3977 #line 843 "fortran.y" 
    3978     { 
    3979             if ( inside_type_declare ) break; 
    3980             sprintf(charusemodule,"%s",(yyvsp[-2].na)); 
    3981             Add_NameOfCommon_1((yyvsp[-2].na),subroutinename); 
    3982             pos_end = setposcur(); 
    3983             RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 
    3984         } 
    3985 #line 3986 "fortran.tab.c" 
    3986     break; 
    3987  
    3988   case 149: 
    3989 #line 852 "fortran.y" 
    3990     { positioninblock = 0; pos_curcommon = setposcur()-6;   } 
    3991 #line 3992 "fortran.tab.c" 
    3992     break; 
    3993  
    3994   case 150: 
    3995 #line 853 "fortran.y" 
    3996     { positioninblock = 0; pos_curcommon = setposcur()-6-7; } 
    3997 #line 3998 "fortran.tab.c" 
    3998     break; 
    3999  
    4000   case 151: 
    4001 #line 856 "fortran.y" 
    4002     { if ( ! inside_type_declare ) Add_Common_var_1(); } 
    4003 #line 4004 "fortran.tab.c" 
    4004     break; 
    4005  
    4006   case 152: 
    4007 #line 857 "fortran.y" 
    4008     { if ( ! inside_type_declare ) Add_Common_var_1(); } 
    4009 #line 4010 "fortran.tab.c" 
    4010     break; 
    4011  
    4012   case 153: 
    4013 #line 861 "fortran.y" 
    4014     { 
    4015             positioninblock = positioninblock + 1 ; 
    4016             strcpy(commonvar,(yyvsp[-1].na)); 
    4017             commondim = (yyvsp[0].d); 
    4018         } 
    4019 #line 4020 "fortran.tab.c" 
    4020     break; 
    4021  
    4022   case 154: 
    4023 #line 869 "fortran.y" 
    4024     { 
    4025             strcpy((yyval.na),""); 
    4026             positioninblock=0; 
    4027             strcpy(commonblockname,""); 
    4028         } 
    4029 #line 4030 "fortran.tab.c" 
    4030     break; 
    4031  
    4032   case 155: 
    4033 #line 875 "fortran.y" 
    4034     { 
    4035             strcpy((yyval.na),(yyvsp[-1].na)); 
    4036             positioninblock=0; 
    4037             strcpy(commonblockname,(yyvsp[-1].na)); 
    4038         } 
    4039 #line 4040 "fortran.tab.c" 
    4040     break; 
    4041  
    4042   case 158: 
    4043 #line 885 "fortran.y" 
    4044     { (yyval.l)=insertvar(NULL,(yyvsp[0].v)); } 
    4045 #line 4046 "fortran.tab.c" 
    4046     break; 
    4047  
    4048   case 159: 
    4049 #line 886 "fortran.y" 
    4050     { (yyval.l)=insertvar((yyvsp[-2].l),(yyvsp[0].v));   } 
    4051 #line 4052 "fortran.tab.c" 
    4052     break; 
    4053  
    4054   case 160: 
    4055 #line 890 "fortran.y" 
    4056     { 
    4057             if ( inside_type_declare ) break; 
    4058             curvar=(variable *) calloc(1,sizeof(variable)); 
    4059             Init_Variable(curvar); 
    4060             curvar->v_VariableIsParameter = 1; 
    4061             strcpy(curvar->v_nomvar,(yyvsp[-2].na)); 
    4062             strcpy(curvar->v_subroutinename,subroutinename); 
    4063             strcpy(curvar->v_modulename,curmodulename); 
    4064             strcpy(curvar->v_initialvalue,(yyvsp[0].na)); 
    4065             strcpy(curvar->v_commoninfile,cur_filename); 
    4066             Save_Length((yyvsp[0].na),14); 
    4067             (yyval.v) = curvar; 
    4068         } 
    4069 #line 4070 "fortran.tab.c" 
    4070     break; 
    4071  
    4072   case 164: 
    4073 #line 913 "fortran.y" 
    4074     { 
    4075             if ( insubroutinedeclare == 1 ) 
    4076             { 
    4077                 Add_ImplicitNoneSubroutine_1(); 
    4078                 pos_end = setposcur(); 
    4079                 RemoveWordSET_0(fortran_out,pos_end-13,13); 
    4080             } 
    4081         } 
    4082 #line 4083 "fortran.tab.c" 
    4083     break; 
    4084  
    4085   case 166: 
    4086 #line 924 "fortran.y" 
    4087     { 
    4088             if ( ! inside_type_declare ) 
    4089             { 
    4090                 if (dimsgiven == 1) curvar = createvar((yyvsp[-3].na),curdim); 
    4091                 else                curvar = createvar((yyvsp[-3].na),(yyvsp[-2].d)); 
    4092                 CreateAndFillin_Curvar(DeclType, curvar); 
    4093                 curlistvar = insertvar(NULL, curvar); 
    4094                 if (!strcasecmp(DeclType,"character")) 
    4095                 { 
    4096                     if (c_selectorgiven == 1) 
    4097                     { 
    4098                         strcpy(c_selectordim.first,"1"); 
    4099                         strcpy(c_selectordim.last,c_selectorname); 
    4100                         Save_Length(c_selectorname,1); 
    4101                         change_dim_char(insertdim(NULL,c_selectordim),curlistvar); 
    4102                     } 
    4103                 } 
    4104                 (yyval.l)=settype(DeclType,curlistvar); 
    4105             } 
    4106             strcpy(vallengspec,""); 
    4107         } 
    4108 #line 4109 "fortran.tab.c" 
    4109     break; 
    4110  
    4111   case 167: 
    4112 #line 946 "fortran.y" 
    4113     { 
    4114             if ( ! inside_type_declare ) 
    4115             { 
    4116                 if (dimsgiven == 1) curvar = createvar((yyvsp[-3].na), curdim); 
    4117                 else                curvar = createvar((yyvsp[-3].na), (yyvsp[-2].d)); 
    4118                 CreateAndFillin_Curvar((yyvsp[-5].l)->var->v_typevar,curvar); 
    4119                 strcpy(curvar->v_typevar, (yyvsp[-5].l)->var->v_typevar); 
    4120                 curvar->v_catvar = get_cat_var(curvar); 
    4121                 curlistvar = insertvar((yyvsp[-5].l), curvar); 
    4122                 if (!strcasecmp(DeclType,"character")) 
    4123                 { 
    4124                     if (c_selectorgiven == 1) 
    4125                     { 
    4126                         strcpy(c_selectordim.first,"1"); 
    4127                         strcpy(c_selectordim.last,c_selectorname); 
    4128                         Save_Length(c_selectorname,1); 
    4129                         change_dim_char(insertdim(NULL,c_selectordim),curlistvar); 
    4130                     } 
    4131                 } 
    4132                 (yyval.l)=curlistvar; 
    4133             } 
    4134             strcpy(vallengspec,""); 
    4135         } 
    4136 #line 4137 "fortran.tab.c" 
    4137     break; 
    4138  
    4139   case 168: 
    4140 #line 970 "fortran.y" 
    4141     { dimsgiven = 0; } 
    4142 #line 4143 "fortran.tab.c" 
    4143     break; 
    4144  
    4145   case 169: 
    4146 #line 972 "fortran.y" 
    4147     { strcpy(DeclType,(yyvsp[-1].na));  } 
    4148 #line 4149 "fortran.tab.c" 
    4149     break; 
    4150  
    4151   case 170: 
    4152 #line 973 "fortran.y" 
    4153     { strcpy(DeclType,"character");  } 
    4154 #line 4155 "fortran.tab.c" 
    4155     break; 
    4156  
    4157   case 171: 
    4158 #line 974 "fortran.y" 
    4159     { strcpy(DeclType,(yyvsp[-2].na)); strcpy(nameinttypename,(yyvsp[0].na));  } 
    4160 #line 4161 "fortran.tab.c" 
    4161     break; 
    4162  
    4163   case 172: 
    4164 #line 975 "fortran.y" 
    4165     { strcpy(DeclType,"type"); GlobalDeclarationType = 1;  } 
    4166 #line 4167 "fortran.tab.c" 
    4167     break; 
    4168  
    4169   case 174: 
    4170 #line 978 "fortran.y" 
    4171     { c_selectorgiven = 1; strcpy(c_selectorname,(yyvsp[0].na)); } 
    4172 #line 4173 "fortran.tab.c" 
    4173     break; 
    4174  
    4175   case 175: 
    4176 #line 979 "fortran.y" 
    4177     { c_star = 1;} 
    4178 #line 4179 "fortran.tab.c" 
    4179     break; 
    4180  
    4181   case 180: 
    4182 #line 987 "fortran.y" 
    4183     { pos_cur_decl = setposcur()-9; } 
    4184 #line 4185 "fortran.tab.c" 
    4185     break; 
    4186  
    4187   case 181: 
    4188 #line 990 "fortran.y" 
    4189     { strcpy((yyval.na),"integer"); pos_cur_decl = setposcur()-7; } 
    4190 #line 4191 "fortran.tab.c" 
    4191     break; 
    4192  
    4193   case 182: 
    4194 #line 991 "fortran.y" 
    4195     { strcpy((yyval.na),"logical"); pos_cur_decl = setposcur()-7; } 
    4196 #line 4197 "fortran.tab.c" 
    4197     break; 
    4198  
    4199   case 183: 
    4200 #line 992 "fortran.y" 
    4201     { strcpy((yyval.na),"real");    pos_cur_decl = setposcur()-4; } 
    4202 #line 4203 "fortran.tab.c" 
    4203     break; 
    4204  
    4205   case 184: 
    4206 #line 993 "fortran.y" 
    4207     { strcpy((yyval.na),"complex"); pos_cur_decl = setposcur()-7; } 
    4208 #line 4209 "fortran.tab.c" 
    4209     break; 
    4210  
    4211   case 185: 
    4212 #line 994 "fortran.y" 
    4213     { strcpy((yyval.na),"double complex"); pos_cur_decl = setposcur()-14; } 
    4214 #line 4215 "fortran.tab.c" 
    4215     break; 
    4216  
    4217   case 186: 
    4218 #line 995 "fortran.y" 
    4219     { pos_cur_decl = setposcur()-16; strcpy((yyval.na),"real"); strcpy(nameinttypename,"8"); } 
    4220 #line 4221 "fortran.tab.c" 
    4221     break; 
    4222  
    4223   case 188: 
    4224 #line 998 "fortran.y" 
    4225     {strcpy(vallengspec,(yyvsp[0].na));} 
    4226 #line 4227 "fortran.tab.c" 
    4227     break; 
    4228  
    4229   case 189: 
    4230 #line 1001 "fortran.y" 
    4231     { sprintf((yyval.na),"*%s",(yyvsp[0].na)); } 
    4232 #line 4233 "fortran.tab.c" 
    4233     break; 
    4234  
    4235   case 190: 
    4236 #line 1002 "fortran.y" 
    4237     { strcpy((yyval.na),"*(*)"); } 
    4238 #line 4239 "fortran.tab.c" 
    4239     break; 
    4240  
    4241   case 197: 
    4242 #line 1014 "fortran.y" 
    4243     { 
    4244             if ( strstr((yyvsp[0].na),"0.d0") ) 
    4245             { 
    4246                 strcpy(nameinttypename,"8"); 
    4247                 strcpy(NamePrecision,""); 
    4248             } 
    4249             else 
    4250                 sprintf(NamePrecision,"%s = %s",(yyvsp[-2].na),(yyvsp[0].na)); 
    4251         } 
    4252 #line 4253 "fortran.tab.c" 
    4253     break; 
    4254  
    4255   case 198: 
    4256 #line 1023 "fortran.y" 
    4257     { strcpy(NamePrecision,(yyvsp[0].na)); } 
    4258 #line 4259 "fortran.tab.c" 
    4259     break; 
    4260  
    4261   case 199: 
    4262 #line 1024 "fortran.y" 
    4263     { strcpy(NamePrecision,(yyvsp[0].na)); } 
    4264 #line 4265 "fortran.tab.c" 
    4265     break; 
    4266  
    4267   case 200: 
    4268 #line 1025 "fortran.y" 
    4269     { strcpy(NamePrecision,(yyvsp[0].na)); } 
    4270 #line 4271 "fortran.tab.c" 
    4271     break; 
    4272  
    4273   case 201: 
    4274 #line 1028 "fortran.y" 
    4275     { strcpy(CharacterSize,(yyvsp[0].na));  strcpy((yyval.na),(yyvsp[0].na));  } 
    4276 #line 4277 "fortran.tab.c" 
    4277     break; 
    4278  
    4279   case 202: 
    4280 #line 1029 "fortran.y" 
    4281     { strcpy(CharacterSize,"*"); strcpy((yyval.na),"*"); } 
    4282 #line 4283 "fortran.tab.c" 
    4283     break; 
    4284  
    4285   case 203: 
    4286 #line 1030 "fortran.y" 
    4287     { strcpy(CharacterSize,":"); strcpy((yyval.na),":"); } 
    4288 #line 4289 "fortran.tab.c" 
    4289     break; 
    4290  
    4291   case 211: 
    4292 #line 1043 "fortran.y" 
    4293     { VariableIsParameter = 1; } 
    4294 #line 4295 "fortran.tab.c" 
    4295     break; 
    4296  
    4297   case 213: 
    4298 #line 1045 "fortran.y" 
    4299     { Allocatabledeclare = 1; } 
    4300 #line 4301 "fortran.tab.c" 
    4301     break; 
    4302  
    4303   case 214: 
    4304 #line 1046 "fortran.y" 
    4305     { dimsgiven = 1; curdim = (yyvsp[0].d); } 
    4306 #line 4307 "fortran.tab.c" 
    4307     break; 
    4308  
    4309   case 215: 
    4310 #line 1047 "fortran.y" 
    4311     { ExternalDeclare = 1; } 
    4312 #line 4313 "fortran.tab.c" 
    4313     break; 
    4314  
    4315   case 216: 
    4316 #line 1049 "fortran.y" 
    4317     { strcpy(IntentSpec,(yyvsp[-1].na)); } 
    4318 #line 4319 "fortran.tab.c" 
    4319     break; 
    4320  
    4321   case 218: 
    4322 #line 1051 "fortran.y" 
    4323     { optionaldeclare = 1 ; } 
    4324 #line 4325 "fortran.tab.c" 
    4325     break; 
    4326  
    4327   case 219: 
    4328 #line 1052 "fortran.y" 
    4329     { pointerdeclare = 1 ; } 
    4330 #line 4331 "fortran.tab.c" 
    4331     break; 
    4332  
    4333   case 220: 
    4334 #line 1053 "fortran.y" 
    4335     { SaveDeclare = 1 ; } 
    4336 #line 4337 "fortran.tab.c" 
    4337     break; 
    4338  
    4339   case 221: 
    4340 #line 1054 "fortran.y" 
    4341     { Targetdeclare = 1; } 
    4342 #line 4343 "fortran.tab.c" 
    4343     break; 
    4344  
    4345   case 222: 
    4346 #line 1057 "fortran.y" 
    4347     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4348 #line 4349 "fortran.tab.c" 
    4349     break; 
    4350  
    4351   case 223: 
    4352 #line 1058 "fortran.y" 
    4353     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4354 #line 4355 "fortran.tab.c" 
    4355     break; 
    4356  
    4357   case 224: 
    4358 #line 1059 "fortran.y" 
    4359     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4360 #line 4361 "fortran.tab.c" 
    4361     break; 
    4362  
    4363   case 225: 
    4364 #line 1062 "fortran.y" 
    4365     { PublicDeclare = 1;  } 
    4366 #line 4367 "fortran.tab.c" 
    4367     break; 
    4368  
    4369   case 226: 
    4370 #line 1063 "fortran.y" 
    4371     { PrivateDeclare = 1; } 
    4372 #line 4373 "fortran.tab.c" 
    4373     break; 
    4374  
    4375   case 227: 
    4376 #line 1065 "fortran.y" 
    4377     { (yyval.d) = (listdim*) NULL; } 
    4378 #line 4379 "fortran.tab.c" 
    4379     break; 
    4380  
    4381   case 228: 
    4382 #line 1067 "fortran.y" 
    4383     { 
    4384             (yyval.d) = (listdim*) NULL; 
    4385             if ( inside_type_declare ) break; 
    4386             if ( created_dimensionlist == 1 || agrif_parentcall == 1 )  (yyval.d)=(yyvsp[-1].d); 
    4387         } 
    4388 #line 4389 "fortran.tab.c" 
    4389     break; 
    4390  
    4391   case 229: 
    4392 #line 1075 "fortran.y" 
    4393     { 
    4394             (yyval.d) = (listdim*) NULL; 
    4395             if ( inside_type_declare ) break; 
    4396             if ( created_dimensionlist == 1 || agrif_parentcall == 1 )  (yyval.d)=insertdim(NULL,(yyvsp[0].dim1)); 
    4397         } 
    4398 #line 4399 "fortran.tab.c" 
    4399     break; 
    4400  
    4401   case 230: 
    4402 #line 1081 "fortran.y" 
    4403     { 
    4404             (yyval.d) = (listdim*) NULL; 
    4405             if ( inside_type_declare ) break; 
    4406             if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[-2].d),(yyvsp[0].dim1)); 
    4407         } 
    4408 #line 4409 "fortran.tab.c" 
    4409     break; 
    4410  
    4411   case 231: 
    4412 #line 1087 "fortran.y" 
    4413     { strcpy((yyval.dim1).first,"1"); strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1); } 
    4414 #line 4415 "fortran.tab.c" 
    4415     break; 
    4416  
    4417   case 232: 
    4418 #line 1088 "fortran.y" 
    4419     { strcpy((yyval.dim1).first,"");  strcpy((yyval.dim1).last,"");                    } 
    4420 #line 4421 "fortran.tab.c" 
    4421     break; 
    4422  
    4423   case 233: 
    4424 #line 1089 "fortran.y" 
    4425     { strcpy((yyval.dim1).first,(yyvsp[-1].na));  Save_Length((yyvsp[-1].na),2); strcpy((yyval.dim1).last,""); } 
    4426 #line 4427 "fortran.tab.c" 
    4427     break; 
    4428  
    4429   case 234: 
    4430 #line 1090 "fortran.y" 
    4431     { strcpy((yyval.dim1).first,"");  strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1); } 
    4432 #line 4433 "fortran.tab.c" 
    4433     break; 
    4434  
    4435   case 235: 
    4436 #line 1091 "fortran.y" 
    4437     { strcpy((yyval.dim1).first,(yyvsp[-2].na));  Save_Length((yyvsp[-2].na),2); strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1); } 
    4438 #line 4439 "fortran.tab.c" 
    4439     break; 
    4440  
    4441   case 236: 
    4442 #line 1094 "fortran.y" 
    4443     { strcpy((yyval.na),"*"); } 
    4444 #line 4445 "fortran.tab.c" 
    4445     break; 
    4446  
    4447   case 237: 
    4448 #line 1095 "fortran.y" 
    4449     { strcpy((yyval.na),(yyvsp[0].na));  } 
    4450 #line 4451 "fortran.tab.c" 
    4451     break; 
    4452  
    4453   case 238: 
    4454 #line 1097 "fortran.y" 
    4455     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4456 #line 4457 "fortran.tab.c" 
    4457     break; 
    4458  
    4459   case 239: 
    4460 #line 1098 "fortran.y" 
    4461     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4462 #line 4463 "fortran.tab.c" 
    4463     break; 
    4464  
    4465   case 240: 
    4466 #line 1099 "fortran.y" 
    4467     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4468 #line 4469 "fortran.tab.c" 
    4469     break; 
    4470  
    4471   case 241: 
    4472 #line 1100 "fortran.y" 
    4473     { sprintf((yyval.na),"(%s)",(yyvsp[-1].na)); } 
    4474 #line 4475 "fortran.tab.c" 
    4475     break; 
    4476  
    4477   case 242: 
    4478 #line 1104 "fortran.y" 
    4479     { sprintf((yyval.na),"SUM(%s)",(yyvsp[-1].na));} 
    4480 #line 4481 "fortran.tab.c" 
    4481     break; 
    4482  
    4483   case 243: 
    4484 #line 1105 "fortran.y" 
    4485     { sprintf((yyval.na),"MAX(%s)",(yyvsp[-1].na));} 
    4486 #line 4487 "fortran.tab.c" 
    4487     break; 
    4488  
    4489   case 244: 
    4490 #line 1106 "fortran.y" 
    4491     { sprintf((yyval.na),"TANH(%s)",(yyvsp[-1].na));} 
    4492 #line 4493 "fortran.tab.c" 
    4493     break; 
    4494  
    4495   case 245: 
    4496 #line 1107 "fortran.y" 
    4497     { sprintf((yyval.na),"MAXVAL(%s)",(yyvsp[-1].na));} 
    4498 #line 4499 "fortran.tab.c" 
    4499     break; 
    4500  
    4501   case 246: 
    4502 #line 1108 "fortran.y" 
    4503     { sprintf((yyval.na),"MIN(%s)",(yyvsp[-1].na));} 
    4504 #line 4505 "fortran.tab.c" 
    4505     break; 
    4506  
    4507   case 247: 
    4508 #line 1109 "fortran.y" 
    4509     { sprintf((yyval.na),"MINVAL(%s)",(yyvsp[-1].na));} 
    4510 #line 4511 "fortran.tab.c" 
    4511     break; 
    4512  
    4513   case 248: 
    4514 #line 1110 "fortran.y" 
    4515     { sprintf((yyval.na),"TRIM(%s)",(yyvsp[-1].na));} 
    4516 #line 4517 "fortran.tab.c" 
    4517     break; 
    4518  
    4519   case 249: 
    4520 #line 1111 "fortran.y" 
    4521     { sprintf((yyval.na),"SQRT(%s)",(yyvsp[-1].na));} 
    4522 #line 4523 "fortran.tab.c" 
    4523     break; 
    4524  
    4525   case 250: 
    4526 #line 1112 "fortran.y" 
    4527     { sprintf((yyval.na),"REAL(%s)",(yyvsp[-1].na));} 
    4528 #line 4529 "fortran.tab.c" 
    4529     break; 
    4530  
    4531   case 251: 
    4532 #line 1113 "fortran.y" 
    4533     { sprintf((yyval.na),"NINT(%s)",(yyvsp[-1].na));} 
    4534 #line 4535 "fortran.tab.c" 
    4535     break; 
    4536  
    4537   case 252: 
    4538 #line 1114 "fortran.y" 
    4539     { sprintf((yyval.na),"FLOAT(%s)",(yyvsp[-1].na));} 
    4540 #line 4541 "fortran.tab.c" 
    4541     break; 
    4542  
    4543   case 253: 
    4544 #line 1115 "fortran.y" 
    4545     { sprintf((yyval.na),"EXP(%s)",(yyvsp[-1].na));} 
    4546 #line 4547 "fortran.tab.c" 
    4547     break; 
    4548  
    4549   case 254: 
    4550 #line 1116 "fortran.y" 
    4551     { sprintf((yyval.na),"COS(%s)",(yyvsp[-1].na));} 
    4552 #line 4553 "fortran.tab.c" 
    4553     break; 
    4554  
    4555   case 255: 
    4556 #line 1117 "fortran.y" 
    4557     { sprintf((yyval.na),"COSH(%s)",(yyvsp[-1].na));} 
    4558 #line 4559 "fortran.tab.c" 
    4559     break; 
    4560  
    4561   case 256: 
    4562 #line 1118 "fortran.y" 
    4563     { sprintf((yyval.na),"ACOS(%s)",(yyvsp[-1].na));} 
    4564 #line 4565 "fortran.tab.c" 
    4565     break; 
    4566  
    4567   case 257: 
    4568 #line 1119 "fortran.y" 
    4569     { sprintf((yyval.na),"SIN(%s)",(yyvsp[-1].na));} 
    4570 #line 4571 "fortran.tab.c" 
    4571     break; 
    4572  
    4573   case 258: 
    4574 #line 1120 "fortran.y" 
    4575     { sprintf((yyval.na),"SINH(%s)",(yyvsp[-1].na));} 
    4576 #line 4577 "fortran.tab.c" 
    4577     break; 
    4578  
    4579   case 259: 
    4580 #line 1121 "fortran.y" 
    4581     { sprintf((yyval.na),"ASIN(%s)",(yyvsp[-1].na));} 
    4582 #line 4583 "fortran.tab.c" 
    4583     break; 
    4584  
    4585   case 260: 
    4586 #line 1122 "fortran.y" 
    4587     { sprintf((yyval.na),"LOG(%s)",(yyvsp[-1].na));} 
    4588 #line 4589 "fortran.tab.c" 
    4589     break; 
    4590  
    4591   case 261: 
    4592 #line 1123 "fortran.y" 
    4593     { sprintf((yyval.na),"TAN(%s)",(yyvsp[-1].na));} 
    4594 #line 4595 "fortran.tab.c" 
    4595     break; 
    4596  
    4597   case 262: 
    4598 #line 1124 "fortran.y" 
    4599     { sprintf((yyval.na),"ATAN(%s)",(yyvsp[-1].na));} 
    4600 #line 4601 "fortran.tab.c" 
    4601     break; 
    4602  
    4603   case 263: 
    4604 #line 1125 "fortran.y" 
    4605     { sprintf((yyval.na),"ABS(%s)",(yyvsp[-1].na));} 
    4606 #line 4607 "fortran.tab.c" 
    4607     break; 
    4608  
    4609   case 264: 
    4610 #line 1126 "fortran.y" 
    4611     { sprintf((yyval.na),"MOD(%s)",(yyvsp[-1].na));} 
    4612 #line 4613 "fortran.tab.c" 
    4613     break; 
    4614  
    4615   case 265: 
    4616 #line 1127 "fortran.y" 
    4617     { sprintf((yyval.na),"SIGN(%s)",(yyvsp[-1].na));} 
    4618 #line 4619 "fortran.tab.c" 
    4619     break; 
    4620  
    4621   case 266: 
    4622 #line 1128 "fortran.y" 
    4623     { sprintf((yyval.na),"MINLOC(%s)",(yyvsp[-1].na));} 
    4624 #line 4625 "fortran.tab.c" 
    4625     break; 
    4626  
    4627   case 267: 
    4628 #line 1129 "fortran.y" 
    4629     { sprintf((yyval.na),"MAXLOC(%s)",(yyvsp[-1].na));} 
    4630 #line 4631 "fortran.tab.c" 
    4631     break; 
    4632  
    4633   case 268: 
    4634 #line 1131 "fortran.y" 
    4635     {strcpy((yyval.na),(yyvsp[0].na));} 
    4636 #line 4637 "fortran.tab.c" 
    4637     break; 
    4638  
    4639   case 269: 
    4640 #line 1132 "fortran.y" 
    4641     { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    4642 #line 4643 "fortran.tab.c" 
    4643     break; 
    4644  
    4645   case 270: 
    4646 #line 1134 "fortran.y" 
    4647     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4648 #line 4649 "fortran.tab.c" 
    4649     break; 
    4650  
    4651   case 271: 
    4652 #line 1135 "fortran.y" 
    4653     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4654 #line 4655 "fortran.tab.c" 
    4655     break; 
    4656  
    4657   case 272: 
    4658 #line 1136 "fortran.y" 
    4659     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4660 #line 4661 "fortran.tab.c" 
    4661     break; 
    4662  
    4663   case 273: 
    4664 #line 1137 "fortran.y" 
    4665     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4666 #line 4667 "fortran.tab.c" 
    4667     break; 
    4668  
    4669   case 274: 
    4670 #line 1138 "fortran.y" 
    4671     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4672 #line 4673 "fortran.tab.c" 
    4673     break; 
    4674  
    4675   case 275: 
    4676 #line 1139 "fortran.y" 
    4677     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4678 #line 4679 "fortran.tab.c" 
    4679     break; 
    4680  
    4681   case 276: 
    4682 #line 1141 "fortran.y" 
    4683     { strcpy((yyval.na),"+"); } 
    4684 #line 4685 "fortran.tab.c" 
    4685     break; 
    4686  
    4687   case 277: 
    4688 #line 1142 "fortran.y" 
    4689     { strcpy((yyval.na),"-"); } 
    4690 #line 4691 "fortran.tab.c" 
    4691     break; 
    4692  
    4693   case 278: 
    4694 #line 1146 "fortran.y" 
    4695     { sprintf((yyval.na),"+%s",(yyvsp[0].na)); } 
    4696 #line 4697 "fortran.tab.c" 
    4697     break; 
    4698  
    4699   case 279: 
    4700 #line 1147 "fortran.y" 
    4701     { sprintf((yyval.na),"-%s",(yyvsp[0].na)); } 
    4702 #line 4703 "fortran.tab.c" 
    4703     break; 
    4704  
    4705   case 280: 
    4706 #line 1148 "fortran.y" 
    4707     { sprintf((yyval.na),"*%s",(yyvsp[0].na)); } 
    4708 #line 4709 "fortran.tab.c" 
    4709     break; 
    4710  
    4711   case 281: 
    4712 #line 1149 "fortran.y" 
    4713     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4714 #line 4715 "fortran.tab.c" 
    4715     break; 
    4716  
    4717   case 282: 
    4718 #line 1150 "fortran.y" 
    4719     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4720 #line 4721 "fortran.tab.c" 
    4721     break; 
    4722  
    4723   case 283: 
    4724 #line 1151 "fortran.y" 
    4725     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4726 #line 4727 "fortran.tab.c" 
    4727     break; 
    4728  
    4729   case 284: 
    4730 #line 1152 "fortran.y" 
    4731     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4732 #line 4733 "fortran.tab.c" 
    4733     break; 
    4734  
    4735   case 285: 
    4736 #line 1153 "fortran.y" 
    4737     { sprintf((yyval.na)," > %s",(yyvsp[0].na)); } 
    4738 #line 4739 "fortran.tab.c" 
    4739     break; 
    4740  
    4741   case 286: 
    4742 #line 1154 "fortran.y" 
    4743     { sprintf((yyval.na)," < %s",(yyvsp[0].na)); } 
    4744 #line 4745 "fortran.tab.c" 
    4745     break; 
    4746  
    4747   case 287: 
    4748 #line 1155 "fortran.y" 
    4749     { sprintf((yyval.na)," >= %s",(yyvsp[0].na)); } 
    4750 #line 4751 "fortran.tab.c" 
    4751     break; 
    4752  
    4753   case 288: 
    4754 #line 1156 "fortran.y" 
    4755     { sprintf((yyval.na)," <= %s",(yyvsp[0].na)); } 
    4756 #line 4757 "fortran.tab.c" 
    4757     break; 
    4758  
    4759   case 289: 
    4760 #line 1157 "fortran.y" 
    4761     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4762 #line 4763 "fortran.tab.c" 
    4763     break; 
    4764  
    4765   case 290: 
    4766 #line 1158 "fortran.y" 
    4767     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4768 #line 4769 "fortran.tab.c" 
    4769     break; 
    4770  
    4771   case 291: 
    4772 #line 1159 "fortran.y" 
    4773     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4774 #line 4775 "fortran.tab.c" 
    4775     break; 
    4776  
    4777   case 292: 
    4778 #line 1160 "fortran.y" 
    4779     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4780 #line 4781 "fortran.tab.c" 
    4781     break; 
    4782  
    4783   case 293: 
    4784 #line 1161 "fortran.y" 
    4785     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4786 #line 4787 "fortran.tab.c" 
    4787     break; 
    4788  
    4789   case 294: 
    4790 #line 1162 "fortran.y" 
    4791     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4792 #line 4793 "fortran.tab.c" 
    4793     break; 
    4794  
    4795   case 295: 
    4796 #line 1163 "fortran.y" 
    4797     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4798 #line 4799 "fortran.tab.c" 
    4799     break; 
    4800  
    4801   case 296: 
    4802 #line 1164 "fortran.y" 
    4803     { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4804 #line 4805 "fortran.tab.c" 
    4805     break; 
    4806  
    4807   case 297: 
    4808 #line 1165 "fortran.y" 
    4809     { sprintf((yyval.na),"%s",(yyvsp[0].na)); } 
    4810 #line 4811 "fortran.tab.c" 
    4811     break; 
    4812  
    4813   case 298: 
    4814 #line 1166 "fortran.y" 
    4815     { sprintf((yyval.na),"%s",(yyvsp[0].na)); } 
    4816 #line 4817 "fortran.tab.c" 
    4817     break; 
    4818  
    4819   case 299: 
    4820 #line 1168 "fortran.y" 
    4821     { strcpy((yyval.na),""); } 
    4822 #line 4823 "fortran.tab.c" 
    4823     break; 
    4824  
    4825   case 300: 
    4826 #line 1169 "fortran.y" 
    4827     { sprintf((yyval.na),"/%s",(yyvsp[0].na)); } 
    4828 #line 4829 "fortran.tab.c" 
    4829     break; 
    4830  
    4831   case 301: 
    4832 #line 1170 "fortran.y" 
    4833     { sprintf((yyval.na),"/= %s",(yyvsp[0].na));} 
    4834 #line 4835 "fortran.tab.c" 
    4835     break; 
    4836  
    4837   case 302: 
    4838 #line 1171 "fortran.y" 
    4839     { sprintf((yyval.na),"//%s",(yyvsp[0].na)); } 
    4840 #line 4841 "fortran.tab.c" 
    4841     break; 
    4842  
    4843   case 303: 
    4844 #line 1174 "fortran.y" 
    4845     { sprintf((yyval.na),"==%s",(yyvsp[0].na)); } 
    4846 #line 4847 "fortran.tab.c" 
    4847     break; 
    4848  
    4849   case 304: 
    4850 #line 1175 "fortran.y" 
    4851     { sprintf((yyval.na),"= %s",(yyvsp[0].na)); } 
    4852 #line 4853 "fortran.tab.c" 
    4853     break; 
    4854  
    4855   case 305: 
    4856 #line 1178 "fortran.y" 
    4857     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4858 #line 4859 "fortran.tab.c" 
    4859     break; 
    4860  
    4861   case 306: 
    4862 #line 1179 "fortran.y" 
    4863     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4864 #line 4865 "fortran.tab.c" 
    4865     break; 
    4866  
    4867   case 307: 
    4868 #line 1180 "fortran.y" 
    4869     { strcpy((yyval.na),(yyvsp[0].na)); } 
    4870 #line 4871 "fortran.tab.c" 
    4871     break; 
    4872  
    4873   case 308: 
    4874 #line 1184 "fortran.y" 
     3775#line 1153 "fortran.y" /* yacc.c:1646  */ 
    48753776    { 
    48763777            agrif_parentcall = 0; 
     
    48823783            } 
    48833784        } 
    4884 #line 4885 "fortran.tab.c" 
    4885     break; 
    4886  
    4887   case 309: 
    4888 #line 1195 "fortran.y" 
     3785#line 3786 "fortran.tab.c" /* yacc.c:1646  */ 
     3786    break; 
     3787 
     3788  case 65: 
     3789#line 1164 "fortran.y" /* yacc.c:1646  */ 
    48893790    { strcpy((yyval.na),(yyvsp[0].na)); if ( incalldeclare == 0 ) inagrifcallargument = 0;   } 
    4890 #line 4891 "fortran.tab.c" 
    4891     break; 
    4892  
    4893   case 310: 
    4894 #line 1196 "fortran.y" 
     3791#line 3792 "fortran.tab.c" /* yacc.c:1646  */ 
     3792    break; 
     3793 
     3794  case 66: 
     3795#line 1165 "fortran.y" /* yacc.c:1646  */ 
    48953796    { sprintf((yyval.na)," %s %s ",(yyvsp[-1].na),(yyvsp[0].na)); } 
    4896 #line 4897 "fortran.tab.c" 
    4897     break; 
    4898  
    4899   case 311: 
    4900 #line 1197 "fortran.y" 
    4901     { sprintf((yyval.na)," %s ( %s )",(yyvsp[-3].na),(yyvsp[-1].na)); } 
    4902 #line 4903 "fortran.tab.c" 
    4903     break; 
    4904  
    4905   case 312: 
    4906 #line 1198 "fortran.y" 
    4907     { sprintf((yyval.na)," %s ( %s ) %s ",(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na)); } 
    4908 #line 4909 "fortran.tab.c" 
    4909     break; 
    4910  
    4911   case 313: 
    4912 #line 1202 "fortran.y" 
     3797#line 3798 "fortran.tab.c" /* yacc.c:1646  */ 
     3798    break; 
     3799 
     3800  case 67: 
     3801#line 1166 "fortran.y" /* yacc.c:1646  */ 
     3802    {in_complex_literal=0;} 
     3803#line 3804 "fortran.tab.c" /* yacc.c:1646  */ 
     3804    break; 
     3805 
     3806  case 68: 
     3807#line 1166 "fortran.y" /* yacc.c:1646  */ 
     3808    { sprintf((yyval.na)," %s ( %s )",(yyvsp[-4].na),(yyvsp[-1].na)); } 
     3809#line 3810 "fortran.tab.c" /* yacc.c:1646  */ 
     3810    break; 
     3811 
     3812  case 69: 
     3813#line 1167 "fortran.y" /* yacc.c:1646  */ 
     3814    {in_complex_literal=0;} 
     3815#line 3816 "fortran.tab.c" /* yacc.c:1646  */ 
     3816    break; 
     3817 
     3818  case 70: 
     3819#line 1167 "fortran.y" /* yacc.c:1646  */ 
     3820    { sprintf((yyval.na)," %s ( %s ) %s ",(yyvsp[-5].na),(yyvsp[-2].na),(yyvsp[0].na)); } 
     3821#line 3822 "fortran.tab.c" /* yacc.c:1646  */ 
     3822    break; 
     3823 
     3824  case 72: 
     3825#line 1170 "fortran.y" /* yacc.c:1646  */ 
     3826    {in_complex_literal=0;} 
     3827#line 3828 "fortran.tab.c" /* yacc.c:1646  */ 
     3828    break; 
     3829 
     3830  case 73: 
     3831#line 1171 "fortran.y" /* yacc.c:1646  */ 
    49133832    { 
    49143833            if ( inside_type_declare ) break; 
    4915             sprintf((yyval.na)," %s ( %s )",(yyvsp[-3].na),(yyvsp[-1].na)); 
     3834            sprintf((yyval.na)," %s ( %s )",(yyvsp[-4].na),(yyvsp[-1].na)); 
    49163835            ModifyTheAgrifFunction_0((yyvsp[-1].na)); 
    49173836            agrif_parentcall = 0; 
    49183837        } 
    4919 #line 4920 "fortran.tab.c" 
    4920     break; 
    4921  
    4922   case 314: 
    4923 #line 1211 "fortran.y" 
     3838#line 3839 "fortran.tab.c" /* yacc.c:1646  */ 
     3839    break; 
     3840 
     3841  case 74: 
     3842#line 1180 "fortran.y" /* yacc.c:1646  */ 
    49243843    { 
    49253844            sprintf((yyval.na)," %s %% %s ",(yyvsp[-3].na),(yyvsp[0].na)); 
    49263845            if ( incalldeclare == 0 ) inagrifcallargument = 0; 
    49273846        } 
    4928 #line 4929 "fortran.tab.c" 
    4929     break; 
    4930  
    4931   case 315: 
    4932 #line 1217 "fortran.y" 
    4933     { sprintf((yyval.na),"(/%s/)",(yyvsp[-1].na)); } 
    4934 #line 4935 "fortran.tab.c" 
    4935     break; 
    4936  
    4937   case 316: 
    4938 #line 1220 "fortran.y" 
     3847#line 3848 "fortran.tab.c" /* yacc.c:1646  */ 
     3848    break; 
     3849 
     3850  case 75: 
     3851#line 1191 "fortran.y" /* yacc.c:1646  */ 
    49393852    { strcpy((yyval.na)," "); } 
    4940 #line 4941 "fortran.tab.c" 
    4941     break; 
    4942  
    4943   case 317: 
    4944 #line 1221 "fortran.y" 
     3853#line 3854 "fortran.tab.c" /* yacc.c:1646  */ 
     3854    break; 
     3855 
     3856  case 76: 
     3857#line 1192 "fortran.y" /* yacc.c:1646  */ 
    49453858    { strcpy((yyval.na),(yyvsp[0].na)); } 
    4946 #line 4947 "fortran.tab.c" 
    4947     break; 
    4948  
    4949   case 318: 
    4950 #line 1224 "fortran.y" 
     3859#line 3860 "fortran.tab.c" /* yacc.c:1646  */ 
     3860    break; 
     3861 
     3862  case 77: 
     3863#line 1195 "fortran.y" /* yacc.c:1646  */ 
    49513864    {  strcpy((yyval.na),(yyvsp[0].na)); } 
    4952 #line 4953 "fortran.tab.c" 
    4953     break; 
    4954  
    4955   case 319: 
    4956 #line 1225 "fortran.y" 
     3865#line 3866 "fortran.tab.c" /* yacc.c:1646  */ 
     3866    break; 
     3867 
     3868  case 78: 
     3869#line 1196 "fortran.y" /* yacc.c:1646  */ 
    49573870    {  sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    4958 #line 4959 "fortran.tab.c" 
    4959     break; 
    4960  
    4961   case 320: 
    4962 #line 1228 "fortran.y" 
     3871#line 3872 "fortran.tab.c" /* yacc.c:1646  */ 
     3872    break; 
     3873 
     3874  case 79: 
     3875#line 1199 "fortran.y" /* yacc.c:1646  */ 
    49633876    {strcpy((yyval.na),(yyvsp[0].na));} 
    4964 #line 4965 "fortran.tab.c" 
    4965     break; 
    4966  
    4967   case 321: 
    4968 #line 1229 "fortran.y" 
     3877#line 3878 "fortran.tab.c" /* yacc.c:1646  */ 
     3878    break; 
     3879 
     3880  case 80: 
     3881#line 1200 "fortran.y" /* yacc.c:1646  */ 
    49693882    {strcpy((yyval.na),(yyvsp[0].na));} 
    4970 #line 4971 "fortran.tab.c" 
    4971     break; 
    4972  
    4973   case 322: 
    4974 #line 1232 "fortran.y" 
     3883#line 3884 "fortran.tab.c" /* yacc.c:1646  */ 
     3884    break; 
     3885 
     3886  case 81: 
     3887#line 1203 "fortran.y" /* yacc.c:1646  */ 
    49753888    {  sprintf((yyval.na),"%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} 
    4976 #line 4977 "fortran.tab.c" 
    4977     break; 
    4978  
    4979   case 323: 
    4980 #line 1233 "fortran.y" 
     3889#line 3890 "fortran.tab.c" /* yacc.c:1646  */ 
     3890    break; 
     3891 
     3892  case 82: 
     3893#line 1204 "fortran.y" /* yacc.c:1646  */ 
    49813894    {  sprintf((yyval.na),"%s :%s :%s",(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} 
    4982 #line 4983 "fortran.tab.c" 
    4983     break; 
    4984  
    4985   case 324: 
    4986 #line 1234 "fortran.y" 
     3895#line 3896 "fortran.tab.c" /* yacc.c:1646  */ 
     3896    break; 
     3897 
     3898  case 83: 
     3899#line 1205 "fortran.y" /* yacc.c:1646  */ 
    49873900    {  sprintf((yyval.na),":%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} 
    4988 #line 4989 "fortran.tab.c" 
    4989     break; 
    4990  
    4991   case 325: 
    4992 #line 1235 "fortran.y" 
     3901#line 3902 "fortran.tab.c" /* yacc.c:1646  */ 
     3902    break; 
     3903 
     3904  case 84: 
     3905#line 1206 "fortran.y" /* yacc.c:1646  */ 
    49933906    {  sprintf((yyval.na),": : %s",(yyvsp[0].na));} 
    4994 #line 4995 "fortran.tab.c" 
    4995     break; 
    4996  
    4997   case 326: 
    4998 #line 1236 "fortran.y" 
     3907#line 3908 "fortran.tab.c" /* yacc.c:1646  */ 
     3908    break; 
     3909 
     3910  case 85: 
     3911#line 1207 "fortran.y" /* yacc.c:1646  */ 
    49993912    {  sprintf((yyval.na),":%s",(yyvsp[0].na));} 
    5000 #line 5001 "fortran.tab.c" 
    5001     break; 
    5002  
    5003   case 327: 
    5004 #line 1237 "fortran.y" 
     3913#line 3914 "fortran.tab.c" /* yacc.c:1646  */ 
     3914    break; 
     3915 
     3916  case 86: 
     3917#line 1208 "fortran.y" /* yacc.c:1646  */ 
    50053918    {  sprintf((yyval.na),"%s :",(yyvsp[-1].na));} 
    5006 #line 5007 "fortran.tab.c" 
    5007     break; 
    5008  
    5009   case 328: 
    5010 #line 1238 "fortran.y" 
     3919#line 3920 "fortran.tab.c" /* yacc.c:1646  */ 
     3920    break; 
     3921 
     3922  case 87: 
     3923#line 1209 "fortran.y" /* yacc.c:1646  */ 
    50113924    {  sprintf((yyval.na),":");} 
    5012 #line 5013 "fortran.tab.c" 
    5013     break; 
    5014  
    5015   case 329: 
    5016 #line 1241 "fortran.y" 
     3925#line 3926 "fortran.tab.c" /* yacc.c:1646  */ 
     3926    break; 
     3927 
     3928  case 88: 
     3929#line 1212 "fortran.y" /* yacc.c:1646  */ 
    50173930    { 
     3931       //  if (indeclaration == 1) break; 
    50183932            if ( afterpercent == 0 ) 
    50193933            { 
     
    50583972            } 
    50593973        } 
    5060 #line 5061 "fortran.tab.c" 
    5061     break; 
    5062  
    5063   case 330: 
    5064 #line 1286 "fortran.y" 
     3974#line 3975 "fortran.tab.c" /* yacc.c:1646  */ 
     3975    break; 
     3976 
     3977  case 89: 
     3978#line 1258 "fortran.y" /* yacc.c:1646  */ 
    50653979    { strcpy((yyval.na),".TRUE.");} 
    5066 #line 5067 "fortran.tab.c" 
    5067     break; 
    5068  
    5069   case 331: 
    5070 #line 1287 "fortran.y" 
     3980#line 3981 "fortran.tab.c" /* yacc.c:1646  */ 
     3981    break; 
     3982 
     3983  case 90: 
     3984#line 1259 "fortran.y" /* yacc.c:1646  */ 
    50713985    { strcpy((yyval.na),".FALSE.");} 
    5072 #line 5073 "fortran.tab.c" 
    5073     break; 
    5074  
    5075   case 332: 
    5076 #line 1288 "fortran.y" 
     3986#line 3987 "fortran.tab.c" /* yacc.c:1646  */ 
     3987    break; 
     3988 
     3989  case 91: 
     3990#line 1260 "fortran.y" /* yacc.c:1646  */ 
    50773991    { strcpy((yyval.na),"NULL()"); } 
    5078 #line 5079 "fortran.tab.c" 
    5079     break; 
    5080  
    5081   case 333: 
    5082 #line 1289 "fortran.y" 
     3992#line 3993 "fortran.tab.c" /* yacc.c:1646  */ 
     3993    break; 
     3994 
     3995  case 92: 
     3996#line 1261 "fortran.y" /* yacc.c:1646  */ 
    50833997    { strcpy((yyval.na),(yyvsp[0].na)); } 
    5084 #line 5085 "fortran.tab.c" 
    5085     break; 
    5086  
    5087   case 334: 
    5088 #line 1290 "fortran.y" 
     3998#line 3999 "fortran.tab.c" /* yacc.c:1646  */ 
     3999    break; 
     4000 
     4001  case 93: 
     4002#line 1262 "fortran.y" /* yacc.c:1646  */ 
    50894003    { strcpy((yyval.na),(yyvsp[0].na)); } 
    5090 #line 5091 "fortran.tab.c" 
    5091     break; 
    5092  
    5093   case 335: 
    5094 #line 1291 "fortran.y" 
     4004#line 4005 "fortran.tab.c" /* yacc.c:1646  */ 
     4005    break; 
     4006 
     4007  case 94: 
     4008#line 1263 "fortran.y" /* yacc.c:1646  */ 
    50954009    { strcpy((yyval.na),(yyvsp[0].na)); } 
    5096 #line 5097 "fortran.tab.c" 
    5097     break; 
    5098  
    5099   case 336: 
    5100 #line 1293 "fortran.y" 
     4010#line 4011 "fortran.tab.c" /* yacc.c:1646  */ 
     4011    break; 
     4012 
     4013  case 95: 
     4014#line 1265 "fortran.y" /* yacc.c:1646  */ 
    51014015    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
    5102 #line 5103 "fortran.tab.c" 
    5103     break; 
    5104  
    5105   case 338: 
    5106 #line 1297 "fortran.y" 
     4016#line 4017 "fortran.tab.c" /* yacc.c:1646  */ 
     4017    break; 
     4018 
     4019  case 97: 
     4020#line 1269 "fortran.y" /* yacc.c:1646  */ 
    51074021    { strcpy((yyval.na),(yyvsp[0].na));} 
    5108 #line 5109 "fortran.tab.c" 
    5109     break; 
    5110  
    5111   case 340: 
    5112 #line 1299 "fortran.y" 
     4022#line 4023 "fortran.tab.c" /* yacc.c:1646  */ 
     4023    break; 
     4024 
     4025  case 99: 
     4026#line 1271 "fortran.y" /* yacc.c:1646  */ 
    51134027    { strcpy((yyval.na),(yyvsp[0].na));} 
    5114 #line 5115 "fortran.tab.c" 
    5115     break; 
    5116  
    5117   case 341: 
    5118 #line 1300 "fortran.y" 
     4028#line 4029 "fortran.tab.c" /* yacc.c:1646  */ 
     4029    break; 
     4030 
     4031  case 100: 
     4032#line 1272 "fortran.y" /* yacc.c:1646  */ 
    51194033    { strcpy((yyval.na),(yyvsp[0].na));} 
    5120 #line 5121 "fortran.tab.c" 
    5121     break; 
    5122  
    5123   case 342: 
    5124 #line 1302 "fortran.y" 
     4034#line 4035 "fortran.tab.c" /* yacc.c:1646  */ 
     4035    break; 
     4036 
     4037  case 101: 
     4038#line 1274 "fortran.y" /* yacc.c:1646  */ 
    51254039    { strcpy((yyval.na)," ");} 
    5126 #line 5127 "fortran.tab.c" 
    5127     break; 
    5128  
    5129   case 343: 
    5130 #line 1303 "fortran.y" 
     4040#line 4041 "fortran.tab.c" /* yacc.c:1646  */ 
     4041    break; 
     4042 
     4043  case 102: 
     4044#line 1275 "fortran.y" /* yacc.c:1646  */ 
    51314045    { strcpy((yyval.na),(yyvsp[0].na));} 
    5132 #line 5133 "fortran.tab.c" 
    5133     break; 
    5134  
    5135   case 344: 
    5136 #line 1306 "fortran.y" 
    5137     { sprintf((yyval.na),"(%s :%s)",(yyvsp[-3].na),(yyvsp[-1].na));} 
    5138 #line 5139 "fortran.tab.c" 
    5139     break; 
    5140  
    5141   case 345: 
    5142 #line 1308 "fortran.y" 
     4046#line 4047 "fortran.tab.c" /* yacc.c:1646  */ 
     4047    break; 
     4048 
     4049  case 103: 
     4050#line 1285 "fortran.y" /* yacc.c:1646  */ 
    51434051    { strcpy((yyval.na)," ");} 
    5144 #line 5145 "fortran.tab.c" 
    5145     break; 
    5146  
    5147   case 346: 
    5148 #line 1309 "fortran.y" 
     4052#line 4053 "fortran.tab.c" /* yacc.c:1646  */ 
     4053    break; 
     4054 
     4055  case 104: 
     4056#line 1286 "fortran.y" /* yacc.c:1646  */ 
    51494057    { strcpy((yyval.na),(yyvsp[0].na));} 
    5150 #line 5151 "fortran.tab.c" 
    5151     break; 
    5152  
    5153   case 347: 
    5154 #line 1312 "fortran.y" 
    5155     { strcpy((yyval.na)," ");} 
    5156 #line 5157 "fortran.tab.c" 
    5157     break; 
    5158  
    5159   case 348: 
    5160 #line 1313 "fortran.y" 
    5161     { strcpy((yyval.na),(yyvsp[0].na));} 
    5162 #line 5163 "fortran.tab.c" 
    5163     break; 
    5164  
    5165   case 349: 
    5166 #line 1315 "fortran.y" 
    5167     { InitialValueGiven = 0; } 
    5168 #line 5169 "fortran.tab.c" 
    5169     break; 
    5170  
    5171   case 350: 
    5172 #line 1317 "fortran.y" 
    5173     { 
    5174             if ( inside_type_declare ) break; 
    5175             strcpy(InitValue,(yyvsp[0].na)); 
    5176             InitialValueGiven = 1; 
    5177         } 
    5178 #line 5179 "fortran.tab.c" 
    5179     break; 
    5180  
    5181   case 351: 
    5182 #line 1323 "fortran.y" 
    5183     { 
    5184             if ( inside_type_declare ) break; 
    5185             strcpy(InitValue,(yyvsp[0].na)); 
    5186             InitialValueGiven = 2; 
    5187         } 
    5188 #line 5189 "fortran.tab.c" 
    5189     break; 
    5190  
    5191   case 352: 
    5192 #line 1330 "fortran.y" 
    5193     {sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na)); } 
    5194 #line 5195 "fortran.tab.c" 
    5195     break; 
    5196  
    5197   case 353: 
    5198 #line 1334 "fortran.y" 
    5199     { 
    5200             /* if variables has been declared in a subroutine       */ 
    5201             sprintf(charusemodule, "%s", (yyvsp[0].na)); 
    5202             if ( firstpass ) 
    5203             { 
    5204                 Add_NameOfModuleUsed_1((yyvsp[0].na)); 
    5205             } 
    5206             else 
    5207             { 
    5208                 if ( insubroutinedeclare ) 
    5209                     copyuse_0((yyvsp[0].na)); 
    5210  
    5211                 if ( inmoduledeclare == 0 ) 
    5212                 { 
    5213                     pos_end = setposcur(); 
    5214                     RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 
    5215                 } 
    5216             } 
    5217         } 
    5218 #line 5219 "fortran.tab.c" 
    5219     break; 
    5220  
    5221   case 354: 
    5222 #line 1354 "fortran.y" 
    5223     { 
    5224             if ( firstpass ) 
    5225             { 
    5226                 if ( insubroutinedeclare ) 
    5227                 { 
    5228                     Add_CouplePointed_Var_1((yyvsp[-2].na),(yyvsp[0].lc)); 
    5229                     coupletmp = (yyvsp[0].lc); 
    5230                     strcpy(ligne,""); 
    5231                     while ( coupletmp ) 
    5232                     { 
    5233                         strcat(ligne, coupletmp->c_namevar); 
    5234                         strcat(ligne, " => "); 
    5235                         strcat(ligne, coupletmp->c_namepointedvar); 
    5236                         coupletmp = coupletmp->suiv; 
    5237                         if ( coupletmp ) strcat(ligne,","); 
    5238                     } 
    5239                     sprintf(charusemodule,"%s",(yyvsp[-2].na)); 
    5240                 } 
    5241                 Add_NameOfModuleUsed_1((yyvsp[-2].na)); 
    5242             } 
    5243             if ( inmoduledeclare == 0 ) 
    5244             { 
    5245                 pos_end = setposcur(); 
    5246                 RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 
    5247             } 
    5248         } 
    5249 #line 5250 "fortran.tab.c" 
    5250     break; 
    5251  
    5252   case 355: 
    5253 #line 1381 "fortran.y" 
    5254     { 
    5255             /* if variables has been declared in a subroutine       */ 
    5256             sprintf(charusemodule,"%s",(yyvsp[-4].na)); 
    5257             if ( firstpass ) 
    5258             { 
    5259                 Add_NameOfModuleUsed_1((yyvsp[-4].na)); 
    5260             } 
    5261             else 
    5262             { 
    5263                 if ( insubroutinedeclare ) 
    5264                     copyuseonly_0((yyvsp[-4].na)); 
    5265  
    5266                 if ( inmoduledeclare == 0 ) 
    5267                 { 
    5268                     pos_end = setposcur(); 
    5269                     RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 
    5270                 } 
    5271             } 
    5272         } 
    5273 #line 5274 "fortran.tab.c" 
    5274     break; 
    5275  
    5276   case 356: 
    5277 #line 1401 "fortran.y" 
    5278     { 
    5279             /* if variables has been declared in a subroutine      */ 
    5280             if ( firstpass ) 
    5281             { 
    5282                 if ( insubroutinedeclare ) 
    5283                 { 
    5284                     Add_CouplePointed_Var_1((yyvsp[-4].na),(yyvsp[0].lc)); 
    5285                     coupletmp = (yyvsp[0].lc); 
    5286                     strcpy(ligne,""); 
    5287                     while ( coupletmp ) 
    5288                     { 
    5289                         strcat(ligne,coupletmp->c_namevar); 
    5290                         if ( strcasecmp(coupletmp->c_namepointedvar,"") )   strcat(ligne," => "); 
    5291                         strcat(ligne,coupletmp->c_namepointedvar); 
    5292                         coupletmp = coupletmp->suiv; 
    5293                         if ( coupletmp ) strcat(ligne,","); 
    5294                     } 
    5295                     sprintf(charusemodule,"%s",(yyvsp[-4].na)); 
    5296                 } 
    5297                 Add_NameOfModuleUsed_1((yyvsp[-4].na)); 
    5298             } 
    5299             else /* if ( firstpass == 0 ) */ 
    5300             { 
    5301                 if ( inmoduledeclare == 0 ) 
    5302                 { 
    5303                     pos_end = setposcur(); 
    5304                     RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 
    5305                     if (oldfortran_out)  variableisglobalinmodule((yyvsp[0].lc),(yyvsp[-4].na),oldfortran_out,pos_curuseold); 
    5306                 } 
    5307                 else 
    5308                 { 
    5309                     /* if we are in the module declare and if the    */ 
    5310                     /* onlylist is a list of global variable         */ 
    5311                     variableisglobalinmodule((yyvsp[0].lc), (yyvsp[-4].na), fortran_out,pos_curuse); 
    5312                 } 
    5313             } 
    5314         } 
    5315 #line 5316 "fortran.tab.c" 
    5316     break; 
    5317  
    5318   case 357: 
    5319 #line 1441 "fortran.y" 
    5320     { 
    5321             pos_curuse = setposcur()-strlen((yyvsp[0].na)); 
    5322             if (firstpass == 0 && oldfortran_out) pos_curuseold = setposcurname(oldfortran_out); 
    5323         } 
    5324 #line 5325 "fortran.tab.c" 
    5325     break; 
    5326  
    5327   case 358: 
    5328 #line 1448 "fortran.y" 
    5329     { 
    5330             (yyval.lc) = (yyvsp[0].lc); 
    5331         } 
    5332 #line 5333 "fortran.tab.c" 
    5333     break; 
    5334  
    5335   case 359: 
    5336 #line 1452 "fortran.y" 
    5337     { 
    5338             /* insert the variable in the list $1                 */ 
    5339             (yyvsp[0].lc)->suiv = (yyvsp[-2].lc); 
    5340             (yyval.lc) = (yyvsp[0].lc); 
    5341         } 
    5342 #line 5343 "fortran.tab.c" 
    5343     break; 
    5344  
    5345   case 360: 
    5346 #line 1459 "fortran.y" 
    5347     { 
    5348             coupletmp = (listcouple *) calloc(1,sizeof(listcouple)); 
    5349             strcpy(coupletmp->c_namevar,(yyvsp[-2].na)); 
    5350             strcpy(coupletmp->c_namepointedvar,(yyvsp[0].na)); 
    5351             coupletmp->suiv = NULL; 
    5352             (yyval.lc) = coupletmp; 
    5353         } 
    5354 #line 5355 "fortran.tab.c" 
    5355     break; 
    5356  
    5357   case 361: 
    5358 #line 1468 "fortran.y" 
    5359     {  (yyval.lc) = (yyvsp[0].lc); } 
    5360 #line 5361 "fortran.tab.c" 
    5361     break; 
    5362  
    5363   case 362: 
    5364 #line 1470 "fortran.y" 
    5365     { 
    5366             /* insert the variable in the list $1                 */ 
    5367             (yyvsp[0].lc)->suiv = (yyvsp[-2].lc); 
    5368             (yyval.lc) = (yyvsp[0].lc); 
    5369         } 
    5370 #line 5371 "fortran.tab.c" 
    5371     break; 
    5372  
    5373   case 363: 
    5374 #line 1478 "fortran.y" 
    5375     { 
    5376             coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 
    5377             strcpy(coupletmp->c_namevar,(yyvsp[-2].na)); 
    5378             strcpy(coupletmp->c_namepointedvar,(yyvsp[0].na)); 
    5379             coupletmp->suiv = NULL; 
    5380             (yyval.lc) = coupletmp; 
    5381             pointedvar = 1; 
    5382             Add_UsedInSubroutine_Var_1((yyvsp[-2].na)); 
    5383         } 
    5384 #line 5385 "fortran.tab.c" 
    5385     break; 
    5386  
    5387   case 364: 
    5388 #line 1488 "fortran.y" 
    5389     { 
    5390             coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 
    5391             strcpy(coupletmp->c_namevar,(yyvsp[0].na)); 
    5392             strcpy(coupletmp->c_namepointedvar,""); 
    5393             coupletmp->suiv = NULL; 
    5394             (yyval.lc) = coupletmp; 
    5395         } 
    5396 #line 5397 "fortran.tab.c" 
    5397     break; 
    5398  
    5399   case 381: 
    5400 #line 1523 "fortran.y" 
    5401     { inallocate = 0; } 
    5402 #line 5403 "fortran.tab.c" 
    5403     break; 
    5404  
    5405   case 382: 
    5406 #line 1524 "fortran.y" 
    5407     { inallocate = 0; } 
    5408 #line 5409 "fortran.tab.c" 
    5409     break; 
    5410  
    5411   case 389: 
    5412 #line 1532 "fortran.y" 
    5413     { 
    5414             GlobalDeclaration = 0 ; 
    5415             if ( firstpass == 0 && strcasecmp(subroutinename,"") ) 
    5416             { 
    5417                 if ( module_declar && insubroutinedeclare == 0 )    fclose(module_declar); 
    5418             } 
    5419             if ( strcasecmp(subroutinename,"") ) 
    5420             { 
    5421                 if ( inmodulemeet == 1 ) 
    5422                 { 
    5423                     /* we are in a module                                */ 
    5424                     if ( insubroutinedeclare == 1 ) 
    5425                     { 
    5426                         /* it is like an end subroutine <name>            */ 
    5427                         insubroutinedeclare = 0 ; 
    5428                         pos_cur = setposcur(); 
    5429                         closeandcallsubloopandincludeit_0(1); 
    5430                         functiondeclarationisdone = 0; 
    5431                     } 
    5432                     else 
    5433                     { 
    5434                         /* it is like an end module <name>                */ 
    5435                         inmoduledeclare = 0 ; 
    5436                         inmodulemeet = 0 ; 
    5437                     } 
    5438                 } 
    5439                 else 
    5440                 { 
    5441                     insubroutinedeclare = 0; 
    5442                     pos_cur = setposcur(); 
    5443                     closeandcallsubloopandincludeit_0(2); 
    5444                     functiondeclarationisdone = 0; 
    5445                 } 
    5446             } 
    5447             strcpy(subroutinename,""); 
    5448         } 
    5449 #line 5450 "fortran.tab.c" 
    5450     break; 
    5451  
    5452   case 390: 
    5453 #line 1569 "fortran.y" 
    5454     { 
    5455             insubroutinedeclare = 0; 
    5456             inprogramdeclare = 0; 
    5457             pos_cur = setposcur(); 
    5458             closeandcallsubloopandincludeit_0(3); 
    5459             functiondeclarationisdone = 0; 
    5460             strcpy(subroutinename,""); 
    5461         } 
    5462 #line 5463 "fortran.tab.c" 
    5463     break; 
    5464  
    5465   case 391: 
    5466 #line 1578 "fortran.y" 
    5467     { 
    5468             if ( strcasecmp(subroutinename,"") ) 
    5469             { 
    5470                 insubroutinedeclare = 0; 
    5471                 pos_cur = setposcur(); 
    5472                 closeandcallsubloopandincludeit_0(1); 
    5473                 functiondeclarationisdone = 0; 
    5474                 strcpy(subroutinename,""); 
    5475             } 
    5476         } 
    5477 #line 5478 "fortran.tab.c" 
    5478     break; 
    5479  
    5480   case 392: 
    5481 #line 1589 "fortran.y" 
    5482     { 
    5483             insubroutinedeclare = 0; 
    5484             pos_cur = setposcur(); 
    5485             closeandcallsubloopandincludeit_0(0); 
    5486             functiondeclarationisdone = 0; 
    5487             strcpy(subroutinename,""); 
    5488         } 
    5489 #line 5490 "fortran.tab.c" 
    5490     break; 
    5491  
    5492   case 393: 
    5493 #line 1597 "fortran.y" 
     4058#line 4059 "fortran.tab.c" /* yacc.c:1646  */ 
     4059    break; 
     4060 
     4061  case 169: 
     4062#line 1484 "fortran.y" /* yacc.c:1646  */ 
    54944063    { 
    54954064            /* if we never meet the contains keyword               */ 
     
    55134082            GlobalDeclaration = 0 ; 
    55144083        } 
    5515 #line 5516 "fortran.tab.c" 
    5516     break; 
    5517  
    5518   case 396: 
    5519 #line 1621 "fortran.y" 
     4084#line 4085 "fortran.tab.c" /* yacc.c:1646  */ 
     4085    break; 
     4086 
     4087  case 189: 
     4088#line 1537 "fortran.y" /* yacc.c:1646  */ 
     4089    {in_complex_literal=0;} 
     4090#line 4091 "fortran.tab.c" /* yacc.c:1646  */ 
     4091    break; 
     4092 
     4093  case 192: 
     4094#line 1561 "fortran.y" /* yacc.c:1646  */ 
     4095    {strcpy((yyval.na),"");} 
     4096#line 4097 "fortran.tab.c" /* yacc.c:1646  */ 
     4097    break; 
     4098 
     4099  case 196: 
     4100#line 1571 "fortran.y" /* yacc.c:1646  */ 
     4101    {strcpy((yyval.na),"");} 
     4102#line 4103 "fortran.tab.c" /* yacc.c:1646  */ 
     4103    break; 
     4104 
     4105  case 197: 
     4106#line 1573 "fortran.y" /* yacc.c:1646  */ 
     4107    {strcpy((yyval.na),(yyvsp[0].na));} 
     4108#line 4109 "fortran.tab.c" /* yacc.c:1646  */ 
     4109    break; 
     4110 
     4111  case 202: 
     4112#line 1593 "fortran.y" /* yacc.c:1646  */ 
     4113    {pos_cur_decl=my_position_before;} 
     4114#line 4115 "fortran.tab.c" /* yacc.c:1646  */ 
     4115    break; 
     4116 
     4117  case 203: 
     4118#line 1594 "fortran.y" /* yacc.c:1646  */ 
     4119    {strcpy((yyval.na),(yyvsp[0].na));} 
     4120#line 4121 "fortran.tab.c" /* yacc.c:1646  */ 
     4121    break; 
     4122 
     4123  case 205: 
     4124#line 1597 "fortran.y" /* yacc.c:1646  */ 
     4125    {strcpy(DeclType,"type"); GlobalDeclarationType = 1;  } 
     4126#line 4127 "fortran.tab.c" /* yacc.c:1646  */ 
     4127    break; 
     4128 
     4129  case 206: 
     4130#line 1601 "fortran.y" /* yacc.c:1646  */ 
     4131    {in_kind_selector = 1;} 
     4132#line 4133 "fortran.tab.c" /* yacc.c:1646  */ 
     4133    break; 
     4134 
     4135  case 207: 
     4136#line 1602 "fortran.y" /* yacc.c:1646  */ 
     4137    {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na)); in_kind_selector =0;} 
     4138#line 4139 "fortran.tab.c" /* yacc.c:1646  */ 
     4139    break; 
     4140 
     4141  case 208: 
     4142#line 1603 "fortran.y" /* yacc.c:1646  */ 
     4143    {in_kind_selector = 1;} 
     4144#line 4145 "fortran.tab.c" /* yacc.c:1646  */ 
     4145    break; 
     4146 
     4147  case 209: 
     4148#line 1604 "fortran.y" /* yacc.c:1646  */ 
     4149    {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_kind_selector =0;} 
     4150#line 4151 "fortran.tab.c" /* yacc.c:1646  */ 
     4151    break; 
     4152 
     4153  case 210: 
     4154#line 1605 "fortran.y" /* yacc.c:1646  */ 
     4155    {in_kind_selector = 1;} 
     4156#line 4157 "fortran.tab.c" /* yacc.c:1646  */ 
     4157    break; 
     4158 
     4159  case 211: 
     4160#line 1606 "fortran.y" /* yacc.c:1646  */ 
     4161    {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,"real"); strcpy(NamePrecision,"8");in_kind_selector =0;} 
     4162#line 4163 "fortran.tab.c" /* yacc.c:1646  */ 
     4163    break; 
     4164 
     4165  case 212: 
     4166#line 1607 "fortran.y" /* yacc.c:1646  */ 
     4167    {in_kind_selector = 1;} 
     4168#line 4169 "fortran.tab.c" /* yacc.c:1646  */ 
     4169    break; 
     4170 
     4171  case 213: 
     4172#line 1608 "fortran.y" /* yacc.c:1646  */ 
     4173    {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_kind_selector =0;} 
     4174#line 4175 "fortran.tab.c" /* yacc.c:1646  */ 
     4175    break; 
     4176 
     4177  case 214: 
     4178#line 1609 "fortran.y" /* yacc.c:1646  */ 
     4179    {in_char_selector = 1;} 
     4180#line 4181 "fortran.tab.c" /* yacc.c:1646  */ 
     4181    break; 
     4182 
     4183  case 215: 
     4184#line 1610 "fortran.y" /* yacc.c:1646  */ 
     4185    {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_char_selector = 0;} 
     4186#line 4187 "fortran.tab.c" /* yacc.c:1646  */ 
     4187    break; 
     4188 
     4189  case 216: 
     4190#line 1611 "fortran.y" /* yacc.c:1646  */ 
     4191    {in_kind_selector = 1;} 
     4192#line 4193 "fortran.tab.c" /* yacc.c:1646  */ 
     4193    break; 
     4194 
     4195  case 217: 
     4196#line 1612 "fortran.y" /* yacc.c:1646  */ 
     4197    {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_kind_selector =0;} 
     4198#line 4199 "fortran.tab.c" /* yacc.c:1646  */ 
     4199    break; 
     4200 
     4201  case 218: 
     4202#line 1616 "fortran.y" /* yacc.c:1646  */ 
     4203    {strcpy((yyval.na),"");strcpy(NamePrecision,"");} 
     4204#line 4205 "fortran.tab.c" /* yacc.c:1646  */ 
     4205    break; 
     4206 
     4207  case 219: 
     4208#line 1618 "fortran.y" /* yacc.c:1646  */ 
     4209    {strcpy((yyval.na),(yyvsp[0].na));} 
     4210#line 4211 "fortran.tab.c" /* yacc.c:1646  */ 
     4211    break; 
     4212 
     4213  case 220: 
     4214#line 1624 "fortran.y" /* yacc.c:1646  */ 
     4215    {sprintf((yyval.na),"(%s)",(yyvsp[-1].na)); strcpy(NamePrecision,(yyvsp[-1].na));} 
     4216#line 4217 "fortran.tab.c" /* yacc.c:1646  */ 
     4217    break; 
     4218 
     4219  case 221: 
     4220#line 1626 "fortran.y" /* yacc.c:1646  */ 
     4221    {sprintf((yyval.na),"(KIND=%s)",(yyvsp[-1].na)); strcpy(NamePrecision,(yyvsp[-1].na));} 
     4222#line 4223 "fortran.tab.c" /* yacc.c:1646  */ 
     4223    break; 
     4224 
     4225  case 222: 
     4226#line 1628 "fortran.y" /* yacc.c:1646  */ 
     4227    {sprintf((yyval.na),"*%s",(yyvsp[0].na));strcpy(NamePrecision,(yyvsp[0].na));} 
     4228#line 4229 "fortran.tab.c" /* yacc.c:1646  */ 
     4229    break; 
     4230 
     4231  case 224: 
     4232#line 1636 "fortran.y" /* yacc.c:1646  */ 
     4233    {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 
     4234#line 4235 "fortran.tab.c" /* yacc.c:1646  */ 
     4235    break; 
     4236 
     4237  case 226: 
     4238#line 1642 "fortran.y" /* yacc.c:1646  */ 
     4239    {sprintf((yyval.na),"%s_%s",(yyvsp[-2].na),(yyvsp[0].na));} 
     4240#line 4241 "fortran.tab.c" /* yacc.c:1646  */ 
     4241    break; 
     4242 
     4243  case 230: 
     4244#line 1665 "fortran.y" /* yacc.c:1646  */ 
     4245    {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 
     4246#line 4247 "fortran.tab.c" /* yacc.c:1646  */ 
     4247    break; 
     4248 
     4249  case 232: 
     4250#line 1671 "fortran.y" /* yacc.c:1646  */ 
     4251    {sprintf((yyval.na),"%s_%s",(yyvsp[-2].na),(yyvsp[0].na));} 
     4252#line 4253 "fortran.tab.c" /* yacc.c:1646  */ 
     4253    break; 
     4254 
     4255  case 233: 
     4256#line 1678 "fortran.y" /* yacc.c:1646  */ 
     4257    {sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na));} 
     4258#line 4259 "fortran.tab.c" /* yacc.c:1646  */ 
     4259    break; 
     4260 
     4261  case 241: 
     4262#line 1696 "fortran.y" /* yacc.c:1646  */ 
     4263    {char_length_toreset = 1;} 
     4264#line 4265 "fortran.tab.c" /* yacc.c:1646  */ 
     4265    break; 
     4266 
     4267  case 242: 
     4268#line 1700 "fortran.y" /* yacc.c:1646  */ 
     4269    {strcpy((yyval.na),"");} 
     4270#line 4271 "fortran.tab.c" /* yacc.c:1646  */ 
     4271    break; 
     4272 
     4273  case 243: 
     4274#line 1702 "fortran.y" /* yacc.c:1646  */ 
     4275    {strcpy((yyval.na),"");} 
     4276#line 4277 "fortran.tab.c" /* yacc.c:1646  */ 
     4277    break; 
     4278 
     4279  case 249: 
     4280#line 1715 "fortran.y" /* yacc.c:1646  */ 
     4281    {strcpy(CharacterSize,(yyvsp[-1].na));} 
     4282#line 4283 "fortran.tab.c" /* yacc.c:1646  */ 
     4283    break; 
     4284 
     4285  case 250: 
     4286#line 1717 "fortran.y" /* yacc.c:1646  */ 
     4287    {strcpy(CharacterSize,(yyvsp[-1].na));} 
     4288#line 4289 "fortran.tab.c" /* yacc.c:1646  */ 
     4289    break; 
     4290 
     4291  case 253: 
     4292#line 1724 "fortran.y" /* yacc.c:1646  */ 
     4293    {c_star=1; strcpy(CharacterSize,(yyvsp[-1].na));} 
     4294#line 4295 "fortran.tab.c" /* yacc.c:1646  */ 
     4295    break; 
     4296 
     4297  case 254: 
     4298#line 1726 "fortran.y" /* yacc.c:1646  */ 
     4299    {c_selectorgiven = 1; strcpy(c_selectorname,(yyvsp[0].na));} 
     4300#line 4301 "fortran.tab.c" /* yacc.c:1646  */ 
     4301    break; 
     4302 
     4303  case 260: 
     4304#line 1741 "fortran.y" /* yacc.c:1646  */ 
     4305    { inside_type_declare = 1;} 
     4306#line 4307 "fortran.tab.c" /* yacc.c:1646  */ 
     4307    break; 
     4308 
     4309  case 261: 
     4310#line 1742 "fortran.y" /* yacc.c:1646  */ 
     4311    { inside_type_declare = 0;} 
     4312#line 4313 "fortran.tab.c" /* yacc.c:1646  */ 
     4313    break; 
     4314 
     4315  case 289: 
     4316#line 1807 "fortran.y" /* yacc.c:1646  */ 
     4317    {in_complex_literal=0;} 
     4318#line 4319 "fortran.tab.c" /* yacc.c:1646  */ 
     4319    break; 
     4320 
     4321  case 294: 
     4322#line 1817 "fortran.y" /* yacc.c:1646  */ 
     4323    { 
     4324            PublicDeclare = 0; 
     4325            PrivateDeclare = 0; 
     4326            ExternalDeclare = 0; 
     4327            strcpy(NamePrecision,""); 
     4328            c_star = 0; 
     4329            InitialValueGiven = 0 ; 
     4330            strcpy(IntentSpec,""); 
     4331            VariableIsParameter =  0 ; 
     4332            Allocatabledeclare = 0 ; 
     4333            Targetdeclare = 0 ; 
     4334            SaveDeclare = 0; 
     4335            pointerdeclare = 0; 
     4336            optionaldeclare = 0 ; 
     4337            dimsgiven=0; 
     4338            c_selectorgiven=0; 
     4339            strcpy(nameinttypename,""); 
     4340            strcpy(c_selectorname,""); 
     4341            GlobalDeclarationType = 0; 
     4342         } 
     4343#line 4344 "fortran.tab.c" /* yacc.c:1646  */ 
     4344    break; 
     4345 
     4346  case 304: 
     4347#line 1860 "fortran.y" /* yacc.c:1646  */ 
     4348    {strcpy(my_dim.last,"");} 
     4349#line 4350 "fortran.tab.c" /* yacc.c:1646  */ 
     4350    break; 
     4351 
     4352  case 305: 
     4353#line 1865 "fortran.y" /* yacc.c:1646  */ 
     4354    {strcpy(NamePrecision,(yyvsp[0].na));} 
     4355#line 4356 "fortran.tab.c" /* yacc.c:1646  */ 
     4356    break; 
     4357 
     4358  case 320: 
     4359#line 1900 "fortran.y" /* yacc.c:1646  */ 
     4360    { sprintf((yyval.na),"(/%s/)",(yyvsp[-1].na));} 
     4361#line 4362 "fortran.tab.c" /* yacc.c:1646  */ 
     4362    break; 
     4363 
     4364  case 321: 
     4365#line 1902 "fortran.y" /* yacc.c:1646  */ 
     4366    { sprintf((yyval.na),"[%s]",(yyvsp[-1].na)); } 
     4367#line 4368 "fortran.tab.c" /* yacc.c:1646  */ 
     4368    break; 
     4369 
     4370  case 326: 
     4371#line 1930 "fortran.y" /* yacc.c:1646  */ 
     4372    {sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na));} 
     4373#line 4374 "fortran.tab.c" /* yacc.c:1646  */ 
     4374    break; 
     4375 
     4376  case 329: 
     4377#line 1940 "fortran.y" /* yacc.c:1646  */ 
     4378    {sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na));} 
     4379#line 4380 "fortran.tab.c" /* yacc.c:1646  */ 
     4380    break; 
     4381 
     4382  case 330: 
     4383#line 1945 "fortran.y" /* yacc.c:1646  */ 
     4384    {sprintf((yyval.na),"%s=%s,%s",(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} 
     4385#line 4386 "fortran.tab.c" /* yacc.c:1646  */ 
     4386    break; 
     4387 
     4388  case 331: 
     4389#line 1947 "fortran.y" /* yacc.c:1646  */ 
     4390    {sprintf((yyval.na),"%s=%s,%s,%s",(yyvsp[-6].na),(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} 
     4391#line 4392 "fortran.tab.c" /* yacc.c:1646  */ 
     4392    break; 
     4393 
     4394  case 333: 
     4395#line 1955 "fortran.y" /* yacc.c:1646  */ 
     4396    {indeclaration=1;} 
     4397#line 4398 "fortran.tab.c" /* yacc.c:1646  */ 
     4398    break; 
     4399 
     4400  case 334: 
     4401#line 1956 "fortran.y" /* yacc.c:1646  */ 
     4402    { 
     4403            /* if the variable is a parameter we can suppose that is*/ 
     4404            /*    value is the same on each grid. It is not useless */ 
     4405            /*    to create a copy of it on each grid               */ 
     4406            if ( ! inside_type_declare ) 
     4407            { 
     4408                pos_end = setposcur(); 
     4409                //printf("POS = %d %d\n",pos_cur_decl,pos_end); 
     4410                RemoveWordSET_0(fortran_out,pos_cur_decl,pos_end-pos_cur_decl); 
     4411                ReWriteDeclarationAndAddTosubroutine_01((yyvsp[0].l)); 
     4412                pos_cur_decl = setposcur(); 
     4413                if ( firstpass == 0 && GlobalDeclaration == 0 
     4414                                    && insubroutinedeclare == 0 ) 
     4415                { 
     4416                    fprintf(fortran_out,"\n#include \"Module_Declar_%s.h\"\n", curmodulename); 
     4417                    sprintf(ligne, "Module_Declar_%s.h", curmodulename); 
     4418                    module_declar = open_for_write(ligne); 
     4419                    GlobalDeclaration = 1 ; 
     4420                    pos_cur_decl = setposcur(); 
     4421                } 
     4422 
     4423                if ( firstpass ) 
     4424                { 
     4425                    Add_Globliste_1((yyvsp[0].l)); 
     4426                    if ( insubroutinedeclare ) 
     4427                    { 
     4428                        if ( pointerdeclare ) Add_Pointer_Var_From_List_1((yyvsp[0].l)); 
     4429                        Add_Parameter_Var_1((yyvsp[0].l)); 
     4430                    } 
     4431                    else 
     4432                        Add_GlobalParameter_Var_1((yyvsp[0].l)); 
     4433 
     4434                    /* If there's a SAVE declaration in module's subroutines we should    */ 
     4435                    /*    remove it from the subroutines declaration and add it in the    */ 
     4436                    /*    global declarations                                             */ 
     4437                                         
     4438                    if ( aftercontainsdeclare && SaveDeclare ) 
     4439                    { 
     4440                        if ( inmodulemeet ) Add_SubroutineDeclarationSave_Var_1((yyvsp[0].l)); 
     4441                        else                Add_Save_Var_dcl_1((yyvsp[0].l)); 
     4442                    } 
     4443                } 
     4444            } 
     4445            indeclaration = 0; 
     4446            PublicDeclare = 0; 
     4447            PrivateDeclare = 0; 
     4448            ExternalDeclare = 0; 
     4449            strcpy(NamePrecision,""); 
     4450            c_star = 0; 
     4451            InitialValueGiven = 0 ; 
     4452            strcpy(IntentSpec,""); 
     4453            VariableIsParameter =  0 ; 
     4454            Allocatabledeclare = 0 ; 
     4455            Targetdeclare = 0 ; 
     4456            SaveDeclare = 0; 
     4457            pointerdeclare = 0; 
     4458            optionaldeclare = 0 ; 
     4459            dimsgiven=0; 
     4460            c_selectorgiven=0; 
     4461            strcpy(nameinttypename,""); 
     4462            strcpy(c_selectorname,""); 
     4463            strcpy(DeclType,""); 
     4464            GlobalDeclarationType = 0; 
     4465        } 
     4466#line 4467 "fortran.tab.c" /* yacc.c:1646  */ 
     4467    break; 
     4468 
     4469  case 343: 
     4470#line 2039 "fortran.y" /* yacc.c:1646  */ 
     4471    { Allocatabledeclare = 1; } 
     4472#line 4473 "fortran.tab.c" /* yacc.c:1646  */ 
     4473    break; 
     4474 
     4475  case 344: 
     4476#line 2040 "fortran.y" /* yacc.c:1646  */ 
     4477    {in_complex_literal=0;} 
     4478#line 4479 "fortran.tab.c" /* yacc.c:1646  */ 
     4479    break; 
     4480 
     4481  case 345: 
     4482#line 2041 "fortran.y" /* yacc.c:1646  */ 
     4483    { dimsgiven = 1; curdim = (yyvsp[-1].d); } 
     4484#line 4485 "fortran.tab.c" /* yacc.c:1646  */ 
     4485    break; 
     4486 
     4487  case 346: 
     4488#line 2043 "fortran.y" /* yacc.c:1646  */ 
     4489    { ExternalDeclare = 1; } 
     4490#line 4491 "fortran.tab.c" /* yacc.c:1646  */ 
     4491    break; 
     4492 
     4493  case 347: 
     4494#line 2044 "fortran.y" /* yacc.c:1646  */ 
     4495    {in_complex_literal=0;} 
     4496#line 4497 "fortran.tab.c" /* yacc.c:1646  */ 
     4497    break; 
     4498 
     4499  case 348: 
     4500#line 2045 "fortran.y" /* yacc.c:1646  */ 
     4501    { strcpy(IntentSpec,(yyvsp[-1].na)); } 
     4502#line 4503 "fortran.tab.c" /* yacc.c:1646  */ 
     4503    break; 
     4504 
     4505  case 350: 
     4506#line 2048 "fortran.y" /* yacc.c:1646  */ 
     4507    { optionaldeclare = 1 ; } 
     4508#line 4509 "fortran.tab.c" /* yacc.c:1646  */ 
     4509    break; 
     4510 
     4511  case 351: 
     4512#line 2050 "fortran.y" /* yacc.c:1646  */ 
     4513    {VariableIsParameter = 1; } 
     4514#line 4515 "fortran.tab.c" /* yacc.c:1646  */ 
     4515    break; 
     4516 
     4517  case 352: 
     4518#line 2052 "fortran.y" /* yacc.c:1646  */ 
     4519    { pointerdeclare = 1 ; } 
     4520#line 4521 "fortran.tab.c" /* yacc.c:1646  */ 
     4521    break; 
     4522 
     4523  case 353: 
     4524#line 2054 "fortran.y" /* yacc.c:1646  */ 
     4525    { SaveDeclare = 1 ; } 
     4526#line 4527 "fortran.tab.c" /* yacc.c:1646  */ 
     4527    break; 
     4528 
     4529  case 354: 
     4530#line 2056 "fortran.y" /* yacc.c:1646  */ 
     4531    { Targetdeclare = 1; } 
     4532#line 4533 "fortran.tab.c" /* yacc.c:1646  */ 
     4533    break; 
     4534 
     4535  case 355: 
     4536#line 2061 "fortran.y" /* yacc.c:1646  */ 
     4537    {(yyval.l)=insertvar(NULL,(yyvsp[0].v));} 
     4538#line 4539 "fortran.tab.c" /* yacc.c:1646  */ 
     4539    break; 
     4540 
     4541  case 356: 
     4542#line 2063 "fortran.y" /* yacc.c:1646  */ 
     4543    {(yyval.l)=insertvar((yyvsp[-2].l),(yyvsp[0].v));} 
     4544#line 4545 "fortran.tab.c" /* yacc.c:1646  */ 
     4545    break; 
     4546 
     4547  case 357: 
     4548#line 2068 "fortran.y" /* yacc.c:1646  */ 
     4549    { 
     4550            if ( ! inside_type_declare ) 
     4551            { 
     4552                if (dimsgiven == 1) curvar = createvar((yyvsp[-3].na),curdim); 
     4553                else                curvar = createvar((yyvsp[-3].na),(yyvsp[-2].d)); 
     4554                CreateAndFillin_Curvar(DeclType, curvar); 
     4555                strcpy(curvar->v_typevar,DeclType); 
     4556                curvar->v_catvar = get_cat_var(curvar); 
     4557                 
     4558                if (!strcasecmp(DeclType,"character")) 
     4559                { 
     4560                    if (c_selectorgiven == 1) 
     4561                    { 
     4562                        Save_Length(c_selectorname,1); 
     4563                        strcpy(curvar->v_dimchar,c_selectorname); 
     4564                    } 
     4565                } 
     4566            } 
     4567            strcpy(vallengspec,""); 
     4568            if (char_length_toreset == 1) 
     4569            { 
     4570            c_selectorgiven = 0; 
     4571            c_star = 0; 
     4572            strcpy(c_selectorname,""); 
     4573            strcpy(CharacterSize,""); 
     4574            char_length_toreset = 0; 
     4575            } 
     4576            (yyval.v)=curvar; 
     4577        } 
     4578#line 4579 "fortran.tab.c" /* yacc.c:1646  */ 
     4579    break; 
     4580 
     4581  case 360: 
     4582#line 2107 "fortran.y" /* yacc.c:1646  */ 
     4583    {InitialValueGiven = 0; } 
     4584#line 4585 "fortran.tab.c" /* yacc.c:1646  */ 
     4585    break; 
     4586 
     4587  case 362: 
     4588#line 2113 "fortran.y" /* yacc.c:1646  */ 
     4589    { 
     4590            if ( inside_type_declare ) break; 
     4591            strcpy(InitValue,(yyvsp[0].na)); 
     4592            InitialValueGiven = 1; 
     4593        } 
     4594#line 4595 "fortran.tab.c" /* yacc.c:1646  */ 
     4595    break; 
     4596 
     4597  case 363: 
     4598#line 2119 "fortran.y" /* yacc.c:1646  */ 
     4599    { 
     4600            if ( inside_type_declare ) break; 
     4601            strcpy(InitValue,(yyvsp[0].na)); 
     4602            InitialValueGiven = 2; 
     4603        } 
     4604#line 4605 "fortran.tab.c" /* yacc.c:1646  */ 
     4605    break; 
     4606 
     4607  case 364: 
     4608#line 2125 "fortran.y" /* yacc.c:1646  */ 
     4609    { 
     4610            if ( inside_type_declare ) break; 
     4611            strcpy(InitValue,(yyvsp[0].na)); 
     4612            InitialValueGiven = 2; 
     4613        } 
     4614#line 4615 "fortran.tab.c" /* yacc.c:1646  */ 
     4615    break; 
     4616 
     4617  case 366: 
     4618#line 2138 "fortran.y" /* yacc.c:1646  */ 
     4619    {PublicDeclare = 1;  } 
     4620#line 4621 "fortran.tab.c" /* yacc.c:1646  */ 
     4621    break; 
     4622 
     4623  case 367: 
     4624#line 2140 "fortran.y" /* yacc.c:1646  */ 
     4625    {PrivateDeclare = 1;  } 
     4626#line 4627 "fortran.tab.c" /* yacc.c:1646  */ 
     4627    break; 
     4628 
     4629  case 368: 
     4630#line 2144 "fortran.y" /* yacc.c:1646  */ 
     4631    {(yyval.d)=NULL;} 
     4632#line 4633 "fortran.tab.c" /* yacc.c:1646  */ 
     4633    break; 
     4634 
     4635  case 369: 
     4636#line 2145 "fortran.y" /* yacc.c:1646  */ 
     4637    {in_complex_literal=0;} 
     4638#line 4639 "fortran.tab.c" /* yacc.c:1646  */ 
     4639    break; 
     4640 
     4641  case 370: 
     4642#line 2146 "fortran.y" /* yacc.c:1646  */ 
     4643    {(yyval.d)=(yyvsp[-1].d);} 
     4644#line 4645 "fortran.tab.c" /* yacc.c:1646  */ 
     4645    break; 
     4646 
     4647  case 371: 
     4648#line 2151 "fortran.y" /* yacc.c:1646  */ 
     4649    {(yyval.d)=(yyvsp[0].d);} 
     4650#line 4651 "fortran.tab.c" /* yacc.c:1646  */ 
     4651    break; 
     4652 
     4653  case 372: 
     4654#line 2153 "fortran.y" /* yacc.c:1646  */ 
     4655    {(yyval.d)=(yyvsp[0].d);} 
     4656#line 4657 "fortran.tab.c" /* yacc.c:1646  */ 
     4657    break; 
     4658 
     4659  case 373: 
     4660#line 2155 "fortran.y" /* yacc.c:1646  */ 
     4661    {(yyval.d)=(yyvsp[0].d);} 
     4662#line 4663 "fortran.tab.c" /* yacc.c:1646  */ 
     4663    break; 
     4664 
     4665  case 374: 
     4666#line 2157 "fortran.y" /* yacc.c:1646  */ 
     4667    {(yyval.d)=(yyvsp[0].d);} 
     4668#line 4669 "fortran.tab.c" /* yacc.c:1646  */ 
     4669    break; 
     4670 
     4671  case 375: 
     4672#line 2159 "fortran.y" /* yacc.c:1646  */ 
     4673    {(yyval.d)=(yyvsp[0].d);} 
     4674#line 4675 "fortran.tab.c" /* yacc.c:1646  */ 
     4675    break; 
     4676 
     4677  case 376: 
     4678#line 2163 "fortran.y" /* yacc.c:1646  */ 
     4679    { 
     4680            (yyval.d) = (listdim*) NULL; 
     4681            if ( inside_type_declare ) break; 
     4682            if ( created_dimensionlist == 1 || agrif_parentcall == 1 )  (yyval.d)=insertdim(NULL,(yyvsp[0].dim1)); 
     4683        } 
     4684#line 4685 "fortran.tab.c" /* yacc.c:1646  */ 
     4685    break; 
     4686 
     4687  case 377: 
     4688#line 2169 "fortran.y" /* yacc.c:1646  */ 
     4689    { 
     4690            (yyval.d) = (listdim*) NULL; 
     4691            if ( inside_type_declare ) break; 
     4692            if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[-2].d),(yyvsp[0].dim1)); 
     4693        } 
     4694#line 4695 "fortran.tab.c" /* yacc.c:1646  */ 
     4695    break; 
     4696 
     4697  case 378: 
     4698#line 2178 "fortran.y" /* yacc.c:1646  */ 
     4699    {strcpy((yyval.dim1).first,(yyvsp[-2].na));  Save_Length((yyvsp[-2].na),2); strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1); } 
     4700#line 4701 "fortran.tab.c" /* yacc.c:1646  */ 
     4701    break; 
     4702 
     4703  case 379: 
     4704#line 2180 "fortran.y" /* yacc.c:1646  */ 
     4705    {strcpy((yyval.dim1).first,"1"); strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1);} 
     4706#line 4707 "fortran.tab.c" /* yacc.c:1646  */ 
     4707    break; 
     4708 
     4709  case 380: 
     4710#line 2185 "fortran.y" /* yacc.c:1646  */ 
     4711    {strcpy((yyval.na),(yyvsp[0].na));} 
     4712#line 4713 "fortran.tab.c" /* yacc.c:1646  */ 
     4713    break; 
     4714 
     4715  case 382: 
     4716#line 2194 "fortran.y" /* yacc.c:1646  */ 
     4717    { 
     4718            (yyval.d) = (listdim*) NULL; 
     4719            if ( inside_type_declare ) break; 
     4720            if ( created_dimensionlist == 1 || agrif_parentcall == 1 )  (yyval.d)=insertdim(NULL,(yyvsp[0].dim1)); 
     4721        } 
     4722#line 4723 "fortran.tab.c" /* yacc.c:1646  */ 
     4723    break; 
     4724 
     4725  case 383: 
     4726#line 2200 "fortran.y" /* yacc.c:1646  */ 
     4727    { 
     4728            (yyval.d) = (listdim*) NULL; 
     4729            if ( inside_type_declare ) break; 
     4730            if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[-2].d),(yyvsp[0].dim1)); 
     4731        } 
     4732#line 4733 "fortran.tab.c" /* yacc.c:1646  */ 
     4733    break; 
     4734 
     4735  case 384: 
     4736#line 2209 "fortran.y" /* yacc.c:1646  */ 
     4737    { strcpy((yyval.dim1).first,"");  strcpy((yyval.dim1).last,"");  } 
     4738#line 4739 "fortran.tab.c" /* yacc.c:1646  */ 
     4739    break; 
     4740 
     4741  case 385: 
     4742#line 2211 "fortran.y" /* yacc.c:1646  */ 
     4743    { strcpy((yyval.dim1).first,(yyvsp[-1].na));  Save_Length((yyvsp[-1].na),2); strcpy((yyval.dim1).last,""); } 
     4744#line 4745 "fortran.tab.c" /* yacc.c:1646  */ 
     4745    break; 
     4746 
     4747  case 386: 
     4748#line 2216 "fortran.y" /* yacc.c:1646  */ 
     4749    { 
     4750            (yyval.d) = (listdim*) NULL; 
     4751            if ( inside_type_declare ) break; 
     4752            if ( created_dimensionlist == 1 || agrif_parentcall == 1 )  (yyval.d)=insertdim(NULL,(yyvsp[0].dim1)); 
     4753        } 
     4754#line 4755 "fortran.tab.c" /* yacc.c:1646  */ 
     4755    break; 
     4756 
     4757  case 387: 
     4758#line 2222 "fortran.y" /* yacc.c:1646  */ 
     4759    { 
     4760            (yyval.d) = (listdim*) NULL; 
     4761            if ( inside_type_declare ) break; 
     4762            if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[-2].d),(yyvsp[0].dim1)); 
     4763        } 
     4764#line 4765 "fortran.tab.c" /* yacc.c:1646  */ 
     4765    break; 
     4766 
     4767  case 388: 
     4768#line 2231 "fortran.y" /* yacc.c:1646  */ 
     4769    { strcpy((yyval.dim1).first,"");  strcpy((yyval.dim1).last,"");  } 
     4770#line 4771 "fortran.tab.c" /* yacc.c:1646  */ 
     4771    break; 
     4772 
     4773  case 389: 
     4774#line 2236 "fortran.y" /* yacc.c:1646  */ 
     4775    { 
     4776            (yyval.d) = (listdim*) NULL; 
     4777            if ( inside_type_declare ) break; 
     4778            if ( created_dimensionlist == 1 || agrif_parentcall == 1 )  
     4779            { 
     4780            if (!strcasecmp((yyvsp[-1].na),"")) 
     4781            { 
     4782            strcpy(my_dim.first,"1"); 
     4783            } 
     4784            else 
     4785            { 
     4786            strcpy(my_dim.first,(yyvsp[-1].na)); 
     4787            } 
     4788            strcpy(my_dim.last,"*"); 
     4789            (yyval.d)=insertdim((yyvsp[-2].d),my_dim); 
     4790            strcpy(my_dim.first,""); 
     4791            strcpy(my_dim.last,""); 
     4792            } 
     4793        } 
     4794#line 4795 "fortran.tab.c" /* yacc.c:1646  */ 
     4795    break; 
     4796 
     4797  case 390: 
     4798#line 2258 "fortran.y" /* yacc.c:1646  */ 
     4799    {(yyval.d) = (listdim *) NULL;} 
     4800#line 4801 "fortran.tab.c" /* yacc.c:1646  */ 
     4801    break; 
     4802 
     4803  case 391: 
     4804#line 2260 "fortran.y" /* yacc.c:1646  */ 
     4805    {(yyval.d) = (yyvsp[-1].d);} 
     4806#line 4807 "fortran.tab.c" /* yacc.c:1646  */ 
     4807    break; 
     4808 
     4809  case 392: 
     4810#line 2278 "fortran.y" /* yacc.c:1646  */ 
     4811    {strcpy((yyval.na),"");} 
     4812#line 4813 "fortran.tab.c" /* yacc.c:1646  */ 
     4813    break; 
     4814 
     4815  case 393: 
     4816#line 2280 "fortran.y" /* yacc.c:1646  */ 
     4817    {strcpy((yyval.na),(yyvsp[-1].na));} 
     4818#line 4819 "fortran.tab.c" /* yacc.c:1646  */ 
     4819    break; 
     4820 
     4821  case 397: 
     4822#line 2293 "fortran.y" /* yacc.c:1646  */ 
     4823    { strcpy((yyval.na),(yyvsp[0].na)); } 
     4824#line 4825 "fortran.tab.c" /* yacc.c:1646  */ 
     4825    break; 
     4826 
     4827  case 398: 
     4828#line 2295 "fortran.y" /* yacc.c:1646  */ 
     4829    { strcpy((yyval.na),(yyvsp[0].na)); } 
     4830#line 4831 "fortran.tab.c" /* yacc.c:1646  */ 
     4831    break; 
     4832 
     4833  case 399: 
     4834#line 2297 "fortran.y" /* yacc.c:1646  */ 
     4835    { strcpy((yyval.na),(yyvsp[0].na)); } 
     4836#line 4837 "fortran.tab.c" /* yacc.c:1646  */ 
     4837    break; 
     4838 
     4839  case 400: 
     4840#line 2302 "fortran.y" /* yacc.c:1646  */ 
     4841    { 
     4842            if ((firstpass == 0) && (PublicDeclare == 1)) 
     4843            { 
     4844                if ((yyvsp[0].lnn)) 
     4845                { 
     4846                    removeglobfromlist(&((yyvsp[0].lnn))); 
     4847                    pos_end = setposcur(); 
     4848                    RemoveWordSET_0(fortran_out,pos_cur,pos_end-pos_cur); 
     4849                    writelistpublic((yyvsp[0].lnn)); 
     4850                } 
     4851            } 
     4852     PublicDeclare = 0; 
     4853     PrivateDeclare = 0; 
     4854     } 
     4855#line 4856 "fortran.tab.c" /* yacc.c:1646  */ 
     4856    break; 
     4857 
     4858  case 402: 
     4859#line 2320 "fortran.y" /* yacc.c:1646  */ 
     4860    {(yyval.lnn)=(listname *)NULL;} 
     4861#line 4862 "fortran.tab.c" /* yacc.c:1646  */ 
     4862    break; 
     4863 
     4864  case 403: 
     4865#line 2322 "fortran.y" /* yacc.c:1646  */ 
     4866    {(yyval.lnn)=(yyvsp[0].lnn);} 
     4867#line 4868 "fortran.tab.c" /* yacc.c:1646  */ 
     4868    break; 
     4869 
     4870  case 404: 
     4871#line 2326 "fortran.y" /* yacc.c:1646  */ 
     4872    {(yyval.lnn)=Insertname(NULL,(yyvsp[0].na),0);} 
     4873#line 4874 "fortran.tab.c" /* yacc.c:1646  */ 
     4874    break; 
     4875 
     4876  case 405: 
     4877#line 2328 "fortran.y" /* yacc.c:1646  */ 
     4878    {(yyval.lnn)=Insertname((yyvsp[-2].lnn),(yyvsp[0].na),0);} 
     4879#line 4880 "fortran.tab.c" /* yacc.c:1646  */ 
     4880    break; 
     4881 
     4882  case 408: 
     4883#line 2338 "fortran.y" /* yacc.c:1646  */ 
     4884    { 
     4885            /* we should remove the data declaration                */ 
     4886            pos_end = setposcur(); 
     4887            RemoveWordSET_0(fortran_out,pos_curdata,pos_end-pos_curdata); 
     4888            if ( aftercontainsdeclare == 1  && firstpass == 0 ) 
     4889            { 
     4890                ReWriteDataStatement_0(fortran_out); 
     4891                pos_end = setposcur(); 
     4892            } 
     4893            Init_List_Data_Var(); 
     4894        } 
     4895#line 4896 "fortran.tab.c" /* yacc.c:1646  */ 
     4896    break; 
     4897 
     4898  case 414: 
     4899#line 2362 "fortran.y" /* yacc.c:1646  */ 
     4900    { 
     4901            if (firstpass == 1)   
     4902            { 
     4903            Add_Data_Var_Names_01(&List_Data_Var,(yyvsp[-3].l),(yyvsp[-1].lnn)); 
     4904            } 
     4905            else                 Add_Data_Var_Names_01(&List_Data_Var_Cur,(yyvsp[-3].l),(yyvsp[-1].lnn)); 
     4906        } 
     4907#line 4908 "fortran.tab.c" /* yacc.c:1646  */ 
     4908    break; 
     4909 
     4910  case 415: 
     4911#line 2372 "fortran.y" /* yacc.c:1646  */ 
     4912    { (yyval.l)=insertvar(NULL,(yyvsp[0].v)); } 
     4913#line 4914 "fortran.tab.c" /* yacc.c:1646  */ 
     4914    break; 
     4915 
     4916  case 416: 
     4917#line 2374 "fortran.y" /* yacc.c:1646  */ 
     4918    { 
     4919     (yyval.l) = insertvar((yyvsp[-2].l),(yyvsp[0].v)); 
     4920     } 
     4921#line 4922 "fortran.tab.c" /* yacc.c:1646  */ 
     4922    break; 
     4923 
     4924  case 417: 
     4925#line 2380 "fortran.y" /* yacc.c:1646  */ 
     4926    {(yyval.lnn)=Insertname(NULL,(yyvsp[0].na),0);} 
     4927#line 4928 "fortran.tab.c" /* yacc.c:1646  */ 
     4928    break; 
     4929 
     4930  case 418: 
     4931#line 2382 "fortran.y" /* yacc.c:1646  */ 
     4932    {(yyval.lnn) = Insertname((yyvsp[-2].lnn),(yyvsp[0].na),1);   } 
     4933#line 4934 "fortran.tab.c" /* yacc.c:1646  */ 
     4934    break; 
     4935 
     4936  case 421: 
     4937#line 2392 "fortran.y" /* yacc.c:1646  */ 
     4938    {printf("DOVARIABLE = %s %s %s\n",(yyvsp[-5].na),(yyvsp[-3].na),(yyvsp[-1].na)); 
     4939     printf("AUTRE = %s %s\n",(yyvsp[-7].l)->var->v_nomvar,(yyvsp[-7].l)->var->v_initialvalue_array); 
     4940     Insertdoloop((yyvsp[-7].l)->var,(yyvsp[-5].na),(yyvsp[-3].na),(yyvsp[-1].na),""); 
     4941     (yyval.v)=(yyvsp[-7].l)->var; 
     4942     } 
     4943#line 4944 "fortran.tab.c" /* yacc.c:1646  */ 
     4944    break; 
     4945 
     4946  case 422: 
     4947#line 2398 "fortran.y" /* yacc.c:1646  */ 
     4948    { 
     4949     Insertdoloop((yyvsp[-9].l)->var,(yyvsp[-7].na),(yyvsp[-5].na),(yyvsp[-3].na),(yyvsp[-1].na)); 
     4950     (yyval.v)=(yyvsp[-9].l)->var; 
     4951     } 
     4952#line 4953 "fortran.tab.c" /* yacc.c:1646  */ 
     4953    break; 
     4954 
     4955  case 423: 
     4956#line 2405 "fortran.y" /* yacc.c:1646  */ 
     4957    {(yyval.l)=insertvar(NULL,(yyvsp[0].v));} 
     4958#line 4959 "fortran.tab.c" /* yacc.c:1646  */ 
     4959    break; 
     4960 
     4961  case 424: 
     4962#line 2407 "fortran.y" /* yacc.c:1646  */ 
     4963    {(yyval.l) = insertvar((yyvsp[-2].l),(yyvsp[0].v));} 
     4964#line 4965 "fortran.tab.c" /* yacc.c:1646  */ 
     4965    break; 
     4966 
     4967  case 426: 
     4968#line 2413 "fortran.y" /* yacc.c:1646  */ 
     4969    {(yyval.v)->v_initialvalue_array=Insertname((yyval.v)->v_initialvalue_array,my_dim.last,0); 
     4970     strcpy(my_dim.last,""); 
     4971     } 
     4972#line 4973 "fortran.tab.c" /* yacc.c:1646  */ 
     4973    break; 
     4974 
     4975  case 429: 
     4976#line 2426 "fortran.y" /* yacc.c:1646  */ 
     4977    {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 
     4978#line 4979 "fortran.tab.c" /* yacc.c:1646  */ 
     4979    break; 
     4980 
     4981  case 430: 
     4982#line 2428 "fortran.y" /* yacc.c:1646  */ 
     4983    {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 
     4984#line 4985 "fortran.tab.c" /* yacc.c:1646  */ 
     4985    break; 
     4986 
     4987  case 431: 
     4988#line 2430 "fortran.y" /* yacc.c:1646  */ 
     4989    {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 
     4990#line 4991 "fortran.tab.c" /* yacc.c:1646  */ 
     4991    break; 
     4992 
     4993  case 437: 
     4994#line 2439 "fortran.y" /* yacc.c:1646  */ 
     4995    {strcpy((yyval.na),"");} 
     4996#line 4997 "fortran.tab.c" /* yacc.c:1646  */ 
     4997    break; 
     4998 
     4999  case 438: 
     5000#line 2441 "fortran.y" /* yacc.c:1646  */ 
     5001    {sprintf((yyval.na),"*%s",(yyvsp[0].na));} 
     5002#line 5003 "fortran.tab.c" /* yacc.c:1646  */ 
     5003    break; 
     5004 
     5005  case 447: 
     5006#line 2477 "fortran.y" /* yacc.c:1646  */ 
     5007    {strcpy(my_dim.last,"");} 
     5008#line 5009 "fortran.tab.c" /* yacc.c:1646  */ 
     5009    break; 
     5010 
     5011  case 448: 
     5012#line 2481 "fortran.y" /* yacc.c:1646  */ 
     5013    {positioninblock = 0; pos_curdimension = my_position_before;} 
     5014#line 5015 "fortran.tab.c" /* yacc.c:1646  */ 
     5015    break; 
     5016 
     5017  case 449: 
     5018#line 2483 "fortran.y" /* yacc.c:1646  */ 
     5019    { 
     5020            /* if the variable is a parameter we can suppose that is   */ 
     5021            /*    value is the same on each grid. It is not useless to */ 
     5022            /*    create a copy of it on each grid                     */ 
     5023            if ( ! inside_type_declare ) 
     5024            { 
     5025                if ( firstpass ) 
     5026                { 
     5027                    Add_Globliste_1((yyvsp[0].l)); 
     5028                    /* if variableparamlists has been declared in a subroutine   */ 
     5029                    if ( insubroutinedeclare )     Add_Dimension_Var_1((yyvsp[0].l)); 
     5030                     
     5031                    /* Add it to the List_SubroutineDeclaration_Var list if not present */ 
     5032                    /* NB: if not done, a variable declared with DIMENSION but with no type given */ 
     5033                    /* will not be declared by the conv */ 
     5034                    ReWriteDeclarationAndAddTosubroutine_01((yyvsp[0].l)); 
     5035                } 
     5036                else 
     5037                { 
     5038                    pos_end = setposcur(); 
     5039                    RemoveWordSET_0(fortran_out,pos_curdimension,pos_end-pos_curdimension); 
     5040                    ReWriteDeclarationAndAddTosubroutine_01((yyvsp[0].l)); 
     5041                } 
     5042            } 
     5043            PublicDeclare = 0; 
     5044            PrivateDeclare = 0; 
     5045            ExternalDeclare = 0; 
     5046            strcpy(NamePrecision,""); 
     5047            c_star = 0; 
     5048            InitialValueGiven = 0 ; 
     5049            strcpy(IntentSpec,""); 
     5050            VariableIsParameter =  0 ; 
     5051            Allocatabledeclare = 0 ; 
     5052            Targetdeclare = 0 ; 
     5053            SaveDeclare = 0; 
     5054            pointerdeclare = 0; 
     5055            optionaldeclare = 0 ; 
     5056            dimsgiven=0; 
     5057            c_selectorgiven=0; 
     5058            strcpy(nameinttypename,""); 
     5059            strcpy(c_selectorname,""); 
     5060        } 
     5061#line 5062 "fortran.tab.c" /* yacc.c:1646  */ 
     5062    break; 
     5063 
     5064  case 451: 
     5065#line 2528 "fortran.y" /* yacc.c:1646  */ 
     5066    {in_complex_literal = 0;} 
     5067#line 5068 "fortran.tab.c" /* yacc.c:1646  */ 
     5068    break; 
     5069 
     5070  case 452: 
     5071#line 2529 "fortran.y" /* yacc.c:1646  */ 
     5072    { 
     5073        if ( inside_type_declare ) break; 
     5074        curvar = createvar((yyvsp[-4].na),(yyvsp[-1].d)); 
     5075        CreateAndFillin_Curvar("", curvar); 
     5076        curlistvar=insertvar(NULL, curvar); 
     5077        (yyval.l) = settype("",curlistvar); 
     5078        strcpy(vallengspec,""); 
     5079     } 
     5080#line 5081 "fortran.tab.c" /* yacc.c:1646  */ 
     5081    break; 
     5082 
     5083  case 453: 
     5084#line 2537 "fortran.y" /* yacc.c:1646  */ 
     5085    {in_complex_literal = 0;} 
     5086#line 5087 "fortran.tab.c" /* yacc.c:1646  */ 
     5087    break; 
     5088 
     5089  case 454: 
     5090#line 2538 "fortran.y" /* yacc.c:1646  */ 
     5091    { 
     5092        if ( inside_type_declare ) break; 
     5093        curvar = createvar((yyvsp[-4].na),(yyvsp[-1].d)); 
     5094        CreateAndFillin_Curvar("", curvar); 
     5095        curlistvar = insertvar((yyvsp[-6].l), curvar); 
     5096        (yyval.l) = curlistvar; 
     5097        strcpy(vallengspec,""); 
     5098        } 
     5099#line 5100 "fortran.tab.c" /* yacc.c:1646  */ 
     5100    break; 
     5101 
     5102  case 455: 
     5103#line 2550 "fortran.y" /* yacc.c:1646  */ 
     5104    { VariableIsParameter = 1; pos_curparameter = setposcur()-9; } 
     5105#line 5106 "fortran.tab.c" /* yacc.c:1646  */ 
     5106    break; 
     5107 
     5108  case 456: 
     5109#line 2551 "fortran.y" /* yacc.c:1646  */ 
     5110    { 
     5111            if ( ! inside_type_declare ) 
     5112            { 
     5113                if ( firstpass ) 
     5114                { 
     5115                    if ( insubroutinedeclare )  Add_Parameter_Var_1((yyvsp[-1].l)); 
     5116                    else                        Add_GlobalParameter_Var_1((yyvsp[-1].l)); 
     5117                } 
     5118                else 
     5119                { 
     5120                    pos_end = setposcur(); 
     5121                    RemoveWordSET_0(fortran_out, pos_curparameter, pos_end-pos_curparameter); 
     5122                } 
     5123            } 
     5124            VariableIsParameter =  0 ; 
     5125        } 
     5126#line 5127 "fortran.tab.c" /* yacc.c:1646  */ 
     5127    break; 
     5128 
     5129  case 458: 
     5130#line 2571 "fortran.y" /* yacc.c:1646  */ 
     5131    {(yyval.l)=insertvar(NULL,(yyvsp[0].v));} 
     5132#line 5133 "fortran.tab.c" /* yacc.c:1646  */ 
     5133    break; 
     5134 
     5135  case 459: 
     5136#line 2573 "fortran.y" /* yacc.c:1646  */ 
     5137    {(yyval.l)=insertvar((yyvsp[-2].l),(yyvsp[0].v));} 
     5138#line 5139 "fortran.tab.c" /* yacc.c:1646  */ 
     5139    break; 
     5140 
     5141  case 460: 
     5142#line 2578 "fortran.y" /* yacc.c:1646  */ 
     5143    { 
     5144            if ( inside_type_declare ) break; 
     5145            curvar=(variable *) calloc(1,sizeof(variable)); 
     5146            Init_Variable(curvar); 
     5147            curvar->v_VariableIsParameter = 1; 
     5148            strcpy(curvar->v_nomvar,(yyvsp[-2].na)); 
     5149            strcpy(curvar->v_subroutinename,subroutinename); 
     5150            strcpy(curvar->v_modulename,curmodulename); 
     5151            curvar->v_initialvalue=Insertname(curvar->v_initialvalue,(yyvsp[0].na),0); 
     5152            strcpy(curvar->v_commoninfile,cur_filename); 
     5153            Save_Length((yyvsp[0].na),14); 
     5154            (yyval.v) = curvar; 
     5155        } 
     5156#line 5157 "fortran.tab.c" /* yacc.c:1646  */ 
     5157    break; 
     5158 
     5159  case 461: 
     5160#line 2594 "fortran.y" /* yacc.c:1646  */ 
     5161    {pos_cursave = my_position_before;} 
     5162#line 5163 "fortran.tab.c" /* yacc.c:1646  */ 
     5163    break; 
     5164 
     5165  case 462: 
     5166#line 2595 "fortran.y" /* yacc.c:1646  */ 
     5167    { 
     5168     pos_end = setposcur(); 
     5169     RemoveWordSET_0(fortran_out,pos_cursave,pos_end-pos_cursave); 
     5170     } 
     5171#line 5172 "fortran.tab.c" /* yacc.c:1646  */ 
     5172    break; 
     5173 
     5174  case 470: 
     5175#line 2616 "fortran.y" /* yacc.c:1646  */ 
     5176    {if ( ! inside_type_declare ) Add_Save_Var_1((yyvsp[0].na),(listdim*) NULL); } 
     5177#line 5178 "fortran.tab.c" /* yacc.c:1646  */ 
     5178    break; 
     5179 
     5180  case 474: 
     5181#line 2626 "fortran.y" /* yacc.c:1646  */ 
     5182    {my_position = my_position_before;} 
     5183#line 5184 "fortran.tab.c" /* yacc.c:1646  */ 
     5184    break; 
     5185 
     5186  case 476: 
     5187#line 2632 "fortran.y" /* yacc.c:1646  */ 
     5188    { 
     5189            if ( insubroutinedeclare == 1 ) 
     5190            { 
     5191                Add_ImplicitNoneSubroutine_1(); 
     5192                pos_end = setposcur(); 
     5193                RemoveWordSET_0(fortran_out,my_position,pos_end-my_position); 
     5194            } 
     5195        } 
     5196#line 5197 "fortran.tab.c" /* yacc.c:1646  */ 
     5197    break; 
     5198 
     5199  case 494: 
     5200#line 2684 "fortran.y" /* yacc.c:1646  */ 
     5201    {in_complex_literal=0;} 
     5202#line 5203 "fortran.tab.c" /* yacc.c:1646  */ 
     5203    break; 
     5204 
     5205  case 501: 
     5206#line 2699 "fortran.y" /* yacc.c:1646  */ 
     5207    { positioninblock = 0; pos_curcommon = my_position_before; indeclaration=1;} 
     5208#line 5209 "fortran.tab.c" /* yacc.c:1646  */ 
     5209    break; 
     5210 
     5211  case 502: 
     5212#line 2700 "fortran.y" /* yacc.c:1646  */ 
     5213    { 
     5214            indeclaration = 0; 
     5215            if ( inside_type_declare ) break; 
     5216            pos_end = setposcur(); 
     5217            RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 
     5218     } 
     5219#line 5220 "fortran.tab.c" /* yacc.c:1646  */ 
     5220    break; 
     5221 
     5222  case 505: 
     5223#line 2711 "fortran.y" /* yacc.c:1646  */ 
     5224    { 
     5225     if ( inside_type_declare ) break; 
     5226     sprintf(charusemodule,"%s",(yyvsp[0].na)); 
     5227     Add_NameOfCommon_1((yyvsp[0].na),subroutinename); 
     5228     } 
     5229#line 5230 "fortran.tab.c" /* yacc.c:1646  */ 
     5230    break; 
     5231 
     5232  case 506: 
     5233#line 2719 "fortran.y" /* yacc.c:1646  */ 
     5234    { 
     5235            strcpy((yyval.na),""); 
     5236            positioninblock=0; 
     5237            strcpy(commonblockname,""); 
     5238        } 
     5239#line 5240 "fortran.tab.c" /* yacc.c:1646  */ 
     5240    break; 
     5241 
     5242  case 507: 
     5243#line 2725 "fortran.y" /* yacc.c:1646  */ 
     5244    { 
     5245            strcpy((yyval.na),(yyvsp[-1].na)); 
     5246            positioninblock=0; 
     5247            strcpy(commonblockname,(yyvsp[-1].na)); 
     5248        } 
     5249#line 5250 "fortran.tab.c" /* yacc.c:1646  */ 
     5250    break; 
     5251 
     5252  case 511: 
     5253#line 2738 "fortran.y" /* yacc.c:1646  */ 
     5254    { 
     5255     if ( inside_type_declare ) break; 
     5256     sprintf(charusemodule,"%s",(yyvsp[0].na)); 
     5257     Add_NameOfCommon_1((yyvsp[0].na),subroutinename); 
     5258     } 
     5259#line 5260 "fortran.tab.c" /* yacc.c:1646  */ 
     5260    break; 
     5261 
     5262  case 513: 
     5263#line 2748 "fortran.y" /* yacc.c:1646  */ 
     5264    {if ( ! inside_type_declare ) Add_Common_var_1(); } 
     5265#line 5266 "fortran.tab.c" /* yacc.c:1646  */ 
     5266    break; 
     5267 
     5268  case 514: 
     5269#line 2750 "fortran.y" /* yacc.c:1646  */ 
     5270    {if ( ! inside_type_declare ) Add_Common_var_1(); } 
     5271#line 5272 "fortran.tab.c" /* yacc.c:1646  */ 
     5272    break; 
     5273 
     5274  case 515: 
     5275#line 2758 "fortran.y" /* yacc.c:1646  */ 
     5276    { 
     5277            positioninblock = positioninblock + 1 ; 
     5278            strcpy(commonvar,(yyvsp[0].na)); 
     5279            commondim = (listdim*) NULL; 
     5280        } 
     5281#line 5282 "fortran.tab.c" /* yacc.c:1646  */ 
     5282    break; 
     5283 
     5284  case 516: 
     5285#line 2763 "fortran.y" /* yacc.c:1646  */ 
     5286    {in_complex_literal=0;} 
     5287#line 5288 "fortran.tab.c" /* yacc.c:1646  */ 
     5288    break; 
     5289 
     5290  case 517: 
     5291#line 2764 "fortran.y" /* yacc.c:1646  */ 
     5292    { 
     5293            positioninblock = positioninblock + 1 ; 
     5294            strcpy(commonvar,(yyvsp[-4].na)); 
     5295            commondim = (yyvsp[-1].d); 
     5296        } 
     5297#line 5298 "fortran.tab.c" /* yacc.c:1646  */ 
     5298    break; 
     5299 
     5300  case 521: 
     5301#line 2776 "fortran.y" /* yacc.c:1646  */ 
     5302    {(yyval.v)=createvar((yyvsp[0].na),NULL);} 
     5303#line 5304 "fortran.tab.c" /* yacc.c:1646  */ 
     5304    break; 
     5305 
     5306  case 523: 
     5307#line 2788 "fortran.y" /* yacc.c:1646  */ 
     5308    {if (strcmp(my_dim.last,"")) 
     5309       { 
     5310       (yyval.v)->v_initialvalue_array=Insertname(NULL,my_dim.last,0); 
     5311       } 
     5312       strcpy(my_dim.last,""); 
     5313       } 
     5314#line 5315 "fortran.tab.c" /* yacc.c:1646  */ 
     5315    break; 
     5316 
     5317  case 533: 
     5318#line 2830 "fortran.y" /* yacc.c:1646  */ 
     5319    {sprintf((yyval.na),"%s(%s)",(yyvsp[-3].na),(yyvsp[-1].na));} 
     5320#line 5321 "fortran.tab.c" /* yacc.c:1646  */ 
     5321    break; 
     5322 
     5323  case 534: 
     5324#line 2832 "fortran.y" /* yacc.c:1646  */ 
     5325    {sprintf((yyval.na),"%s(%s)",(yyvsp[-3].na),(yyvsp[-1].na));} 
     5326#line 5327 "fortran.tab.c" /* yacc.c:1646  */ 
     5327    break; 
     5328 
     5329  case 535: 
     5330#line 2847 "fortran.y" /* yacc.c:1646  */ 
     5331    {sprintf((yyval.na),"%s:%s",(yyvsp[-2].na),(yyvsp[0].na));} 
     5332#line 5333 "fortran.tab.c" /* yacc.c:1646  */ 
     5333    break; 
     5334 
     5335  case 536: 
     5336#line 2852 "fortran.y" /* yacc.c:1646  */ 
     5337    {sprintf((yyval.na),"%s%s",(yyvsp[-1].v)->v_nomvar,(yyvsp[0].na));} 
     5338#line 5339 "fortran.tab.c" /* yacc.c:1646  */ 
     5339    break; 
     5340 
     5341  case 537: 
     5342#line 2856 "fortran.y" /* yacc.c:1646  */ 
     5343    {strcpy((yyval.na),"");} 
     5344#line 5345 "fortran.tab.c" /* yacc.c:1646  */ 
     5345    break; 
     5346 
     5347  case 538: 
     5348#line 2858 "fortran.y" /* yacc.c:1646  */ 
     5349    {sprintf((yyval.na),"%s%%%s",(yyvsp[-2].na),(yyvsp[0].v)->v_nomvar);} 
     5350#line 5351 "fortran.tab.c" /* yacc.c:1646  */ 
     5351    break; 
     5352 
     5353  case 539: 
     5354#line 2863 "fortran.y" /* yacc.c:1646  */ 
     5355    {(yyval.v)=createvar((yyvsp[0].na),NULL);} 
     5356#line 5357 "fortran.tab.c" /* yacc.c:1646  */ 
     5357    break; 
     5358 
     5359  case 540: 
     5360#line 2864 "fortran.y" /* yacc.c:1646  */ 
     5361    {in_complex_literal=0;} 
     5362#line 5363 "fortran.tab.c" /* yacc.c:1646  */ 
     5363    break; 
     5364 
     5365  case 541: 
     5366#line 2865 "fortran.y" /* yacc.c:1646  */ 
     5367    {sprintf(ligne,"%s(%s)",(yyvsp[-4].na),(yyvsp[-1].na));(yyval.v)=createvar((yyvsp[-4].na),NULL);strcpy(my_dim.last,(yyvsp[-1].na));} 
     5368#line 5369 "fortran.tab.c" /* yacc.c:1646  */ 
     5369    break; 
     5370 
     5371  case 543: 
     5372#line 2881 "fortran.y" /* yacc.c:1646  */ 
     5373    {strcpy(my_dim.last,"");} 
     5374#line 5375 "fortran.tab.c" /* yacc.c:1646  */ 
     5375    break; 
     5376 
     5377  case 544: 
     5378#line 2886 "fortran.y" /* yacc.c:1646  */ 
     5379    {strcpy(my_dim.last,"");} 
     5380#line 5381 "fortran.tab.c" /* yacc.c:1646  */ 
     5381    break; 
     5382 
     5383  case 545: 
     5384#line 2891 "fortran.y" /* yacc.c:1646  */ 
     5385    {strcpy(my_dim.last,"");} 
     5386#line 5387 "fortran.tab.c" /* yacc.c:1646  */ 
     5387    break; 
     5388 
     5389  case 546: 
     5390#line 2893 "fortran.y" /* yacc.c:1646  */ 
     5391    {strcpy(my_dim.last,"");} 
     5392#line 5393 "fortran.tab.c" /* yacc.c:1646  */ 
     5393    break; 
     5394 
     5395  case 547: 
     5396#line 2899 "fortran.y" /* yacc.c:1646  */ 
     5397    {strcpy((yyval.na),"");} 
     5398#line 5399 "fortran.tab.c" /* yacc.c:1646  */ 
     5399    break; 
     5400 
     5401  case 548: 
     5402#line 2901 "fortran.y" /* yacc.c:1646  */ 
     5403    {strcpy((yyval.na),(yyvsp[0].na));} 
     5404#line 5405 "fortran.tab.c" /* yacc.c:1646  */ 
     5405    break; 
     5406 
     5407  case 549: 
     5408#line 2903 "fortran.y" /* yacc.c:1646  */ 
     5409    {sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na));} 
     5410#line 5411 "fortran.tab.c" /* yacc.c:1646  */ 
     5411    break; 
     5412 
     5413  case 550: 
     5414#line 2925 "fortran.y" /* yacc.c:1646  */ 
     5415    {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 
     5416#line 5417 "fortran.tab.c" /* yacc.c:1646  */ 
     5417    break; 
     5418 
     5419  case 551: 
     5420#line 2927 "fortran.y" /* yacc.c:1646  */ 
     5421    {strcpy((yyval.na),":");} 
     5422#line 5423 "fortran.tab.c" /* yacc.c:1646  */ 
     5423    break; 
     5424 
     5425  case 552: 
     5426#line 2929 "fortran.y" /* yacc.c:1646  */ 
     5427    {sprintf((yyval.na),":%s",(yyvsp[0].na));} 
     5428#line 5429 "fortran.tab.c" /* yacc.c:1646  */ 
     5429    break; 
     5430 
     5431  case 553: 
     5432#line 2931 "fortran.y" /* yacc.c:1646  */ 
     5433    {sprintf((yyval.na),": :%s",(yyvsp[0].na));} 
     5434#line 5435 "fortran.tab.c" /* yacc.c:1646  */ 
     5435    break; 
     5436 
     5437  case 554: 
     5438#line 2933 "fortran.y" /* yacc.c:1646  */ 
     5439    {sprintf((yyval.na),":%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} 
     5440#line 5441 "fortran.tab.c" /* yacc.c:1646  */ 
     5441    break; 
     5442 
     5443  case 555: 
     5444#line 2935 "fortran.y" /* yacc.c:1646  */ 
     5445    {sprintf((yyval.na),"::%s",(yyvsp[0].na));} 
     5446#line 5447 "fortran.tab.c" /* yacc.c:1646  */ 
     5447    break; 
     5448 
     5449  case 557: 
     5450#line 2938 "fortran.y" /* yacc.c:1646  */ 
     5451    {sprintf((yyval.na),"%s=%s",(yyvsp[-2].na),(yyvsp[0].na));} 
     5452#line 5453 "fortran.tab.c" /* yacc.c:1646  */ 
     5453    break; 
     5454 
     5455  case 558: 
     5456#line 2940 "fortran.y" /* yacc.c:1646  */ 
     5457    {sprintf((yyval.na),"%s=*%s",(yyvsp[-3].na),(yyvsp[0].na));} 
     5458#line 5459 "fortran.tab.c" /* yacc.c:1646  */ 
     5459    break; 
     5460 
     5461  case 559: 
     5462#line 2942 "fortran.y" /* yacc.c:1646  */ 
     5463    {sprintf((yyval.na),"*%s",(yyvsp[0].na));} 
     5464#line 5465 "fortran.tab.c" /* yacc.c:1646  */ 
     5465    break; 
     5466 
     5467  case 560: 
     5468#line 2946 "fortran.y" /* yacc.c:1646  */ 
     5469    {strcpy((yyval.na),":");} 
     5470#line 5471 "fortran.tab.c" /* yacc.c:1646  */ 
     5471    break; 
     5472 
     5473  case 561: 
     5474#line 2948 "fortran.y" /* yacc.c:1646  */ 
     5475    {sprintf((yyval.na),":%s",(yyvsp[0].na));} 
     5476#line 5477 "fortran.tab.c" /* yacc.c:1646  */ 
     5477    break; 
     5478 
     5479  case 562: 
     5480#line 2950 "fortran.y" /* yacc.c:1646  */ 
     5481    {sprintf((yyval.na),": :%s",(yyvsp[0].na));} 
     5482#line 5483 "fortran.tab.c" /* yacc.c:1646  */ 
     5483    break; 
     5484 
     5485  case 563: 
     5486#line 2952 "fortran.y" /* yacc.c:1646  */ 
     5487    {sprintf((yyval.na),":%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} 
     5488#line 5489 "fortran.tab.c" /* yacc.c:1646  */ 
     5489    break; 
     5490 
     5491  case 564: 
     5492#line 2954 "fortran.y" /* yacc.c:1646  */ 
     5493    {sprintf((yyval.na),"::%s",(yyvsp[0].na));} 
     5494#line 5495 "fortran.tab.c" /* yacc.c:1646  */ 
     5495    break; 
     5496 
     5497  case 565: 
     5498#line 2956 "fortran.y" /* yacc.c:1646  */ 
     5499    {strcpy((yyval.na),"");} 
     5500#line 5501 "fortran.tab.c" /* yacc.c:1646  */ 
     5501    break; 
     5502 
     5503  case 567: 
     5504#line 2974 "fortran.y" /* yacc.c:1646  */ 
     5505    {in_complex_literal=0;} 
     5506#line 5507 "fortran.tab.c" /* yacc.c:1646  */ 
     5507    break; 
     5508 
     5509  case 568: 
     5510#line 2975 "fortran.y" /* yacc.c:1646  */ 
     5511    {inallocate = 0;} 
     5512#line 5513 "fortran.tab.c" /* yacc.c:1646  */ 
     5513    break; 
     5514 
     5515  case 592: 
     5516#line 3045 "fortran.y" /* yacc.c:1646  */ 
     5517    {in_complex_literal=0;} 
     5518#line 5519 "fortran.tab.c" /* yacc.c:1646  */ 
     5519    break; 
     5520 
     5521  case 593: 
     5522#line 3046 "fortran.y" /* yacc.c:1646  */ 
     5523    {inallocate = 0;} 
     5524#line 5525 "fortran.tab.c" /* yacc.c:1646  */ 
     5525    break; 
     5526 
     5527  case 603: 
     5528#line 3076 "fortran.y" /* yacc.c:1646  */ 
     5529    { 
     5530      strcpy((yyval.na),(yyvsp[0].v)->v_nomvar); 
     5531      if (strcasecmp(my_dim.last,"")) 
     5532      { 
     5533      strcat((yyval.na),"("); 
     5534      strcat((yyval.na),my_dim.last); 
     5535      strcat((yyval.na),")"); 
     5536      } 
     5537      } 
     5538#line 5539 "fortran.tab.c" /* yacc.c:1646  */ 
     5539    break; 
     5540 
     5541  case 607: 
     5542#line 3089 "fortran.y" /* yacc.c:1646  */ 
     5543    { sprintf((yyval.na),"(%s)",(yyvsp[-1].na));} 
     5544#line 5545 "fortran.tab.c" /* yacc.c:1646  */ 
     5545    break; 
     5546 
     5547  case 608: 
     5548#line 3094 "fortran.y" /* yacc.c:1646  */ 
     5549    {strcpy(my_dim.last,"");} 
     5550#line 5551 "fortran.tab.c" /* yacc.c:1646  */ 
     5551    break; 
     5552 
     5553  case 610: 
     5554#line 3100 "fortran.y" /* yacc.c:1646  */ 
     5555    {sprintf((yyval.na),"%s**%s",(yyvsp[-2].na),(yyvsp[0].na));} 
     5556#line 5557 "fortran.tab.c" /* yacc.c:1646  */ 
     5557    break; 
     5558 
     5559  case 612: 
     5560#line 3105 "fortran.y" /* yacc.c:1646  */ 
     5561    { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 
     5562#line 5563 "fortran.tab.c" /* yacc.c:1646  */ 
     5563    break; 
     5564 
     5565  case 614: 
     5566#line 3113 "fortran.y" /* yacc.c:1646  */ 
     5567    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     5568#line 5569 "fortran.tab.c" /* yacc.c:1646  */ 
     5569    break; 
     5570 
     5571  case 615: 
     5572#line 3115 "fortran.y" /* yacc.c:1646  */ 
     5573    { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 
     5574#line 5575 "fortran.tab.c" /* yacc.c:1646  */ 
     5575    break; 
     5576 
     5577  case 617: 
     5578#line 3118 "fortran.y" /* yacc.c:1646  */ 
     5579    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     5580#line 5581 "fortran.tab.c" /* yacc.c:1646  */ 
     5581    break; 
     5582 
     5583  case 619: 
     5584#line 3127 "fortran.y" /* yacc.c:1646  */ 
     5585    {strcpy((yyval.na),"*");} 
     5586#line 5587 "fortran.tab.c" /* yacc.c:1646  */ 
     5587    break; 
     5588 
     5589  case 621: 
     5590#line 3133 "fortran.y" /* yacc.c:1646  */ 
     5591    {strcpy((yyval.na),"+");} 
     5592#line 5593 "fortran.tab.c" /* yacc.c:1646  */ 
     5593    break; 
     5594 
     5595  case 622: 
     5596#line 3135 "fortran.y" /* yacc.c:1646  */ 
     5597    {strcpy((yyval.na),"-");} 
     5598#line 5599 "fortran.tab.c" /* yacc.c:1646  */ 
     5599    break; 
     5600 
     5601  case 624: 
     5602#line 3141 "fortran.y" /* yacc.c:1646  */ 
     5603    { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 
     5604#line 5605 "fortran.tab.c" /* yacc.c:1646  */ 
     5605    break; 
     5606 
     5607  case 627: 
     5608#line 3150 "fortran.y" /* yacc.c:1646  */ 
     5609    { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 
     5610#line 5611 "fortran.tab.c" /* yacc.c:1646  */ 
     5611    break; 
     5612 
     5613  case 636: 
     5614#line 3163 "fortran.y" /* yacc.c:1646  */ 
     5615    {strcpy((yyval.na),"<");} 
     5616#line 5617 "fortran.tab.c" /* yacc.c:1646  */ 
     5617    break; 
     5618 
     5619  case 638: 
     5620#line 3166 "fortran.y" /* yacc.c:1646  */ 
     5621    {strcpy((yyval.na),">");} 
     5622#line 5623 "fortran.tab.c" /* yacc.c:1646  */ 
     5623    break; 
     5624 
     5625  case 641: 
     5626#line 3174 "fortran.y" /* yacc.c:1646  */ 
     5627    { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 
     5628#line 5629 "fortran.tab.c" /* yacc.c:1646  */ 
     5629    break; 
     5630 
     5631  case 643: 
     5632#line 3181 "fortran.y" /* yacc.c:1646  */ 
     5633    { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 
     5634#line 5635 "fortran.tab.c" /* yacc.c:1646  */ 
     5635    break; 
     5636 
     5637  case 645: 
     5638#line 3188 "fortran.y" /* yacc.c:1646  */ 
     5639    { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 
     5640#line 5641 "fortran.tab.c" /* yacc.c:1646  */ 
     5641    break; 
     5642 
     5643  case 647: 
     5644#line 3194 "fortran.y" /* yacc.c:1646  */ 
     5645    { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 
     5646#line 5647 "fortran.tab.c" /* yacc.c:1646  */ 
     5647    break; 
     5648 
     5649  case 657: 
     5650#line 3230 "fortran.y" /* yacc.c:1646  */ 
     5651    {strcpy((yyval.na),"");} 
     5652#line 5653 "fortran.tab.c" /* yacc.c:1646  */ 
     5653    break; 
     5654 
     5655  case 660: 
     5656#line 3239 "fortran.y" /* yacc.c:1646  */ 
     5657    { 
     5658     strcpy((yyval.na),(yyvsp[0].na)); 
     5659     } 
     5660#line 5661 "fortran.tab.c" /* yacc.c:1646  */ 
     5661    break; 
     5662 
     5663  case 661: 
     5664#line 3246 "fortran.y" /* yacc.c:1646  */ 
     5665    {strcpy((yyval.na),(yyvsp[0].na));} 
     5666#line 5667 "fortran.tab.c" /* yacc.c:1646  */ 
     5667    break; 
     5668 
     5669  case 790: 
     5670#line 3619 "fortran.y" /* yacc.c:1646  */ 
     5671    {in_select_case_stmt++;} 
     5672#line 5673 "fortran.tab.c" /* yacc.c:1646  */ 
     5673    break; 
     5674 
     5675  case 792: 
     5676#line 3620 "fortran.y" /* yacc.c:1646  */ 
     5677    {in_select_case_stmt++;} 
     5678#line 5679 "fortran.tab.c" /* yacc.c:1646  */ 
     5679    break; 
     5680 
     5681  case 796: 
     5682#line 3629 "fortran.y" /* yacc.c:1646  */ 
     5683    {in_select_case_stmt--;} 
     5684#line 5685 "fortran.tab.c" /* yacc.c:1646  */ 
     5685    break; 
     5686 
     5687  case 798: 
     5688#line 3630 "fortran.y" /* yacc.c:1646  */ 
     5689    {in_select_case_stmt--;} 
     5690#line 5691 "fortran.tab.c" /* yacc.c:1646  */ 
     5691    break; 
     5692 
     5693  case 800: 
     5694#line 3635 "fortran.y" /* yacc.c:1646  */ 
     5695    {in_complex_literal=0;} 
     5696#line 5697 "fortran.tab.c" /* yacc.c:1646  */ 
     5697    break; 
     5698 
     5699  case 824: 
     5700#line 3698 "fortran.y" /* yacc.c:1646  */ 
     5701    {close_or_connect = 1;} 
     5702#line 5703 "fortran.tab.c" /* yacc.c:1646  */ 
     5703    break; 
     5704 
     5705  case 825: 
     5706#line 3698 "fortran.y" /* yacc.c:1646  */ 
     5707    {close_or_connect = 0;} 
     5708#line 5709 "fortran.tab.c" /* yacc.c:1646  */ 
     5709    break; 
     5710 
     5711  case 842: 
     5712#line 3728 "fortran.y" /* yacc.c:1646  */ 
     5713    {close_or_connect = 1;} 
     5714#line 5715 "fortran.tab.c" /* yacc.c:1646  */ 
     5715    break; 
     5716 
     5717  case 843: 
     5718#line 3729 "fortran.y" /* yacc.c:1646  */ 
     5719    {close_or_connect = 0;} 
     5720#line 5721 "fortran.tab.c" /* yacc.c:1646  */ 
     5721    break; 
     5722 
     5723  case 851: 
     5724#line 3746 "fortran.y" /* yacc.c:1646  */ 
     5725    { 
     5726         in_io_control_spec = 0; 
     5727         } 
     5728#line 5729 "fortran.tab.c" /* yacc.c:1646  */ 
     5729    break; 
     5730 
     5731  case 853: 
     5732#line 3751 "fortran.y" /* yacc.c:1646  */ 
     5733    { 
     5734         in_io_control_spec = 0; 
     5735         } 
     5736#line 5737 "fortran.tab.c" /* yacc.c:1646  */ 
     5737    break; 
     5738 
     5739  case 857: 
     5740#line 3761 "fortran.y" /* yacc.c:1646  */ 
     5741    { 
     5742         in_io_control_spec = 0; 
     5743         } 
     5744#line 5745 "fortran.tab.c" /* yacc.c:1646  */ 
     5745    break; 
     5746 
     5747  case 859: 
     5748#line 3766 "fortran.y" /* yacc.c:1646  */ 
     5749    { 
     5750         in_io_control_spec = 0; 
     5751         } 
     5752#line 5753 "fortran.tab.c" /* yacc.c:1646  */ 
     5753    break; 
     5754 
     5755  case 912: 
     5756#line 3883 "fortran.y" /* yacc.c:1646  */ 
     5757    {in_inquire=0;} 
     5758#line 5759 "fortran.tab.c" /* yacc.c:1646  */ 
     5759    break; 
     5760 
     5761  case 914: 
     5762#line 3886 "fortran.y" /* yacc.c:1646  */ 
     5763    {in_inquire=0;} 
     5764#line 5765 "fortran.tab.c" /* yacc.c:1646  */ 
     5765    break; 
     5766 
     5767  case 916: 
     5768#line 3890 "fortran.y" /* yacc.c:1646  */ 
     5769    {in_inquire=1;} 
     5770#line 5771 "fortran.tab.c" /* yacc.c:1646  */ 
     5771    break; 
     5772 
     5773  case 931: 
     5774#line 3917 "fortran.y" /* yacc.c:1646  */ 
     5775    {pos_endsubroutine=setposcur();} 
     5776#line 5777 "fortran.tab.c" /* yacc.c:1646  */ 
     5777    break; 
     5778 
     5779  case 935: 
     5780#line 3926 "fortran.y" /* yacc.c:1646  */ 
     5781    { 
     5782            GlobalDeclaration = 0; 
     5783            strcpy(curmodulename,(yyvsp[0].na)); 
     5784            strcpy(subroutinename,""); 
     5785            Add_NameOfModule_1((yyvsp[0].na)); 
     5786            if ( inmoduledeclare == 0 ) 
     5787            { 
     5788                /* To know if there are in the module declaration    */ 
     5789                inmoduledeclare = 1; 
     5790                /* to know if a module has been met                  */ 
     5791                inmodulemeet = 1; 
     5792                /* to know if we are after the keyword contains      */ 
     5793                aftercontainsdeclare = 0 ; 
     5794            } 
     5795        } 
     5796#line 5797 "fortran.tab.c" /* yacc.c:1646  */ 
     5797    break; 
     5798 
     5799  case 937: 
     5800#line 3946 "fortran.y" /* yacc.c:1646  */ 
     5801    { 
     5802            /* if we never meet the contains keyword               */ 
     5803            if ( firstpass == 0 ) 
     5804            { 
     5805                RemoveWordCUR_0(fortran_out, setposcur()-my_position);    // Remove word "end module" 
     5806                if ( inmoduledeclare && ! aftercontainsdeclare ) 
     5807                { 
     5808                    Write_Closing_Module(1); 
     5809                } 
     5810                fprintf(fortran_out,"\n      end module %s\n", curmodulename); 
     5811                if ( module_declar && insubroutinedeclare == 0 ) 
     5812                { 
     5813                    fclose(module_declar); 
     5814                } 
     5815            } 
     5816            inmoduledeclare = 0 ; 
     5817            inmodulemeet = 0 ; 
     5818            aftercontainsdeclare = 1; 
     5819            strcpy(curmodulename, ""); 
     5820            GlobalDeclaration = 0 ; 
     5821        } 
     5822#line 5823 "fortran.tab.c" /* yacc.c:1646  */ 
     5823    break; 
     5824 
     5825  case 952: 
     5826#line 3998 "fortran.y" /* yacc.c:1646  */ 
     5827    {if (firstpass == 0 && oldfortran_out) pos_curuseold = setposcurname(oldfortran_out);} 
     5828#line 5829 "fortran.tab.c" /* yacc.c:1646  */ 
     5829    break; 
     5830 
     5831  case 953: 
     5832#line 4003 "fortran.y" /* yacc.c:1646  */ 
     5833    { 
     5834            if ( firstpass ) 
     5835            { 
     5836                if ( insubroutinedeclare ) 
     5837                { 
     5838                    if ((yyvsp[0].lc)) { 
     5839                      Add_CouplePointed_Var_1((yyvsp[-1].na),(yyvsp[0].lc)); 
     5840                      coupletmp = (yyvsp[0].lc); 
     5841                      strcpy(ligne,""); 
     5842                      while ( coupletmp ) 
     5843                      { 
     5844                        strcat(ligne, coupletmp->c_namevar); 
     5845                        strcat(ligne, " => "); 
     5846                        strcat(ligne, coupletmp->c_namepointedvar); 
     5847                        coupletmp = coupletmp->suiv; 
     5848                        if ( coupletmp ) strcat(ligne,","); 
     5849                      } 
     5850                      } 
     5851                  sprintf(charusemodule,"%s",(yyvsp[-1].na)); 
     5852                } 
     5853                Add_NameOfModuleUsed_1((yyvsp[-1].na)); 
     5854            } 
     5855            else 
     5856            { 
     5857                if ( insubroutinedeclare ) 
     5858                { 
     5859                  copyuse_0((yyvsp[-1].na)); 
     5860                    } 
     5861 
     5862                if ( inmoduledeclare == 0 ) 
     5863                { 
     5864                    pos_end = setposcur(); 
     5865                    RemoveWordSET_0(fortran_out,my_position,pos_end-my_position); 
     5866                } 
     5867            } 
     5868    } 
     5869#line 5870 "fortran.tab.c" /* yacc.c:1646  */ 
     5870    break; 
     5871 
     5872  case 955: 
     5873#line 4041 "fortran.y" /* yacc.c:1646  */ 
     5874    { 
     5875            if ( firstpass ) 
     5876            { 
     5877                if ( insubroutinedeclare ) 
     5878                { 
     5879                  if ((yyvsp[0].lc)) 
     5880                  { 
     5881                    Add_CouplePointed_Var_1((yyvsp[-4].na),(yyvsp[0].lc)); 
     5882                    coupletmp = (yyvsp[0].lc); 
     5883                    strcpy(ligne,""); 
     5884                    while ( coupletmp ) 
     5885                    { 
     5886                        strcat(ligne,coupletmp->c_namevar); 
     5887                        if ( strcasecmp(coupletmp->c_namepointedvar,"") )   strcat(ligne," => "); 
     5888                        strcat(ligne,coupletmp->c_namepointedvar); 
     5889                        coupletmp = coupletmp->suiv; 
     5890                        if ( coupletmp ) strcat(ligne,","); 
     5891                    } 
     5892                  } 
     5893                  sprintf(charusemodule,"%s",(yyvsp[-4].na)); 
     5894                } 
     5895                Add_NameOfModuleUsed_1((yyvsp[-4].na)); 
     5896            } 
     5897            else 
     5898            { 
     5899                if ( insubroutinedeclare ) 
     5900                    copyuseonly_0((yyvsp[-4].na)); 
     5901 
     5902                if ( inmoduledeclare == 0 ) 
     5903                { 
     5904                    pos_end = setposcur(); 
     5905                    RemoveWordSET_0(fortran_out,my_position,pos_end-my_position); 
     5906                    if ((yyvsp[0].lc)) 
     5907                    { 
     5908                    if (oldfortran_out)  variableisglobalinmodule((yyvsp[0].lc),(yyvsp[-4].na),oldfortran_out,pos_curuseold); 
     5909                    } 
     5910                } 
     5911                else 
     5912                { 
     5913                  if ((yyvsp[0].lc)) 
     5914                  { 
     5915                    /* if we are in the module declare and if the    */ 
     5916                    /* onlylist is a list of global variable         */ 
     5917                    variableisglobalinmodule((yyvsp[0].lc), (yyvsp[-4].na), fortran_out,my_position); 
     5918                  } 
     5919                } 
     5920            } 
     5921    } 
     5922#line 5923 "fortran.tab.c" /* yacc.c:1646  */ 
     5923    break; 
     5924 
     5925  case 960: 
     5926#line 4098 "fortran.y" /* yacc.c:1646  */ 
     5927    {(yyval.lc)=NULL;} 
     5928#line 5929 "fortran.tab.c" /* yacc.c:1646  */ 
     5929    break; 
     5930 
     5931  case 961: 
     5932#line 4100 "fortran.y" /* yacc.c:1646  */ 
     5933    {(yyval.lc)=(yyvsp[0].lc);} 
     5934#line 5935 "fortran.tab.c" /* yacc.c:1646  */ 
     5935    break; 
     5936 
     5937  case 967: 
     5938#line 4117 "fortran.y" /* yacc.c:1646  */ 
     5939    { 
     5940            strcpy(subroutinename,(yyvsp[0].na)); 
     5941            insubroutinedeclare = 1; 
     5942            inprogramdeclare = 1; 
     5943            /* in the second step we should write the head of       */ 
     5944            /*    the subroutine sub_loop_<subroutinename>          */ 
     5945            if ( ! firstpass ) 
     5946                WriteBeginof_SubLoop(); 
     5947        } 
     5948#line 5949 "fortran.tab.c" /* yacc.c:1646  */ 
     5949    break; 
     5950 
     5951  case 969: 
     5952#line 4130 "fortran.y" /* yacc.c:1646  */ 
     5953    {pos_endsubroutine=my_position_before;} 
     5954#line 5955 "fortran.tab.c" /* yacc.c:1646  */ 
     5955    break; 
     5956 
     5957  case 970: 
     5958#line 4131 "fortran.y" /* yacc.c:1646  */ 
     5959    { 
     5960            insubroutinedeclare = 0; 
     5961            inprogramdeclare = 0; 
     5962            pos_cur = setposcur(); 
     5963            closeandcallsubloopandincludeit_0(3); 
     5964            functiondeclarationisdone = 0; 
     5965            strcpy(subroutinename,"");      
     5966     } 
     5967#line 5968 "fortran.tab.c" /* yacc.c:1646  */ 
     5968    break; 
     5969 
     5970  case 977: 
     5971#line 4153 "fortran.y" /* yacc.c:1646  */ 
     5972    { 
     5973    (yyval.lc)=NULL; 
     5974    } 
     5975#line 5976 "fortran.tab.c" /* yacc.c:1646  */ 
     5976    break; 
     5977 
     5978  case 978: 
     5979#line 4157 "fortran.y" /* yacc.c:1646  */ 
     5980    { 
     5981    (yyval.lc)=(yyvsp[0].lc); 
     5982    } 
     5983#line 5984 "fortran.tab.c" /* yacc.c:1646  */ 
     5984    break; 
     5985 
     5986  case 979: 
     5987#line 4163 "fortran.y" /* yacc.c:1646  */ 
     5988    { 
     5989     (yyval.lc)=(yyvsp[0].lc); 
     5990     } 
     5991#line 5992 "fortran.tab.c" /* yacc.c:1646  */ 
     5992    break; 
     5993 
     5994  case 980: 
     5995#line 4167 "fortran.y" /* yacc.c:1646  */ 
     5996    { 
     5997     /* insert the variable in the list $1                 */ 
     5998     (yyvsp[0].lc)->suiv = (yyvsp[-2].lc); 
     5999     (yyval.lc)=(yyvsp[0].lc); 
     6000     } 
     6001#line 6002 "fortran.tab.c" /* yacc.c:1646  */ 
     6002    break; 
     6003 
     6004  case 981: 
     6005#line 4176 "fortran.y" /* yacc.c:1646  */ 
     6006    { 
     6007            coupletmp = (listcouple *) calloc(1,sizeof(listcouple)); 
     6008            strcpy(coupletmp->c_namevar,(yyvsp[-2].na)); 
     6009            strcpy(coupletmp->c_namepointedvar,(yyvsp[0].na)); 
     6010            coupletmp->suiv = NULL; 
     6011            (yyval.lc) = coupletmp; 
     6012        } 
     6013#line 6014 "fortran.tab.c" /* yacc.c:1646  */ 
     6014    break; 
     6015 
     6016  case 982: 
     6017#line 4186 "fortran.y" /* yacc.c:1646  */ 
     6018    {(yyval.lc)=(yyvsp[0].lc);} 
     6019#line 6020 "fortran.tab.c" /* yacc.c:1646  */ 
     6020    break; 
     6021 
     6022  case 983: 
     6023#line 4188 "fortran.y" /* yacc.c:1646  */ 
     6024    { 
     6025            /* insert the variable in the list $1                 */ 
     6026            (yyvsp[0].lc)->suiv = (yyvsp[-2].lc); 
     6027            (yyval.lc) = (yyvsp[0].lc); 
     6028        } 
     6029#line 6030 "fortran.tab.c" /* yacc.c:1646  */ 
     6030    break; 
     6031 
     6032  case 984: 
     6033#line 4197 "fortran.y" /* yacc.c:1646  */ 
     6034    { 
     6035            coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 
     6036            strcpy(coupletmp->c_namevar,(yyvsp[0].na)); 
     6037            strcpy(coupletmp->c_namepointedvar,""); 
     6038            coupletmp->suiv = NULL; 
     6039            (yyval.lc) = coupletmp; 
     6040        } 
     6041#line 6042 "fortran.tab.c" /* yacc.c:1646  */ 
     6042    break; 
     6043 
     6044  case 985: 
     6045#line 4205 "fortran.y" /* yacc.c:1646  */ 
     6046    { 
     6047            coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 
     6048            strcpy(coupletmp->c_namevar,(yyvsp[0].na)); 
     6049            strcpy(coupletmp->c_namepointedvar,""); 
     6050            coupletmp->suiv = NULL; 
     6051            (yyval.lc) = coupletmp; 
     6052        } 
     6053#line 6054 "fortran.tab.c" /* yacc.c:1646  */ 
     6054    break; 
     6055 
     6056  case 986: 
     6057#line 4213 "fortran.y" /* yacc.c:1646  */ 
     6058    { 
     6059     (yyval.lc)=(yyvsp[0].lc); 
     6060     pointedvar = 1; 
     6061      Add_UsedInSubroutine_Var_1((yyvsp[0].lc)->c_namevar); 
     6062     } 
     6063#line 6064 "fortran.tab.c" /* yacc.c:1646  */ 
     6064    break; 
     6065 
     6066  case 999: 
     6067#line 4253 "fortran.y" /* yacc.c:1646  */ 
     6068    {in_complex_literal=0;} 
     6069#line 6070 "fortran.tab.c" /* yacc.c:1646  */ 
     6070    break; 
     6071 
     6072  case 1000: 
     6073#line 4254 "fortran.y" /* yacc.c:1646  */ 
     6074    {sprintf((yyval.na),"%s(%s)",(yyvsp[-4].na),(yyvsp[-1].na));} 
     6075#line 6076 "fortran.tab.c" /* yacc.c:1646  */ 
     6076    break; 
     6077 
     6078  case 1001: 
     6079#line 4260 "fortran.y" /* yacc.c:1646  */ 
     6080    { 
     6081            inagrifcallargument = 0 ; 
     6082            incalldeclare=0; 
     6083            if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 
     6084            { 
     6085                pos_end = setposcur(); 
     6086                RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 
     6087                strcpy(subofagrifinitgrids,subroutinename); 
     6088            } 
     6089            Instanciation_0(sameagrifname); 
     6090        } 
     6091#line 6092 "fortran.tab.c" /* yacc.c:1646  */ 
     6092    break; 
     6093 
     6094  case 1003: 
     6095#line 4273 "fortran.y" /* yacc.c:1646  */ 
     6096    { 
     6097            inagrifcallargument = 0 ; 
     6098            incalldeclare=0; 
     6099            if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 
     6100            { 
     6101                pos_end = setposcur(); 
     6102                RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 
     6103                strcpy(subofagrifinitgrids,subroutinename); 
     6104            } 
     6105            Instanciation_0(sameagrifname); 
     6106        } 
     6107#line 6108 "fortran.tab.c" /* yacc.c:1646  */ 
     6108    break; 
     6109 
     6110  case 1005: 
     6111#line 4285 "fortran.y" /* yacc.c:1646  */ 
     6112    {in_complex_literal=0;} 
     6113#line 6114 "fortran.tab.c" /* yacc.c:1646  */ 
     6114    break; 
     6115 
     6116  case 1006: 
     6117#line 4286 "fortran.y" /* yacc.c:1646  */ 
     6118    { 
     6119            inagrifcallargument = 0 ; 
     6120            incalldeclare=0; 
     6121            if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 
     6122            { 
     6123                pos_end = setposcur(); 
     6124                RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 
     6125                strcpy(subofagrifinitgrids,subroutinename); 
     6126            } 
     6127            Instanciation_0(sameagrifname); 
     6128        } 
     6129#line 6130 "fortran.tab.c" /* yacc.c:1646  */ 
     6130    break; 
     6131 
     6132  case 1008: 
     6133#line 4300 "fortran.y" /* yacc.c:1646  */ 
     6134    {pos_curcall=my_position_before-strlen((yyvsp[-1].na))-4;} 
     6135#line 6136 "fortran.tab.c" /* yacc.c:1646  */ 
     6136    break; 
     6137 
     6138  case 1009: 
     6139#line 4301 "fortran.y" /* yacc.c:1646  */ 
     6140    { 
     6141            if (!strcasecmp((yyvsp[0].na),"MPI_Init") )    callmpiinit = 1; 
     6142            else                                callmpiinit = 0; 
     6143 
     6144            if (!strcasecmp((yyvsp[0].na),"Agrif_Init_Grids") ) 
     6145            { 
     6146                callagrifinitgrids = 1; 
     6147                strcpy(meetagrifinitgrids,subroutinename); 
     6148            } 
     6149            else 
     6150            { 
     6151                callagrifinitgrids = 0; 
     6152            } 
     6153            if ( Vartonumber((yyvsp[0].na)) == 1 ) 
     6154            { 
     6155                incalldeclare = 0; 
     6156                inagrifcallargument = 0 ; 
     6157                Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); 
     6158            } 
     6159        } 
     6160#line 6161 "fortran.tab.c" /* yacc.c:1646  */ 
     6161    break; 
     6162 
     6163  case 1014: 
     6164#line 4332 "fortran.y" /* yacc.c:1646  */ 
     6165    {sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na));} 
     6166#line 6167 "fortran.tab.c" /* yacc.c:1646  */ 
     6167    break; 
     6168 
     6169  case 1015: 
     6170#line 4337 "fortran.y" /* yacc.c:1646  */ 
     6171    { 
     6172            if ( callmpiinit == 1 ) 
     6173            { 
     6174                strcpy(mpiinitvar,(yyvsp[0].na)); 
     6175                if ( firstpass == 1 )  Add_UsedInSubroutine_Var_1 (mpiinitvar); 
     6176            } 
     6177        } 
     6178#line 6179 "fortran.tab.c" /* yacc.c:1646  */ 
     6179    break; 
     6180 
     6181  case 1016: 
     6182#line 4345 "fortran.y" /* yacc.c:1646  */ 
     6183    {sprintf((yyval.na),"%s = %s",(yyvsp[-2].na),(yyvsp[0].na)); 
     6184                 if ( callmpiinit == 1 ) 
     6185            { 
     6186                strcpy(mpiinitvar,(yyvsp[0].na)); 
     6187                if ( firstpass == 1 )  Add_UsedInSubroutine_Var_1 (mpiinitvar); 
     6188            } 
     6189            } 
     6190#line 6191 "fortran.tab.c" /* yacc.c:1646  */ 
     6191    break; 
     6192 
     6193  case 1018: 
     6194#line 4357 "fortran.y" /* yacc.c:1646  */ 
     6195    { 
     6196     strcpy((yyval.na),(yyvsp[0].v)->v_nomvar); 
     6197     if ((yyvsp[0].v)->v_initialvalue_array) 
     6198     { 
     6199     strcat((yyval.na),"("); 
     6200     strcat((yyval.na),(yyvsp[0].v)->v_initialvalue_array->n_name); 
     6201     strcat((yyval.na),")"); 
     6202     } 
     6203     } 
     6204#line 6205 "fortran.tab.c" /* yacc.c:1646  */ 
     6205    break; 
     6206 
     6207  case 1020: 
     6208#line 4369 "fortran.y" /* yacc.c:1646  */ 
     6209    {isrecursive = 0;} 
     6210#line 6211 "fortran.tab.c" /* yacc.c:1646  */ 
     6211    break; 
     6212 
     6213  case 1024: 
     6214#line 4380 "fortran.y" /* yacc.c:1646  */ 
     6215    {isrecursive = 0; functiondeclarationisdone = 1;} 
     6216#line 6217 "fortran.tab.c" /* yacc.c:1646  */ 
     6217    break; 
     6218 
     6219  case 1025: 
     6220#line 4382 "fortran.y" /* yacc.c:1646  */ 
     6221    {isrecursive = 0;} 
     6222#line 6223 "fortran.tab.c" /* yacc.c:1646  */ 
     6223    break; 
     6224 
     6225  case 1026: 
     6226#line 4384 "fortran.y" /* yacc.c:1646  */ 
     6227    {isrecursive = 1;} 
     6228#line 6229 "fortran.tab.c" /* yacc.c:1646  */ 
     6229    break; 
     6230 
     6231  case 1028: 
     6232#line 4393 "fortran.y" /* yacc.c:1646  */ 
     6233    {in_complex_literal=0;} 
     6234#line 6235 "fortran.tab.c" /* yacc.c:1646  */ 
     6235    break; 
     6236 
     6237  case 1029: 
     6238#line 4394 "fortran.y" /* yacc.c:1646  */ 
     6239    { 
     6240            insubroutinedeclare = 1; 
     6241            suborfun = 0; 
     6242            /* we should to list of the subroutine argument the  */ 
     6243            /*    name of the function which has to be defined   */ 
     6244            if ( firstpass ) 
     6245            { 
     6246                Add_SubroutineArgument_Var_1((yyvsp[-2].l)); 
     6247                if ( ! is_result_present ) 
     6248                    Add_FunctionType_Var_1((yyvsp[-5].na)); 
     6249            } 
     6250            else 
     6251            /* in the second step we should write the head of    */ 
     6252            /*    the subroutine sub_loop_<subroutinename>       */ 
     6253               { 
     6254                if (todebug == 1) fprintf(fortran_out,"      !DEBUG: Avant Writebeginof subloop\n"); 
     6255                WriteBeginof_SubLoop(); 
     6256                if (todebug == 1) fprintf(fortran_out,"      !DEBUG: Apres Writebeginof subloop\n"); 
     6257                } 
     6258                strcpy(NamePrecision,""); 
     6259     } 
     6260#line 6261 "fortran.tab.c" /* yacc.c:1646  */ 
     6261    break; 
     6262 
     6263  case 1031: 
     6264#line 4419 "fortran.y" /* yacc.c:1646  */ 
     6265    { 
     6266     if (strcmp(subroutinename,"")) 
     6267     { 
     6268     strcpy(old_subroutinename,subroutinename); // can occur in internal-subprogram 
     6269     old_oldfortran_out=oldfortran_out; 
     6270     } 
     6271     else 
     6272     { 
     6273     old_oldfortran_out=(FILE *)NULL; 
     6274     } 
     6275     strcpy((yyval.na),(yyvsp[0].na));strcpy(subroutinename,(yyvsp[0].na)); 
     6276     } 
     6277#line 6278 "fortran.tab.c" /* yacc.c:1646  */ 
     6278    break; 
     6279 
     6280  case 1032: 
     6281#line 4444 "fortran.y" /* yacc.c:1646  */ 
     6282    {strcpy((yyval.na),(yyvsp[0].na));} 
     6283#line 6284 "fortran.tab.c" /* yacc.c:1646  */ 
     6284    break; 
     6285 
     6286  case 1033: 
     6287#line 4448 "fortran.y" /* yacc.c:1646  */ 
     6288    {is_result_present = 0; } 
     6289#line 6290 "fortran.tab.c" /* yacc.c:1646  */ 
     6290    break; 
     6291 
     6292  case 1035: 
     6293#line 4454 "fortran.y" /* yacc.c:1646  */ 
     6294    {is_result_present = 1; 
     6295                 if ( firstpass == 1 ) 
     6296            { 
     6297                strcpy(nameinttypenameback,nameinttypename); 
     6298                strcpy(nameinttypename,""); 
     6299                curvar = createvar((yyvsp[-1].na),NULL); 
     6300                strcpy(nameinttypename,nameinttypenameback); 
     6301                strcpy(curvar->v_typevar,""); 
     6302                curlistvar = insertvar(NULL,curvar); 
     6303                Add_SubroutineArgument_Var_1(curlistvar); 
     6304            } 
     6305     } 
     6306#line 6307 "fortran.tab.c" /* yacc.c:1646  */ 
     6307    break; 
     6308 
     6309  case 1036: 
     6310#line 4470 "fortran.y" /* yacc.c:1646  */ 
     6311    {strcpy(DeclType, "");} 
     6312#line 6313 "fortran.tab.c" /* yacc.c:1646  */ 
     6313    break; 
     6314 
     6315  case 1041: 
     6316#line 4484 "fortran.y" /* yacc.c:1646  */ 
     6317    { 
     6318            insubroutinedeclare = 1; 
     6319            suborfun = 1; 
     6320            if ( firstpass ) 
     6321                Add_SubroutineArgument_Var_1((yyvsp[0].l)); 
     6322            else 
     6323              { 
     6324                WriteBeginof_SubLoop(); 
     6325              } 
     6326        } 
     6327#line 6328 "fortran.tab.c" /* yacc.c:1646  */ 
     6328    break; 
     6329 
     6330  case 1043: 
     6331#line 4499 "fortran.y" /* yacc.c:1646  */ 
     6332    { 
     6333     if (strcmp(subroutinename,"")) 
     6334     { 
     6335     strcpy(old_subroutinename,subroutinename); // can occur in internal-subprogram 
     6336     old_oldfortran_out=oldfortran_out; 
     6337     } 
     6338     else 
     6339     { 
     6340     old_oldfortran_out=(FILE *)NULL; 
     6341     } 
     6342     strcpy((yyval.na),(yyvsp[0].na));strcpy(subroutinename,(yyvsp[0].na)); 
     6343     } 
     6344#line 6345 "fortran.tab.c" /* yacc.c:1646  */ 
     6345    break; 
     6346 
     6347  case 1045: 
     6348#line 4520 "fortran.y" /* yacc.c:1646  */ 
     6349    {pos_endsubroutine = my_position; 
     6350            GlobalDeclaration = 0 ; 
     6351            if ( firstpass == 0 && strcasecmp(subroutinename,"") ) 
     6352            { 
     6353                if ( module_declar && insubroutinedeclare == 0 )    fclose(module_declar); 
     6354            } 
     6355            if ( strcasecmp(subroutinename,"") ) 
     6356            { 
     6357                if ( inmodulemeet == 1 ) 
     6358                { 
     6359                    /* we are in a module                                */ 
     6360                    if ( insubroutinedeclare == 1 ) 
     6361                    { 
     6362                        /* it is like an end subroutine <name>            */ 
     6363                        insubroutinedeclare = 0 ; 
     6364                        pos_cur = setposcur(); 
     6365                        closeandcallsubloopandincludeit_0(suborfun); 
     6366                        functiondeclarationisdone = 0; 
     6367                    } 
     6368                    else 
     6369                    { 
     6370                        /* it is like an end module <name>                */ 
     6371                        inmoduledeclare = 0 ; 
     6372                        inmodulemeet = 0 ; 
     6373                    } 
     6374                } 
     6375                else 
     6376                { 
     6377                    insubroutinedeclare = 0; 
     6378                    pos_cur = setposcur(); 
     6379                    closeandcallsubloopandincludeit_0(2); 
     6380                    functiondeclarationisdone = 0; 
     6381                } 
     6382            } 
     6383            strcpy(subroutinename,""); 
     6384            if (strcmp(old_subroutinename,"")) 
     6385            { 
     6386            strcpy(subroutinename,old_subroutinename); 
     6387            strcpy(old_subroutinename,""); 
     6388            oldfortran_out=old_oldfortran_out; 
     6389            insubroutinedeclare=1; 
     6390            } 
     6391        } 
     6392#line 6393 "fortran.tab.c" /* yacc.c:1646  */ 
     6393    break; 
     6394 
     6395  case 1048: 
     6396#line 4569 "fortran.y" /* yacc.c:1646  */ 
     6397    {if (firstpass) (yyval.l)=NULL;} 
     6398#line 6399 "fortran.tab.c" /* yacc.c:1646  */ 
     6399    break; 
     6400 
     6401  case 1049: 
     6402#line 4570 "fortran.y" /* yacc.c:1646  */ 
     6403    {in_complex_literal=0;} 
     6404#line 6405 "fortran.tab.c" /* yacc.c:1646  */ 
     6405    break; 
     6406 
     6407  case 1050: 
     6408#line 4571 "fortran.y" /* yacc.c:1646  */ 
     6409    {if (firstpass) (yyval.l)=(yyvsp[-1].l);} 
     6410#line 6411 "fortran.tab.c" /* yacc.c:1646  */ 
     6411    break; 
     6412 
     6413  case 1051: 
     6414#line 4575 "fortran.y" /* yacc.c:1646  */ 
     6415    {if (firstpass) (yyval.l)=NULL;} 
     6416#line 6417 "fortran.tab.c" /* yacc.c:1646  */ 
     6417    break; 
     6418 
     6419  case 1052: 
     6420#line 4577 "fortran.y" /* yacc.c:1646  */ 
     6421    {if (firstpass) (yyval.l)=(yyvsp[0].l);} 
     6422#line 6423 "fortran.tab.c" /* yacc.c:1646  */ 
     6423    break; 
     6424 
     6425  case 1053: 
     6426#line 4582 "fortran.y" /* yacc.c:1646  */ 
     6427    { 
     6428            if ( firstpass == 1 ) 
     6429            { 
     6430                strcpy(nameinttypenameback,nameinttypename); 
     6431                strcpy(nameinttypename,""); 
     6432                curvar = createvar((yyvsp[0].na),NULL); 
     6433                strcpy(nameinttypename,nameinttypenameback); 
     6434                curlistvar = insertvar(NULL,curvar); 
     6435                (yyval.l) = settype("",curlistvar); 
     6436            } 
     6437        } 
     6438#line 6439 "fortran.tab.c" /* yacc.c:1646  */ 
     6439    break; 
     6440 
     6441  case 1054: 
     6442#line 4594 "fortran.y" /* yacc.c:1646  */ 
     6443    { 
     6444            if ( firstpass == 1 ) 
     6445            { 
     6446                strcpy(nameinttypenameback,nameinttypename); 
     6447                strcpy(nameinttypename,""); 
     6448                curvar = createvar((yyvsp[0].na),NULL); 
     6449                strcpy(nameinttypename,nameinttypenameback); 
     6450                (yyval.l) = insertvar((yyvsp[-2].l),curvar); 
     6451            } 
     6452        } 
     6453#line 6454 "fortran.tab.c" /* yacc.c:1646  */ 
     6454    break; 
     6455 
     6456  case 1055: 
     6457#line 4608 "fortran.y" /* yacc.c:1646  */ 
     6458    {strcpy((yyval.na),(yyvsp[0].na));} 
     6459#line 6460 "fortran.tab.c" /* yacc.c:1646  */ 
     6460    break; 
     6461 
     6462  case 1056: 
     6463#line 4610 "fortran.y" /* yacc.c:1646  */ 
     6464    {strcpy((yyval.na),"*");} 
     6465#line 6466 "fortran.tab.c" /* yacc.c:1646  */ 
     6466    break; 
     6467 
     6468  case 1059: 
     6469#line 4620 "fortran.y" /* yacc.c:1646  */ 
    55206470    { 
    55216471            if ( inside_type_declare ) break; 
     
    55466496            else printf("l.%4d -- TOK_CONTAINS -- MHCHECK\n",line_num_input); 
    55476497        } 
    5548 #line 5549 "fortran.tab.c" 
    5549     break; 
    5550  
    5551   case 484: 
    5552 #line 1899 "fortran.y" 
    5553     { 
    5554             strcpy((yyval.na),(yyvsp[0].na)); 
    5555             pos_endsubroutine = setposcur()-strlen((yyvsp[0].na)); 
    5556             functiondeclarationisdone = 0; 
    5557         } 
    5558 #line 5559 "fortran.tab.c" 
    5559     break; 
    5560  
    5561   case 485: 
    5562 #line 1907 "fortran.y" 
    5563     { 
    5564             strcpy((yyval.na),(yyvsp[0].na)); 
    5565             pos_endsubroutine = setposcur()-strlen((yyvsp[0].na)); 
    5566         } 
    5567 #line 5568 "fortran.tab.c" 
    5568     break; 
    5569  
    5570   case 486: 
    5571 #line 1914 "fortran.y" 
    5572     { 
    5573             strcpy((yyval.na),(yyvsp[0].na)); 
    5574             pos_endsubroutine = setposcur()-strlen((yyvsp[0].na)); 
    5575         } 
    5576 #line 5577 "fortran.tab.c" 
    5577     break; 
    5578  
    5579   case 487: 
    5580 #line 1921 "fortran.y" 
    5581     { 
    5582             strcpy((yyval.na),(yyvsp[0].na)); 
    5583             pos_endsubroutine = setposcur()-strlen((yyvsp[0].na)); 
    5584         } 
    5585 #line 5586 "fortran.tab.c" 
    5586     break; 
    5587  
    5588   case 488: 
    5589 #line 1927 "fortran.y" 
     6498#line 6499 "fortran.tab.c" /* yacc.c:1646  */ 
     6499    break; 
     6500 
     6501  case 1061: 
     6502#line 4655 "fortran.y" /* yacc.c:1646  */ 
    55906503    {strcpy((yyval.na),"");} 
    5591 #line 5592 "fortran.tab.c" 
    5592     break; 
    5593  
    5594   case 489: 
    5595 #line 1928 "fortran.y" 
     6504#line 6505 "fortran.tab.c" /* yacc.c:1646  */ 
     6505    break; 
     6506 
     6507  case 1062: 
     6508#line 4656 "fortran.y" /* yacc.c:1646  */ 
    55966509    {strcpy((yyval.na),(yyvsp[0].na));} 
    5597 #line 5598 "fortran.tab.c" 
    5598     break; 
    5599  
    5600   case 490: 
    5601 #line 1931 "fortran.y" 
    5602     { created_dimensionlist = 0; } 
    5603 #line 5604 "fortran.tab.c" 
    5604     break; 
    5605  
    5606   case 491: 
    5607 #line 1935 "fortran.y" 
    5608     { 
    5609             created_dimensionlist = 1; 
    5610             if ( ((yyvsp[-1].d) == NULL) || ((yyvsp[0].d) == NULL) ) break; 
    5611             if  ( agrif_parentcall == 1 ) 
    5612             { 
    5613                 ModifyTheAgrifFunction_0((yyvsp[-1].d)->dim.last); 
    5614                 agrif_parentcall = 0; 
    5615                 fprintf(fortran_out," = "); 
    5616             } 
    5617         } 
    5618 #line 5619 "fortran.tab.c" 
    5619     break; 
    5620  
    5621   case 492: 
    5622 #line 1946 "fortran.y" 
    5623     { 
    5624             created_dimensionlist = 1; 
    5625         } 
    5626 #line 5627 "fortran.tab.c" 
    5627     break; 
    5628  
    5629   case 497: 
    5630 #line 1959 "fortran.y" 
    5631     { 
    5632             inagrifcallargument = 0 ; 
    5633             incalldeclare=0; 
    5634             if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 
    5635             { 
    5636                 pos_end = setposcur(); 
    5637                 RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 
    5638                 strcpy(subofagrifinitgrids,subroutinename); 
    5639             } 
    5640             Instanciation_0(sameagrifname); 
    5641         } 
    5642 #line 5643 "fortran.tab.c" 
    5643     break; 
    5644  
    5645   case 503: 
    5646 #line 1980 "fortran.y" 
    5647     { 
    5648             if (!strcasecmp((yyvsp[0].na),"MPI_Init") )    callmpiinit = 1; 
    5649             else                                callmpiinit = 0; 
    5650  
    5651             if (!strcasecmp((yyvsp[0].na),"Agrif_Init_Grids") ) 
    5652             { 
    5653                 callagrifinitgrids = 1; 
    5654                 strcpy(meetagrifinitgrids,subroutinename); 
    5655             } 
    5656             else 
    5657             { 
    5658                 callagrifinitgrids = 0; 
    5659             } 
    5660             if ( Vartonumber((yyvsp[0].na)) == 1 ) 
    5661             { 
    5662                 incalldeclare = 1; 
    5663                 inagrifcallargument = 1 ; 
    5664                 Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); 
    5665             } 
    5666         } 
    5667 #line 5668 "fortran.tab.c" 
    5668     break; 
    5669  
    5670   case 504: 
    5671 #line 2001 "fortran.y" 
    5672     { pos_curcall=setposcur()-4; } 
    5673 #line 5674 "fortran.tab.c" 
    5674     break; 
    5675  
    5676   case 507: 
    5677 #line 2009 "fortran.y" 
    5678     { 
    5679             if ( callmpiinit == 1 ) 
    5680             { 
    5681                 strcpy(mpiinitvar,(yyvsp[0].na)); 
    5682                 if ( firstpass == 1 )  Add_UsedInSubroutine_Var_1 (mpiinitvar); 
    5683             } 
    5684         } 
    5685 #line 5686 "fortran.tab.c" 
    5686     break; 
    5687  
    5688   case 533: 
    5689 #line 2057 "fortran.y" 
     6510#line 6511 "fortran.tab.c" /* yacc.c:1646  */ 
     6511    break; 
     6512 
     6513  case 1068: 
     6514#line 4784 "fortran.y" /* yacc.c:1646  */ 
    56906515    { afterpercent = 1; } 
    5691 #line 5692 "fortran.tab.c" 
    5692     break; 
    5693  
    5694   case 573: 
    5695 #line 2116 "fortran.y" 
    5696     { strcpy((yyval.na),(yyvsp[0].na)); } 
    5697 #line 5698 "fortran.tab.c" 
    5698     break; 
    5699  
    5700   case 574: 
    5701 #line 2117 "fortran.y" 
    5702     { strcpy((yyval.na),(yyvsp[0].na)); } 
    5703 #line 5704 "fortran.tab.c" 
    5704     break; 
    5705  
    5706   case 575: 
    5707 #line 2118 "fortran.y" 
    5708     { strcpy((yyval.na),(yyvsp[0].na)); } 
    5709 #line 5710 "fortran.tab.c" 
    5710     break; 
    5711  
    5712   case 576: 
    5713 #line 2119 "fortran.y" 
    5714     { strcpy((yyval.na),(yyvsp[0].na)); } 
    5715 #line 5716 "fortran.tab.c" 
    5716     break; 
    5717  
    5718   case 577: 
    5719 #line 2120 "fortran.y" 
    5720     { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    5721 #line 5722 "fortran.tab.c" 
    5722     break; 
    5723  
    5724   case 578: 
    5725 #line 2121 "fortran.y" 
    5726     { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    5727 #line 5728 "fortran.tab.c" 
    5728     break; 
    5729  
    5730   case 579: 
    5731 #line 2122 "fortran.y" 
    5732     { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    5733 #line 5734 "fortran.tab.c" 
    5734     break; 
    5735  
    5736   case 580: 
    5737 #line 2123 "fortran.y" 
    5738     { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    5739 #line 5740 "fortran.tab.c" 
    5740     break; 
    5741  
    5742   case 581: 
    5743 #line 2124 "fortran.y" 
    5744     { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    5745 #line 5746 "fortran.tab.c" 
    5746     break; 
    5747  
    5748   case 582: 
    5749 #line 2125 "fortran.y" 
    5750     { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 
    5751 #line 5752 "fortran.tab.c" 
    5752     break; 
    5753  
    5754   case 583: 
    5755 #line 2128 "fortran.y" 
    5756     { sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na)); } 
    5757 #line 5758 "fortran.tab.c" 
    5758     break; 
    5759  
    5760   case 584: 
    5761 #line 2129 "fortran.y" 
    5762     { sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na)); } 
    5763 #line 5764 "fortran.tab.c" 
    5764     break; 
    5765  
    5766   case 585: 
    5767 #line 2130 "fortran.y" 
    5768     { sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na)); } 
    5769 #line 5770 "fortran.tab.c" 
    5770     break; 
    5771  
    5772   case 586: 
    5773 #line 2132 "fortran.y" 
    5774     { sprintf((yyval.na),"%s=%s,%s)",(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} 
    5775 #line 5776 "fortran.tab.c" 
    5776     break; 
    5777  
    5778   case 587: 
    5779 #line 2133 "fortran.y" 
    5780     { sprintf((yyval.na),"%s=%s,%s,%s)",(yyvsp[-6].na),(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} 
    5781 #line 5782 "fortran.tab.c" 
    5782     break; 
    5783  
    5784   case 592: 
    5785 #line 2143 "fortran.y" 
    5786     { Add_Allocate_Var_1((yyvsp[0].na),curmodulename); } 
    5787 #line 5788 "fortran.tab.c" 
    5788     break; 
    5789  
    5790  
    5791 #line 5792 "fortran.tab.c" 
    5792  
     6516#line 6517 "fortran.tab.c" /* yacc.c:1646  */ 
     6517    break; 
     6518 
     6519 
     6520#line 6521 "fortran.tab.c" /* yacc.c:1646  */ 
    57936521      default: break; 
    57946522    } 
     
    58156543     that goes to, based on the state we popped back to and the rule 
    58166544     number reduced by.  */ 
    5817   { 
    5818     const int yylhs = yyr1[yyn] - YYNTOKENS; 
    5819     const int yyi = yypgoto[yylhs] + *yyssp; 
    5820     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp 
    5821                ? yytable[yyi] 
    5822                : yydefgoto[yylhs]); 
    5823   } 
     6545 
     6546  yyn = yyr1[yyn]; 
     6547 
     6548  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 
     6549  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 
     6550    yystate = yytable[yystate]; 
     6551  else 
     6552    yystate = yydefgoto[yyn - YYNTOKENS]; 
    58246553 
    58256554  goto yynewstate; 
     
    59046633`---------------------------------------------------*/ 
    59056634yyerrorlab: 
    5906   /* Pacify compilers when the user code never invokes YYERROR and the 
    5907      label yyerrorlab therefore never appears in user code.  */ 
    5908   if (0) 
    5909     YYERROR; 
     6635 
     6636  /* Pacify compilers like GCC when the user code never invokes 
     6637     YYERROR and the label yyerrorlab therefore never appears in user 
     6638     code.  */ 
     6639  if (/*CONSTCOND*/ 0) 
     6640     goto yyerrorlab; 
    59106641 
    59116642  /* Do not reclaim the symbols of the rule whose action triggered 
     
    59696700  goto yyreturn; 
    59706701 
    5971  
    59726702/*-----------------------------------. 
    59736703| yyabortlab -- YYABORT comes here.  | 
     
    59766706  yyresult = 1; 
    59776707  goto yyreturn; 
    5978  
    59796708 
    59806709#if !defined yyoverflow || YYERROR_VERBOSE 
     
    59886717#endif 
    59896718 
    5990  
    5991 /*-----------------------------------------------------. 
    5992 | yyreturn -- parsing is finished, return the result.  | 
    5993 `-----------------------------------------------------*/ 
    59946719yyreturn: 
    59956720  if (yychar != YYEMPTY) 
     
    60216746  return yyresult; 
    60226747} 
    6023 #line 2157 "fortran.y" 
     6748#line 4881 "fortran.y" /* yacc.c:1906  */ 
    60246749 
    60256750 
     
    61606885typedef int32_t flex_int32_t; 
    61616886typedef uint32_t flex_uint32_t; 
     6887typedef uint64_t flex_uint64_t; 
    61626888#else 
    61636889typedef signed char flex_int8_t; 
     
    62666992#endif 
    62676993 
    6268 extern int fortran_leng; 
     6994#ifndef YY_TYPEDEF_YY_SIZE_T 
     6995#define YY_TYPEDEF_YY_SIZE_T 
     6996typedef size_t yy_size_t; 
     6997#endif 
     6998 
     6999extern yy_size_t fortran_leng; 
    62697000 
    62707001extern FILE *fortran_in, *fortran_out; 
     
    62927023#define unput(c) yyunput( c, (yytext_ptr)  ) 
    62937024 
    6294 #ifndef YY_TYPEDEF_YY_SIZE_T 
    6295 #define YY_TYPEDEF_YY_SIZE_T 
    6296 typedef size_t yy_size_t; 
    6297 #endif 
    6298  
    62997025#ifndef YY_STRUCT_YY_BUFFER_STATE 
    63007026#define YY_STRUCT_YY_BUFFER_STATE 
     
    63147040    * characters. 
    63157041    */ 
    6316    int yy_n_chars; 
     7042   yy_size_t yy_n_chars; 
    63177043 
    63187044   /* Whether we "own" the buffer - i.e., we know we created it, 
     
    63847110/* yy_hold_char holds the character lost when fortran_text is formed. */ 
    63857111static char yy_hold_char; 
    6386 static int yy_n_chars;     /* number of characters read into yy_ch_buf */ 
    6387 int fortran_leng; 
     7112static yy_size_t yy_n_chars;     /* number of characters read into yy_ch_buf */ 
     7113yy_size_t fortran_leng; 
    63887114 
    63897115/* Points to current character in buffer. */ 
     
    64137139YY_BUFFER_STATE fortran__scan_buffer (char *base,yy_size_t size  ); 
    64147140YY_BUFFER_STATE fortran__scan_string (yyconst char *yy_str  ); 
    6415 YY_BUFFER_STATE fortran__scan_bytes (yyconst char *bytes,int len  ); 
     7141YY_BUFFER_STATE fortran__scan_bytes (yyconst char *bytes,yy_size_t len  ); 
    64167142 
    64177143void *fortran_alloc (yy_size_t  ); 
     
    64717197#define YY_DO_BEFORE_ACTION \ 
    64727198   (yytext_ptr) = yy_bp; \ 
    6473    fortran_leng = (size_t) (yy_cp - yy_bp); \ 
     7199   fortran_leng = (yy_size_t) (yy_cp - yy_bp); \ 
    64747200   (yy_hold_char) = *yy_cp; \ 
    64757201   *yy_cp = '\0'; \ 
    64767202   (yy_c_buf_p) = yy_cp; 
    64777203 
    6478 #define YY_NUM_RULES 176 
    6479 #define YY_END_OF_BUFFER 177 
     7204#define YY_NUM_RULES 178 
     7205#define YY_END_OF_BUFFER 179 
    64807206/* This struct is not used in this scanner, 
    64817207   but its presence is necessary. */ 
     
    64857211   flex_int32_t yy_nxt; 
    64867212   }; 
    6487 static yyconst flex_int16_t yy_accept[1132] = 
     7213static yyconst flex_int16_t yy_acclist[1588] = 
    64887214    {   0, 
    6489         0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    6490         0,    0,  177,  176,  166,  164,  175,  176,  155,  158, 
    6491       176,  176,  157,  157,  157,  160,  156,  144,  154,  157, 
    6492       159,  162,  161,  163,  151,  151,  151,  151,  151,  151, 
     7215      143,  143,  179,  178,  167,  178,  166,  178,  177,  178, 
     7216      178,  156,  178,  160,  178,  170,  178,  178,  159,  178, 
     7217      159,  178,  159,  178,  162,  178,  157,  178,  140,  178, 
     7218      155,  178,  159,  178,  161,  178,  164,  178,  163,  178, 
     7219      165,  178,  151,  178,  151,  178,  151,  178,  151,  178, 
     7220      151,  178,  151,  178,  151,  178,  151,  178,  151,  178, 
     7221      151,  178,  151,  178,  151,  178,  151,  178,  151,  178, 
     7222      151,  178,  151,  178,  151,  178,  151,  178,  151,  178, 
     7223      151,  178,  151,  178,  167,  178,  166,  176,  178,  177, 
     7224      178,  151,  178,  151,  178,  151,  178,  151,  178,  151, 
     7225 
     7226      178,  178,  178,  174,  178,  178,  178,  149,  178,  178, 
     7227      178,  143,  178,  144,  178,  178,  166,  178,  151,  178, 
     7228      151,  178,  151,  178,  151,  178,  151,  178,  151,  178, 
     7229      151,  178,  151,  178,  151,  178,  151,  178,  151,  178, 
     7230      151,  178,  151,  178,  151,  178,  151,  178,  151,  178, 
     7231      151,  178,  151,  178,  151,  178,  151,  178,  151,  178, 
     7232      166,  176,  178,  167,  178,  159,  178,  155,  178,  151, 
     7233      178,  151,  178,  151,  178,  151,  178,  151,  178,  167, 
     7234      178,  155,  178,  167,  177,  177,  177,  146,  170,  145, 
     7235      138,   20,  154,  139,  137,   34,  155,  136,   35,   33, 
     7236 
     7237       18,   36,  151,  151,  151,  151,  151,  151,  151,  151, 
     7238      151,  151,  151,  151,  151,  151,   42,  151,  151,  151, 
    64937239      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
    6494       151,  151,  151,  151,  166,  164,  166,  175,  154,  151, 
    6495       151,  151,  151,  151,  151,  176,  176,  172,  176,  176, 
    6496       176,  157,  151,    0,    0,  166,    0,    0,  175,  175, 
    6497       175,    0,  148,    0,    0,    0,  168,    0,    0,    0, 
    6498         0,    0,  147,    0,    0,  141,   25,    0,  153,    0, 
    6499  
    6500         0,    0,    0,    0,    0,    0,  142,    0,  154,    0, 
    6501       140,   23,  151,  151,  151,  151,  151,  151,  151,  151, 
    6502       151,  151,  151,  151,  151,  151,  151,  151,   42,  151, 
    6503       151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
    6504       151,  151,  100,  151,   89,  151,  151,  151,  151,  151, 
     7240      151,  151,   91,  151,  151,  151,  151,  151,  151,  151, 
    65057241      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
    65067242      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
    6507       151,  151,  151,  151,    0,  166,  166,    0,  167,    0, 
    6508         0,    0,    0,    0,    0,  165,  166,    0,  175,  174, 
    6509       175,  175,  175,  167,  154,    0,  151,  151,  151,  151, 
    6510  
    6511        89,  151,  151,    0,  172,    0,    0,    0,    0,    0, 
    6512         0,  173,   25,    0,    0,    0,  151,  151,  151,  151, 
    6513       151,    0,    0,    0,  175,  175,    0,    0,    0,    0, 
    6514         0,    0,    0,    0,  146,    0,    0,    0,    0,    0, 
    6515         0,    0,    0,    0,    0,    0,    0,    0,  152,  152, 
    6516         0,  153,  151,  151,  151,  151,  151,  151,  151,  151, 
    6517       151,  151,  151,  151,  151,  151,  123,  151,  151,  151, 
    6518       151,  151,  151,  151,   14,  151,  151,  151,  151,  122, 
    6519       151,  151,  151,  151,  151,  151,  151,    0,  151,  151, 
    6520       151,  151,  151,  151,  129,  151,  151,  134,  151,  151, 
    6521  
    6522       151,  151,  151,  151,  151,  151,   93,  151,  151,  151, 
     7243      151,  151,  167,  176,  177,  177,  177,  177,  151,  151, 
     7244      151,  151,   91,  151,  151,  174,  149,  143,  142,  151, 
    65237245      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
    6524       151,  126,  151,  151,  151,  151,  151,  130,  151,  151, 
    6525       151,  151,  151,  151,  151,    0,  166,  166,    0,    0, 
    6526         0,    0,    0,    0,    0,    0,    0,  166,    0,  167, 
    6527       175,  175,  175,  154,    0,  151,  151,  151,  151,  151, 
    6528       151,  151,    0,    0,    0,    0,  173,    0,    0,    0, 
    6529       151,  151,  151,  151,  151,    0,    0,    0,  175,  175, 
    6530         0,    0,    0,    0,    0,    0,    0,    0,  153,    0, 
    6531        27,    0,   29,   28,   31,   30,   33,    0,    0,   35, 
    6532  
    6533         0,    0,  133,  125,  151,  151,  128,  151,  131,  151, 
    6534       151,   20,  151,  151,  151,  151,  151,  151,  124,  151, 
    6535       151,  151,  151,  151,  151,   98,    0,  115,  151,  151, 
    6536       151,  151,  151,  151,  151,  151,    0,  116,  151,    0, 
    6537       117,  151,  151,  151,  151,  151,  151,    0,  113,  151, 
    6538       151,    0,   92,  151,  151,  151,  151,  151,  151,  151, 
    6539         0,  102,  151,  151,    0,  119,  151,  151,  151,  151, 
    6540       120,    0,  114,   19,  151,   63,   77,  151,  151,  151, 
    6541       151,  151,  151,  151,  151,   82,   43,  151,  151,  151, 
    6542       151,   72,  151,  151,  127,  151,   76,   57,  151,    0, 
    6543  
    6544       101,  103,  151,   96,  105,  151,  151,  151,  151,   47, 
    6545       166,  166,    0,    0,    0,    0,    0,    0,    0,  166, 
    6546         0,  167,  175,  175,  175,  154,    0,  108,  151,  151, 
    6547       151,  151,  151,   16,    0,    0,    0,    0,    0,    0, 
    6548       151,  151,  151,  151,    0,    0,    0,  175,  175,    0, 
    6549         0,    0,    0,    0,    0,   37,   26,    0,   34,   36, 
    6550       151,  151,  151,  151,  151,  151,   52,  151,  151,  151, 
    6551       151,  132,  151,  151,  151,  151,  151,    0,  151,  151, 
    6552         0,    0,    0,    0,    0,    0,    0,    0,   41,  151, 
    6553        99,  151,  151,  151,  151,  151,  151,  151,  151,   79, 
    6554  
    6555        79,  151,    0,  111,  121,   85,  151,  151,   92,  151, 
    6556       151,   94,  151,  151,  151,  151,  151,  151,  151,  151, 
    6557       151,  151,  151,    0,    0,  151,  151,  151,   55,  151, 
    6558        80,  151,  151,  151,    0,  151,  151,  151,  151,  151, 
    6559         0,  135,  106,  151,  151,    0,  112,   58,   39,   84, 
    6560       166,  166,  108,    0,    0,    0,    0,    0,  166,    0, 
    6561       167,  175,  175,  175,  154,    0,  108,  151,   90,  151, 
    6562       151,   74,   73,   74,    0,    0,    0,    0,    0,  151, 
    6563        52,  151,  132,    0,   21,    0,  175,   21,    0,   21, 
    6564        21,    0,   21,    0,   21,   21,   21,   32,  151,  151, 
    6565  
    6566       151,   21,  151,  151,   66,  151,  151,  151,  151,  151, 
    6567       151,  151,  145,    0,    0,   97,  151,   41,    0,   99, 
    6568         0,    0,    0,    0,    0,    0,  151,  151,  151,  151, 
    6569       151,  151,  151,  151,    0,  118,  151,  151,  151,  151, 
    6570       151,  151,  151,   69,  151,  151,  137,  104,  136,  138, 
    6571        38,  151,    0,    6,  151,  151,  151,  151,  151,  151, 
    6572        87,    0,  151,    8,   78,   17,  151,  151,   86,  166, 
    6573       166,    0,    0,    0,  166,  175,  175,   21,    0,  151, 
    6574       151,  151,    0,    0,    0,   21,    0,  151,   21,   22, 
    6575         0,  169,   22,   22,   22,   22,   22,   22,   22,   22, 
    6576  
    6577       151,  151,  151,  151,   50,  151,  151,  151,  109,  151, 
    6578         0,  151,  151,   97,    0,  151,    0,    0,    0,    0, 
    6579         0,    0,    0,  151,  151,  151,  151,  151,   75,  151, 
    6580       151,  151,    0,    0,  151,  151,   15,   53,   44,  151, 
    6581        45,    0,  151,  151,    5,  151,  151,   70,   88,    3, 
    6582         0,    0,  151,    0,  151,  151,    0,    0,    0,  175, 
    6583        22,    0,  151,   67,  151,    0,    0,   22,    0,   22, 
    6584       151,    4,  151,  151,  151,  151,   91,  151,  151,    0, 
    6585         0,  151,  151,    0,  151,    0,    0,    0,    0,    0, 
    6586        75,    0,  151,  151,  151,  151,  151,   59,  151,   68, 
    6587  
    6588         0,    0,    0,    0,  143,    9,   18,  151,    0,  151, 
    6589        83,   71,  151,    0,  151,    0,  151,  151,    0,    0, 
    6590       175,    0,   62,  151,    0,    0,    0,  151,  151,  139, 
    6591        46,  151,  151,   54,    0,    0,  151,  151,    0,   61, 
    6592         0,    0,    0,    0,    0,   59,  151,   11,  151,  110, 
    6593       151,  151,    0,    0,    0,    0,    0,  143,   95,    0, 
    6594       151,   64,    0,   65,    0,  151,  151,   62,    0,  175, 
    6595         0,  149,    0,    0,    0,  151,  151,   40,    7,    0, 
    6596         0,  151,  151,   61,    0,   60,    0,   11,    0,  110, 
    6597         0,  151,   10,  151,  151,    0,    0,    0,  151,    0, 
    6598  
    6599         0,  107,    2,  149,  175,    0,    0,    0,    0,   51, 
    6600         0,    0,    0,    0,  151,  151,    0,   10,    0,   13, 
    6601       151,   56,    0,    0,    0,  151,    0,  107,  175,    0, 
    6602         0,    0,    0,    0,    0,    0,    0,  151,  151,   13, 
    6603         0,  151,    0,    0,    0,  151,    0,  175,    0,    0, 
    6604         0,    0,    0,   24,    0,    0,   49,  151,    0,   12, 
    6605         0,    0,    0,  151,    0,  175,    0,    0,    0,  150, 
    6606         0,   49,    0,  151,   12,    0,    0,    0,    0,  151, 
    6607         0,  175,    0,    0,    0,    0,   48,    0,    0,    0, 
    6608        81,    1,  175,    0,    0,    0,   48,   81,  175,    0, 
    6609  
    6610         0,    0,  175,    0,    0,    0,  175,    0,    0,    0, 
    6611       175,    0,    0,    0,  175,    0,    0,    0,  175,  170, 
    6612         0,  170,    0,    0,  170,    0,    0,    0,    0,  171, 
    6613         0 
     7246      151,  151,  151,   42,  151,  151,  151,  151,  151,  151, 
     7247 
     7248      151,  151,  151,  151,  151,  151,  151,  151,  151,   91, 
     7249      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7250      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7251      151,  151,  151,  151,  151,  151,  151,  151,  151,  176, 
     7252      167,  167,  175,   20,  155,  175,  151,  151,  151,  151, 
     7253      151,  151,  151,  151,  151,  151,   91,  151,  151,  167, 
     7254      155,  177,  177,  141,  145,  153,  152,  153,  154,  154, 
     7255      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7256      151,  151,  151,  151,  151,  151,  151,  151,  151,    9, 
     7257      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7258 
     7259      151,  151,  103,16485,  151,  151,  151,  151,  151,  151, 
     7260      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7261      151,  151,  151,  151,   94,  151,  151,  151,  151,  151, 
     7262      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7263      151,  151,  151,  151,  151,  151,  151,   11,  151,  151, 
     7264      151,  151,  177,  177,  177,  151,  151,  151,  151,  151, 
     7265      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7266      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7267        9,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7268      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7269 
     7270      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7271      151,  151,  151,   94,  151,  151,  151,  151,  151,  151, 
     7272      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7273      151,  151,  151,  151,  151,  151,   11,  151,  151,  151, 
     7274      151,  167,  167,  155,  151,  151,  151,  151,  151,  151, 
     7275      151,  151,  151,  151,  151,  151,  151,  177,  177,  154, 
     7276       22,   24,   23,   26,   25,   28,   30,  151,  151,  151, 
     7277      151,  151,  151,  151,   15,  151,  151,  151,  151,  151, 
     7278      151,  151,  151,  151,  151,  151,   41,   41,  151,  151, 
     7279       99,  151,  116,  151,  151,  151,  151,  151,  117,  151, 
     7280 
     7281      126,  151,  151,   79,  151,  151,  151,  151,  114,  151, 
     7282      151,   93,  151,  151,  151,  151,  151,  151,  151,  151, 
     7283      151,  151,  151,  118,  151,  151,  151,  151,  115,   14, 
     7284      151,  151,   63,  151,   77,  151,  151,  151,  151,  151, 
     7285      151,  151,  151,  151,  151,   83,  151,   43,  151,  130, 
     7286      151,  151,  151,  151,  151,   72,  151,  151,  151,   76, 
     7287      151,   57,  151,  151,  151,   97,  151,  151,  151,  151, 
     7288      151,   47,  177,  177,  177,  105,  151,  151,  151,  151, 
     7289      151,  151,16458,  151,  151,  151,  151,  151,  151,  151, 
     7290       15,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7291 
     7292      151,  151,   41,  151,  151,   99,  151,  151,  151,  151, 
     7293      151,  151,  151,  151,  151,   79,  151,  151,  151,  151, 
     7294      151,  151,   93,  151,  151,  151,  151,  151,  151,  151, 
     7295      151,  151,  151,  151,  151,  151,  151,  151,   14,  151, 
     7296      151,   63,  151,   77,  151,  151,  151,  151,  151,  151, 
     7297      151,  151,  151,  151,   83,  151,   43,  151,  151,  151, 
     7298      151,  151,  151,   72,  151,  151,  151,   76,  151,   57, 
     7299      151,  151,  151,   97,  151,  151,  151,  151,  151,  167, 
     7300      155,   15,  151,  105,  151,  151,  151,  151,  151,  151, 
     7301      151,  151,  151,  151,  151,  151,  151,  151,16458,  177, 
     7302 
     7303      177,  158,   32,   21,   29,   31,  151,  151,  151,  151, 
     7304      151,  151,  151,  151,   52,  151,  151,  151,  151,  151, 
     7305      134,  151,  151,  151,  151,  151,  151,  151,   40,  151, 
     7306      100,  151,  151,  151,  151,  151,  151,  151,  151,  108, 
     7307       87,  151,  127,  151,   93,  102,  151,  151,   95,  151, 
     7308      151,  151,  151,  151,  151,  151,  151,  119,  151,  151, 
     7309      121,  128,  151,  151,  151,  151,  151,   55,  151,  151, 
     7310      151,   80,  151,  151,  151,  151,   82,  129,  151,  151, 
     7311      151,  151,  151,  151,  151,  151,  151,  112,   58,  151, 
     7312       38,  151,   86,  151,  105,16458,  177,  177,  177,  105, 
     7313 
     7314      151,   92,  151,  151, 8266,   73, 8266,  151,  151,  151, 
     7315      151,  151,  151,  151,  151,   52,  151,  151,  151,  151, 
     7316      151,  134,  151,  151,  151,  151,  151,  151,  151,   40, 
     7317      151,  100,  151,  151,  151,  151,  151,  151,  151,  151, 
     7318       87,  151,  151,  151,  151,   95,  151,  151,  151,  151, 
     7319      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7320      151,   55,  151,  151,  151,   80,  151,  151,  151,  151, 
     7321      151,  151,  151,  151,  151,  151,  151,  151,  151,   58, 
     7322      151,   38,  151,   86,  151,  167,  155,  105,  151,  151, 
     7323       52,  151,  151,  151,  151,  151,  151,  151,  134,  151, 
     7324 
     7325      151,  151,   16,  177,   16,  177,   16,   16,  146,   16, 
     7326       16,   16,  145,   16,   16,   16,   16,   16,   16,   27, 
     7327      151,  151,  151,  151,  151,   16,  151,  151,  151,   66, 
     7328      151,  151,  151,  151,  151,  151,  151,  151,   98,  151, 
     7329      151,   40,  100,  151,  151,  151,  151,  151,  133,  151, 
     7330      151,  102, 8293,  102,  151,  151,  151,  151,   69,  151, 
     7331      151,  151,  124,  151,  151,   37,  151,  151,  151,  151, 
     7332      151,  151,  151,  151,  151,  151,   89,  151,  151,    7, 
     7333      151,   78,  151,   12,  151,  151,  151,  132,  151,  151, 
     7334       88,  151,   85,  177,  177,   16,  177,  151,  151,  151, 
     7335 
     7336      151,  151,  151,  151,  151,   16,  151,  151,  151,   66, 
     7337      151,  151,  151,  151,  151,  151,  151,  151,   98,  151, 
     7338      151,  151,  151,  151,  151,  151,  151,  151,  151,  151, 
     7339      151,  151,   69,  151,  151,  151,  151,  151,   37,  151, 
     7340      151,  151,  151,  151,  151,  151,  151,  151,  151,   89, 
     7341      151,  151,    7,  151,   78,  151,   12,  151,  151,  151, 
     7342      132,  151,  151,   88,  151,   16,  151,  151,   66,  151, 
     7343      151,  151,  151,  151,   16,  151,  151,  151,   17,   17, 
     7344      177,   17,   17,  146,   17,   17,   17,  145,   17,   17, 
     7345       17,   17,   17,   17,  109,  110,   17,  151,  151,  151, 
     7346 
     7347      151,  151,   50,  151,  151,  151,  151,  106,  151,  151, 
     7348      151,  151,   98,  151,  151,   75,  151,  151,  151,  120, 
     7349      151,  151, 8293,  151,   10,  151,   53,  151,   44,  151, 
     7350      151,  151,  125,   45,  151,  151,  151,    5,  151,  113, 
     7351      151,  151,   70,  151,  151,   90,  151,    2,  151,  151, 
     7352      151,  122,  131,  151,  177,   17,  177,  151,   67,  151, 
     7353      171,   17,  151,  151,  151,  151,  151,   50,  151,  151, 
     7354      151,  151,  106,  151,  151,  151,  151,  151,  151,   75, 
     7355      151,  151,  151,  151,  151,  151,   10,  151,   53,  151, 
     7356       44,  151,  151,  151,   45,  151,  151,  151,    5,  151, 
     7357 
     7358      151,  151,   70,  151,  151,   90,  151,    2,  151,  151, 
     7359      151,  151,  171,   17,   17,  151,  151,   50,  151,  151, 
     7360      151,  151,  151,  151,    3,  151,  151,  151,  151,  151, 
     7361        4,  151,  151,  151,  151,  151,  151,   75,  151,   59, 
     7362      151,  151,   68,  151,    8,  151,   13,  151,  151,  151, 
     7363      151,   84,  151,   71,  151,  151,  151,  151,  151,  151, 
     7364      177,   62,  151,  151,  151,    3,  151,  151,  151,  151, 
     7365      151,    4,  151,  151,  151,  151,  151,  151,  151,   59, 
     7366      151,  151,   68,  151,    8,  151,   13,  151,  151,  151, 
     7367      151,   84,  151,   71,  151,  151,  151,  151,  151,  151, 
     7368 
     7369      151,  151,   62,  151,    4,  151,  151,  137,  151,  151, 
     7370      135,  151,   46,  151,  151,  151,   54,  151,  151,  151, 
     7371       61,  151,   59,  107,  151,  151,   96,  151,  111,  151, 
     7372       64,  151,  123,   65,  151,  151,  151,   62,  177,  147, 
     7373      151,  150,  151,  151,  135,  151,   46,  151,  151,  151, 
     7374       54,  151,  151,  151,   61,  151,  107,  151,  151,   96, 
     7375      151,  151,   64,  151,   65,  151,  151,  151,   46,  151, 
     7376      151,  147,  151,  169,  137,  151,  151,   39,  151,    6, 
     7377      151,  151,  151,   61,   60,  107,  151,  151,  104,  151, 
     7378        1,  151,  147,  177,  151,  151,   39,  151,    6,  151, 
     7379 
     7380      151,  151,  151,  151,  104,  151,    1,  151,  168,   39, 
     7381      151,   51,  151,  151,  151,   56,  151,  151,  104,  177, 
     7382       51,  151,  151,  151,   56,  151,  151,  169,  151,  151, 
     7383      151,  177,  151,  151,  151,  168,   19,   49,  151,  151, 
     7384      151,  177,  148,  149,   49,  151,  151,  151,  168,  168, 
     7385       49,  151,  151,  177,  151,  151,   48,  151,   81,  151, 
     7386      177,   48,  151,   81,  151,  168,   48,   81,  177,  177, 
     7387      177,  177,  177,  177,  172,  177,  172,  172,  175,  172, 
     7388      176,  177,  175,  173,  174,  173,  174 
     7389    } ; 
     7390 
     7391static yyconst flex_int16_t yy_accept[1884] = 
     7392    {   0, 
     7393        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
     7394        1,    2,    3,    3,    3,    3,    3,    4,    5,    7, 
     7395        9,   11,   12,   14,   16,   18,   19,   21,   23,   25, 
     7396       27,   29,   31,   33,   35,   37,   39,   41,   43,   45, 
     7397       47,   49,   51,   53,   55,   57,   59,   61,   63,   65, 
     7398       67,   69,   71,   73,   75,   77,   79,   81,   83,   85, 
     7399       87,   90,   92,   94,   96,   98,  100,  102,  103,  104, 
     7400      106,  107,  108,  110,  111,  112,  114,  116,  117,  119, 
     7401      121,  123,  125,  127,  129,  131,  133,  135,  137,  139, 
     7402      141,  143,  145,  147,  149,  151,  153,  155,  157,  159, 
     7403 
     7404      161,  164,  166,  168,  170,  172,  174,  176,  178,  180, 
     7405      182,  184,  184,  184,  185,  186,  187,  188,  188,  189, 
     7406      189,  189,  190,  190,  190,  190,  190,  191,  191,  191, 
     7407      191,  191,  192,  192,  192,  192,  193,  193,  194,  194, 
     7408      194,  194,  194,  194,  194,  194,  194,  194,  194,  195, 
     7409      196,  197,  197,  198,  198,  199,  200,  201,  202,  203, 
     7410      204,  205,  206,  207,  208,  209,  210,  211,  212,  213, 
     7411      214,  215,  216,  217,  219,  220,  221,  222,  223,  224, 
     7412      225,  226,  227,  228,  229,  230,  231,  232,  233,  235, 
     7413      236,  237,  238,  239,  240,  241,  242,  243,  244,  245, 
     7414 
     7415      246,  247,  248,  249,  250,  251,  252,  253,  254,  255, 
     7416      256,  257,  258,  259,  260,  261,  262,  263,  263,  264, 
     7417      265,  265,  265,  265,  265,  265,  265,  265,  266,  266, 
     7418      267,  268,  269,  269,  270,  271,  272,  273,  275,  276, 
     7419      276,  277,  277,  277,  278,  278,  278,  278,  279,  279, 
     7420      280,  280,  280,  280,  280,  280,  280,  281,  282,  283, 
     7421      284,  285,  286,  287,  288,  289,  290,  291,  292,  293, 
     7422      294,  296,  297,  298,  299,  300,  301,  302,  303,  304, 
     7423      305,  306,  307,  308,  309,  310,  312,  313,  314,  315, 
     7424      316,  317,  318,  319,  320,  321,  322,  323,  324,  325, 
     7425 
     7426      326,  327,  328,  329,  330,  331,  332,  333,  334,  335, 
     7427      336,  337,  338,  339,  340,  340,  341,  341,  341,  342, 
     7428      343,  343,  343,  344,  345,  345,  345,  345,  345,  346, 
     7429      347,  347,  348,  349,  350,  351,  352,  353,  354,  355, 
     7430      356,  357,  359,  360,  361,  361,  361,  362,  362,  362, 
     7431      362,  363,  364,  364,  364,  364,  364,  364,  364,  364, 
     7432      364,  366,  366,  366,  366,  366,  366,  366,  366,  366, 
     7433      366,  366,  366,  366,  366,  366,  366,  366,  366,  366, 
     7434      366,  366,  366,  366,  366,  366,  366,  366,  366,  366, 
     7435      366,  366,  366,  367,  370,  370,  371,  372,  373,  374, 
     7436 
     7437      375,  376,  377,  378,  379,  380,  381,  382,  383,  384, 
     7438      385,  386,  387,  387,  388,  389,  390,  392,  393,  394, 
     7439      395,  396,  397,  398,  399,  400,  401,  402,  402,  403, 
     7440      403,  405,  406,  407,  408,  409,  410,  411,  412,  413, 
     7441      414,  415,  416,  417,  418,  419,  420,  421,  422,  423, 
     7442      424,  425,  427,  428,  429,  430,  431,  432,  433,  434, 
     7443      435,  436,  437,  438,  439,  440,  441,  442,  443,  444, 
     7444      445,  446,  447,  448,  450,  451,  452,  453,  453,  453, 
     7445      453,  453,  453,  453,  453,  453,  453,  454,  455,  456, 
     7446      456,  457,  458,  459,  460,  461,  462,  462,  462,  462, 
     7447 
     7448      462,  462,  462,  462,  462,  462,  462,  462,  462,  463, 
     7449      464,  465,  466,  467,  468,  469,  470,  471,  472,  473, 
     7450      474,  475,  476,  477,  478,  479,  480,  481,  483,  484, 
     7451      485,  486,  487,  488,  489,  490,  491,  492,  493,  494, 
     7452      495,  496,  497,  498,  499,  500,  501,  502,  503,  504, 
     7453      505,  506,  507,  508,  509,  510,  511,  512,  513,  514, 
     7454      516,  517,  518,  519,  520,  521,  522,  523,  524,  525, 
     7455      526,  527,  528,  529,  530,  531,  532,  533,  534,  535, 
     7456      536,  537,  539,  540,  541,  542,  542,  542,  542,  542, 
     7457      543,  543,  544,  544,  544,  544,  544,  544,  544,  545, 
     7458 
     7459      545,  546,  547,  548,  549,  550,  551,  552,  553,  554, 
     7460      555,  556,  557,  558,  558,  558,  558,  558,  559,  560, 
     7461      560,  560,  560,  560,  560,  560,  560,  560,  560,  560, 
     7462      560,  560,  560,  560,  560,  560,  560,  560,  561,  561, 
     7463      561,  562,  562,  563,  564,  565,  566,  566,  567,  567, 
     7464      567,  568,  568,  568,  568,  568,  568,  568,  568,  568, 
     7465      568,  568,  568,  569,  570,  571,  572,  573,  574,  575, 
     7466      577,  578,  579,  580,  581,  582,  583,  584,  585,  586, 
     7467      587,  588,  590,  591,  593,  593,  594,  595,  596,  597, 
     7468      598,  599,  599,  600,  601,  601,  602,  603,  604,  606, 
     7469 
     7470      607,  608,  609,  609,  610,  611,  612,  612,  614,  614, 
     7471      614,  614,  614,  615,  616,  617,  618,  619,  620,  621, 
     7472      622,  623,  624,  624,  625,  626,  627,  628,  629,  629, 
     7473      630,  632,  633,  635,  637,  638,  639,  640,  641,  642, 
     7474      643,  644,  645,  646,  648,  650,  650,  651,  652,  653, 
     7475      654,  655,  656,  658,  659,  660,  662,  664,  665,  666, 
     7476      668,  669,  670,  671,  672,  673,  673,  673,  673,  673, 
     7477      673,  673,  674,  675,  676,  676,  678,  679,  680,  681, 
     7478      682,  684,  684,  684,  684,  684,  684,  684,  684,  684, 
     7479      684,  685,  686,  687,  688,  689,  690,  691,  693,  694, 
     7480 
     7481      695,  696,  697,  698,  699,  700,  701,  702,  703,  705, 
     7482      706,  708,  709,  710,  711,  712,  713,  714,  715,  716, 
     7483      718,  719,  720,  721,  722,  723,  725,  726,  727,  728, 
     7484      729,  730,  731,  732,  733,  734,  735,  736,  737,  738, 
     7485      739,  741,  742,  744,  746,  747,  748,  749,  750,  751, 
     7486      752,  753,  754,  755,  757,  759,  760,  761,  762,  763, 
     7487      764,  766,  767,  768,  770,  772,  773,  774,  776,  777, 
     7488      778,  779,  780,  780,  780,  780,  781,  781,  781,  781, 
     7489      781,  781,  782,  782,  784,  786,  787,  788,  789,  790, 
     7490      791,  792,  793,  794,  795,  796,  797,  798,  800,  800, 
     7491 
     7492      800,  800,  801,  802,  802,  802,  802,  802,  802,  803, 
     7493      803,  803,  803,  803,  803,  803,  804,  805,  805,  806, 
     7494      807,  807,  807,  807,  807,  807,  807,  808,  809,  810, 
     7495      811,  812,  813,  814,  815,  817,  818,  819,  820,  821, 
     7496      823,  824,  825,  826,  827,  827,  828,  829,  829,  829, 
     7497      829,  829,  829,  831,  833,  834,  835,  836,  837,  838, 
     7498      839,  840,  840,  841,  843,  843,  844,  845,  846,  846, 
     7499      846,  846,  847,  848,  849,  851,  852,  853,  854,  855, 
     7500      856,  857,  858,  858,  859,  860,  861,  861,  862,  862, 
     7501      863,  864,  865,  866,  867,  868,  870,  871,  872,  874, 
     7502 
     7503      875,  876,  877,  877,  878,  878,  879,  880,  881,  882, 
     7504      883,  884,  885,  886,  887,  888,  888,  889,  891,  893, 
     7505      895,  896,  896,  896,  896,  896,  897,  898,  899,  900, 
     7506      900,  901,  902,  903,  904,  905,  906,  907,  908,  908, 
     7507      908,  908,  908,  908,  908,  909,  910,  911,  912,  913, 
     7508      914,  915,  916,  918,  919,  920,  921,  922,  924,  925, 
     7509      926,  927,  928,  929,  930,  932,  934,  935,  936,  937, 
     7510      938,  939,  940,  941,  943,  944,  945,  946,  948,  949, 
     7511      950,  951,  952,  953,  954,  955,  956,  957,  958,  959, 
     7512      960,  961,  962,  964,  965,  966,  968,  969,  970,  971, 
     7513 
     7514      972,  973,  974,  975,  976,  977,  978,  979,  980,  982, 
     7515      984,  986,  986,  986,  986,  987,  987,  987,  987,  987, 
     7516      987,  988,  988,  989,  990,  991,  993,  994,  995,  996, 
     7517      997,  998,  999, 1001, 1002, 1003, 1003, 1003, 1004, 1005, 
     7518     1007, 1007, 1008, 1010, 1010, 1011, 1012, 1014, 1014, 1014, 
     7519     1014, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1021, 
     7520     1021, 1021, 1021, 1022, 1023, 1024, 1025, 1026, 1028, 1029, 
     7521     1030, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1039, 
     7522     1039, 1041, 1042, 1043, 1044, 1044, 1044, 1044, 1045, 1046, 
     7523     1047, 1048, 1049, 1049, 1050, 1051, 1052, 1052, 1053, 1053, 
     7524 
     7525     1053, 1053, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1061, 
     7526     1062, 1063, 1063, 1064, 1065, 1066, 1068, 1069, 1070, 1071, 
     7527     1072, 1073, 1074, 1075, 1076, 1077, 1079, 1080, 1082, 1084, 
     7528     1086, 1087, 1088, 1090, 1091, 1093, 1093, 1094, 1094, 1094, 
     7529     1094, 1095, 1096, 1098, 1098, 1099, 1100, 1101, 1101, 1101, 
     7530     1101, 1101, 1101, 1101, 1102, 1103, 1104, 1105, 1106, 1108, 
     7531     1109, 1110, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 
     7532     1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 
     7533     1131, 1132, 1133, 1135, 1136, 1137, 1138, 1139, 1141, 1142, 
     7534     1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1152, 1153, 
     7535 
     7536     1155, 1157, 1159, 1160, 1161, 1163, 1164, 1166, 1166, 1166, 
     7537     1166, 1166, 1167, 1167, 1168, 1169, 1171, 1172, 1173, 1174, 
     7538     1175, 1177, 1178, 1179, 1179, 1180, 1182, 1183, 1185, 1186, 
     7539     1187, 1189, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1195, 
     7540     1195, 1195, 1195, 1195, 1196, 1196, 1197, 1199, 1200, 1201, 
     7541     1202, 1203, 1205, 1206, 1207, 1208, 1210, 1211, 1211, 1212, 
     7542     1213, 1214, 1214, 1215, 1215, 1215, 1215, 1216, 1218, 1219, 
     7543     1220, 1220, 1221, 1222, 1223, 1224, 1224, 1224, 1225, 1227, 
     7544     1229, 1231, 1232, 1233, 1233, 1234, 1236, 1236, 1237, 1238, 
     7545     1240, 1240, 1241, 1242, 1243, 1245, 1246, 1248, 1250, 1251, 
     7546 
     7547     1251, 1252, 1252, 1253, 1253, 1254, 1255, 1255, 1255, 1255, 
     7548     1256, 1258, 1258, 1259, 1260, 1261, 1261, 1261, 1261, 1262, 
     7549     1262, 1262, 1264, 1265, 1266, 1267, 1268, 1270, 1271, 1272, 
     7550     1273, 1275, 1276, 1277, 1278, 1279, 1280, 1282, 1283, 1284, 
     7551     1285, 1286, 1287, 1289, 1291, 1293, 1294, 1295, 1297, 1298, 
     7552     1299, 1301, 1302, 1303, 1305, 1306, 1308, 1310, 1311, 1312, 
     7553     1313, 1313, 1314, 1314, 1315, 1315, 1317, 1318, 1320, 1321, 
     7554     1322, 1323, 1324, 1324, 1324, 1324, 1324, 1324, 1325, 1327, 
     7555     1328, 1329, 1330, 1331, 1333, 1334, 1335, 1335, 1335, 1336, 
     7556     1337, 1337, 1338, 1338, 1339, 1339, 1340, 1342, 1343, 1345, 
     7557 
     7558     1347, 1347, 1349, 1350, 1351, 1351, 1352, 1354, 1356, 1357, 
     7559     1358, 1359, 1359, 1360, 1361, 1361, 1361, 1362, 1362, 1364, 
     7560     1365, 1365, 1365, 1365, 1365, 1365, 1366, 1368, 1369, 1370, 
     7561     1371, 1372, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1382, 
     7562     1383, 1385, 1387, 1389, 1390, 1391, 1392, 1394, 1396, 1397, 
     7563     1398, 1399, 1400, 1401, 1401, 1401, 1401, 1402, 1403, 1405, 
     7564     1407, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1409, 
     7565     1410, 1411, 1413, 1415, 1416, 1417, 1419, 1419, 1419, 1420, 
     7566     1421, 1421, 1423, 1423, 1424, 1426, 1427, 1429, 1429, 1430, 
     7567     1430, 1431, 1433, 1433, 1434, 1436, 1436, 1437, 1438, 1439, 
     7568 
     7569     1439, 1440, 1440, 1442, 1442, 1442, 1442, 1443, 1444, 1445, 
     7570     1447, 1449, 1450, 1451, 1453, 1454, 1455, 1457, 1459, 1460, 
     7571     1462, 1463, 1465, 1467, 1468, 1469, 1469, 1469, 1469, 1471, 
     7572     1472, 1474, 1474, 1474, 1475, 1475, 1475, 1475, 1476, 1477, 
     7573     1478, 1480, 1482, 1482, 1482, 1483, 1484, 1485, 1485, 1486, 
     7574     1487, 1488, 1488, 1489, 1489, 1491, 1493, 1494, 1495, 1495, 
     7575     1495, 1495, 1496, 1497, 1499, 1501, 1502, 1503, 1504, 1505, 
     7576     1507, 1509, 1509, 1509, 1509, 1510, 1510, 1512, 1512, 1512, 
     7577     1512, 1512, 1512, 1512, 1514, 1514, 1514, 1514, 1514, 1515, 
     7578     1516, 1518, 1518, 1519, 1520, 1521, 1521, 1521, 1521, 1523, 
     7579 
     7580     1524, 1525, 1527, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 
     7581     1528, 1528, 1528, 1528, 1528, 1529, 1529, 1529, 1529, 1529, 
     7582     1530, 1531, 1531, 1532, 1533, 1533, 1533, 1533, 1534, 1535, 
     7583     1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 
     7584     1536, 1536, 1537, 1537, 1537, 1537, 1537, 1537, 1538, 1538, 
     7585     1538, 1540, 1541, 1541, 1542, 1543, 1543, 1543, 1543, 1545, 
     7586     1547, 1548, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1550, 
     7587     1550, 1550, 1550, 1551, 1551, 1551, 1551, 1551, 1552, 1552, 
     7588     1553, 1553, 1554, 1555, 1555, 1555, 1556, 1557, 1557, 1557, 
     7589     1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1559, 
     7590 
     7591     1559, 1561, 1562, 1562, 1562, 1564, 1566, 1566, 1566, 1566, 
     7592     1566, 1566, 1566, 1567, 1567, 1568, 1569, 1570, 1570, 1570, 
     7593     1570, 1570, 1570, 1570, 1570, 1570, 1571, 1571, 1571, 1571, 
     7594     1571, 1571, 1571, 1571, 1571, 1572, 1572, 1572, 1572, 1572, 
     7595     1573, 1573, 1573, 1573, 1574, 1574, 1574, 1574, 1575, 1576, 
     7596     1577, 1577, 1578, 1578, 1578, 1578, 1580, 1580, 1580, 1582, 
     7597     1582, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1584, 1584, 
     7598     1584, 1584, 1584, 1586, 1586, 1586, 1587, 1587, 1587, 1588, 
     7599     1588, 1588, 1588 
    66147600    } ; 
    66157601 
     
    66207606        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    66217607        1,    4,    5,    6,    7,    8,    9,   10,   11,   12, 
    6622        13,   14,   15,   16,   17,   18,   19,   20,   21,   22, 
    6623        23,   24,   25,   26,   27,   28,   29,   30,   31,   32, 
    6624        33,   34,    1,    1,   35,   36,   37,   38,   39,   40, 
    6625        41,   42,   43,   44,   45,   46,   47,   48,   49,   50, 
    6626        51,   52,   53,   54,   55,   56,   57,   58,   59,   60, 
    6627        61,    1,   62,    1,   63,    1,   64,   65,   66,   67, 
    6628  
    6629        68,   69,   70,   71,   72,   44,   73,   74,   75,   76, 
    6630        77,   78,   79,   80,   81,   82,   83,   84,   85,   86, 
    6631        87,   88,    1,   89,    1,    1,    1,    1,    1,    1, 
     7608       13,   14,   15,   16,   17,   18,   19,   20,   20,   20, 
     7609       20,   20,   20,   20,   20,   20,   20,   21,   22,   23, 
     7610       24,   25,    1,    1,   26,   27,   28,   29,   30,   31, 
     7611       32,   33,   34,   35,   36,   37,   38,   39,   40,   41, 
     7612       42,   43,   44,   45,   46,   47,   48,   49,   50,   51, 
     7613       52,    1,   53,    1,   54,    1,   55,   56,   57,   58, 
     7614 
     7615       59,   60,   61,   62,   63,   35,   64,   65,   66,   67, 
     7616       68,   69,   70,   71,   72,   73,   74,   75,   76,   77, 
     7617       78,   79,    1,   80,    1,    1,    1,    1,    1,    1, 
    66327618        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    66337619        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
     
    66467632    } ; 
    66477633 
    6648 static yyconst flex_int32_t yy_meta[90] = 
     7634static yyconst flex_int32_t yy_meta[81] = 
    66497635    {   0, 
    6650         1,    1,    2,    1,    1,    3,    1,    1,    1,    1, 
    6651         1,    4,    1,    1,    1,    1,    1,    3,    1,    5, 
    6652         5,    5,    5,    5,    5,    5,    5,    5,    5,    1, 
    6653         1,    1,    1,    1,    6,    7,    7,    5,    5,    8, 
    6654         9,   10,   11,   11,   11,    9,   11,    9,   12,   11, 
    6655        13,    9,    9,    9,    9,   11,   11,   11,   11,   11, 
    6656         1,    1,   11,    6,    7,    7,    5,    5,    8,    9, 
    6657        10,   11,   11,    9,   11,    9,   12,   11,   13,    9, 
    6658         9,    9,    9,   11,   11,   11,   11,   11,    3 
     7636        1,    2,    3,    2,    4,    5,    4,    4,    1,    4, 
     7637        6,    7,    8,    4,    9,   10,   11,   12,   13,   14, 
     7638        1,    4,    1,    1,    1,   15,   14,   14,   14,   14, 
     7639       15,   16,   17,   17,   17,   17,   16,   17,   16,   16, 
     7640       17,   17,   16,   16,   16,   16,   17,   17,   17,   17, 
     7641       17,    1,    1,   18,   15,   14,   14,   14,   14,   15, 
     7642       16,   17,   17,   17,   16,   17,   16,   16,   17,   17, 
     7643       16,   16,   16,   16,   17,   17,   17,   17,   17,    5 
    66597644    } ; 
    66607645 
    6661 static yyconst flex_int16_t yy_base[1171] = 
     7646static yyconst flex_int16_t yy_base[2051] = 
    66627647    {   0, 
    6663         0,   88,    0,    0,    0,    0,  984,   93,    0,   85, 
    6664         0,    0,  891,   64,   98,  103,   80,  129,   96,   99, 
    6665       134,  137,  145,  133,  168,  135,  249,  180,  318,  136, 
    6666       156,  172,  212,  239,  246,  297,  366,  341,  414,  461, 
    6667       247,  294,  398,  334,  407,  476,  506,  517,  459,  566, 
    6668       572,  522,  571,  367,  653,  226,  656,  658,  737,  638, 
    6669       785,  655,  698,  806,  652, 4012,  878, 4012,  241,  116, 
    6670       124,  455,  893,   59,   76,  229,  253,  256,    0,  122, 
    6671       127,  872, 4012,  157,  188,  869,  866,  327,  302,  349, 
    6672       740,  416, 4012,  768,  592, 4012, 4012,  981,  730,  147, 
    6673  
    6674       184,  438,  495,  328,  184,  190, 4012, 1048,  335,  969, 
    6675      4012, 4012,    0,  269,  315,  149,  319,  486,  462,  248, 
    6676       318,  325,  269,  426,  736,  336,  767,  470,  500,  518, 
    6677       512,  403,  516,  525,  535,  801,  544,  620,  565,  570, 
    6678       589,  768,  483,  589,  810,  592,  613,  638,  650,  664, 
    6679       678,  736,  737,  740,  741,  949,  736,  788,  646,  956, 
    6680       756,  999,  739,  753,  804,  749, 1043,  972,  962,  769, 
    6681       813,  963,  972,  969,    0, 1057,    0,  839,  238, 1044, 
    6682       986,  789,  956, 1030,  965,  429, 1109, 1136,  830, 4012, 
    6683      1061, 1087, 1091, 1162, 1188,  990, 1095, 1120, 1006, 1042, 
    6684  
    6685      1170, 1050, 1046,  823, 4012, 1201, 1099, 1115, 1190,  797, 
    6686       483, 4012,  790, 1167, 1100, 1194, 1269, 1358, 1255, 1254, 
    6687      1195, 1103, 1098,  625, 1148, 1163, 1217, 1237, 1222, 1238, 
    6688      1095, 1305, 1325, 1234, 4012, 1334, 1302, 1326, 1107, 1182, 
    6689       738,  735,  731,  730, 1244, 1166,  713, 1242, 4012, 1428, 
    6690      1374, 1389, 1419, 1244, 1252, 1261, 1263, 1192, 1266, 1301, 
    6691      1333, 1333, 1352, 1352, 1387, 1392, 1388, 1389, 1390, 1404, 
    6692      1401, 1405, 1407, 1404, 1506, 1471, 1417, 1476, 1430,    0, 
    6693      1422, 1437, 1442, 1432, 1484, 1440, 1454, 1497, 1444, 1448, 
    6694      1451, 1443, 1445, 1475, 1459, 1530, 1536, 1464, 1477, 1470, 
    6695  
    6696      1531, 1490, 1491, 1482, 1509, 1511,    0, 1526, 1513, 1519, 
    6697      1524, 1527, 1524, 1555, 1516, 1519, 1522, 1546, 1557, 1564, 
    6698      1558, 1565, 1555, 1557, 1562, 1561, 1615, 1573, 1575, 1573, 
    6699      1576, 1570, 1574, 1582, 1576,  719,  351,  666, 1572,  713, 
    6700      1580, 1587, 1584, 1593, 1589, 1596, 1608, 1658, 1684, 1710, 
    6701      1652, 1645, 1661, 1741, 1626, 1629, 1635, 1634, 1637, 1703, 
    6702      1653,  709, 1654, 1744,  707,  998, 4012, 1712, 1674, 1715, 
    6703      1664, 1708, 1725, 1738, 1749, 1622, 1684, 1379, 1672, 1735, 
    6704      1743, 1771, 1723, 1772, 1787, 1804, 1815, 1807, 1821,  656, 
    6705      4012,  646, 4012, 4012, 4012, 4012, 4012, 1735,  614, 4012, 
    6706  
    6707       613, 1849, 4012,    0, 1741, 1751,    0, 1796,    0, 1799, 
    6708      1799,    0, 1820, 1819, 1811, 1816, 1808, 1821,    0, 1826, 
    6709      1822, 1814, 1822, 1825, 1819, 1871, 1955, 4012, 1825, 1821, 
    6710      1837, 1830, 1829, 1850, 1823, 1844, 1899, 4012, 1836, 1909, 
    6711      4012, 1841, 2040, 1856, 1915, 1858, 1874, 1920, 4012, 1886, 
    6712      1872, 1878,    0, 1886, 1879, 1881, 1888, 1896, 1895, 1902, 
    6713      1967, 4012, 1897, 1906, 1971, 4012, 1900, 1912, 1906, 1915, 
    6714         0, 1980, 4012,    0, 1988,    0,    0, 1929, 1939, 1926, 
    6715      1933, 1936, 1946, 1939, 1953,    0,  602, 1949, 1958, 1955, 
    6716      1963,    0, 1960, 2063,    0,  598,    0,    0, 1985, 2064, 
    6717  
    6718      4012,    0, 1960,    0,    0, 2019, 2022, 2024, 2025, 4012, 
    6719       792,  880, 2030, 2023, 2043, 2043, 2041, 2042,  581, 2092, 
    6720      2118, 2144, 2079, 2080, 2084, 2170, 2045, 1005, 2060, 1022, 
    6721      2071, 2134, 2199,  574, 2082, 2174, 2108, 2147, 2148, 2101, 
    6722      2154, 2184, 2187, 2190, 2087,    0, 1422, 2144,    0, 2200, 
    6723       138, 2202,  571, 2221, 2233, 4012, 4012,  514, 4012, 4012, 
    6724      2174, 2192, 2051, 2289, 2080, 2193,    0, 2109, 2194, 2193, 
    6725      2199,    0, 2201, 2207, 2204, 2195, 2198, 2270, 2240, 2240, 
    6726      2215, 2229, 2246, 2239, 2258, 2275, 2258, 2276,    0, 2276, 
    6727         0, 2287, 2279, 2283, 2295, 2283, 2295, 2300, 2335, 4012, 
    6728  
    6729         0, 2293, 2342, 4012,    0,    0, 2294, 2293, 4012, 2316, 
    6730      2321,    0, 2297, 2323, 2312, 2319, 2335, 2334, 2327, 2337, 
    6731      2333, 2341, 2338,  197,  451, 2343, 2337, 2347,    0, 2348, 
    6732         0, 2335, 2355, 2355,  477, 2343, 2343, 2350, 2355, 2348, 
    6733      2275, 4012, 4012, 2349, 2351, 2404, 4012,    0,    0,    0, 
    6734      1140, 1249, 1797, 2376, 2082, 2379, 2366, 2432, 2263,  424, 
    6735       569, 2417, 2420,  499, 2486, 2384, 2087, 2385, 2427, 2389, 
    6736      2398, 2437, 4012, 2448, 2444, 2439, 2452,  479, 2451, 2431, 
    6737      2410, 2565, 2416,    0, 4012, 2653,    0,    0,  475,  445, 
    6738      4012,  441,  436, 2458, 2462, 2468, 4012, 4012, 2682, 2404, 
    6739  
    6740      2428,    0, 2441, 2444,    0, 2442, 2449, 2447, 2480, 2465, 
    6741      2479, 2553,    0, 2487, 2489,    0, 2493, 4012, 2486, 4012, 
    6742      2497, 2509, 2513, 2527, 2535, 2549, 2552, 2538, 2550, 2555, 
    6743      2548, 2562, 2552, 2559, 2604, 4012, 2572, 2480, 2561, 2568, 
    6744      2573, 2575, 2564,    0, 2569, 2578,    0,    0,    0,    0, 
    6745      2660, 2572,  508, 4012, 2583, 2594, 2591, 2650, 2664, 2658, 
    6746         0, 2536, 2663,    0,    0,    0, 2715, 2654,    0, 2539, 
    6747      2479, 2668, 2663, 2678, 2644, 2682,  426,  421, 2680, 2677, 
    6748      2540, 2686, 2701, 2720,  411,  365, 2721, 2790, 2691, 4012, 
    6749      2725, 4012,    0,  343, 4012,  307, 2753, 2755, 4012,    0, 
    6750  
    6751      2747, 2692, 2702, 2706,    0, 2707, 2709, 2719,    0, 2685, 
    6752      2776, 2708, 2732, 4012, 2748, 2737, 2773, 2763, 2773, 2780, 
    6753      2773, 2788, 2777, 2776, 2785, 2780, 2796, 2786,    0, 2797, 
    6754      2798, 2794, 2647, 2867, 2796, 2791,    0,    0,    0, 2795, 
    6755         0, 2845, 2798, 2801,    0, 2815, 2825,    0,    0,    0, 
    6756      2872, 2840, 2825, 2883, 2847, 2843, 2840, 2548, 2855,  827, 
    6757       303,  239, 2841, 2765, 2855, 1020, 2888,  288, 1687, 2861, 
    6758      2861,    0, 2851, 2861, 2850, 2855,    0, 2851, 2858, 2858, 
    6759      2856, 2863, 2873, 2862, 2878, 2870, 2882, 2880, 2881, 2888, 
    6760      4012, 2904, 2901, 2906, 2913, 2885, 2895,    0, 2903,    0, 
    6761  
    6762      2951, 2978, 2955, 2982, 2994,    0,    0, 2933, 2910, 2917, 
    6763         0,    0, 2923,  248, 2932, 2941, 2930, 2939, 2936, 2956, 
    6764      2998, 2964,    0, 2967, 3005, 3006, 3007, 2966, 2959,    0, 
    6765         0, 2960, 2979,    0, 2973, 2982, 2973, 2987, 2986, 3025, 
    6766      2983, 2989, 2995, 2978, 2978, 4012, 2985,    0, 2991,    0, 
    6767      2985, 3006, 3066, 3074, 3078, 3090, 3094, 3106,    0, 3009, 
    6768      3019,    0, 3041,    0, 3018, 3050, 3056, 4012, 3062, 3076, 
    6769      3056,    0, 3087, 3103, 3099, 3072, 3111,    0,    0, 3064, 
    6770      3080, 3075, 3079, 3124, 3125, 4012, 3082, 4012, 3085, 4012, 
    6771      3080, 3093,    0, 3096, 3104, 3152, 3171, 3113, 3118,  245, 
    6772  
    6773      3119,    0,    0, 4012, 1737,  184, 3142, 3141, 1922,    0, 
    6774      3181, 3186, 3115, 3122, 3127, 3111, 3122, 4012, 3128,    0, 
    6775      3129,    0, 3208, 3211, 3152, 3158, 3150, 4012, 3194, 3154, 
    6776      2097, 3179, 3201, 3224, 3231, 3169, 3153, 3159, 3179, 4012, 
    6777      3183, 3184, 3251, 3258, 3191, 3183,  207, 3229, 3207, 3237, 
    6778       194, 3233, 3261, 4012, 3209, 3200,    0, 3220, 3211,    0, 
    6779      3309, 3283, 3218, 3228, 3221, 3285, 3236, 3273,  142, 4012, 
    6780      3286, 4012, 3243, 3250, 4012, 3339, 3342, 3367, 3248, 3286, 
    6781       108, 2482,   40, 2606, 2838, 3273,    0, 3395, 3399, 3290, 
    6782         0, 4012, 3302, 3294, 3311, 3350, 4012, 4012, 3299, 3320, 
    6783  
    6784      3357, 3358, 3375, 3318, 3359, 3380, 3404, 3376, 3300, 3412, 
    6785      3362, 3363, 3370, 3415, 3418, 3423, 3420, 3426, 3433, 4012, 
    6786      3447, 4012, 3428, 3451, 4012, 3430, 3439, 3454, 3457, 4012, 
    6787      4012, 3521, 3534, 3547, 3560, 3573, 3586, 3595, 3608, 3621, 
    6788      3634, 3647, 3656, 3669, 3678, 3686, 3699, 3712, 3725, 3738, 
    6789      3751, 3764, 3777, 3790, 3803, 3816, 3829, 3842, 3855, 3868, 
    6790      3881, 3894, 3907, 3920, 3933, 3946, 3959, 3972, 3985, 3998 
     7648        0,   79,    0,    0,    0,  151, 2913,   82, 2895,   86, 
     7649       89,   92,  224,  303,    0,  375, 2885,   70,  102, 9608, 
     7650       78,  113,   86,   90,  308,  311,  355,  129,  147,  137, 
     7651      447,  386,  440,  145,  146,  285,  302,  361,  444,  356, 
     7652      499,  497,  547,  594,  382,  352,  535,  495,  503,  582, 
     7653      618,  630,  639,  657,  688,  667,  692,  708,  445,  780, 
     7654      123,  538,  583,  760,  756,  811,  813, 9608, 2872, 9608, 
     7655       94, 2868, 9608,  491,  102,  110, 9608, 2857,  862,  852, 
     7656      772,  923,  871,  972,  921,  154,  729,  854,  384,  870, 
     7657      873,  992, 1022,  926,  989, 1039, 1073,  126, 1072,  968, 
     7658 
     7659     1122,  316, 1056,  347, 1179,   94, 1107,   90, 1234,  433, 
     7660      437,  161,  128,  130,    0,  289,  281, 2857, 2852,  448, 
     7661      322,  459, 2833,  542, 1149,  594, 2792,  626,  735,  631, 
     7662      740, 9608, 1260, 1277, 1302, 9608, 1303, 1051,  302,  321, 
     7663      676,  917,  736,  355,  362, 1152, 1321, 1334, 9608, 9608, 
     7664     9608, 1271, 1330,  323, 9608, 9608, 9608, 9608, 9608,    0, 
     7665      638,  299,  446,  447,  480,  366,  545,  590,  553,  821, 
     7666      613,  922,  581,  971,  636,  614,  653,  680,  726, 1085, 
     7667      734,  761,  781,  791,  831, 1001, 1261,  854, 1326, 1320, 
     7668      876,  879,  731, 1025,  899,  905,  969, 1013, 1027, 1331, 
     7669 
     7670     1027, 1068, 1321, 1306,  791, 1353, 1093, 1112, 1224, 1369, 
     7671      825, 1239,  876,  894,  915, 1357,  964,    0, 1372, 1431, 
     7672     2797, 1387,  978, 1246, 1276, 1368, 1445, 2784, 1449, 1402, 
     7673     1404, 1372, 1112, 1419, 1422, 1393, 1401, 1430, 1421, 2727, 
     7674     9608, 1418, 2720, 9608, 1474, 1428, 1305,  199, 2707, 2702, 
     7675     1118, 1478, 1159, 2707, 2702, 1506, 1476, 1500, 1468, 1519, 
     7676     1525, 1534, 1473, 1543, 1557, 1561, 1565, 1566, 1609, 1605, 
     7677     1613, 1600, 1618, 1608, 1639, 1649, 1669, 1662, 1672, 1676, 
     7678     1680, 1702, 1732, 1736, 1711, 1743, 1729, 1751, 1775, 1778, 
     7679     1799, 1793, 1789, 1813, 1832, 1837, 1833, 1742, 1855, 1851, 
     7680 
     7681     1859, 1890, 1893, 1897, 1923, 1928, 1936, 1930, 1949, 1954, 
     7682     1955, 1980, 1987, 1995, 1622, 2031, 2052, 2648, 1495,  144, 
     7683     1570, 2644, 9608, 2632, 1526, 1516, 2012, 2045, 2060, 2079, 
     7684     1593, 2136, 2216, 2048, 2060, 1803, 2057, 2091, 2136, 2137, 
     7685     2138, 2139, 2214, 1691, 2067, 2183, 2243, 1634, 1428, 1428, 
     7686     1485, 1491, 2615, 1521, 1609, 2606, 1258, 2106, 2166, 1610, 
     7687     2594, 2547, 2241, 2246, 1851, 1761, 2246, 2273, 2530, 2303, 
     7688     2306, 1610, 1347, 1916, 1503, 2307, 2523, 2443, 2434, 2433, 
     7689     2313, 1643, 2430, 1672, 1993, 2330, 2170, 2444, 2403, 2343, 
     7690     2362, 2388, 9608, 2355, 2323, 2319, 1774, 1850, 1707, 1714, 
     7691 
     7692     1857, 1751, 1809, 1844, 1868, 1871, 2229, 2343, 2001, 2005, 
     7693     1904, 1919, 2357, 2359, 1934, 1989, 2431, 1084, 2043, 2312, 
     7694     2297, 2141, 2156, 2007, 2280, 2025, 2208, 2347, 2218, 2201, 
     7695     2325, 2253, 2336, 2343, 2347, 2356, 2300, 2350, 2350, 2345, 
     7696     2394, 2371, 2362, 2380, 2380, 2422, 2381, 2391, 2379, 2392, 
     7697     2378,    0, 2411, 2398, 2404, 2410, 2411, 2413, 2412, 2425, 
     7698     2478, 2407, 2417, 2430, 2437, 2438, 2429, 2439, 2444, 2445, 
     7699     2437, 2453, 2450,    0, 2456, 2464, 2460, 2318, 2456, 2309, 
     7700     2464, 2470, 2465, 2471, 2469, 2476, 2515, 2484, 2516, 2490, 
     7701     2495, 2512, 2500, 2503, 2501, 2502, 2532, 2563, 2283, 2566, 
     7702 
     7703     2573, 2277, 2276, 2577, 2584, 2590, 2273, 2251, 2543, 2550, 
     7704     2571, 2560, 2577, 2545, 2580, 2593, 2596, 2598, 2607, 2604, 
     7705     2600, 2601, 2617, 2603, 2611, 2619, 2620, 2683, 2650, 2626, 
     7706     2678, 2624, 2660, 2661, 2654, 2690, 2668, 2631, 2615, 2692, 
     7707     2696, 2675, 2697, 2705, 2706, 2698, 2700, 2708, 2736, 2719, 
     7708     2701, 2721, 2722, 2765, 2748, 2751, 2712, 2755, 2729, 2243, 
     7709     2769, 2771, 2774, 2777, 2780, 2788, 2781, 2794, 2802, 2782, 
     7710     2783, 2798, 2795, 2805, 2799, 2793, 2796, 2807, 2830, 2806, 
     7711     2827, 2196, 2831, 2814, 2841, 2878, 2885, 2189, 2890, 2946, 
     7712     2488,  330, 1951, 2895, 2866, 2850, 2903, 2907, 2940, 2874, 
     7713 
     7714     3019, 3099, 2871, 2882, 2893, 2902, 3017, 2926, 2880, 2961, 
     7715     2857, 2943, 2954, 2753, 2919, 2922, 2924, 2945, 2929, 2995, 
     7716     3067, 1819, 2187, 2180, 3047, 3124, 3044, 3049, 3126, 3078, 
     7717     2977, 2110, 3143, 3146, 3050, 3061, 2101, 2091, 2082, 3138, 
     7718     9608, 2081, 9608, 9608, 9608, 9608, 3151, 9608, 3002, 2049, 
     7719     9608, 2043, 2917, 3081, 2038, 2028, 3188, 3199, 3218, 2027, 
     7720     2002, 3228, 3016, 3097, 3105, 2948, 3064, 3101, 3113,    0, 
     7721     3112, 3140, 3128, 3141, 3136, 3154, 3165, 3147, 3140, 3169, 
     7722     1947, 1932, 3174, 3238, 3313, 9608, 3176, 3188, 3195, 3179, 
     7723     3193, 3170, 9608, 3187, 3239, 9608, 3201, 3201,    0, 3206, 
     7724 
     7725     3256, 3202, 3257, 9608, 3263, 3205, 3211,    0, 3263, 1932, 
     7726     1927, 3280, 3235, 3222, 3226, 3255, 3268, 3256, 3246, 3259, 
     7727     3268, 3301, 3304, 9608, 3274, 3251, 3308, 3322, 3332, 9608, 
     7728        0, 3275,    0, 3281, 3281, 3284, 3303, 3282, 3294, 3296, 
     7729     3317, 3302, 3314, 3169,    0, 3350, 9608, 3364, 3308, 3316, 
     7730     3320, 3325,    0, 3337, 3342, 3329,    0, 3338, 3350,    0, 
     7731     3380, 3353, 3360, 3363, 9608, 3365, 3352, 3372, 3373, 3371, 
     7732     3372, 3393, 3402, 3404, 3367,  219, 3382,  577, 3385, 3389, 
     7733     3431, 3410, 3455, 3412, 3437, 3463, 3467, 3471, 1931, 1904, 
     7734     3411, 3414, 3441, 3420, 3417, 3458, 3459, 1900, 3467, 3477, 
     7735 
     7736     3481, 3463, 3483, 3489, 3484, 3488, 3487, 3491,  326, 3495, 
     7737     3493, 3498, 3503, 3496, 3501, 3502, 3499, 3506, 3509, 1873, 
     7738     3505, 3568, 3534, 3581, 3517, 1816, 3539, 3513, 3536, 3541, 
     7739     3562, 3565, 3574, 3583, 3577, 3614, 3586, 3585, 3622, 3631, 
     7740     1809, 3597, 1804, 3590, 3605, 3592, 3607, 3594, 3603, 3608, 
     7741     3616, 3604, 3648, 3660, 1789, 3675, 3609, 3624, 3651, 3618, 
     7742     1755, 3656, 3662, 3666, 1752, 3653, 3667, 1747, 3684, 3671, 
     7743     3680, 3688, 3700, 3712, 3476, 3746, 3705, 3725, 3732, 3689, 
     7744     3725, 3740, 3729, 3819, 3899, 3739, 3733, 3860, 3777, 3810, 
     7745     3793, 3923, 3924, 3928, 3846, 3750, 3928, 3849, 3657, 3481, 
     7746 
     7747        0, 3708,    0, 3756,  532, 3926, 2614, 3853, 9608, 3946, 
     7748     3978, 1711, 3785, 3972, 4032, 9608, 9608, 1710, 9608, 9608, 
     7749     3854, 3872, 3876, 3936, 1721, 4001, 3721, 3729, 3743, 3828, 
     7750     3751, 4112, 3819, 3835,    0, 3829, 3839, 3890, 3895,    0, 
     7751     3895, 3905, 3900, 3935, 4026, 3937, 3948, 3905, 3953, 3963, 
     7752     3897, 4002,    0,    0, 4022, 4021, 4033, 4039, 4034, 3696, 
     7753     4029, 4067, 9608,    0, 4073, 9608, 4036, 9608, 4136, 4137, 
     7754     4154, 4160, 4044, 4047,    0, 4035, 4049, 4036, 4043, 4071, 
     7755     4144, 4038, 4172, 9608, 4089, 4129, 4177, 9608, 4178, 9608, 
     7756     4128, 4139, 4154, 4146, 4156,    0, 4159, 4156,    0, 4148, 
     7757 
     7758     4168, 4167, 3885, 9608, 4196, 9608, 4153, 4158, 4165, 4177, 
     7759     4160, 4177, 4165, 4164, 4166, 4224, 9608,    0,    0, 4005, 
     7760     1172, 4188, 1284, 4196, 4184, 4240, 4226, 4227, 1706, 4207, 
     7761     2022, 4211, 2071, 4210, 4218, 4260, 9608, 4261, 4250, 4243, 
     7762     3880, 3889, 4014, 4019, 4247, 4251, 4255, 4266, 4256, 4323, 
     7763     4302, 4265, 1702, 4312, 4347, 4309, 4314, 1698, 4317, 4346, 
     7764     4351, 4356, 4353, 4355, 1695, 1665, 4357, 4352, 4359, 4361, 
     7765     4358, 4396, 4362, 1658, 4363, 4379, 4367, 1653, 4366, 4375, 
     7766     4365, 4388, 4370, 4437, 4369, 4409, 4421, 4425, 4427, 4440, 
     7767     4405, 4430, 1646, 4443, 4429, 1639, 4445, 4442, 4446, 4447, 
     7768 
     7769     4449, 4444, 4450, 4451, 4454, 4462, 4453, 4459, 1606, 1592, 
     7770     4294, 4297, 4305, 4228, 4533, 2129, 4508, 4512, 4490, 1575, 
     7771     4527, 4467, 4473, 4606, 4686, 4335, 4487, 4493, 4438, 4514, 
     7772     4531, 4766, 4443, 4514, 4522, 4452,    0, 9608,    0,    0, 
     7773      582, 1548, 1545, 4530, 4563, 4573, 1506, 4630, 4631, 4635, 
     7774     4846, 4585, 4010, 4652, 4658, 4659, 1492, 9608, 4598, 4636, 
     7775     4713, 4717, 4556, 4643, 4926, 4238, 4614,    0, 4520, 4608, 
     7776        0, 4606, 4614, 4678, 4535, 4680, 4608, 4758, 4695, 4695, 
     7777        0, 4699, 9608, 9608, 4694, 4692, 4704, 4705, 4735, 4749, 
     7778     4756, 4793, 4798, 9608, 4770, 4758, 4799, 4727, 4872, 4815, 
     7779 
     7780     4592, 1492, 4889, 4905, 4770, 4775, 4776, 4765,    0, 4765, 
     7781     4765, 4873, 9608, 4879, 4776, 4841, 4800, 4834, 4951, 4785, 
     7782     4841, 4845, 4906, 4819, 4916,    0, 4846,    0,    0,    0, 
     7783     4955, 4956, 4960, 4916,    0, 4143, 9608, 4856, 4926, 4863, 
     7784     4962, 1483, 1482, 4935, 4929, 2200, 4944, 4969, 4964, 2295, 
     7785     2810, 4743, 4999, 4984, 5007, 5031, 4953, 5013, 1476, 5002, 
     7786     5014, 1468, 5011, 4987, 5015, 5062, 5018, 5059, 5064, 1465, 
     7787     5066, 5067, 5068, 5061, 5069, 5071, 5073, 5074, 5075, 5077, 
     7788     5078, 5097, 1461, 5079, 5098, 5142, 5083, 5113, 5091, 5099, 
     7789     5154, 5115, 5107, 5110, 5121, 5100, 5109, 1420, 5128, 1411, 
     7790 
     7791     1379, 1364, 5170, 5181, 5184, 5147, 1344, 5191, 5197, 4947, 
     7792     1325, 1324, 5166, 5227, 5307, 5387, 4943, 4954, 5100, 5130, 
     7793        0, 5207, 5221, 5134, 9608,    0, 1315, 1303, 5203, 5212, 
     7794     1279, 5011, 5251, 5254, 5273, 5279, 5280, 1265, 3085, 3091, 
     7795     5334, 5338, 5261, 9608, 5262, 9608,    0, 5319, 5160, 5197, 
     7796     5229,    0, 5231, 5242, 5247,    0, 5238, 5379, 5295, 5304, 
     7797     9608, 5244, 5308, 5325, 5326, 5311, 5358,    0, 5383, 5384, 
     7798     5414, 9608, 5380, 5380, 5420, 5349, 5447, 5380,    0,    0, 
     7799        0, 5389, 5393, 5430, 9608,    0, 5454, 5398, 5401,    0, 
     7800     5459, 9608, 5420, 5435,    0, 5429,    0,    0, 5423, 5471, 
     7801 
     7802     5446, 5478, 9608, 5482, 9608, 5442, 5440, 4096, 5455,  671, 
     7803     1269, 1212, 5443, 4269, 5460,  777, 5475, 5363, 9608, 4662, 
     7804     4752, 1175, 5486, 5463, 5501, 5489, 1170, 5494, 5500, 5487, 
     7805     1166, 5511, 5517, 5506, 5518, 5505, 1162, 5508, 5522, 5523, 
     7806     5529, 5528, 1154, 1128, 1094, 5531, 5533, 1074, 5532, 5537, 
     7807     1053, 5534, 5553, 1031, 5541, 1021, 1017, 5540, 5552, 5566, 
     7808     5367,  990, 5518,  947,  807,    0, 5517,    0, 5534, 5526, 
     7809     5554, 5569, 4903, 5426, 5614, 5617, 5635, 5575,    0, 5547, 
     7810     5575, 5561, 5584,    0, 5580, 5589, 5590, 5592, 5603, 5612, 
     7811     5601, 5616, 5619, 9608, 5618, 5605,    0, 5613,    0,    0, 
     7812 
     7813     5666,    0, 5627, 5658, 5614, 5619,    0,    0, 5618, 5662, 
     7814     5635, 5641, 5629, 5635, 5644, 5663, 5689, 5664,    0, 5665, 
     7815     5695, 5696, 5701, 5705,    0, 5694,  937, 5697, 5701, 5705, 
     7816     5710,  905, 5708, 5712, 5714, 5709, 5711, 5716,  879, 5720, 
     7817      845,  833,  827, 5727, 5741, 5723,  819,  810, 5726, 5769, 
     7818     5737, 5730, 5739, 5796, 5258, 5754, 5691, 5699,    0,    0, 
     7819     5755, 5801,  859, 5790, 5805, 5813, 5817, 5835, 5831, 5745, 
     7820     5780,    0,    0, 5783, 5745,    0, 5791, 5792, 5789, 5798, 
     7821     5801, 5840, 5798, 9608,    0, 5818,    0, 5784, 9608, 5808, 
     7822     5821,    0, 5857, 9608,    0, 5818, 5833, 5834, 9608, 5835, 
     7823 
     7824     5844, 5827,    0, 5863, 5865, 5868,    0, 5866, 5871,  785, 
     7825      774, 5874, 5876,  770, 5877, 5879, 5884,  769, 5880,  764, 
     7826     5882,  755,  747, 5894, 5895, 5897, 3005, 5901,    0, 5844, 
     7827      717,  997, 5946, 1409, 5924, 5919, 5958,  712, 5881, 5953, 
     7828        0,    0, 5864, 5885, 5908, 5918, 5962, 5968, 9608, 9608, 
     7829     5928, 5939, 5941, 5945,    0,    0, 9608, 1348,  655, 5973, 
     7830     5975, 5976, 5980,  698,  686, 5982, 5983, 5985, 5986,  650, 
     7831      627, 5988, 6006, 6020, 6026, 1521,    0, 6038, 6051, 6047, 
     7832     6063, 6067,  623,    0, 5993, 6072, 5953, 5965, 6019, 5949, 
     7833        0, 6029, 6033, 9608, 6055, 6013, 1545, 6072,  603, 6076, 
     7834 
     7835     6081,  597, 6080, 6088, 6109, 6095,  596,  591, 6116, 6137, 
     7836     6095, 6104, 6142, 6154, 6159, 6159, 6171, 6071, 6060, 6067, 
     7837     6083, 6119, 6108, 6130, 6128, 6131,  544, 6175, 6146, 6133, 
     7838     6188, 6195,  519,  477, 6200, 6212, 6225, 6198, 6229, 6231, 
     7839     6243, 6247, 6203, 6260, 6272, 6248, 6276, 9608, 6142, 6186, 
     7840        0, 6191, 6209, 6223, 6234, 6222, 6251,  463, 9608,  462, 
     7841     6265, 6269, 6282, 6288, 6296, 6311, 6307, 6324, 6322, 6328, 
     7842     6340, 6345, 6343, 6357, 6361, 6366, 6278, 9608, 6262, 6269, 
     7843     6268, 6322, 1707,  391, 1795, 6354, 6369, 6378, 6382, 6398, 
     7844     6402, 6420, 6432, 6375, 6445, 6406, 1834, 6353,    0, 6368, 
     7845 
     7846        0, 6393, 6368, 6387,  441,  437, 4827, 6489, 6459, 6471, 
     7847     6467, 6513, 6475, 6414, 9608, 9608, 6428, 6386, 6411, 6463, 
     7848     6517, 6569, 6534, 6494, 6440, 6505, 6380, 6479, 6527, 6546, 
     7849     6550, 6552, 6593, 6554, 6563, 6470, 2353, 6597, 6565, 6531, 
     7850     6488, 6542, 6543, 6622, 6626, 6574, 6630, 6634, 6638,  416, 
     7851     6648, 6652,  405, 6616, 6656, 6660,  370, 6664, 6668,  352, 
     7852      316, 6674, 6678,  212, 6682, 6671,  208, 6686,  201, 6689, 
     7853     6691, 6696, 6700,  178, 6704, 6708,  119,  115, 6712,   83, 
     7854     6716, 9608, 6762, 6780, 6798, 6816, 6834, 6852, 6869, 6873, 
     7855     6891, 6909, 6927, 6945, 6961, 6979, 6997, 7015, 7033, 7051, 
     7856 
     7857     7069, 7086, 7103, 7108,   84, 7126, 7144, 7162, 7180, 7198, 
     7858     7216, 7234, 7252, 7270, 7288, 7306, 7324, 7342, 7360, 7378, 
     7859     7396, 7413, 7429, 7434, 7451, 7469, 7487, 7505, 7510, 7528, 
     7860     7541, 7556, 7574, 7592, 7610, 7628, 7646, 7664, 7682, 7700, 
     7861     7716, 7734, 7752, 7770, 7788, 7806, 7824, 7842, 7860, 7877, 
     7862     7893, 7910, 7928, 7946, 7964, 7982, 7987, 8005, 8023, 8041, 
     7863     8059, 8077, 8095, 8113, 8131, 8149, 8167, 8185, 8203, 8221, 
     7864     8239, 8257, 8275, 8293, 8310, 8315, 8331, 8348, 8366, 8384, 
     7865     8402, 8420, 8438, 8456, 8474, 8492, 8510, 8528, 8546, 8564, 
     7866     8582, 8600, 8618, 8636, 8654, 8672, 8690, 8708, 8726, 8744, 
     7867 
     7868     8762, 8779, 8797, 8814, 8830, 8835, 8852, 8870, 8888, 8906, 
     7869     8924, 8942, 8960, 8978, 8996, 9013, 9030, 9048, 9066, 9084, 
     7870     9102, 9120, 9138, 9156, 9173, 9190, 9206, 9211, 9227, 9243, 
     7871     9260, 9265, 9283, 9301, 9319, 9337, 9355, 9373, 9391, 9409, 
     7872     9427, 9445, 9463, 9481, 9499, 9517, 9535, 9553, 9571, 9589 
    67917873    } ; 
    67927874 
    6793 static yyconst flex_int16_t yy_def[1171] = 
     7875static yyconst flex_int16_t yy_def[2051] = 
    67947876    {   0, 
    6795      1131,    1, 1132, 1132,    1,    2, 1133, 1133,    1,    2, 
    6796         1,    2, 1131, 1131, 1131, 1131, 1134, 1135, 1131, 1131, 
    6797      1136, 1137, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    6798      1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 
    6799      1138, 1138, 1138, 1138, 1138,   40, 1138, 1138, 1138, 1138, 
    6800      1138, 1138, 1138, 1138, 1131, 1131,   55, 1139, 1131,   37, 
    6801      1138, 1138, 1138, 1138, 1138, 1131, 1140, 1131, 1140, 1140, 
    6802      1140, 1141, 1131, 1131, 1131, 1131, 1131, 1131, 1134, 1134, 
    6803      1134, 1135, 1131, 1135, 1135, 1136, 1131, 1136, 1136, 1137, 
    6804      1142, 1137, 1131, 1137, 1137, 1131, 1131, 1131, 1143, 1131, 
    6805  
    6806      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1144,   29, 1131, 
    6807      1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     7877     1882,    1, 1883, 1883,    1,    1, 1884, 1884, 1885, 1885, 
     7878     1883, 1883, 1882,   13,    1,    1, 1882, 1882, 1882, 1882, 
     7879     1886, 1887, 1882, 1882, 1882, 1888, 1889, 1882, 1882, 1882, 
     7880     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1890, 1890, 
     7881     1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 
     7882     1890, 1890,   51, 1890, 1890, 1890, 1890, 1890, 1890, 1882, 
     7883     1882, 1891,   41, 1890, 1890, 1890, 1890, 1882, 1892, 1882, 
     7884     1892, 1893, 1882, 1893, 1893, 1882, 1882, 1894, 1882, 1895, 
     7885     1895, 1895, 1895,   83,   83,   83, 1895, 1895,   83,   83, 
     7886       83,   83, 1895,   92,   83,   83, 1895,   93, 1895, 1895, 
     7887 
     7888     1882,   60, 1896,   33, 1882,   83,   83,   88,   82,   60, 
     7889       33, 1882, 1882, 1882, 1897, 1897, 1897, 1898, 1882, 1898, 
     7890     1898, 1882, 1899, 1900, 1901, 1900, 1882, 1900, 1900, 1902, 
     7891     1902, 1882, 1902, 1902, 1902, 1882, 1882, 1882, 1882, 1882, 
     7892     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     7893     1882, 1903, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1904, 
     7894     1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 
     7895     1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 
     7896     1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 
     7897     1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 
     7898 
     7899     1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 
     7900     1904, 1904, 1904, 1904, 1904, 1904, 1904, 1905,   60, 1882, 
     7901     1906, 1882, 1882, 1882, 1882, 1882, 1882, 1907, 1882, 1907, 
     7902     1907, 1907, 1882, 1904, 1904, 1904, 1904, 1904, 1904, 1908, 
     7903     1882, 1908, 1909, 1882, 1909, 1909, 1909, 1882, 1910, 1882, 
     7904     1882, 1882, 1882, 1911, 1912, 1882,   88,   88,  258,  258, 
     7905      258,  258,  258,  258,  258,  258,  258,  258,  258,  258, 
     7906      258,  258,  258,  258,  258,  258,  258,  258,  258,  258, 
     7907      258,  258,  258,  258,  258,  258,  258,  258,  258,  258, 
     7908      258,  258,  258,  258,  258,  258,  258,  258,  258,  258, 
     7909 
     7910      258,  258,  258,  258,  258,  258,  258,  258,  258,  258, 
     7911      258,  258,  258,  258, 1882, 1882, 1882, 1913,  219,  319, 
     7912     1882, 1914, 1882, 1914, 1914, 1914, 1882, 1882, 1882, 1882, 
     7913     1914, 1915, 1915,  333,  333,  333,  333,  333,  333,  258, 
     7914      258,  258,  258,  219, 1882, 1882, 1882, 1882, 1882, 1882, 
     7915     1916, 1916, 1917, 1917, 1917, 1918, 1919, 1919, 1919, 1919, 
     7916     1882, 1920, 1921, 1921, 1882, 1922, 1882, 1923, 1924, 1923, 
     7917     1923, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     7918     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1925, 1926, 1882, 
     7919     1882, 1927, 1882, 1928, 1882, 1882, 1929, 1929, 1929, 1929, 
     7920 
     7921     1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 
     7922     1929, 1929, 1882, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 
     7923     1929, 1929, 1929, 1929, 1929, 1929, 1929, 1882, 1929, 1882, 
     7924     1930, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 
     7925     1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 
     7926     1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 
     7927     1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 
     7928     1929, 1929, 1929, 1929, 1929, 1929, 1929, 1931, 1882, 1932, 
     7929     1882, 1882, 1882, 1882, 1882, 1882, 1933, 1933, 1933, 1882, 
     7930     1929, 1929, 1929, 1929, 1929, 1929, 1934, 1935, 1936, 1882, 
     7931 
     7932     1882, 1937, 1938, 1882, 1882, 1882, 1939, 1940, 1941, 1941, 
     7933     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7934     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7935     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7936     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7937     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7938     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7939     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7940     1941, 1941, 1941, 1941, 1941, 1882, 1882, 1942, 1882, 1882, 
     7941     1882,  590, 1882, 1882, 1943, 1943, 1882, 1882, 1882, 1943, 
     7942 
     7943     1944, 1944,  602,  602,  602,  602,  602,  602,  602, 1941, 
     7944     1941, 1941, 1941, 1882, 1882, 1882, 1882, 1945, 1945, 1946, 
     7945     1946, 1947, 1948, 1949, 1948, 1948, 1950, 1950, 1950, 1882, 
     7946     1882, 1951, 1952, 1952, 1882, 1882, 1882, 1882, 1882, 1882, 
     7947     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     7948     1882, 1882, 1882, 1882, 1953, 1954, 1882, 1882, 1882, 1955, 
     7949     1956, 1882, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 
     7950     1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 
     7951     1882, 1957, 1957, 1957, 1882, 1882, 1957, 1957, 1957, 1957, 
     7952     1957, 1882, 1882, 1957, 1882, 1882, 1957, 1957, 1957, 1957, 
     7953 
     7954     1957, 1957, 1882, 1882, 1957, 1957, 1882, 1957, 1958, 1959, 
     7955     1960, 1958, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 
     7956     1957, 1957, 1882, 1882, 1957, 1957, 1957, 1957, 1882, 1882, 
     7957     1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 
     7958     1957, 1957, 1957, 1957, 1957, 1882, 1882, 1957, 1957, 1957, 
     7959     1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 
     7960     1957, 1957, 1957, 1957, 1882, 1882, 1882, 1882, 1882, 1882, 
     7961     1882, 1961, 1961, 1961, 1882, 1957, 1957, 1957, 1957, 1957, 
     7962     1957, 1962, 1963, 1963, 1882, 1882, 1882, 1882, 1964, 1965, 
     7963     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7964 
     7965     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7966     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7967     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7968     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7969     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7970     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7971     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7972     1941, 1941, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1966, 
     7973     1966, 1882, 1966, 1967, 1967,  885,  885,  885,  885,  885, 
     7974      885,  885,  885,  885, 1941, 1941, 1941, 1941, 1882, 1882, 
     7975 
     7976     1968, 1969, 1970, 1971, 1972, 1973, 1974, 1882, 1882, 1882, 
     7977     1975, 1976, 1977, 1978, 1979, 1882, 1882, 1882, 1882, 1882, 
     7978     1882, 1882, 1882, 1882, 1980, 1882, 1957, 1957, 1957, 1957, 
     7979     1957, 1981, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 
     7980     1957, 1957, 1957, 1957, 1882, 1957, 1957, 1882, 1882, 1882, 
     7981     1882, 1882, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 
     7982     1957, 1882, 1882, 1957, 1882, 1882, 1957, 1882, 1982, 1983, 
     7983     1984, 1985, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 
     7984     1957, 1957, 1882, 1882, 1957, 1957, 1882, 1882, 1882, 1882, 
     7985     1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 
     7986 
     7987     1957, 1957, 1882, 1882, 1882, 1882, 1957, 1957, 1957, 1957, 
     7988     1957, 1957, 1957, 1957, 1957, 1882, 1882, 1957, 1957, 1957, 
     7989     1882, 1882, 1882, 1882, 1882, 1882, 1986, 1986, 1987, 1882, 
     7990     1882, 1957, 1882, 1957, 1957, 1882, 1882, 1882, 1988, 1989, 
     7991     1882, 1882, 1882, 1882, 1941, 1941, 1941, 1941, 1941, 1990, 
     7992     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7993     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7994     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7995     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7996     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7997 
     7998     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     7999     1941, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1991, 1992, 
     8000     1882, 1991, 1991, 1993, 1993, 1125, 1125, 1125, 1125, 1125, 
     8001     1125, 1994, 1125, 1941, 1941, 1882, 1995, 1882, 1996, 1997, 
     8002     1998, 1999, 1882, 2000, 2001, 2001, 1882, 1882, 1882, 2002, 
     8003     2003, 1882, 2004, 1882, 2005, 2005, 2006, 1882, 1882, 1882, 
     8004     1882, 1882, 1957, 1957, 2007, 1957, 1957, 1957, 1957, 1957, 
     8005     1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1882, 1882, 
     8006     1957, 1957, 1882, 1882, 1882, 1882, 1882, 1957, 1957, 1957, 
     8007     1957, 1957, 1882, 1882, 1957, 1957, 2008, 2008, 2009, 2010, 
     8008 
     8009     2011, 2010, 2011, 2011, 1957, 1957, 1957, 1957, 1957, 1957, 
     8010     1957, 1882, 1882, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 
     8011     1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 
     8012     1957, 1957, 1957, 1957, 1957, 1882, 1882, 1882, 1882, 1882, 
     8013     2012, 2013, 2012, 1882, 1957, 1957, 1957, 2014, 2015, 1882, 
     8014     2016, 1882, 1882, 1941, 1941, 2017, 1941, 1941, 1941, 1941, 
     8015     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8016     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8017     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8018     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8019 
     8020     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1882, 2016, 1882, 
     8021     2018, 2019, 2019, 2020, 2021, 2021, 1316, 1316, 1316, 1316, 
     8022     1316, 1941, 1941, 1882, 1882, 2022, 2023, 1882, 2024, 2024, 
     8023     1882, 2025, 1882, 2026, 1882, 2027, 2027, 2028, 1882, 2029, 
     8024     1882, 1882, 1882, 1882, 1882, 1882, 1957, 1957, 1957, 1957, 
     8025     1957, 1957, 1957, 1957, 1957, 1957, 1957, 1882, 1957, 1957, 
     8026     1882, 1882, 1957, 1882, 1882, 1882, 1957, 1957, 1957, 1957, 
     8027     1882, 1882, 1957, 1957, 2010, 2010, 2011, 1957, 1957, 1957, 
     8028     1957, 1957, 1957, 1882, 1882, 1957, 1882, 1957, 1957, 1957, 
     8029     1882, 1882, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1882, 
     8030 
     8031     1957, 1882, 1882, 1882, 1882, 1957, 1882, 1882, 1882, 2012, 
     8032     2012, 1882, 1957, 1882, 1957, 2014, 2015, 1882, 1882, 1882, 
     8033     2030, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8034     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8035     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8036     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8037     1882, 2031, 1882, 2019, 2019, 1316, 1316, 1316, 1316, 1316, 
     8038     1316, 1941, 1882, 1882, 1882, 1882, 2029, 1957, 1957, 1957, 
     8039     1957, 1957, 1957, 1957, 1957, 1957, 1882, 1882, 1957, 1957, 
     8040     1882, 1957, 1882, 1882, 1882, 1957, 1957, 1957, 1957, 1957, 
     8041 
     8042     2010, 1957, 1957, 1957, 1882, 1957, 1957, 1957, 1957, 1957, 
     8043     1957, 1882, 1957, 1957, 1882, 1882, 2012, 1882, 1957, 1957, 
     8044     2014, 2015, 1882, 1882, 2032, 1941, 1941, 1941, 1941, 1941, 
     8045     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8046     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8047     1941, 1941, 1941, 1882, 1882, 2019, 1316, 1316, 1316, 1316, 
     8048     1941, 1882, 2033, 1882, 1882, 1882, 2034, 1882, 1882, 1957, 
     8049     1957, 1957, 1957, 1957, 1957, 1957, 1882, 1882, 1957, 1957, 
     8050     1882, 1957, 1882, 1882, 1957, 1957, 1957, 1882, 1882, 1882, 
     8051     1957, 1957, 1882, 1882, 1957, 1882, 1957, 1957, 1882, 1882, 
     8052 
     8053     2012, 1882, 1957, 2014, 2015, 1882, 2032, 1941, 1941, 1941, 
     8054     1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8055     1941, 1941, 1941, 1941, 1941, 1882, 2035, 2019, 1316, 1316, 
     8056     1941, 2033, 2033, 2033, 1882, 2034, 2034, 2034, 1957, 1957, 
     8057     1957, 1957, 1882, 1882, 1957, 1957, 1882, 1882, 1882, 1882, 
     8058     1957, 1882, 1957, 1882, 1957, 1957, 1882, 2012, 1882, 2014, 
     8059     2015, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 
     8060     1941, 2035, 1882, 2035, 2035, 2019, 1316, 2033, 2033, 2036, 
     8061     2034, 1882, 2034, 1957, 1882, 1882, 1882, 1882, 1957, 1957, 
     8062     1957, 1882, 1957, 1882, 2012, 1882, 2014, 2015, 1941, 1941, 
     8063 
     8064     1941, 1941, 1941, 1882, 1882, 1882, 2037, 2038, 2035, 2035, 
     8065     2039, 2019, 2036, 2036, 2036, 1882, 1882, 1882, 1882, 1957, 
     8066     1957, 1882, 1957, 2012, 1882, 2014, 2040, 1941, 1941, 1941, 
     8067     1882, 1882, 2037, 2038, 2035, 2035, 2035, 2041, 2042, 2039, 
     8068     2039, 2039, 2019, 2036, 2033, 2036, 1882, 1882, 1882, 1882, 
     8069     1957, 1957, 1882, 1957, 2012, 1882, 2014, 2040, 1882, 1941, 
     8070     1941, 1941, 1882, 1882, 2035, 2035, 2041, 2041, 2041, 2042, 
     8071     1882, 2042, 2042, 2039, 2035, 2039, 2019, 1882, 1882, 1957, 
     8072     1882, 1957, 2012, 1882, 2014, 1941, 1941, 1882, 1882, 2035, 
     8073     2035, 2041, 2035, 2041, 2042, 2043, 2019, 1882, 1957, 1882, 
     8074 
     8075     1957, 2012, 1882, 2014, 1941, 1941, 1882, 2035, 2035, 2035, 
     8076     2043, 2043, 2043, 2019, 1882, 1882, 2012, 1882, 2014, 1882, 
     8077     2035, 2044, 2043, 2043, 2019, 2012, 1882, 2014, 1882, 2035, 
     8078     2039, 2035, 2035, 2019, 2012, 1882, 2014, 2035, 2019, 2012, 
     8079     1882, 2014, 2019, 2012, 1882, 2014, 2019, 2012, 1882, 2045, 
     8080     1882, 1882, 2046, 2014, 2019, 1882, 2047, 1882, 1882, 2048, 
     8081     2045, 1882, 1882, 2046, 1882, 2014, 2047, 1882, 2048, 2014, 
     8082     2014, 2014, 1882, 2049, 1882, 1882, 2050, 2049, 1882, 2050, 
     8083     1882,    0, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8084     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8085 
     8086     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8087     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8088     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8089     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8090     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8091     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8092     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8093     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8094     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8095     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8096 
     8097     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8098     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8099     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8100     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8101     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882 
     8102    } ; 
     8103 
     8104static yyconst flex_int16_t yy_nxt[9689] = 
     8105    {   0, 
     8106       18,   19,   20,   19,   21,   22,   18,   23,   24,   25, 
     8107       26,   27,   28,   29,   28,   30,   28,   31,   32,   33, 
     8108       34,   35,   36,   37,   38,   39,   40,   41,   42,   43, 
     8109       44,   45,   46,   47,   46,   48,   49,   50,   51,   52, 
     8110       53,   46,   54,   55,   56,   57,   46,   58,   46,   46, 
     8111       59,   28,   28,   28,   39,   40,   41,   42,   43,   44, 
     8112       45,   46,   47,   48,   49,   50,   51,   52,   53,   46, 
     8113       54,   55,   56,   57,   46,   58,   46,   46,   59,   18, 
     8114       60,   61,   60,   62,   70, 1881,   71,   74,   73,   74, 
     8115       76,   77,   76,   76,   77,   76,  241,  478,  478,   78, 
     8116 
     8117      112,  242,   78,  114,  244,  114,   63,   64,  116,   71, 
     8118       65,  248,   66,  248,  113,   75,  112, 1879,  119,  340, 
     8119      112, 1881,  117,   67,  227,  220,  227,  221,  342,  112, 
     8120      113,  114,  112,  114,  113,   63,   64,  116,   71,   65, 
     8121      247,   66,  113,  120,   75,  112,  113,  592,  340,  112, 
     8122      117,   67,   60,   61,   60,   62,  342,  121,  113,  112, 
     8123      136,  112,  113,  593,  311,  155,  257,  112,  247,  312, 
     8124      350,  257,  120,  113,  113,  112,  112,  112,   63,   64, 
     8125     1879,  113,   65,  257,   66,  121,  349,  257,  112,  113, 
     8126      113,  113,  311,  283,  257,   67,  112,  312,  350,  257, 
     8127 
     8128      248,  113,  248, 1862,  112,  112,  112,   63,   64,  113, 
     8129     1868,   65,  257,   66, 1865,  349,  257,  113,  113,  113, 
     8130     1031,  283, 1031,   67,   18,   19,   79,   19,   21,   22, 
     8131       18,   23,   24,   25,   26,   27,   28,   29,   28,   30, 
     8132       28,   31,   32,   33,   34,   35,   36,   37,   38,   80, 
     8133       81,   82,   83,   84,   85,   86,   87,   88,   87,   89, 
     8134       90,   91,   92,   93,   94,   87,   95,   96,   97,   98, 
     8135       87,   99,   87,   87,  100,   28,   28,   28,   80,   81, 
     8136       82,   83,   84,   85,   86,   87,   88,   89,   90,   91, 
     8137       92,   93,   94,   87,   95,   96,   97,   98,   87,   99, 
     8138 
     8139       87,   87,  100,   18,   60,  101,  102,   62,  156,  122, 
     8140      122,  122,  123,  125,  351,  112,  103,  319, 1862,  320, 
     8141      126,  127,  104,  352,  399,  157,  158,  119,  256,  113, 
     8142      105,  106,  112,  876,  107,  321,  108,  395,  112,  395, 
     8143      375,  128,  396,  351,  112,  809,  113,  109,  327,  877, 
     8144      328,  352,  113,  399, 1862,  129,  130,  113,  130,  105, 
     8145      106,  112,  376,  107,  355,  108,  329,  112,  375,  131, 
     8146      128,  131, 1868,  132,  113,  109,  110,   61,  110,   62, 
     8147      113,  166,  162,  129,  159,  134,  162,  146,  147,  146, 
     8148      376,  112,  355,  403,  111,  148,  165,  383,  149,  135, 
     8149 
     8150      165,  384,   63,   64,  150,  113,   65, 1865,   66,  151, 
     8151      166,  162,  162,  257,  134,  162,  112,  288, 1862,   67, 
     8152      112,  186,  403,  257,  165,  383,  165,  135,  165,  384, 
     8153      113,   63,   64,  113,  344,   65,  344,   66,  346,  256, 
     8154      346,  162,  257,  256, 1803,  112,  288,   67,  137,  186, 
     8155      137,  257,  345,  119,  165,  218,  347,  152,  113,  153, 
     8156      122,  122,  122,  123,  256, 1759,  138,  348,  154,  154, 
     8157      112,  161,  139,  354,  162,  162,  140,  112,  141, 1705, 
     8158      163,  154,  400,  142,  113,  143,  144,  164,  165,  165, 
     8159      401,  113,  245,  244,  245,  145,  348,  154,  154,  112, 
     8160 
     8161      161,  139,  354,  162,  162,  140,  112,  141,  163,  154, 
     8162      400,  142,  113,  143,  144,  164,  165,  165,  401,  113, 
     8163      246, 1705,  402,  145,  167,  162,  172,  162,  191,  162, 
     8164      173,  168,  192,  162,  118,  169,  174, 1143,  170,  165, 
     8165      229,  165,  193,  165,  125,  230, 1759,  165,  171,  246, 
     8166      402,  126,  127,  167,  162,  172,  162,  191,  162,  173, 
     8167      168,  192,  162,  169,  174,  187,  170,  165,  231,  165, 
     8168      193,  165,  188,  189,  190,  165,  171,  162, 1033,  165, 
     8169     1033,  404,  232,  175,  118,  176,  177, 1328,  178,  179, 
     8170      233,  165,  406, 1705,  187,  180,  125,  231, 1705,  256, 
     8171 
     8172      188,  189,  190,  126,  127,  256,  162,  165,  234,  404, 
     8173      232,  175,  162,  176,  177,  405,  178,  179,  412,  165, 
     8174      406,  194,  235,  180,  162,  662,  165,  181,  125,  256, 
     8175      182,  183,  130,  184,  130,  126,  127,  234,  165,  185, 
     8176      409,  162,  417,  195,  405,  131,  412,  131,  162,  194, 
     8177      235,  363,  256,  162,  165,  196,  181,  197,  182,  183, 
     8178      162,  184,  165,  198,  202,  397,  165,  185,  199,  409, 
     8179      200,  417,  195,  229,  165,  201,  160,  162,  203,  416, 
     8180      363,  204,  398,  196,  205,  197,  206,  162,  256,  162, 
     8181      165,  198,  212,  202,  397,  418,  199,  162,  200,  213, 
     8182 
     8183      256,  165,  165,  201,  160,  377,  203,  416, 1696,  204, 
     8184      398,  165,  205,  207,  662,  206,  162,  208,  162,  256, 
     8185      378,  212,  162,  418, 1517,  419,  162,  209,  213,  165, 
     8186      214,  256,  210,  211,  377,  215,  165,  125,  162,  165, 
     8187      216, 1882,  207, 1882,  126,  127,  208,  162,  378,  256, 
     8188      217,  162,  165,  419, 1882,  209, 1882,  256,  214,  259, 
     8189      210,  211,  442,  215,  165,  381,  256,  162,  420,  216, 
     8190      423,  256,  256,  262,  256,  382,  256,  364,  217,  241, 
     8191      165,  219,  220,  219,  221,  236,  162,  256,  259,  172, 
     8192      162,  442,  237,  173,  381,  186,  420,  263,  423,  174, 
     8193 
     8194      165,  262,  259,  382,  165,  364,  424,  222,  223,  323, 
     8195      112,  224,  256,  225,  236,  162,  262,  459,  172,  162, 
     8196      237,  256,  173,  186,  226,  425,  263,  174,  165,  256, 
     8197     1521,  259,  165,  426,  424,  256,  222,  223,  212,  112, 
     8198      224,  187,  225,  162,  262,  213,  459,  256,  188,  238, 
     8199      190,  470,  226,  425,  256,  165,  256,  165,  407,  408, 
     8200     1556,  426,  239,  251,  252,  253,  254,  212, 1633,  427, 
     8201      187, 1634,  162,  256,  213,  255,  188,  238,  190,  258, 
     8202      470,  256,  259,  165,  284,  165,  407,  408,  260,  255, 
     8203      239,  285,  286,  287,  432,  261,  262,  427,  262,  289, 
     8204 
     8205      269,  259,  257,  257,  270,  472,  257,  256,  258,  290, 
     8206      271,  259,  291,  284,  440,  262,  260,  441,  255,  285, 
     8207      286,  287,  432,  261,  262,  256,  262,  473,  289,  269, 
     8208      259,  257,  257,  270,  472,  257,  445,  290,  271,  256, 
     8209      291,  446,  440,  262,  474,  441,  379,  410,  264,  323, 
     8210      257,  299,  411,  259,  278,  265,  473,  279,  280,  266, 
     8211      281,  380,  267,  257,  445,  300,  282,  262,  301,  446, 
     8212      256,  302,  268,  474,  413,  379,  410,  264,  218,  257, 
     8213      299,  411,  259,  278,  265,  279,  280,  266,  281,  380, 
     8214      267,  257,  229,  300,  282,  262,  301,  477,  259,  302, 
     8215 
     8216      268,  257,  428,  483,  428,  257, 1633,  447,  272, 1634, 
     8217      273,  274,  262,  275,  276,  414,  415,  292,  303,  256, 
     8218      277,  257,  257,  256,  256,  257,  477,  259,  257,  293, 
     8219      257,  294,  483,  256,  257,  447,  272,  295,  273,  274, 
     8220      262,  275,  276,  414,  415,  429,  292,  303,  277,  448, 
     8221      257,  257,  259,  443,  257,  256,  257,  293,  323,  294, 
     8222      296,  444,  297,  449,  304,  295,  262,  298,  305,  324, 
     8223      138,  452,  257,  429,  256,  256,  256,  448,  306,  374, 
     8224      374,  259,  443,  307,  308,  692,  325,  692,  296,  444, 
     8225      297,  449,  374,  304,  262,  298,  256,  305,  309,  452, 
     8226 
     8227      326,  257,  259,  259,  313,  310,  306,  693,  374,  374, 
     8228      453,  307,  308,  454,  314,  325,  262,  262,  421,  500, 
     8229      374,  500,  254,  315,  316,  317,  318,  309,  326,  422, 
     8230      256,  259,  259,  313,  310,  255,  257,  490,  453,  465, 
     8231      257,  454,  314,  341,  262,  262,  283,  421,  466,  255, 
     8232      358,  359,  358,  146,  147,  146,  256,  422,  360,  361, 
     8233      500,  148,  501,  254,  256,  257,  490,  465,  256,  257, 
     8234      150,  341,  256, 1031,  283, 1031,  466,  256,  255,  322, 
     8235      322,  330,  322,  322,  322,  322,  331,  322,  322,  322, 
     8236      322,  322,  322,  322,  322,  322,  322,  322,  332,  322, 
     8237 
     8238      322,  322,  322,  322,  333,  332,  332,  332,  332,  334, 
     8239      332,  335,  332,  332,  332,  336,  332,  332,  337,  332, 
     8240      332,  332,  332,  338,  332,  332,  332,  332,  339,  332, 
     8241      322,  322,  332,  333,  332,  332,  332,  332,  334,  332, 
     8242      335,  332,  332,  336,  332,  332,  337,  332,  332,  332, 
     8243      332,  338,  332,  332,  332,  332,  339,  332,  322,  309, 
     8244      359,  365,  430,  365,  430, 1518,  310,  622,  361,  467, 
     8245      257,  229,  431,  257, 1882,  366, 1882,  367,  365,  368, 
     8246      365,  471,  484,  343,  631, 1033,  399, 1033,  309,  362, 
     8247      394, 1882,  366, 1882,  367,  310,  368,  467,  257,  154, 
     8248 
     8249      154,  257,  370,  365,  137,  365,  137,  244,  353,  471, 
     8250      484,  343,  154,  369,  485,  399, 1882,  366, 1882,  367, 
     8251      119,  368,  385,  386,  387,  388,  323,  323,  154,  154, 
     8252      369,  370,  372,  498,  389,  390,  391,  390,  392,  457, 
     8253      154,  373,  485,  148,  371,  458,  256,  152,  389,  153, 
     8254      229,  145,  150,  433,  455,  369,  437,  438,  154,  154, 
     8255      450,  372,  498,  439,  456,  434,  256,  435,  457,  373, 
     8256      436,  154,  371,  458,  229,  451,  636,  389,  460,  145, 
     8257      461,  256,  433,  455,  437,  438,  475,  154,  154,  450, 
     8258      476,  439,  456,  434,  468,  435,  462,  463,  436,  154, 
     8259 
     8260      464, 1695, 1882,  451,  229,  636,  229,  460,  469,  461, 
     8261      350,  402,  481,  256,  489,  475,  479,  486, 1633,  476, 
     8262      241, 1634,  256,  468,  462,  463,  482,  487,  464,  488, 
     8263      244, 1882,  227,  220,  227,  221,  469,  493,  350,  402, 
     8264      494,  481,  489,  497,  479,  486,  227,  220,  227,  221, 
     8265      227,  220,  227,  221,  482,  404,  487,  433,  488,  407, 
     8266      492,  496,  491,  256,  616,  493,  247,  256,  494,  434, 
     8267      256,  435,  497,  617,  495,  245,  244,  245,  256,  251, 
     8268      252,  253,  254,  404,  229,  229,  433,  407,  492,  496, 
     8269      491,  255,  616,  511,  247,  257,  590,  434,  590,  435, 
     8270 
     8271      515,  617,  495,  246, 1375,  255,  257,  504,  505,  506, 
     8272      507,  631,  257,  257,  257,  257,  362,  257,  323,  508, 
     8273      257,  618,  511,  323,  257,  591,  119,  509,  323,  515, 
     8274      257,  639,  246,  508,  255,  257,  619,  257,  257,  257, 
     8275      257,  257,  257,  257,  510,  257,  257,  241,  257,  618, 
     8276      353,  595,  257,  119,  591,  512,  509,  620,  596,  257, 
     8277      639,  257,  508,  257,  619,  257,  257,  257,  513,  257, 
     8278      257,  327,  510,  594, 1712,  257,  514,  323,  257,  516, 
     8279      595,  257,  517,  512,  257,  620,  596,  257,  257,  593, 
     8280      257,  257,  257,  521,  256,  323,  513,  257, 1726,  257, 
     8281 
     8282      518,  257,  519,  520,  514,  257,  257,  516,  256,  257, 
     8283      257,  517,  359,  257,  119,  257,  413,  257,  600,  622, 
     8284      361,  257,  521,  586,  220,  586,  318,  257,  518,  257, 
     8285      519,  520,  257,  257,  522,  257,  257,  257,  257,  523, 
     8286      257,  256,  524,  527,  257,  257,  528,  600,  256,  257, 
     8287      529,  635,  257,  257,  621,  256,  257,  525,  526,  349, 
     8288      256,  257,  257,  522,  257,  257,  257,  256,  523,  257, 
     8289      524,  527,  257,  615,  257,  528,  257,  257,  529,  635, 
     8290      257,  257,  621,  257,  530,  525,  526,  650,  349,  257, 
     8291      257,  531,  344,  257,  344,  257,  257,  256,  534,  257, 
     8292 
     8293      256,  615,  532,  257,  256,  257,  257,  257,  229,  229, 
     8294      345,  257,  530,  533,  652,  650,  257,  535,  257,  531, 
     8295      536,  257,  537,  926,  257,  257,  534, 1158,  257,  257, 
     8296     1149,  532,  257,  428,  257,  428,  257,  430,  257,  430, 
     8297      538,  533,  652,  665,  257,  535,  257,  431,  536,  256, 
     8298      537,  540,  257,  666,  256,  257,  257,  256,  257,  257, 
     8299     1802,  511,  627,  257,  627,  545,  546,  257,  538,  257, 
     8300      541,  665,  547,  257,  257,  628,  539,  628,  257,  540, 
     8301      257,  666,  542,  257,  543,  257,  560,  544,  257,  548, 
     8302      511,  256,  257,  545,  546,  257,  668,  241,  257,  541, 
     8303 
     8304      547,  257,  257,  663,  539,  257,  256,  257,  257,  550, 
     8305      542,  256,  543,  549,  560,  544,  257,  548,  256,  257, 
     8306      257,  359,  257,  257,  668,  554,  257,  551,  622,  361, 
     8307      553,  257,  663,  257,  257,  552,  323,  257,  550,  332, 
     8308      257,  549,  605,  257,  669,  257,  332,  257, 1804,  257, 
     8309      257,  555,  365,  554,  365,  257,  551,  257,  553,  257, 
     8310      257,  257,  558,  552,  257,  257,  366,  332,  556,  257, 
     8311      605,  257,  669,  557,  332,  256,  257,  559,  257,  555, 
     8312      670,  257,  257,  664,  563,  257,  257, 1814,  257,  257, 
     8313      667,  558,  565,  257,  564,  257,  556,  561,  566,  257, 
     8314 
     8315      562,  557,  256,  257,  257,  559,  505,  257,  670,  257, 
     8316      671,  257,  664,  563,  672,  257,  567,  257,  568,  667, 
     8317      569,  565,  564,  257,  257,  561,  566,  257,  562,  679, 
     8318      637,  257,  637,  505,  257,  638,  570,  571,  671,  970, 
     8319      572,  257,  672,  573,  969,  567,  257,  568,  680,  569, 
     8320      257,  682,  327,  257,  878,  257,  578,  257,  679,  574, 
     8321      683,  576,  257,  257,  570,  571,  681,  257,  572,  257, 
     8322      877,  573,  257,  575,  257,  577,  257,  680,  514,  257, 
     8323      257,  257,  257,  580,  257,  578,  257,  574,  581,  683, 
     8324      576,  579,  257,  257,  653,  257,  653,  388,  257,  257, 
     8325 
     8326      257,  575,  257,  577,  662,  257,  514,  257,  257,  582, 
     8327      257,  257,  580,  597,  257,  597,  583,  581,  684,  579, 
     8328      584,  257,  257, 1031,  257, 1031,  257,  257,  585,  926, 
     8329      386,  257,  315,  316,  317,  318,  257,  677,  582,  257, 
     8330      386,  678,  591,  257,  255,  583,  597,  684,  598,  584, 
     8331      702,  257,  257,  586,  220,  587,  318,  585,  255,  257, 
     8332      920,  327,  705,  594,  593,  677,  919,  257,  346,  678, 
     8333      346,  591, 1033,  603, 1033,  591,  694,  152,  702,  599, 
     8334      504,  505,  506,  507,  332,  604,  345,  255,  154,  154, 
     8335      705,  332,  508,  332,  606,  607,  332,  614,  917,  916, 
     8336 
     8337      332,  154,  603,  332,  591,  694,  508,  358,  359,  358, 
     8338      638,  365,  332,  365,  604,  360,  361,  154,  154,  332, 
     8339      638,  332,  606,  607,  332,  366,  614,  332,  332,  154, 
     8340      327,  332,  327,  608,  332,  508,  322,  322,  330,  322, 
     8341      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     8342      322,  322,  322,  322,  322,  332,  322,  322,  322,  322, 
     8343      322,  608,  332,  609,  257,  257,  541,  358,  359,  358, 
     8344      700,  653,  332,  654,  388,  360,  361,  611,  542,  332, 
     8345      543,  610,  257,  612,  346,  701,  346,  322,  322,  125, 
     8346      127,  589,  609,  257,  257,  541,  126,  127,  256,  700, 
     8347 
     8348      332, 1414,  430, 1414,  430,  611,  542,  332,  543,  610, 
     8349      257,  612,  431,  614,  701,  322,  322,  322,  330,  322, 
     8350      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     8351      322,  322,  322,  322,  322,  706,  322,  322,  322,  322, 
     8352      322,  257,  614,  125,  346,  256,  346,  365,  125,  365, 
     8353      126,  127,  601,  505,  613,  126,  127,  708,  257,  602, 
     8354      152,  366,  347,  367,  706,  630,  673,  322,  322,  674, 
     8355      257,  154,  154,  614,  365,  505,  365,  625,  252,  252, 
     8356      601,  703,  613,  703,  154,  708,  257,  602,  366,  713, 
     8357      367,  626,  368,  250,  673,  322, 1418,  674, 1418,  369, 
     8358 
     8359      154,  154,  614,  704,  365,  625,  365,  365,  640,  365, 
     8360      640,  229,  154,  695,  647,  695,  647,  713,  366,  626, 
     8361      367,  366,  368,  367,  641,  368,  369,  710,  765,  719, 
     8362      648,  385,  386,  387,  388,  696,  711,  712,  396,  633, 
     8363      698,  699,  396,  389,  390,  391,  390,  392,  428,  697, 
     8364      428,  634,  148,  642,  649,  241,  369,  389,  719,  369, 
     8365      413,  150,  413,  657,  658,  659,  660,  633,  698,  699, 
     8366      675,  148,  714,  722,  394,  389,  681,  697,  682,  634, 
     8367      150,  642,  649,  374,  374,  717,  389,  676,  715,  389, 
     8368      662,  707,  716,  720,  721,  723,  374,  723,  718,  675, 
     8369 
     8370      714,  413,  722,  414,  725,  386, 1842,  726,  727,  728, 
     8371      731,  735,  374,  374,  717,  676,  715,  724,  389,  707, 
     8372      716,  720,  721,  729,  374,  729,  718,  732,  733,  413, 
     8373      734,  414,  685,  725,  685,  726,  736,  727,  728,  731, 
     8374      735,  737,  738,  739,  742,  730,  386,  651,  743,  740, 
     8375      646,  645,  750,  744,  686,  732,  733,  741,  734,  687, 
     8376      644,  745,  751,  752,  688,  736,  753,  754,  759,  737, 
     8377      738,  755,  739,  742,  689,  690,  743,  740,  691,  746, 
     8378      750,  746,  744,  756,  757,  741,  229,  758,  687,  745, 
     8379      751,  760,  752,  688,  761,  753,  754,  759,  762,  755, 
     8380 
     8381      763,  747,  689,  690,  764,  486,  691,  766,  767,  768, 
     8382      769,  756,  757,  770,  748,  758,  771,  229,  229,  760, 
     8383      773,  775,  761,  749,  776,  778,  762,  875,  763,  779, 
     8384      780,  781,  764,  486,  241,  766,  767,  768,  769,  675, 
     8385      643,  770,  748,  718,  771,  256,  772,  256,  773,  631, 
     8386      775,  749,  256,  776,  778,  875,  777,  127,  779,  780, 
     8387      781,  774,  256,  782,  783,  244,  783,  785,  675,  785, 
     8388      254,  718,  791,  256,  785,  772,  786,  254,  787,  256, 
     8389      787,  507,  256,  792,  777,  504,  505,  506,  507,  774, 
     8390      796,  787,  782,  788,  507,  256,  784,  508,  256,  794, 
     8391 
     8392      256,  791,  256,  256,  623,  256,  256,  793,  122,  256, 
     8393      795,  508,  792,  256,  413,  797,  125,  256,  796,  256, 
     8394      119,  256,  256, 1146, 1147,  784,  256,  794,  256,  798, 
     8395      809,  803,  808,  256,  323,  793,  805,  806,  799,  795, 
     8396      508,  800,  807,  797,  801,  810,  323,  802,  804,  811, 
     8397      589,  692,  256,  692,  826,  525,  256,  798,  825,  817, 
     8398      803,  808,  256,  256,  805,  806,  799,  819,  820,  800, 
     8399      256,  807,  801,  693,  810,  802,  804,  256,  811,  695, 
     8400      256,  695,  826,  525,  685,  256,  685,  825,  817,  821, 
     8401      822,  703,  256,  703,  256,  819,  820,  823,  256,  256, 
     8402 
     8403      256,  696,  256,  256,  252,  824,  686,  256,  256,  252, 
     8404      256,  812,  499,  704,  256,  818,  813,  250,  821,  822, 
     8405      829,  256,  244,  256,  256,  823,  814,  815,  827,  241, 
     8406      816,  256,  828,  824,  831,  833,  836,  723,  256,  723, 
     8407      812,  834,  830,  818,  835,  813,  838,  832,  829,  839, 
     8408      256,  840,  837,  256,  814,  815,  827,  256,  816,  724, 
     8409      828,  843,  845,  831,  833,  836,  729,  256,  729,  834, 
     8410      830,  256,  835,  256,  838,  832,  256,  841,  839,  256, 
     8411      840,  837,  256,  256,  256,  256,  229,  842,  730,  843, 
     8412      256,  845,  615,  844,  846,  256,  256,  256,  256,  229, 
     8413 
     8414      256,  256,  362,  746,  256,  746,  841,  256,  256,  256, 
     8415      849, 1418,  848, 1418,  847,  842,  256,  853,  850,  852, 
     8416      615,  844,  854,  846,  861,  747,  851,  858,  859,  256, 
     8417      855,  860,  256,  256,  862,  122,  865,  864,  856,  849, 
     8418      848,  863,  847,  256,  868,  853,  850,  857,  852,  866, 
     8419      871,  854,  323,  861,  851,  858,  859,  353,  855,  256, 
     8420      860,  867,  119,  862,  865,  864,  856,  250,  323,  863, 
     8421      244,  869,  868,  870,  241,  857,  323,  866,  871,  873, 
     8422      220,  873,  318,  896, 1882,  872,  873,  220,  874,  318, 
     8423      867,  315,  316,  317,  318,  881,  597,   73,  879,  869, 
     8424 
     8425      332,  870,  880,  255,  597,  883,  597,  886,  597,  332, 
     8426      879,  332,  896,  872,  877,   70,  894,  255,  921, 1882, 
     8427      921,  388,  332,  881,  887,  591,  877, 1882, 1882,  332, 
     8428      880,  332, 1882,  591,  883,  886,  888,  591,  332,  889, 
     8429      332,  327,  890,  878,  894,  256,  255,  590,  220,  590, 
     8430      221,  332,  887,  901,  591,  332,  256,  152,  903,  882, 
     8431      332,  899,  591,  256,  888,  900,  591,  889,  154,  154, 
     8432      890,  893,  897,  222,  223,  930,  591,  224,  365,  225, 
     8433      365,  154,  901,  898,  332,  832,  895,  903,  902,  899, 
     8434      479, 1882,  366,  900, 1882, 1882,  631,  154,  154,  893, 
     8435 
     8436      119,  897,  222,  223,  930,  591,  224, 1673,  225,  154, 
     8437     1882, 1882,  898,  832, 1674,  895,  902, 1675,  479,  322, 
     8438      322,  330,  322,  322,  322,  322,  322,  322,  322,  322, 
     8439      322,  322,  322,  322,  322,  322,  322,  322,  904,  322, 
     8440      322,  322,  322,  322,  891,  627,  332,  627,  918,  125, 
     8441     1882,  640, 1882,  640, 1882,  884,  126,  127,  628,  927, 
     8442      628,  892,  647, 1882,  647, 1882,  904,  641, 1882, 1882, 
     8443      322,  322,  119,  891, 1882,  332,  918, 1882,  648,  365, 
     8444     1882,  365,  921,  884,  922,  388, 1474,  927, 1474,  892, 
     8445      906, 1882, 1474,  366, 1474,  931,  905,  630,  322,  322, 
     8446 
     8447      322,  330,  322,  322,  322,  322,  322,  322,  322,  322, 
     8448      322,  322,  322,  322,  322,  322,  322,  322,  906,  322, 
     8449      322,  322,  322,  322,  931,  905,  125,  908,  885,  908, 
     8450      932,  369, 1882,  126,  127, 1882,  928,  934,  909,  640, 
     8451     1882,  640, 1882,  910,  365,  911,  365,  365,  929,  365, 
     8452      322,  322,  647,  907,  647,  641,  933,  885,  366,  932, 
     8453      367,  366,  368,  367,  928,  368,  934,  936,  648,  935, 
     8454     1003,  692, 1003,  692, 1882,  915,  929,  937,  322,  912, 
     8455     1004,  938,  907,  941,  933,  942,  914,  939, 1882,  923, 
     8456      391,  923,  660,  693,  940,  936,  369,  148,  935,  369, 
     8457 
     8458      657,  658,  659,  660,  915,  937,  150,  943,  148,  938, 
     8459      944,  941,  389,  942,  914,  953,  939,  150,  954,  923, 
     8460      391,  924,  660,  940,  955,  957,  389,  148,  956,  390, 
     8461      391,  390,  392,  958,  964,  943,  150,  148,  944,  945, 
     8462      695,  945,  695,  953,  959,  960,  150,  954,  961,  967, 
     8463      968, 1882, 1882,  955,  957,  389,  956,  962,  703,  962, 
     8464      703,  958,  696,  964,  965,  710,  965,  974,  973, 1882, 
     8465      975,  946,  959,  960,  711,  712,  961,  967,  968,  963, 
     8466      704,  971,  710,  971,  980,  947,  966,  986,  976,  979, 
     8467      981,  711,  712,  982,  972,  974,  972,  973,  975,  977, 
     8468 
     8469      946,  985,  983,  972,  983,  723,  978,  723,  992,  987, 
     8470      993,  987,  980,  947,  685,  986,  685,  976,  979,  981, 
     8471      994,  995,  982,  989,  984,  989,  997,  724,  977, 1882, 
     8472      985,  988,  996,  729,  978,  729,  686,  992,  998,  993, 
     8473      999,  948, 1000, 1882, 1001,  990,  949, 1002,  994,  995, 
     8474     1007,  746, 1008,  746,  997,  730,  950,  951,  991,  972, 
     8475      952,  996, 1009, 1010, 1011, 1005,  998, 1005,  999, 1012, 
     8476      948, 1000, 1001,  747, 1013,  949, 1002, 1014, 1007, 1015, 
     8477     1008, 1016, 1018, 1016,  950,  951,  991, 1006,  952, 1019, 
     8478     1009, 1010, 1020, 1011, 1021,  229, 1022, 1023, 1012, 1024, 
     8479 
     8480     1025, 1026, 1013, 1017,  229, 1014,  229, 1032, 1015, 1030, 
     8481     1034, 1018,  241,  256,  244,  939,  256, 1882, 1019,  256, 
     8482      977, 1020,  256, 1021, 1022, 1882, 1023,  978, 1024, 1025, 
     8483     1026, 1035, 1036, 1029, 1036, 1027, 1032, 1030, 1041, 1034, 
     8484     1041,  254, 1037,  256,  939, 1028, 1038, 1048, 1049,  977, 
     8485     1040, 1038, 1039, 1046, 1045,  978,  783,  244,  783, 1035, 
     8486      256,  256, 1029, 1027, 1041,  256, 1042,  254, 1043,  256, 
     8487     1043,  507, 1043, 1028, 1044,  507, 1048, 1049, 1040,  256, 
     8488     1039, 1046, 1045,  256, 1047,  256,  256, 1050,  784,  256, 
     8489      256,  256, 1052,  256,  945,  256,  945,  256,  256, 1055, 
     8490 
     8491      256,  256, 1051,  256,  256,  256, 1053,  256,  256, 1882, 
     8492     1137,  256, 1047, 1058, 1882,  256, 1050,  784, 1114,  256, 
     8493     1054, 1052, 1057, 1882, 1059, 1067, 1063, 1055, 1056, 1061, 
     8494     1051, 1062, 1060, 1066, 1069, 1053,  256, 1065,  256, 1137, 
     8495     1064,  256, 1058,  256, 1882, 1070, 1114, 1073, 1054, 1071, 
     8496     1068, 1057, 1059, 1072, 1067, 1063, 1056, 1061, 1077, 1062, 
     8497     1060, 1075, 1066, 1069,  256, 1065, 1074,  256, 1064,  962, 
     8498      256,  962, 1076, 1070, 1079, 1073,  256, 1071, 1068,  256, 
     8499     1078, 1072,  965,  256,  965,  256, 1077,  256,  256, 1075, 
     8500     1882,  963,  256, 1080,  256, 1074,  256, 1882, 1082,  256, 
     8501 
     8502     1081, 1076, 1085, 1079,  966,  256,  256,  256, 1078,  256, 
     8503      256,  256, 1083, 1086, 1084,  983,  256,  983,  256, 1090, 
     8504      256, 1087, 1080,  987,  256,  987,  256, 1082, 1081, 1092, 
     8505     1089, 1085,  989,  256,  989, 1882, 1093,  984, 1094, 1882, 
     8506     1083, 1097, 1086, 1084, 1091,  988, 1098, 1095, 1090, 1087, 
     8507      256, 1100, 1096,  256,  990,  256, 1103, 1092,  256, 1089, 
     8508     1101, 1003,  256, 1003,  256, 1093, 1094, 1088,  256,  256, 
     8509     1097, 1004, 1091,  256, 1098, 1095, 1005,  256, 1005, 1100, 
     8510     1096, 1099,  256, 1104, 1103, 1016,  256, 1016, 1101, 1105, 
     8511      256,  323, 1107, 1102, 1136, 1088, 1108, 1193, 1006, 1193, 
     8512 
     8513     1109, 1112,  220, 1112,  318, 1882,  327, 1017, 1117, 1110, 
     8514     1099, 1106, 1104, 1112,  220, 1113,  318, 1111, 1105, 1194, 
     8515     1107, 1102, 1136, 1882, 1116, 1108,  597,  323, 1118, 1109, 
     8516     1882,  323, 1119,  597,  322, 1118,  322, 1139, 1110, 1106, 
     8517      322,  327,  322, 1117, 1116, 1882, 1111,  590,  220, 1115, 
     8518      221, 1116,  256, 1882, 1120,  591, 1882,  152, 1125, 1121, 
     8519     1119,  119,  591, 1882, 1163, 1116, 1139, 1164,  154,  154, 
     8520     1882, 1122, 1165,  222,  223, 1134,  591,  224,  322,  225, 
     8521      322,  154, 1124, 1120,  591, 1141,  365, 1125,  365, 1167, 
     8522      479,  591, 1163, 1882,  322, 1164,  322,  154,  154, 1122, 
     8523 
     8524      366, 1165,  222,  223, 1134,  591,  224, 1882,  225,  154, 
     8525     1124,  322, 1882,  322, 1141, 1882, 1127, 1167,  479,  322, 
     8526      322,  330,  322,  322,  322,  322,  322,  322,  322,  322, 
     8527      322,  322,  322,  322,  322,  322,  322,  322, 1129,  322, 
     8528      322,  322,  322,  322, 1127, 1882, 1128, 1033,  256, 1033, 
     8529     1036,  256, 1036, 1166,  908, 1159,  908, 1159,  388, 1169, 
     8530     1037,  322, 1170,  322, 1038,  909, 1129, 1171, 1172, 1038, 
     8531      322,  322, 1882, 1159, 1128, 1160,  388, 1161,  391, 1161, 
     8532      660, 1250, 1166, 1250,  254,  148, 1003, 1169, 1003, 1126, 
     8533     1250, 1170, 1251,  254,  150, 1171, 1004, 1172,  322,  322, 
     8534 
     8535     1123,  330, 1123,  322,  322,  322,  322,  322,  322,  322, 
     8536      322,  322,  322,  322,  322,  322,  322,  322, 1126,  322, 
     8537      322,  322,  322,  322,  322,  322,  322,  322,  125,  322, 
     8538      256,  322, 1173, 1174, 1175,  126,  127, 1161,  391, 1162, 
     8539      660, 1176, 1882, 1177, 1183,  148, 1186,  908, 1130,  908, 
     8540      322,  322, 1882, 1132,  150, 1144, 1131, 1133,  909, 1080, 
     8541     1173, 1174, 1175,  910, 1178, 1148, 1081, 1181, 1882, 1176, 
     8542     1135, 1177, 1183,  365, 1186,  365, 1882, 1130,  322,  908, 
     8543     1182,  908, 1132, 1184, 1144, 1131, 1133,  366, 1080,  367, 
     8544      909,  368, 1185, 1178, 1081,  910, 1181,  911, 1135,  912, 
     8545 
     8546     1882, 1151,  657,  658,  659,  660, 1236, 1882, 1236, 1182, 
     8547      148,  627, 1184,  627,  389, 1252, 1237, 1252,  507,  150, 
     8548     1252, 1185, 1253,  507,  628,  369,  628,  945,  389,  945, 
     8549     1151,  912, 1138, 1152, 1187, 1152, 1138, 1138, 1138, 1138, 
     8550     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1153, 1138, 1154, 
     8551     1138, 1155, 1138, 1138, 1138, 1138, 1138,  389, 1188, 1179, 
     8552     1882, 1189, 1190, 1187, 1191, 1192, 1882, 1195,  962, 1196, 
     8553      962, 1205, 1882, 1180,  965, 1206,  965, 1207, 1208, 1882, 
     8554     1209, 1210, 1214, 1138, 1138, 1157, 1188, 1882, 1179, 1189, 
     8555      963, 1190, 1882, 1191, 1192, 1195,  966, 1414, 1196, 1414, 
     8556 
     8557     1205, 1180, 1211, 1882, 1206, 1207, 1882, 1208, 1209, 1210, 
     8558     1214, 1138, 1138, 1138, 1215, 1138, 1138, 1138, 1138, 1138, 
    68088559     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     8560     1138, 1211, 1138, 1138, 1138, 1138, 1138, 1197, 1199, 1197, 
     8561     1199, 1882, 1882, 1215, 1236, 1212, 1236, 1212,  969,  970, 
     8562     1198, 1200, 1198, 1200, 1237,  971,  710,  971, 1216, 1198, 
     8563     1200, 1217,  710, 1138, 1138,  711,  712, 1213,  972, 1218, 
     8564      972, 1202, 1203,  983, 1204,  983, 1204,  972,  987,  989, 
     8565      987,  989, 1219, 1204, 1220, 1221, 1882, 1216, 1222, 1223, 
     8566     1217, 1138, 1224, 1225, 1226,  984, 1227, 1005, 1218, 1005, 
     8567 
     8568      988,  990, 1228, 1229, 1231, 1230, 1232, 1882, 1233, 1234, 
     8569     1235, 1219, 1220, 1238, 1221, 1198, 1200, 1222, 1223, 1006, 
     8570     1224, 1239, 1225, 1226, 1227, 1016, 1240, 1016,  229,  229, 
     8571     1228, 1229, 1231,  972, 1230, 1232, 1233, 1234, 1235, 1204, 
     8572     1244, 1036, 1238, 1036, 1245,  244, 1246, 1017, 1247,  256, 
     8573     1239, 1037,  241,  256, 1240, 1038, 1242,  256,  256, 1241, 
     8574     1038, 1036, 1038, 1036, 1038, 1310, 1882,  256,  256, 1244, 
     8575     1414, 1037, 1414, 1245, 1246, 1038, 1038, 1247, 1882, 1882, 
     8576     1038, 1038, 1348, 1248, 1256, 1242, 1882, 1249, 1241, 1255, 
     8577     1254, 1257, 1261, 1310, 1258, 1236,  256, 1236, 1308,  220, 
     8578 
     8579     1308,  318, 1882, 1882,  256, 1237, 1308,  220, 1309,  318, 
     8580     1348,  256, 1248, 1256,  256, 1249,  256, 1255, 1254,  256, 
     8581     1257, 1261, 1258, 1138, 1138,  256, 1138, 1138, 1138, 1138, 
    68098582     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
     8583     1138, 1138, 1260, 1138, 1138, 1138, 1138, 1138,  256,  256, 
     8584     1262, 1264, 1265,  256,  256,  256, 1266,  256,  256,  256, 
     8585      256,  256,  332,  256,  256,  256, 1882,  256,  256,  256, 
     8586     1260,  256,  256, 1882, 1138, 1138, 1263,  256, 1262, 1264, 
     8587     1265,  256, 1267, 1270, 1266, 1269, 1275, 1271, 1274, 1276, 
     8588      256,  332, 1273, 1272, 1268, 1280, 1278, 1193,  256, 1193, 
     8589 
     8590     1277, 1285, 1138, 1882, 1282, 1263, 1279,  256, 1281, 1283, 
     8591     1267,  256, 1270, 1286, 1269, 1275, 1271, 1274, 1276, 1194, 
     8592     1273, 1272, 1268,  256, 1280, 1278, 1284,  256, 1277,  256, 
     8593     1285,  256,  256, 1282, 1287, 1279, 1281, 1283, 1212,  256, 
     8594     1212, 1286,  256, 1292,  256,  256,  256,  256,  256,  256, 
     8595     1288,  256,  256,  256, 1284,  256,  256, 1290, 1289, 1293, 
     8596     1213,  256, 1295, 1287,  256,  332, 1882, 1297, 1291,  323, 
     8597      332, 1292, 1294, 1298, 1123,  323, 1123, 1324, 1302, 1288, 
     8598     1318, 1882, 1301, 1304, 1882, 1882, 1290, 1289, 1293, 1296, 
     8599     1299, 1295,  323, 1300,  332, 1303, 1297, 1291, 1306,  332, 
     8600 
     8601     1313, 1294, 1298, 1307, 1882, 1305, 1324, 1302, 1318,  597, 
     8602     1301,  597, 1304,  597,  332,  597,  256, 1296, 1299, 1311, 
     8603      332, 1300, 1317, 1303,  256, 1316, 1306, 1882,  327, 1313, 
     8604      327, 1307,  125, 1305,  590,  220,  590,  221,  591, 1330, 
     8605     1331,  332,  591,  332,  152, 1350,  153, 1319, 1311,  332, 
     8606     1322, 1317, 1323, 1316, 1882,  154,  154, 1343,  332, 1343, 
     8607      222,  223, 1355,  591,  224,  125,  225,  591,  154, 1320, 
     8608      332,  591,  126,  127, 1350,  125, 1319,  479, 1322, 1344, 
     8609     1882, 1323,  126,  127,  154,  154,  365,  332,  365,  222, 
     8610      223, 1355,  591,  224,  710,  225,  154, 1320, 1882, 1339, 
     8611 
     8612      366, 1339,  388, 1202, 1203,  479,  322,  322,  330,  322, 
     8613      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     8614      322,  322,  322,  322,  322, 1882,  322,  322,  322,  322, 
     8615      322,  908,  908,  908,  908, 1314,  908, 1339,  908, 1340, 
     8616      388, 1357,  909,  909, 1345, 1882, 1345,  909, 1882, 1148, 
     8617     1149, 1349, 1351,  365, 1352,  365, 1353,  322,  322,  365, 
     8618      365,  365,  365, 1524, 1314, 1524, 1346,  366, 1882,  367, 
     8619     1357,  630, 1882,  366,  366,  367,  367,  368,  368, 1349, 
     8620     1351, 1882, 1352,  912, 1353,  322,  322,  322,  330,  322, 
     8621      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     8622 
     8623      322,  322,  322,  322,  322,  369,  322,  322,  322,  322, 
     8624      322,  369,  369, 1315, 1341,  391, 1341,  660, 1341,  391, 
     8625     1342,  660,  148, 1354, 1356, 1361,  148, 1362, 1363, 1882, 
     8626     1364,  150, 1365, 1366, 1367,  150, 1882,  322,  322,  969, 
     8627     1882, 1198, 1315, 1198, 1420, 1882, 1420,  507, 1882, 1882, 
     8628     1198, 1354, 1356, 1524, 1361, 1524, 1362, 1363, 1364, 1358, 
     8629     1365, 1358, 1366, 1367, 1368,  322, 1312, 1312,  330, 1312, 
     8630     1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 
     8631     1312, 1312, 1312, 1312, 1312, 1359, 1312, 1312, 1312, 1312, 
     8632     1312, 1369, 1370, 1368, 1371, 1373, 1371, 1374, 1360, 1193, 
     8633 
     8634     1197, 1193, 1197, 1378, 1379, 1380, 1198, 1381, 1382, 1383, 
     8635     1393,  969, 1386, 1198, 1359, 1198, 1372, 1312, 1312, 1369, 
     8636     1370, 1194, 1198, 1882, 1373, 1374, 1360, 1375, 1820, 1376, 
     8637     1820, 1376, 1378, 1379, 1380, 1381, 1382, 1383, 1376, 1393, 
     8638     1386, 1882, 1387, 1389, 1387, 1312, 1325, 1333, 1397, 1333, 
     8639     1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 
     8640     1325, 1334, 1325, 1335, 1325, 1336, 1325, 1325, 1325, 1325, 
     8641     1325, 1389, 1882, 1199, 1212, 1199, 1212, 1397, 1198, 1399, 
     8642     1384, 1388, 1384, 1390,  970, 1394, 1200, 1395, 1200, 1407, 
     8643     1377,  710, 1377, 1409, 1376, 1200, 1213, 1325, 1325, 1338, 
     8644 
     8645     1202, 1203, 1385, 1204, 1562, 1204, 1562,  710, 1399, 1388, 
     8646     1882, 1390, 1204, 1394, 1563, 1395, 1202, 1203, 1407, 1204, 
     8647     1882, 1204, 1409, 1882, 1882, 1325, 1325, 1325, 1204, 1325, 
     8648     1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 
     8649     1325, 1325, 1325, 1325, 1325, 1396, 1325, 1325, 1325, 1325, 
     8650     1325, 1200, 1391, 1398, 1391,  256, 1400, 1402, 1400, 1402, 
     8651     1406, 1404, 1408, 1404,  229, 1412,  244, 1413, 1204, 1415, 
     8652     1882,  241, 1463, 1396, 1392, 1882, 1882, 1325, 1325, 1403, 
     8653     1882, 1398, 1401, 1405, 1204, 1343,  256, 1343, 1406,  256, 
     8654     1408, 1468, 1410, 1417, 1412, 1413, 1469, 1423, 1415, 1416, 
     8655 
     8656     1420, 1463, 1421,  507,  256, 1325, 1882, 1344, 1345,  256, 
     8657     1345, 1401,  908,  256,  908,  256,  256,  256, 1882, 1468, 
     8658      256, 1410, 1417,  909, 1469, 1423, 1882, 1425, 1416, 1428, 
     8659     1346, 1325, 1325,  256, 1325, 1325, 1325, 1325, 1325, 1325, 
     8660     1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 
     8661     1424, 1325, 1325, 1325, 1325, 1325, 1425, 1428, 1426, 1427, 
     8662     1429,  256, 1431,  256,  256, 1358,  256, 1358,  256,  256, 
     8663      256,  256, 1371,  256, 1371,  256,  256,  256, 1424,  256, 
     8664      256,  256, 1325, 1325, 1882,  256, 1426, 1427, 1429, 1430, 
     8665     1431, 1433, 1432,  256, 1372, 1435, 1436, 1437, 1440,  256, 
     8666 
     8667      256,  256,  256, 1438, 1434, 1439, 1443, 1444, 1442,  256, 
     8668     1325,  256,  256, 1441, 1387,  256, 1387,  256, 1430, 1448, 
     8669     1433, 1432, 1446,  256, 1435, 1436, 1437, 1440, 1882, 1456, 
     8670      256, 1438, 1434, 1439, 1450, 1443, 1444, 1442, 1470, 1445, 
     8671     1452, 1441, 1447, 1384,  256, 1384, 1457, 1448, 1451,  256, 
     8672     1446, 1453, 1454, 1449, 1882, 1391,  256, 1391, 1456, 1882, 
     8673     1455, 1458, 1450, 1882, 1882, 1385, 1470, 1445,  323, 1452, 
     8674     1447, 1400,  256, 1400, 1457, 1471, 1451, 1392, 1473, 1453, 
     8675     1454, 1449, 1402,  256, 1402, 1404,  256, 1404, 1455, 1480, 
     8676     1458, 1460, 1461,  220, 1461,  221, 1465, 1459, 1461,  220, 
     8677 
     8678     1461, 1462, 1882, 1471, 1403,  125, 1473, 1405, 1414,  256, 
     8679     1414, 1882,  126,  127,  125, 1882, 1882, 1882, 1480, 1460, 
     8680     1882,  126,  127,  256, 1481, 1465, 1459, 1464, 1464,  330, 
     8681     1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 
     8682     1464, 1464, 1464, 1464, 1464, 1464, 1472, 1464, 1464, 1464, 
     8683     1464, 1464,  365, 1481,  365,  627, 1882,  627, 1482, 1626, 
     8684     1483, 1626, 1343, 1345, 1343, 1345,  366, 1882,  628, 1627, 
     8685      628, 1484, 1485, 1491,  365, 1472,  365, 1486, 1464, 1464, 
     8686      365,  365,  365,  365, 1344, 1346, 1882, 1482,  366, 1483, 
     8687      367, 1882,  630, 1882,  366,  366,  367,  367,  368,  368, 
     8688 
     8689     1484, 1485, 1491, 1882, 1882, 1486, 1464,  322,  322,  330, 
     8690      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     8691      322,  322,  322,  322,  322,  322,  369,  322,  322,  322, 
     8692      322,  322,  369,  369, 1489, 1476,  391, 1476,  660, 1476, 
     8693      391, 1477,  660,  148, 1478, 1882, 1490,  148, 1479, 1882, 
     8694     1492, 1467,  150, 1495, 1493, 1494,  150, 1882,  322,  322, 
     8695     1882, 1375, 1489, 1376, 1523, 1376, 1523,  254, 1554,  220, 
     8696     1554,  318, 1376, 1478, 1490, 1882, 1882, 1479, 1492, 1467, 
     8697     1358, 1495, 1358, 1493, 1494, 1496,  322,  322,  322,  330, 
     8698      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     8699 
     8700      322,  322,  322,  322,  322,  322, 1487,  322,  322,  322, 
     8701      322,  322, 1497, 1498, 1496, 1371, 1499, 1371, 1500, 1488, 
     8702     1882, 1501, 1503, 1501, 1502, 1504, 1882, 1564, 1376, 1564, 
     8703      388, 1384, 1375, 1384, 1376, 1487, 1376, 1372,  322,  322, 
     8704     1506, 1497, 1498, 1376, 1499, 1507, 1500, 1488, 1377,  710, 
     8705     1377, 1503, 1502, 1385, 1504, 1387, 1508, 1387, 1202, 1203, 
     8706     1391, 1204, 1391, 1204, 1509,  256,  322, 1510, 1506, 1511, 
     8707     1204, 1513, 1400, 1507, 1400, 1514, 1882,  244, 1515, 1402, 
     8708     1516, 1402, 1392, 1404, 1508, 1404, 1519, 1520,  256,  256, 
     8709     1882,  256, 1528, 1509, 1505, 1510,  256, 1511, 1512, 1376, 
     8710 
     8711     1513, 1403,  256,  256, 1514, 1405, 1515,  256,  256, 1516, 
     8712      256, 1526, 1533,  256, 1519, 1527, 1520, 1522, 1530,  256, 
     8713      256, 1528, 1505, 1531,  256,  256, 1204, 1512, 1529, 1532, 
     8714      256,  256, 1538,  256,  256,  256,  256, 1539, 1882,  256, 
     8715     1526, 1533,  256,  256, 1527, 1522, 1557, 1530, 1536, 1882, 
     8716     1534, 1540, 1531, 1882,  256,  256, 1535, 1529, 1532, 1541, 
     8717     1537, 1538, 1555, 1558, 1544, 1545, 1539, 1542,  256, 1559, 
     8718     1548,  256, 1543, 1882, 1546, 1557, 1536, 1552, 1534, 1550, 
     8719     1540, 1547, 1549, 1560, 1535, 1571, 1551, 1541, 1537, 1882, 
     8720     1555, 1882, 1558, 1544, 1545, 1542, 1561, 1559, 1548, 1553, 
     8721 
     8722     1543, 1570, 1546, 1573, 1572, 1882, 1552, 1550, 1882, 1547, 
     8723     1882, 1549, 1560, 1571, 1551, 1565,  147, 1565, 1566,  391, 
     8724     1566,  392, 1574,  148, 1575, 1561,  148, 1576, 1553, 1577, 
     8725     1570, 1573,  150, 1572, 1578,  150, 1566,  391, 1566, 1567, 
     8726     1579, 1580, 1882, 1581, 1568, 1582, 1583, 1584, 1882, 1585, 
     8727     1574, 1586, 1575, 1569, 1587, 1576, 1590, 1577, 1591, 1588, 
     8728     1592, 1588, 1578, 1593, 1595, 1593, 1596, 1501, 1579, 1501, 
     8729     1580, 1581, 1597, 1598, 1582, 1583, 1584, 1585, 1375, 1586, 
     8730     1376, 1589, 1376, 1587, 1590, 1594, 1591, 1599, 1592, 1376, 
     8731     1600,  229, 1602, 1595, 1603, 1596,  256,  241,  244,  256, 
     8732 
     8733     1597, 1598, 1523,  256, 1523,  254, 1606,  256, 1606,  507, 
     8734      256,  256,  256,  256,  256, 1599,  256, 1601,  256, 1600, 
     8735     1608, 1602,  256, 1603, 1604,  256, 1605, 1882,  256,  256, 
     8736     1610, 1882,  256, 1629, 1882, 1609, 1882, 1630, 1616,  256, 
     8737     1617,  256, 1588,  256, 1588, 1376, 1601, 1611, 1612, 1608, 
     8738     1614, 1615, 1613, 1604, 1620, 1605,  323,  256, 1619, 1610, 
     8739     1618, 1629, 1621, 1609, 1589, 1630, 1623, 1616, 1622, 1617, 
     8740     1593,  256, 1593, 1624, 1642, 1611, 1612, 1625, 1614, 1615, 
     8741     1613, 1639, 1628, 1620, 1631, 1588, 1619, 1588, 1618, 1882, 
     8742     1621, 1564, 1594, 1564,  388, 1623, 1622, 1554,  220, 1554, 
     8743 
     8744      318, 1624, 1562, 1642, 1562, 1625, 1565, 1589, 1565, 1639, 
     8745     1882, 1628, 1563, 1631, 1635,  391, 1635,  660, 1636,  391, 
     8746     1636, 1644,  148,  150, 1640, 1646, 1637, 1641, 1643, 1645, 
     8747     1647,  150, 1565,  147, 1565, 1638,  390,  391,  390,  392, 
     8748      148, 1648, 1650, 1648,  148, 1651,  229, 1652, 1653,  150, 
     8749     1644, 1649, 1640,  150, 1646, 1641, 1643, 1645, 1593, 1647, 
     8750     1593, 1654, 1655, 1656, 1657,  241, 1659,  244,  256, 1606, 
     8751     1650, 1606,  507,  256, 1651, 1652,  256, 1653,  256,  256, 
     8752     1594,  256,  256, 1658,  256, 1648,  256, 1648, 1677, 1654, 
     8753     1661, 1655, 1656, 1657, 1659, 1649,  256,  256, 1626, 1882, 
     8754 
     8755     1626, 1660, 1662,  323, 1687, 1665, 1667, 1668, 1627, 1669, 
     8756     1684, 1658, 1688, 1882, 1882, 1663, 1677, 1666, 1664, 1661, 
     8757     1636,  662, 1636, 1670, 1671, 1635,  391, 1635,  660, 1660, 
     8758     1662, 1882, 1687,  148, 1665, 1667, 1668, 1638, 1669, 1684, 
     8759     1676, 1688,  150, 1663, 1689, 1666, 1664, 1678, 1679, 1678, 
     8760     1680, 1690, 1670, 1671, 1685, 1633, 1685, 1691, 1634, 1681, 
     8761     1682, 1681, 1683, 1648, 1686, 1648, 1692, 1637, 1676, 1648, 
     8762     1693, 1648, 1689, 1649, 1694,  241, 1638,  244,  256, 1649, 
     8763     1690, 1685,  256, 1685,  256,  256, 1691,  256,  256, 1718, 
     8764     1673, 1686, 1721, 1882, 1685, 1692, 1685, 1674, 1719, 1693, 
     8765 
     8766     1675, 1697, 1698, 1694, 1686, 1699, 1882, 1704, 1705, 1706, 
     8767     1707, 1882, 1882, 1882, 1702, 1703, 1701, 1718, 1700, 1708, 
     8768     1721, 1709, 1710, 1709, 1711, 1882, 1882, 1719, 1673, 1674, 
     8769     1697, 1698, 1675, 1708, 1699, 1674, 1882, 1882, 1675, 1678, 
     8770     1679, 1678, 1680, 1702, 1703, 1701, 1700, 1633, 1720, 1679, 
     8771     1634, 1725, 1678, 1679, 1678, 1680, 1714,  229, 1722, 1715, 
     8772     1633, 1723, 1708, 1634, 1681, 1682, 1681, 1683,  657,  658, 
     8773      659,  660, 1637, 1716,  244, 1716,  148, 1720,  256, 1725, 
     8774      389, 1638,  256,  256, 1882,  150, 1717, 1722, 1717, 1731, 
     8775     1723, 1731, 1707, 1724,  389, 1717, 1731, 1710, 1732, 1707, 
     8776 
     8777     1749, 1727, 1882, 1750, 1741, 1728,  323, 1742, 1730, 1882, 
     8778     1704, 1705, 1706, 1707, 1882, 1751, 1752, 1709, 1710, 1709, 
     8779     1711, 1724, 1708,  389, 1729, 1674, 1882, 1882, 1675, 1749, 
     8780     1727, 1750,  229,  241, 1728,  256, 1708, 1730, 1735, 1736, 
     8781     1737, 1738, 1743, 1751, 1679, 1752, 1674, 1753,  256, 1675, 
     8782     1739, 1714, 1729, 1754, 1715, 1744, 1745, 1744, 1746, 1757, 
     8783     1716, 1679, 1716, 1714, 1739, 1708, 1715, 1756, 1714, 1755, 
     8784     1743, 1715, 1747, 1717, 1747, 1717, 1753,  256, 1762, 1761, 
     8785     1882, 1754, 1717, 1748, 1882, 1717, 1882, 1717, 1757, 1763, 
     8786     1778, 1763, 1707, 1739, 1717, 1756, 1763, 1755, 1764, 1707, 
     8787 
     8788     1736, 1765, 1710, 1765, 1738,  323, 1762, 1768, 1761, 1674, 
     8789     1769, 1882, 1675, 1735, 1736, 1737, 1738, 1882, 1778, 1779, 
     8790     1882, 1674, 1882, 1760, 1675, 1739, 1765, 1710, 1766, 1738, 
     8791     1780, 1771, 1882, 1710, 1674, 1882,  229, 1675, 1772, 1739, 
     8792     1741, 1773, 1777, 1742, 1774, 1775, 1774, 1776, 1779, 1710, 
     8793     1679, 1760, 1741,  241, 1781, 1742, 1741, 1714, 1780, 1742, 
     8794     1715, 1744, 1745, 1744, 1746, 1782, 1784,  256, 1739, 1714, 
     8795     1777,  256, 1715, 1678, 1679, 1678, 1680, 1747, 1783, 1747, 
     8796      323, 1633, 1781, 1788, 1634, 1788, 1707, 1882, 1748, 1788, 
     8797     1785, 1789, 1707, 1782, 1784, 1882, 1882, 1790, 1710, 1790, 
     8798 
     8799     1738, 1798, 1882, 1882, 1786, 1674, 1783, 1799, 1675, 1736, 
     8800     1800, 1787, 1790, 1710, 1791, 1738, 1768, 1882, 1785, 1769, 
     8801     1674, 1882, 1797, 1675, 1736, 1792, 1793, 1792, 1794, 1798, 
     8802     1771, 1768, 1786, 1768, 1769, 1799, 1769, 1772, 1800, 1787, 
     8803     1773, 1704, 1705, 1706, 1707, 1771, 1795, 1736, 1795, 1796, 
     8804     1797, 1801, 1772, 1708, 1772, 1773,  256, 1773, 1774, 1775, 
     8805     1774, 1776, 1735, 1736, 1737, 1738, 1741, 1708, 1710, 1742, 
     8806     1674,  256, 1882, 1675, 1739, 1741, 1882, 1736, 1742, 1807, 
     8807     1801, 1807, 1707, 1807, 1768, 1808, 1707, 1769, 1739,  241, 
     8808     1882, 1815, 1805, 1882, 1882,  229, 1708, 1816, 1806, 1809, 
     8809 
     8810     1710, 1809, 1738, 1809, 1710, 1810, 1738, 1674, 1736, 1836, 
     8811     1675, 1674, 1818,  241, 1675, 1812,  323, 1739, 1813, 1815, 
     8812     1805, 1792, 1793, 1792, 1794, 1819, 1816, 1806, 1827, 1768, 
     8813      229, 1882, 1769, 1735, 1736, 1737, 1738, 1817, 1836, 1882, 
     8814     1818, 1674,  323, 1882, 1675, 1739, 1795, 1736, 1795, 1796, 
     8815     1828, 1882, 1882, 1819, 1772, 1882, 1827, 1773, 1825, 1739, 
     8816     1821, 1710, 1821, 1738, 1829, 1817, 1829, 1707, 1674, 1736, 
     8817     1826, 1675, 1821, 1710, 1822, 1738, 1812, 1736, 1828, 1813, 
     8818     1674,  241, 1834, 1675, 1812, 1882, 1825, 1813, 1739, 1882, 
     8819     1820, 1882, 1820, 1882, 1882, 1841, 1736, 1882, 1826, 1882, 
     8820 
     8821     1882, 1882, 1882, 1812, 1882, 1882, 1813,  229, 1882, 1882, 
     8822     1834, 1882, 1882, 1882, 1823, 1793, 1823, 1824, 1830, 1710, 
     8823     1830, 1711, 1812, 1837, 1841, 1813, 1674, 1882, 1829, 1675, 
     8824     1829, 1707, 1845,  229, 1835, 1823, 1793, 1823, 1824, 1882, 
     8825     1882, 1882, 1882, 1812,  241,  323, 1813, 1838, 1710, 1838, 
     8826     1738, 1837, 1710, 1882, 1673, 1674,  323, 1882, 1675, 1741, 
     8827     1845, 1674, 1742, 1835, 1675,  229, 1882,  323, 1882, 1672, 
     8828     1830, 1710, 1830, 1831, 1672, 1844,  241, 1672, 1833, 1672, 
     8829     1672, 1675, 1882, 1839, 1672, 1672, 1846, 1847, 1840, 1672, 
     8830     1843, 1672, 1672, 1672, 1709, 1710, 1709, 1711, 1838, 1710, 
     8831 
     8832     1838, 1738, 1674, 1844, 1882, 1675, 1674, 1882, 1882, 1675, 
     8833     1882, 1882, 1839, 1882, 1846, 1847, 1854, 1840,  241, 1843, 
     8834     1672, 1672, 1672, 1848, 1849, 1848, 1850, 1851, 1852, 1851, 
     8835     1853, 1855, 1856, 1855, 1857, 1848, 1849, 1848, 1850, 1858, 
     8836     1859, 1858, 1860, 1882, 1854, 1866, 1882, 1882, 1672, 1851, 
     8837     1852, 1851, 1853, 1863, 1852, 1863, 1853, 1855, 1856, 1855, 
     8838     1857, 1863, 1852, 1863, 1853, 1858, 1859, 1858, 1860, 1858, 
     8839     1859, 1858, 1860,  241, 1866, 1858, 1859, 1858, 1860, 1863, 
     8840     1852, 1863, 1853, 1863, 1852, 1863, 1853, 1863, 1852, 1863, 
     8841     1853,  241, 1872, 1873, 1872, 1874, 1870, 1872, 1873, 1872, 
     8842 
     8843     1874, 1875, 1876, 1875, 1877, 1875, 1876, 1875, 1877, 1875, 
     8844     1876, 1875, 1877, 1875, 1876, 1875, 1877, 1875, 1876, 1875, 
     8845     1877, 1882, 1882, 1882, 1882, 1870, 1882, 1882, 1882, 1882, 
     8846     1882, 1882, 1882, 1871, 1882, 1882, 1882, 1882, 1882, 1882, 
     8847     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8848     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     8849     1882, 1871,   68,   68,   68,   68,   68,   68,   68,   68, 
     8850       68,   68,   68,   68,   68,   68,   68,   68,   68,   68, 
     8851       69,   69,   69,   69,   69,   69,   69,   69,   69,   69, 
     8852       69,   69,   69,   69,   69,   69,   69,   69,   72,   72, 
     8853 
     8854       72,   72,   72,   72,   72,   72,   72,   72,   72,   72, 
     8855       72,   72,   72,   72,   72,   72,  115,  115, 1882,  115, 
     8856      115,  115,  115,  115,  115,  115,  115,  115,  115,  115, 
     8857      115,  115,  115,  115,  118,  118,  118,  118,  118,  118, 
     8858      118,  118,  118,  118,  118,  118,  118,  118,  118,  118, 
     8859      118,  118,  124,  124,  124,  124,  124,  124,  124,  124, 
     8860      124,  124,  124,  124,  124,  124,  124,  124,  124,  124, 
     8861      133, 1882, 1882, 1882, 1882, 1882, 1882,  133, 1882,  133, 
     8862     1882,  133,  133,  133,  133,  133,  160,  160,  160,  160, 
     8863      160,  228,  228,  228,  228,  228,  228,  228,  228,  228, 
     8864 
     8865      228,  228,  228,  228,  228,  228,  228,  228,  228,  240, 
     8866      240,  240,  240,  240,  240,  240,  240,  240,  240,  240, 
     8867      240,  240,  240,  240,  240,  240,  240,  243,  243,  243, 
     8868      243,  243,  243,  243,  243,  243,  243,  243,  243,  243, 
     8869      243,  243,  243,  243,  243,  249,  249,  249,  249,  249, 
     8870      249,  249,  249,  249,  249,  249,  249,  249,  249,  249, 
     8871      249,  249,  249,  257, 1882, 1882, 1882, 1882, 1882, 1882, 
     8872     1882, 1882, 1882, 1882,  257,  257,  257,  257,  257,  322, 
     8873      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     8874      322,  322,  322,  322,  322,  322,  322,  115,  115, 1882, 
     8875 
     8876      115,  115,  115,  115,  115,  115,  115,  115,  115,  115, 
     8877      115,  115,  115,  115,  115,  118,  118,  118,  118,  118, 
     8878      118,  118,  118,  118,  118,  118,  118,  118,  118,  118, 
     8879      118,  118,  118,  356,  356,  356,  356,  356,  356,  356, 
     8880      356,  356,  356,  356,  356,  356,  356,  356,  356,  356, 
     8881      356,  124,  124,  124,  124,  124,  124,  124,  124,  124, 
     8882      124,  124,  124,  124,  124,  124,  124,  124,  124,  357, 
     8883      357,  357,  357,  357,  357,  357,  357,  357,  357,  357, 
     8884      357,  357,  357,  357,  357,  357,  357,  133, 1882, 1882, 
     8885     1882, 1882, 1882, 1882,  133, 1882,  133, 1882, 1882,  133, 
     8886 
     8887      133,  133,  133,  393,  393,  393,  393, 1882,  393,  393, 
     8888      393,  393,  393,  393, 1882,  393,  393, 1882, 1882,  393, 
     8889      393,  160,  160,  160,  160,  160,  480,  480,  480,  480, 
     8890      480,  480,  480,  480,  480,  480,  480,  480,  480,  480, 
     8891      480,  480,  480,  480,  228,  228,  228,  228,  228,  228, 
     8892      228,  228,  228,  228,  228,  228,  228,  228,  228,  228, 
     8893      228,  228,  240,  240,  240,  240,  240,  240,  240,  240, 
     8894      240,  240,  240,  240,  240,  240,  240,  240,  240,  240, 
     8895      243,  243,  243,  243,  243,  243,  243,  243,  243,  243, 
     8896      243,  243,  243,  243,  243,  243,  243,  243,  249,  249, 
     8897 
     8898      249,  249,  249,  249,  249,  249,  249,  249,  249,  249, 
     8899      249,  249,  249,  249,  249,  249,  502,  502,  502,  502, 
     8900      502,  502,  502,  502,  502,  502,  502,  502,  502,  502, 
     8901      502,  502,  502,  502,  503,  503,  503,  503,  503,  503, 
     8902      503,  503,  503,  503,  503,  503,  503,  503,  503,  503, 
     8903      503,  503,  588,  588,  588,  588,  588,  588,  588,  588, 
     8904      588,  588,  588,  588,  588,  588,  588,  588,  588,  588, 
     8905      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     8906      322,  322,  322,  322,  322,  322,  322,  322,  332,  332, 
     8907      332,  332,  332,  332,  332,  332,  332,  332,  332,  332, 
     8908 
     8909      332,  332,  332,  332,  332,  332,  115,  115, 1882,  115, 
     8910      115,  115,  115,  115,  115,  115,  115,  115,  115,  115, 
     8911      115,  115,  115,  115,  118,  118,  118,  118,  118,  118, 
     8912      118,  118,  118,  118,  118,  118,  118,  118,  118,  118, 
     8913      118,  118,  356,  356,  356,  356,  356,  356,  356,  356, 
     8914      356,  356,  356,  356,  356,  356,  356,  356,  356,  356, 
     8915      357,  357,  357,  357,  357,  357,  357,  357,  357,  357, 
     8916      357,  357,  357,  357,  357,  357,  357,  357,  624,  624, 
     8917      624,  624,  624,  624,  624,  624,  624,  624,  624,  624, 
     8918      624,  624,  624,  624,  624,  624,  124,  124,  124,  124, 
     8919 
     8920      124,  124,  124,  124,  124,  124,  124,  124,  124,  124, 
     8921      124,  124,  124,  124,  629, 1882, 1882, 1882, 1882, 1882, 
     8922     1882,  629, 1882,  629, 1882, 1882,  629,  629,  629,  629, 
     8923      133, 1882, 1882, 1882, 1882, 1882, 1882, 1882,  133, 1882, 
     8924      133, 1882,  133,  133,  133,  133,  133,  632,  632,  632, 
     8925      632,  655,  655,  655,  655,  655,  655,  655,  655,  655, 
     8926      655,  655,  655,  655,  655,  655,  655,  655,  655,  656, 
     8927      656,  656,  656,  656,  656,  656,  656,  656,  656,  656, 
     8928      656,  656,  656,  656,  656,  656,  656,  661,  661,  661, 
     8929      661,  661,  661,  661,  661,  661,  661,  661,  661,  661, 
     8930 
     8931      661,  661,  661,  661,  661,  393,  393,  393,  393, 1882, 
     8932      393,  393,  393,  393,  393,  393, 1882,  393,  393, 1882, 
     8933     1882,  393,  393,  160,  160,  160,  160,  160,  709,  709, 
     8934      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, 
     8935      709,  709,  709,  709,  709,  709,  478, 1882, 1882, 1882, 
     8936     1882, 1882, 1882, 1882,  478,  478,  480,  480,  480,  480, 
     8937      480,  480,  480,  480,  480,  480,  480,  480,  480,  480, 
     8938      480,  480,  480,  480,  228,  228,  228,  228,  228,  228, 
     8939      228,  228,  228,  228,  228,  228,  228,  228,  228,  228, 
     8940      228,  228,  240,  240,  240,  240,  240,  240,  240,  240, 
     8941 
     8942      240,  240,  240,  240,  240,  240,  240,  240,  240,  240, 
     8943      243,  243,  243,  243,  243,  243,  243,  243,  243,  243, 
     8944      243,  243,  243,  243,  243,  243,  243,  243,  249,  249, 
     8945      249,  249,  249,  249,  249,  249,  249,  249,  249,  249, 
     8946      249,  249,  249,  249,  249,  249,  502,  502,  502,  502, 
     8947      502,  502,  502,  502,  502,  502,  502,  502,  502,  502, 
     8948      502,  502,  502,  502,  503,  503,  503,  503,  503,  503, 
     8949      503,  503,  503,  503,  503,  503,  503,  503,  503,  503, 
     8950      503,  503,  789,  789,  789,  789,  789,  789,  789,  789, 
     8951      789,  789,  789,  789,  789,  789,  789,  789,  789,  789, 
     8952 
     8953      790,  790,  790,  790,  790,  790,  790,  790,  790,  790, 
     8954      790,  790,  790,  790,  790,  790,  790,  790,  257, 1882, 
     8955     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882,  257, 
     8956      257,  257,  257,  257,  588,  588,  588,  588,  588,  588, 
     8957      588,  588,  588,  588,  588,  588,  588,  588,  588,  588, 
     8958      588,  588,  322,  322,  322,  322,  322,  322,  322,  322, 
     8959      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     8960      332,  332,  332,  332,  332,  332,  332,  332,  332,  332, 
     8961      332,  332,  332,  332,  332,  332,  332,  332,  115,  115, 
     8962     1882,  115,  115,  115,  115,  115,  115,  115,  115,  115, 
     8963 
     8964      115,  115,  115,  115,  115,  115,  118,  118,  118,  118, 
     8965      118,  118,  118,  118,  118,  118,  118,  118,  118,  118, 
     8966      118,  118,  118,  118,  357,  357,  357,  357,  357,  357, 
     8967      357,  357,  357,  357,  357,  357,  357,  357,  357,  357, 
     8968      357,  357,  124,  124,  124,  124,  124,  124,  124,  124, 
     8969      124,  124,  124,  124,  124,  124,  124,  124,  124,  124, 
     8970      624,  624,  624,  624,  624,  624,  624,  624,  624,  624, 
     8971      624,  624,  624,  624,  624,  624,  624,  624,  629, 1882, 
     8972     1882, 1882, 1882, 1882, 1882,  629, 1882,  629, 1882, 1882, 
     8973      629,  629,  629,  629,  913, 1882, 1882, 1882, 1882, 1882, 
     8974 
     8975     1882, 1882,  913, 1882, 1882, 1882,  913,  913,  913,  913, 
     8976      913,  133, 1882, 1882, 1882, 1882, 1882, 1882, 1882,  133, 
     8977     1882,  133, 1882,  133,  133,  133,  133,  133,  655,  655, 
     8978      655,  655,  655,  655,  655,  655,  655,  655,  655,  655, 
     8979      655,  655,  655,  655,  655,  655,  656,  656,  656,  656, 
     8980      656,  656,  656,  656,  656,  656,  656,  656,  656,  656, 
     8981      656,  656,  656,  656,  925,  925,  925,  925,  925,  925, 
     8982      925,  925,  925,  925,  925,  925,  925,  925,  925,  925, 
     8983      925,  925,  661,  661,  661,  661,  661,  661,  661,  661, 
     8984      661,  661,  661,  661,  661,  661,  661,  661,  661,  661, 
     8985 
     8986      160,  160,  160,  160,  160,  709,  709,  709,  709,  709, 
     8987      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, 
     8988      709,  709,  709,  710,  710,  710,  710,  710,  710, 1882, 
     8989      710,  710,  710,  710,  710,  710,  710,  710,  710,  710, 
     8990      710,  711,  711, 1882,  711,  711,  711,  711,  711,  711, 
     8991      711,  711,  711,  711,  711,  711,  711,  711,  711,  228, 
     8992      228,  228,  228,  228,  228,  228,  228,  228,  228,  228, 
     8993      228,  228,  228,  228,  228,  228,  228,  240,  240,  240, 
     8994      240,  240,  240,  240,  240,  240,  240,  240,  240,  240, 
     8995      240,  240,  240,  240,  240,  243,  243,  243,  243,  243, 
     8996 
     8997      243,  243,  243,  243,  243,  243,  243,  243,  243,  243, 
     8998      243,  243,  243,  789,  789,  789,  789,  789,  789,  789, 
     8999      789,  789,  789,  789,  789,  789,  789,  789,  789,  789, 
     9000      789,  790,  790,  790,  790,  790,  790,  790,  790,  790, 
     9001      790,  790,  790,  790,  790,  790,  790,  790,  790,  322, 
     9002      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     9003      322,  322,  322,  322,  322,  322,  322,  332,  332,  332, 
     9004      332,  332,  332,  332,  332,  332,  332,  332,  332,  332, 
     9005      332,  332,  332,  332,  332, 1138, 1138, 1882, 1138, 1138, 
    68109006     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6811      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6812      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6813      1138, 1138, 1138, 1138, 1145,   55,  176, 1146, 1131, 1131, 
    6814      1131, 1131, 1131, 1131, 1131, 1131,  176, 1131, 1139, 1131, 
    6815      1139, 1139, 1139, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 
    6816  
    6817      1138, 1138, 1138, 1140, 1131, 1140, 1140, 1140, 1140, 1147, 
    6818      1147, 1131, 1147, 1147, 1147, 1147, 1148, 1148,  218,  218, 
    6819       218, 1131, 1131, 1131, 1134, 1134, 1135, 1135, 1136, 1136, 
    6820      1142, 1142, 1142, 1142, 1131, 1137, 1137, 1131, 1131, 1131, 
    6821      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1144, 
    6822      1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6823      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6824      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6825      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1138, 1138, 
    6826      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6827  
    6828      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6829      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6830      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6831      1138, 1138, 1138, 1138, 1138, 1145,  176,  176, 1131, 1146, 
    6832      1131, 1131, 1131, 1131, 1131, 1131, 1131,  187, 1131, 1131, 
    6833      1139, 1139, 1139, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 
    6834      1138, 1138, 1140, 1140, 1147, 1147, 1131, 1147, 1147, 1147, 
    6835       218,  218,  218,  218,  218, 1131, 1131, 1131, 1134, 1134, 
    6836      1135, 1135, 1136, 1136, 1142, 1137, 1137, 1131, 1131, 1131, 
    6837      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    6838  
    6839      1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6840      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6841      1138, 1138, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 
    6842      1138, 1138, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1131, 
    6843      1131, 1138, 1149, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 
    6844      1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6845      1131, 1131, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 
    6846      1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6847      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6848      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 
    6849  
    6850      1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 
    6851       176,  176, 1131, 1131, 1131, 1131, 1131, 1131, 1131,  187, 
    6852      1131, 1131, 1139, 1139, 1139, 1131, 1131, 1138, 1138, 1138, 
    6853      1138, 1138, 1138, 1131, 1140, 1140, 1140, 1147, 1147, 1147, 
    6854       218,  218,  218,  218, 1131, 1150, 1131, 1134, 1151, 1135, 
    6855      1152, 1136, 1153, 1137, 1154, 1131, 1131, 1131, 1131, 1131, 
    6856      1138, 1138, 1138, 1155, 1138, 1138, 1138, 1138, 1138, 1138, 
    6857      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1138, 1138, 
    6858      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 
    6859      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 
    6860  
    6861      1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1131, 1138, 
    6862      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6863      1138, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 
    6864      1138, 1138, 1138, 1138, 1131, 1138, 1138, 1138, 1138, 1138, 
    6865      1131, 1131, 1131, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 
    6866       176,  176, 1131, 1131, 1131, 1131, 1131, 1131,  176, 1131, 
    6867      1131, 1139, 1139, 1156, 1131, 1131, 1131, 1138, 1131, 1138, 
    6868      1138, 1131, 1131, 1131, 1140, 1140, 1147, 1157, 1147,  218, 
    6869       218, 1158,  218, 1159, 1131, 1131, 1160, 1134, 1161, 1135, 
    6870      1131, 1162, 1136, 1163, 1137, 1137, 1131, 1131, 1164, 1138, 
    6871  
    6872      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6873      1138, 1138, 1138, 1131, 1131, 1138, 1138, 1131, 1131, 1131, 
    6874      1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 
    6875      1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 
    6876      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6877      1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 
    6878      1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138,  176, 
    6879       176, 1131, 1131, 1131,  176, 1139, 1165, 1139, 1131, 1138, 
    6880      1138, 1138, 1140, 1140, 1166, 1147, 1147, 1167,  218, 1131, 
    6881      1131, 1131, 1134, 1135, 1131, 1136, 1137, 1137, 1131, 1138, 
    6882  
    6883      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6884      1131, 1138, 1138, 1131, 1131, 1138, 1131, 1131, 1131, 1131, 
    6885      1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6886      1138, 1138, 1131, 1168, 1138, 1138, 1138, 1138, 1138, 1138, 
    6887      1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6888      1131, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 1131, 1139, 
    6889      1139, 1131, 1138, 1131, 1138, 1140, 1140, 1147, 1147,  218, 
    6890      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 
    6891      1131, 1138, 1138, 1131, 1138, 1131, 1131, 1131, 1131, 1131, 
    6892      1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 
    6893  
    6894      1168, 1168, 1131, 1169, 1168, 1138, 1138, 1138, 1131, 1138, 
    6895      1138, 1138, 1138, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 
    6896      1139, 1131, 1138, 1138, 1140, 1140, 1147, 1138, 1138, 1138, 
    6897      1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1131, 1138, 
    6898      1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 
    6899      1138, 1138, 1131, 1169, 1169, 1168, 1169, 1169, 1138, 1131, 
    6900      1138, 1138, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 1139, 
    6901      1131, 1138, 1140, 1140, 1147, 1138, 1138, 1138, 1138, 1131, 
    6902      1131, 1138, 1138, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    6903      1131, 1138, 1138, 1138, 1138, 1131, 1168, 1131, 1138, 1131, 
    6904  
    6905      1131, 1138, 1138, 1131, 1139, 1131, 1140, 1140, 1147, 1138, 
    6906      1131, 1131, 1131, 1131, 1138, 1138, 1131, 1131, 1131, 1138, 
    6907      1138, 1138, 1131, 1168, 1131, 1138, 1131, 1131, 1139, 1131, 
    6908      1140, 1140, 1147, 1131, 1131, 1131, 1131, 1138, 1138, 1131, 
    6909      1131, 1138, 1131, 1168, 1131, 1138, 1131, 1139, 1131, 1140, 
    6910      1170, 1147, 1131, 1131, 1131, 1131, 1138, 1138, 1131, 1138, 
    6911      1131, 1168, 1131, 1138, 1131, 1139, 1131, 1140, 1170, 1131, 
    6912      1147, 1131, 1131, 1138, 1131, 1131, 1168, 1168, 1131, 1138, 
    6913      1131, 1139, 1131, 1140, 1147, 1131, 1138, 1168, 1169, 1131, 
    6914      1138, 1131, 1139, 1131, 1140, 1147, 1131, 1131, 1139, 1131, 
    6915  
    6916      1140, 1147, 1139, 1131, 1140, 1147, 1139, 1131, 1140, 1147, 
    6917      1139, 1131, 1140, 1147, 1139, 1131, 1140, 1147, 1139, 1131, 
    6918      1131, 1131, 1140, 1147, 1131, 1140, 1140, 1140, 1140, 1131, 
    6919         0, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    6920      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    6921      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    6922      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131 
     9007 
     9008     1138, 1138, 1138,  115,  115, 1882,  115,  115,  115,  115, 
     9009      115,  115,  115,  115,  115,  115,  115,  115,  115,  115, 
     9010      115, 1140, 1140, 1882, 1140, 1140, 1140, 1140, 1140, 1140, 
     9011     1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140,  118, 
     9012      118,  118,  118,  118,  118,  118,  118,  118,  118,  118, 
     9013      118,  118,  118,  118,  118,  118,  118, 1142, 1142, 1142, 
     9014     1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 
     9015     1142, 1142, 1142, 1142, 1142,  124,  124,  124,  124,  124, 
     9016      124,  124,  124,  124,  124,  124,  124,  124,  124,  124, 
     9017      124,  124,  124, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 
     9018 
     9019     1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 
     9020     1145,  629, 1882, 1882, 1882, 1882, 1882,  629, 1882, 1882, 
     9021     1882,  629, 1882,  629,  629,  629,  629,  629, 1150, 1150, 
     9022     1150, 1150,  913, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     9023      913, 1882, 1882, 1882,  913,  913,  913,  913,  913,  133, 
     9024     1882, 1882, 1882, 1882, 1882, 1882, 1882,  133, 1882,  133, 
     9025     1882,  133,  133,  133,  133,  133, 1156, 1156, 1882, 1156, 
     9026     1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 
     9027     1156, 1156, 1156, 1156,  925,  925,  925,  925,  925,  925, 
     9028      925,  925,  925,  925,  925,  925,  925,  925,  925,  925, 
     9029 
     9030      925,  925, 1168, 1168, 1882, 1168, 1168, 1168, 1168, 1168, 
     9031     1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 
     9032      710,  710,  710,  710,  710,  710, 1882,  710,  710,  710, 
     9033      710,  710,  710,  710,  710,  710,  710,  710,  711,  711, 
     9034     1882,  711,  711,  711,  711,  711,  711,  711,  711,  711, 
     9035      711,  711,  711,  711,  711,  711,  709,  709,  709,  709, 
     9036      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, 
     9037      709,  709,  709,  709, 1201, 1201, 1201, 1201, 1201, 1201, 
     9038     1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 
     9039     1201, 1201,  228,  228,  228,  228,  228,  228,  228,  228, 
     9040 
     9041      228,  228,  228,  228,  228,  228,  228,  228,  228,  228, 
     9042     1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 
     9043     1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,  240,  240, 
     9044      240,  240,  240,  240,  240,  240,  240,  240,  240,  240, 
     9045      240,  240,  240,  240,  240,  240,  243,  243,  243,  243, 
     9046      243,  243,  243,  243,  243,  243,  243,  243,  243,  243, 
     9047      243,  243,  243,  243, 1259, 1259, 1259, 1259, 1259, 1259, 
     9048     1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 
     9049     1259, 1259,  322,  322,  322,  322,  322,  322,  322,  322, 
     9050      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     9051 
     9052     1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 
     9053     1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312,  332,  332, 
     9054      332,  332,  332,  332,  332,  332,  332,  332,  332,  332, 
     9055      332,  332,  332,  332,  332,  332, 1321, 1321, 1321, 1321, 
     9056     1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 
     9057     1321, 1321, 1321, 1321, 1325, 1325, 1882, 1325, 1325, 1325, 
     9058     1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 
     9059     1325, 1325, 1326, 1326, 1882, 1326, 1326, 1326, 1326, 1326, 
     9060     1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 
     9061      115,  115, 1882,  115,  115,  115,  115,  115,  115,  115, 
     9062 
     9063      115,  115,  115,  115,  115,  115,  115,  115, 1327, 1327, 
     9064     1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 
     9065     1327, 1327, 1327, 1327, 1327, 1327,  118,  118,  118,  118, 
     9066      118,  118,  118,  118,  118,  118,  118,  118,  118,  118, 
     9067      118,  118,  118,  118, 1329, 1329, 1329, 1329, 1329, 1329, 
     9068     1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 
     9069     1329, 1329,  124,  124,  124,  124,  124,  124,  124,  124, 
     9070      124,  124,  124,  124,  124,  124,  124,  124,  124,  124, 
     9071     1332, 1882, 1882, 1882, 1882, 1882, 1332, 1882, 1882, 1882, 
     9072     1882, 1882, 1332, 1332, 1332, 1332, 1332, 1337, 1337, 1882, 
     9073 
     9074     1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 
     9075     1337, 1337, 1337, 1337, 1337,  629, 1882, 1882, 1882, 1882, 
     9076     1882, 1882,  629, 1882,  629, 1882, 1882,  629,  629,  629, 
     9077      629,  133, 1882, 1882, 1882, 1882, 1882, 1882, 1882,  133, 
     9078     1882,  133, 1882,  133,  133,  133,  133,  133,  632,  632, 
     9079      632,  632, 1347, 1347, 1882, 1347, 1347, 1347, 1347, 1347, 
     9080     1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 
     9081      710,  710,  710,  710,  710,  710, 1882,  710,  710,  710, 
     9082      710,  710,  710,  710,  710,  710,  710,  710,  711,  711, 
     9083     1882,  711,  711,  711,  711,  711,  711,  711,  711,  711, 
     9084 
     9085      711,  711,  711,  711,  711,  711, 1202, 1202, 1882, 1202, 
     9086     1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 
     9087     1202, 1202, 1202, 1202, 1201, 1201, 1201, 1201, 1201, 1201, 
     9088     1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 
     9089     1201, 1201,  228,  228,  228,  228,  228,  228,  228,  228, 
     9090      228,  228,  228,  228,  228,  228,  228,  228,  228,  228, 
     9091     1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 
     9092     1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411,  240,  240, 
     9093      240,  240,  240,  240,  240,  240,  240,  240,  240,  240, 
     9094      240,  240,  240,  240,  240,  240,  243,  243,  243,  243, 
     9095 
     9096      243,  243,  243,  243,  243,  243,  243,  243,  243,  243, 
     9097      243,  243,  243,  243, 1419, 1882, 1419, 1882, 1882, 1882, 
     9098     1882, 1419, 1882, 1882, 1419, 1419, 1419, 1419, 1419, 1419, 
     9099     1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 
     9100     1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1464, 1464, 
     9101     1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 
     9102     1464, 1464, 1464, 1464, 1464, 1464,  322,  322,  322,  322, 
     9103      322,  322,  322,  322,  322,  322,  322,  322,  322,  322, 
     9104      322,  322,  322,  322, 1466, 1466, 1466, 1466, 1466, 1466, 
     9105     1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 
     9106 
     9107     1466, 1466,  332,  332,  332,  332,  332,  332,  332,  332, 
     9108      332,  332,  332,  332,  332,  332,  332,  332,  332,  332, 
     9109      115,  115, 1882,  115,  115,  115,  115,  115,  115,  115, 
     9110      115,  115,  115,  115,  115,  115,  115,  115,  118,  118, 
     9111      118,  118,  118,  118,  118,  118,  118,  118,  118,  118, 
     9112      118,  118,  118,  118,  118,  118,  124,  124,  124,  124, 
     9113      124,  124,  124,  124,  124,  124,  124,  124,  124,  124, 
     9114      124,  124,  124,  124, 1332, 1882, 1882, 1882, 1882, 1882, 
     9115     1332, 1882, 1882, 1882, 1882, 1882, 1332, 1332, 1332, 1332, 
     9116     1332,  629, 1882, 1882, 1882, 1882, 1882, 1882,  629, 1882, 
     9117 
     9118      629, 1882, 1882,  629,  629,  629,  629,  133, 1882, 1882, 
     9119     1882, 1882, 1882, 1882, 1882,  133, 1882,  133, 1882,  133, 
     9120      133,  133,  133,  133,  632,  632,  632,  632, 1475, 1882, 
     9121     1475, 1882, 1882, 1882, 1882, 1475, 1882, 1882, 1475, 1475, 
     9122     1475, 1475, 1475, 1475, 1525, 1882, 1525, 1882, 1882, 1882, 
     9123     1882, 1525, 1882, 1882, 1525, 1525, 1525, 1525, 1525, 1525, 
     9124      480,  480,  480,  480,  480,  480,  480,  480,  480,  480, 
     9125      480,  480,  480,  480,  480,  480,  480,  480, 1607, 1607, 
     9126     1607, 1607, 1607, 1632, 1632, 1882, 1632, 1632, 1632, 1632, 
     9127     1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 
     9128 
     9129     1632,  661,  661,  661,  661,  661,  661,  661,  661,  661, 
     9130      661,  661,  661,  661,  661,  661,  661,  661,  661, 1672, 
     9131     1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 
     9132     1672, 1672, 1672, 1672, 1672, 1672, 1672, 1713, 1713, 1713, 
     9133     1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 
     9134     1713, 1713, 1713, 1713, 1713, 1733, 1733, 1733, 1733, 1733, 
     9135     1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 
     9136     1733, 1733, 1733, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 
     9137     1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 
     9138     1734, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 
     9139 
     9140     1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1758, 
     9141     1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 
     9142     1758, 1758, 1758, 1758, 1758, 1758, 1758, 1767, 1767, 1767, 
     9143     1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 
     9144     1767, 1767, 1767, 1767, 1767, 1770, 1770, 1770, 1770, 1770, 
     9145     1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 
     9146     1770, 1770, 1770, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 
     9147     1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 
     9148     1811, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 
     9149     1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1861, 
     9150 
     9151     1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 
     9152     1861, 1861, 1861, 1861, 1861, 1861, 1861, 1864, 1864, 1864, 
     9153     1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 
     9154     1864, 1864, 1864, 1864, 1864, 1867, 1867, 1867, 1867, 1867, 
     9155     1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 
     9156     1867, 1867, 1867, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 
     9157     1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 
     9158     1869, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 
     9159     1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1880, 
     9160     1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 
     9161 
     9162     1880, 1880, 1880, 1880, 1880, 1880, 1880,   17, 1882, 1882, 
     9163     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     9164     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     9165     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     9166     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     9167     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     9168     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     9169     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     9170     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882 
    69239171    } ; 
    69249172 
    6925 static yyconst flex_int16_t yy_nxt[4102] = 
    6926     {   0, 
    6927        14,   15,   16,   15,   17,   18,   14,   19,   20,   21, 
    6928        22,   23,   24,   25,   24,   26,   24,   27,   28,   29, 
    6929        29,   29,   29,   29,   29,   29,   29,   29,   29,   30, 
    6930        31,   32,   33,   34,   35,   36,   37,   38,   39,   40, 
    6931        41,   42,   43,   42,   42,   44,   45,   46,   47,   48, 
    6932        42,   49,   50,   51,   52,   42,   53,   42,   42,   54, 
    6933        24,   24,   42,   35,   36,   37,   38,   39,   40,   41, 
    6934        42,   43,   42,   44,   45,   46,   47,   48,   42,   49, 
    6935        50,   51,   52,   42,   53,   42,   42,   54,   14,   55, 
    6936        56,   57,   58,  222,   69,   68,   69,   70,   72,   76, 
    6937  
    6938        77,   76, 1094,   74,   78,   77,   78,   59,   59,   59, 
    6939        59,   59,   59,   59,   59,   59,   59,   75,  205,   80, 
    6940      1092,   73,  222,  208,   60,   61,  205,  223,   62,   70, 
    6941        63,   71,   74,   81,   83,   74,   87,   74,   74,   91, 
    6942        82,   64,   65,  691, 1070,   75,   92,   93,   80,   75, 
    6943        73,   75,   75,   60,   61,  223,  225,   62,   70,   63, 
    6944        71,   81,   83,   96,   74,  111,   74,   74,   84,   64, 
    6945        65,  209,   74,   88,   74,   74,   94,   75,  226,   75, 
    6946        75,   97,   85,  255,   74,  225,   75,   89,   75,   75, 
    6947        95,  227,  107,   83,  239,   74, 1070,   84,   75,  209, 
    6948  
    6949       624,   74,   88,   74,   74,   94,  226,   74,  625,   75, 
    6950        85,   74,  255,   74,   75,   89,   75,   75,   95,   74, 
    6951       227,   75,  239, 1065,   74,   75,   75,   78,   77,   78, 
    6952        76,   77,   76,   75,  240,  247,   74,   75,  248,  228, 
    6953        74,  179,  206,  205,  206,  112, 1030,  179,   74,   75, 
    6954        98,   74,   98,   75,   78,   77,   78,  224,   77,  224, 
    6955      1027,   75,  240,  247,  963,   75,  248,  228,   99,   99, 
    6956        99,   99,   99,   99,   99,   99,   99,   99,   74,  207, 
    6957        74,  114,  115,  100,  261,  116,  116,  101,   74,  102, 
    6958       212,  117,   75,   75,  103,  142,  104,  105,  118,  119, 
    6959  
    6960       121,  922,   75,  263,   87,  190,  106,   74,  207,   87, 
    6961       114,  115,  100,  261,  116,  116,  101,   74,  102,  117, 
    6962        75,  253,  103,  142,  104,  105,  118,  119,  121,   87, 
    6963        75,  120,  263,  116,  106,  108,  116,  109,  109,  109, 
    6964       109,  109,  109,  109,  109,  109,  109,  121,   83,  253, 
    6965       121,   91,  511,  230,  512,  110,  110,   74,   92,   93, 
    6966       120,  229,  116,  254,  256,  116,  245,  212,  110,  260, 
    6967       262,   75,  268,  116, 1131,  121,  246,  175,  121,  127, 
    6968       116,  230,  146,  128,  110,  110,   74,  121, 1131,  129, 
    6969       229,  254,  256,  130,  121,  245,  110,  260,  262,   75, 
    6970  
    6971       122,  268,  116, 1131,  246,  116,  116,  123,  127,  116, 
    6972       146,  124,  128,  212,  125,  121, 1131,  129,   91,  121, 
    6973       121,  130,  121,  190,  126,   92,   93,  179,  190,  122, 
    6974        78,   77,   78,  179,  116,  116,  123,  143,   87,  124, 
    6975       275,  147,  125,   87,  144,  145,  116,  121,  121,  148, 
    6976        83,  121,  126,  116,  753,  149,  211,  212,  211,  131, 
    6977       121,  132,  133,  754,  134,  135,  143,  121,  213,  275, 
    6978       147,  136,  144,  145,  264,  116,  241,   82,  148,  121, 
    6979       795,  212,  116,  149,  366,  367,  366,  131,  121,  132, 
    6980       133,  242,  134,  135,  214,  121,  259,  162,  116,  136, 
    6981  
    6982       116,  190,  264,  137,  762,  241,  138,  139,  215,  140, 
    6983       150,  753,  121,  260,  121,  141,  271,  255,  151,  242, 
    6984       754,  113,  152,  214,  153,  259,  162,  116,  257,  116, 
    6985       154,  698,  137,  243,  138,  139,  215,  140,  258,  150, 
    6986       121,  260,  121,  141,  271,  116,  255,  151,  244,  113, 
    6987       152,  158,  153,  155,  272,  156,  116,  257,  154,  121, 
    6988       157,  116,  243,  273,  274,  159,  258,  276,  160,  172, 
    6989       121,  161,  179,   87,  116,  121,  244,  534,  179,  277, 
    6990       158,  155,  272,  156,  534,  116,  278,  121,  157,  282, 
    6991       116,  273,  274,  159,   91,  276,  160,  172,  121,  161, 
    6992  
    6993       163,   92,   93,  121,  164,  116,  169,  277,  165,  643, 
    6994       116,  116,  173,  170,  278,  635,  166,  282,  285,  167, 
    6995       168,  286,  174,  171,  121,  121,  378,   77,  378,  163, 
    6996       560,  559,  295,  164,  116,  169,  287,  165,  290,  116, 
    6997       116,  173,  170,  237,  166,  196,  285,  167,  168,  286, 
    6998       174,  171,  121,  121,  176,   77,  177,  178,  186,  187, 
    6999       190,  295,  179,  557,  287,  191,  290,  511,  283,  512, 
    7000       296,  237,  197,  556,  284,  188,  188,  188,  188,  188, 
    7001       188,  188,  188,  188,  188,  297,  198,  298,  310,  180, 
    7002       181,  116,   74,  182,  116,  183,  283,  192,  296,  172, 
    7003  
    7004       200,  197,  284,  142,  203,  121,  184,  185,  121,  212, 
    7005       299,  193,  534,  297,  198,  190,  298,  310,  180,  181, 
    7006       116,   74,  182,  116,  183,  300,  192,  172,  200,  510, 
    7007       400,  142,  203,  121,  184,  185,  121,  143,  299,  193, 
    7008       194,  232,  233,  232,  144,  201,  179,  396,  395,  234, 
    7009       235,  121,  394,  300,  108,  393,  195,  195,  195,  195, 
    7010       195,  195,  195,  195,  195,  195,  143,  238,  238,  288, 
    7011        91,  288,  144,  201,  110,  110,   74,   92,   93,  121, 
    7012       238,  301,  265,  266,  302,  303,  304,  110,  267,  307, 
    7013        75,  313,  212,  651,  319,  652,  238,  238,  320,  212, 
    7014  
    7015       323,  269,  236,  110,  110,   74,  270,  330,  238,  301, 
    7016       265,  266,  302,  303,  304,  110,  267,  307,   75,  199, 
    7017       313,  289,  319,  127,  116,  205,  320,  128,  323,  190, 
    7018       269,  236,  190,  129,  344,  270,  330,  130,  121,  308, 
    7019       169,  190,  309,  279,  321,  116,  291,  170,  199,  289, 
    7020       280,  322,  127,  116,  281,  331,  128,  171,  292,  121, 
    7021       293,  129,  344,  294,  202,  130,  121,  308,   87,  169, 
    7022       309,   87,  279,  321,  116,  291,  170,   83,  280,  322, 
    7023       205,  651,  281,  652,  331,  171,  292,  121,  293,  921, 
    7024      1131,  294,  202,  210,  211,  212,  211,  210,  210,  210, 
    7025  
    7026       216,  210,  210,  210,  210,  210,  210,  210,  210,  210, 
    7027       210,  210,  217,  217,  217,  217,  217,  217,  217,  217, 
    7028       217,  217,  210,  210,  210,  210,  210,  197,  217,  217, 
    7029       217,  217,  218,  217,  123,  217,  217,  217,  219,  217, 
    7030       217,  198,  217,  217,  217,  217,  220,  217,  217,  217, 
    7031       217,  221,  217,  210,  210,  217,  197,  217,  217,  217, 
    7032       217,  218,  217,  123,  217,  217,  219,  217,  217,  198, 
    7033       217,  217,  217,  217,  220,  217,  217,  217,  217,  221, 
    7034       217,  210,   98,  251,   98,  251,   68,  305,  252,  252, 
    7035       252,  252,  252,  252,  252,  252,  252,  252,  311,  366, 
    7036  
    7037       367,  366,  306,  345,  312,  332,  667,  326,  667,  328, 
    7038       333,  335, 1131,  329,  334,  100,  305,  347,  327,  101, 
    7039       343,  102,  205,  669,  355,  669,  103,  311,  104,  105, 
    7040       306,  345,  312,  314,  332,  315,  326,  328,  106,  333, 
    7041       335,  329, 1131,  334,  100,  347,  327, 1131,  101,  343, 
    7042       102,  316,  317,  355,  103,  318,  104,  105,  337,  358, 
    7043       338, 1131,  314,  190,  315, 1131,  106,  250,  250,  250, 
    7044       250,  250,  250,  250,  250,  250,  250,  324,  341,  316, 
    7045       317,  223,  925,  318,  362,  110,  110,  358,  346,  190, 
    7046       359,  325,  342,  190,  260,  351, 1131,  233,  110,  361, 
    7047  
    7048      1131,  205,  212, 1131,  385,  235,  324,  341, 1131,  223, 
    7049       339,  186,  348,  362,  110,  110,  346,  205,  359,  325, 
    7050       342,  352,  260, 1131,  351, 1131,  110,  361,  349,  349, 
    7051       349,  349,  349,  349,  349,  349,  349,  349,  339,  350, 
    7052       262,  770,  353,  771,  390,  179,  209,  356,  376,  363, 
    7053       352,  369,  377, 1131, 1131,  349,  349,  349,  349,  349, 
    7054       349,  349,  349,  349,  349,  350,  265,  357,  262,  212, 
    7055       353,  179,  267,  390,  209,  356,  376, 1131,  363,  369, 
    7056       377,  349,  349,  349,  349,  349,  349,  349,  349,  349, 
    7057       349,  350,  205,  379,  265,  357,  212,  179, 1131,  391, 
    7058  
    7059       267,  368,  206,  205,  206,  108,  291,  354,  354,  354, 
    7060       354,  354,  354,  354,  354,  354,  354,  380,  292,  399, 
    7061       293,  379,   83,  360,   87,  110,  110,  364,  370,  371, 
    7062       368,  375, 1131, 1131,  408,  291,  233,  392,  110,  207, 
    7063        87, 1131,   83,  385,  235,  380,  292,  399,  293, 1131, 
    7064       770,  360,  771, 1131,  110,  110,  364,  370,  371, 1131, 
    7065       375,  397,  381,  408, 1131,  392,  110,  383,  207,  365, 
    7066       365,  212,  365,  365,  365,  365,  365,  365,  365,  365, 
    7067       365,  365,  365,  365,  365,  365,  365,  365,  371,  371, 
    7068       381,  382,  384,  401,  398,  383,  404,  405,  365,  365, 
    7069  
    7070       365,  365,  365,  373,   91,  374,  232,  233,  232,  406, 
    7071       407,   92,   93,  409,  234,  235, 1131,  371,  371,  382, 
    7072       384,  401,  398, 1131,  404,  405,  232,  233,  232,  365, 
    7073       365,  373, 1131,  374,  234,  235,   91,  406,  407, 1131, 
    7074       388,  409,  388,   92,   93,  389,  389,  389,  389,  389, 
    7075       389,  389,  389,  389,  389,  410,  387,  365,  365,  365, 
    7076       212,  365,  365,  365,  365,  365,  365,  365,  365,  365, 
    7077       365,  365,  365,  365,  365,  365,  365,  411,  412,  386, 
    7078       547,   77,  547,  410,  387, 1131, 1131,  365,  365,  365, 
    7079       365,  365,  372,  252,  252,  252,  252,  252,  252,  252, 
    7080  
    7081       252,  252,  252,  413,  414,  411,  412,  386,  252,  252, 
    7082       252,  252,  252,  252,  252,  252,  252,  252,  365,  365, 
    7083       402,  372,  402,  686,   77,  686, 1131, 1131,  417,  419, 
    7084       403,  413,  414,  415,  420,  421,  416, 1131,  422,  423, 
    7085       424,  425,  426, 1131, 1131,  418,  365,  250,  250,  250, 
    7086       250,  250,  250,  250,  250,  250,  250,  417,  419,  439, 
    7087       444,  415,  420,  421,  416,  238,  238,  422,  423,  424, 
    7088       425,  426,  437,  418,  437,  445,  446,  440,  238,  440, 
    7089      1131, 1131,  442,  443,  447,  448,  450,  448,  439,  444, 
    7090       451, 1131,  453,  454,  238,  238,  455,  456,  288,  457, 
    7091  
    7092       288,  460, 1131,  438,  445,  446,  238,  427,  441,  427, 
    7093       442,  443,  447,  458,  450,  470,  449, 1131,  469,  451, 
    7094       453,  454, 1131,  471,  455,  456,  459,  457,  474, 1131, 
    7095       460,  461,  472,  461,  472, 1131,  475,  465,  428,  465, 
    7096       476,  462,  458,  429,  470,  430,  469,  466,  431, 1131, 
    7097       452,  471,  432,  478,  459,  433,  477,  474,  434,  435, 
    7098       479, 1131,  436,  473,  475,  480,  481,  484,  476,  485, 
    7099       488,  482,  429,  489,  430,  463,  490,  431,  452,  483, 
    7100       432,  467,  478,  433,  477,  464,  434,  435,  491,  479, 
    7101       436,  468,  486,  480,  481,  492,  484,  485,  488,  482, 
    7102  
    7103       487,  489,  493,  463,  490,  494,  495,  483,  496,  467, 
    7104       497,  498,  499,  464,  502,  503,  500,  491,  500,  468, 
    7105       504,  486,  505,  506,  492,  507,  501,  508,  487,  509, 
    7106       346,  493,  513,  494,  514,  495,  496,  515,  497,  498, 
    7107       499,  516,  517,  502,  503,  518,  519,  190,  504, 1131, 
    7108       505,  506, 1131,  507,  190,  508,  205,  509,  346,  511, 
    7109       513,  520,  514,  190, 1131,  515,  527,  528,  530,  516, 
    7110       517,  417,  531,  518,  545,  519,  212,  521,  521,  521, 
    7111       521,  521,  521,  521,  521,  521,  521,  522,  529,  212, 
    7112       524,  533,  523,  179,  535,  527,  528,  530,  371, 1131, 
    7113  
    7114       417,  531,  545,  521,  521,  521,  521,  521,  521,  521, 
    7115       521,  521,  521,  522,  212,  525,  529,  212,  524,  179, 
    7116       533,  523,  546,  535,  548,   87, 1131,  371,  539,  521, 
    7117       521,  521,  521,  521,  521,  521,  521,  521,  521,  190, 
    7118      1131,  532,  371,  525,  522,  536,  205,  536,   83,  927, 
    7119       179,  546,  548,  541,  459,  540,  539,  538,  108,  371, 
    7120       526,  526,  526,  526,  526,  526,  526,  526,  526,  526, 
    7121       532,  371,  371,  549,   87,  552,   83,  542,  110,  110, 
    7122      1131,  541,  459,  371,  540,  538,  537,  562,  371,  233, 
    7123       558,  110,  543,  561,  544,  550,  385,  235,  667, 1029, 
    7124  
    7125       667,  371,  549,  552, 1131,  542,   91,  110,  110,  551, 
    7126       553, 1131,  371,   92,   93,  537,  562,   91,  558,  110, 
    7127       543,  561,  544,  550,   92,   93,  389,  389,  389,  389, 
    7128       389,  389,  389,  389,  389,  389,  563,  564,  551,  553, 
    7129       389,  389,  389,  389,  389,  389,  389,  389,  389,  389, 
    7130       402,  565,  402,  555,  566, 1131,  554,  567, 1131,  568, 
    7131       403,  569,  570,  571,  572,  563,  564,  573,  574,  575, 
    7132       576,  577,  578,  589,  578,  590,  591, 1131,  592,  565, 
    7133       593,  596,  555,  566,  554,  597,  567,  568,  594,  569, 
    7134       570,  598,  571,  572,  599,  573,  574,  575,  576,  577, 
    7135  
    7136       437,  589,  437,  590,  595,  591,  592,  602,  593,  596, 
    7137       440,  605,  440,  579,  597,  606,  603,  594,  603,  598, 
    7138       607,  448,  599,  448,  212,  608,  609,  580,  610, 1131, 
    7139       613,  438,  595,  611,  612,  602,  614,  616,  617,  605, 
    7140       619,  441,  579,  615,  606,  618,  621,  604,  620,  607, 
    7141      1131,  622,  449,  608,  609,  580,  427,  610,  427,  613, 
    7142       623,  611,  612, 1131,  629,  614,  616,  617,  461,  619, 
    7143       461,  615,  465,  618,  465,  621,  620,  627,  462,  622, 
    7144       632,  472,  466,  472, 1033,  628,  630,  428,  623,  631, 
    7145       633,  624,  581,  629,  582,  634,  640,  583,  645,  625, 
    7146  
    7147       636,  584, 1131,  637,  585,  627,  638,  586,  587,  632, 
    7148       639,  588,  473,  628,  630, 1131, 1131,  631,  633, 1131, 
    7149       646,  581,  646,  582,  634,  640,  583,  645,  636,  584, 
    7150       626,  637,  585,  644,  638,  586,  587, 1131,  639,  588, 
    7151       600,  600,  600,  600,  600,  600,  600,  600,  600,  600, 
    7152       600,  647,  600,  600,  600,  600,  600,  600,  600,  626, 
    7153       648,  644,  649,  650,  641,  500,  641,  500,  653,  600, 
    7154       600,  600,  600,  600,  642,  501,  654,  655,  656,  657, 
    7155       658,  190,  190,  669,  205,  669,  190, 1131,  667,  648, 
    7156       667,  649,  650,  651,  668,  659,  666,  653,  701,  205, 
    7157  
    7158       600,  600,  571,  212,  654,  670,  655,  656,  657,  658, 
    7159       205,  660,  660,  660,  660,  660,  660,  660,  660,  660, 
    7160       660,  661,  664,  668,  666,  684,  701,  179,  600,  703, 
    7161       662,  571,  663,  675,  670, 1131, 1131,  660,  660,  660, 
    7162       660,  660,  660,  660,  660,  660,  660,  661, 1131,  212, 
    7163       212,  664,  679,  179,  684,  676,  705,  703,  662, 1050, 
    7164       663,  675, 1131,  660,  660,  660,  660,  660,  660,  660, 
    7165       660,  660,  660,  661,  614,  536,  205,  536, 1131,  179, 
    7166       679,  615,  687,  676,  705,  671,  678,  108,  371,  665, 
    7167       665,  665,  665,  665,  665,  665,  665,  665,  665,  677, 
    7168  
    7169       672, 1131,  672,  614,   87,   83,  680,  110,  110,  615, 
    7170       673,  687,  699,  671,  674,  678,  537,  371,  371, 1131, 
    7171       110,  371,  681,   91,  371,  682,  700,  677,  683,  704, 
    7172        92,   93,  706,  712,  680,   91,  110,  110,  689,  713, 
    7173       692,  699,  696,  697,  707,  537,  708,  371,  110,  709, 
    7174       371,  681,  710,  371,  682,  700,  711,  683,  704,  694, 
    7175      1131,  706,  712,  718,  770,  186,  775,  689,  713,  692, 
    7176      1131,  578,  707,  578,  708, 1131,  641,  709,  641,  716, 
    7177       710,  717, 1131,  719,  711,  720,  642,  721,  694,  685, 
    7178       685,  718,  685,  685,  685,  685,  685,  685,  685,  685, 
    7179  
    7180       685,  685,  685,  685,  685,  685,  685,  685,  716,  722, 
    7181       717,  719,  714,  723,  720,  721,  725,  726,  685,  685, 
    7182       685,  685,  685,  727,  728, 1131,  715,  729,  730,  724, 
    7183       731, 1131,  732,  733,  734,  739,  735,  722,  735, 1131, 
    7184       737,  714,  723,  603,  725,  603,  726,  738,  742,  685, 
    7185       685,  727,  740,  728,  715,  729,  730,  724,  741,  731, 
    7186       732,  743,  733,  734,  739,  744,  745,  736,  737,  746, 
    7187       747, 1131,  748,  749,  604,  738,  742,  685,  750,  751, 
    7188       752,  740,  755, 1131,  756,  757,  758,  741,  759,  760, 
    7189       743,  761,  766,  744,  745,  763,  764,  765,  746,  747, 
    7190  
    7191       748,  767,  749,  768,  769,  646,  750,  646,  751,  752, 
    7192       772,  755,  756,  773,  757,  758,  759,  774,  760,  190, 
    7193       761,  766,  190,  763,  764,  765,  779,  780,  669,  767, 
    7194       669,  768,  769,  672,  781,  672,  647,  782,  672,  772, 
    7195       672,  205,  773,  673,  371,  774,  205,  674,  673,  674, 
    7196       371,  674,  674,  212,  212,  779,  780,  801,  777,  776, 
    7197        91, 1131,  781,  674,   91,  371,  782,  798,  799,  788, 
    7198        91,   92,   93,  371,  802,  803, 1131,   92,   93,  371, 
    7199       770,  833,  771,  833,  190,  801,  783,  777,  776,  179, 
    7200       785,  834,  784,  787,  371,  179, 1131,  804,  788,  805, 
    7201  
    7202       806,  807,  802,  108,  803,  109,  109,  109,  109,  109, 
    7203       109,  109,  109,  109,  109,  783,  808, 1131,  809,  785, 
    7204       784,  810,  787,  110,  110,  804,  814,  805,  806,  807, 
    7205       815,  816, 1131,  817,  818, 1131,  110,  851, 1131,  851, 
    7206       770,  864,  770,  864, 1093,  808,  809,  852, 1131,  864, 
    7207       810,  864,  110,  110,  811,  814,  811,  819,  820,  815, 
    7208       816,  817,  821,  818,  110,  786,  786,  212,  786,  786, 
    7209       786,  786,  786,  786,  786,  786,  786,  786,  786,  786, 
    7210       786,  786,  786,  786,  822,  819,  820,  823,  824,  812, 
    7211       826,  821,  825,  827,  786,  786,  786,  786,  786,  828, 
    7212  
    7213       829, 1131,  813,  830,  831,  735,  832,  735,  205,  835, 
    7214       836,  837,  822,  838, 1131,  839,  823,  824,  812,  826, 
    7215       825,  840,  827,  841,  844,  786,  786,  828,  846,  829, 
    7216       813,  830,  831, 1131, 1131,  832,  736,  835, 1131,  836, 
    7217       837,  845,  838,  839,  847,  770,  186,  775,  833,  840, 
    7218       833,  841,  844,  786,  791,   77,  791,  846,  834,  792, 
    7219       792,  842,  792,  842, 1131, 1131,  792,  792, 1095,  845, 
    7220       792, 1131,  847,  792,  792,  792,  792,  792,  792,  792, 
    7221       792,  792,  790,  790,  190,  790,  790,  790,  790,  790, 
    7222       790,  790,  790,  790,  790,  790,  790,  790,  790,  790, 
    7223  
    7224       790,  848,  849,  205,  850,  853, 1131,  856,  858,  843, 
    7225       857,  790,  790,  790,  790,  790,  854,  859,  854,  862, 
    7226       865,  860,  205,  212,  863,  371,  791,   77,  791,  848, 
    7227       873,  849,  850,  879,  853,  856,  858,  843,  874,  857, 
    7228       866, 1131,  790,  790,  875,  876,  859,  877,  862,  865, 
    7229       860,  855,  863,  878,  371,   91,  882,   91,  867,  873, 
    7230       869,  879,   92,   93,   92,   93,  864,  874,  864,  866, 
    7231       790, 1131, 1131,  875,  876, 1131,  877,  811, 1131,  811, 
    7232       855,  871,  878,  883,  882,  872,  884,  867,  885,  869, 
    7233       868,  868,  212,  868,  868,  868,  868,  868,  868,  868, 
    7234  
    7235       868,  868,  868,  868,  868,  868,  868,  868,  868,  886, 
    7236       871,  883,  880,  888,  872,  884,  885,  887,  889,  868, 
    7237       868,  868,  868,  868,  890,  881,  891, 1131,  892,  893, 
    7238       894,  895,  896, 1131,  897,  898,  899,  908,  886,  900, 
    7239       212,  880,  888,  906,  907,  887,  842,  889,  842,  910, 
    7240       868,  868,  890,  881,  911,  891,  892,  893,  894,  895, 
    7241       912,  896,  897,  913,  898,  899,  908,  900,  902,  903, 
    7242       902,  906,  907,  851,  914,  851,  904,  910,  868,  905, 
    7243       915,  917,  911,  852,  854,  918,  854,  919,  912,  920, 
    7244       205,  924,  913,  923,  909,  371,  928, 1131,  929,  930, 
    7245  
    7246      1096,  931,  932,  914,  933,  934,  935,  936,  915,  937, 
    7247       917,  938, 1131,  939,  918,  919,  940,  944,  920,  916, 
    7248       924,  923,  909,  941,  371,  928,  929,  942,  930,  931, 
    7249       932,  943,  933,  934,  935,  936,  945,  937,  950,  926, 
    7250       938,  939,  946,  947,  948,  940,  944,  949,  916,  951, 
    7251       952,  941,  902,  903,  902,  942,  953,  903,  953,  943, 
    7252       904,  960, 1131,  905,  945,  961,  950,  926, 1131,  959, 
    7253       964,  946,  947,  948,  962,  965,  949,  951,  952,  902, 
    7254       903,  902,  966,  955,  956,  955,  967,  904,  968,  960, 
    7255       905,  957,  969,  961,  958,  902,  903,  902,  959,  964, 
    7256  
    7257       190,  971,  962,  904,  965,  972,  905,  205,  205,  212, 
    7258       966,  976,  977,  978,  967, 1131,  968,  979, 1131,  980, 
    7259       981,  969,  982,  983,  984,  987,  985,  988,  985,  989, 
    7260       971,  990,  991,  992,  972,  970,  986,  993,  994,  976, 
    7261       977,  978,  995,  973,  975,  974,  979,  980, 1131,  981, 
    7262       982, 1131,  983,  984,  987,  999,  988,  998,  989,  990, 
    7263       991,  992, 1131, 1131,  970,  993,  994,  996,  903,  996, 
    7264      1001,  995,  973,  975,  974,  955,  956,  955,  190,  955, 
    7265       956,  955, 1000,  957,  999,  998,  958,  957, 1002,  205, 
    7266       958,  997,  956,  997, 1003,  955,  956,  955, 1001,  904, 
    7267  
    7268      1004,  212,  905,  957, 1006,  205,  958,  955,  956,  955, 
    7269      1010, 1000, 1011, 1013, 1011,  957, 1014, 1002,  958, 1131, 
    7270      1015, 1016, 1012, 1003, 1005,  985,  985,  985,  985, 1004, 
    7271      1017, 1018, 1006, 1019, 1007,  986,  986, 1008, 1021, 1010, 
    7272      1020, 1013, 1022,  205,  205, 1014, 1131, 1009, 1015, 1025, 
    7273      1016, 1131, 1005, 1023,  903, 1023, 1026, 1028, 1017, 1018, 
    7274      1036, 1019, 1007, 1039, 1037, 1038, 1008, 1021, 1020, 1040, 
    7275      1041, 1022, 1024,  903, 1024, 1009, 1042, 1032, 1025, 1031, 
    7276       904,  205, 1011,  905, 1011, 1026, 1028, 1034, 1036, 1034, 
    7277      1045, 1039, 1012, 1037, 1038, 1046,  190, 1040, 1047, 1041, 
    7278  
    7279      1035, 1049, 1035,  212, 1042, 1056, 1032, 1055, 1031, 1043, 
    7280       903, 1043, 1044,  903, 1044, 1131, 1057, 1051, 1035, 1045, 
    7281       904, 1058, 1060,  905, 1046, 1034, 1047, 1034, 1063, 1049, 
    7282      1059,  190, 1053, 1056, 1053,  212, 1055, 1064, 1035,  205, 
    7283      1035, 1048, 1073, 1054, 1057, 1035, 1051, 1035, 1052, 1075, 
    7284      1058, 1060, 1061,  903, 1061, 1067, 1035, 1063, 1059, 1062, 
    7285       903, 1062, 1053, 1035, 1053, 1064, 1072,  904, 1074, 1048, 
    7286       905, 1073, 1079, 1054, 1068,  205, 1052, 1066, 1075, 1080, 
    7287      1081, 1071, 1131, 1067, 1078,  903, 1078,  190,  212, 1083, 
    7288      1131, 1086,  904, 1131, 1072,  905, 1074, 1087, 1131, 1090, 
    7289  
    7290      1079,  190,  205, 1068,  190, 1066, 1131, 1080, 1081, 1071, 
    7291      1076,  903, 1076,  205, 1131, 1077, 1077, 1083, 1077, 1086, 
    7292      1097, 1084, 1077, 1077, 1091, 1087, 1077, 1090, 1098, 1077, 
    7293      1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1082, 1085, 
    7294      1076,  903, 1076,  902,  903,  902, 1131, 1100, 1097, 1084, 
    7295      1103,  904,  212, 1091,  905, 1099, 1108, 1098, 1101,  205, 
    7296       212,  205, 1113, 1131,  190, 1131, 1082, 1085,  902,  903, 
    7297       902, 1104,  205, 1088, 1088, 1100, 1089,  190, 1103,  905, 
    7298      1088, 1088,  212, 1099, 1088, 1108, 1101, 1088, 1088, 1088, 
    7299      1088, 1088, 1088, 1088, 1088, 1088,  902,  903,  902, 1104, 
    7300  
    7301       955,  956,  955, 1102,  904, 1105,  190,  905,  957, 1106, 
    7302      1112,  958, 1109, 1107,  212, 1115, 1116,  212, 1110, 1119, 
    7303      1120, 1119,  205, 1117, 1121, 1122, 1121, 1124, 1125, 1124, 
    7304       205, 1102,  205, 1105, 1119, 1120, 1119, 1106, 1111, 1112, 
    7305      1109,  205, 1107, 1115, 1116, 1131, 1114, 1110, 1121, 1122, 
    7306      1121, 1117, 1124, 1125, 1124, 1129, 1130, 1129, 1129, 1130, 
    7307      1129, 1131, 1131, 1131, 1127, 1131, 1126, 1111, 1118, 1131, 
    7308      1131, 1123, 1131, 1131, 1131, 1114, 1131, 1131, 1131, 1131, 
    7309      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7310      1131, 1131, 1128, 1127, 1131, 1126, 1118, 1131, 1131, 1123, 
    7311  
    7312      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7313      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7314      1128,   66,   66,   66,   66,   66,   66,   66,   66,   66, 
    7315        66,   66,   66,   66,   67,   67,   67,   67,   67,   67, 
    7316        67,   67,   67,   67,   67,   67,   67,   79, 1131,   79, 
    7317        79,   79,   79,   79,   79,   79,   79,   79,   79,   79, 
    7318        82,   82,   82,   82,   82,   82,   82,   82,   82,   82, 
    7319        82,   82,   82,   86,   86,   86,   86,   86,   86,   86, 
    7320        86,   86,   86,   86,   86,   86,   90,   90,   90,   90, 
    7321        90,   90,   90,   90,   90,   90,   90,   90,   90,  113, 
    7322  
    7323       113,  113,  113,  113,  113,  113,  113,  113,  189,  189, 
    7324       189,  189,  189,  189,  189,  189,  189,  189,  189,  189, 
    7325       189,  204,  204,  204,  204,  204,  204,  204,  204,  204, 
    7326       204,  204,  204,  204,  210,  210,  210,  210,  210, 1131, 
    7327       210,  210,  210, 1131,  210, 1131,  210,  231,  231,  231, 
    7328       231,  231,  231,  231,  231,  231,  231,  231,  231,  231, 
    7329        99, 1131, 1131, 1131, 1131, 1131, 1131, 1131,   99,  249, 
    7330       249, 1131,  249,  249, 1131,  249, 1131, 1131,  249,  249, 
    7331      1131,  249,  336,  336,  336,  336,  340,  340,  340,  340, 
    7332       340,  340,  340,  340,  340,  340,  340,  340,  340,  365, 
    7333  
    7334       365,  365,  365,  365,  365,  365,  365,  365,  365,  365, 
    7335       365,  365,  371,  371,  371,  371,  371,  371,  371,  371, 
    7336       371,  371,  371,  371,  371,  601,  601,  601, 1131,  601, 
    7337       601,  601,  601,  601,  601,  601,  601,  601,  685, 1131, 
    7338       685,  685,  685,  685,  685,  685,  685,  685,  685,  685, 
    7339       685,  688, 1131,  688,  688,  688,  688,  688,  688,  688, 
    7340       688,  688,  688,  688,  690,  690,  690,  690,  690,  690, 
    7341       690,  690,  690,  690,  690,  690,  690,  693,  693,  693, 
    7342       693,  693,  693,  693,  693,  693,  693,  693,  693,  693, 
    7343       695,  695,  695,  695,  695,  695,  695,  695,  695,  695, 
    7344  
    7345       695,  695,  695,  702, 1131,  702,  702,  702,  702,  702, 
    7346       702,  702,  702,  702,  702,  702,  778,  778,  778,  778, 
    7347       778,  778,  778,  778,  778,  778,  778,  778,  778,  786, 
    7348       786,  786,  786,  786,  786,  786,  786,  786,  786,  786, 
    7349       786,  786,  789,  789,  789,  789,  789,  789,  789,  789, 
    7350       789,  789,  789,  789,  789,  790, 1131,  790,  790,  790, 
    7351       790,  790,  790,  790,  790,  790,  790,  790,  793, 1131, 
    7352       793,  793,  793,  793,  793,  793,  793,  793,  793,  793, 
    7353       793,  794,  794,  794,  794,  794,  794,  794,  794,  794, 
    7354       794,  794,  794,  794,  796,  796,  796,  796,  796,  796, 
    7355  
    7356       796,  796,  796,  796,  796,  796,  796,  797,  797,  797, 
    7357       797,  797,  797,  797,  797,  797,  797,  797,  797,  797, 
    7358       800, 1131,  800,  800,  800,  800,  800,  800,  800,  800, 
    7359       800,  800,  800,  861,  861,  861,  861,  861,  861,  861, 
    7360       861,  861,  861,  861,  861,  861,  868,  868,  868,  868, 
    7361       868,  868,  868,  868,  868,  868,  868,  868,  868,  870, 
    7362       870,  870,  870,  870,  870,  870,  870,  870,  870,  870, 
    7363       870,  870,  901,  901,  901,  901,  901,  901,  901,  901, 
    7364       901,  901,  901,  901,  901,  954,  954,  954,  954,  954, 
    7365       954,  954,  954,  954,  954,  954,  954,  954, 1069, 1069, 
    7366  
    7367      1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 
    7368      1069,   13, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7369      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7370      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7371      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7372      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7373      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7374      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7375      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7376      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7377  
    7378      1131 
    7379     } ; 
    7380  
    7381 static yyconst flex_int16_t yy_chk[4102] = 
     9173static yyconst flex_int16_t yy_chk[9689] = 
    73829174    {   0, 
    73839175        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
     
    73899181        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    73909182        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    7391         1,    1,    1,    1,    1,    1,    1,    1,    1,    2, 
    7392         2,    2,    2,   74,    8,    8,    8,    8,   10,   15, 
    7393  
    7394        15,   15, 1083,   14,   16,   16,   16,    2,    2,    2, 
    7395         2,    2,    2,    2,    2,    2,    2,   14,   70,   17, 
    7396      1081,   10,   74,   70,    2,    2,   71,   75,    2,    8, 
    7397         2,    8,   14,   17,   18,   19,   21,   15,   20,   22, 
    7398       551,    2,    2,  551, 1069,   14,   22,   22,   17,   19, 
    7399        10,   15,   20,    2,    2,   75,   80,    2,    8,    2, 
    7400         8,   17,   84,   23,   19,   30,   15,   20,   18,    2, 
    7401         2,   71,   24,   21,   26,   30,   22,   19,   81,   15, 
    7402        20,   25,   18,  116,   23,   80,   24,   21,   26,   30, 
    7403        22,   84,   28,   85,  100,   31, 1051,   18,   23,   71, 
    7404  
    7405       624,   24,   21,   26,   30,   22,   81,   25,  624,   31, 
    7406        18,   32,  116,   23,   24,   21,   26,   30,   22,   28, 
    7407        84,   25,  100, 1047,   31,   32,   23,   56,   56,   56, 
    7408        76,   76,   76,   28,  101,  105,   25,   31,  106,   85, 
    7409        32,  179,   69,   69,   69,   33, 1006,  179,   28,   25, 
    7410        27,   33,   27,   32,   77,   77,   77,   78,   78,   78, 
    7411      1000,   28,  101,  105,  914,   33,  106,   85,   27,   27, 
    7412        27,   27,   27,   27,   27,   27,   27,   27,   34,   69, 
    7413        33,   35,   35,   27,  120,   35,   41,   27,   27,   27, 
    7414       868,   35,   34,   33,   27,   41,   27,   27,   35,   35, 
    7415  
    7416        41,  862,   27,  123,   89,  861,   27,   34,   69,  796, 
    7417        35,   35,   27,  120,   35,   41,   27,   27,   27,   35, 
    7418        34,  114,   27,   41,   27,   27,   35,   35,   41,   88, 
    7419        27,   36,  123,   42,   27,   29,   36,   29,   29,   29, 
    7420        29,   29,   29,   29,   29,   29,   29,   42,  794,  114, 
    7421        36,   90,  337,   89,  337,   29,   29,   29,   90,   90, 
    7422        36,   88,   42,  115,  117,   36,  104,  786,   29,  121, 
    7423       122,   29,  126,   44,  109,   42,  104,   54,   36,   38, 
    7424        38,   89,   44,   38,   29,   29,   29,   44,  109,   38, 
    7425        88,  115,  117,   38,   38,  104,   29,  121,  122,   29, 
    7426  
    7427        37,  126,   44,  109,  104,   37,   54,   37,   38,   38, 
    7428        44,   37,   38,  785,   37,   44,  109,   38,   92,   37, 
    7429        54,   38,   38,  778,   37,   92,   92,  660,  777,   37, 
    7430       186,  186,  186,  660,   37,   54,   37,   43,  693,   37, 
    7431       132,   45,   37,  692,   43,   43,   45,   37,   54,   45, 
    7432       690,   43,   37,   39,  625,   45,   72,   72,   72,   39, 
    7433        45,   39,   39,  625,   39,   39,   43,   39,   72,  132, 
    7434        45,   39,   43,   43,  124,   45,  102,  689,   45,   43, 
    7435       689,  678,   39,   45,  211,  211,  211,   39,   45,   39, 
    7436        39,  102,   39,   39,   72,   39,  119,   49,   49,   39, 
    7437  
    7438        40,  664,  124,   40,  635,  102,   40,   40,   72,   40, 
    7439        46,  753,   49,  119,   40,   40,  128,  143,   46,  102, 
    7440       753,   46,   46,   72,   46,  119,   49,   49,  118,   40, 
    7441        46,  558,   40,  103,   40,   40,   72,   40,  118,   46, 
    7442        49,  119,   40,   40,  128,   47,  143,   46,  103,   46, 
    7443        46,   48,   46,   47,  129,   47,   48,  118,   46,   47, 
    7444        47,   52,  103,  130,  131,   48,  118,  133,   48,   52, 
    7445        48,   48,  661,  553,   47,   52,  103,  534,  661,  134, 
    7446        48,   47,  129,   47,  519,   48,  135,   47,   47,  137, 
    7447        52,  130,  131,   48,   95,  133,   48,   52,   48,   48, 
    7448  
    7449        50,   95,   95,   52,   50,   50,   51,  134,   50,  496, 
    7450        53,   51,   53,   51,  135,  487,   50,  137,  139,   50, 
    7451        50,  140,   53,   51,   53,   51,  224,  224,  224,   50, 
    7452       401,  399,  146,   50,   50,   51,  141,   50,  144,   53, 
    7453        51,   53,   51,   95,   50,   60,  139,   50,   50,  140, 
    7454        53,   51,   53,   51,   55,   55,   55,   55,   57,   57, 
    7455        58,  146,   55,  392,  141,   58,  144,  338,  138,  338, 
    7456       147,   95,   60,  390,  138,   57,   57,   57,   57,   57, 
    7457        57,   57,   57,   57,   57,  148,   60,  149,  159,   55, 
    7458        55,   65,   55,   55,   62,   55,  138,   58,  147,   65, 
    7459  
    7460        62,   60,  138,   62,   65,   65,   55,   55,   62,  365, 
    7461       150,   58,  362,  148,   60,  340,  149,  159,   55,   55, 
    7462        65,   55,   55,   62,   55,  151,   58,   65,   62,  336, 
    7463       247,   62,   65,   65,   55,   55,   62,   63,  150,   58, 
    7464        59,   91,   91,   91,   63,   63,   59,  244,  243,   91, 
    7465        91,   63,  242,  151,   59,  241,   59,   59,   59,   59, 
    7466        59,   59,   59,   59,   59,   59,   63,   99,   99,  142, 
    7467        94,  142,   63,   63,   59,   59,   59,   94,   94,   63, 
    7468        99,  152,  125,  125,  153,  154,  155,   59,  125,  157, 
    7469        59,  161,  213,  511,  163,  511,   99,   99,  164,  210, 
    7470  
    7471       166,  127,   94,   59,   59,   59,  127,  170,   99,  152, 
    7472       125,  125,  153,  154,  155,   59,  125,  157,   59,   61, 
    7473       161,  142,  163,   61,   61,  204,  164,   61,  166,  860, 
    7474       127,   94,  189,   61,  182,  127,  170,   61,   61,  158, 
    7475        64,  178,  158,  136,  165,   64,  145,   64,   61,  142, 
    7476       136,  165,   61,   61,  136,  171,   61,   64,  145,   64, 
    7477       145,   61,  182,  145,   64,   61,   61,  158,   87,   64, 
    7478       158,   86,  136,  165,   64,  145,   64,   82,  136,  165, 
    7479        67,  512,  136,  512,  171,   64,  145,   64,  145,  860, 
    7480        13,  145,   64,   73,   73,   73,   73,   73,   73,   73, 
    7481  
    7482        73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    7483        73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    7484        73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    7485        73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    7486        73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    7487        73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    7488        73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    7489        73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
    7490        73,   73,   98,  110,   98,  110,    7,  156,  110,  110, 
    7491       110,  110,  110,  110,  110,  110,  110,  110,  160,  366, 
    7492  
    7493       366,  366,  156,  183,  160,  172,  528,  168,  528,  169, 
    7494       173,  174,    0,  169,  173,   98,  156,  185,  168,   98, 
    7495       181,   98,  866,  530,  196,  530,   98,  160,   98,   98, 
    7496       156,  183,  160,  162,  172,  162,  168,  169,   98,  173, 
    7497       174,  169,    0,  173,   98,  185,  168,    0,   98,  181, 
    7498        98,  162,  162,  196,   98,  162,   98,   98,  176,  199, 
    7499       176,    0,  162,  191,  162,    0,   98,  108,  108,  108, 
    7500       108,  108,  108,  108,  108,  108,  108,  167,  180,  162, 
    7501       162,  184,  866,  162,  203,  108,  108,  199,  184,  192, 
    7502       200,  167,  180,  193,  167,  191,  176,  231,  108,  202, 
    7503  
    7504         0,  207,  215,    0,  231,  231,  167,  180,    0,  184, 
    7505       176,  187,  187,  203,  108,  108,  184,  208,  200,  167, 
    7506       180,  192,  167,    0,  191,  176,  108,  202,  187,  187, 
    7507       187,  187,  187,  187,  187,  187,  187,  187,  176,  188, 
    7508       197,  651,  193,  651,  239,  188,  207,  197,  222,  208, 
    7509       192,  215,  223,    0,    0,  188,  188,  188,  188,  188, 
    7510       188,  188,  188,  188,  188,  194,  198,  198,  197,  214, 
    7511       193,  194,  198,  239,  207,  197,  222,    0,  208,  215, 
    7512       223,  194,  194,  194,  194,  194,  194,  194,  194,  194, 
    7513       194,  195,  209,  225,  198,  198,  216,  195,    0,  240, 
    7514  
    7515       198,  214,  206,  206,  206,  195,  201,  195,  195,  195, 
    7516       195,  195,  195,  195,  195,  195,  195,  226,  201,  246, 
    7517       201,  225,  227,  201,  229,  195,  195,  209,  216,  221, 
    7518       214,  221,    0,    0,  258,  201,  234,  240,  195,  206, 
    7519       230,    0,  228,  234,  234,  226,  201,  246,  201,    0, 
    7520       652,  201,  652,    0,  195,  195,  209,  216,  221,    0, 
    7521       221,  245,  227,  258,    0,  240,  195,  229,  206,  217, 
    7522       217,  217,  217,  217,  217,  217,  217,  217,  217,  217, 
    7523       217,  217,  217,  217,  217,  217,  217,  217,  220,  219, 
    7524       227,  228,  230,  248,  245,  229,  254,  255,  217,  217, 
    7525  
    7526       217,  217,  217,  219,  237,  220,  232,  232,  232,  256, 
    7527       257,  237,  237,  259,  232,  232,    0,  220,  219,  228, 
    7528       230,  248,  245,    0,  254,  255,  233,  233,  233,  217, 
    7529       217,  219,    0,  220,  233,  233,  236,  256,  257,    0, 
    7530       238,  259,  238,  236,  236,  238,  238,  238,  238,  238, 
    7531       238,  238,  238,  238,  238,  260,  237,  217,  218,  218, 
    7532       218,  218,  218,  218,  218,  218,  218,  218,  218,  218, 
    7533       218,  218,  218,  218,  218,  218,  218,  261,  262,  236, 
    7534       378,  378,  378,  260,  237,    0,    0,  218,  218,  218, 
    7535       218,  218,  218,  251,  251,  251,  251,  251,  251,  251, 
    7536  
    7537       251,  251,  251,  263,  264,  261,  262,  236,  252,  252, 
    7538       252,  252,  252,  252,  252,  252,  252,  252,  218,  218, 
    7539       253,  218,  253,  547,  547,  547,    0,    0,  266,  267, 
    7540       253,  263,  264,  265,  268,  269,  265,    0,  270,  271, 
    7541       272,  273,  274,    0,    0,  266,  218,  250,  250,  250, 
    7542       250,  250,  250,  250,  250,  250,  250,  266,  267,  277, 
    7543       281,  265,  268,  269,  265,  250,  250,  270,  271,  272, 
    7544       273,  274,  276,  266,  276,  282,  283,  278,  250,  278, 
    7545         0,    0,  279,  279,  284,  285,  286,  285,  277,  281, 
    7546       287,    0,  289,  290,  250,  250,  291,  292,  288,  293, 
    7547  
    7548       288,  295,    0,  276,  282,  283,  250,  275,  278,  275, 
    7549       279,  279,  284,  294,  286,  299,  285,    0,  298,  287, 
    7550       289,  290,    0,  300,  291,  292,  294,  293,  302,    0, 
    7551       295,  296,  301,  296,  301,    0,  303,  297,  275,  297, 
    7552       304,  296,  294,  275,  299,  275,  298,  297,  275,    0, 
    7553       288,  300,  275,  306,  294,  275,  305,  302,  275,  275, 
    7554       308,    0,  275,  301,  303,  309,  310,  312,  304,  313, 
    7555       315,  311,  275,  316,  275,  296,  317,  275,  288,  311, 
    7556       275,  297,  306,  275,  305,  296,  275,  275,  318,  308, 
    7557       275,  297,  314,  309,  310,  319,  312,  313,  315,  311, 
    7558  
    7559       314,  316,  320,  296,  317,  321,  322,  311,  323,  297, 
    7560       324,  325,  326,  296,  328,  329,  327,  318,  327,  297, 
    7561       330,  314,  331,  332,  319,  333,  327,  334,  314,  335, 
    7562       339,  320,  341,  321,  342,  322,  323,  343,  324,  325, 
    7563       326,  344,  345,  328,  329,  346,  347,  352,  330,    0, 
    7564       331,  332,    0,  333,  351,  334,  363,  335,  339,  348, 
    7565       341,  348,  342,  353,    0,  343,  355,  356,  358,  344, 
    7566       345,  357,  359,  346,  376,  347,  369,  348,  348,  348, 
    7567       348,  348,  348,  348,  348,  348,  348,  349,  357,  869, 
    7568       352,  361,  351,  349,  363,  355,  356,  358,  371,    0, 
    7569  
    7570       357,  359,  376,  349,  349,  349,  349,  349,  349,  349, 
    7571       349,  349,  349,  350,  368,  353,  357,  370,  352,  350, 
    7572       361,  351,  377,  363,  379,  383,    0,  371,  369,  350, 
    7573       350,  350,  350,  350,  350,  350,  350,  350,  350, 1005, 
    7574         0,  360,  372,  353,  354,  364,  364,  364,  381,  869, 
    7575       354,  377,  379,  372,  360,  370,  369,  368,  354,  373, 
    7576       354,  354,  354,  354,  354,  354,  354,  354,  354,  354, 
    7577       360,  372,  374,  380,  384,  383,  382,  373,  354,  354, 
    7578         0,  372,  360,  375,  370,  368,  364,  406,  373,  385, 
    7579       398,  354,  374,  405,  375,  381,  385,  385,  653, 1005, 
    7580  
    7581       653,  374,  380,  383,    0,  373,  386,  354,  354,  382, 
    7582       384,    0,  375,  386,  386,  364,  406,  387,  398,  354, 
    7583       374,  405,  375,  381,  387,  387,  388,  388,  388,  388, 
    7584       388,  388,  388,  388,  388,  388,  408,  410,  382,  384, 
    7585       389,  389,  389,  389,  389,  389,  389,  389,  389,  389, 
    7586       402,  411,  402,  387,  413,    0,  386,  414,    0,  415, 
    7587       402,  416,  417,  418,  420,  408,  410,  421,  422,  423, 
    7588       424,  425,  426,  429,  426,  430,  431,    0,  432,  411, 
    7589       433,  435,  387,  413,  386,  436,  414,  415,  434,  416, 
    7590       417,  439,  418,  420,  442,  421,  422,  423,  424,  425, 
    7591  
    7592       437,  429,  437,  430,  434,  431,  432,  444,  433,  435, 
    7593       440,  446,  440,  426,  436,  447,  445,  434,  445,  439, 
    7594       450,  448,  442,  448, 1009,  451,  452,  426,  454,    0, 
    7595       457,  437,  434,  455,  456,  444,  458,  459,  460,  446, 
    7596       464,  440,  426,  458,  447,  463,  468,  445,  467,  450, 
    7597         0,  469,  448,  451,  452,  426,  427,  454,  427,  457, 
    7598       470,  455,  456,    0,  480,  458,  459,  460,  461,  464, 
    7599       461,  458,  465,  463,  465,  468,  467,  478,  461,  469, 
    7600       483,  472,  465,  472, 1009,  479,  481,  427,  470,  482, 
    7601       484,  475,  427,  480,  427,  485,  493,  427,  503,  475, 
    7602  
    7603       488,  427,    0,  489,  427,  478,  490,  427,  427,  483, 
    7604       491,  427,  472,  479,  481,    0,    0,  482,  484,    0, 
    7605       506,  427,  506,  427,  485,  493,  427,  503,  488,  427, 
    7606       475,  489,  427,  499,  490,  427,  427,    0,  491,  427, 
    7607       443,  443,  443,  443,  443,  443,  443,  443,  443,  443, 
    7608       443,  506,  443,  443,  443,  443,  443,  443,  443,  475, 
    7609       507,  499,  508,  509,  494,  500,  494,  500,  513,  443, 
    7610       443,  443,  443,  443,  494,  500,  514,  515,  516,  517, 
    7611       518,  523,  524,  655,  535,  655,  525,    0,  667,  507, 
    7612       667,  508,  509,  520,  529,  520,  527,  513,  563, 1031, 
    7613  
    7614       443,  443,  529,  540,  514,  531,  515,  516,  517,  518, 
    7615       537,  520,  520,  520,  520,  520,  520,  520,  520,  520, 
    7616       520,  521,  525,  529,  527,  545,  563,  521,  443,  565, 
    7617       523,  529,  524,  535,  531,    0,    0,  521,  521,  521, 
    7618       521,  521,  521,  521,  521,  521,  521,  522,    0,  538, 
    7619       539,  525,  540,  522,  545,  537,  568,  565,  523, 1031, 
    7620       524,  535,    0,  522,  522,  522,  522,  522,  522,  522, 
    7621       522,  522,  522,  526,  532,  536,  536,  536,    0,  526, 
    7622       540,  532,  548,  537,  568,  532,  539,  526,  541,  526, 
    7623       526,  526,  526,  526,  526,  526,  526,  526,  526,  538, 
    7624  
    7625       533,    0,  533,  532,  552,  550,  541,  526,  526,  532, 
    7626       533,  548,  561,  532,  533,  539,  536,  541,  542,    0, 
    7627       526,  543,  542,  554,  544,  543,  562,  538,  544,  566, 
    7628       554,  554,  569,  576,  541,  555,  526,  526,  550,  577, 
    7629       552,  561,  555,  555,  570,  536,  571,  542,  526,  573, 
    7630       543,  542,  574,  544,  543,  562,  575,  544,  566,  554, 
    7631         0,  569,  576,  581,  659,  659,  659,  550,  577,  552, 
    7632         0,  578,  570,  578,  571,    0,  641,  573,  641,  579, 
    7633       574,  580,    0,  582,  575,  583,  641,  584,  554,  564, 
    7634       564,  581,  564,  564,  564,  564,  564,  564,  564,  564, 
    7635  
    7636       564,  564,  564,  564,  564,  564,  564,  564,  579,  585, 
    7637       580,  582,  578,  586,  583,  584,  587,  588,  564,  564, 
    7638       564,  564,  564,  590,  592,    0,  578,  593,  594,  586, 
    7639       595,    0,  596,  597,  598,  608,  599,  585,  599,    0, 
    7640       602,  578,  586,  603,  587,  603,  588,  607,  613,  564, 
    7641       564,  590,  610,  592,  578,  593,  594,  586,  611,  595, 
    7642       596,  614,  597,  598,  608,  615,  616,  599,  602,  617, 
    7643       618,    0,  619,  620,  603,  607,  613,  564,  621,  622, 
    7644       623,  610,  626,    0,  627,  628,  630,  611,  632,  633, 
    7645       614,  634,  639,  615,  616,  636,  637,  638,  617,  618, 
    7646  
    7647       619,  640,  620,  644,  645,  646,  621,  646,  622,  623, 
    7648       654,  626,  627,  656,  628,  630,  632,  657,  633,  662, 
    7649       634,  639,  663,  636,  637,  638,  666,  668,  669,  640, 
    7650       669,  644,  645,  658,  670,  658,  646,  671,  672,  654, 
    7651       672,  676,  656,  658,  681,  657,  675,  658,  672,  674, 
    7652       683,  674,  672,  679,  677,  666,  668,  700,  663,  662, 
    7653       694,    0,  670,  674,  695,  680,  671,  694,  694,  680, 
    7654       696,  695,  695,  681,  701,  703,    0,  696,  696,  683, 
    7655       771,  738,  771,  738, 1082,  700,  675,  663,  662,  665, 
    7656       677,  738,  676,  679,  680,  665,    0,  704,  680,  706, 
    7657  
    7658       707,  708,  701,  665,  703,  665,  665,  665,  665,  665, 
    7659       665,  665,  665,  665,  665,  675,  709,    0,  710,  677, 
    7660       676,  711,  679,  665,  665,  704,  714,  706,  707,  708, 
    7661       715,  717,    0,  719,  721,    0,  665,  762,    0,  762, 
    7662       770,  781,  770,  781, 1082,  709,  710,  762,  770,  858, 
    7663       711,  858,  665,  665,  712,  714,  712,  722,  723,  715, 
    7664       717,  719,  724,  721,  665,  682,  682,  682,  682,  682, 
    7665       682,  682,  682,  682,  682,  682,  682,  682,  682,  682, 
    7666       682,  682,  682,  682,  725,  722,  723,  726,  727,  712, 
    7667       729,  724,  728,  730,  682,  682,  682,  682,  682,  731, 
    7668  
    7669       732,    0,  712,  733,  734,  735,  737,  735, 1084,  739, 
    7670       740,  741,  725,  742,    0,  743,  726,  727,  712,  729, 
    7671       728,  745,  730,  746,  752,  682,  682,  731,  756,  732, 
    7672       712,  733,  734,    0,    0,  737,  735,  739,    0,  740, 
    7673       741,  755,  742,  743,  757,  775,  775,  775,  833,  745, 
    7674       833,  746,  752,  682,  686,  686,  686,  756,  833,  686, 
    7675       686,  751,  686,  751,    0,    0,  686,  686, 1084,  755, 
    7676       686,    0,  757,  686,  686,  686,  686,  686,  686,  686, 
    7677       686,  686,  699,  699,  776,  699,  699,  699,  699,  699, 
    7678       699,  699,  699,  699,  699,  699,  699,  699,  699,  699, 
    7679  
    7680       699,  758,  759,  783,  760,  763,    0,  768,  773,  751, 
    7681       772,  699,  699,  699,  699,  699,  767,  774,  767,  779, 
    7682       782,  776,  784,  787,  780,  789,  791,  791,  791,  758, 
    7683       802,  759,  760,  810,  763,  768,  773,  751,  803,  772, 
    7684       783,    0,  699,  699,  804,  806,  774,  807,  779,  782, 
    7685       776,  767,  780,  808,  789,  797,  812,  798,  784,  802, 
    7686       787,  810,  797,  797,  798,  798,  864,  803,  864,  783, 
    7687       699,    0,    0,  804,  806,    0,  807,  811,    0,  811, 
    7688       767,  801,  808,  813,  812,  801,  815,  784,  816,  787, 
    7689       788,  788,  788,  788,  788,  788,  788,  788,  788,  788, 
    7690  
    7691       788,  788,  788,  788,  788,  788,  788,  788,  788,  817, 
    7692       801,  813,  811,  819,  801,  815,  816,  818,  820,  788, 
    7693       788,  788,  788,  788,  821,  811,  822,    0,  823,  824, 
    7694       825,  826,  827,    0,  828,  830,  831,  840,  817,  832, 
    7695      1085,  811,  819,  835,  836,  818,  842,  820,  842,  843, 
    7696       788,  788,  821,  811,  844,  822,  823,  824,  825,  826, 
    7697       846,  827,  828,  847,  830,  831,  840,  832,  834,  834, 
    7698       834,  835,  836,  851,  852,  851,  834,  843,  788,  834, 
    7699       853,  855,  844,  851,  854,  856,  854,  857,  846,  859, 
    7700       867,  865,  847,  863,  842,  870,  871,    0,  873,  874, 
    7701  
    7702      1085,  875,  876,  852,  878,  879,  880,  881,  853,  882, 
    7703       855,  883,    0,  884,  856,  857,  885,  889,  859,  854, 
    7704       865,  863,  842,  886,  870,  871,  873,  887,  874,  875, 
    7705       876,  888,  878,  879,  880,  881,  890,  882,  896,  867, 
    7706       883,  884,  892,  893,  894,  885,  889,  895,  854,  897, 
    7707       899,  886,  901,  901,  901,  887,  903,  903,  903,  888, 
    7708       901,  909,    0,  901,  890,  910,  896,  867,    0,  908, 
    7709       915,  892,  893,  894,  913,  916,  895,  897,  899,  902, 
    7710       902,  902,  917,  904,  904,  904,  918,  902,  919,  909, 
    7711       902,  904,  920,  910,  904,  905,  905,  905,  908,  915, 
    7712  
    7713       921,  922,  913,  905,  916,  924,  905,  925,  926,  927, 
    7714       917,  928,  929,  932,  918,    0,  919,  933,    0,  935, 
    7715       936,  920,  937,  938,  939,  941,  940,  942,  940,  943, 
    7716       922,  944,  945,  947,  924,  921,  940,  949,  951,  928, 
    7717       929,  932,  952,  925,  927,  926,  933,  935,    0,  936, 
    7718       937,    0,  938,  939,  941,  961,  942,  960,  943,  944, 
    7719       945,  947,    0,    0,  921,  949,  951,  953,  953,  953, 
    7720       965,  952,  925,  927,  926,  954,  954,  954,  970,  955, 
    7721       955,  955,  963,  954,  961,  960,  954,  955,  966,  973, 
    7722       955,  956,  956,  956,  967,  957,  957,  957,  965,  956, 
    7723  
    7724       969,  975,  956,  957,  971,  974,  957,  958,  958,  958, 
    7725       976,  963,  977,  980,  977,  958,  981,  966,  958,    0, 
    7726       982,  983,  977,  967,  970,  984,  985,  984,  985,  969, 
    7727       987,  989,  971,  991,  973,  984,  985,  974,  994,  976, 
    7728       992,  980,  995, 1008, 1007,  981,    0,  975,  982,  998, 
    7729       983,    0,  970,  996,  996,  996,  999, 1001,  987,  989, 
    7730      1013,  991,  973, 1016, 1014, 1015,  974,  994,  992, 1017, 
    7731      1019,  995,  997,  997,  997,  975, 1021, 1008,  998, 1007, 
    7732       997, 1032, 1011,  997, 1011,  999, 1001, 1012, 1013, 1012, 
    7733      1025, 1016, 1011, 1014, 1015, 1026, 1029, 1017, 1027, 1019, 
    7734  
    7735      1012, 1030, 1012, 1033, 1021, 1037, 1008, 1036, 1007, 1023, 
    7736      1023, 1023, 1024, 1024, 1024,    0, 1038, 1032, 1012, 1025, 
    7737      1024, 1039, 1042, 1024, 1026, 1034, 1027, 1034, 1045, 1030, 
    7738      1041, 1048, 1035, 1037, 1035, 1052, 1036, 1046, 1034, 1050, 
    7739      1034, 1029, 1056, 1035, 1038, 1035, 1032, 1035, 1033, 1059, 
    7740      1039, 1042, 1043, 1043, 1043, 1049, 1034, 1045, 1041, 1044, 
    7741      1044, 1044, 1053, 1035, 1053, 1046, 1055, 1044, 1058, 1029, 
    7742      1044, 1056, 1063, 1053, 1050, 1068, 1033, 1048, 1059, 1064, 
    7743      1065, 1052,    0, 1049, 1062, 1062, 1062, 1066, 1071, 1067, 
    7744         0, 1073, 1062,    0, 1055, 1062, 1058, 1074,    0, 1079, 
    7745  
    7746      1063, 1099, 1109, 1050, 1093, 1048,    0, 1064, 1065, 1052, 
    7747      1061, 1061, 1061, 1095,    0, 1061, 1061, 1067, 1061, 1073, 
    7748      1086, 1068, 1061, 1061, 1080, 1074, 1061, 1079, 1090, 1061, 
    7749      1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1066, 1071, 
    7750      1076, 1076, 1076, 1077, 1077, 1077,    0, 1094, 1086, 1068, 
    7751      1099, 1077, 1096, 1080, 1077, 1093, 1104, 1090, 1095, 1101, 
    7752      1102, 1105, 1109,    0, 1111,    0, 1066, 1071, 1078, 1078, 
    7753      1078, 1100, 1113, 1078, 1078, 1094, 1078, 1103, 1099, 1078, 
    7754      1078, 1078, 1106, 1093, 1078, 1104, 1095, 1078, 1078, 1078, 
    7755      1078, 1078, 1078, 1078, 1078, 1078, 1088, 1088, 1088, 1100, 
    7756  
    7757      1089, 1089, 1089, 1096, 1088, 1101, 1107, 1088, 1089, 1102, 
    7758      1108, 1089, 1105, 1103, 1110, 1111, 1112, 1114, 1106, 1115, 
    7759      1115, 1115, 1117, 1113, 1116, 1116, 1116, 1118, 1118, 1118, 
    7760      1123, 1096, 1126, 1101, 1119, 1119, 1119, 1102, 1107, 1108, 
    7761      1105, 1127, 1103, 1111, 1112,    0, 1110, 1106, 1121, 1121, 
    7762      1121, 1113, 1124, 1124, 1124, 1128, 1128, 1128, 1129, 1129, 
    7763      1129,    0,    0,    0, 1126,    0, 1123, 1107, 1114,    0, 
    7764         0, 1117,    0,    0,    0, 1110,    0,    0,    0,    0, 
    7765         0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    7766         0,    0, 1127, 1126,    0, 1123, 1114,    0,    0, 1117, 
    7767  
     9183        2,    2,    2,    2,    8, 1880,    8,   10,   10,   10, 
     9184       11,   11,   11,   12,   12,   12,   71, 1905, 1905,   11, 
     9185 
     9186       18,   71,   12,   19,   75,   19,    2,    2,   21,    8, 
     9187        2,   76,    2,   76,   18,   10,   23, 1878,   22,  106, 
     9188       24, 1877,   21,    2,   61,   61,   61,   61,  108,   18, 
     9189       23,  114,   19,  114,   24,    2,    2,   21,    8,    2, 
     9190       75,    2,   18,   22,   10,   23,   19,  320,  106,   24, 
     9191       21,    2,    6,    6,    6,    6,  108,   22,   23,   28, 
     9192       29,   19,   24,  320,   98,   34,   98,   30,   75,   98, 
     9193      113,   98,   22,   28,   19,   34,   35,   29,    6,    6, 
     9194     1874,   30,    6,   86,    6,   22,  112,   86,   28,   34, 
     9195       35,   29,   98,   86,   98,    6,   30,   98,  113,   98, 
     9196 
     9197      248,   28,  248, 1869,   34,   35,   29,    6,    6,   30, 
     9198     1867,    6,   86,    6, 1864,  112,   86,   34,   35,   29, 
     9199      776,   86,  776,    6,   13,   13,   13,   13,   13,   13, 
     9200       13,   13,   13,   13,   13,   13,   13,   13,   13,   13, 
     9201       13,   13,   13,   13,   13,   13,   13,   13,   13,   13, 
     9202       13,   13,   13,   13,   13,   13,   13,   13,   13,   13, 
     9203       13,   13,   13,   13,   13,   13,   13,   13,   13,   13, 
     9204       13,   13,   13,   13,   13,   13,   13,   13,   13,   13, 
     9205       13,   13,   13,   13,   13,   13,   13,   13,   13,   13, 
     9206       13,   13,   13,   13,   13,   13,   13,   13,   13,   13, 
     9207 
     9208       13,   13,   13,   13,   14,   14,   14,   14,   36,   25, 
     9209       25,   25,   25,   26,  116,   36,   14,  102, 1861,  102, 
     9210       26,   26,   14,  117,  162,   37,   37,  121,  809,   36, 
     9211       14,   14,   37,  592,   14,  102,   14,  154,   25,  154, 
     9212      139,   26,  154,  116,   36,  809,   37,   14,  104,  592, 
     9213      104,  117,   25,  162, 1860,   26,   27,   36,   27,   14, 
     9214       14,   37,  140,   14,  121,   14,  104,   25,  139,   27, 
     9215       26,   27, 1857,   27,   37,   14,   16,   16,   16,   16, 
     9216       25,   40,   46,   26,   38,   27,   40,   32,   32,   32, 
     9217      140,   38,  121,  166,   16,   32,   46,  144,   32,   27, 
     9218 
     9219       40,  145,   16,   16,   32,   38,   16, 1853,   16,   32, 
     9220       40,   46,   45,   89,   27,   40,   32,   89, 1850,   16, 
     9221       38,   45,  166,   89,   46,  144,   45,   27,   40,  145, 
     9222       32,   16,   16,   38,  110,   16,  110,   16,  111, 1806, 
     9223      111,   45,   89, 1805, 1784,   32,   89,   16,   31,   45, 
     9224       31,   89,  110,  120,   45,   59,  111,   33,   32,   33, 
     9225      122,  122,  122,  122, 1760, 1758,   31,  111,   33,   33, 
     9226       33,   39,   31,  120,   39,   59,   31,   31,   31, 1734, 
     9227       39,   33,  163,   31,   33,   31,   31,   39,   39,   59, 
     9228      164,   31,   74,   74,   74,   31,  111,   33,   33,   33, 
     9229 
     9230       39,   31,  120,   39,   59,   31,   31,   31,   39,   33, 
     9231      163,   31,   33,   31,   31,   39,   39,   59,  164,   31, 
     9232       74, 1733,  165,   31,   41,   48,   42,   42,   48,   41, 
     9233       42,   41,   49,   49,  905,   41,   42,  905,   41,   48, 
     9234       62,   42,   49,   41,  124,   62, 1727,   49,   41,   74, 
     9235      165,  124,  124,   41,   48,   42,   42,   48,   41,   42, 
     9236       41,   49,   49,   41,   42,   47,   41,   48,   62,   42, 
     9237       49,   41,   47,   47,   47,   49,   41,   43,  778,   47, 
     9238      778,  167,   62,   43, 1141,   43,   43, 1141,   43,   43, 
     9239       63,   43,  169, 1708,   47,   43,  126,   62, 1707, 1702, 
     9240 
     9241       47,   47,   47,  126,  126, 1699,   43,   47,   63,  167, 
     9242       62,   43,   50,   43,   43,  168,   43,   43,  173,   43, 
     9243      169,   50,   63,   43,   44, 1683,   50,   44,  128, 1671, 
     9244       44,   44,  130,   44,  130,  128,  128,   63,   44,   44, 
     9245      171,   50,  176,   51,  168,  130,  173,  130,   51,   50, 
     9246       63,  128, 1670,   44,   50,   51,   44,   51,   44,   44, 
     9247       52,   44,   51,   51,   53,  161,   44,   44,   52,  171, 
     9248       52,  176,   51, 1410,   52,   52,   53,   51,   53,  175, 
     9249      128,   53,  161,   51,   53,   51,   54,   54, 1665,   52, 
     9250       51,   51,   56,   53,  161,  177,   52,   56,   52,   56, 
     9251 
     9252     1664,   54,   52,   52,   53,  141,   53,  175, 1659,   53, 
     9253      161,   56,   53,   55, 1638,   54,   54,   55,   55, 1631, 
     9254      141,   56,   57,  177, 1410,  178,   56,   55,   56,   54, 
     9255       57,   87,   55,   55,  141,   57,   57,  129,   58,   56, 
     9256       58,  131,   55,  131,  129,  129,   55,   55,  141, 1623, 
     9257       58,   57,   58,  178,  131,   55,  131, 1622,   57,   87, 
     9258       55,   55,  193,   57,   57,  143, 1620,   58,  179,   58, 
     9259      181, 1618, 1614,   87,   81,  143, 1611,  129,   58, 1416, 
     9260       58,   60,   60,   60,   60,   64,   65, 1610,   87,   64, 
     9261       64,  193,   65,   64,  143,   65,  179,   81,  181,   64, 
     9262 
     9263       65,   87,   81,  143,   64,  129,  182,   60,   60, 1465, 
     9264       60,   60, 1548,   60,   64,   65,   81,  205,   64,   64, 
     9265       65, 1547,   64,   65,   60,  183,   81,   64,   65, 1543, 
     9266     1416,   81,   64,  184,  182, 1542,   60,   60,   67,   60, 
     9267       60,   66,   60,   67,   81,   67,  205, 1541,   66,   66, 
     9268       66,  211,   60,  183,   80,   66,   88,   67,  170,  170, 
     9269     1465,  184,   67,   79,   79,   79,   79,   67, 1563,  185, 
     9270       66, 1563,   67,   83,   67,   79,   66,   66,   66,   80, 
     9271      211, 1539,   80,   66,   88,   67,  170,  170,   80,   79, 
     9272       67,   88,   88,   88,  188,   80,   80,  185,   88,   90, 
     9273 
     9274       83,   83,   91,   90,   83,  213,   91, 1532,   80,   90, 
     9275       83,   80,   91,   88,  191,   83,   80,  192,   79,   88, 
     9276       88,   88,  188,   80,   80,   82,   88,  214,   90,   83, 
     9277       83,   91,   90,   83,  213,   91,  195,   90,   83, 1527, 
     9278       91,  196,  191,   83,  215,  192,  142,  172,   82, 1464, 
     9279       85,   94,  172,   82,   85,   82,  214,   85,   85,   82, 
     9280       85,  142,   82,   94,  195,   94,   85,   82,   94,  196, 
     9281      100,   94,   82,  215,  174,  142,  172,   82,  100,   85, 
     9282       94,  172,   82,   85,   82,   85,   85,   82,   85,  142, 
     9283       82,   94, 1462,   94,   85,   82,   94,  217,  100,   94, 
     9284 
     9285       82,   84,  186,  223,  186,   84, 1632,  197,   84, 1632, 
     9286       84,   84,  100,   84,   84,  174,  174,   92,   95, 1457, 
     9287       84,   92,   95, 1456,   93,   92,  217,  100,   95,   92, 
     9288       84,   92,  223, 1454,   84,  197,   84,   92,   84,   84, 
     9289      100,   84,   84,  174,  174,  186,   92,   95,   84,  198, 
     9290       92,   95,   93,  194,   92, 1451,   95,   92,  103,   92, 
     9291       93,  194,   93,  199,   96,   92,   93,   93,   96,  103, 
     9292      138,  201,   96,  186,   99,   97, 1448,  198,   96,  138, 
     9293      138,   93,  194,   96,   96,  418,  103,  418,   93,  194, 
     9294       93,  199,  138,   96,   93,   93, 1445,   96,   97,  201, 
     9295 
     9296      103,   96,   99,   97,   99,   97,   96,  418,  138,  138, 
     9297      202,   96,   96,  202,   99,  103,   99,   97,  180,  251, 
     9298      138,  251,  251,  101,  101,  101,  101,   97,  103,  180, 
     9299     1444,   99,   97,   99,   97,  101,  107,  233,  202,  207, 
     9300      107,  202,   99,  107,   99,   97,  107,  180,  208,  101, 
     9301      125,  125,  125,  146,  146,  146, 1443,  180,  125,  125, 
     9302      253,  146,  253,  253, 1437,  107,  233,  207, 1431,  107, 
     9303      146,  107, 1427, 1021,  107, 1021,  208, 1422,  101,  105, 
     9304      105,  105,  105,  105,  105,  105,  105,  105,  105,  105, 
     9305      105,  105,  105,  105,  105,  105,  105,  105,  105,  105, 
     9306 
     9307      105,  105,  105,  105,  105,  105,  105,  105,  105,  105, 
     9308      105,  105,  105,  105,  105,  105,  105,  105,  105,  105, 
     9309      105,  105,  105,  105,  105,  105,  105,  105,  105,  105, 
     9310      105,  105,  105,  105,  105,  105,  105,  105,  105,  105, 
     9311      105,  105,  105,  105,  105,  105,  105,  105,  105,  105, 
     9312      105,  105,  105,  105,  105,  105,  105,  105,  105,  109, 
     9313      357,  133,  187,  133,  187, 1412,  109,  357,  357,  209, 
     9314      109, 1411,  187,  109,  133,  133,  133,  133,  134,  133, 
     9315      134,  212,  224,  109, 1338, 1023,  187, 1023,  109, 1331, 
     9316      152,  134,  134,  134,  134,  109,  134,  209,  109,  152, 
     9317 
     9318      152,  109,  134,  135,  137,  135,  137,  247, 1328,  212, 
     9319      224,  109,  152,  133,  225,  187,  135,  135,  135,  135, 
     9320     1327,  135,  147,  147,  147,  147, 1312, 1311,  152,  152, 
     9321      134,  134,  137,  247,  147,  148,  148,  148,  148,  204, 
     9322      152,  137,  225,  148,  135,  204, 1307,  153,  147,  153, 
     9323     1658,  137,  148,  189,  203,  135,  190,  190,  153,  153, 
     9324      200,  137,  247,  190,  203,  189, 1302,  189,  204,  137, 
     9325      189,  153,  135,  204,  232,  200,  373,  147,  206,  137, 
     9326      206, 1301,  189,  203,  190,  190,  216,  153,  153,  200, 
     9327      216,  190,  203,  189,  210,  189,  206,  206,  189,  153, 
     9328 
     9329      206, 1658,  219,  200,  230,  373,  231,  206,  210,  206, 
     9330      226,  210,  222, 1300,  232,  216,  219,  226, 1634,  216, 
     9331      242, 1634, 1298,  210,  206,  206,  222,  230,  206,  231, 
     9332      246,  219,  220,  220,  220,  220,  210,  236,  226,  210, 
     9333      237,  222,  232,  242,  219,  226,  227,  227,  227,  227, 
     9334      229,  229,  229,  229,  222,  234,  230,  238,  231,  235, 
     9335      235,  239,  234, 1283,  349,  236,  246, 1270,  237,  238, 
     9336     1262,  238,  242,  350,  238,  245,  245,  245, 1259,  252, 
     9337      252,  252,  252,  234, 1243, 1242,  238,  235,  235,  239, 
     9338      234,  252,  349,  259,  246,  259,  319,  238,  319,  238, 
     9339 
     9340      263,  350,  238,  245, 1202,  252,  257,  256,  256,  256, 
     9341      256, 1157,  259,  257,  257,  257, 1147,  263,  326,  256, 
     9342      257,  351,  259, 1676,  259,  319,  354,  258,  325,  263, 
     9343      258,  375,  245,  256,  252,  257,  352,  258,  258,  258, 
     9344      259,  257,  257,  257,  258,  263,  260, 1697,  257,  351, 
     9345     1143,  325,  261, 1142,  319,  260,  258,  354,  326,  258, 
     9346      375,  262,  256,  260,  352,  258,  258,  258,  261,  261, 
     9347      264,  321,  258,  321, 1676,  260,  262, 1120,  262,  264, 
     9348      325,  261,  265,  260,  265,  354,  326,  264,  266,  321, 
     9349      262,  260,  267,  268, 1110,  331,  261,  261, 1697,  264, 
     9350 
     9351      266,  265,  267,  267,  262,  266,  262,  264, 1109,  267, 
     9352      268,  265,  360,  265,  355,  264,  271,  266,  331,  360, 
     9353      360,  267,  268,  315,  315,  315,  315,  272,  266,  265, 
     9354      267,  267,  270,  266,  269,  274,  269,  267,  268,  269, 
     9355      271, 1096,  270,  272,  272,  273,  273,  331, 1093,  270, 
     9356      274,  372,  274,  269,  355, 1078,  272,  271,  271,  348, 
     9357     1074,  270,  273,  269,  274,  269,  275, 1066,  269,  271, 
     9358      270,  272,  272,  348,  273,  273,  276,  270,  274,  372, 
     9359      274,  269,  355,  275,  275,  271,  271,  382,  348,  278, 
     9360      273,  276,  344,  276,  344,  275,  277, 1065,  278,  279, 
     9361 
     9362     1058,  348,  277,  280, 1053,  276,  278,  281, 1029, 1783, 
     9363      344,  275,  275,  277,  384,  382,  279,  279,  278,  276, 
     9364      280,  276,  281,  925,  281,  277,  278,  918,  279,  282, 
     9365      912,  277,  280,  283,  278,  283,  281,  284,  285,  284, 
     9366      282,  277,  384,  399,  279,  279,  282,  284,  280,  868, 
     9367      281,  285,  281,  400,  865,  285,  287,  861,  282,  283, 
     9368     1783,  284,  366,  284,  366,  287,  287,  285,  282,  298, 
     9369      286,  399,  287,  287,  282,  366,  283,  366,  288,  285, 
     9370      284,  400,  286,  285,  286,  287,  298,  286,  283,  288, 
     9371      284,  855,  284,  287,  287,  288,  402, 1785,  298,  286, 
     9372 
     9373      287,  287,  289,  397,  283,  290,  843,  288,  284,  290, 
     9374      286,  841,  286,  289,  298,  286,  293,  288,  826,  289, 
     9375      292,  622,  290,  288,  402,  293,  291,  291,  622,  622, 
     9376      292,  289,  397,  293,  290,  291, 1797,  292,  290,  336, 
     9377      294,  289,  336,  291,  403,  293,  336,  289, 1785,  292, 
     9378      290,  294,  365,  293,  365,  291,  291,  294,  292,  295, 
     9379      297,  293,  297,  291,  296,  292,  365,  336,  295,  294, 
     9380      336,  291,  403,  296,  336,  820,  295,  297,  300,  294, 
     9381      404,  296,  299,  398,  300,  294,  301, 1797,  295,  297, 
     9382      401,  297,  301,  296,  300,  300,  295,  299,  301,  299, 
     9383 
     9384      299,  296,  798,  301,  295,  297,  790,  300,  404,  296, 
     9385      405,  299,  398,  300,  406,  301,  302,  302,  303,  401, 
     9386      303,  301,  300,  300,  304,  299,  301,  299,  299,  411, 
     9387      374,  301,  374,  789,  302,  374,  303,  303,  405,  711, 
     9388      303,  304,  406,  304,  710,  302,  302,  303,  412,  303, 
     9389      305,  682,  593,  304,  593,  306,  308,  308,  411,  305, 
     9390      415,  307,  302,  307,  303,  303,  681,  305,  303,  304, 
     9391      593,  304,  306,  306,  308,  307,  309,  412,  307,  305, 
     9392      307,  310,  311,  310,  306,  308,  308,  305,  311,  415, 
     9393      307,  309,  307,  309,  385,  305,  385,  385,  310,  311, 
     9394 
     9395      306,  306,  308,  307,  661,  309,  307,  312,  307,  312, 
     9396      310,  311,  310,  327,  313,  327,  313,  311,  416,  309, 
     9397      313,  309,  314, 1031,  312, 1031,  310,  311,  314,  660, 
     9398      656,  313,  316,  316,  316,  316,  312,  409,  312,  314, 
     9399      655,  410,  327,  313,  316,  313,  328,  416,  328,  313, 
     9400      424,  314,  312,  317,  317,  317,  317,  314,  316,  313, 
     9401      652,  329,  426,  329,  328,  409,  650,  314,  345,  410, 
     9402      345,  327, 1033,  334, 1033,  328,  419,  329,  424,  329, 
     9403      330,  330,  330,  330,  334,  335,  345,  316,  329,  329, 
     9404      426,  334,  330,  337,  337,  337,  335,  345,  642,  639, 
     9405 
     9406      337,  329,  334,  335,  328,  419,  330,  358,  358,  358, 
     9407      638,  632,  334,  632,  335,  358,  358,  329,  329,  334, 
     9408      637,  337,  337,  337,  335,  632,  345,  338,  337,  329, 
     9409     1116,  335, 1116,  338,  338,  330,  332,  332,  332,  332, 
     9410      332,  332,  332,  332,  332,  332,  332,  332,  332,  332, 
     9411      332,  332,  332,  332,  332,  338,  332,  332,  332,  332, 
     9412      332,  338,  338,  339,  340,  341,  342,  359,  359,  359, 
     9413      422,  387,  339,  387,  387,  359,  359,  341,  342,  339, 
     9414      342,  340,  341,  342,  346,  423,  346,  332,  332,  623, 
     9415      624,  588,  339,  340,  341,  342,  623,  623,  582,  422, 
     9416 
     9417      339, 1246,  430, 1246,  430,  341,  342,  339,  342,  340, 
     9418      341,  342,  430,  346,  423,  332,  333,  333,  333,  333, 
     9419      333,  333,  333,  333,  333,  333,  333,  333,  333,  333, 
     9420      333,  333,  333,  333,  333,  427,  333,  333,  333,  333, 
     9421      333,  343,  346,  363,  347,  560,  347,  367,  364,  367, 
     9422      363,  363,  333,  508,  343,  364,  364,  429,  343,  333, 
     9423      347,  367,  347,  367,  427,  367,  407,  333,  333,  407, 
     9424      343,  347,  347,  347,  368,  507,  368,  363,  503,  502, 
     9425      333,  425,  343,  425,  347,  429,  343,  333,  368,  432, 
     9426      368,  364,  368,  499,  407,  333, 1250,  407, 1250,  367, 
     9427 
     9428      347,  347,  347,  425,  370,  363,  370,  371,  376,  371, 
     9429      376,  480,  347,  420,  381,  420,  381,  432,  370,  364, 
     9430      370,  371,  370,  371,  376,  371,  368,  431,  478,  437, 
     9431      381,  386,  386,  386,  386,  420,  431,  431,  396,  370, 
     9432      421,  421,  395,  386,  390,  390,  390,  390,  428,  420, 
     9433      428,  371,  390,  376,  381, 1837,  370,  386,  437,  371, 
     9434      413,  390,  414,  391,  391,  391,  391,  370,  421,  421, 
     9435      408,  391,  433,  440,  394,  391,  413,  420,  414,  371, 
     9436      391,  376,  381,  394,  394,  436,  386,  408,  434,  391, 
     9437      392,  428,  435,  438,  439,  441,  394,  441,  436,  408, 
     9438 
     9439      433,  413,  440,  414,  442,  389, 1837,  443,  444,  445, 
     9440      447,  451,  394,  394,  436,  408,  434,  441,  391,  428, 
     9441      435,  438,  439,  446,  394,  446,  436,  448,  449,  413, 
     9442      450,  414,  417,  442,  417,  443,  453,  444,  445,  447, 
     9443      451,  454,  455,  456,  458,  446,  388,  383,  459,  457, 
     9444      380,  379,  462,  460,  417,  448,  449,  457,  450,  417, 
     9445      378,  460,  463,  464,  417,  453,  465,  466,  471,  454, 
     9446      455,  467,  456,  458,  417,  417,  459,  457,  417,  461, 
     9447      462,  461,  460,  468,  469,  457,  488,  470,  417,  460, 
     9448      463,  472,  464,  417,  473,  465,  466,  471,  475,  467, 
     9449 
     9450      476,  461,  417,  417,  477,  479,  417,  481,  482,  483, 
     9451      484,  468,  469,  485,  461,  470,  486,  487,  489,  472, 
     9452      488,  490,  473,  461,  491,  493,  475,  591,  476,  494, 
     9453      495,  496,  477,  479,  497,  481,  482,  483,  484,  492, 
     9454      377,  485,  461,  495,  486,  509,  487,  514,  488,  369, 
     9455      490,  461,  510,  491,  493,  591,  492,  362,  494,  495, 
     9456      496,  489,  512,  497,  498,  498,  498,  500,  492,  500, 
     9457      500,  495,  509,  511,  501,  487,  501,  501,  504,  513, 
     9458      504,  504,  515,  510,  492,  505,  505,  505,  505,  489, 
     9459      514,  506,  497,  506,  506,  516,  498,  505,  517,  512, 
     9460 
     9461      518,  509,  521,  522,  361,  524,  520,  511,  356,  519, 
     9462      513,  505,  510,  525,  525,  515,  907,  539,  514,  523, 
     9463      353,  526,  527,  907,  907,  498,  532,  512,  530,  516, 
     9464      525,  520,  524,  538,  324,  511,  521,  522,  517,  513, 
     9465      505,  518,  523,  515,  519,  526,  322,  519,  520,  527, 
     9466      318,  529,  529,  529,  539,  525,  535,  516,  538,  530, 
     9467      520,  524,  533,  534,  521,  522,  517,  532,  532,  518, 
     9468      537,  523,  519,  529,  526,  519,  520,  542,  527,  531, 
     9469      531,  531,  539,  525,  528,  528,  528,  538,  530,  533, 
     9470      534,  536,  536,  536,  540,  532,  532,  535,  541,  543, 
     9471 
     9472      546,  531,  547,  551,  255,  537,  528,  544,  545,  254, 
     9473      548,  528,  250,  536,  557,  531,  528,  249,  533,  534, 
     9474      542,  550,  243,  552,  553,  535,  528,  528,  540,  240, 
     9475      528,  559,  541,  537,  544,  545,  548,  549,  549,  549, 
     9476      528,  546,  543,  531,  547,  528,  551,  544,  542,  552, 
     9477      555,  553,  550,  556,  528,  528,  540,  558,  528,  549, 
     9478      541,  557,  559,  544,  545,  548,  554,  554,  554,  546, 
     9479      543,  561,  547,  562,  551,  544,  563,  555,  552,  564, 
     9480      553,  550,  565,  567,  570,  571,  228,  556,  554,  557, 
     9481      566,  559,  614,  558,  561,  576,  568,  573,  577,  221, 
     9482 
     9483      572,  575,  127,  569,  569,  569,  555,  574,  580,  578, 
     9484      564, 1251,  563, 1251,  562,  556,  584,  567,  565,  566, 
     9485      614,  558,  568,  561,  573,  569,  565,  570,  571,  581, 
     9486      568,  572,  579,  583,  574,  123,  577,  576,  569,  564, 
     9487      563,  575,  562,  585,  580,  567,  565,  569,  566,  578, 
     9488      584,  568,  596,  573,  565,  570,  571,  119,  568,  611, 
     9489      572,  579,  118,  574,  577,  576,  569,   78,  595,  575, 
     9490       72,  581,  580,  583,   69,  569,  600,  578,  584,  586, 
     9491      586,  586,  586,  611,   17,  585,  587,  587,  587,  587, 
     9492      579,  589,  589,  589,  589,  596,  594,    9,  594,  581, 
     9493 
     9494      603,  583,  595,  589,  597,  600,  597,  603,  598,  609, 
     9495      598,  604,  611,  585,  594,    7,  609,  589,  653,    0, 
     9496      653,  653,  605,  596,  604,  594,  598,    0,    0,  603, 
     9497      595,  606,    0,  597,  600,  603,  605,  598,  609,  606, 
     9498      604,  599,  606,  599,  609,  612,  589,  590,  590,  590, 
     9499      590,  605,  604,  617,  594,  608,  613,  599,  619,  599, 
     9500      606,  615,  597,  610,  605,  616,  598,  606,  599,  599, 
     9501      606,  608,  612,  590,  590,  666,  590,  590,  631,  590, 
     9502      631,  599,  617,  613,  608,  612,  610,  619,  618,  615, 
     9503      590,    0,  631,  616,    0,    0,  631,  599,  599,  608, 
     9504 
     9505      620,  612,  590,  590,  666,  590,  590, 1627,  590,  599, 
     9506        0,    0,  613,  612, 1627,  610,  618, 1627,  590,  601, 
     9507      601,  601,  601,  601,  601,  601,  601,  601,  601,  601, 
     9508      601,  601,  601,  601,  601,  601,  601,  601,  620,  601, 
     9509      601,  601,  601,  601,  607,  627,  607,  627,  649,  625, 
     9510      628,  635,  628,  635,    0,  601,  625,  625,  627,  663, 
     9511      627,  607,  636,  628,  636,  628,  620,  635,    0,    0, 
     9512      601,  601,  621,  607,    0,  607,  649,    0,  636,  630, 
     9513        0,  630,  654,  601,  654,  654, 1339,  663, 1339,  607, 
     9514      625,    0, 1340,  630, 1340,  667,  621,  630,  601,  602, 
     9515 
     9516      602,  602,  602,  602,  602,  602,  602,  602,  602,  602, 
     9517      602,  602,  602,  602,  602,  602,  602,  602,  625,  602, 
     9518      602,  602,  602,  602,  667,  621,  626,  629,  602,  629, 
     9519      668,  630,    0,  626,  626,    0,  664,  671,  629,  640, 
     9520      629,  640,  629,  629,  633,  629,  633,  634,  665,  634, 
     9521      602,  602,  647,  626,  647,  640,  669,  602,  633,  668, 
     9522      633,  634,  633,  634,  664,  634,  671,  673,  647,  672, 
     9523      744,  692,  744,  692,    0,  634,  665,  674,  602,  629, 
     9524      744,  675,  626,  678,  669,  679,  633,  676,    0,  657, 
     9525      657,  657,  657,  692,  677,  673,  633,  657,  672,  634, 
     9526 
     9527      658,  658,  658,  658,  634,  674,  657,  680,  658,  675, 
     9528      683,  678,  658,  679,  633,  687,  676,  658,  688,  659, 
     9529      659,  659,  659,  677,  689,  691,  658,  659,  690,  662, 
     9530      662,  662,  662,  694,  702,  680,  659,  662,  683,  684, 
     9531      695,  684,  695,  687,  697,  698,  662,  688,  700,  706, 
     9532      707,    0,    0,  689,  691,  658,  690,  701,  703,  701, 
     9533      703,  694,  695,  702,  705,  709,  705,  714,  713,    0, 
     9534      715,  684,  697,  698,  709,  709,  700,  706,  707,  701, 
     9535      703,  712,  712,  712,  719,  684,  705,  726,  716,  718, 
     9536      720,  712,  712,  721,  712,  714,  712,  713,  715,  717, 
     9537 
     9538      684,  725,  722,  712,  722,  723,  717,  723,  732,  727, 
     9539      734,  727,  719,  684,  685,  726,  685,  716,  718,  720, 
     9540      735,  736,  721,  728,  722,  728,  738,  723,  717,    0, 
     9541      725,  727,  737,  729,  717,  729,  685,  732,  739,  734, 
     9542      740,  685,  741,    0,  742,  728,  685,  743,  735,  736, 
     9543      749,  746,  750,  746,  738,  729,  685,  685,  728,  712, 
     9544      685,  737,  751,  752,  754,  748,  739,  748,  740,  755, 
     9545      685,  741,  742,  746,  756,  685,  743,  758,  749,  759, 
     9546      750,  761,  762,  761,  685,  685,  728,  748,  685,  763, 
     9547      751,  752,  764,  754,  766,  772,  767,  768,  755,  769, 
     9548 
     9549      770,  771,  756,  761,  773,  758,  774,  777,  759,  775, 
     9550      779,  762,  782,  791,  784,  777,  792,    0,  763,  795, 
     9551      780,  764,  794,  766,  767,    0,  768,  780,  769,  770, 
     9552      771,  780,  781,  774,  781,  772,  777,  775,  785,  779, 
     9553      785,  785,  781,  793,  777,  773,  781,  794,  795,  780, 
     9554      784,  781,  782,  792,  791,  780,  783,  783,  783,  780, 
     9555      796,  797,  774,  772,  786,  802,  786,  786,  787,  799, 
     9556      787,  787,  788,  773,  788,  788,  794,  795,  784,  800, 
     9557      782,  792,  791,  801,  793,  803,  805,  796,  783,  807, 
     9558      806,  804,  799,  808,  811,  811,  811,  810,  814,  802, 
     9559 
     9560      812,  817,  797,  815,  816,  813,  800,  821,  818,    0, 
     9561      900,  819,  793,  805,    0,  828,  796,  783,  875,  825, 
     9562      801,  799,  804,    0,  806,  814,  811,  802,  803,  808, 
     9563      797,  810,  807,  813,  816,  800,  823,  812,  829,  900, 
     9564      811,  827,  805,  830,    0,  817,  875,  821,  801,  818, 
     9565      815,  804,  806,  819,  814,  811,  803,  808,  828,  810, 
     9566      807,  825,  813,  816,  831,  812,  823,  832,  811,  822, 
     9567      822,  822,  827,  817,  830,  821,  833,  818,  815,  835, 
     9568      829,  819,  824,  824,  824,  834,  828,  838,  837,  825, 
     9569        0,  822,  844,  831,  846,  823,  848,    0,  832,  842, 
     9570 
     9571      831,  827,  835,  830,  824,  849,  852,  845,  829,  847, 
     9572      850,  857,  833,  837,  834,  836,  836,  836,  851,  844, 
     9573      860,  838,  831,  839,  839,  839,  858,  832,  831,  846, 
     9574      842,  835,  840,  840,  840,    0,  847,  836,  848,    0, 
     9575      833,  851,  837,  834,  845,  839,  852,  849,  844,  838, 
     9576      853,  857,  850,  859,  840,  866,  860,  846,  862,  842, 
     9577      858,  854,  854,  854,  863,  847,  848,  840,  864,  867, 
     9578      851,  854,  845,  870,  852,  849,  856,  856,  856,  857, 
     9579      850,  853,  871,  862,  860,  869,  869,  869,  858,  863, 
     9580      872,  880,  866,  859,  899,  840,  867,  960,  856,  960, 
     9581 
     9582      870,  873,  873,  873,  873,    0,  877,  869,  877,  871, 
     9583      853,  864,  862,  874,  874,  874,  874,  872,  863,  960, 
     9584      866,  859,  899,    0,  877,  867,  878,  881,  878,  870, 
     9585        0,  883,  880,  879,  887,  879,  887,  902,  871,  864, 
     9586      886,  882,  886,  882,  878,    0,  872,  876,  876,  876, 
     9587      876,  879,  896,    0,  881,  878,    0,  882,  887,  882, 
     9588      880,  904,  879,    0,  927,  876,  902,  928,  882,  882, 
     9589        0,  883,  929,  876,  876,  896,  876,  876,  889,  876, 
     9590      889,  882,  886,  881,  878,  904,  913,  887,  913,  931, 
     9591      876,  879,  927,    0,  891,  928,  891,  882,  882,  883, 
     9592 
     9593      913,  929,  876,  876,  896,  876,  876,    0,  876,  882, 
     9594      886,  890,    0,  890,  904,    0,  889,  931,  876,  884, 
     9595      884,  884,  884,  884,  884,  884,  884,  884,  884,  884, 
     9596      884,  884,  884,  884,  884,  884,  884,  884,  891,  884, 
     9597      884,  884,  884,  884,  889,    0,  890,  895,  895,  895, 
     9598      898,  898,  898,  930,  908,  921,  908,  921,  921,  933, 
     9599      898,  888,  934,  888,  898,  908,  891,  936,  937,  898, 
     9600      884,  884,    0,  922,  890,  922,  922,  923,  923,  923, 
     9601      923, 1041,  930, 1041, 1041,  923, 1003,  933, 1003,  888, 
     9602     1042,  934, 1042, 1042,  923,  936, 1003,  937,  884,  885, 
     9603 
     9604      885,  885,  885,  885,  885,  885,  885,  885,  885,  885, 
     9605      885,  885,  885,  885,  885,  885,  885,  885,  888,  885, 
     9606      885,  885,  885,  885,  892,  893,  892,  893,  906,  894, 
     9607      897,  894,  938,  939,  941,  906,  906,  924,  924,  924, 
     9608      924,  942,    0,  943,  948,  924,  951,  910,  892,  910, 
     9609      885,  885,    0,  893,  924,  906,  892,  894,  910,  897, 
     9610      938,  939,  941,  910,  944,  910,  897,  946,    0,  942, 
     9611      897,  943,  948,  914,  951,  914,    0,  892,  885,  911, 
     9612      947,  911,  893,  949,  906,  892,  894,  914,  897,  914, 
     9613      911,  914,  950,  944,  897,  911,  946,  911,  897,  910, 
     9614 
     9615        0,  914,  926,  926,  926,  926, 1020,    0, 1020,  947, 
     9616      926, 1153,  949, 1153,  926, 1043, 1020, 1043, 1043,  926, 
     9617     1044,  950, 1044, 1044, 1153,  914, 1153,  945,  926,  945, 
     9618      914,  911,  915,  915,  952,  915,  915,  915,  915,  915, 
     9619      915,  915,  915,  915,  915,  915,  915,  915,  915,  915, 
     9620      915,  915,  915,  915,  915,  915,  915,  926,  955,  945, 
     9621        0,  956,  957,  952,  958,  959,    0,  961,  962,  967, 
     9622      962,  973,    0,  945,  965,  974,  965,  976,  977,    0, 
     9623      978,  979,  982,  915,  915,  915,  955,    0,  945,  956, 
     9624      962,  957,    0,  958,  959,  961,  965, 1408,  967, 1408, 
     9625 
     9626      973,  945,  980,    0,  974,  976,    0,  977,  978,  979, 
     9627      982,  915,  932,  932,  985,  932,  932,  932,  932,  932, 
     9628      932,  932,  932,  932,  932,  932,  932,  932,  932,  932, 
     9629      932,  980,  932,  932,  932,  932,  932,  969,  970,  969, 
     9630      970,    0,    0,  985, 1236,  981, 1236,  981,  969,  970, 
     9631      969,  970,  969,  970, 1236,  971,  971,  971,  986,  969, 
     9632      970,  991,  972,  932,  932,  971,  971,  981,  971,  992, 
     9633      971,  972,  972,  983,  972,  983,  972,  971,  987,  989, 
     9634      987,  989,  993,  972,  994,  995,    0,  986,  997,  998, 
     9635      991,  932, 1000, 1001, 1002,  983, 1007, 1005,  992, 1005, 
     9636 
     9637      987,  989, 1008, 1009, 1011, 1010, 1012,    0, 1013, 1014, 
     9638     1015,  993,  994, 1022,  995,  969,  970,  997,  998, 1005, 
     9639     1000, 1024, 1001, 1002, 1007, 1016, 1025, 1016, 1027, 1028, 
     9640     1008, 1009, 1011,  971, 1010, 1012, 1013, 1014, 1015,  972, 
     9641     1030, 1026, 1022, 1026, 1032, 1040, 1034, 1016, 1035, 1045, 
     9642     1024, 1026, 1039, 1046, 1025, 1026, 1028, 1047, 1049, 1027, 
     9643     1026, 1036, 1038, 1036, 1038, 1114,    0, 1052, 1048, 1030, 
     9644     1414, 1036, 1414, 1032, 1034, 1036, 1038, 1035,    0,    0, 
     9645     1036, 1038, 1166, 1039, 1047, 1028,    0, 1040, 1027, 1046, 
     9646     1045, 1048, 1052, 1114, 1049, 1111, 1111, 1111, 1112, 1112, 
     9647 
     9648     1112, 1112,    0,    0, 1051, 1111, 1113, 1113, 1113, 1113, 
     9649     1166, 1056, 1039, 1047, 1054, 1040, 1057, 1046, 1045, 1059, 
     9650     1048, 1052, 1049, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 
     9651     1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 
     9652     1050, 1050, 1051, 1050, 1050, 1050, 1050, 1050, 1060, 1055, 
     9653     1054, 1056, 1057, 1061, 1068, 1063, 1059, 1064, 1062, 1067, 
     9654     1071, 1069, 1126, 1070, 1073, 1075,    0, 1081, 1079, 1077, 
     9655     1051, 1085, 1083,    0, 1050, 1050, 1055, 1080, 1054, 1056, 
     9656     1057, 1076, 1060, 1063, 1059, 1062, 1070, 1064, 1069, 1071, 
     9657     1082, 1126, 1068, 1067, 1061, 1077, 1075, 1072, 1072, 1072, 
     9658 
     9659     1073, 1083, 1050,    0, 1080, 1055, 1076, 1091, 1079, 1081, 
     9660     1060, 1086, 1063, 1085, 1062, 1070, 1064, 1069, 1071, 1072, 
     9661     1068, 1067, 1061, 1087, 1077, 1075, 1082, 1088, 1073, 1089, 
     9662     1083, 1095, 1092, 1080, 1086, 1076, 1079, 1081, 1084, 1084, 
     9663     1084, 1085, 1090, 1091, 1098, 1094, 1102, 1097, 1099, 1100, 
     9664     1087, 1101, 1103, 1104, 1082, 1107, 1105, 1089, 1088, 1092, 
     9665     1084, 1108, 1095, 1086, 1106, 1129,    0, 1098, 1090, 1122, 
     9666     1133, 1091, 1094, 1099, 1123, 1123, 1123, 1136, 1103, 1087, 
     9667     1129,    0, 1102, 1105,    0,    0, 1089, 1088, 1092, 1097, 
     9668     1100, 1095, 1119, 1101, 1129, 1104, 1098, 1090, 1107, 1133, 
     9669 
     9670     1122, 1094, 1099, 1108,    0, 1106, 1136, 1103, 1129, 1117, 
     9671     1102, 1117, 1105, 1118, 1127, 1118, 1134, 1097, 1100, 1119, 
     9672     1128, 1101, 1128, 1104, 1135, 1127, 1107,    0, 1121, 1122, 
     9673     1121, 1108, 1144, 1106, 1115, 1115, 1115, 1115, 1117, 1144, 
     9674     1144, 1130, 1118, 1127, 1121, 1169, 1121, 1130, 1119, 1128, 
     9675     1134, 1128, 1135, 1127,    0, 1121, 1121, 1163, 1131, 1163, 
     9676     1115, 1115, 1175, 1115, 1115, 1145, 1115, 1117, 1121, 1131, 
     9677     1130, 1118, 1145, 1145, 1169, 1146, 1130, 1115, 1134, 1163, 
     9678        0, 1135, 1146, 1146, 1121, 1121, 1152, 1131, 1152, 1115, 
     9679     1115, 1175, 1115, 1115, 1201, 1115, 1121, 1131,    0, 1159, 
     9680 
     9681     1152, 1159, 1159, 1201, 1201, 1115, 1124, 1124, 1124, 1124, 
     9682     1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 
     9683     1124, 1124, 1124, 1124, 1124,    0, 1124, 1124, 1124, 1124, 
     9684     1124, 1148, 1149, 1148, 1149, 1124, 1150, 1160, 1150, 1160, 
     9685     1160, 1177, 1148, 1149, 1164,    0, 1164, 1150,    0, 1148, 
     9686     1149, 1167, 1170, 1154, 1172, 1154, 1173, 1124, 1124, 1155, 
     9687     1156, 1155, 1156, 1420, 1124, 1420, 1164, 1154,    0, 1154, 
     9688     1177, 1154,    0, 1155, 1156, 1155, 1156, 1155, 1156, 1167, 
     9689     1170,    0, 1172, 1148, 1173, 1124, 1125, 1125, 1125, 1125, 
     9690     1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 
     9691 
     9692     1125, 1125, 1125, 1125, 1125, 1154, 1125, 1125, 1125, 1125, 
     9693     1125, 1155, 1156, 1125, 1161, 1161, 1161, 1161, 1162, 1162, 
     9694     1162, 1162, 1161, 1174, 1176, 1179, 1162, 1180, 1182,    0, 
     9695     1185, 1161, 1186, 1187, 1188, 1162,    0, 1125, 1125, 1198, 
     9696        0, 1198, 1125, 1198, 1252,    0, 1252, 1252,    0,    0, 
     9697     1198, 1174, 1176, 1421, 1179, 1421, 1180, 1182, 1185, 1178, 
     9698     1186, 1178, 1187, 1188, 1189, 1125, 1132, 1132, 1132, 1132, 
     9699     1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 
     9700     1132, 1132, 1132, 1132, 1132, 1178, 1132, 1132, 1132, 1132, 
     9701     1132, 1190, 1191, 1189, 1192, 1195, 1192, 1196, 1178, 1193, 
     9702 
     9703     1197, 1193, 1197, 1205, 1206, 1207, 1198, 1208, 1210, 1211, 
     9704     1220, 1197, 1215, 1197, 1178, 1197, 1192, 1132, 1132, 1190, 
     9705     1191, 1193, 1197,    0, 1195, 1196, 1178, 1200, 1807, 1200, 
     9706     1807, 1200, 1205, 1206, 1207, 1208, 1210, 1211, 1200, 1220, 
     9707     1215,    0, 1216, 1217, 1216, 1132, 1151, 1151, 1224, 1151, 
     9708     1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 
     9709     1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 
     9710     1151, 1217,    0, 1199, 1212, 1199, 1212, 1224, 1197, 1227, 
     9711     1214, 1216, 1214, 1218, 1199, 1221, 1199, 1222, 1199, 1238, 
     9712     1203, 1203, 1203, 1240, 1200, 1199, 1212, 1151, 1151, 1151, 
     9713 
     9714     1203, 1203, 1214, 1203, 1473, 1203, 1473, 1204, 1227, 1216, 
     9715        0, 1218, 1203, 1221, 1473, 1222, 1204, 1204, 1238, 1204, 
     9716        0, 1204, 1240,    0,    0, 1151, 1165, 1165, 1204, 1165, 
     9717     1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 
     9718     1165, 1165, 1165, 1165, 1165, 1223, 1165, 1165, 1165, 1165, 
     9719     1165, 1199, 1219, 1225, 1219, 1257, 1231, 1232, 1231, 1232, 
     9720     1234, 1233, 1239, 1233, 1241, 1244, 1249, 1245, 1203, 1247, 
     9721        0, 1248, 1310, 1223, 1219,    0,    0, 1165, 1165, 1232, 
     9722        0, 1225, 1231, 1233, 1204, 1254, 1254, 1254, 1234, 1264, 
     9723     1239, 1317, 1241, 1249, 1244, 1245, 1318, 1257, 1247, 1248, 
     9724 
     9725     1253, 1310, 1253, 1253, 1260, 1165,    0, 1254, 1255, 1255, 
     9726     1255, 1231, 1332, 1263, 1332, 1258, 1261, 1265,    0, 1317, 
     9727     1267, 1241, 1249, 1332, 1318, 1257,    0, 1260, 1248, 1264, 
     9728     1255, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 
     9729     1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 
     9730     1258, 1256, 1256, 1256, 1256, 1256, 1260, 1264, 1261, 1263, 
     9731     1265, 1268, 1267, 1274, 1266, 1269, 1269, 1269, 1271, 1272, 
     9732     1273, 1275, 1276, 1276, 1276, 1277, 1278, 1279, 1258, 1280, 
     9733     1281, 1284, 1256, 1256,    0, 1287, 1261, 1263, 1265, 1266, 
     9734     1267, 1269, 1268, 1289, 1276, 1271, 1272, 1273, 1277, 1282, 
     9735 
     9736     1285, 1290, 1296, 1274, 1269, 1275, 1280, 1281, 1279, 1293, 
     9737     1256, 1297, 1294, 1278, 1288, 1288, 1288, 1292, 1266, 1287, 
     9738     1269, 1268, 1284, 1295, 1271, 1272, 1273, 1277,    0, 1296, 
     9739     1299, 1274, 1269, 1275, 1289, 1280, 1281, 1279, 1319, 1282, 
     9740     1292, 1278, 1285, 1286, 1286, 1286, 1297, 1287, 1290, 1306, 
     9741     1284, 1293, 1294, 1288,    0, 1291, 1291, 1291, 1296,    0, 
     9742     1295, 1299, 1289,    0,    0, 1286, 1319, 1282, 1313, 1292, 
     9743     1285, 1303, 1303, 1303, 1297, 1320, 1290, 1291, 1324, 1293, 
     9744     1294, 1288, 1304, 1304, 1304, 1305, 1305, 1305, 1295, 1349, 
     9745     1299, 1306, 1308, 1308, 1308, 1308, 1313, 1303, 1309, 1309, 
     9746 
     9747     1309, 1309,    0, 1320, 1304, 1329, 1324, 1305, 1322, 1322, 
     9748     1322,    0, 1329, 1329, 1330,    0,    0,    0, 1349, 1306, 
     9749        0, 1330, 1330, 1323, 1350, 1313, 1303, 1314, 1314, 1314, 
     9750     1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 
     9751     1314, 1314, 1314, 1314, 1314, 1314, 1323, 1314, 1314, 1314, 
     9752     1314, 1314, 1333, 1350, 1333, 1334,    0, 1334, 1351, 1555, 
     9753     1353, 1555, 1343, 1345, 1343, 1345, 1333,    0, 1334, 1555, 
     9754     1334, 1354, 1355, 1362, 1335, 1323, 1335, 1357, 1314, 1314, 
     9755     1336, 1337, 1336, 1337, 1343, 1345,    0, 1351, 1335, 1353, 
     9756     1335,    0, 1335,    0, 1336, 1337, 1336, 1337, 1336, 1337, 
     9757 
     9758     1354, 1355, 1362,    0,    0, 1357, 1314, 1315, 1315, 1315, 
     9759     1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 
     9760     1315, 1315, 1315, 1315, 1315, 1315, 1335, 1315, 1315, 1315, 
     9761     1315, 1315, 1336, 1337, 1359, 1341, 1341, 1341, 1341, 1342, 
     9762     1342, 1342, 1342, 1341, 1348,    0, 1360, 1342, 1348,    0, 
     9763     1363, 1315, 1341, 1366, 1364, 1365, 1342,    0, 1315, 1315, 
     9764        0, 1376, 1359, 1376, 1418, 1376, 1418, 1418, 1461, 1461, 
     9765     1461, 1461, 1376, 1348, 1360,    0,    0, 1348, 1363, 1315, 
     9766     1358, 1366, 1358, 1364, 1365, 1367, 1315, 1316, 1316, 1316, 
     9767     1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 
     9768 
     9769     1316, 1316, 1316, 1316, 1316, 1316, 1358, 1316, 1316, 1316, 
     9770     1316, 1316, 1369, 1370, 1367, 1371, 1373, 1371, 1374, 1358, 
     9771        0, 1375, 1382, 1375, 1378, 1383,    0, 1474, 1376, 1474, 
     9772     1474, 1384, 1375, 1384, 1375, 1358, 1375, 1371, 1316, 1316, 
     9773     1388, 1369, 1370, 1375, 1373, 1389, 1374, 1358, 1377, 1377, 
     9774     1377, 1382, 1378, 1384, 1383, 1387, 1393, 1387, 1377, 1377, 
     9775     1391, 1377, 1391, 1377, 1394, 1424, 1316, 1396, 1388, 1399, 
     9776     1377, 1401, 1400, 1389, 1400, 1406,    0, 1417, 1407, 1402, 
     9777     1409, 1402, 1391, 1404, 1393, 1404, 1413, 1415, 1423, 1430, 
     9778        0, 1426, 1424, 1394, 1387, 1396, 1428, 1399, 1400, 1375, 
     9779 
     9780     1401, 1402, 1429, 1425, 1406, 1404, 1407, 1436, 1434, 1409, 
     9781     1438, 1423, 1430, 1432, 1413, 1423, 1415, 1417, 1426, 1433, 
     9782     1435, 1424, 1387, 1428, 1439, 1440, 1377, 1400, 1425, 1429, 
     9783     1442, 1441, 1436, 1446, 1449, 1447, 1452, 1438,    0, 1450, 
     9784     1423, 1430, 1458, 1455, 1423, 1417, 1467, 1426, 1434,    0, 
     9785     1432, 1439, 1428,    0, 1459, 1453, 1433, 1425, 1429, 1440, 
     9786     1435, 1436, 1463, 1469, 1446, 1447, 1438, 1441, 1460, 1470, 
     9787     1452, 1472, 1442,    0, 1449, 1467, 1434, 1459, 1432, 1455, 
     9788     1439, 1450, 1453, 1471, 1433, 1480, 1458, 1440, 1435,    0, 
     9789     1463,    0, 1469, 1446, 1447, 1441, 1472, 1470, 1452, 1460, 
     9790 
     9791     1442, 1478, 1449, 1482, 1481,    0, 1459, 1455,    0, 1450, 
     9792        0, 1453, 1471, 1480, 1458, 1475, 1475, 1475, 1476, 1476, 
     9793     1476, 1476, 1483, 1475, 1485, 1472, 1476, 1486, 1460, 1487, 
     9794     1478, 1482, 1475, 1481, 1488, 1476, 1477, 1477, 1477, 1477, 
     9795     1489, 1490,    0, 1491, 1477, 1492, 1493, 1495,    0, 1496, 
     9796     1483, 1498, 1485, 1477, 1503, 1486, 1505, 1487, 1506, 1504, 
     9797     1509, 1504, 1488, 1510, 1511, 1510, 1512, 1501, 1489, 1501, 
     9798     1490, 1491, 1513, 1514, 1492, 1493, 1495, 1496, 1501, 1498, 
     9799     1501, 1504, 1501, 1503, 1505, 1510, 1506, 1515, 1509, 1501, 
     9800     1516, 1517, 1518, 1511, 1520, 1512, 1526, 1521, 1522, 1528, 
     9801 
     9802     1513, 1514, 1523, 1529, 1523, 1523, 1524, 1530, 1524, 1524, 
     9803     1533, 1536, 1531, 1537, 1534, 1515, 1535, 1517, 1538, 1516, 
     9804     1526, 1518, 1540, 1520, 1521, 1546, 1522,    0, 1549, 1544, 
     9805     1529,    0, 1552, 1557,    0, 1528,    0, 1558, 1536, 1551, 
     9806     1537, 1553, 1545, 1545, 1545, 1501, 1517, 1530, 1531, 1526, 
     9807     1534, 1535, 1533, 1521, 1544, 1522, 1556, 1561, 1540, 1529, 
     9808     1538, 1557, 1546, 1528, 1545, 1558, 1551, 1536, 1549, 1537, 
     9809     1550, 1550, 1550, 1552, 1575, 1530, 1531, 1553, 1534, 1535, 
     9810     1533, 1570, 1556, 1544, 1561, 1588, 1540, 1588, 1538,    0, 
     9811     1546, 1564, 1550, 1564, 1564, 1551, 1549, 1554, 1554, 1554, 
     9812 
     9813     1554, 1552, 1562, 1575, 1562, 1553, 1565, 1588, 1565, 1570, 
     9814        0, 1556, 1562, 1561, 1566, 1566, 1566, 1566, 1567, 1567, 
     9815     1567, 1578, 1566, 1565, 1571, 1580, 1567, 1574, 1577, 1579, 
     9816     1581, 1566, 1569, 1569, 1569, 1567, 1568, 1568, 1568, 1568, 
     9817     1569, 1582, 1583, 1582, 1568, 1586, 1601, 1590, 1591, 1569, 
     9818     1578, 1582, 1571, 1568, 1580, 1574, 1577, 1579, 1593, 1581, 
     9819     1593, 1596, 1597, 1598, 1600, 1604, 1602, 1605, 1608, 1606, 
     9820     1583, 1606, 1606, 1609, 1586, 1590, 1612, 1591, 1613, 1615, 
     9821     1593, 1616, 1619, 1601, 1621, 1617, 1617, 1617, 1630, 1596, 
     9822     1605, 1597, 1598, 1600, 1602, 1617, 1624, 1625, 1626,    0, 
     9823 
     9824     1626, 1604, 1608, 1628, 1643, 1613, 1616, 1619, 1626, 1621, 
     9825     1639, 1601, 1644,    0,    0, 1609, 1630, 1615, 1612, 1605, 
     9826     1636, 1636, 1636, 1624, 1625, 1635, 1635, 1635, 1635, 1604, 
     9827     1608,    0, 1643, 1635, 1613, 1616, 1619, 1636, 1621, 1639, 
     9828     1628, 1644, 1635, 1609, 1645, 1615, 1612, 1633, 1633, 1633, 
     9829     1633, 1646, 1624, 1625, 1640, 1633, 1640, 1651, 1633, 1637, 
     9830     1637, 1637, 1637, 1647, 1640, 1647, 1652, 1637, 1628, 1648, 
     9831     1653, 1648, 1645, 1647, 1654, 1660, 1637, 1661, 1662, 1648, 
     9832     1646, 1663, 1663, 1663, 1666, 1667, 1651, 1668, 1669, 1687, 
     9833     1672, 1663, 1690,    0, 1685, 1652, 1685, 1672, 1688, 1653, 
     9834 
     9835     1672, 1660, 1661, 1654, 1685, 1662,    0, 1673, 1673, 1673, 
     9836     1673,    0,    0,    0, 1668, 1669, 1667, 1687, 1666, 1673, 
     9837     1690, 1674, 1674, 1674, 1674,    0,    0, 1688, 1675, 1674, 
     9838     1660, 1661, 1674, 1673, 1662, 1675,    0,    0, 1675, 1678, 
     9839     1678, 1678, 1678, 1668, 1669, 1667, 1666, 1678, 1689, 1680, 
     9840     1678, 1696, 1679, 1679, 1679, 1679, 1680, 1695, 1692, 1680, 
     9841     1679, 1693, 1673, 1679, 1681, 1681, 1681, 1681, 1682, 1682, 
     9842     1682, 1682, 1681, 1686, 1698, 1686, 1682, 1689, 1700, 1696, 
     9843     1682, 1681, 1703, 1701,    0, 1682, 1686, 1692, 1686, 1704, 
     9844     1693, 1704, 1704, 1695, 1682, 1686, 1706, 1711, 1706, 1706, 
     9845 
     9846     1718, 1698,    0, 1719, 1711, 1700, 1712, 1711, 1703,    0, 
     9847     1705, 1705, 1705, 1705,    0, 1720, 1721, 1709, 1709, 1709, 
     9848     1709, 1695, 1705, 1682, 1701, 1709,    0,    0, 1709, 1718, 
     9849     1698, 1719, 1724, 1726, 1700, 1730, 1705, 1703, 1710, 1710, 
     9850     1710, 1710, 1712, 1720, 1713, 1721, 1710, 1722, 1729, 1710, 
     9851     1710, 1713, 1701, 1723, 1713, 1714, 1714, 1714, 1714, 1726, 
     9852     1716, 1715, 1716, 1714, 1710, 1705, 1714, 1725, 1715, 1724, 
     9853     1712, 1715, 1717, 1716, 1717, 1716, 1722, 1728, 1730, 1729, 
     9854        0, 1723, 1716, 1717,    0, 1717,    0, 1717, 1726, 1731, 
     9855     1749, 1731, 1731, 1710, 1717, 1725, 1732, 1724, 1732, 1732, 
     9856 
     9857     1738, 1735, 1735, 1735, 1735, 1743, 1730, 1738, 1729, 1735, 
     9858     1738,    0, 1735, 1736, 1736, 1736, 1736,    0, 1749, 1750, 
     9859        0, 1736,    0, 1728, 1736, 1736, 1737, 1737, 1737, 1737, 
     9860     1752, 1739,    0, 1740, 1737,    0, 1755, 1737, 1739, 1736, 
     9861     1740, 1739, 1743, 1740, 1741, 1741, 1741, 1741, 1750, 1742, 
     9862     1746, 1728, 1741, 1757, 1753, 1741, 1742, 1746, 1752, 1742, 
     9863     1746, 1744, 1744, 1744, 1744, 1754, 1756, 1761, 1736, 1744, 
     9864     1743, 1762, 1744, 1745, 1745, 1745, 1745, 1747, 1755, 1747, 
     9865     1777, 1745, 1753, 1763, 1745, 1763, 1763,    0, 1747, 1764, 
     9866     1757, 1764, 1764, 1754, 1756,    0,    0, 1765, 1765, 1765, 
     9867 
     9868     1765, 1779,    0,    0, 1761, 1765, 1755, 1780, 1765, 1767, 
     9869     1781, 1762, 1766, 1766, 1766, 1766, 1767,    0, 1757, 1767, 
     9870     1766,    0, 1777, 1766, 1769, 1768, 1768, 1768, 1768, 1779, 
     9871     1770, 1769, 1761, 1768, 1769, 1780, 1768, 1770, 1781, 1762, 
     9872     1770, 1771, 1771, 1771, 1771, 1773, 1772, 1772, 1772, 1772, 
     9873     1777, 1782, 1773, 1771, 1772, 1773, 1786, 1772, 1774, 1774, 
     9874     1774, 1774, 1775, 1775, 1775, 1775, 1774, 1771, 1776, 1774, 
     9875     1775, 1787,    0, 1775, 1775, 1776,    0, 1794, 1776, 1788, 
     9876     1782, 1788, 1788, 1789, 1794, 1789, 1789, 1794, 1775, 1804, 
     9877        0, 1798, 1786,    0,    0, 1802, 1771, 1800, 1787, 1790, 
     9878 
     9879     1790, 1790, 1790, 1791, 1791, 1791, 1791, 1790, 1796, 1827, 
     9880     1790, 1791, 1803, 1819, 1791, 1796, 1814, 1775, 1796, 1798, 
     9881     1786, 1792, 1792, 1792, 1792, 1804, 1800, 1787, 1818, 1792, 
     9882     1817,    0, 1792, 1793, 1793, 1793, 1793, 1802, 1827,    0, 
     9883     1803, 1793, 1825,    0, 1793, 1793, 1795, 1795, 1795, 1795, 
     9884     1819,    0,    0, 1804, 1795,    0, 1818, 1795, 1814, 1793, 
     9885     1809, 1809, 1809, 1809, 1820, 1802, 1820, 1820, 1809, 1811, 
     9886     1817, 1809, 1810, 1810, 1810, 1810, 1811, 1813, 1819, 1811, 
     9887     1810, 1828, 1825, 1810, 1813,    0, 1814, 1813, 1793, 1808, 
     9888     1808, 1808, 1808,    0, 1808, 1836, 1824, 1808, 1817, 1808, 
     9889 
     9890     1808, 1808,    0, 1824, 1808, 1808, 1824, 1826,    0, 1808, 
     9891     1825, 1808, 1808, 1808, 1812, 1812, 1812, 1812, 1821, 1821, 
     9892     1821, 1821, 1812, 1828, 1836, 1812, 1821,    0, 1829, 1821, 
     9893     1829, 1829, 1841, 1840, 1826, 1823, 1823, 1823, 1823,    0, 
     9894     1808, 1808, 1808, 1823, 1842, 1843, 1823, 1830, 1830, 1830, 
     9895     1830, 1828, 1831,    0, 1832, 1830, 1834,    0, 1830, 1831, 
     9896     1841, 1832, 1831, 1826, 1832, 1835,    0, 1839, 1808, 1822, 
     9897     1822, 1822, 1822, 1822, 1822, 1840, 1846, 1822, 1822, 1822, 
     9898     1822, 1822,    0, 1834, 1822, 1822, 1842, 1843, 1835, 1822, 
     9899     1839, 1822, 1822, 1822, 1833, 1833, 1833, 1833, 1838, 1838, 
     9900 
     9901     1838, 1838, 1833, 1840,    0, 1833, 1838,    0,    0, 1838, 
     9902        0,    0, 1834,    0, 1842, 1843, 1846, 1835, 1854, 1839, 
     9903     1822, 1822, 1822, 1844, 1844, 1844, 1844, 1845, 1845, 1845, 
     9904     1845, 1847, 1847, 1847, 1847, 1848, 1848, 1848, 1848, 1849, 
     9905     1849, 1849, 1849,    0, 1846, 1854,    0,    0, 1822, 1851, 
     9906     1851, 1851, 1851, 1852, 1852, 1852, 1852, 1855, 1855, 1855, 
     9907     1855, 1856, 1856, 1856, 1856, 1858, 1858, 1858, 1858, 1859, 
     9908     1859, 1859, 1859, 1866, 1854, 1862, 1862, 1862, 1862, 1863, 
     9909     1863, 1863, 1863, 1865, 1865, 1865, 1865, 1868, 1868, 1868, 
     9910     1868, 1870, 1871, 1871, 1871, 1871, 1866, 1872, 1872, 1872, 
     9911 
     9912     1872, 1873, 1873, 1873, 1873, 1875, 1875, 1875, 1875, 1876, 
     9913     1876, 1876, 1876, 1879, 1879, 1879, 1879, 1881, 1881, 1881, 
     9914     1881,    0,    0,    0,    0, 1866,    0,    0,    0,    0, 
     9915        0,    0,    0, 1870,    0,    0,    0,    0,    0,    0, 
    77689916        0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    77699917        0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    7770      1127, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 
    7771      1132, 1132, 1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 
    7772      1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134,    0, 1134, 
    7773      1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 
    7774      1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 
    7775      1135, 1135, 1135, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 
    7776      1136, 1136, 1136, 1136, 1136, 1136, 1137, 1137, 1137, 1137, 
    7777      1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1138, 
    7778  
    7779      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1139, 1139, 
    7780      1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 
    7781      1139, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 
    7782      1140, 1140, 1140, 1140, 1141, 1141, 1141, 1141, 1141,    0, 
    7783      1141, 1141, 1141,    0, 1141,    0, 1141, 1142, 1142, 1142, 
    7784      1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 
    7785      1143,    0,    0,    0,    0,    0,    0,    0, 1143, 1144, 
    7786      1144,    0, 1144, 1144,    0, 1144,    0,    0, 1144, 1144, 
    7787         0, 1144, 1145, 1145, 1145, 1145, 1146, 1146, 1146, 1146, 
    7788      1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1147, 
    7789  
    7790      1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 
    7791      1147, 1147, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 
    7792      1148, 1148, 1148, 1148, 1148, 1149, 1149, 1149,    0, 1149, 
    7793      1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1150,    0, 
    7794      1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 
    7795      1150, 1151,    0, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 
    7796      1151, 1151, 1151, 1151, 1152, 1152, 1152, 1152, 1152, 1152, 
    7797      1152, 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 1153, 
    7798      1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 
    7799      1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 
    7800  
    7801      1154, 1154, 1154, 1155,    0, 1155, 1155, 1155, 1155, 1155, 
    7802      1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156, 1156, 1156, 
    7803      1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 
    7804      1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 
    7805      1157, 1157, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 
    7806      1158, 1158, 1158, 1158, 1158, 1159,    0, 1159, 1159, 1159, 
    7807      1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1160,    0, 
    7808      1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 
    7809      1160, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 
    7810      1161, 1161, 1161, 1161, 1162, 1162, 1162, 1162, 1162, 1162, 
    7811  
    7812      1162, 1162, 1162, 1162, 1162, 1162, 1162, 1163, 1163, 1163, 
    7813      1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 
    7814      1164,    0, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 
    7815      1164, 1164, 1164, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 
    7816      1165, 1165, 1165, 1165, 1165, 1165, 1166, 1166, 1166, 1166, 
    7817      1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1167, 
    7818      1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 
    7819      1167, 1167, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 
    7820      1168, 1168, 1168, 1168, 1168, 1169, 1169, 1169, 1169, 1169, 
    7821      1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170, 1170, 
    7822  
    7823      1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 
    7824      1170, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7825      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7826      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7827      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7828      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7829      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7830      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7831      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7832      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 
    7833  
    7834      1131 
     9918        0, 1870, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 
     9919     1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 
     9920     1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 
     9921     1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1885, 1885, 
     9922 
     9923     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 
     9924     1885, 1885, 1885, 1885, 1885, 1885, 1886, 1886,    0, 1886, 
     9925     1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 
     9926     1886, 1886, 1886, 1886, 1887, 1887, 1887, 1887, 1887, 1887, 
     9927     1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 
     9928     1887, 1887, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 
     9929     1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 
     9930     1889,    0,    0,    0,    0,    0,    0, 1889,    0, 1889, 
     9931        0, 1889, 1889, 1889, 1889, 1889, 1890, 1890, 1890, 1890, 
     9932     1890, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 
     9933 
     9934     1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1892, 
     9935     1892, 1892, 1892, 1892, 1892, 1892, 1892, 1892, 1892, 1892, 
     9936     1892, 1892, 1892, 1892, 1892, 1892, 1892, 1893, 1893, 1893, 
     9937     1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, 
     9938     1893, 1893, 1893, 1893, 1893, 1894, 1894, 1894, 1894, 1894, 
     9939     1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 
     9940     1894, 1894, 1894, 1895,    0,    0,    0,    0,    0,    0, 
     9941        0,    0,    0,    0, 1895, 1895, 1895, 1895, 1895, 1896, 
     9942     1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 
     9943     1896, 1896, 1896, 1896, 1896, 1896, 1896, 1897, 1897,    0, 
     9944 
     9945     1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 
     9946     1897, 1897, 1897, 1897, 1897, 1898, 1898, 1898, 1898, 1898, 
     9947     1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 
     9948     1898, 1898, 1898, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 
     9949     1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 
     9950     1899, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 
     9951     1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1901, 
     9952     1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 
     9953     1901, 1901, 1901, 1901, 1901, 1901, 1901, 1902,    0,    0, 
     9954        0,    0,    0,    0, 1902,    0, 1902,    0,    0, 1902, 
     9955 
     9956     1902, 1902, 1902, 1903, 1903, 1903, 1903,    0, 1903, 1903, 
     9957     1903, 1903, 1903, 1903,    0, 1903, 1903,    0,    0, 1903, 
     9958     1903, 1904, 1904, 1904, 1904, 1904, 1906, 1906, 1906, 1906, 
     9959     1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 
     9960     1906, 1906, 1906, 1906, 1907, 1907, 1907, 1907, 1907, 1907, 
     9961     1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 
     9962     1907, 1907, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 
     9963     1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 
     9964     1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 
     9965     1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1910, 1910, 
     9966 
     9967     1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 
     9968     1910, 1910, 1910, 1910, 1910, 1910, 1911, 1911, 1911, 1911, 
     9969     1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 
     9970     1911, 1911, 1911, 1911, 1912, 1912, 1912, 1912, 1912, 1912, 
     9971     1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 
     9972     1912, 1912, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 
     9973     1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 
     9974     1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 
     9975     1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1915, 1915, 
     9976     1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 
     9977 
     9978     1915, 1915, 1915, 1915, 1915, 1915, 1916, 1916,    0, 1916, 
     9979     1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 
     9980     1916, 1916, 1916, 1916, 1917, 1917, 1917, 1917, 1917, 1917, 
     9981     1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 
     9982     1917, 1917, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 
     9983     1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 
     9984     1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 
     9985     1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1920, 1920, 
     9986     1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 
     9987     1920, 1920, 1920, 1920, 1920, 1920, 1921, 1921, 1921, 1921, 
     9988 
     9989     1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 
     9990     1921, 1921, 1921, 1921, 1922,    0,    0,    0,    0,    0, 
     9991        0, 1922,    0, 1922,    0,    0, 1922, 1922, 1922, 1922, 
     9992     1923,    0,    0,    0,    0,    0,    0,    0, 1923,    0, 
     9993     1923,    0, 1923, 1923, 1923, 1923, 1923, 1924, 1924, 1924, 
     9994     1924, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 
     9995     1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1926, 
     9996     1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 
     9997     1926, 1926, 1926, 1926, 1926, 1926, 1926, 1927, 1927, 1927, 
     9998     1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 
     9999 
     10000     1927, 1927, 1927, 1927, 1927, 1928, 1928, 1928, 1928,    0, 
     10001     1928, 1928, 1928, 1928, 1928, 1928,    0, 1928, 1928,    0, 
     10002        0, 1928, 1928, 1929, 1929, 1929, 1929, 1929, 1930, 1930, 
     10003     1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 
     10004     1930, 1930, 1930, 1930, 1930, 1930, 1931,    0,    0,    0, 
     10005        0,    0,    0,    0, 1931, 1931, 1932, 1932, 1932, 1932, 
     10006     1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 
     10007     1932, 1932, 1932, 1932, 1933, 1933, 1933, 1933, 1933, 1933, 
     10008     1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 
     10009     1933, 1933, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 
     10010 
     10011     1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 
     10012     1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 
     10013     1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1936, 1936, 
     10014     1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 
     10015     1936, 1936, 1936, 1936, 1936, 1936, 1937, 1937, 1937, 1937, 
     10016     1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 
     10017     1937, 1937, 1937, 1937, 1938, 1938, 1938, 1938, 1938, 1938, 
     10018     1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 
     10019     1938, 1938, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 
     10020     1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 
     10021 
     10022     1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 
     10023     1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1941,    0, 
     10024        0,    0,    0,    0,    0,    0,    0,    0,    0, 1941, 
     10025     1941, 1941, 1941, 1941, 1942, 1942, 1942, 1942, 1942, 1942, 
     10026     1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 
     10027     1942, 1942, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 
     10028     1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 
     10029     1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 
     10030     1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1945, 1945, 
     10031        0, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 
     10032 
     10033     1945, 1945, 1945, 1945, 1945, 1945, 1946, 1946, 1946, 1946, 
     10034     1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 
     10035     1946, 1946, 1946, 1946, 1947, 1947, 1947, 1947, 1947, 1947, 
     10036     1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 
     10037     1947, 1947, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 
     10038     1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 
     10039     1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 
     10040     1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1950,    0, 
     10041        0,    0,    0,    0,    0, 1950,    0, 1950,    0,    0, 
     10042     1950, 1950, 1950, 1950, 1951,    0,    0,    0,    0,    0, 
     10043 
     10044        0,    0, 1951,    0,    0,    0, 1951, 1951, 1951, 1951, 
     10045     1951, 1952,    0,    0,    0,    0,    0,    0,    0, 1952, 
     10046        0, 1952,    0, 1952, 1952, 1952, 1952, 1952, 1953, 1953, 
     10047     1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 
     10048     1953, 1953, 1953, 1953, 1953, 1953, 1954, 1954, 1954, 1954, 
     10049     1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 
     10050     1954, 1954, 1954, 1954, 1955, 1955, 1955, 1955, 1955, 1955, 
     10051     1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 
     10052     1955, 1955, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 
     10053     1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 
     10054 
     10055     1957, 1957, 1957, 1957, 1957, 1958, 1958, 1958, 1958, 1958, 
     10056     1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 
     10057     1958, 1958, 1958, 1959, 1959, 1959, 1959, 1959, 1959,    0, 
     10058     1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 
     10059     1959, 1960, 1960,    0, 1960, 1960, 1960, 1960, 1960, 1960, 
     10060     1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1961, 
     10061     1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 
     10062     1961, 1961, 1961, 1961, 1961, 1961, 1961, 1962, 1962, 1962, 
     10063     1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 
     10064     1962, 1962, 1962, 1962, 1962, 1963, 1963, 1963, 1963, 1963, 
     10065 
     10066     1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 
     10067     1963, 1963, 1963, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 
     10068     1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 
     10069     1964, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 
     10070     1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1966, 
     10071     1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 
     10072     1966, 1966, 1966, 1966, 1966, 1966, 1966, 1967, 1967, 1967, 
     10073     1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 
     10074     1967, 1967, 1967, 1967, 1967, 1968, 1968,    0, 1968, 1968, 
     10075     1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 
     10076 
     10077     1968, 1968, 1968, 1969, 1969,    0, 1969, 1969, 1969, 1969, 
     10078     1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 
     10079     1969, 1970, 1970,    0, 1970, 1970, 1970, 1970, 1970, 1970, 
     10080     1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1971, 
     10081     1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 
     10082     1971, 1971, 1971, 1971, 1971, 1971, 1971, 1972, 1972, 1972, 
     10083     1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 
     10084     1972, 1972, 1972, 1972, 1972, 1973, 1973, 1973, 1973, 1973, 
     10085     1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 
     10086     1973, 1973, 1973, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 
     10087 
     10088     1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 
     10089     1974, 1975,    0,    0,    0,    0,    0, 1975,    0,    0, 
     10090        0, 1975,    0, 1975, 1975, 1975, 1975, 1975, 1976, 1976, 
     10091     1976, 1976, 1977,    0,    0,    0,    0,    0,    0,    0, 
     10092     1977,    0,    0,    0, 1977, 1977, 1977, 1977, 1977, 1978, 
     10093        0,    0,    0,    0,    0,    0,    0, 1978,    0, 1978, 
     10094        0, 1978, 1978, 1978, 1978, 1978, 1979, 1979,    0, 1979, 
     10095     1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 
     10096     1979, 1979, 1979, 1979, 1980, 1980, 1980, 1980, 1980, 1980, 
     10097     1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 
     10098 
     10099     1980, 1980, 1981, 1981,    0, 1981, 1981, 1981, 1981, 1981, 
     10100     1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 
     10101     1982, 1982, 1982, 1982, 1982, 1982,    0, 1982, 1982, 1982, 
     10102     1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1983, 1983, 
     10103        0, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 
     10104     1983, 1983, 1983, 1983, 1983, 1983, 1984, 1984, 1984, 1984, 
     10105     1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 
     10106     1984, 1984, 1984, 1984, 1985, 1985, 1985, 1985, 1985, 1985, 
     10107     1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 
     10108     1985, 1985, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 
     10109 
     10110     1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 
     10111     1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 
     10112     1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1988, 1988, 
     10113     1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 
     10114     1988, 1988, 1988, 1988, 1988, 1988, 1989, 1989, 1989, 1989, 
     10115     1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 
     10116     1989, 1989, 1989, 1989, 1990, 1990, 1990, 1990, 1990, 1990, 
     10117     1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 
     10118     1990, 1990, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 
     10119     1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 
     10120 
     10121     1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 
     10122     1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1993, 1993, 
     10123     1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 
     10124     1993, 1993, 1993, 1993, 1993, 1993, 1994, 1994, 1994, 1994, 
     10125     1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 
     10126     1994, 1994, 1994, 1994, 1995, 1995,    0, 1995, 1995, 1995, 
     10127     1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 
     10128     1995, 1995, 1996, 1996,    0, 1996, 1996, 1996, 1996, 1996, 
     10129     1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 
     10130     1997, 1997,    0, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 
     10131 
     10132     1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1998, 1998, 
     10133     1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 
     10134     1998, 1998, 1998, 1998, 1998, 1998, 1999, 1999, 1999, 1999, 
     10135     1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 
     10136     1999, 1999, 1999, 1999, 2000, 2000, 2000, 2000, 2000, 2000, 
     10137     2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 
     10138     2000, 2000, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 
     10139     2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 
     10140     2002,    0,    0,    0,    0,    0, 2002,    0,    0,    0, 
     10141        0,    0, 2002, 2002, 2002, 2002, 2002, 2003, 2003,    0, 
     10142 
     10143     2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 
     10144     2003, 2003, 2003, 2003, 2003, 2004,    0,    0,    0,    0, 
     10145        0,    0, 2004,    0, 2004,    0,    0, 2004, 2004, 2004, 
     10146     2004, 2005,    0,    0,    0,    0,    0,    0,    0, 2005, 
     10147        0, 2005,    0, 2005, 2005, 2005, 2005, 2005, 2006, 2006, 
     10148     2006, 2006, 2007, 2007,    0, 2007, 2007, 2007, 2007, 2007, 
     10149     2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 
     10150     2008, 2008, 2008, 2008, 2008, 2008,    0, 2008, 2008, 2008, 
     10151     2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2009, 2009, 
     10152        0, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 
     10153 
     10154     2009, 2009, 2009, 2009, 2009, 2009, 2010, 2010,    0, 2010, 
     10155     2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 
     10156     2010, 2010, 2010, 2010, 2011, 2011, 2011, 2011, 2011, 2011, 
     10157     2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 
     10158     2011, 2011, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
     10159     2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
     10160     2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 
     10161     2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2014, 2014, 
     10162     2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 
     10163     2014, 2014, 2014, 2014, 2014, 2014, 2015, 2015, 2015, 2015, 
     10164 
     10165     2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 
     10166     2015, 2015, 2015, 2015, 2016,    0, 2016,    0,    0,    0, 
     10167        0, 2016,    0,    0, 2016, 2016, 2016, 2016, 2016, 2016, 
     10168     2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 
     10169     2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2018, 2018, 
     10170     2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 
     10171     2018, 2018, 2018, 2018, 2018, 2018, 2019, 2019, 2019, 2019, 
     10172     2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 
     10173     2019, 2019, 2019, 2019, 2020, 2020, 2020, 2020, 2020, 2020, 
     10174     2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 
     10175 
     10176     2020, 2020, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 
     10177     2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 
     10178     2022, 2022,    0, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 
     10179     2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2023, 2023, 
     10180     2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 
     10181     2023, 2023, 2023, 2023, 2023, 2023, 2024, 2024, 2024, 2024, 
     10182     2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 
     10183     2024, 2024, 2024, 2024, 2025,    0,    0,    0,    0,    0, 
     10184     2025,    0,    0,    0,    0,    0, 2025, 2025, 2025, 2025, 
     10185     2025, 2026,    0,    0,    0,    0,    0,    0, 2026,    0, 
     10186 
     10187     2026,    0,    0, 2026, 2026, 2026, 2026, 2027,    0,    0, 
     10188        0,    0,    0,    0,    0, 2027,    0, 2027,    0, 2027, 
     10189     2027, 2027, 2027, 2027, 2028, 2028, 2028, 2028, 2029,    0, 
     10190     2029,    0,    0,    0,    0, 2029,    0,    0, 2029, 2029, 
     10191     2029, 2029, 2029, 2029, 2030,    0, 2030,    0,    0,    0, 
     10192        0, 2030,    0,    0, 2030, 2030, 2030, 2030, 2030, 2030, 
     10193     2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 
     10194     2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2032, 2032, 
     10195     2032, 2032, 2032, 2033, 2033,    0, 2033, 2033, 2033, 2033, 
     10196     2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 
     10197 
     10198     2033, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 
     10199     2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2035, 
     10200     2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 
     10201     2035, 2035, 2035, 2035, 2035, 2035, 2035, 2036, 2036, 2036, 
     10202     2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 
     10203     2036, 2036, 2036, 2036, 2036, 2037, 2037, 2037, 2037, 2037, 
     10204     2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 
     10205     2037, 2037, 2037, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 
     10206     2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 
     10207     2038, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 
     10208 
     10209     2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 
     10210     2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 
     10211     2040, 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, 2041, 
     10212     2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 
     10213     2041, 2041, 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042, 
     10214     2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 
     10215     2042, 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 
     10216     2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 
     10217     2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 
     10218     2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2045, 
     10219 
     10220     2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 
     10221     2045, 2045, 2045, 2045, 2045, 2045, 2045, 2046, 2046, 2046, 
     10222     2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 
     10223     2046, 2046, 2046, 2046, 2046, 2047, 2047, 2047, 2047, 2047, 
     10224     2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 
     10225     2047, 2047, 2047, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 
     10226     2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 
     10227     2048, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 
     10228     2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2050, 
     10229     2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 
     10230 
     10231     2050, 2050, 2050, 2050, 2050, 2050, 2050, 1882, 1882, 1882, 
     10232     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     10233     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     10234     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     10235     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     10236     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     10237     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     10238     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 
     10239     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882 
    783510240    } ; 
    7836  
    7837 static yy_state_type yy_last_accepting_state; 
    7838 static char *yy_last_accepting_cpos; 
    783910241 
    784010242extern int fortran__flex_debug; 
    784110243int fortran__flex_debug = 0; 
    784210244 
    7843 /* The intent behind this definition is that it'll catch 
    7844  * any uses of REJECT which flex missed. 
    7845  */ 
    7846 #define REJECT reject_used_but_not_detected 
     10245static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; 
     10246static char *yy_full_match; 
     10247static int yy_lp; 
     10248static int yy_looking_for_trail_begin = 0; 
     10249static int yy_full_lp; 
     10250static int *yy_full_state; 
     10251#define YY_TRAILING_MASK 0x2000 
     10252#define YY_TRAILING_HEAD_MASK 0x4000 
     10253#define REJECT \ 
     10254{ \ 
     10255*yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ \ 
     10256yy_cp = (yy_full_match); /* restore poss. backed-over text */ \ 
     10257(yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \ 
     10258(yy_state_ptr) = (yy_full_state); /* restore orig. state */ \ 
     10259yy_current_state = *(yy_state_ptr); /* restore curr. state */ \ 
     10260++(yy_lp); \ 
     10261goto find_rule; \ 
     10262} 
     10263 
    784710264#define yymore() yymore_used_but_not_detected 
    784810265#define YY_MORE_ADJ 0 
     
    788910306 
    789010307 
    7891 #line 44 "fortran.lex" 
     10308 
     10309 
     10310#line 46 "fortran.lex" 
    789210311#include <math.h> 
    789310312#include <stdlib.h> 
     
    789510314extern FILE * fortran_in; 
    789610315#define MAX_INCLUDE_DEPTH 30 
     10316#define YY_BUF_SIZE 64000 
    789710317YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; 
    7898 int line_num_input = 1; 
     10318int line_num_input = 0; 
    789910319int newlinef90 = 0; 
    7900 char tmpc; 
    7901 #define PRINT_LINE_NUM()     // { fprintf(stderr,"== Parsing l.%4d...\n", line_num_input); } 
    7902 #define INCREMENT_LINE_NUM() { line_num_input++; PRINT_LINE_NUM(); } 
    7903  
    7904 /******************************************************************************/ 
    7905 /**************PETITS PB NON PREVUS *******************************************/ 
    7906 /******************************************************************************/ 
    7907 /* NEXTLINF77 un ligne fortran 77 peut commencer par -      &a=b or on        */ 
    7908 /*            a prevu seulement       & a=b avec l'espace entre le symbole    */ 
    7909 /*            de la 7eme et le debut de la ligne de commande                  */ 
    7910 /*            le ! est aussi interdit comme symbole de la 7 eme colonne       */ 
    7911 /*            Normalement NEXTLINEF77 \n+[ ]{5}[^ ]                           */ 
    7912 /******************************************************************************/ 
    7913 #define YY_USER_ACTION  if (firstpass == 0) ECHO; 
     10320int tmpc; 
     10321 
     10322int lastwasendofstmt = 1; 
     10323 
     10324extern char linebuf1[1024]; 
     10325extern char linebuf2[1024]; 
     10326 
     10327int count_newlines(const char* str_in) 
     10328{ 
     10329    int k, i = 0; 
     10330    for( k=0 ; k<strlen(str_in) ; k++) 
     10331        if (str_in[k] == '\n') i++; 
     10332    return i; 
     10333} 
     10334 
     10335#define PRINT_LINE_NUM()   //  { fprintf(stderr,"== Parsing l.%4d...\n", line_num_input); } 
     10336#define INCREMENT_LINE_NUM() { line_num_input+=count_newlines(fortran_text) ; PRINT_LINE_NUM(); } 
     10337#define YY_USER_ACTION       { if (increment_nbtokens !=0) token_since_endofstmt++; increment_nbtokens = 1; if (token_since_endofstmt>=1) lastwasendofstmt=0; /*printf("VALLIJSDFLSD = %d %d %s \n",lastwasendofstmt,token_since_endofstmt,fortran_text); */ if (firstpass) { strcpy(linebuf1, linebuf2); strncpy(linebuf2, fortran_text,80);} \ 
     10338                               else {my_position_before=setposcur();/*printf("muposition = %d\n",my_position_before);*/ECHO;} } 
     10339#define YY_BREAK {/*printf("VALL = %d %d\n",lastwasendofstmt,token_since_endofstmt);*/if (token_since_endofstmt>=1) lastwasendofstmt=0; break;} 
    791410340 
    791510341void out_of_donottreat(void); 
    791610342 
    7917 #line 1825 "fortran.yy.c" 
     10343#line 3526 "fortran.yy.c" 
    791810344 
    791910345#define INITIAL 0 
     
    792110347#define character 2 
    792210348#define donottreat 3 
    7923 #define fortran77style 4 
    7924 #define fortran90style 5 
     10349#define donottreat_interface 4 
     10350#define includestate 5 
     10351#define fortran77style 6 
     10352#define fortran90style 7 
    792510353 
    792610354#ifndef YY_NO_UNISTD_H 
     
    795910387void fortran_set_out  (FILE * out_str  ); 
    796010388 
    7961 int fortran_get_leng (void ); 
     10389yy_size_t fortran_get_leng (void ); 
    796210390 
    796310391char *fortran_get_text (void ); 
     
    800910437 * we now use fwrite(). 
    801010438 */ 
    8011 #define ECHO do { if (fwrite( fortran_text, fortran_leng, 1, fortran_out )) {} } while (0) 
     10439#define ECHO fwrite( fortran_text, fortran_leng, 1, fortran_out ) 
    801210440#endif 
    801310441 
     
    802010448      { \ 
    802110449      int c = '*'; \ 
    8022       unsigned n; \ 
     10450      yy_size_t n; \ 
    802310451      for ( n = 0; n < max_size && \ 
    802410452              (c = getc( fortran_in )) != EOF && c != '\n'; ++n ) \ 
     
    810510533   register int yy_act; 
    810610534     
    8107 #line 97 "fortran.lex" 
     10535#line 101 "fortran.lex" 
    810810536 
    810910537  if (infixed) BEGIN(fortran77style) ; 
    811010538  if (infree)  BEGIN(fortran90style) ; 
    811110539 
    8112 #line 2020 "fortran.yy.c" 
     10540#line 3723 "fortran.yy.c" 
    811310541 
    811410542   if ( !(yy_init) ) 
     
    811910547      YY_USER_INIT; 
    812010548#endif 
     10549 
     10550        /* Create the reject buffer large enough to save one state per allowed character. */ 
     10551        if ( ! (yy_state_buf) ) 
     10552            (yy_state_buf) = (yy_state_type *)fortran_alloc(YY_STATE_BUF_SIZE  ); 
     10553            if ( ! (yy_state_buf) ) 
     10554                YY_FATAL_ERROR( "out of dynamic memory in fortran_lex()" ); 
    812110555 
    812210556      if ( ! (yy_start) ) 
     
    815210586      yy_current_state = (yy_start); 
    815310587      yy_current_state += YY_AT_BOL(); 
     10588 
     10589      (yy_state_ptr) = (yy_state_buf); 
     10590      *(yy_state_ptr)++ = yy_current_state; 
     10591 
    815410592yy_match: 
    815510593      do 
    815610594         { 
    815710595         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 
    8158          if ( yy_accept[yy_current_state] ) 
    8159             { 
    8160             (yy_last_accepting_state) = yy_current_state; 
    8161             (yy_last_accepting_cpos) = yy_cp; 
    8162             } 
    816310596         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 
    816410597            { 
    816510598            yy_current_state = (int) yy_def[yy_current_state]; 
    8166             if ( yy_current_state >= 1132 ) 
     10599            if ( yy_current_state >= 1883 ) 
    816710600               yy_c = yy_meta[(unsigned int) yy_c]; 
    816810601            } 
    816910602         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 
     10603         *(yy_state_ptr)++ = yy_current_state; 
    817010604         ++yy_cp; 
    817110605         } 
    8172       while ( yy_base[yy_current_state] != 4012 ); 
     10606      while ( yy_base[yy_current_state] != 9608 ); 
    817310607 
    817410608yy_find_action: 
    8175       yy_act = yy_accept[yy_current_state]; 
    8176       if ( yy_act == 0 ) 
    8177          { /* have to back up */ 
    8178          yy_cp = (yy_last_accepting_cpos); 
    8179          yy_current_state = (yy_last_accepting_state); 
    8180          yy_act = yy_accept[yy_current_state]; 
     10609      yy_current_state = *--(yy_state_ptr); 
     10610      (yy_lp) = yy_accept[yy_current_state]; 
     10611goto find_rule; /* Shut up GCC warning -Wall */ 
     10612find_rule: /* we branch to this label when backing up */ 
     10613      for ( ; ; ) /* until we find what rule we matched */ 
     10614         { 
     10615         if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] ) 
     10616            { 
     10617            yy_act = yy_acclist[(yy_lp)]; 
     10618            if ( yy_act & YY_TRAILING_HEAD_MASK || 
     10619                 (yy_looking_for_trail_begin) ) 
     10620               { 
     10621               if ( yy_act == (yy_looking_for_trail_begin) ) 
     10622                  { 
     10623                  (yy_looking_for_trail_begin) = 0; 
     10624                  yy_act &= ~YY_TRAILING_HEAD_MASK; 
     10625                  break; 
     10626                  } 
     10627               } 
     10628            else if ( yy_act & YY_TRAILING_MASK ) 
     10629               { 
     10630               (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK; 
     10631               (yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK; 
     10632               } 
     10633            else 
     10634               { 
     10635               (yy_full_match) = yy_cp; 
     10636               (yy_full_state) = (yy_state_ptr); 
     10637               (yy_full_lp) = (yy_lp); 
     10638               break; 
     10639               } 
     10640            ++(yy_lp); 
     10641            goto find_rule; 
     10642            } 
     10643         --yy_cp; 
     10644         yy_current_state = *--(yy_state_ptr); 
     10645         (yy_lp) = yy_accept[yy_current_state]; 
    818110646         } 
    818210647 
     
    818710652      switch ( yy_act ) 
    818810653   { /* beginning of action switch */ 
    8189          case 0: /* must back up */ 
    8190          /* undo the effects of YY_DO_BEFORE_ACTION */ 
    8191          *yy_cp = (yy_hold_char); 
    8192          yy_cp = (yy_last_accepting_cpos); 
    8193          yy_current_state = (yy_last_accepting_state); 
    8194          goto yy_find_action; 
    8195  
    819610654case 1: 
    819710655YY_RULE_SETUP 
    8198 #line 101 "fortran.lex" 
    8199 { return TOK_REAL8; } 
     10656#line 105 "fortran.lex" 
     10657{ return TOK_SUBROUTINE; } 
    820010658   YY_BREAK 
    820110659case 2: 
    820210660YY_RULE_SETUP 
    8203 #line 102 "fortran.lex" 
    8204 { return TOK_SUBROUTINE; } 
     10661#line 106 "fortran.lex" 
     10662{ return TOK_PROGRAM; } 
    820510663   YY_BREAK 
    820610664case 3: 
    820710665YY_RULE_SETUP 
    8208 #line 103 "fortran.lex" 
    8209 { return TOK_PROGRAM; } 
     10666#line 107 "fortran.lex" 
     10667{ inallocate = 1; return TOK_ALLOCATE; } 
    821010668   YY_BREAK 
    821110669case 4: 
    821210670YY_RULE_SETUP 
    8213 #line 104 "fortran.lex" 
    8214 { inallocate = 1; return TOK_ALLOCATE; } 
     10671#line 108 "fortran.lex" 
     10672{ return TOK_CONTINUE; } 
    821510673   YY_BREAK 
    821610674case 5: 
    821710675YY_RULE_SETUP 
    8218 #line 105 "fortran.lex" 
     10676#line 109 "fortran.lex" 
    821910677{ return TOK_NULLIFY; } 
    822010678   YY_BREAK 
    822110679case 6: 
    822210680YY_RULE_SETUP 
    8223 #line 106 "fortran.lex" 
    8224 { return TOK_NULL_PTR; } 
     10681#line 110 "fortran.lex" 
     10682{ inallocate = 1; return TOK_DEALLOCATE; } 
    822510683   YY_BREAK 
    822610684case 7: 
    822710685YY_RULE_SETUP 
    8228 #line 107 "fortran.lex" 
    8229 { inallocate = 1; return TOK_DEALLOCATE; } 
     10686#line 111 "fortran.lex" 
     10687{ return TOK_RESULT; } 
    823010688   YY_BREAK 
    823110689case 8: 
    823210690YY_RULE_SETUP 
    8233 #line 108 "fortran.lex" 
    8234 { return TOK_RESULT; } 
     10691#line 112 "fortran.lex" 
     10692{ return TOK_FUNCTION; } 
    823510693   YY_BREAK 
    823610694case 9: 
    823710695YY_RULE_SETUP 
    8238 #line 109 "fortran.lex" 
    8239 { return TOK_FUNCTION; } 
     10696#line 113 "fortran.lex" 
     10697{ strcpy(yylval.na,fortran_text); return TOK_ENDUNIT;} 
    824010698   YY_BREAK 
    824110699case 10: 
    824210700YY_RULE_SETUP 
    8243 #line 110 "fortran.lex" 
    8244 { strcpy(yylval.na,fortran_text); return TOK_ENDPROGRAM;} 
     10701#line 114 "fortran.lex" 
     10702{ pos_curinclude = setposcur()-9; BEGIN(includestate); } 
    824510703   YY_BREAK 
    824610704case 11: 
    824710705YY_RULE_SETUP 
    8248 #line 111 "fortran.lex" 
    8249 { strcpy(yylval.na,fortran_text); return TOK_ENDMODULE; } 
     10706#line 115 "fortran.lex" 
     10707{ return TOK_USE;} 
    825010708   YY_BREAK 
    825110709case 12: 
    825210710YY_RULE_SETUP 
    8253 #line 112 "fortran.lex" 
    8254 { strcpy(yylval.na,fortran_text); return TOK_ENDSUBROUTINE;} 
     10711#line 116 "fortran.lex" 
     10712{ return TOK_REWIND; } 
    825510713   YY_BREAK 
    825610714case 13: 
    825710715YY_RULE_SETUP 
    8258 #line 113 "fortran.lex" 
    8259 { strcpy(yylval.na,fortran_text); return TOK_ENDFUNCTION;} 
     10716#line 117 "fortran.lex" 
     10717{ return TOK_IMPLICIT; } 
    826010718   YY_BREAK 
    826110719case 14: 
    826210720YY_RULE_SETUP 
    8263 #line 114 "fortran.lex" 
    8264 { strcpy(yylval.na,fortran_text); return TOK_ENDUNIT;} 
     10721#line 118 "fortran.lex" 
     10722{ return TOK_NONE; } 
    826510723   YY_BREAK 
    826610724case 15: 
    826710725YY_RULE_SETUP 
    8268 #line 115 "fortran.lex" 
    8269 { pos_curinclude = setposcur()-9; return TOK_INCLUDE;} 
     10726#line 119 "fortran.lex" 
     10727{ return TOK_CALL; } 
    827010728   YY_BREAK 
    827110729case 16: 
    827210730YY_RULE_SETUP 
    8273 #line 116 "fortran.lex" 
     10731#line 120 "fortran.lex" 
     10732{ strcpy(yylval.na,fortran_text); return TOK_TRUE; } 
     10733   YY_BREAK 
     10734case 17: 
     10735YY_RULE_SETUP 
     10736#line 121 "fortran.lex" 
     10737{ strcpy(yylval.na,fortran_text); return TOK_FALSE; } 
     10738   YY_BREAK 
     10739case 18: 
     10740YY_RULE_SETUP 
     10741#line 122 "fortran.lex" 
     10742{ return TOK_POINT_TO; } 
     10743   YY_BREAK 
     10744case 19: 
     10745YY_RULE_SETUP 
     10746#line 123 "fortran.lex" 
     10747{ strcpy(yylval.na,fortran_text); return TOK_ASSIGNTYPE;} 
     10748   YY_BREAK 
     10749case 20: 
     10750YY_RULE_SETUP 
     10751#line 124 "fortran.lex" 
     10752{ strcpy(yylval.na,fortran_text); return TOK_DASTER; } 
     10753   YY_BREAK 
     10754case 21: 
     10755YY_RULE_SETUP 
     10756#line 125 "fortran.lex" 
     10757{ strcpy(yylval.na,fortran_text); return TOK_EQV; } 
     10758   YY_BREAK 
     10759case 22: 
     10760YY_RULE_SETUP 
     10761#line 126 "fortran.lex" 
     10762{ strcpy(yylval.na,fortran_text); return TOK_EQ;  } 
     10763   YY_BREAK 
     10764case 23: 
     10765YY_RULE_SETUP 
     10766#line 127 "fortran.lex" 
     10767{ strcpy(yylval.na,fortran_text); return TOK_GT;  } 
     10768   YY_BREAK 
     10769case 24: 
     10770YY_RULE_SETUP 
     10771#line 128 "fortran.lex" 
     10772{ strcpy(yylval.na,fortran_text); return TOK_GE;  } 
     10773   YY_BREAK 
     10774case 25: 
     10775YY_RULE_SETUP 
     10776#line 129 "fortran.lex" 
     10777{ strcpy(yylval.na,fortran_text); return TOK_LT;  } 
     10778   YY_BREAK 
     10779case 26: 
     10780YY_RULE_SETUP 
     10781#line 130 "fortran.lex" 
     10782{ strcpy(yylval.na,fortran_text); return TOK_LE;  } 
     10783   YY_BREAK 
     10784case 27: 
     10785YY_RULE_SETUP 
     10786#line 131 "fortran.lex" 
     10787{ strcpy(yylval.na,fortran_text); return TOK_NEQV;} 
     10788   YY_BREAK 
     10789case 28: 
     10790YY_RULE_SETUP 
     10791#line 132 "fortran.lex" 
     10792{ strcpy(yylval.na,fortran_text); return TOK_NE;  } 
     10793   YY_BREAK 
     10794case 29: 
     10795YY_RULE_SETUP 
     10796#line 133 "fortran.lex" 
     10797{ strcpy(yylval.na,fortran_text); return TOK_NOT; } 
     10798   YY_BREAK 
     10799case 30: 
     10800YY_RULE_SETUP 
     10801#line 134 "fortran.lex" 
     10802{ strcpy(yylval.na,fortran_text); return TOK_OR;  } 
     10803   YY_BREAK 
     10804case 31: 
     10805YY_RULE_SETUP 
     10806#line 135 "fortran.lex" 
     10807{ strcpy(yylval.na,fortran_text); return TOK_XOR; } 
     10808   YY_BREAK 
     10809case 32: 
     10810YY_RULE_SETUP 
     10811#line 136 "fortran.lex" 
     10812{ strcpy(yylval.na,fortran_text); return TOK_AND; } 
     10813   YY_BREAK 
     10814case 33: 
     10815YY_RULE_SETUP 
     10816#line 137 "fortran.lex" 
     10817{ strcpy(yylval.na,fortran_text); return TOK_EQUALEQUAL; } 
     10818   YY_BREAK 
     10819case 34: 
     10820YY_RULE_SETUP 
     10821#line 138 "fortran.lex" 
     10822{ strcpy(yylval.na,fortran_text); return TOK_SLASHEQUAL; } 
     10823   YY_BREAK 
     10824case 35: 
     10825YY_RULE_SETUP 
     10826#line 139 "fortran.lex" 
     10827{ strcpy(yylval.na,fortran_text); return TOK_INFEQUAL; } 
     10828   YY_BREAK 
     10829case 36: 
     10830YY_RULE_SETUP 
     10831#line 140 "fortran.lex" 
     10832{ strcpy(yylval.na,fortran_text); return TOK_SUPEQUAL; } 
     10833   YY_BREAK 
     10834case 37: 
     10835YY_RULE_SETUP 
     10836#line 141 "fortran.lex" 
     10837{ return TOK_MODULE; } 
     10838   YY_BREAK 
     10839case 38: 
     10840YY_RULE_SETUP 
     10841#line 142 "fortran.lex" 
     10842{ return TOK_WHILE; } 
     10843   YY_BREAK 
     10844case 39: 
     10845YY_RULE_SETUP 
     10846#line 143 "fortran.lex" 
     10847{ return TOK_CONCURRENT; } 
     10848   YY_BREAK 
     10849case 40: 
     10850YY_RULE_SETUP 
     10851#line 144 "fortran.lex" 
     10852{ return TOK_ENDDO; } 
     10853   YY_BREAK 
     10854case 41: 
     10855YY_RULE_SETUP 
     10856#line 145 "fortran.lex" 
     10857{ strcpy(yylval.na,&fortran_text[2]); 
     10858                              if (testandextractfromlist(&List_Do_labels,&fortran_text[2]) == 1) 
     10859                              { 
     10860                              return TOK_PLAINDO_LABEL_DJVIEW; 
     10861                              } 
     10862                              else 
     10863                              { 
     10864                              List_Do_labels=Insertname(List_Do_labels,yylval.na,1); 
     10865                              return TOK_PLAINDO_LABEL; 
     10866                             } 
     10867                             } 
     10868   YY_BREAK 
     10869case 42: 
     10870YY_RULE_SETUP 
     10871#line 156 "fortran.lex" 
     10872{ increment_nbtokens = 0; return TOK_PLAINDO;} 
     10873   YY_BREAK 
     10874case 43: 
     10875YY_RULE_SETUP 
     10876#line 157 "fortran.lex" 
     10877{ strcpy(yylval.na,fortran_text); return TOK_REAL; } 
     10878   YY_BREAK 
     10879case 44: 
     10880YY_RULE_SETUP 
     10881#line 158 "fortran.lex" 
     10882{ strcpy(yylval.na,fortran_text); return TOK_INTEGER; } 
     10883   YY_BREAK 
     10884case 45: 
     10885YY_RULE_SETUP 
     10886#line 159 "fortran.lex" 
     10887{ strcpy(yylval.na,fortran_text); return TOK_LOGICAL; } 
     10888   YY_BREAK 
     10889case 46: 
     10890YY_RULE_SETUP 
     10891#line 160 "fortran.lex" 
     10892{ strcpy(yylval.na,fortran_text); return TOK_CHARACTER; } 
     10893   YY_BREAK 
     10894case 47: 
     10895YY_RULE_SETUP 
     10896#line 161 "fortran.lex" 
     10897{ strcpy(yylval.na,fortran_text); return TOK_HEXA;} 
     10898   YY_BREAK 
     10899case 48: 
     10900YY_RULE_SETUP 
     10901#line 162 "fortran.lex" 
     10902{ strcpy(yylval.na,fortran_text); return TOK_DOUBLEPRECISION; } 
     10903   YY_BREAK 
     10904case 49: 
     10905YY_RULE_SETUP 
     10906#line 163 "fortran.lex" 
     10907{ strcpy(yylval.na,fortran_text); return TOK_DOUBLECOMPLEX; } 
     10908   YY_BREAK 
     10909case 50: 
     10910YY_RULE_SETUP 
     10911#line 164 "fortran.lex" 
     10912{ strcpy(yylval.na,fortran_text); return TOK_COMPLEX; } 
     10913   YY_BREAK 
     10914case 51: 
     10915YY_RULE_SETUP 
     10916#line 165 "fortran.lex" 
     10917{ return TOK_ALLOCATABLE; } 
     10918   YY_BREAK 
     10919case 52: 
     10920YY_RULE_SETUP 
     10921#line 166 "fortran.lex" 
     10922{ return TOK_CLOSE; } 
     10923   YY_BREAK 
     10924case 53: 
     10925YY_RULE_SETUP 
     10926#line 167 "fortran.lex" 
     10927{ return TOK_INQUIRE; } 
     10928   YY_BREAK 
     10929case 54: 
     10930YY_RULE_SETUP 
     10931#line 168 "fortran.lex" 
     10932{ return TOK_DIMENSION; } 
     10933   YY_BREAK 
     10934case 55: 
     10935YY_RULE_SETUP 
     10936#line 169 "fortran.lex" 
     10937{ return TOK_PAUSE; } 
     10938   YY_BREAK 
     10939case 56: 
     10940YY_RULE_SETUP 
     10941#line 170 "fortran.lex" 
     10942{ return TOK_EQUIVALENCE; } 
     10943   YY_BREAK 
     10944case 57: 
     10945YY_RULE_SETUP 
     10946#line 171 "fortran.lex" 
     10947{ return TOK_STOP; } 
     10948   YY_BREAK 
     10949case 58: 
     10950YY_RULE_SETUP 
     10951#line 172 "fortran.lex" 
     10952{ return TOK_WHERE; } 
     10953   YY_BREAK 
     10954case 59: 
     10955YY_RULE_SETUP 
     10956#line 173 "fortran.lex" 
     10957{ return TOK_ENDWHERE; } 
     10958   YY_BREAK 
     10959case 60: 
     10960YY_RULE_SETUP 
     10961#line 174 "fortran.lex" 
     10962{ return TOK_ELSEWHEREPAR; } 
     10963   YY_BREAK 
     10964case 61: 
     10965YY_RULE_SETUP 
     10966#line 175 "fortran.lex" 
     10967{ return TOK_ELSEWHERE; } 
     10968   YY_BREAK 
     10969case 62: 
     10970YY_RULE_SETUP 
     10971#line 176 "fortran.lex" 
     10972{ return TOK_CONTAINS; } 
     10973   YY_BREAK 
     10974case 63: 
     10975YY_RULE_SETUP 
     10976#line 177 "fortran.lex" 
     10977{ return TOK_ONLY; } 
     10978   YY_BREAK 
     10979case 64: 
     10980YY_RULE_SETUP 
     10981#line 178 "fortran.lex" 
     10982{ return TOK_PARAMETER; } 
     10983   YY_BREAK 
     10984case 65: 
     10985YY_RULE_SETUP 
     10986#line 179 "fortran.lex" 
     10987{ return TOK_RECURSIVE; } 
     10988   YY_BREAK 
     10989case 66: 
     10990YY_RULE_SETUP 
     10991#line 180 "fortran.lex" 
     10992{ return TOK_COMMON; } 
     10993   YY_BREAK 
     10994case 67: 
     10995YY_RULE_SETUP 
     10996#line 181 "fortran.lex" 
     10997{ return TOK_GLOBAL; } 
     10998   YY_BREAK 
     10999case 68: 
     11000YY_RULE_SETUP 
     11001#line 182 "fortran.lex" 
     11002{ return TOK_EXTERNAL; } 
     11003   YY_BREAK 
     11004case 69: 
     11005YY_RULE_SETUP 
     11006#line 183 "fortran.lex" 
     11007{ intent_spec = 1; return TOK_INTENT; } 
     11008   YY_BREAK 
     11009case 70: 
     11010YY_RULE_SETUP 
     11011#line 184 "fortran.lex" 
     11012{ return TOK_POINTER; } 
     11013   YY_BREAK 
     11014case 71: 
     11015YY_RULE_SETUP 
     11016#line 185 "fortran.lex" 
     11017{ return TOK_OPTIONAL; } 
     11018   YY_BREAK 
     11019case 72: 
     11020YY_RULE_SETUP 
     11021#line 186 "fortran.lex" 
     11022{ return TOK_SAVE; } 
     11023   YY_BREAK 
     11024case 73: 
     11025YY_RULE_SETUP 
     11026#line 187 "fortran.lex" 
     11027{ pos_cur_decl = setposcur()-strlen(fortran_text); return TOK_TYPEPAR; } 
     11028   YY_BREAK 
     11029case 74: 
     11030YY_RULE_SETUP 
     11031#line 188 "fortran.lex" 
     11032{ return TOK_TYPE; } 
     11033   YY_BREAK 
     11034case 75: 
     11035YY_RULE_SETUP 
     11036#line 189 "fortran.lex" 
     11037{ return TOK_ENDTYPE; } 
     11038   YY_BREAK 
     11039case 76: 
     11040YY_RULE_SETUP 
     11041#line 190 "fortran.lex" 
     11042{ if (inallocate == 1) return TOK_STAT; else { strcpy(yylval.na,fortran_text); return TOK_NAME; } } 
     11043   YY_BREAK 
     11044case 77: 
     11045YY_RULE_SETUP 
     11046#line 191 "fortran.lex" 
     11047{ return TOK_OPEN; } 
     11048   YY_BREAK 
     11049case 78: 
     11050YY_RULE_SETUP 
     11051#line 192 "fortran.lex" 
     11052{ return TOK_RETURN; } 
     11053   YY_BREAK 
     11054case 79: 
     11055YY_RULE_SETUP 
     11056#line 193 "fortran.lex" 
     11057{ return TOK_EXIT; } 
     11058   YY_BREAK 
     11059case 80: 
     11060YY_RULE_SETUP 
     11061#line 194 "fortran.lex" 
     11062{ return TOK_PRINT; } 
     11063   YY_BREAK 
     11064case 81: 
     11065YY_RULE_SETUP 
     11066#line 195 "fortran.lex" 
     11067{ return TOK_PROCEDURE; } 
     11068   YY_BREAK 
     11069case 82: 
     11070YY_RULE_SETUP 
     11071#line 196 "fortran.lex" 
     11072{ in_io_control_spec = 1; return TOK_READ_PAR; } 
     11073   YY_BREAK 
     11074case 83: 
     11075YY_RULE_SETUP 
     11076#line 197 "fortran.lex" 
     11077{ return TOK_READ; } 
     11078   YY_BREAK 
     11079case 84: 
     11080YY_RULE_SETUP 
     11081#line 198 "fortran.lex" 
     11082{ return TOK_NAMELIST; } 
     11083   YY_BREAK 
     11084case 85: 
     11085YY_RULE_SETUP 
     11086#line 199 "fortran.lex" 
     11087{ in_io_control_spec = 1; return TOK_WRITE_PAR; } 
     11088   YY_BREAK 
     11089case 86: 
     11090YY_RULE_SETUP 
     11091#line 200 "fortran.lex" 
     11092{ return TOK_WRITE; } 
     11093   YY_BREAK 
     11094case 87: 
     11095YY_RULE_SETUP 
     11096#line 201 "fortran.lex" 
     11097{ strcpy(yylval.na,fortran_text); return TOK_FLUSH; } 
     11098   YY_BREAK 
     11099case 88: 
     11100YY_RULE_SETUP 
     11101#line 202 "fortran.lex" 
     11102{ return TOK_TARGET; } 
     11103   YY_BREAK 
     11104case 89: 
     11105YY_RULE_SETUP 
     11106#line 203 "fortran.lex" 
     11107{ return TOK_PUBLIC; } 
     11108   YY_BREAK 
     11109case 90: 
     11110YY_RULE_SETUP 
     11111#line 204 "fortran.lex" 
     11112{ return TOK_PRIVATE; } 
     11113   YY_BREAK 
     11114case 91: 
     11115YY_RULE_SETUP 
     11116#line 205 "fortran.lex" 
    827411117{ strcpy(yylval.na,fortran_text); 
    8275                               tmpc = (char) input(); unput(tmpc); 
    8276                               if ( ( tmpc >= 'a' && tmpc <= 'z' ) || 
    8277                                    ( tmpc >= 'A' && tmpc <= 'Z' )  )  return TOK_USE; 
    8278                               else                                    return TOK_NAME; 
     11118                               if (intent_spec==1) 
     11119                                {return TOK_IN; } 
     11120                              else 
     11121                              { 
     11122                              return TOK_NAME; 
     11123                              } 
    827911124                            } 
    828011125   YY_BREAK 
    8281 case 17: 
    8282 YY_RULE_SETUP 
    8283 #line 122 "fortran.lex" 
    8284 { return TOK_REWIND; } 
    8285    YY_BREAK 
    8286 case 18: 
    8287 YY_RULE_SETUP 
    8288 #line 123 "fortran.lex" 
    8289 { return TOK_IMPLICIT; } 
    8290    YY_BREAK 
    8291 case 19: 
    8292 YY_RULE_SETUP 
    8293 #line 124 "fortran.lex" 
    8294 { return TOK_NONE; } 
    8295    YY_BREAK 
    8296 case 20: 
    8297 YY_RULE_SETUP 
    8298 #line 125 "fortran.lex" 
    8299 { return TOK_CALL; } 
    8300    YY_BREAK 
    8301 case 21: 
    8302 YY_RULE_SETUP 
    8303 #line 126 "fortran.lex" 
    8304 { return TOK_TRUE; } 
    8305    YY_BREAK 
    8306 case 22: 
    8307 YY_RULE_SETUP 
    8308 #line 127 "fortran.lex" 
    8309 { return TOK_FALSE; } 
    8310    YY_BREAK 
    8311 case 23: 
    8312 YY_RULE_SETUP 
    8313 #line 128 "fortran.lex" 
    8314 { return TOK_POINT_TO; } 
    8315    YY_BREAK 
    8316 case 24: 
    8317 YY_RULE_SETUP 
    8318 #line 129 "fortran.lex" 
    8319 { strcpy(yylval.na,fortran_text); return TOK_ASSIGNTYPE;} 
    8320    YY_BREAK 
    8321 case 25: 
    8322 YY_RULE_SETUP 
    8323 #line 130 "fortran.lex" 
    8324 { strcpy(yylval.na,fortran_text); return TOK_DASTER; } 
    8325    YY_BREAK 
    8326 case 26: 
    8327 YY_RULE_SETUP 
    8328 #line 131 "fortran.lex" 
    8329 { strcpy(yylval.na,fortran_text); return TOK_EQV; } 
    8330    YY_BREAK 
    8331 case 27: 
    8332 YY_RULE_SETUP 
    8333 #line 132 "fortran.lex" 
    8334 { strcpy(yylval.na,fortran_text); return TOK_EQ;  } 
    8335    YY_BREAK 
    8336 case 28: 
    8337 YY_RULE_SETUP 
    8338 #line 133 "fortran.lex" 
    8339 { strcpy(yylval.na,fortran_text); return TOK_GT;  } 
    8340    YY_BREAK 
    8341 case 29: 
    8342 YY_RULE_SETUP 
    8343 #line 134 "fortran.lex" 
    8344 { strcpy(yylval.na,fortran_text); return TOK_GE;  } 
    8345    YY_BREAK 
    8346 case 30: 
    8347 YY_RULE_SETUP 
    8348 #line 135 "fortran.lex" 
    8349 { strcpy(yylval.na,fortran_text); return TOK_LT;  } 
    8350    YY_BREAK 
    8351 case 31: 
    8352 YY_RULE_SETUP 
    8353 #line 136 "fortran.lex" 
    8354 { strcpy(yylval.na,fortran_text); return TOK_LE;  } 
    8355    YY_BREAK 
    8356 case 32: 
    8357 YY_RULE_SETUP 
    8358 #line 137 "fortran.lex" 
    8359 { strcpy(yylval.na,fortran_text); return TOK_NEQV;} 
    8360    YY_BREAK 
    8361 case 33: 
    8362 YY_RULE_SETUP 
    8363 #line 138 "fortran.lex" 
    8364 { strcpy(yylval.na,fortran_text); return TOK_NE;  } 
    8365    YY_BREAK 
    8366 case 34: 
    8367 YY_RULE_SETUP 
    8368 #line 139 "fortran.lex" 
    8369 { strcpy(yylval.na,fortran_text); return TOK_NOT; } 
    8370    YY_BREAK 
    8371 case 35: 
    8372 YY_RULE_SETUP 
    8373 #line 140 "fortran.lex" 
    8374 { strcpy(yylval.na,fortran_text); return TOK_OR;  } 
    8375    YY_BREAK 
    8376 case 36: 
    8377 YY_RULE_SETUP 
    8378 #line 141 "fortran.lex" 
    8379 { strcpy(yylval.na,fortran_text); return TOK_XOR; } 
    8380    YY_BREAK 
    8381 case 37: 
    8382 YY_RULE_SETUP 
    8383 #line 142 "fortran.lex" 
    8384 { strcpy(yylval.na,fortran_text); return TOK_AND; } 
    8385    YY_BREAK 
    8386 case 38: 
    8387 YY_RULE_SETUP 
    8388 #line 143 "fortran.lex" 
    8389 { return TOK_MODULE; } 
    8390    YY_BREAK 
    8391 case 39: 
    8392 YY_RULE_SETUP 
    8393 #line 144 "fortran.lex" 
    8394 { return TOK_WHILE; } 
    8395    YY_BREAK 
    8396 case 40: 
    8397 YY_RULE_SETUP 
    8398 #line 145 "fortran.lex" 
    8399 { return TOK_CONCURRENT; } 
    8400    YY_BREAK 
    8401 case 41: 
    8402 YY_RULE_SETUP 
    8403 #line 146 "fortran.lex" 
    8404 { return TOK_ENDDO; } 
    8405    YY_BREAK 
    8406 case 42: 
    8407 YY_RULE_SETUP 
    8408 #line 147 "fortran.lex" 
    8409 { return TOK_PLAINDO;} 
    8410    YY_BREAK 
    8411 case 43: 
    8412 YY_RULE_SETUP 
    8413 #line 148 "fortran.lex" 
    8414 { strcpy(yylval.na,fortran_text); return TOK_REAL; } 
    8415    YY_BREAK 
    8416 case 44: 
    8417 YY_RULE_SETUP 
    8418 #line 149 "fortran.lex" 
    8419 { strcpy(yylval.na,fortran_text); return TOK_INTEGER; } 
    8420    YY_BREAK 
    8421 case 45: 
    8422 YY_RULE_SETUP 
    8423 #line 150 "fortran.lex" 
    8424 { strcpy(yylval.na,fortran_text); return TOK_LOGICAL; } 
    8425    YY_BREAK 
    8426 case 46: 
    8427 YY_RULE_SETUP 
    8428 #line 151 "fortran.lex" 
    8429 { strcpy(yylval.na,fortran_text); return TOK_CHARACTER; } 
    8430    YY_BREAK 
    8431 case 47: 
    8432 YY_RULE_SETUP 
    8433 #line 152 "fortran.lex" 
    8434 { strcpy(yylval.na,fortran_text); return TOK_HEXA;} 
    8435    YY_BREAK 
    8436 case 48: 
    8437 YY_RULE_SETUP 
    8438 #line 153 "fortran.lex" 
    8439 { strcpy(yylval.na,fortran_text); return TOK_DOUBLEPRECISION; } 
    8440    YY_BREAK 
    8441 case 49: 
    8442 YY_RULE_SETUP 
    8443 #line 154 "fortran.lex" 
    8444 { strcpy(yylval.na,fortran_text); return TOK_DOUBLECOMPLEX; } 
    8445    YY_BREAK 
    8446 case 50: 
    8447 YY_RULE_SETUP 
    8448 #line 155 "fortran.lex" 
    8449 { return TOK_COMPLEX; } 
    8450    YY_BREAK 
    8451 case 51: 
    8452 YY_RULE_SETUP 
    8453 #line 156 "fortran.lex" 
    8454 { return TOK_ALLOCATABLE; } 
    8455    YY_BREAK 
    8456 case 52: 
    8457 YY_RULE_SETUP 
    8458 #line 157 "fortran.lex" 
    8459 { return TOK_CLOSE; } 
    8460    YY_BREAK 
    8461 case 53: 
    8462 YY_RULE_SETUP 
    8463 #line 158 "fortran.lex" 
    8464 { return TOK_INQUIRE; } 
    8465    YY_BREAK 
    8466 case 54: 
    8467 YY_RULE_SETUP 
    8468 #line 159 "fortran.lex" 
    8469 { return TOK_DIMENSION; } 
    8470    YY_BREAK 
    8471 case 55: 
    8472 YY_RULE_SETUP 
    8473 #line 160 "fortran.lex" 
    8474 { return TOK_PAUSE; } 
    8475    YY_BREAK 
    8476 case 56: 
    8477 YY_RULE_SETUP 
    8478 #line 161 "fortran.lex" 
    8479 { return TOK_EQUIVALENCE; } 
    8480    YY_BREAK 
    8481 case 57: 
    8482 YY_RULE_SETUP 
    8483 #line 162 "fortran.lex" 
    8484 { return TOK_STOP; } 
    8485    YY_BREAK 
    8486 case 58: 
    8487 YY_RULE_SETUP 
    8488 #line 163 "fortran.lex" 
    8489 { return TOK_WHERE; } 
    8490    YY_BREAK 
    8491 case 59: 
    8492 YY_RULE_SETUP 
    8493 #line 164 "fortran.lex" 
    8494 { return TOK_ENDWHERE; } 
    8495    YY_BREAK 
    8496 case 60: 
    8497 YY_RULE_SETUP 
    8498 #line 165 "fortran.lex" 
    8499 { return TOK_ELSEWHEREPAR; } 
    8500    YY_BREAK 
    8501 case 61: 
    8502 YY_RULE_SETUP 
    8503 #line 166 "fortran.lex" 
    8504 { return TOK_ELSEWHERE; } 
    8505    YY_BREAK 
    8506 case 62: 
    8507 YY_RULE_SETUP 
    8508 #line 167 "fortran.lex" 
    8509 { return TOK_CONTAINS; } 
    8510    YY_BREAK 
    8511 case 63: 
    8512 YY_RULE_SETUP 
    8513 #line 168 "fortran.lex" 
    8514 { return TOK_ONLY; } 
    8515    YY_BREAK 
    8516 case 64: 
    8517 YY_RULE_SETUP 
    8518 #line 169 "fortran.lex" 
    8519 { return TOK_PARAMETER; } 
    8520    YY_BREAK 
    8521 case 65: 
    8522 YY_RULE_SETUP 
    8523 #line 170 "fortran.lex" 
    8524 { return TOK_RECURSIVE; } 
    8525    YY_BREAK 
    8526 case 66: 
    8527 YY_RULE_SETUP 
    8528 #line 171 "fortran.lex" 
    8529 { return TOK_COMMON; } 
    8530    YY_BREAK 
    8531 case 67: 
    8532 YY_RULE_SETUP 
    8533 #line 172 "fortran.lex" 
    8534 { return TOK_GLOBAL; } 
    8535    YY_BREAK 
    8536 case 68: 
    8537 YY_RULE_SETUP 
    8538 #line 173 "fortran.lex" 
    8539 { return TOK_EXTERNAL; } 
    8540    YY_BREAK 
    8541 case 69: 
    8542 YY_RULE_SETUP 
    8543 #line 174 "fortran.lex" 
    8544 { return TOK_INTENT; } 
    8545    YY_BREAK 
    8546 case 70: 
    8547 YY_RULE_SETUP 
    8548 #line 175 "fortran.lex" 
    8549 { return TOK_POINTER; } 
    8550    YY_BREAK 
    8551 case 71: 
    8552 YY_RULE_SETUP 
    8553 #line 176 "fortran.lex" 
    8554 { return TOK_OPTIONAL; } 
    8555    YY_BREAK 
    8556 case 72: 
    8557 YY_RULE_SETUP 
    8558 #line 177 "fortran.lex" 
    8559 { return TOK_SAVE; } 
    8560    YY_BREAK 
    8561 case 73: 
    8562 YY_RULE_SETUP 
    8563 #line 178 "fortran.lex" 
    8564 { pos_cur_decl = setposcur()-5; return TOK_TYPEPAR; } 
    8565    YY_BREAK 
    8566 case 74: 
    8567 YY_RULE_SETUP 
    8568 #line 179 "fortran.lex" 
    8569 { return TOK_TYPE; } 
    8570    YY_BREAK 
    8571 case 75: 
    8572 YY_RULE_SETUP 
    8573 #line 180 "fortran.lex" 
    8574 { return TOK_ENDTYPE; } 
    8575    YY_BREAK 
    8576 case 76: 
    8577 YY_RULE_SETUP 
    8578 #line 181 "fortran.lex" 
    8579 { if (inallocate == 1) return TOK_STAT; else { strcpy(yylval.na,fortran_text); return TOK_NAME; } } 
    8580    YY_BREAK 
    8581 case 77: 
    8582 YY_RULE_SETUP 
    8583 #line 182 "fortran.lex" 
    8584 { return TOK_OPEN; } 
    8585    YY_BREAK 
    8586 case 78: 
    8587 YY_RULE_SETUP 
    8588 #line 183 "fortran.lex" 
    8589 { return TOK_RETURN; } 
    8590    YY_BREAK 
    8591 case 79: 
    8592 /* rule 79 can match eol */ 
    8593 YY_RULE_SETUP 
    8594 #line 184 "fortran.lex" 
    8595 { return TOK_EXIT; } 
    8596    YY_BREAK 
    8597 case 80: 
    8598 YY_RULE_SETUP 
    8599 #line 185 "fortran.lex" 
    8600 { return TOK_PRINT; } 
    8601    YY_BREAK 
    8602 case 81: 
    8603 YY_RULE_SETUP 
    8604 #line 186 "fortran.lex" 
    8605 { return TOK_PROCEDURE; } 
    8606    YY_BREAK 
    8607 case 82: 
    8608 YY_RULE_SETUP 
    8609 #line 187 "fortran.lex" 
    8610 { return TOK_READ; } 
    8611    YY_BREAK 
    8612 case 83: 
    8613 YY_RULE_SETUP 
    8614 #line 188 "fortran.lex" 
    8615 { return TOK_NAMELIST; } 
    8616    YY_BREAK 
    8617 case 84: 
    8618 YY_RULE_SETUP 
    8619 #line 189 "fortran.lex" 
    8620 { return TOK_WRITE; } 
    8621    YY_BREAK 
    8622 case 85: 
    8623 YY_RULE_SETUP 
    8624 #line 190 "fortran.lex" 
    8625 { return TOK_FLUSH; } 
    8626    YY_BREAK 
    8627 case 86: 
    8628 YY_RULE_SETUP 
    8629 #line 191 "fortran.lex" 
    8630 { return TOK_TARGET; } 
    8631    YY_BREAK 
    8632 case 87: 
    8633 YY_RULE_SETUP 
    8634 #line 192 "fortran.lex" 
    8635 { return TOK_PUBLIC; } 
    8636    YY_BREAK 
    8637 case 88: 
    8638 YY_RULE_SETUP 
    8639 #line 193 "fortran.lex" 
    8640 { return TOK_PRIVATE; } 
    8641    YY_BREAK 
    8642 case 89: 
    8643 YY_RULE_SETUP 
    8644 #line 194 "fortran.lex" 
    8645 { strcpy(yylval.na,fortran_text); return TOK_IN; } 
    8646    YY_BREAK 
    8647 case 90: 
    8648 YY_RULE_SETUP 
    8649 #line 195 "fortran.lex" 
    8650 { pos_curdata = setposcur()-strlen(fortran_text); Init_List_Data_Var(); return TOK_DATA; } 
    8651    YY_BREAK 
    8652 case 91: 
    8653 YY_RULE_SETUP 
    8654 #line 196 "fortran.lex" 
    8655 { return TOK_CONTINUE; } 
    8656    YY_BREAK 
    865711126case 92: 
    865811127YY_RULE_SETUP 
    8659 #line 197 "fortran.lex" 
     11128#line 213 "fortran.lex" 
     11129{ pos_curdata = setposcur()-strlen(fortran_text); /*Init_List_Data_Var();*/ return TOK_DATA; } 
     11130   YY_BREAK 
     11131case 93: 
     11132YY_RULE_SETUP 
     11133#line 214 "fortran.lex" 
    866011134{ return TOK_PLAINGOTO; } 
    866111135   YY_BREAK 
    8662 case 93: 
    8663 YY_RULE_SETUP 
    8664 #line 198 "fortran.lex" 
    8665 { strcpy(yylval.na,fortran_text); return TOK_OUT; } 
    8666    YY_BREAK 
    866711136case 94: 
    866811137YY_RULE_SETUP 
    8669 #line 199 "fortran.lex" 
    8670 { strcpy(yylval.na,fortran_text); return TOK_INOUT; } 
     11138#line 215 "fortran.lex" 
     11139{ strcpy(yylval.na,fortran_text); 
     11140                               if (intent_spec==1) 
     11141                                {return TOK_OUT; } 
     11142                              else 
     11143                              { 
     11144                              return TOK_NAME; 
     11145                              } 
     11146                            } 
    867111147   YY_BREAK 
    867211148case 95: 
    867311149YY_RULE_SETUP 
    8674 #line 200 "fortran.lex" 
     11150#line 223 "fortran.lex" 
     11151{ strcpy(yylval.na,fortran_text); 
     11152                               if (intent_spec==1) 
     11153                                {return TOK_IN; } 
     11154                              else 
     11155                              { 
     11156                              return TOK_INOUT; 
     11157                              } 
     11158                            } 
     11159   YY_BREAK 
     11160case 96: 
     11161YY_RULE_SETUP 
     11162#line 231 "fortran.lex" 
    867511163{ return TOK_INTRINSIC; } 
    867611164   YY_BREAK 
    8677 case 96: 
    8678 YY_RULE_SETUP 
    8679 #line 201 "fortran.lex" 
     11165case 97: 
     11166YY_RULE_SETUP 
     11167#line 232 "fortran.lex" 
    868011168{ return TOK_THEN; } 
    868111169   YY_BREAK 
    8682 case 97: 
    8683 YY_RULE_SETUP 
    8684 #line 202 "fortran.lex" 
     11170case 98: 
     11171YY_RULE_SETUP 
     11172#line 233 "fortran.lex" 
    868511173{ return TOK_ELSEIF; } 
    868611174   YY_BREAK 
    8687 case 98: 
    8688 YY_RULE_SETUP 
    8689 #line 203 "fortran.lex" 
     11175case 99: 
     11176YY_RULE_SETUP 
     11177#line 234 "fortran.lex" 
    869011178{ return TOK_ELSE; } 
    869111179   YY_BREAK 
    8692 case 99: 
    8693 YY_RULE_SETUP 
    8694 #line 204 "fortran.lex" 
     11180case 100: 
     11181YY_RULE_SETUP 
     11182#line 235 "fortran.lex" 
    869511183{ return TOK_ENDIF; } 
    869611184   YY_BREAK 
    8697 case 100: 
    8698 YY_RULE_SETUP 
    8699 #line 205 "fortran.lex" 
    8700 { return TOK_LOGICALIF; } 
    8701    YY_BREAK 
    870211185case 101: 
    870311186YY_RULE_SETUP 
    8704 #line 206 "fortran.lex" 
    8705 { return TOK_SUM; } 
     11187#line 236 "fortran.lex" 
     11188{strcpy(yylval.na,fortran_text); 
     11189                            return TOK_LOGICALIF_PAR; 
     11190                            } 
    870611191   YY_BREAK 
    870711192case 102: 
    8708 YY_RULE_SETUP 
    8709 #line 207 "fortran.lex" 
    8710 { return TOK_MAX; } 
     11193/* rule 102 can match eol */ 
     11194*yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 
     11195(yy_c_buf_p) = yy_cp = yy_bp + 2; 
     11196YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 
     11197YY_RULE_SETUP 
     11198#line 239 "fortran.lex" 
     11199{strcpy(yylval.na,fortran_text); 
     11200                            return TOK_NAME; 
     11201                            } 
    871111202   YY_BREAK 
    871211203case 103: 
    871311204YY_RULE_SETUP 
    8714 #line 208 "fortran.lex" 
    8715 { return TOK_TANH; } 
     11205#line 242 "fortran.lex" 
     11206{strcpy(yylval.na,fortran_text); 
     11207                            return TOK_LOGICALIF_PAR; 
     11208                            } 
    871611209   YY_BREAK 
    871711210case 104: 
    871811211YY_RULE_SETUP 
    8719 #line 209 "fortran.lex" 
    8720 { return TOK_MAXVAL; } 
     11212#line 245 "fortran.lex" 
     11213{ return TOK_SELECTCASE; } 
    872111214   YY_BREAK 
    872211215case 105: 
    872311216YY_RULE_SETUP 
    8724 #line 210 "fortran.lex" 
    8725 { return TOK_TRIM; } 
     11217#line 246 "fortran.lex" 
     11218{ if (in_select_case_stmt > 0) return TOK_CASE ; else return TOK_NAME;} 
    872611219   YY_BREAK 
    872711220case 106: 
    872811221YY_RULE_SETUP 
    8729 #line 211 "fortran.lex" 
    8730 { return TOK_SQRT; } 
     11222#line 247 "fortran.lex" 
     11223{ return TOK_DEFAULT; } 
    873111224   YY_BREAK 
    873211225case 107: 
    873311226YY_RULE_SETUP 
    8734 #line 212 "fortran.lex" 
    8735 { return TOK_SELECTCASE; } 
     11227#line 248 "fortran.lex" 
     11228{ return TOK_ENDSELECT; } 
    873611229   YY_BREAK 
    873711230case 108: 
    873811231YY_RULE_SETUP 
    8739 #line 213 "fortran.lex" 
    8740 { return TOK_CASE; } 
     11232#line 249 "fortran.lex" 
     11233{ return TOK_FILE; } 
    874111234   YY_BREAK 
    874211235case 109: 
    874311236YY_RULE_SETUP 
    8744 #line 214 "fortran.lex" 
    8745 { return TOK_DEFAULT; } 
     11237#line 250 "fortran.lex" 
     11238{ return TOK_ACCESS; } 
    874611239   YY_BREAK 
    874711240case 110: 
    874811241YY_RULE_SETUP 
    8749 #line 215 "fortran.lex" 
    8750 { return TOK_ENDSELECT; } 
     11242#line 251 "fortran.lex" 
     11243{ return TOK_ACTION; } 
    875111244   YY_BREAK 
    875211245case 111: 
    875311246YY_RULE_SETUP 
    8754 #line 216 "fortran.lex" 
    8755 { return TOK_FILE; } 
     11247#line 252 "fortran.lex" 
     11248{ return TOK_IOLENGTH; } 
    875611249   YY_BREAK 
    875711250case 112: 
    875811251YY_RULE_SETUP 
    8759 #line 217 "fortran.lex" 
     11252#line 253 "fortran.lex" 
    876011253{ return TOK_UNIT; } 
    876111254   YY_BREAK 
    876211255case 113: 
    876311256YY_RULE_SETUP 
    8764 #line 218 "fortran.lex" 
     11257#line 254 "fortran.lex" 
     11258{ return TOK_OPENED; } 
     11259   YY_BREAK 
     11260case 114: 
     11261YY_RULE_SETUP 
     11262#line 255 "fortran.lex" 
    876511263{ return TOK_FMT; } 
    876611264   YY_BREAK 
    8767 case 114: 
    8768 YY_RULE_SETUP 
    8769 #line 219 "fortran.lex" 
     11265case 115: 
     11266YY_RULE_SETUP 
     11267#line 256 "fortran.lex" 
    877011268{ return TOK_NML; } 
    877111269   YY_BREAK 
    8772 case 115: 
    8773 YY_RULE_SETUP 
    8774 #line 220 "fortran.lex" 
     11270case 116: 
     11271YY_RULE_SETUP 
     11272#line 257 "fortran.lex" 
    877511273{ return TOK_END; } 
    877611274   YY_BREAK 
    8777 case 116: 
    8778 YY_RULE_SETUP 
    8779 #line 221 "fortran.lex" 
     11275case 117: 
     11276YY_RULE_SETUP 
     11277#line 258 "fortran.lex" 
    878011278{ return TOK_EOR; } 
    878111279   YY_BREAK 
    8782 case 117: 
    8783 YY_RULE_SETUP 
    8784 #line 222 "fortran.lex" 
     11280case 118: 
     11281*yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 
     11282(yy_c_buf_p) = yy_cp = yy_bp + 3; 
     11283YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 
     11284YY_RULE_SETUP 
     11285#line 259 "fortran.lex" 
     11286{ 
     11287                            if (in_char_selector ==1) 
     11288                               return TOK_LEN; 
     11289                            else 
     11290                            { 
     11291                            strcpy(yylval.na,fortran_text); return TOK_NAME; 
     11292                            } 
     11293                            } 
     11294   YY_BREAK 
     11295case 119: 
     11296*yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 
     11297(yy_c_buf_p) = yy_cp = yy_bp + 4; 
     11298YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 
     11299YY_RULE_SETUP 
     11300#line 267 "fortran.lex" 
     11301{ 
     11302                            if ((in_char_selector==1) || (in_kind_selector == 1)) 
     11303                               return TOK_KIND; 
     11304                            else 
     11305                            { 
     11306                            strcpy(yylval.na,fortran_text); return TOK_NAME; 
     11307                            } 
     11308                            } 
     11309   YY_BREAK 
     11310case 120: 
     11311YY_RULE_SETUP 
     11312#line 275 "fortran.lex" 
     11313{ return TOK_ERRMSG; } 
     11314   YY_BREAK 
     11315case 121: 
     11316YY_RULE_SETUP 
     11317#line 276 "fortran.lex" 
     11318{ return TOK_MOLD; } 
     11319   YY_BREAK 
     11320case 122: 
     11321YY_RULE_SETUP 
     11322#line 277 "fortran.lex" 
     11323{ return TOK_SOURCE; } 
     11324   YY_BREAK 
     11325case 123: 
     11326YY_RULE_SETUP 
     11327#line 278 "fortran.lex" 
     11328{ return TOK_POSITION; } 
     11329   YY_BREAK 
     11330case 124: 
     11331YY_RULE_SETUP 
     11332#line 279 "fortran.lex" 
     11333{ return TOK_IOMSG; } 
     11334   YY_BREAK 
     11335case 125: 
     11336YY_RULE_SETUP 
     11337#line 280 "fortran.lex" 
     11338{ return TOK_IOSTAT; } 
     11339   YY_BREAK 
     11340case 126: 
     11341YY_RULE_SETUP 
     11342#line 281 "fortran.lex" 
    878511343{ return TOK_ERR; } 
    878611344   YY_BREAK 
    8787 case 118: 
    8788 YY_RULE_SETUP 
    8789 #line 223 "fortran.lex" 
     11345case 127: 
     11346YY_RULE_SETUP 
     11347#line 282 "fortran.lex" 
     11348{ return TOK_FORM; } 
     11349   YY_BREAK 
     11350case 128: 
     11351*yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 
     11352(yy_c_buf_p) = yy_cp = yy_bp + 4; 
     11353YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 
     11354YY_RULE_SETUP 
     11355#line 283 "fortran.lex" 
     11356{ 
     11357                            if (in_inquire==1) 
     11358                               return TOK_NAME_EQ; 
     11359                            else 
     11360                            { 
     11361                            strcpy(yylval.na,fortran_text); return TOK_NAME; 
     11362                            } 
     11363                            } 
     11364   YY_BREAK 
     11365case 129: 
     11366YY_RULE_SETUP 
     11367#line 291 "fortran.lex" 
     11368{ return TOK_RECL; } 
     11369   YY_BREAK 
     11370case 130: 
     11371*yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 
     11372(yy_c_buf_p) = yy_cp = yy_bp + 3; 
     11373YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 
     11374YY_RULE_SETUP 
     11375#line 292 "fortran.lex" 
     11376{ if (in_io_control_spec == 1) 
     11377                              return TOK_REC; 
     11378                             else 
     11379                             { 
     11380                             strcpy(yylval.na,fortran_text); return TOK_NAME; 
     11381                             } 
     11382                             } 
     11383   YY_BREAK 
     11384case 131: 
     11385*yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 
     11386(yy_c_buf_p) = yy_cp = yy_bp + 6; 
     11387YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 
     11388YY_RULE_SETUP 
     11389#line 299 "fortran.lex" 
     11390{ if (close_or_connect == 1) 
     11391                              return TOK_STATUS; 
     11392                             else 
     11393                             { 
     11394                             strcpy(yylval.na,fortran_text); return TOK_NAME; 
     11395                             } 
     11396                             } 
     11397   YY_BREAK 
     11398case 132: 
     11399YY_RULE_SETUP 
     11400#line 306 "fortran.lex" 
     11401{ strcpy(yylval.na,fortran_text); return TOK_NAME;} 
     11402   YY_BREAK 
     11403case 133: 
     11404YY_RULE_SETUP 
     11405#line 307 "fortran.lex" 
    879011406{ return TOK_EXIST; } 
    879111407   YY_BREAK 
    8792 case 119: 
    8793 YY_RULE_SETUP 
    8794 #line 224 "fortran.lex" 
    8795 { return TOK_MIN; } 
    8796    YY_BREAK 
    8797 case 120: 
    8798 YY_RULE_SETUP 
    8799 #line 225 "fortran.lex" 
    8800 { return TOK_NINT; } 
    8801    YY_BREAK 
    8802 case 121: 
    8803 YY_RULE_SETUP 
    8804 #line 226 "fortran.lex" 
    8805 { return TOK_FLOAT; } 
    8806    YY_BREAK 
    8807 case 122: 
    8808 YY_RULE_SETUP 
    8809 #line 227 "fortran.lex" 
    8810 { return TOK_EXP; } 
    8811    YY_BREAK 
    8812 case 123: 
    8813 YY_RULE_SETUP 
    8814 #line 228 "fortran.lex" 
    8815 { return TOK_COS; } 
    8816    YY_BREAK 
    8817 case 124: 
    8818 YY_RULE_SETUP 
    8819 #line 229 "fortran.lex" 
    8820 { return TOK_COSH; } 
    8821    YY_BREAK 
    8822 case 125: 
    8823 YY_RULE_SETUP 
    8824 #line 230 "fortran.lex" 
    8825 { return TOK_ACOS; } 
    8826    YY_BREAK 
    8827 case 126: 
    8828 YY_RULE_SETUP 
    8829 #line 231 "fortran.lex" 
    8830 { return TOK_SIN; } 
    8831    YY_BREAK 
    8832 case 127: 
    8833 YY_RULE_SETUP 
    8834 #line 232 "fortran.lex" 
    8835 { return TOK_SINH; } 
    8836    YY_BREAK 
    8837 case 128: 
    8838 YY_RULE_SETUP 
    8839 #line 233 "fortran.lex" 
    8840 { return TOK_ASIN; } 
    8841    YY_BREAK 
    8842 case 129: 
    8843 YY_RULE_SETUP 
    8844 #line 234 "fortran.lex" 
    8845 { return TOK_LOG; } 
    8846    YY_BREAK 
    8847 case 130: 
    8848 YY_RULE_SETUP 
    8849 #line 235 "fortran.lex" 
    8850 { return TOK_TAN; } 
    8851    YY_BREAK 
    8852 case 131: 
    8853 YY_RULE_SETUP 
    8854 #line 236 "fortran.lex" 
    8855 { return TOK_ATAN; } 
    8856    YY_BREAK 
    8857 case 132: 
    8858 YY_RULE_SETUP 
    8859 #line 237 "fortran.lex" 
     11408case 134: 
     11409YY_RULE_SETUP 
     11410#line 308 "fortran.lex" 
    886011411{ return TOK_CYCLE; } 
    886111412   YY_BREAK 
    8862 case 133: 
    8863 YY_RULE_SETUP 
    8864 #line 238 "fortran.lex" 
    8865 { return TOK_ABS; } 
    8866    YY_BREAK 
    8867 case 134: 
    8868 YY_RULE_SETUP 
    8869 #line 239 "fortran.lex" 
    8870 { return TOK_MOD; } 
    8871    YY_BREAK 
    887211413case 135: 
    887311414YY_RULE_SETUP 
    8874 #line 240 "fortran.lex" 
    8875 { return TOK_SIGN; } 
     11415#line 309 "fortran.lex" 
     11416{ return TOK_BACKSPACE; } 
    887611417   YY_BREAK 
    887711418case 136: 
    887811419YY_RULE_SETUP 
    8879 #line 241 "fortran.lex" 
    8880 { return TOK_MINLOC; } 
     11420#line 310 "fortran.lex" 
     11421{ return TOK_FOURDOTS; } 
    888111422   YY_BREAK 
    888211423case 137: 
    8883 YY_RULE_SETUP 
    8884 #line 242 "fortran.lex" 
    8885 { return TOK_MAXLOC; } 
     11424/* rule 137 can match eol */ 
     11425YY_RULE_SETUP 
     11426#line 311 "fortran.lex" 
     11427{ strcpy(yylval.na,fortran_text); return TOK_DSLASH; } 
    888611428   YY_BREAK 
    888711429case 138: 
    888811430YY_RULE_SETUP 
    8889 #line 243 "fortran.lex" 
    8890 { return TOK_MINVAL; } 
     11431#line 312 "fortran.lex" 
     11432{ return TOK_LEFTAB; } 
    889111433   YY_BREAK 
    889211434case 139: 
    889311435YY_RULE_SETUP 
    8894 #line 244 "fortran.lex" 
    8895 { return TOK_BACKSPACE; } 
     11436#line 313 "fortran.lex" 
     11437{ return TOK_RIGHTAB; } 
    889611438   YY_BREAK 
    889711439case 140: 
    889811440YY_RULE_SETUP 
    8899 #line 245 "fortran.lex" 
    8900 { return TOK_FOURDOTS; } 
     11441#line 314 "fortran.lex" 
     11442{ strcpy(yylval.na,fortran_text); return TOK_SLASH; } 
    890111443   YY_BREAK 
    890211444case 141: 
    8903 YY_RULE_SETUP 
    8904 #line 246 "fortran.lex" 
    8905 { return TOK_LEFTAB; } 
     11445/* rule 141 can match eol */ 
     11446YY_RULE_SETUP 
     11447#line 315 "fortran.lex" 
     11448{ 
     11449                              INCREMENT_LINE_NUM() ; strcpy(yylval.na,fortran_text); return TOK_CHAR_CUT; } 
    890611450   YY_BREAK 
    890711451case 142: 
    8908 YY_RULE_SETUP 
    8909 #line 247 "fortran.lex" 
    8910 { return TOK_RIGHTAB; } 
     11452/* rule 142 can match eol */ 
     11453YY_RULE_SETUP 
     11454#line 317 "fortran.lex" 
     11455{Add_Include_1(fortran_text);} 
    891111456   YY_BREAK 
    891211457case 143: 
    8913 /* rule 143 can match eol */ 
    8914 YY_RULE_SETUP 
    8915 #line 248 "fortran.lex" 
     11458YY_RULE_SETUP 
     11459#line 318 "fortran.lex" 
     11460{} 
     11461   YY_BREAK 
     11462case 144: 
     11463/* rule 144 can match eol */ 
     11464YY_RULE_SETUP 
     11465#line 319 "fortran.lex" 
    891611466{ 
    8917                               return TOK_FORMAT; } 
    8918    YY_BREAK 
    8919 case 144: 
    8920 YY_RULE_SETUP 
    8921 #line 250 "fortran.lex" 
    8922 { strcpy(yylval.na,fortran_text); return TOK_SLASH; } 
     11467                  if (inmoduledeclare == 0 ) 
     11468                  { 
     11469                  pos_end=setposcur(); 
     11470                  RemoveWordSET_0(fortran_out,pos_curinclude,pos_end-pos_curinclude); 
     11471                  } 
     11472                  out_of_donottreat(); 
     11473                  } 
    892311474   YY_BREAK 
    892411475case 145: 
    8925 YY_RULE_SETUP 
    8926 #line 251 "fortran.lex" 
    8927 { strcpy(yylval.na,fortran_text); return TOK_DSLASH; } 
     11476/* rule 145 can match eol */ 
     11477YY_RULE_SETUP 
     11478#line 327 "fortran.lex" 
     11479{ strcpy(yylval.na,fortran_text);return TOK_CHAR_CONSTANT; } 
    892811480   YY_BREAK 
    892911481case 146: 
    893011482/* rule 146 can match eol */ 
    893111483YY_RULE_SETUP 
    8932 #line 252 "fortran.lex" 
    8933 { 
    8934                               strcpy(yylval.na,fortran_text); return TOK_CHAR_CUT; } 
     11484#line 328 "fortran.lex" 
     11485{ strcpy(yylval.na,fortran_text);return TOK_CHAR_MESSAGE; } 
    893511486   YY_BREAK 
    893611487case 147: 
    8937 /* rule 147 can match eol */ 
    8938 YY_RULE_SETUP 
    8939 #line 254 "fortran.lex" 
    8940 { strcpy(yylval.na,fortran_text);return TOK_CHAR_CONSTANT; } 
     11488YY_RULE_SETUP 
     11489#line 329 "fortran.lex" 
     11490{ BEGIN(donottreat_interface); } 
    894111491   YY_BREAK 
    894211492case 148: 
    894311493/* rule 148 can match eol */ 
    894411494YY_RULE_SETUP 
    8945 #line 255 "fortran.lex" 
    8946 { strcpy(yylval.na,fortran_text);return TOK_CHAR_MESSAGE; } 
     11495#line 330 "fortran.lex" 
     11496{ out_of_donottreat(); return '\n'; } 
    894711497   YY_BREAK 
    894811498case 149: 
    8949 YY_RULE_SETUP 
    8950 #line 256 "fortran.lex" 
    8951 { BEGIN(donottreat); } 
     11499/* rule 149 can match eol */ 
     11500YY_RULE_SETUP 
     11501#line 331 "fortran.lex" 
     11502{INCREMENT_LINE_NUM() ; } 
    895211503   YY_BREAK 
    895311504case 150: 
    895411505/* rule 150 can match eol */ 
    895511506YY_RULE_SETUP 
    8956 #line 257 "fortran.lex" 
    8957 { out_of_donottreat(); return '\n'; } 
     11507#line 332 "fortran.lex" 
     11508{strcpy(yylval.na,fortran_text); removenewline(yylval.na); 
     11509                            return TOK_NAME; } 
    895811510   YY_BREAK 
    895911511case 151: 
    896011512YY_RULE_SETUP 
    8961 #line 258 "fortran.lex" 
     11513#line 334 "fortran.lex" 
    896211514{ strcpy(yylval.na,fortran_text); return TOK_NAME; } 
    896311515   YY_BREAK 
    896411516case 152: 
    8965 /* rule 152 can match eol */ 
     11517YY_RULE_SETUP 
     11518#line 335 "fortran.lex" 
     11519{strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 
     11520   YY_BREAK 
     11521case 153: 
     11522/* rule 153 can match eol */ 
    896611523*yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 
    896711524(yy_c_buf_p) = yy_cp -= 1; 
    896811525YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 
    896911526YY_RULE_SETUP 
    8970 #line 259 "fortran.lex" 
     11527#line 336 "fortran.lex" 
    897111528{  // REAL1 
    897211529                              strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 
    897311530   YY_BREAK 
    8974 case 153: 
    8975 YY_RULE_SETUP 
    8976 #line 261 "fortran.lex" 
     11531case 154: 
     11532YY_RULE_SETUP 
     11533#line 338 "fortran.lex" 
    897711534{  // REAL2 
    897811535                              strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 
    897911536   YY_BREAK 
    8980 case 154: 
    8981 YY_RULE_SETUP 
    8982 #line 263 "fortran.lex" 
    8983 { strcpy(yylval.na,fortran_text); return TOK_CSTINT; } 
    8984    YY_BREAK 
    898511537case 155: 
    898611538YY_RULE_SETUP 
    8987 #line 264 "fortran.lex" 
     11539#line 340 "fortran.lex" 
     11540{ strcpy(yylval.na,fortran_text); 
     11541                             if (lastwasendofstmt == 0) 
     11542                              return TOK_CSTINT; 
     11543                             else 
     11544                              if (testandextractfromlist(&List_Do_labels,fortran_text) == 1) 
     11545                              { 
     11546                              removefromlist(&List_Do_labels,yylval.na); 
     11547                              return TOK_LABEL_DJVIEW; 
     11548                              } 
     11549                              else 
     11550                              { 
     11551                              return TOK_LABEL; 
     11552                              } 
     11553                             } 
     11554   YY_BREAK 
     11555case 156: 
     11556YY_RULE_SETUP 
     11557#line 354 "fortran.lex" 
    898811558{} 
    898911559   YY_BREAK 
    8990 case 156: 
    8991 YY_RULE_SETUP 
    8992 #line 265 "fortran.lex" 
     11560case 157: 
     11561YY_RULE_SETUP 
     11562#line 355 "fortran.lex" 
    899311563{} 
    899411564   YY_BREAK 
    8995 case 157: 
    8996 YY_RULE_SETUP 
    8997 #line 266 "fortran.lex" 
     11565case 158: 
     11566*yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 
     11567(yy_c_buf_p) = yy_cp = yy_bp + 1; 
     11568YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 
     11569YY_RULE_SETUP 
     11570#line 356 "fortran.lex" 
     11571{ 
     11572                            in_complex_literal = -1; 
     11573                            return (int) *fortran_text; 
     11574                            } 
     11575   YY_BREAK 
     11576case 159: 
     11577YY_RULE_SETUP 
     11578#line 360 "fortran.lex" 
    899811579{ strcpy(yylval.na,fortran_text); return (int) *fortran_text; } 
    899911580   YY_BREAK 
    9000 case 158: 
    9001 YY_RULE_SETUP 
    9002 #line 267 "fortran.lex" 
     11581case 160: 
     11582YY_RULE_SETUP 
     11583#line 361 "fortran.lex" 
    900311584{ strcpy(yylval.na,fortran_text); return (int) *fortran_text; } 
    900411585   YY_BREAK 
    9005 case 159: 
    9006 YY_RULE_SETUP 
    9007 #line 268 "fortran.lex" 
    9008 { return TOK_SEMICOLON; } 
    9009    YY_BREAK 
    9010 case 160: 
    9011 YY_RULE_SETUP 
    9012 #line 269 "fortran.lex" 
     11586case 161: 
     11587YY_RULE_SETUP 
     11588#line 362 "fortran.lex" 
     11589{ lastwasendofstmt=1; token_since_endofstmt = 0; return TOK_SEMICOLON; } 
     11590   YY_BREAK 
     11591case 162: 
     11592YY_RULE_SETUP 
     11593#line 363 "fortran.lex" 
     11594{ if (in_complex_literal==-1) {return TOK_COMMACOMPLEX; in_complex_literal=0;} else; return (int) *fortran_text; } 
     11595   YY_BREAK 
     11596case 163: 
     11597YY_RULE_SETUP 
     11598#line 364 "fortran.lex" 
    901311599{ return (int) *fortran_text; } 
    901411600   YY_BREAK 
    9015 case 161: 
    9016 YY_RULE_SETUP 
    9017 #line 270 "fortran.lex" 
     11601case 164: 
     11602YY_RULE_SETUP 
     11603#line 365 "fortran.lex" 
    901811604{ return (int) *fortran_text; } 
    901911605   YY_BREAK 
    9020 case 162: 
    9021 YY_RULE_SETUP 
    9022 #line 271 "fortran.lex" 
     11606case 165: 
     11607YY_RULE_SETUP 
     11608#line 366 "fortran.lex" 
    902311609{ return (int) *fortran_text; } 
    902411610   YY_BREAK 
    9025 case 163: 
    9026 YY_RULE_SETUP 
    9027 #line 272 "fortran.lex" 
    9028 { return (int) *fortran_text; } 
    9029    YY_BREAK 
    9030 case 164: 
    9031 /* rule 164 can match eol */ 
    9032 YY_RULE_SETUP 
    9033 #line 273 "fortran.lex" 
    9034 { INCREMENT_LINE_NUM() ; return '\n'; } 
    9035    YY_BREAK 
    9036 case 165: 
    9037 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 
    9038 (yy_c_buf_p) = yy_cp -= 1; 
    9039 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 
    9040 YY_RULE_SETUP 
    9041 #line 274 "fortran.lex" 
    9042 {} 
    9043    YY_BREAK 
    904411611case 166: 
    9045 YY_RULE_SETUP 
    9046 #line 275 "fortran.lex" 
    9047 {} 
     11612/* rule 166 can match eol */ 
     11613YY_RULE_SETUP 
     11614#line 367 "fortran.lex" 
     11615{ INCREMENT_LINE_NUM() ; lastwasendofstmt=1; token_since_endofstmt = 0; increment_nbtokens = 0; return '\n'; } 
    904811616   YY_BREAK 
    904911617case 167: 
    905011618YY_RULE_SETUP 
    9051 #line 276 "fortran.lex" 
    9052 { if (newlinef90 == 0) return TOK_LABEL; else newlinef90 = 0; } 
     11619#line 368 "fortran.lex" 
     11620{increment_nbtokens = 0;} 
    905311621   YY_BREAK 
    905411622case 168: 
    905511623/* rule 168 can match eol */ 
    905611624YY_RULE_SETUP 
    9057 #line 277 "fortran.lex" 
    9058 { INCREMENT_LINE_NUM() ; newlinef90=1; } 
     11625#line 369 "fortran.lex" 
     11626{ 
     11627                              return TOK_LABEL_FORMAT; } 
    905911628   YY_BREAK 
    906011629case 169: 
    906111630/* rule 169 can match eol */ 
    906211631YY_RULE_SETUP 
    9063 #line 278 "fortran.lex" 
    9064 { INCREMENT_LINE_NUM() ; } 
     11632#line 371 "fortran.lex" 
     11633{return TOK_LABEL_FORMAT; } 
    906511634   YY_BREAK 
    906611635case 170: 
    906711636/* rule 170 can match eol */ 
    906811637YY_RULE_SETUP 
    9069 #line 280 "fortran.lex" 
    9070 { INCREMENT_LINE_NUM() ; BEGIN(donottreat); } 
     11638#line 372 "fortran.lex" 
     11639{ INCREMENT_LINE_NUM() ; newlinef90=1; } 
    907111640   YY_BREAK 
    907211641case 171: 
    907311642/* rule 171 can match eol */ 
    907411643YY_RULE_SETUP 
    9075 #line 281 "fortran.lex" 
    9076 { out_of_donottreat(); return '\n'; } 
     11644#line 373 "fortran.lex" 
     11645{ INCREMENT_LINE_NUM() ;} 
    907711646   YY_BREAK 
    907811647case 172: 
    907911648/* rule 172 can match eol */ 
    908011649YY_RULE_SETUP 
    9081 #line 282 "fortran.lex" 
    9082 { INCREMENT_LINE_NUM() ; } 
     11650#line 375 "fortran.lex" 
     11651{INCREMENT_LINE_NUM() ; BEGIN(donottreat); } 
    908311652   YY_BREAK 
    908411653case 173: 
    908511654/* rule 173 can match eol */ 
    908611655YY_RULE_SETUP 
    9087 #line 283 "fortran.lex" 
    9088 { INCREMENT_LINE_NUM() ; } 
     11656#line 376 "fortran.lex" 
     11657{out_of_donottreat(); return '\n'; } 
    908911658   YY_BREAK 
    909011659case 174: 
    909111660/* rule 174 can match eol */ 
    909211661YY_RULE_SETUP 
    9093 #line 284 "fortran.lex" 
    9094 { INCREMENT_LINE_NUM() ; } 
     11662#line 377 "fortran.lex" 
     11663{INCREMENT_LINE_NUM() ; } 
    909511664   YY_BREAK 
    909611665case 175: 
    9097 YY_RULE_SETUP 
    9098 #line 285 "fortran.lex" 
    9099 {} 
     11666/* rule 175 can match eol */ 
     11667YY_RULE_SETUP 
     11668#line 378 "fortran.lex" 
     11669{INCREMENT_LINE_NUM() ; increment_nbtokens = 0;} 
    910011670   YY_BREAK 
    910111671case 176: 
    9102 YY_RULE_SETUP 
    9103 #line 286 "fortran.lex" 
    9104 ECHO; 
    9105    YY_BREAK 
    9106 #line 3014 "fortran.yy.c" 
     11672/* rule 176 can match eol */ 
     11673YY_RULE_SETUP 
     11674#line 379 "fortran.lex" 
     11675{INCREMENT_LINE_NUM() ; increment_nbtokens = 0;} 
     11676   YY_BREAK 
     11677case 177: 
     11678YY_RULE_SETUP 
     11679#line 380 "fortran.lex" 
     11680{increment_nbtokens = 0;} 
     11681   YY_BREAK 
    910711682case YY_STATE_EOF(INITIAL): 
    910811683case YY_STATE_EOF(parameter): 
    910911684case YY_STATE_EOF(character): 
    911011685case YY_STATE_EOF(donottreat): 
     11686case YY_STATE_EOF(donottreat_interface): 
     11687case YY_STATE_EOF(includestate): 
    911111688case YY_STATE_EOF(fortran77style): 
    911211689case YY_STATE_EOF(fortran90style): 
    9113    yyterminate(); 
     11690#line 381 "fortran.lex" 
     11691{endoffile = 1; yyterminate();} 
     11692   YY_BREAK 
     11693case 178: 
     11694YY_RULE_SETUP 
     11695#line 382 "fortran.lex" 
     11696ECHO; 
     11697   YY_BREAK 
     11698#line 4881 "fortran.yy.c" 
    911411699 
    911511700   case YY_END_OF_BUFFER: 
     
    929511880   else 
    929611881      { 
    9297          int num_to_read = 
     11882         yy_size_t num_to_read = 
    929811883         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 
    929911884 
     
    930111886         { /* Not enough room in the buffer - grow it. */ 
    930211887 
    9303          /* just a shorter name for the current buffer */ 
    9304          YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 
    9305  
    9306          int yy_c_buf_p_offset = 
    9307             (int) ((yy_c_buf_p) - b->yy_ch_buf); 
    9308  
    9309          if ( b->yy_is_our_buffer ) 
    9310             { 
    9311             int new_size = b->yy_buf_size * 2; 
    9312  
    9313             if ( new_size <= 0 ) 
    9314                b->yy_buf_size += b->yy_buf_size / 8; 
    9315             else 
    9316                b->yy_buf_size *= 2; 
    9317  
    9318             b->yy_ch_buf = (char *) 
    9319                /* Include room in for 2 EOB chars. */ 
    9320                fortran_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  ); 
    9321             } 
    9322          else 
    9323             /* Can't grow it, we don't own it. */ 
    9324             b->yy_ch_buf = 0; 
    9325  
    9326          if ( ! b->yy_ch_buf ) 
    9327             YY_FATAL_ERROR( 
    9328             "fatal error - scanner input buffer overflow" ); 
    9329  
    9330          (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 
    9331  
    9332          num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 
    9333                   number_to_move - 1; 
     11888         YY_FATAL_ERROR( 
     11889"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); 
    933411890 
    933511891         } 
     
    934011896      /* Read in more data. */ 
    934111897      YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 
    9342          (yy_n_chars), (size_t) num_to_read ); 
     11898         (yy_n_chars), num_to_read ); 
    934311899 
    934411900      YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 
     
    939111947   yy_current_state += YY_AT_BOL(); 
    939211948 
     11949   (yy_state_ptr) = (yy_state_buf); 
     11950   *(yy_state_ptr)++ = yy_current_state; 
     11951 
    939311952   for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 
    939411953      { 
    939511954      register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 
    9396       if ( yy_accept[yy_current_state] ) 
    9397          { 
    9398          (yy_last_accepting_state) = yy_current_state; 
    9399          (yy_last_accepting_cpos) = yy_cp; 
    9400          } 
    940111955      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 
    940211956         { 
    940311957         yy_current_state = (int) yy_def[yy_current_state]; 
    9404          if ( yy_current_state >= 1132 ) 
     11958         if ( yy_current_state >= 1883 ) 
    940511959            yy_c = yy_meta[(unsigned int) yy_c]; 
    940611960         } 
    940711961      yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 
     11962      *(yy_state_ptr)++ = yy_current_state; 
    940811963      } 
    940911964 
     
    941911974{ 
    942011975   register int yy_is_jam; 
    9421       register char *yy_cp = (yy_c_buf_p); 
    9422  
     11976     
    942311977   register YY_CHAR yy_c = 1; 
    9424    if ( yy_accept[yy_current_state] ) 
    9425       { 
    9426       (yy_last_accepting_state) = yy_current_state; 
    9427       (yy_last_accepting_cpos) = yy_cp; 
    9428       } 
    942911978   while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 
    943011979      { 
    943111980      yy_current_state = (int) yy_def[yy_current_state]; 
    9432       if ( yy_current_state >= 1132 ) 
     11981      if ( yy_current_state >= 1883 ) 
    943311982         yy_c = yy_meta[(unsigned int) yy_c]; 
    943411983      } 
    943511984   yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 
    9436    yy_is_jam = (yy_current_state == 1131); 
     11985   yy_is_jam = (yy_current_state == 1882); 
     11986   if ( ! yy_is_jam ) 
     11987      *(yy_state_ptr)++ = yy_current_state; 
    943711988 
    943811989   return yy_is_jam ? 0 : yy_current_state; 
     
    945112002      { /* need to shift things up to make room */ 
    945212003      /* +2 for EOB chars. */ 
    9453       register int number_to_move = (yy_n_chars) + 2; 
     12004      register yy_size_t number_to_move = (yy_n_chars) + 2; 
    945412005      register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 
    945512006               YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; 
     
    950012051      else 
    950112052         { /* need more input */ 
    9502          int offset = (yy_c_buf_p) - (yytext_ptr); 
     12053         yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); 
    950312054         ++(yy_c_buf_p); 
    950412055 
     
    952412075               { 
    952512076               if ( fortran_wrap( ) ) 
    9526                   return EOF; 
     12077                  return 0; 
    952712078 
    952812079               if ( ! (yy_did_buffer_switch_on_eof) ) 
     
    977812329static void fortran_ensure_buffer_stack (void) 
    977912330{ 
    9780    int num_to_alloc; 
     12331   yy_size_t num_to_alloc; 
    978112332     
    978212333   if (!(yy_buffer_stack)) { 
     
    987512426 * @return the newly allocated buffer state object. 
    987612427 */ 
    9877 YY_BUFFER_STATE fortran__scan_bytes  (yyconst char * yybytes, int  _yybytes_len ) 
     12428YY_BUFFER_STATE fortran__scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len ) 
    987812429{ 
    987912430   YY_BUFFER_STATE b; 
    988012431   char *buf; 
    9881    yy_size_t n; 
    9882    int i; 
     12432   yy_size_t n, i; 
    988312433     
    988412434   /* Get memory for full buffer, including space for trailing EOB's. */ 
     
    996212512 *  
    996312513 */ 
    9964 int fortran_get_leng  (void) 
     12514yy_size_t fortran_get_leng  (void) 
    996512515{ 
    996612516        return fortran_leng; 
     
    1002512575    (yy_start) = 0; 
    1002612576 
     12577    (yy_state_buf) = 0; 
     12578    (yy_state_ptr) = 0; 
     12579    (yy_full_match) = 0; 
     12580    (yy_lp) = 0; 
     12581 
    1002712582/* Defined in main.c */ 
    1002812583#ifdef YY_STDINIT 
     
    1005412609   fortran_free((yy_buffer_stack) ); 
    1005512610   (yy_buffer_stack) = NULL; 
     12611 
     12612    fortran_free ( (yy_state_buf) ); 
     12613    (yy_state_buf)  = NULL; 
    1005612614 
    1005712615    /* Reset the globals. This is important in a non-reentrant scanner so the next time 
     
    1011012668#define YYTABLES_NAME "yytables" 
    1011112669 
    10112 #line 286 "fortran.lex" 
     12670#line 382 "fortran.lex" 
    1011312671 
    1011412672 
  • vendors/AGRIF/dev/LIB/main.c

    r12420 r14107  
    1 /* A Bison parser, made by GNU Bison 3.4.2.  */ 
     1/* A Bison parser, made by GNU Bison 3.0.4.  */ 
    22 
    33/* Bison implementation for Yacc-like parsers in C 
    44 
    5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, 
    6    Inc. 
     5   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. 
    76 
    87   This program is free software: you can redistribute it and/or modify 
     
    4241   USER NAME SPACE" below.  */ 
    4342 
    44 /* Undocumented macros, especially those whose name start with YY_, 
    45    are private implementation details.  Do not rely on them.  */ 
    46  
    4743/* Identify Bison output.  */ 
    4844#define YYBISON 1 
    4945 
    5046/* Bison version.  */ 
    51 #define YYBISON_VERSION "3.4.2" 
     47#define YYBISON_VERSION "3.0.4" 
    5248 
    5349/* Skeleton name.  */ 
     
    7470#define yychar          convert_char 
    7571 
    76 /* First part of user prologue.  */ 
    77 #line 35 "convert.y" 
     72/* Copy the first part of user declarations.  */ 
     73#line 35 "convert.y" /* yacc.c:339  */ 
    7874 
    7975#include <stdlib.h> 
     
    9288 
    9389 
    94 #line 95 "convert.tab.c" 
     90#line 91 "convert.tab.c" /* yacc.c:339  */ 
    9591 
    9692# ifndef YY_NULLPTR 
    97 #  if defined __cplusplus 
    98 #   if 201103L <= __cplusplus 
    99 #    define YY_NULLPTR nullptr 
    100 #   else 
    101 #    define YY_NULLPTR 0 
    102 #   endif 
     93#  if defined __cplusplus && 201103L <= __cplusplus 
     94#   define YY_NULLPTR nullptr 
    10395#  else 
    104 #   define YY_NULLPTR ((void*)0) 
     96#   define YY_NULLPTR 0 
    10597#  endif 
    10698# endif 
     
    143135/* Value type.  */ 
    144136#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 
     137 
    145138union YYSTYPE 
    146139{ 
    147 #line 52 "convert.y" 
     140#line 52 "convert.y" /* yacc.c:355  */ 
    148141 
    149142    char na[LONG_M]; 
    150143 
    151 #line 152 "convert.tab.c" 
    152  
     144#line 145 "convert.tab.c" /* yacc.c:355  */ 
    153145}; 
     146 
    154147typedef union YYSTYPE YYSTYPE; 
    155148# define YYSTYPE_IS_TRIVIAL 1 
     
    164157 
    165158 
    166  
     159/* Copy the second part of user declarations.  */ 
     160 
     161#line 162 "convert.tab.c" /* yacc.c:358  */ 
    167162 
    168163#ifdef short 
     
    185180typedef YYTYPE_UINT16 yytype_uint16; 
    186181#else 
    187 typedef unsigned short yytype_uint16; 
     182typedef unsigned short int yytype_uint16; 
    188183#endif 
    189184 
     
    191186typedef YYTYPE_INT16 yytype_int16; 
    192187#else 
    193 typedef short yytype_int16; 
     188typedef short int yytype_int16; 
    194189#endif 
    195190 
     
    203198#  define YYSIZE_T size_t 
    204199# else 
    205 #  define YYSIZE_T unsigned 
     200#  define YYSIZE_T unsigned int 
    206201# endif 
    207202#endif 
     
    239234#endif 
    240235 
     236#if !defined _Noreturn \ 
     237     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 
     238# if defined _MSC_VER && 1200 <= _MSC_VER 
     239#  define _Noreturn __declspec (noreturn) 
     240# else 
     241#  define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 
     242# endif 
     243#endif 
     244 
    241245/* Suppress unused-variable warnings by "using" E.  */ 
    242246#if ! defined lint || defined __GNUC__ 
     
    246250#endif 
    247251 
    248 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 
     252#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 
    249253/* Suppress an incorrect diagnostic about yylval being uninitialized.  */ 
    250254# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 
     
    265269#endif 
    266270 
    267  
    268 #define YY_ASSERT(E) ((void) (0 && (E))) 
    269271 
    270272#if ! defined yyoverflow || YYERROR_VERBOSE 
     
    410412#define YYNSTATES  29 
    411413 
     414/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 
     415   by yylex, with out-of-bounds checking.  */ 
    412416#define YYUNDEFTOK  2 
    413417#define YYMAXUTOK   267 
    414418 
    415 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM 
    416    as returned by yylex, with out-of-bounds checking.  */ 
    417419#define YYTRANSLATE(YYX)                                                \ 
    418   ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 
     420  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 
    419421 
    420422/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 
    421    as returned by yylex.  */ 
     423   as returned by yylex, without out-of-bounds checking.  */ 
    422424static const yytype_uint8 yytranslate[] = 
    423425{ 
     
    576578#define YYRECOVERING()  (!!yyerrstatus) 
    577579 
    578 #define YYBACKUP(Token, Value)                                    \ 
    579   do                                                              \ 
    580     if (yychar == YYEMPTY)                                        \ 
    581       {                                                           \ 
    582         yychar = (Token);                                         \ 
    583         yylval = (Value);                                         \ 
    584         YYPOPSTACK (yylen);                                       \ 
    585         yystate = *yyssp;                                         \ 
    586         goto yybackup;                                            \ 
    587       }                                                           \ 
    588     else                                                          \ 
    589       {                                                           \ 
    590         yyerror (YY_("syntax error: cannot back up")); \ 
    591         YYERROR;                                                  \ 
    592       }                                                           \ 
    593   while (0) 
     580#define YYBACKUP(Token, Value)                                  \ 
     581do                                                              \ 
     582  if (yychar == YYEMPTY)                                        \ 
     583    {                                                           \ 
     584      yychar = (Token);                                         \ 
     585      yylval = (Value);                                         \ 
     586      YYPOPSTACK (yylen);                                       \ 
     587      yystate = *yyssp;                                         \ 
     588      goto yybackup;                                            \ 
     589    }                                                           \ 
     590  else                                                          \ 
     591    {                                                           \ 
     592      yyerror (YY_("syntax error: cannot back up")); \ 
     593      YYERROR;                                                  \ 
     594    }                                                           \ 
     595while (0) 
    594596 
    595597/* Error token number */ 
     
    631633 
    632634 
    633 /*-----------------------------------. 
    634 | Print this symbol's value on YYO.  | 
    635 `-----------------------------------*/ 
     635/*----------------------------------------. 
     636| Print this symbol's value on YYOUTPUT.  | 
     637`----------------------------------------*/ 
    636638 
    637639static void 
    638 yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) 
    639 { 
    640   FILE *yyoutput = yyo; 
    641   YYUSE (yyoutput); 
     640yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 
     641{ 
     642  FILE *yyo = yyoutput; 
     643  YYUSE (yyo); 
    642644  if (!yyvaluep) 
    643645    return; 
    644646# ifdef YYPRINT 
    645647  if (yytype < YYNTOKENS) 
    646     YYPRINT (yyo, yytoknum[yytype], *yyvaluep); 
     648    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 
    647649# endif 
    648   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
    649650  YYUSE (yytype); 
    650   YY_IGNORE_MAYBE_UNINITIALIZED_END 
    651 } 
    652  
    653  
    654 /*---------------------------. 
    655 | Print this symbol on YYO.  | 
    656 `---------------------------*/ 
     651} 
     652 
     653 
     654/*--------------------------------. 
     655| Print this symbol on YYOUTPUT.  | 
     656`--------------------------------*/ 
    657657 
    658658static void 
    659 yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) 
    660 { 
    661   YYFPRINTF (yyo, "%s %s (", 
     659yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 
     660{ 
     661  YYFPRINTF (yyoutput, "%s %s (", 
    662662             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 
    663663 
    664   yy_symbol_value_print (yyo, yytype, yyvaluep); 
    665   YYFPRINTF (yyo, ")"); 
     664  yy_symbol_value_print (yyoutput, yytype, yyvaluep); 
     665  YYFPRINTF (yyoutput, ")"); 
    666666} 
    667667 
     
    697697yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 
    698698{ 
    699   unsigned long yylno = yyrline[yyrule]; 
     699  unsigned long int yylno = yyrline[yyrule]; 
    700700  int yynrhs = yyr2[yyrule]; 
    701701  int yyi; 
     
    708708      yy_symbol_print (stderr, 
    709709                       yystos[yyssp[yyi + 1 - yynrhs]], 
    710                        &yyvsp[(yyi + 1) - (yynrhs)] 
     710                       &(yyvsp[(yyi + 1) - (yynrhs)]) 
    711711                                              ); 
    712712      YYFPRINTF (stderr, "\n"); 
     
    812812            if (*++yyp != '\\') 
    813813              goto do_not_strip_quotes; 
    814             else 
    815               goto append; 
    816  
    817           append: 
     814            /* Fall through.  */ 
    818815          default: 
    819816            if (yyres) 
     
    833830    return yystrlen (yystr); 
    834831 
    835   return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres); 
     832  return yystpcpy (yyres, yystr) - yyres; 
    836833} 
    837834# endif 
     
    911908                { 
    912909                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); 
    913                   if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) 
    914                     yysize = yysize1; 
    915                   else 
     910                  if (! (yysize <= yysize1 
     911                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 
    916912                    return 2; 
     913                  yysize = yysize1; 
    917914                } 
    918915              } 
     
    926923        yyformat = S;                       \ 
    927924      break 
    928     default: /* Avoid compiler warnings. */ 
    929925      YYCASE_(0, YY_("syntax error")); 
    930926      YYCASE_(1, YY_("syntax error, unexpected %s")); 
     
    938934  { 
    939935    YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 
    940     if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) 
    941       yysize = yysize1; 
    942     else 
     936    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 
    943937      return 2; 
     938    yysize = yysize1; 
    944939  } 
    945940 
     
    10671062  goto yysetstate; 
    10681063 
    1069  
    10701064/*------------------------------------------------------------. 
    1071 | yynewstate -- push a new state, which is found in yystate.  | 
     1065| yynewstate -- Push a new state, which is found in yystate.  | 
    10721066`------------------------------------------------------------*/ 
    1073 yynewstate: 
     1067 yynewstate: 
    10741068  /* In all cases, when you get here, the value and location stacks 
    10751069     have just been pushed.  So pushing a state here evens the stacks.  */ 
    10761070  yyssp++; 
    10771071 
    1078  
    1079 /*--------------------------------------------------------------------. 
    1080 | yynewstate -- set current state (the top of the stack) to yystate.  | 
    1081 `--------------------------------------------------------------------*/ 
    1082 yysetstate: 
    1083   YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 
    1084   YY_ASSERT (0 <= yystate && yystate < YYNSTATES); 
    1085   *yyssp = (yytype_int16) yystate; 
     1072 yysetstate: 
     1073  *yyssp = yystate; 
    10861074 
    10871075  if (yyss + yystacksize - 1 <= yyssp) 
    1088 #if !defined yyoverflow && !defined YYSTACK_RELOCATE 
    1089     goto yyexhaustedlab; 
    1090 #else 
    10911076    { 
    10921077      /* Get the current used size of the three stacks, in elements.  */ 
    1093       YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1); 
    1094  
    1095 # if defined yyoverflow 
     1078      YYSIZE_T yysize = yyssp - yyss + 1; 
     1079 
     1080#ifdef yyoverflow 
    10961081      { 
    10971082        /* Give user a chance to reallocate the stack.  Use copies of 
     
    11091094                    &yyvs1, yysize * sizeof (*yyvsp), 
    11101095                    &yystacksize); 
     1096 
    11111097        yyss = yyss1; 
    11121098        yyvs = yyvs1; 
    11131099      } 
    1114 # else /* defined YYSTACK_RELOCATE */ 
     1100#else /* no yyoverflow */ 
     1101# ifndef YYSTACK_RELOCATE 
     1102      goto yyexhaustedlab; 
     1103# else 
    11151104      /* Extend the stack our own way.  */ 
    11161105      if (YYMAXDEPTH <= yystacksize) 
     
    11281117        YYSTACK_RELOCATE (yyss_alloc, yyss); 
    11291118        YYSTACK_RELOCATE (yyvs_alloc, yyvs); 
    1130 # undef YYSTACK_RELOCATE 
     1119#  undef YYSTACK_RELOCATE 
    11311120        if (yyss1 != yyssa) 
    11321121          YYSTACK_FREE (yyss1); 
    11331122      } 
    11341123# endif 
     1124#endif /* no yyoverflow */ 
    11351125 
    11361126      yyssp = yyss + yysize - 1; 
     
    11381128 
    11391129      YYDPRINTF ((stderr, "Stack size increased to %lu\n", 
    1140                   (unsigned long) yystacksize)); 
     1130                  (unsigned long int) yystacksize)); 
    11411131 
    11421132      if (yyss + yystacksize - 1 <= yyssp) 
    11431133        YYABORT; 
    11441134    } 
    1145 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ 
     1135 
     1136  YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 
    11461137 
    11471138  if (yystate == YYFINAL) 
     
    11491140 
    11501141  goto yybackup; 
    1151  
    11521142 
    11531143/*-----------. 
     
    11551145`-----------*/ 
    11561146yybackup: 
     1147 
    11571148  /* Do appropriate processing given the current state.  Read a 
    11581149     lookahead token if we need one and don't already have one.  */ 
     
    12121203  *++yyvsp = yylval; 
    12131204  YY_IGNORE_MAYBE_UNINITIALIZED_END 
     1205 
    12141206  goto yynewstate; 
    12151207 
     
    12261218 
    12271219/*-----------------------------. 
    1228 | yyreduce -- do a reduction.  | 
     1220| yyreduce -- Do a reduction.  | 
    12291221`-----------------------------*/ 
    12301222yyreduce: 
     
    12461238  switch (yyn) 
    12471239    { 
    1248   case 5: 
    1249 #line 76 "convert.y" 
     1240        case 5: 
     1241#line 76 "convert.y" /* yacc.c:1646  */ 
    12501242    { initdimprob(1,(yyvsp[-1].na),"0","0"); } 
    1251 #line 1252 "convert.tab.c" 
     1243#line 1244 "convert.tab.c" /* yacc.c:1646  */ 
    12521244    break; 
    12531245 
    12541246  case 6: 
    1255 #line 77 "convert.y" 
     1247#line 77 "convert.y" /* yacc.c:1646  */ 
    12561248    { initdimprob(2,(yyvsp[-3].na), (yyvsp[-1].na),"0"); } 
    1257 #line 1258 "convert.tab.c" 
     1249#line 1250 "convert.tab.c" /* yacc.c:1646  */ 
    12581250    break; 
    12591251 
    12601252  case 7: 
    1261 #line 78 "convert.y" 
     1253#line 78 "convert.y" /* yacc.c:1646  */ 
    12621254    { initdimprob(3,(yyvsp[-5].na), (yyvsp[-3].na), (yyvsp[-1].na)); } 
    1263 #line 1264 "convert.tab.c" 
     1255#line 1256 "convert.tab.c" /* yacc.c:1646  */ 
    12641256    break; 
    12651257 
    12661258  case 8: 
    1267 #line 80 "convert.y" 
     1259#line 80 "convert.y" /* yacc.c:1646  */ 
    12681260    { 
    12691261            listofmodules = Addtolistnom((yyvsp[-1].na),listofmodules,0); 
    12701262            Addmoduletothelist((yyvsp[-1].na)); 
    12711263        } 
    1272 #line 1273 "convert.tab.c" 
     1264#line 1265 "convert.tab.c" /* yacc.c:1646  */ 
    12731265    break; 
    12741266 
    12751267  case 9: 
    1276 #line 85 "convert.y" 
     1268#line 85 "convert.y" /* yacc.c:1646  */ 
    12771269    { 
    12781270            if (!strcasecmp((yyvsp[-1].na),"4")) 
     
    12901282            } 
    12911283        } 
    1292 #line 1293 "convert.tab.c" 
     1284#line 1285 "convert.tab.c" /* yacc.c:1646  */ 
    12931285    break; 
    12941286 
    12951287  case 10: 
    1296 #line 101 "convert.y" 
     1288#line 101 "convert.y" /* yacc.c:1646  */ 
    12971289    { 
    12981290            Add_NotGridDepend_Var_1((yyvsp[-1].na)); 
    12991291        } 
    1300 #line 1301 "convert.tab.c" 
     1292#line 1293 "convert.tab.c" /* yacc.c:1646  */ 
    13011293    break; 
    13021294 
    13031295  case 11: 
    1304 #line 105 "convert.y" 
     1296#line 105 "convert.y" /* yacc.c:1646  */ 
    13051297    { 
    13061298            if (!strcasecmp((yyvsp[-1].na),"FIXED_GRIDS"))      fixedgrids = 1; 
    13071299            if (!strcasecmp((yyvsp[-1].na),"ONLY_FIXED_GRIDS")) onlyfixedgrids = 1; 
    13081300        } 
    1309 #line 1310 "convert.tab.c" 
     1301#line 1302 "convert.tab.c" /* yacc.c:1646  */ 
    13101302    break; 
    13111303 
    13121304 
    1313 #line 1314 "convert.tab.c" 
    1314  
     1305#line 1306 "convert.tab.c" /* yacc.c:1646  */ 
    13151306      default: break; 
    13161307    } 
     
    13371328     that goes to, based on the state we popped back to and the rule 
    13381329     number reduced by.  */ 
    1339   { 
    1340     const int yylhs = yyr1[yyn] - YYNTOKENS; 
    1341     const int yyi = yypgoto[yylhs] + *yyssp; 
    1342     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp 
    1343                ? yytable[yyi] 
    1344                : yydefgoto[yylhs]); 
    1345   } 
     1330 
     1331  yyn = yyr1[yyn]; 
     1332 
     1333  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 
     1334  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 
     1335    yystate = yytable[yystate]; 
     1336  else 
     1337    yystate = yydefgoto[yyn - YYNTOKENS]; 
    13461338 
    13471339  goto yynewstate; 
     
    14261418`---------------------------------------------------*/ 
    14271419yyerrorlab: 
    1428   /* Pacify compilers when the user code never invokes YYERROR and the 
    1429      label yyerrorlab therefore never appears in user code.  */ 
    1430   if (0) 
    1431     YYERROR; 
     1420 
     1421  /* Pacify compilers like GCC when the user code never invokes 
     1422     YYERROR and the label yyerrorlab therefore never appears in user 
     1423     code.  */ 
     1424  if (/*CONSTCOND*/ 0) 
     1425     goto yyerrorlab; 
    14321426 
    14331427  /* Do not reclaim the symbols of the rule whose action triggered 
     
    14911485  goto yyreturn; 
    14921486 
    1493  
    14941487/*-----------------------------------. 
    14951488| yyabortlab -- YYABORT comes here.  | 
     
    14981491  yyresult = 1; 
    14991492  goto yyreturn; 
    1500  
    15011493 
    15021494#if !defined yyoverflow || YYERROR_VERBOSE 
     
    15101502#endif 
    15111503 
    1512  
    1513 /*-----------------------------------------------------. 
    1514 | yyreturn -- parsing is finished, return the result.  | 
    1515 `-----------------------------------------------------*/ 
    15161504yyreturn: 
    15171505  if (yychar != YYEMPTY) 
     
    15431531  return yyresult; 
    15441532} 
    1545 #line 110 "convert.y" 
     1533#line 110 "convert.y" /* yacc.c:1906  */ 
    15461534 
    15471535 
     
    15661554    int infreegiven ; 
    15671555    int infixedgiven ; 
    1568     int lengthmainfile; 
    15691556 
    15701557    char filetoparse[LONG_FNAME]; 
     
    15961583    tmpuselocallist = (listusemodule *) NULL; 
    15971584    List_ContainsSubroutine = (listnom *) NULL; 
     1585    List_Do_labels = (listname *) NULL; 
    15981586    oldfortran_out = (FILE *) NULL; 
    15991587 
    1600     if (argc < 2) print_usage(); 
    1601      
     1588    if ( argc < 2 ) 
     1589        print_usage(); 
     1590 
    16021591    strcpy(config_file, argv[1]); 
    16031592    strcpy(work_dir, "."); 
     
    16931682            strcpy(filetoparse, argv[i+1]); 
    16941683            i++; 
    1695             lengthmainfile = strlen(filetoparse); 
    1696             if (!strcasecmp(&filetoparse[lengthmainfile-4], ".f90")) 
    1697             { 
    1698                 infixed = 0; 
    1699                 infree = 1; 
    1700             } 
    1701             else 
    1702             { 
    1703                 infixed = 1; 
    1704                 infree = 0; 
    1705             } 
     1684            infree  = (strstr(filetoparse, ".f90") != NULL) || (strstr(filetoparse, ".F90") != NULL); 
     1685            infixed = ! infree; 
    17061686        } 
    17071687        else if (!strcasecmp(argv[i], "-free")) 
     
    18361816    /* Build new subroutines                                                   */ 
    18371817    firstpass = 0; 
     1818    /* 
     1819    printf("**********************************\n"); 
     1820    printf("SECOND PASSES \n"); 
     1821    printf("**********************************\n"); 
     1822    */ 
    18381823    process_fortran(filetoparse); 
    18391824 
     
    19661951typedef int32_t flex_int32_t; 
    19671952typedef uint32_t flex_uint32_t; 
     1953typedef uint64_t flex_uint64_t; 
    19681954#else 
    19691955typedef signed char flex_int8_t; 
     
    20722058#endif 
    20732059 
    2074 extern int convert_leng; 
     2060#ifndef YY_TYPEDEF_YY_SIZE_T 
     2061#define YY_TYPEDEF_YY_SIZE_T 
     2062typedef size_t yy_size_t; 
     2063#endif 
     2064 
     2065extern yy_size_t convert_leng; 
    20752066 
    20762067extern FILE *convert_in, *convert_out; 
     
    20982089#define unput(c) yyunput( c, (yytext_ptr)  ) 
    20992090 
    2100 #ifndef YY_TYPEDEF_YY_SIZE_T 
    2101 #define YY_TYPEDEF_YY_SIZE_T 
    2102 typedef size_t yy_size_t; 
    2103 #endif 
    2104  
    21052091#ifndef YY_STRUCT_YY_BUFFER_STATE 
    21062092#define YY_STRUCT_YY_BUFFER_STATE 
     
    21202106    * characters. 
    21212107    */ 
    2122    int yy_n_chars; 
     2108   yy_size_t yy_n_chars; 
    21232109 
    21242110   /* Whether we "own" the buffer - i.e., we know we created it, 
     
    21902176/* yy_hold_char holds the character lost when convert_text is formed. */ 
    21912177static char yy_hold_char; 
    2192 static int yy_n_chars;     /* number of characters read into yy_ch_buf */ 
    2193 int convert_leng; 
     2178static yy_size_t yy_n_chars;     /* number of characters read into yy_ch_buf */ 
     2179yy_size_t convert_leng; 
    21942180 
    21952181/* Points to current character in buffer. */ 
     
    22192205YY_BUFFER_STATE convert__scan_buffer (char *base,yy_size_t size  ); 
    22202206YY_BUFFER_STATE convert__scan_string (yyconst char *yy_str  ); 
    2221 YY_BUFFER_STATE convert__scan_bytes (yyconst char *bytes,int len  ); 
     2207YY_BUFFER_STATE convert__scan_bytes (yyconst char *bytes,yy_size_t len  ); 
    22222208 
    22232209void *convert_alloc (yy_size_t  ); 
     
    22772263#define YY_DO_BEFORE_ACTION \ 
    22782264   (yytext_ptr) = yy_bp; \ 
    2279    convert_leng = (size_t) (yy_cp - yy_bp); \ 
     2265   convert_leng = (yy_size_t) (yy_cp - yy_bp); \ 
    22802266   (yy_hold_char) = *yy_cp; \ 
    22812267   *yy_cp = '\0'; \ 
     
    24902476 
    24912477#define YY_NO_INPUT 
    2492 #line 594 "convert.yy.c" 
     2478#line 595 "convert.yy.c" 
    24932479 
    24942480#define INITIAL 0 
     
    25302516void convert_set_out  (FILE * out_str  ); 
    25312517 
    2532 int convert_get_leng (void ); 
     2518yy_size_t convert_get_leng (void ); 
    25332519 
    25342520char *convert_get_text (void ); 
     
    25802566 * we now use fwrite(). 
    25812567 */ 
    2582 #define ECHO do { if (fwrite( convert_text, convert_leng, 1, convert_out )) {} } while (0) 
     2568#define ECHO fwrite( convert_text, convert_leng, 1, convert_out ) 
    25832569#endif 
    25842570 
     
    25912577      { \ 
    25922578      int c = '*'; \ 
    2593       unsigned n; \ 
     2579      yy_size_t n; \ 
    25942580      for ( n = 0; n < max_size && \ 
    25952581              (c = getc( convert_in )) != EOF && c != '\n'; ++n ) \ 
     
    26752661#line 54 "convert.lex" 
    26762662 
    2677 #line 779 "convert.yy.c" 
     2663#line 780 "convert.yy.c" 
    26782664 
    26792665   if ( !(yy_init) ) 
     
    28342820ECHO; 
    28352821   YY_BREAK 
    2836 #line 938 "convert.yy.c" 
     2822#line 939 "convert.yy.c" 
    28372823case YY_STATE_EOF(INITIAL): 
    28382824case YY_STATE_EOF(character): 
     
    30213007   else 
    30223008      { 
    3023          int num_to_read = 
     3009         yy_size_t num_to_read = 
    30243010         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 
    30253011 
     
    30353021         if ( b->yy_is_our_buffer ) 
    30363022            { 
    3037             int new_size = b->yy_buf_size * 2; 
     3023            yy_size_t new_size = b->yy_buf_size * 2; 
    30383024 
    30393025            if ( new_size <= 0 ) 
     
    30663052      /* Read in more data. */ 
    30673053      YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 
    3068          (yy_n_chars), (size_t) num_to_read ); 
     3054         (yy_n_chars), num_to_read ); 
    30693055 
    30703056      YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 
     
    31763162      { /* need to shift things up to make room */ 
    31773163      /* +2 for EOB chars. */ 
    3178       register int number_to_move = (yy_n_chars) + 2; 
     3164      register yy_size_t number_to_move = (yy_n_chars) + 2; 
    31793165      register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 
    31803166               YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; 
     
    32253211      else 
    32263212         { /* need more input */ 
    3227          int offset = (yy_c_buf_p) - (yytext_ptr); 
     3213         yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); 
    32283214         ++(yy_c_buf_p); 
    32293215 
     
    32493235               { 
    32503236               if ( convert_wrap( ) ) 
    3251                   return EOF; 
     3237                  return 0; 
    32523238 
    32533239               if ( ! (yy_did_buffer_switch_on_eof) ) 
     
    35013487static void convert_ensure_buffer_stack (void) 
    35023488{ 
    3503    int num_to_alloc; 
     3489   yy_size_t num_to_alloc; 
    35043490     
    35053491   if (!(yy_buffer_stack)) { 
     
    35983584 * @return the newly allocated buffer state object. 
    35993585 */ 
    3600 YY_BUFFER_STATE convert__scan_bytes  (yyconst char * yybytes, int  _yybytes_len ) 
     3586YY_BUFFER_STATE convert__scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len ) 
    36013587{ 
    36023588   YY_BUFFER_STATE b; 
    36033589   char *buf; 
    3604    yy_size_t n; 
    3605    int i; 
     3590   yy_size_t n, i; 
    36063591     
    36073592   /* Get memory for full buffer, including space for trailing EOB's. */ 
     
    36853670 *  
    36863671 */ 
    3687 int convert_get_leng  (void) 
     3672yy_size_t convert_get_leng  (void) 
    36883673{ 
    36893674        return convert_leng; 
  • vendors/AGRIF/dev/LIB/toamr.c

    r12420 r14107  
    4747        "tabvars_i"     // v_catvar == 4 
    4848    }; 
     49 
    4950    return tname[var->v_catvar];    // v_catvar should never be ouside the range [0:4]. 
    5051} 
     
    137138    static char tname_1[LONG_C]; 
    138139    static char tname_2[LONG_C]; 
    139  
     140     
    140141    if ( iorindice == 0 ) sprintf(tname_1, "Agrif_Gr %% %s(%d)", tabvarsname(var), var->v_indicetabvars); 
    141142    else                  sprintf(tname_1, "Agrif_Gr %% %s(i)",  tabvarsname(var)); 
    142143 
    143     if (!strcasecmp(var->v_typevar, "REAL")) 
     144    if (!strcasecmp(var->v_typevar, "real")) 
    144145    { 
    145146        if      ( !strcasecmp(var->v_nameinttypename,"8") ) sprintf(tname_2, "%% darray%d", var->v_nbdim); 
    146147        else if ( !strcasecmp(var->v_nameinttypename,"4") ) sprintf(tname_2, "%% sarray%d", var->v_nbdim); 
    147         else                                                sprintf(tname_2, "%% array%d",  var->v_nbdim); 
     148        else if ( !strcasecmp(var->v_precision,"8") ) sprintf(tname_2, "%% darray%d", var->v_nbdim); 
     149        else if ( !strcasecmp(var->v_precision,"4") ) sprintf(tname_2, "%% sarray%d", var->v_nbdim);         
     150        else   
     151          { 
     152          sprintf(tname_2, "%% array%d",  var->v_nbdim); 
     153          } 
    148154    } 
    149155    else if (!strcasecmp(var->v_typevar, "integer")) 
     
    200206        if (!strcasecmp(var->v_typevar, "REAL")) 
    201207        { 
    202             if      ( !strcasecmp(var->v_nameinttypename,"8") ) sprintf(tname_2, "%% darray%d", var->v_nbdim); 
    203             else if ( !strcasecmp(var->v_nameinttypename,"4") ) sprintf(tname_2, "%% sarray%d", var->v_nbdim); 
    204             else                                                sprintf(tname_2, "%% array%d", var->v_nbdim); 
     208            if      ( !strcasecmp(var->v_nameinttypename,"8") ) sprintf(tname_2, "darray%d", var->v_nbdim); 
     209            else if ( !strcasecmp(var->v_nameinttypename,"4") ) sprintf(tname_2, "sarray%d", var->v_nbdim); 
     210            else if ( !strcasecmp(var->v_precision,"8") ) sprintf(tname_2, "darray%d", var->v_nbdim); 
     211            else if ( !strcasecmp(var->v_precision,"4") ) sprintf(tname_2, "sarray%d", var->v_nbdim); 
     212            else sprintf(tname_2, "array%d", var->v_nbdim); 
    205213        } 
    206214        else if (!strcasecmp(var->v_typevar, "INTEGER")) 
    207215        { 
    208             sprintf(tname_2, "%% iarray%d", var->v_nbdim); 
     216            sprintf(tname_2, "iarray%d", var->v_nbdim); 
    209217        } 
    210218        else if (!strcasecmp(var->v_typevar, "LOGICAL")) 
    211219        { 
    212             sprintf(tname_2, "%% larray%d", var->v_nbdim); 
     220            sprintf(tname_2, "larray%d", var->v_nbdim); 
    213221        } 
    214222        else if (!strcasecmp(var->v_typevar, "CHARACTER")) 
    215223        { 
    216224            WARNING_CharSize(var); 
     225            sprintf(tname_2, "carray%d", var->v_nbdim); 
     226       
     227 
    217228            if (!strcasecmp(var->v_dimchar  ,":") && var->v_nbdim == 0 ) 
    218229            { 
    219             sprintf (tname_2, "%% carrayu"); 
     230            sprintf (tname_2, "carrayu"); 
    220231            } else { 
    221             sprintf (tname_2, "%% carray%d", var->v_nbdim); 
     232            sprintf (tname_2, "carray%d", var->v_nbdim); 
    222233            } 
    223         } 
    224         strcat(tname_1, tname_2); 
     234 
     235        } 
     236 
     237 
     238 
     239        if (var->v_pointerdeclare) 
     240        { 
     241                strcat(tname_1,"%p"); 
     242                strcat(tname_1, tname_2); 
     243        } 
     244        else 
     245        { 
     246                strcat(tname_1,"%"); 
     247                strcat(tname_1, tname_2); 
     248        } 
    225249    } 
    226250    Save_Length(tname_1, 46); 
     
    242266 
    243267    sprintf(tname_1, "(%d)", var->v_indicetabvars); 
    244  
    245     if (!strcasecmp (var->v_typevar, "REAL")) 
    246     { 
    247         if      ( !strcasecmp(var->v_nameinttypename,"8") ) sprintf(tname_2, "%% darray%d", var->v_nbdim); 
    248         else if ( !strcasecmp(var->v_nameinttypename,"4") ) sprintf(tname_2, "%% sarray%d", var->v_nbdim); 
    249         else                                                sprintf(tname_2, "%% array%d", var->v_nbdim); 
    250     } 
    251     else if (!strcasecmp(var->v_typevar, "INTEGER")) 
    252     { 
    253         sprintf(tname_2, "%% iarray%d", var->v_nbdim); 
    254     } 
    255     else if (!strcasecmp(var->v_typevar, "LOGICAL")) 
    256     { 
    257         sprintf(tname_2, "%% larray%d", var->v_nbdim); 
    258     } 
    259     else if (!strcasecmp(var->v_typevar, "CHARACTER")) 
    260     { 
    261         WARNING_CharSize(var); 
    262         sprintf(tname_2, "%% carray%d", var->v_nbdim); 
    263     } 
    264  
    265     strcat(tname_1, tname_2); 
     268     
     269        if (!strcasecmp(var->v_typevar, "REAL")) 
     270        { 
     271            if      ( !strcasecmp(var->v_nameinttypename,"8") ) sprintf(tname_2, "darray%d", var->v_nbdim); 
     272            else if ( !strcasecmp(var->v_nameinttypename,"4") ) sprintf(tname_2, "sarray%d", var->v_nbdim); 
     273            else if ( !strcasecmp(var->v_precision,"8") ) sprintf(tname_2, "darray%d", var->v_nbdim); 
     274            else if ( !strcasecmp(var->v_precision,"4") ) sprintf(tname_2, "sarray%d", var->v_nbdim); 
     275            else sprintf(tname_2, "array%d", var->v_nbdim); 
     276        } 
     277        else if (!strcasecmp(var->v_typevar, "INTEGER")) 
     278        { 
     279            sprintf(tname_2, "iarray%d", var->v_nbdim); 
     280        } 
     281        else if (!strcasecmp(var->v_typevar, "LOGICAL")) 
     282        { 
     283            sprintf(tname_2, "larray%d", var->v_nbdim); 
     284        } 
     285        else if (!strcasecmp(var->v_typevar, "CHARACTER")) 
     286        { 
     287            WARNING_CharSize(var); 
     288            sprintf(tname_2, "carray%d", var->v_nbdim); 
     289        } 
     290        if (var->v_pointerdeclare) 
     291        { 
     292                strcat(tname_1,"%p"); 
     293                strcat(tname_1, tname_2); 
     294        } 
     295        else 
     296        { 
     297                strcat(tname_1,"%"); 
     298                strcat(tname_1, tname_2); 
     299        } 
     300 
    266301    Save_Length(tname_1, 46); 
    267302 
     
    545580    listvar *parcoursprec; 
    546581    listvar *parcours1; 
     582    listname *parcours_name; 
     583    listname *parcours_name_array; 
     584    listdoloop *parcours_loop; 
    547585    FILE *allocationagrif; 
    548586    FILE *paramtoamr; 
    549587    char ligne[LONG_M]; 
    550588    char ligne2[LONG_M]; 
     589    char ligne3[LONG_M]; 
    551590    variable *v; 
    552591    int IndiceMax; 
     
    560599    listindice *parcoursindic; 
    561600    int i; 
     601    int nb_initial; 
     602    int is_parameter_local; 
     603    int global_check; 
    562604 
    563605    parcoursprec = (listvar *) NULL; 
     
    571613            sprintf(ligne,"alloc_agrif_%s.h",parcours_nom->o_nom); 
    572614            allocationagrif = open_for_write(ligne); 
     615 
    573616            fprintf(allocationagrif,"#include \"Param_toamr_%s.h\" \n", parcours_nom->o_nom); 
    574  
    575617            sprintf(ligne,"Param_toamr_%s.h",parcours_nom->o_nom); 
    576618            paramtoamr = open_for_write(ligne); 
     
    578620            list_indic = (listindice **) calloc(NB_CAT_VARIABLES,sizeof(listindice *)); 
    579621 
    580 //             shouldincludempif = 1 ; 
     622             shouldincludempif = 1 ; 
    581623            parcours = List_Common_Var; 
    582624            while ( parcours ) 
     
    631673                                        IndiceMin = parcours->var->v_indicetabvars; 
    632674                                        IndiceMax = parcours->var->v_indicetabvars+compteur; 
    633                                         sprintf(ligne,"    allocate(%s", vargridnametabvars(v,1)); 
     675                                        sprintf(ligne,"    if (.not. allocated(%s)) allocate(%s", vargridnametabvars(v,1), vargridnametabvars(v,1)); 
    634676                                        sprintf(ligne2,"%s)", vargridparam(v)); 
    635677                                        strcat(ligne,ligne2); 
     
    649691                                    else 
    650692                                    { 
    651                                         sprintf(ligne,"allocate(%s", vargridnametabvars(v,0)); 
     693                                        sprintf(ligne,"if (.not. allocated(%s)) allocate(%s", vargridnametabvars(v,0), vargridnametabvars(v,0)); 
    652694                                        sprintf(ligne2,"%s)", vargridparam(v)); 
    653695                                        strcat(ligne,ligne2); 
     
    658700                                        list_indic[parcours->var->v_catvar] = parcoursindic; 
    659701                                    } 
    660                                     neededparameter = writedeclarationintoamr(List_Parameter_Var, 
    661                                                         paramtoamr,v,parcours_nom->o_nom,neededparameter,v->v_commonname); 
     702 
     703                                    global_check = 0; 
     704                                    is_parameter_local = writedeclarationintoamr(List_Parameter_Var, 
     705                                                        paramtoamr,v,parcours_nom->o_nom,&neededparameter,v->v_commonname,global_check); 
     706                                    if (is_parameter_local == 0) 
     707                                    { 
     708                                    global_check = 1; 
     709                                    is_parameter_local = writedeclarationintoamr(List_GlobalParameter_Var, 
     710                                                        paramtoamr,v,parcours_nom->o_nom,&neededparameter,v->v_commonname,global_check); 
     711                                    } 
    662712                                } 
    663713                            } /* end of the allocation part                                       */ 
    664714                            /*                INITIALISATION                                      */ 
    665                             if ( strcasecmp(v->v_initialvalue,"") ) 
     715                            if ( v->v_initialvalue ) 
     716                            { 
     717                            parcours_name = v->v_initialvalue; 
     718                            parcours_name_array = v->v_initialvalue_array; 
     719                            if (parcours_name_array) 
     720                            { 
     721                            while (parcours_name) 
    666722                            { 
    667723                                strcpy(ligne, vargridnametabvars(v,0)); 
     724                                if (parcours_name_array) 
     725                                { 
     726                                if (strcasecmp(parcours_name_array->n_name,"") ) 
     727                                { 
     728                                sprintf(ligne2,"(%s)",parcours_name_array->n_name); 
     729                                strcat(ligne,ligne2); 
     730                                } 
     731                                } 
    668732                                /* We should modify the initialvalue in the case of variable has been defined with others variables */ 
    669                                 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(v->v_initialvalue,List_Global_Var)); 
    670                                 if ( !strcasecmp(initialvalue,v->v_initialvalue) ) 
    671                                 { 
    672                                     strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(v->v_initialvalue,List_Common_Var)); 
    673                                 } 
    674                                 if ( !strcasecmp(initialvalue,v->v_initialvalue) ) 
    675                                 { 
    676                                     strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(v->v_initialvalue,List_ModuleUsed_Var)); 
     733                                strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Global_Var)); 
     734                                if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 
     735                                { 
     736                                    strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Common_Var)); 
     737                                } 
     738                                if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 
     739                                { 
     740                                    strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_ModuleUsed_Var)); 
    677741                                } 
    678742                                strcat (ligne," = "); 
    679743 
    680                                 if (v->v_nbdim == 0) 
     744                                if (v->v_nbdim >= 0) 
    681745                                { 
    682746                                    strcpy(ligne2,initialvalue); 
     
    688752                                strcat(ligne,ligne2); 
    689753                                tofich(allocationagrif,ligne,1); 
     754                              
     755                             parcours_name = parcours_name->suiv; 
     756                             if (parcours_name_array) parcours_name_array = parcours_name_array->suiv; 
     757                            } 
     758                            } 
     759                            else 
     760                            { 
     761                            strcpy(ligne, vargridnametabvars(v,0)); 
     762                            strcat (ligne," = "); 
     763                            strcpy(ligne2,""); 
     764                            nb_initial = 0; 
     765                             
     766                            while (parcours_name) 
     767                            { 
     768                            nb_initial = nb_initial + 1; 
     769                                /* We should modify the initialvalue in the case of variable has been defined with others variables */ 
     770                                strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Global_Var)); 
     771                                if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 
     772                                { 
     773                                    strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Common_Var)); 
     774                                } 
     775                                if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 
     776                                { 
     777                                    strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_ModuleUsed_Var)); 
     778                                } 
     779 
     780                                strcat(ligne2,initialvalue); 
     781                             if (parcours_name->suiv) 
     782                             { 
     783                             strcat(ligne2,","); 
     784                             } 
     785                              
     786                             parcours_name = parcours_name->suiv; 
     787                            } 
     788                            if (nb_initial > 1) 
     789                            { 
     790                            sprintf(ligne3,"reshape((/%s/),shape(%s))",ligne2,vargridnametabvars(v,0)); 
     791                            } 
     792                            else 
     793                            { 
     794                            strcpy(ligne3,ligne2); 
     795                            } 
     796                            strcat(ligne,ligne3); 
     797                            tofich(allocationagrif,ligne,1); 
     798                            } 
    690799                            } 
    691800                        } 
     
    715824    char ligne[LONG_M]; 
    716825    char ligne2[LONG_M]; 
     826    char ligne3[LONG_M]; 
     827    listname *parcours_name; 
     828    listname *parcours_name_array; 
    717829    variable *v; 
    718830    int IndiceMax; 
     
    724836    char initialvalue[LONG_M]; 
    725837    int typeiswritten ; 
     838    int nb_initial; 
    726839 
    727840    parcoursprec = (listvar *) NULL; 
     
    804917                                        IndiceMin = parcours->var->v_indicetabvars; 
    805918                                        IndiceMax = parcours->var->v_indicetabvars+compteur; 
    806                                         sprintf(ligne,"    allocate(%s", vargridnametabvars(v,1)); 
     919                                        sprintf(ligne,"    if (.not. allocated(%s)) allocate(%s", vargridnametabvars(v,1), vargridnametabvars(v,1)); 
    807920                                        sprintf(ligne2,"%s)", vargridparam(v)); 
    808921                                        strcat(ligne,ligne2); 
     
    813926                                    else 
    814927                                    { 
    815                                         sprintf(ligne,"allocate(%s", vargridnametabvars(v,0)); 
     928                                        sprintf(ligne,"if (.not. allocated(%s)) allocate(%s", vargridnametabvars(v,0), vargridnametabvars(v,0)); 
    816929                                        sprintf(ligne2,"%s)", vargridparam(v)); 
    817930                                        strcat(ligne,ligne2); 
     
    821934                            } /* end of the allocation part                                       */ 
    822935                            /*                INITIALISATION                                      */ 
    823                             if ( strcasecmp(v->v_initialvalue,"") ) 
     936 
     937               if ( v->v_initialvalue ) 
     938                            { 
     939                            parcours_name = v->v_initialvalue; 
     940                            parcours_name_array = v->v_initialvalue_array; 
     941                            if (parcours_name_array) 
     942                            { 
     943                            while (parcours_name) 
    824944                            { 
    825945                                strcpy(ligne, vargridnametabvars(v,0)); 
     946                                if (parcours_name_array) 
     947                                { 
     948                                if (strcasecmp(parcours_name_array->n_name,"") ) 
     949                                { 
     950                                sprintf(ligne2,"(%s)",parcours_name_array->n_name); 
     951                                strcat(ligne,ligne2); 
     952                                } 
     953                                } 
    826954                                /* We should modify the initialvalue in the case of variable has been defined with others variables */ 
    827                                 strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(v->v_initialvalue,List_Global_Var)); 
    828                                 if ( !strcasecmp(initialvalue,v->v_initialvalue) ) 
    829                                 { 
    830                                     strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(v->v_initialvalue,List_Common_Var)); 
    831                                 } 
    832                                 if ( !strcasecmp(initialvalue,v->v_initialvalue) ) 
    833                                 { 
    834                                     strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(v->v_initialvalue,List_ModuleUsed_Var)); 
     955                                strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Global_Var)); 
     956                                if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 
     957                                { 
     958                                    strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Common_Var)); 
     959                                } 
     960                                if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 
     961                                { 
     962                                    strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_ModuleUsed_Var)); 
    835963                                } 
    836964                                strcat (ligne," = "); 
    837                                 strcat (ligne,initialvalue); 
    838                                 Save_Length(ligne,48); 
     965 
     966                                if (v->v_nbdim >= 0) 
     967                                { 
     968                                    strcpy(ligne2,initialvalue); 
     969                                } 
     970                                else 
     971                                { 
     972                                    sprintf(ligne2,"reshape(%s,shape(%s))",initialvalue,vargridnametabvars(v,0)); 
     973                                } 
     974                                strcat(ligne,ligne2); 
    839975                                tofich(allocationagrif,ligne,1); 
     976                              
     977                             parcours_name = parcours_name->suiv; 
     978                             if (parcours_name_array) parcours_name_array = parcours_name_array->suiv; 
     979                            } 
     980                            } 
     981                            else 
     982                            { 
     983                            strcpy(ligne, vargridnametabvars(v,0)); 
     984                            strcat (ligne," = "); 
     985                            strcpy(ligne2,""); 
     986                            nb_initial = 0; 
     987                             
     988                            while (parcours_name) 
     989                            { 
     990                            nb_initial = nb_initial + 1; 
     991                                /* We should modify the initialvalue in the case of variable has been defined with others variables */ 
     992                                strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Global_Var)); 
     993                                if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 
     994                                { 
     995                                    strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_Common_Var)); 
     996                                } 
     997                                if ( !strcasecmp(initialvalue,parcours_name->n_name) ) 
     998                                { 
     999                                    strcpy(initialvalue,ChangeTheInitalvaluebyTabvarsName(parcours_name->n_name,List_ModuleUsed_Var)); 
     1000                                } 
     1001 
     1002                                strcat(ligne2,initialvalue); 
     1003                             if (parcours_name->suiv) 
     1004                             { 
     1005                             strcat(ligne2,","); 
     1006                             } 
     1007                              
     1008                             parcours_name = parcours_name->suiv; 
     1009                            } 
     1010                            if (nb_initial > 1) 
     1011                            { 
     1012                            sprintf(ligne3,"reshape((/%s/),shape(%s))",ligne2,vargridnametabvars(v,0)); 
     1013                            } 
     1014                            else 
     1015                            { 
     1016                            strcpy(ligne3,ligne2); 
     1017                            } 
     1018                            strcat(ligne,ligne3); 
     1019                            tofich(allocationagrif,ligne,1); 
     1020                            } 
    8401021                            } 
    8411022                        } 
Note: See TracChangeset for help on using the changeset viewer.