lex.yy.c

Go to the documentation of this file.
00001 #line 2 "lex.yy.c"
00002 
00003 #line 4 "lex.yy.c"
00004 
00005 #define  YY_INT_ALIGNED short int
00006 
00007 /* A lexical scanner generated by flex */
00008 
00009 #define FLEX_SCANNER
00010 #define YY_FLEX_MAJOR_VERSION 2
00011 #define YY_FLEX_MINOR_VERSION 5
00012 #define YY_FLEX_SUBMINOR_VERSION 33
00013 #if YY_FLEX_SUBMINOR_VERSION > 0
00014 #define FLEX_BETA
00015 #endif
00016 
00017     /* The c++ scanner is a mess. The FlexLexer.h header file relies on the
00018      * following macro. This is required in order to pass the c++-multiple-scanners
00019      * test in the regression suite. We get reports that it breaks inheritance.
00020      * We will address this in a future release of flex, or omit the C++ scanner
00021      * altogether.
00022      */
00023     #define yyFlexLexer CalcYYFlexLexer
00024 
00025 /* First, we deal with  platform-specific or compiler-specific issues. */
00026 
00027 /* begin standard C headers. */
00028 
00029 /* end standard C headers. */
00030 
00031 /* flex integer type definitions */
00032 
00033 #ifndef FLEXINT_H
00034 #define FLEXINT_H
00035 
00036 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
00037 
00038 #if __STDC_VERSION__ >= 199901L
00039 
00040 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
00041  * if you want the limit (max/min) macros for int types. 
00042  */
00043 #ifndef __STDC_LIMIT_MACROS
00044 #define __STDC_LIMIT_MACROS 1
00045 #endif
00046 
00047 #include <inttypes.h>
00048 typedef int8_t flex_int8_t;
00049 typedef uint8_t flex_uint8_t;
00050 typedef int16_t flex_int16_t;
00051 typedef uint16_t flex_uint16_t;
00052 typedef int32_t flex_int32_t;
00053 typedef uint32_t flex_uint32_t;
00054 #else
00055 typedef signed char flex_int8_t;
00056 typedef short int flex_int16_t;
00057 typedef int flex_int32_t;
00058 typedef unsigned char flex_uint8_t; 
00059 typedef unsigned short int flex_uint16_t;
00060 typedef unsigned int flex_uint32_t;
00061 #endif /* ! C99 */
00062 
00063 /* Limits of integral types. */
00064 #ifndef INT8_MIN
00065 #define INT8_MIN               (-128)
00066 #endif
00067 #ifndef INT16_MIN
00068 #define INT16_MIN              (-32767-1)
00069 #endif
00070 #ifndef INT32_MIN
00071 #define INT32_MIN              (-2147483647-1)
00072 #endif
00073 #ifndef INT8_MAX
00074 #define INT8_MAX               (127)
00075 #endif
00076 #ifndef INT16_MAX
00077 #define INT16_MAX              (32767)
00078 #endif
00079 #ifndef INT32_MAX
00080 #define INT32_MAX              (2147483647)
00081 #endif
00082 #ifndef UINT8_MAX
00083 #define UINT8_MAX              (255U)
00084 #endif
00085 #ifndef UINT16_MAX
00086 #define UINT16_MAX             (65535U)
00087 #endif
00088 #ifndef UINT32_MAX
00089 #define UINT32_MAX             (4294967295U)
00090 #endif
00091 
00092 #endif /* ! FLEXINT_H */
00093 
00094 /* begin standard C++ headers. */
00095 #include <iostream> 
00096 #include <errno.h>
00097 #include <cstdlib>
00098 #include <cstring>
00099 /* end standard C++ headers. */
00100 
00101 #ifdef __cplusplus
00102 
00103 /* The "const" storage-class-modifier is valid. */
00104 #define YY_USE_CONST
00105 
00106 #else   /* ! __cplusplus */
00107 
00108 #if __STDC__
00109 
00110 #define YY_USE_CONST
00111 
00112 #endif  /* __STDC__ */
00113 #endif  /* ! __cplusplus */
00114 
00115 #ifdef YY_USE_CONST
00116 #define yyconst const
00117 #else
00118 #define yyconst
00119 #endif
00120 
00121 /* Returned upon end-of-file. */
00122 #define YY_NULL 0
00123 
00124 /* Promotes a possibly negative, possibly signed char to an unsigned
00125  * integer for use as an array index.  If the signed char is negative,
00126  * we want to instead treat it as an 8-bit unsigned char, hence the
00127  * double cast.
00128  */
00129 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00130 
00131 /* Enter a start condition.  This macro really ought to take a parameter,
00132  * but we do it the disgusting crufty way forced on us by the ()-less
00133  * definition of BEGIN.
00134  */
00135 #define BEGIN (yy_start) = 1 + 2 *
00136 
00137 /* Translate the current start state into a value that can be later handed
00138  * to BEGIN to return to the state.  The YYSTATE alias is for lex
00139  * compatibility.
00140  */
00141 #define YY_START (((yy_start) - 1) / 2)
00142 #define YYSTATE YY_START
00143 
00144 /* Action number for EOF rule of a given start state. */
00145 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00146 
00147 /* Special action meaning "start processing a new file". */
00148 #define YY_NEW_FILE yyrestart( yyin  )
00149 
00150 #define YY_END_OF_BUFFER_CHAR 0
00151 
00152 /* Size of default input buffer. */
00153 #ifndef YY_BUF_SIZE
00154 #define YY_BUF_SIZE 16384
00155 #endif
00156 
00157 /* The state buf must be large enough to hold one state per character in the main buffer.
00158  */
00159 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00160 
00161 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00162 #define YY_TYPEDEF_YY_BUFFER_STATE
00163 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00164 #endif
00165 
00166 extern int yyleng;
00167 
00168 #define EOB_ACT_CONTINUE_SCAN 0
00169 #define EOB_ACT_END_OF_FILE 1
00170 #define EOB_ACT_LAST_MATCH 2
00171 
00172     #define YY_LESS_LINENO(n)
00173     
00174 /* Return all but the first "n" matched characters back to the input stream. */
00175 #define yyless(n) \
00176     do \
00177         { \
00178         /* Undo effects of setting up yytext. */ \
00179         int yyless_macro_arg = (n); \
00180         YY_LESS_LINENO(yyless_macro_arg);\
00181         *yy_cp = (yy_hold_char); \
00182         YY_RESTORE_YY_MORE_OFFSET \
00183         (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00184         YY_DO_BEFORE_ACTION; /* set up yytext again */ \
00185         } \
00186     while ( 0 )
00187 
00188 #define unput(c) yyunput( c, (yytext_ptr)  )
00189 
00190 /* The following is because we cannot portably get our hands on size_t
00191  * (without autoconf's help, which isn't available because we want
00192  * flex-generated scanners to compile on their own).
00193  */
00194 
00195 #ifndef YY_TYPEDEF_YY_SIZE_T
00196 #define YY_TYPEDEF_YY_SIZE_T
00197 typedef unsigned int yy_size_t;
00198 #endif
00199 
00200 #ifndef YY_STRUCT_YY_BUFFER_STATE
00201 #define YY_STRUCT_YY_BUFFER_STATE
00202 struct yy_buffer_state
00203     {
00204 
00205     std::istream* yy_input_file;
00206 
00207     char *yy_ch_buf;        /* input buffer */
00208     char *yy_buf_pos;       /* current position in input buffer */
00209 
00210     /* Size of input buffer in bytes, not including room for EOB
00211      * characters.
00212      */
00213     yy_size_t yy_buf_size;
00214 
00215     /* Number of characters read into yy_ch_buf, not including EOB
00216      * characters.
00217      */
00218     int yy_n_chars;
00219 
00220     /* Whether we "own" the buffer - i.e., we know we created it,
00221      * and can realloc() it to grow it, and should free() it to
00222      * delete it.
00223      */
00224     int yy_is_our_buffer;
00225 
00226     /* Whether this is an "interactive" input source; if so, and
00227      * if we're using stdio for input, then we want to use getc()
00228      * instead of fread(), to make sure we stop fetching input after
00229      * each newline.
00230      */
00231     int yy_is_interactive;
00232 
00233     /* Whether we're considered to be at the beginning of a line.
00234      * If so, '^' rules will be active on the next match, otherwise
00235      * not.
00236      */
00237     int yy_at_bol;
00238 
00239     int yy_bs_lineno; 
00240     int yy_bs_column; 
00242     /* Whether to try to fill the input buffer when we reach the
00243      * end of it.
00244      */
00245     int yy_fill_buffer;
00246 
00247     int yy_buffer_status;
00248 
00249 #define YY_BUFFER_NEW 0
00250 #define YY_BUFFER_NORMAL 1
00251     /* When an EOF's been seen but there's still some text to process
00252      * then we mark the buffer as YY_EOF_PENDING, to indicate that we
00253      * shouldn't try reading from the input source any more.  We might
00254      * still have a bunch of tokens to match, though, because of
00255      * possible backing-up.
00256      *
00257      * When we actually see the EOF, we change the status to "new"
00258      * (via yyrestart()), so that the user can continue scanning by
00259      * just pointing yyin at a new input file.
00260      */
00261 #define YY_BUFFER_EOF_PENDING 2
00262 
00263     };
00264 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
00265 
00266 /* We provide macros for accessing buffer states in case in the
00267  * future we want to put the buffer states in a more general
00268  * "scanner state".
00269  *
00270  * Returns the top of the stack, or NULL.
00271  */
00272 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
00273                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
00274                           : NULL)
00275 
00276 /* Same as previous macro, but useful when we know that the buffer stack is not
00277  * NULL or when we need an lvalue. For internal use only.
00278  */
00279 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
00280 
00281 void *CalcYYalloc (yy_size_t  );
00282 void *CalcYYrealloc (void *,yy_size_t  );
00283 void CalcYYfree (void *  );
00284 
00285 #define yy_new_buffer yy_create_buffer
00286 
00287 #define yy_set_interactive(is_interactive) \
00288     { \
00289     if ( ! YY_CURRENT_BUFFER ){ \
00290         yyensure_buffer_stack (); \
00291         YY_CURRENT_BUFFER_LVALUE =    \
00292             yy_create_buffer( yyin, YY_BUF_SIZE ); \
00293     } \
00294     YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00295     }
00296 
00297 #define yy_set_bol(at_bol) \
00298     { \
00299     if ( ! YY_CURRENT_BUFFER ){\
00300         yyensure_buffer_stack (); \
00301         YY_CURRENT_BUFFER_LVALUE =    \
00302             yy_create_buffer( yyin, YY_BUF_SIZE ); \
00303     } \
00304     YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00305     }
00306 
00307 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00308 
00309 /* Begin user sect3 */
00310 
00311 typedef char YY_CHAR;
00312 
00313 #define yytext_ptr yytext
00314 
00315 #include <FlexLexer.h>
00316 int yyFlexLexer::yylex()
00317     {
00318     LexerError( "yyFlexLexer::yylex invoked but %option yyclass used" );
00319     return 0;
00320     }
00321 
00322 #define YY_DECL int CalcLexer::yylex()
00323 static yyconst flex_int16_t yy_nxt[][128] =
00324     {
00325     {
00326         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00327         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00328         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00329         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00330         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00331         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00332         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00333         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00334         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00335         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00336 
00337         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00338         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00339         0,    0,    0,    0,    0,    0,    0,    0
00340     },
00341 
00342     {
00343         7,    8,    8,    8,    8,    8,    8,    8,    8,    9,
00344        10,    8,    8,    9,    8,    8,    8,    8,    8,    8,
00345         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
00346         8,    8,    9,    8,    8,    8,    8,    8,    8,   11,
00347        12,   13,    8,    8,   14,   15,    8,   16,   17,   18,
00348        18,   18,   18,   18,   18,   18,   18,   18,    8,   19,
00349         8,    8,    8,    8,   20,   21,   21,   22,   21,   21,
00350 
00351        21,   21,   21,   23,   21,   21,   24,   21,   21,   25,
00352        21,   21,   21,   26,   27,   21,   28,   21,   21,   21,
00353        21,    8,    8,    8,    8,    8,    8,   21,   29,   30,
00354        31,   21,   21,   21,   21,   21,   21,   21,   21,   21,
00355        21,   21,   21,   21,   32,   33,   21,   34,   35,   21,
00356        21,   21,   21,    8,    8,    8,    8,    8
00357     },
00358 
00359     {
00360         7,    8,    8,    8,    8,    8,    8,    8,    8,    9,
00361        10,    8,    8,    9,    8,    8,    8,    8,    8,    8,
00362         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
00363         8,    8,    9,    8,    8,    8,    8,    8,    8,   11,
00364 
00365        12,   13,    8,    8,   14,   15,    8,   16,   17,   18,
00366        18,   18,   18,   18,   18,   18,   18,   18,    8,   19,
00367         8,    8,    8,    8,   20,   21,   21,   22,   21,   21,
00368        21,   21,   21,   23,   21,   21,   24,   21,   21,   25,
00369        21,   21,   21,   26,   27,   21,   28,   21,   21,   21,
00370        21,    8,    8,    8,    8,    8,    8,   21,   29,   30,
00371        31,   21,   21,   21,   21,   21,   21,   21,   21,   21,
00372        21,   21,   21,   21,   32,   33,   21,   34,   35,   21,
00373        21,   21,   21,    8,    8,    8,    8,    8
00374     },
00375 
00376     {
00377         7,   36,   36,   36,   36,   36,   36,   36,   36,   37,
00378 
00379        10,   36,   36,   37,   36,   36,   36,   36,   36,   36,
00380        36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
00381        36,   36,   37,   36,   36,   36,   36,   36,   36,   38,
00382        39,   40,   36,   36,   41,   42,   36,   43,   44,   45,
00383        45,   45,   45,   45,   45,   45,   45,   45,   36,   46,
00384        36,   36,   36,   36,   47,   48,   48,   49,   48,   48,
00385        48,   48,   48,   50,   48,   48,   51,   48,   48,   52,
00386        48,   48,   48,   53,   54,   48,   55,   48,   48,   48,
00387        48,   36,   36,   36,   36,   56,   36,   48,   57,   58,
00388        59,   48,   48,   48,   48,   48,   48,   48,   48,   48,
00389 
00390        48,   48,   48,   48,   60,   61,   48,   62,   63,   48,
00391        48,   48,   48,   36,   36,   36,   36,   36
00392     },
00393 
00394     {
00395         7,   36,   36,   36,   36,   36,   36,   36,   36,   37,
00396        10,   36,   36,   37,   36,   36,   36,   36,   36,   36,
00397        36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
00398        36,   36,   37,   36,   36,   36,   36,   36,   36,   38,
00399        39,   40,   36,   36,   41,   42,   36,   43,   44,   45,
00400        45,   45,   45,   45,   45,   45,   45,   45,   36,   46,
00401        36,   36,   36,   36,   47,   48,   48,   49,   48,   48,
00402        48,   48,   48,   50,   48,   48,   51,   48,   48,   52,
00403 
00404        48,   48,   48,   53,   54,   48,   55,   48,   48,   48,
00405        48,   36,   36,   36,   36,   56,   36,   48,   57,   58,
00406        59,   48,   48,   48,   48,   48,   48,   48,   48,   48,
00407        48,   48,   48,   48,   60,   61,   48,   62,   63,   48,
00408        48,   48,   48,   36,   36,   36,   36,   36
00409     },
00410 
00411     {
00412         7,   64,   64,   64,   64,   64,   64,   64,   64,   65,
00413        66,   64,   64,   65,   64,   64,   64,   64,   64,   64,
00414        64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
00415        64,   64,   65,   64,   64,   64,   64,   64,   64,   67,
00416        68,   69,   70,   64,   71,   72,   64,   73,   74,   75,
00417 
00418        75,   75,   75,   75,   75,   75,   75,   75,   64,   76,
00419        64,   64,   64,   64,   77,   78,   78,   79,   78,   78,
00420        78,   78,   78,   80,   78,   78,   81,   78,   78,   82,
00421        78,   78,   78,   83,   84,   78,   85,   78,   78,   78,
00422        78,   64,   64,   64,   64,   64,   64,   78,   86,   87,
00423        88,   78,   78,   78,   78,   78,   78,   78,   78,   78,
00424        78,   78,   78,   78,   89,   90,   78,   91,   92,   78,
00425        78,   78,   78,   64,   64,   64,   64,   64
00426     },
00427 
00428     {
00429         7,   64,   64,   64,   64,   64,   64,   64,   64,   65,
00430        66,   64,   64,   65,   64,   64,   64,   64,   64,   64,
00431 
00432        64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
00433        64,   64,   65,   64,   64,   64,   64,   64,   64,   67,
00434        68,   69,   70,   64,   71,   72,   64,   73,   74,   75,
00435        75,   75,   75,   75,   75,   75,   75,   75,   64,   76,
00436        64,   64,   64,   64,   77,   78,   78,   79,   78,   78,
00437        78,   78,   78,   80,   78,   78,   81,   78,   78,   82,
00438        78,   78,   78,   83,   84,   78,   85,   78,   78,   78,
00439        78,   64,   64,   64,   64,   64,   64,   78,   86,   87,
00440        88,   78,   78,   78,   78,   78,   78,   78,   78,   78,
00441        78,   78,   78,   78,   89,   90,   78,   91,   92,   78,
00442 
00443        78,   78,   78,   64,   64,   64,   64,   64
00444     },
00445 
00446     {
00447        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00448        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00449        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00450        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00451        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00452        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00453        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00454        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00455        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00456 
00457        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00458        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00459        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
00460        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7
00461     },
00462 
00463     {
00464         7,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00465        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00466        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00467        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00468        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00469        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00470 
00471        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00472        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00473        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00474        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00475        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00476        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
00477        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
00478     },
00479 
00480     {
00481         7,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   93,
00482        -9,   -9,   -9,   93,   -9,   -9,   -9,   -9,   -9,   -9,
00483        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
00484 
00485        -9,   -9,   93,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
00486        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
00487        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
00488        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
00489        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
00490        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
00491        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
00492        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
00493        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
00494        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9
00495 
00496     },
00497 
00498     {
00499         7,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00500        94,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00501       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00502       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00503       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00504       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00505       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00506       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00507       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00508       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00509 
00510       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00511       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
00512       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10
00513     },
00514 
00515     {
00516         7,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00517       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00518       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00519       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00520       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00521       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00522       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00523 
00524       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00525       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00526       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00527       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00528       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
00529       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11
00530     },
00531 
00532     {
00533         7,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00534       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00535       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00536       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00537 
00538       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00539       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00540       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00541       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00542       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00543       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00544       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00545       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
00546       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
00547     },
00548 
00549     {
00550         7,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00551 
00552       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00553       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00554       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00555       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00556       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00557       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00558       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00559       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00560       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00561       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00562 
00563       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
00564       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
00565     },
00566 
00567     {
00568         7,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00569       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00570       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00571       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00572       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00573       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00574       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00575       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00576 
00577       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00578       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00579       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00580       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
00581       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14
00582     },
00583 
00584     {
00585         7,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
00586       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
00587       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
00588       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
00589       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,   95,   95,
00590 
00591        95,   95,   95,   95,   95,   95,   95,   95,  -15,  -15,
00592       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
00593       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
00594       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
00595       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
00596       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
00597       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
00598       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
00599     },
00600 
00601     {
00602         7,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00603       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00604 
00605       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00606       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00607       -16,  -16,   96,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00608       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00609       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00610       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00611       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00612       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00613       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00614       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
00615 
00616       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
00617     },
00618 
00619     {
00620         7,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
00621       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
00622       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
00623       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
00624       -17,  -17,  -17,  -17,  -17,  -17,   97,  -17,   98,   98,
00625        98,   98,   98,   98,   98,   98,   98,   98,  -17,  -17,
00626       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,   99,
00627       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
00628       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
00629 
00630       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
00631       -17,   99,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
00632       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
00633       100,  -17,  -17,  -17,  -17,  -17,  -17,  -17
00634     },
00635 
00636     {
00637         7,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
00638       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
00639       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
00640       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
00641       -18,  -18,  -18,  -18,  -18,  -18,   97,  -18,   98,   98,
00642        98,   98,   98,   98,   98,   98,   98,   98,  -18,  -18,
00643 
00644       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,   99,
00645       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
00646       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
00647       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
00648       -18,   99,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
00649       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
00650       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18
00651     },
00652 
00653     {
00654         7,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00655       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00656       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00657 
00658       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00659       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00660       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00661       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00662       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00663       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00664       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00665       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00666       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
00667       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19
00668 
00669     },
00670 
00671     {
00672         7,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00673       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00674       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00675       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00676       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00677       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00678       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00679       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00680       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00681       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00682 
00683       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00684       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
00685       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20
00686     },
00687 
00688     {
00689         7,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
00690       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
00691       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
00692       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
00693       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
00694       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
00695       -21,  -21,  -21,  -21,  -21,  101,  101,  101,  101,  101,
00696 
00697       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00698       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00699       101,  -21,  -21,  -21,  -21,  -21,  -21,  101,  101,  101,
00700       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00701       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00702       101,  101,  101,  -21,  -21,  -21,  -21,  -21
00703     },
00704 
00705     {
00706         7,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
00707       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
00708       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
00709       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
00710 
00711       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
00712       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
00713       -22,  -22,  -22,  -22,  -22,  101,  101,  101,  101,  101,
00714       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00715       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00716       101,  -22,  -22,  -22,  -22,  -22,  -22,  101,  101,  101,
00717       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00718       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00719       101,  101,  101,  -22,  -22,  -22,  -22,  -22
00720     },
00721 
00722     {
00723         7,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
00724 
00725       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
00726       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
00727       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
00728       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
00729       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
00730       -23,  -23,  -23,  -23,  -23,  101,  101,  101,  101,  101,
00731       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00732       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00733       101,  -23,  -23,  -23,  -23,  -23,  -23,  101,  101,  101,
00734       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00735 
00736       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00737       101,  101,  101,  -23,  -23,  -23,  -23,  -23
00738     },
00739 
00740     {
00741         7,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
00742       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
00743       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
00744       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
00745       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
00746       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
00747       -24,  -24,  -24,  -24,  -24,  101,  101,  101,  101,  101,
00748       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00749 
00750       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00751       101,  -24,  -24,  -24,  -24,  -24,  -24,  101,  101,  101,
00752       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00753       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00754       101,  101,  101,  -24,  -24,  -24,  -24,  -24
00755     },
00756 
00757     {
00758         7,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
00759       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
00760       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
00761       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
00762       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
00763 
00764       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
00765       -25,  -25,  -25,  -25,  -25,  101,  101,  101,  101,  101,
00766       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00767       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00768       101,  -25,  -25,  -25,  -25,  -25,  -25,  101,  101,  101,
00769       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00770       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00771       101,  101,  101,  -25,  -25,  -25,  -25,  -25
00772     },
00773 
00774     {
00775         7,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
00776       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
00777 
00778       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
00779       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
00780       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
00781       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
00782       -26,  -26,  -26,  -26,  -26,  101,  101,  101,  101,  101,
00783       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00784       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00785       101,  -26,  -26,  -26,  -26,  -26,  -26,  101,  101,  101,
00786       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00787       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00788 
00789       101,  101,  101,  -26,  -26,  -26,  -26,  -26
00790     },
00791 
00792     {
00793         7,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
00794       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
00795       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
00796       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
00797       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
00798       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
00799       -27,  -27,  -27,  -27,  -27,  101,  101,  101,  101,  101,
00800       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00801       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00802 
00803       101,  -27,  -27,  -27,  -27,  -27,  -27,  101,  101,  101,
00804       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00805       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00806       101,  101,  101,  -27,  -27,  -27,  -27,  -27
00807     },
00808 
00809     {
00810         7,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
00811       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
00812       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
00813       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
00814       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
00815       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
00816 
00817       -28,  -28,  -28,  -28,  -28,  101,  101,  101,  101,  101,
00818       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00819       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00820       101,  -28,  -28,  -28,  -28,  -28,  -28,  101,  101,  101,
00821       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00822       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00823       101,  101,  101,  -28,  -28,  -28,  -28,  -28
00824     },
00825 
00826     {
00827         7,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
00828       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
00829       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
00830 
00831       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
00832       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
00833       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
00834       -29,  -29,  -29,  -29,  -29,  101,  101,  101,  101,  101,
00835       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00836       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00837       101,  -29,  -29,  -29,  -29,  -29,  -29,  101,  101,  101,
00838       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00839       101,  102,  101,  101,  101,  101,  101,  101,  101,  101,
00840       101,  101,  101,  -29,  -29,  -29,  -29,  -29
00841 
00842     },
00843 
00844     {
00845         7,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
00846       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
00847       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
00848       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
00849       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
00850       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
00851       -30,  -30,  -30,  -30,  -30,  101,  101,  101,  101,  101,
00852       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00853       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00854       101,  -30,  -30,  -30,  -30,  -30,  -30,  101,  101,  101,
00855 
00856       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00857       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00858       101,  101,  101,  -30,  -30,  -30,  -30,  -30
00859     },
00860 
00861     {
00862         7,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
00863       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
00864       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
00865       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
00866       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
00867       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
00868       -31,  -31,  -31,  -31,  -31,  101,  101,  101,  101,  101,
00869 
00870       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00871       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00872       101,  -31,  -31,  -31,  -31,  -31,  -31,  101,  101,  101,
00873       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00874       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00875       101,  101,  101,  -31,  -31,  -31,  -31,  -31
00876     },
00877 
00878     {
00879         7,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
00880       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
00881       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
00882       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
00883 
00884       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
00885       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
00886       -32,  -32,  -32,  -32,  -32,  101,  101,  101,  101,  101,
00887       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00888       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00889       101,  -32,  -32,  -32,  -32,  -32,  -32,  101,  101,  101,
00890       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00891       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00892       101,  101,  101,  -32,  -32,  -32,  -32,  -32
00893     },
00894 
00895     {
00896         7,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
00897 
00898       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
00899       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
00900       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
00901       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  103,
00902       104,  -33,  105,  -33,  -33,  -33,  106,  -33,  -33,  -33,
00903       -33,  -33,  -33,  -33,  -33,  101,  101,  101,  101,  101,
00904       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00905       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00906       101,  -33,  -33,  -33,  -33,  -33,  -33,  101,  101,  101,
00907       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00908 
00909       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00910       101,  101,  101,  -33,  -33,  -33,  -33,  -33
00911     },
00912 
00913     {
00914         7,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
00915       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
00916       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
00917       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
00918       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  107,
00919       108,  -34,  109,  -34,  -34,  -34,  110,  -34,  -34,  -34,
00920       -34,  -34,  -34,  -34,  -34,  101,  101,  101,  101,  101,
00921       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00922 
00923       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00924       101,  -34,  -34,  -34,  -34,  -34,  -34,  101,  101,  101,
00925       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00926       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00927       101,  101,  101,  -34,  -34,  -34,  -34,  -34
00928     },
00929 
00930     {
00931         7,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
00932       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
00933       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
00934       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
00935       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
00936 
00937       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
00938       -35,  -35,  -35,  -35,  -35,  101,  101,  101,  101,  101,
00939       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00940       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00941       101,  -35,  -35,  -35,  -35,  -35,  -35,  101,  111,  112,
00942       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00943       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
00944       101,  101,  101,  -35,  -35,  -35,  -35,  -35
00945     },
00946 
00947     {
00948         7,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00949       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00950 
00951       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00952       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00953       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00954       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00955       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00956       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00957       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00958       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00959       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00960       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
00961 
00962       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36
00963     },
00964 
00965     {
00966         7,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,   93,
00967       -37,  -37,  -37,   93,  -37,  -37,  -37,  -37,  -37,  -37,
00968       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
00969       -37,  -37,   93,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
00970       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
00971       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
00972       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
00973       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
00974       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
00975 
00976       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
00977       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
00978       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
00979       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37
00980     },
00981 
00982     {
00983         7,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00984       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00985       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00986       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00987       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00988       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00989 
00990       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00991       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00992       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00993       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00994       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00995       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
00996       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38
00997     },
00998 
00999     {
01000         7,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01001       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01002       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01003 
01004       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01005       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01006       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01007       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01008       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01009       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01010       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01011       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01012       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
01013       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39
01014 
01015     },
01016 
01017     {
01018         7,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01019       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01020       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01021       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01022       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01023       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01024       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01025       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01026       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01027       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01028 
01029       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01030       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
01031       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40
01032     },
01033 
01034     {
01035         7,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01036       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01037       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01038       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01039       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01040       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01041       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01042 
01043       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01044       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01045       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01046       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01047       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
01048       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41
01049     },
01050 
01051     {
01052         7,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
01053       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
01054       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
01055       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
01056 
01057       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,   95,   95,
01058        95,   95,   95,   95,   95,   95,   95,   95,  -42,  -42,
01059       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
01060       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
01061       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
01062       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
01063       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
01064       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
01065       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42
01066     },
01067 
01068     {
01069         7,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01070 
01071       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01072       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01073       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01074       -43,  -43,   96,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01075       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01076       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01077       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01078       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01079       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01080       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01081 
01082       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
01083       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43
01084     },
01085 
01086     {
01087         7,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
01088       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
01089       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
01090       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
01091       -44,  -44,  -44,  -44,  -44,  -44,   97,  -44,   98,   98,
01092        98,   98,   98,   98,   98,   98,   98,   98,  -44,  -44,
01093       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,   99,
01094       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
01095 
01096       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
01097       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
01098       -44,   99,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
01099       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
01100       100,  -44,  -44,  -44,  -44,  -44,  -44,  -44
01101     },
01102 
01103     {
01104         7,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
01105       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
01106       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
01107       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
01108       -45,  -45,  -45,  -45,  -45,  -45,   97,  -45,   98,   98,
01109 
01110        98,   98,   98,   98,   98,   98,   98,   98,  -45,  -45,
01111       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,   99,
01112       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
01113       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
01114       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
01115       -45,   99,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
01116       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
01117       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45
01118     },
01119 
01120     {
01121         7,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01122       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01123 
01124       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01125       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01126       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01127       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01128       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01129       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01130       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01131       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01132       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01133       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
01134 
01135       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46
01136     },
01137 
01138     {
01139         7,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01140       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01141       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01142       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01143       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01144       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01145       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01146       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01147       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01148 
01149       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01150       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01151       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
01152       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47
01153     },
01154 
01155     {
01156         7,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
01157       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
01158       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
01159       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
01160       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  113,  113,
01161       113,  113,  113,  113,  113,  113,  113,  113,  -48,  -48,
01162 
01163       -48,  -48,  -48,  -48,  -48,  114,  114,  114,  114,  114,
01164       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01165       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01166       114,  -48,  -48,  -48,  -48,  113,  -48,  114,  114,  114,
01167       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01168       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01169       114,  114,  114,  -48,  -48,  -48,  -48,  -48
01170     },
01171 
01172     {
01173         7,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
01174       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
01175       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
01176 
01177       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
01178       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  113,  113,
01179       113,  113,  113,  113,  113,  113,  113,  113,  -49,  -49,
01180       -49,  -49,  -49,  -49,  -49,  114,  114,  114,  114,  114,
01181       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01182       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01183       114,  -49,  -49,  -49,  -49,  113,  -49,  114,  114,  114,
01184       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01185       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01186       114,  114,  114,  -49,  -49,  -49,  -49,  -49
01187 
01188     },
01189 
01190     {
01191         7,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
01192       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
01193       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
01194       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
01195       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  113,  113,
01196       113,  113,  113,  113,  113,  113,  113,  113,  -50,  -50,
01197       -50,  -50,  -50,  -50,  -50,  114,  114,  114,  114,  114,
01198       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01199       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01200       114,  -50,  -50,  -50,  -50,  113,  -50,  114,  114,  114,
01201 
01202       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01203       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01204       114,  114,  114,  -50,  -50,  -50,  -50,  -50
01205     },
01206 
01207     {
01208         7,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
01209       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
01210       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
01211       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
01212       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  113,  113,
01213       113,  113,  113,  113,  113,  113,  113,  113,  -51,  -51,
01214       -51,  -51,  -51,  -51,  -51,  114,  114,  114,  114,  114,
01215 
01216       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01217       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01218       114,  -51,  -51,  -51,  -51,  113,  -51,  114,  114,  114,
01219       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01220       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01221       114,  114,  114,  -51,  -51,  -51,  -51,  -51
01222     },
01223 
01224     {
01225         7,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
01226       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
01227       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
01228       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
01229 
01230       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  113,  113,
01231       113,  113,  113,  113,  113,  113,  113,  113,  -52,  -52,
01232       -52,  -52,  -52,  -52,  -52,  114,  114,  114,  114,  114,
01233       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01234       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01235       114,  -52,  -52,  -52,  -52,  113,  -52,  114,  114,  114,
01236       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01237       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01238       114,  114,  114,  -52,  -52,  -52,  -52,  -52
01239     },
01240 
01241     {
01242         7,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
01243 
01244       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
01245       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
01246       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
01247       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  113,  113,
01248       113,  113,  113,  113,  113,  113,  113,  113,  -53,  -53,
01249       -53,  -53,  -53,  -53,  -53,  114,  114,  114,  114,  114,
01250       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01251       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01252       114,  -53,  -53,  -53,  -53,  113,  -53,  114,  114,  114,
01253       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01254 
01255       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01256       114,  114,  114,  -53,  -53,  -53,  -53,  -53
01257     },
01258 
01259     {
01260         7,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
01261       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
01262       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
01263       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
01264       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  113,  113,
01265       113,  113,  113,  113,  113,  113,  113,  113,  -54,  -54,
01266       -54,  -54,  -54,  -54,  -54,  114,  114,  114,  114,  114,
01267       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01268 
01269       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01270       114,  -54,  -54,  -54,  -54,  113,  -54,  114,  114,  114,
01271       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01272       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01273       114,  114,  114,  -54,  -54,  -54,  -54,  -54
01274     },
01275 
01276     {
01277         7,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
01278       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
01279       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
01280       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
01281       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  113,  113,
01282 
01283       113,  113,  113,  113,  113,  113,  113,  113,  -55,  -55,
01284       -55,  -55,  -55,  -55,  -55,  114,  114,  114,  114,  114,
01285       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01286       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01287       114,  -55,  -55,  -55,  -55,  113,  -55,  114,  114,  114,
01288       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01289       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01290       114,  114,  114,  -55,  -55,  -55,  -55,  -55
01291     },
01292 
01293     {
01294         7,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
01295       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
01296 
01297       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
01298       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
01299       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  113,  113,
01300       113,  113,  113,  113,  113,  113,  113,  113,  -56,  -56,
01301       -56,  -56,  -56,  -56,  -56,  113,  113,  113,  113,  113,
01302       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
01303       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
01304       113,  -56,  -56,  -56,  -56,  113,  -56,  113,  113,  113,
01305       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
01306       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
01307 
01308       113,  113,  113,  -56,  -56,  -56,  -56,  -56
01309     },
01310 
01311     {
01312         7,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
01313       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
01314       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
01315       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
01316       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  113,  113,
01317       113,  113,  113,  113,  113,  113,  113,  113,  -57,  -57,
01318       -57,  -57,  -57,  -57,  -57,  114,  114,  114,  114,  114,
01319       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01320       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01321 
01322       114,  -57,  -57,  -57,  -57,  113,  -57,  114,  114,  114,
01323       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01324       114,  115,  114,  114,  114,  114,  114,  114,  114,  114,
01325       114,  114,  114,  -57,  -57,  -57,  -57,  -57
01326     },
01327 
01328     {
01329         7,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
01330       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
01331       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
01332       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
01333       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  113,  113,
01334       113,  113,  113,  113,  113,  113,  113,  113,  -58,  -58,
01335 
01336       -58,  -58,  -58,  -58,  -58,  114,  114,  114,  114,  114,
01337       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01338       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01339       114,  -58,  -58,  -58,  -58,  113,  -58,  114,  114,  114,
01340       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01341       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01342       114,  114,  114,  -58,  -58,  -58,  -58,  -58
01343     },
01344 
01345     {
01346         7,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
01347       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
01348       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
01349 
01350       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
01351       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  113,  113,
01352       113,  113,  113,  113,  113,  113,  113,  113,  -59,  -59,
01353       -59,  -59,  -59,  -59,  -59,  114,  114,  114,  114,  114,
01354       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01355       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01356       114,  -59,  -59,  -59,  -59,  113,  -59,  114,  114,  114,
01357       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01358       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01359       114,  114,  114,  -59,  -59,  -59,  -59,  -59
01360 
01361     },
01362 
01363     {
01364         7,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
01365       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
01366       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
01367       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
01368       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  113,  113,
01369       113,  113,  113,  113,  113,  113,  113,  113,  -60,  -60,
01370       -60,  -60,  -60,  -60,  -60,  114,  114,  114,  114,  114,
01371       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01372       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01373       114,  -60,  -60,  -60,  -60,  113,  -60,  114,  114,  114,
01374 
01375       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01376       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01377       114,  114,  114,  -60,  -60,  -60,  -60,  -60
01378     },
01379 
01380     {
01381         7,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
01382       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
01383       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
01384       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
01385       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  113,  116,
01386       117,  113,  118,  113,  113,  113,  119,  113,  -61,  -61,
01387       -61,  -61,  -61,  -61,  -61,  114,  114,  114,  114,  114,
01388 
01389       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01390       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01391       114,  -61,  -61,  -61,  -61,  113,  -61,  114,  114,  114,
01392       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01393       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01394       114,  114,  114,  -61,  -61,  -61,  -61,  -61
01395     },
01396 
01397     {
01398         7,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
01399       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
01400       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
01401       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
01402 
01403       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  113,  120,
01404       121,  113,  122,  113,  113,  113,  123,  113,  -62,  -62,
01405       -62,  -62,  -62,  -62,  -62,  114,  114,  114,  114,  114,
01406       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01407       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01408       114,  -62,  -62,  -62,  -62,  113,  -62,  114,  114,  114,
01409       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01410       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01411       114,  114,  114,  -62,  -62,  -62,  -62,  -62
01412     },
01413 
01414     {
01415         7,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
01416 
01417       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
01418       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
01419       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
01420       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  113,  113,
01421       113,  113,  113,  113,  113,  113,  113,  113,  -63,  -63,
01422       -63,  -63,  -63,  -63,  -63,  114,  114,  114,  114,  114,
01423       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01424       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01425       114,  -63,  -63,  -63,  -63,  113,  -63,  114,  124,  125,
01426       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01427 
01428       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
01429       114,  114,  114,  -63,  -63,  -63,  -63,  -63
01430     },
01431 
01432     {
01433         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01434       -64,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01435       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01436       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01437       126,  126,  -64,  126,  126,  126,  126,  126,  126,  126,
01438       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01439       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01440       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01441 
01442       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01443       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01444       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01445       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01446       126,  126,  126,  126,  126,  126,  126,  126
01447     },
01448 
01449     {
01450         7,  126,  126,  126,  126,  126,  126,  126,  126,  127,
01451       -65,  126,  126,  127,  126,  126,  126,  126,  126,  126,
01452       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01453       126,  126,  127,  126,  126,  126,  126,  126,  126,  126,
01454       126,  126,  -65,  126,  126,  126,  126,  126,  126,  126,
01455 
01456       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01457       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01458       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01459       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01460       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01461       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01462       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01463       126,  126,  126,  126,  126,  126,  126,  126
01464     },
01465 
01466     {
01467         7,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01468       128,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01469 
01470       -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01471       -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01472       -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01473       -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01474       -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01475       -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01476       -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01477       -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01478       -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01479       -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
01480 
01481       -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66
01482     },
01483 
01484     {
01485         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01486       -67,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01487       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01488       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01489       126,  126,  -67,  126,  126,  126,  126,  126,  126,  126,
01490       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01491       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01492       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01493       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01494 
01495       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01496       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01497       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01498       126,  126,  126,  126,  126,  126,  126,  126
01499     },
01500 
01501     {
01502         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01503       -68,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01504       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01505       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01506       126,  126,  -68,  126,  126,  126,  126,  126,  126,  126,
01507       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01508 
01509       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01510       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01511       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01512       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01513       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01514       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01515       126,  126,  126,  126,  126,  126,  126,  126
01516     },
01517 
01518     {
01519         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01520       -69,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01521       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01522 
01523       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01524       126,  126,  -69,  126,  126,  126,  126,  126,  126,  126,
01525       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01526       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01527       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01528       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01529       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01530       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01531       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01532       126,  126,  126,  126,  126,  126,  126,  126
01533 
01534     },
01535 
01536     {
01537         7,  129,  129,  129,  129,  129,  129,  129,  129,  129,
01538       -70,  129,  129,  129,  129,  129,  129,  129,  129,  129,
01539       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
01540       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
01541       129,  129,  130,  129,  129,  129,  129,  131,  129,  129,
01542       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
01543       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
01544       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
01545       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
01546       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
01547 
01548       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
01549       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
01550       129,  129,  129,  129,  129,  129,  129,  129
01551     },
01552 
01553     {
01554         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01555       -71,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01556       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01557       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01558       126,  126,  -71,  126,  126,  126,  126,  126,  126,  126,
01559       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01560       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01561 
01562       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01563       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01564       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01565       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01566       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01567       126,  126,  126,  126,  126,  126,  126,  126
01568     },
01569 
01570     {
01571         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01572       -72,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01573       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01574       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01575 
01576       126,  126,  -72,  126,  126,  126,  126,  126,  132,  132,
01577       132,  132,  132,  132,  132,  132,  132,  132,  126,  126,
01578       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01579       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01580       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01581       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01582       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01583       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01584       126,  126,  126,  126,  126,  126,  126,  126
01585     },
01586 
01587     {
01588         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01589 
01590       -73,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01591       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01592       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01593       126,  126,   96,  126,  126,  126,  126,  126,  126,  126,
01594       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01595       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01596       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01597       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01598       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01599       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01600 
01601       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01602       126,  126,  126,  126,  126,  126,  126,  126
01603     },
01604 
01605     {
01606         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01607       -74,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01608       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01609       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01610       126,  126,  -74,  126,  126,  126,  133,  126,  134,  134,
01611       134,  134,  134,  134,  134,  134,  134,  134,  126,  126,
01612       126,  126,  126,  126,  126,  126,  126,  126,  126,  135,
01613       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01614 
01615       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01616       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01617       126,  135,  126,  126,  126,  126,  126,  126,  126,  126,
01618       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01619       136,  126,  126,  126,  126,  126,  126,  126
01620     },
01621 
01622     {
01623         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01624       -75,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01625       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01626       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01627       126,  126,  -75,  126,  126,  126,  133,  126,  134,  134,
01628 
01629       134,  134,  134,  134,  134,  134,  134,  134,  126,  126,
01630       126,  126,  126,  126,  126,  126,  126,  126,  126,  135,
01631       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01632       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01633       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01634       126,  135,  126,  126,  126,  126,  126,  126,  126,  126,
01635       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01636       126,  126,  126,  126,  126,  126,  126,  126
01637     },
01638 
01639     {
01640         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01641       -76,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01642 
01643       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01644       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01645       126,  126,  -76,  126,  126,  126,  126,  126,  126,  126,
01646       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01647       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01648       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01649       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01650       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01651       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01652       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01653 
01654       126,  126,  126,  126,  126,  126,  126,  126
01655     },
01656 
01657     {
01658         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01659       -77,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01660       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01661       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01662       126,  126,  -77,  126,  126,  126,  126,  126,  126,  126,
01663       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01664       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01665       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01666       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01667 
01668       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01669       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01670       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01671       126,  126,  126,  126,  126,  126,  126,  126
01672     },
01673 
01674     {
01675         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01676       -78,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01677       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01678       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01679       126,  126,  -78,  126,  126,  126,  126,  126,  126,  126,
01680       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01681 
01682       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01683       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01684       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01685       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01686       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01687       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01688       137,  137,  137,  126,  126,  126,  126,  126
01689     },
01690 
01691     {
01692         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01693       -79,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01694       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01695 
01696       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01697       126,  126,  -79,  126,  126,  126,  126,  126,  126,  126,
01698       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01699       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01700       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01701       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01702       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01703       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01704       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01705       137,  137,  137,  126,  126,  126,  126,  126
01706 
01707     },
01708 
01709     {
01710         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01711       -80,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01712       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01713       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01714       126,  126,  -80,  126,  126,  126,  126,  126,  126,  126,
01715       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01716       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01717       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01718       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01719       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01720 
01721       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01722       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01723       137,  137,  137,  126,  126,  126,  126,  126
01724     },
01725 
01726     {
01727         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01728       -81,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01729       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01730       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01731       126,  126,  -81,  126,  126,  126,  126,  126,  126,  126,
01732       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01733       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01734 
01735       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01736       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01737       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01738       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01739       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01740       137,  137,  137,  126,  126,  126,  126,  126
01741     },
01742 
01743     {
01744         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01745       -82,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01746       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01747       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01748 
01749       126,  126,  -82,  126,  126,  126,  126,  126,  126,  126,
01750       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01751       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01752       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01753       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01754       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01755       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01756       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01757       137,  137,  137,  126,  126,  126,  126,  126
01758     },
01759 
01760     {
01761         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01762 
01763       -83,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01764       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01765       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01766       126,  126,  -83,  126,  126,  126,  126,  126,  126,  126,
01767       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01768       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01769       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01770       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01771       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01772       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01773 
01774       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01775       137,  137,  137,  126,  126,  126,  126,  126
01776     },
01777 
01778     {
01779         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01780       -84,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01781       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01782       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01783       126,  126,  -84,  126,  126,  126,  126,  126,  126,  126,
01784       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01785       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01786       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01787 
01788       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01789       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01790       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01791       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01792       137,  137,  137,  126,  126,  126,  126,  126
01793     },
01794 
01795     {
01796         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01797       -85,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01798       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01799       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01800       126,  126,  -85,  126,  126,  126,  126,  126,  126,  126,
01801 
01802       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01803       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01804       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01805       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01806       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01807       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01808       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01809       137,  137,  137,  126,  126,  126,  126,  126
01810     },
01811 
01812     {
01813         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01814       -86,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01815 
01816       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01817       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01818       126,  126,  -86,  126,  126,  126,  126,  126,  126,  126,
01819       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01820       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01821       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01822       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01823       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01824       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01825       137,  138,  137,  137,  137,  137,  137,  137,  137,  137,
01826 
01827       137,  137,  137,  126,  126,  126,  126,  126
01828     },
01829 
01830     {
01831         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01832       -87,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01833       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01834       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01835       126,  126,  -87,  126,  126,  126,  126,  126,  126,  126,
01836       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01837       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01838       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01839       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01840 
01841       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01842       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01843       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01844       137,  137,  137,  126,  126,  126,  126,  126
01845     },
01846 
01847     {
01848         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01849       -88,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01850       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01851       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01852       126,  126,  -88,  126,  126,  126,  126,  126,  126,  126,
01853       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01854 
01855       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01856       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01857       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01858       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01859       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01860       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01861       137,  137,  137,  126,  126,  126,  126,  126
01862     },
01863 
01864     {
01865         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01866       -89,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01867       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01868 
01869       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01870       126,  126,  -89,  126,  126,  126,  126,  126,  126,  126,
01871       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01872       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01873       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01874       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01875       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01876       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01877       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01878       137,  137,  137,  126,  126,  126,  126,  126
01879 
01880     },
01881 
01882     {
01883         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01884       -90,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01885       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01886       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01887       126,  126,  -90,  126,  126,  126,  126,  126,  126,  139,
01888       140,  126,  141,  126,  126,  126,  142,  126,  126,  126,
01889       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01890       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01891       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01892       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01893 
01894       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01895       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01896       137,  137,  137,  126,  126,  126,  126,  126
01897     },
01898 
01899     {
01900         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01901       -91,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01902       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01903       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01904       126,  126,  -91,  126,  126,  126,  126,  126,  126,  143,
01905       144,  126,  145,  126,  126,  126,  146,  126,  126,  126,
01906       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01907 
01908       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01909       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01910       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
01911       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01912       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01913       137,  137,  137,  126,  126,  126,  126,  126
01914     },
01915 
01916     {
01917         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01918       -92,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01919       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01920       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01921 
01922       126,  126,  -92,  126,  126,  126,  126,  126,  126,  126,
01923       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
01924       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
01925       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01926       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01927       137,  126,  126,  126,  126,  126,  126,  137,  147,  148,
01928       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01929       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
01930       137,  137,  137,  126,  126,  126,  126,  126
01931     },
01932 
01933     {
01934         7,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,   93,
01935 
01936       -93,  -93,  -93,   93,  -93,  -93,  -93,  -93,  -93,  -93,
01937       -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
01938       -93,  -93,   93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
01939       -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
01940       -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
01941       -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
01942       -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
01943       -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
01944       -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
01945       -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
01946 
01947       -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
01948       -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93
01949     },
01950 
01951     {
01952         7,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01953        94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01954       -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01955       -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01956       -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01957       -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01958       -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01959       -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01960 
01961       -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01962       -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01963       -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01964       -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
01965       -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94
01966     },
01967 
01968     {
01969         7,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
01970       -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
01971       -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
01972       -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
01973       -95,  -95,  -95,  -95,  -95,  -95,   97,  -95,  149,  149,
01974 
01975       149,  149,  149,  149,  149,  149,  149,  149,  -95,  -95,
01976       -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,   99,
01977       -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
01978       -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
01979       -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
01980       -95,   99,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
01981       -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
01982       -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95
01983     },
01984 
01985     {
01986         7,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01987       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01988 
01989       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01990       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01991       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01992       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01993       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01994       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01995       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01996       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01997       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01998       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
01999 
02000       -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96
02001     },
02002 
02003     {
02004         7,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
02005       -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
02006       -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
02007       -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
02008       -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  150,  150,
02009       150,  150,  150,  150,  150,  150,  150,  150,  -97,  -97,
02010       -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,   99,
02011       -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
02012       -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
02013 
02014       -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
02015       -97,   99,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
02016       -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
02017       -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97
02018     },
02019 
02020     {
02021         7,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
02022       -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
02023       -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
02024       -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
02025       -98,  -98,  -98,  -98,  -98,  -98,   97,  -98,   98,   98,
02026        98,   98,   98,   98,   98,   98,   98,   98,  -98,  -98,
02027 
02028       -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,   99,
02029       -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
02030       -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
02031       -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
02032       -98,   99,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
02033       -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
02034       -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98
02035     },
02036 
02037     {
02038         7,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
02039       -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
02040       -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
02041 
02042       -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
02043       -99,  -99,  -99,  151,  -99,  151,  -99,  -99,  152,  152,
02044       152,  152,  152,  152,  152,  152,  152,  152,  -99,  -99,
02045       -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
02046       -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
02047       -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
02048       -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
02049       -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
02050       -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
02051       -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99
02052 
02053     },
02054 
02055     {
02056         7, -100, -100, -100, -100, -100, -100, -100, -100, -100,
02057      -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
02058      -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
02059      -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
02060      -100, -100, -100, -100, -100, -100, -100, -100,  153,  153,
02061       153,  153,  153,  153,  153,  153,  153,  153, -100, -100,
02062      -100, -100, -100, -100, -100,  153,  153,  153,  153,  153,
02063       153, -100, -100, -100, -100, -100, -100, -100, -100, -100,
02064      -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
02065      -100, -100, -100, -100, -100, -100, -100,  153,  153,  153,
02066 
02067       153,  153,  153, -100, -100, -100, -100, -100, -100, -100,
02068      -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
02069      -100, -100, -100, -100, -100, -100, -100, -100
02070     },
02071 
02072     {
02073         7, -101, -101, -101, -101, -101, -101, -101, -101, -101,
02074      -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
02075      -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
02076      -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
02077      -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
02078      -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
02079      -101, -101, -101, -101, -101,  101,  101,  101,  101,  101,
02080 
02081       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02082       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02083       101, -101, -101, -101, -101, -101, -101,  101,  101,  101,
02084       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02085       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02086       101,  101,  101, -101, -101, -101, -101, -101
02087     },
02088 
02089     {
02090         7, -102, -102, -102, -102, -102, -102, -102, -102, -102,
02091      -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
02092      -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
02093      -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
02094 
02095      -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
02096      -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
02097      -102, -102, -102, -102, -102,  101,  101,  101,  101,  101,
02098       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02099       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02100       101, -102, -102, -102, -102, -102, -102,  101,  101,  101,
02101       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02102       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02103       101,  101,  101, -102, -102, -102, -102, -102
02104     },
02105 
02106     {
02107         7, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02108 
02109      -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02110      -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02111      -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02112      -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02113      -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02114      -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02115      -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02116      -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02117      -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02118      -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02119 
02120      -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
02121      -103, -103, -103, -103, -103, -103, -103, -103
02122     },
02123 
02124     {
02125         7, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02126      -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02127      -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02128      -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02129      -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02130      -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02131      -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02132      -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02133 
02134      -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02135      -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02136      -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02137      -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
02138      -104, -104, -104, -104, -104, -104, -104, -104
02139     },
02140 
02141     {
02142         7, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02143      -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02144      -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02145      -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02146      -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02147 
02148      -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02149      -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02150      -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02151      -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02152      -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02153      -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02154      -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
02155      -105, -105, -105, -105, -105, -105, -105, -105
02156     },
02157 
02158     {
02159         7, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02160      -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02161 
02162      -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02163      -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02164      -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02165      -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02166      -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02167      -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02168      -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02169      -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02170      -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02171      -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
02172 
02173      -106, -106, -106, -106, -106, -106, -106, -106
02174     },
02175 
02176     {
02177         7, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02178      -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02179      -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02180      -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02181      -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02182      -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02183      -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02184      -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02185      -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02186 
02187      -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02188      -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02189      -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
02190      -107, -107, -107, -107, -107, -107, -107, -107
02191     },
02192 
02193     {
02194         7, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02195      -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02196      -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02197      -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02198      -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02199      -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02200 
02201      -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02202      -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02203      -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02204      -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02205      -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02206      -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
02207      -108, -108, -108, -108, -108, -108, -108, -108
02208     },
02209 
02210     {
02211         7, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02212      -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02213      -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02214 
02215      -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02216      -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02217      -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02218      -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02219      -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02220      -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02221      -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02222      -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02223      -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
02224      -109, -109, -109, -109, -109, -109, -109, -109
02225 
02226     },
02227 
02228     {
02229         7, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02230      -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02231      -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02232      -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02233      -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02234      -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02235      -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02236      -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02237      -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02238      -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02239 
02240      -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02241      -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
02242      -110, -110, -110, -110, -110, -110, -110, -110
02243     },
02244 
02245     {
02246         7, -111, -111, -111, -111, -111, -111, -111, -111, -111,
02247      -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
02248      -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
02249      -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
02250      -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
02251      -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
02252      -111, -111, -111, -111, -111,  101,  101,  101,  101,  101,
02253 
02254       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02255       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02256       101, -111, -111, -111, -111, -111, -111,  101,  101,  101,
02257       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02258       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02259       101,  101,  101, -111, -111, -111, -111, -111
02260     },
02261 
02262     {
02263         7, -112, -112, -112, -112, -112, -112, -112, -112, -112,
02264      -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
02265      -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
02266      -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
02267 
02268      -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
02269      -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
02270      -112, -112, -112, -112, -112,  101,  101,  101,  101,  101,
02271       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02272       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02273       101, -112, -112, -112, -112, -112, -112,  101,  101,  101,
02274       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02275       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
02276       101,  101,  101, -112, -112, -112, -112, -112
02277     },
02278 
02279     {
02280         7, -113, -113, -113, -113, -113, -113, -113, -113, -113,
02281 
02282      -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
02283      -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
02284      -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
02285      -113, -113, -113, -113, -113, -113, -113, -113,  113,  113,
02286       113,  113,  113,  113,  113,  113,  113,  113, -113, -113,
02287      -113, -113, -113, -113, -113,  113,  113,  113,  113,  113,
02288       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02289       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02290       113, -113, -113, -113, -113,  113, -113,  113,  113,  113,
02291       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02292 
02293       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02294       113,  113,  113, -113, -113, -113, -113, -113
02295     },
02296 
02297     {
02298         7, -114, -114, -114, -114, -114, -114, -114, -114, -114,
02299      -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
02300      -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
02301      -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
02302      -114, -114, -114, -114, -114, -114, -114, -114,  113,  113,
02303       113,  113,  113,  113,  113,  113,  113,  113, -114, -114,
02304      -114, -114, -114, -114, -114,  114,  114,  114,  114,  114,
02305       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02306 
02307       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02308       114, -114, -114, -114, -114,  113, -114,  114,  114,  114,
02309       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02310       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02311       114,  114,  114, -114, -114, -114, -114, -114
02312     },
02313 
02314     {
02315         7, -115, -115, -115, -115, -115, -115, -115, -115, -115,
02316      -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
02317      -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
02318      -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
02319      -115, -115, -115, -115, -115, -115, -115, -115,  113,  113,
02320 
02321       113,  113,  113,  113,  113,  113,  113,  113, -115, -115,
02322      -115, -115, -115, -115, -115,  114,  114,  114,  114,  114,
02323       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02324       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02325       114, -115, -115, -115, -115,  113, -115,  114,  114,  114,
02326       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02327       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02328       114,  114,  114, -115, -115, -115, -115, -115
02329     },
02330 
02331     {
02332         7, -116, -116, -116, -116, -116, -116, -116, -116, -116,
02333      -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
02334 
02335      -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
02336      -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
02337      -116, -116, -116, -116, -116, -116, -116, -116,  113,  113,
02338       113,  113,  113,  113,  113,  113,  113,  113, -116, -116,
02339      -116, -116, -116, -116, -116,  113,  113,  113,  113,  113,
02340       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02341       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02342       113, -116, -116, -116, -116,  113, -116,  113,  113,  113,
02343       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02344       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02345 
02346       113,  113,  113, -116, -116, -116, -116, -116
02347     },
02348 
02349     {
02350         7, -117, -117, -117, -117, -117, -117, -117, -117, -117,
02351      -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
02352      -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
02353      -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
02354      -117, -117, -117, -117, -117, -117, -117, -117,  113,  113,
02355       113,  113,  113,  113,  113,  113,  113,  113, -117, -117,
02356      -117, -117, -117, -117, -117,  113,  113,  113,  113,  113,
02357       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02358       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02359 
02360       113, -117, -117, -117, -117,  113, -117,  113,  113,  113,
02361       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02362       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02363       113,  113,  113, -117, -117, -117, -117, -117
02364     },
02365 
02366     {
02367         7, -118, -118, -118, -118, -118, -118, -118, -118, -118,
02368      -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
02369      -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
02370      -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
02371      -118, -118, -118, -118, -118, -118, -118, -118,  113,  113,
02372       113,  113,  113,  113,  113,  113,  113,  113, -118, -118,
02373 
02374      -118, -118, -118, -118, -118,  113,  113,  113,  113,  113,
02375       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02376       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02377       113, -118, -118, -118, -118,  113, -118,  113,  113,  113,
02378       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02379       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02380       113,  113,  113, -118, -118, -118, -118, -118
02381     },
02382 
02383     {
02384         7, -119, -119, -119, -119, -119, -119, -119, -119, -119,
02385      -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
02386      -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
02387 
02388      -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
02389      -119, -119, -119, -119, -119, -119, -119, -119,  113,  113,
02390       113,  113,  113,  113,  113,  113,  113,  113, -119, -119,
02391      -119, -119, -119, -119, -119,  113,  113,  113,  113,  113,
02392       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02393       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02394       113, -119, -119, -119, -119,  113, -119,  113,  113,  113,
02395       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02396       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02397       113,  113,  113, -119, -119, -119, -119, -119
02398 
02399     },
02400 
02401     {
02402         7, -120, -120, -120, -120, -120, -120, -120, -120, -120,
02403      -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
02404      -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
02405      -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
02406      -120, -120, -120, -120, -120, -120, -120, -120,  113,  113,
02407       113,  113,  113,  113,  113,  113,  113,  113, -120, -120,
02408      -120, -120, -120, -120, -120,  113,  113,  113,  113,  113,
02409       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02410       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02411       113, -120, -120, -120, -120,  113, -120,  113,  113,  113,
02412 
02413       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02414       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02415       113,  113,  113, -120, -120, -120, -120, -120
02416     },
02417 
02418     {
02419         7, -121, -121, -121, -121, -121, -121, -121, -121, -121,
02420      -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
02421      -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
02422      -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
02423      -121, -121, -121, -121, -121, -121, -121, -121,  113,  113,
02424       113,  113,  113,  113,  113,  113,  113,  113, -121, -121,
02425      -121, -121, -121, -121, -121,  113,  113,  113,  113,  113,
02426 
02427       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02428       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02429       113, -121, -121, -121, -121,  113, -121,  113,  113,  113,
02430       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02431       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02432       113,  113,  113, -121, -121, -121, -121, -121
02433     },
02434 
02435     {
02436         7, -122, -122, -122, -122, -122, -122, -122, -122, -122,
02437      -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
02438      -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
02439      -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
02440 
02441      -122, -122, -122, -122, -122, -122, -122, -122,  113,  113,
02442       113,  113,  113,  113,  113,  113,  113,  113, -122, -122,
02443      -122, -122, -122, -122, -122,  113,  113,  113,  113,  113,
02444       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02445       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02446       113, -122, -122, -122, -122,  113, -122,  113,  113,  113,
02447       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02448       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02449       113,  113,  113, -122, -122, -122, -122, -122
02450     },
02451 
02452     {
02453         7, -123, -123, -123, -123, -123, -123, -123, -123, -123,
02454 
02455      -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
02456      -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
02457      -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
02458      -123, -123, -123, -123, -123, -123, -123, -123,  113,  113,
02459       113,  113,  113,  113,  113,  113,  113,  113, -123, -123,
02460      -123, -123, -123, -123, -123,  113,  113,  113,  113,  113,
02461       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02462       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02463       113, -123, -123, -123, -123,  113, -123,  113,  113,  113,
02464       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02465 
02466       113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
02467       113,  113,  113, -123, -123, -123, -123, -123
02468     },
02469 
02470     {
02471         7, -124, -124, -124, -124, -124, -124, -124, -124, -124,
02472      -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
02473      -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
02474      -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
02475      -124, -124, -124, -124, -124, -124, -124, -124,  113,  113,
02476       113,  113,  113,  113,  113,  113,  113,  113, -124, -124,
02477      -124, -124, -124, -124, -124,  114,  114,  114,  114,  114,
02478       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02479 
02480       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02481       114, -124, -124, -124, -124,  113, -124,  114,  114,  114,
02482       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02483       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02484       114,  114,  114, -124, -124, -124, -124, -124
02485     },
02486 
02487     {
02488         7, -125, -125, -125, -125, -125, -125, -125, -125, -125,
02489      -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
02490      -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
02491      -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
02492      -125, -125, -125, -125, -125, -125, -125, -125,  113,  113,
02493 
02494       113,  113,  113,  113,  113,  113,  113,  113, -125, -125,
02495      -125, -125, -125, -125, -125,  114,  114,  114,  114,  114,
02496       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02497       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02498       114, -125, -125, -125, -125,  113, -125,  114,  114,  114,
02499       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02500       114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
02501       114,  114,  114, -125, -125, -125, -125, -125
02502     },
02503 
02504     {
02505         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02506      -126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02507 
02508       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02509       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02510       126,  126, -126,  126,  126,  126,  126,  126,  126,  126,
02511       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02512       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02513       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02514       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02515       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02516       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02517       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02518 
02519       126,  126,  126,  126,  126,  126,  126,  126
02520     },
02521 
02522     {
02523         7,  126,  126,  126,  126,  126,  126,  126,  126,  127,
02524      -127,  126,  126,  127,  126,  126,  126,  126,  126,  126,
02525       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02526       126,  126,  127,  126,  126,  126,  126,  126,  126,  126,
02527       126,  126, -127,  126,  126,  126,  126,  126,  126,  126,
02528       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02529       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02530       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02531       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02532 
02533       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02534       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02535       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02536       126,  126,  126,  126,  126,  126,  126,  126
02537     },
02538 
02539     {
02540         7, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02541       128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02542      -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02543      -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02544      -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02545      -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02546 
02547      -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02548      -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02549      -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02550      -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02551      -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02552      -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
02553      -128, -128, -128, -128, -128, -128, -128, -128
02554     },
02555 
02556     {
02557         7,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02558      -129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02559       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02560 
02561       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02562       129,  129, -129,  129,  129,  129,  129, -129,  129,  129,
02563       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02564       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02565       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02566       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02567       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02568       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02569       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02570       129,  129,  129,  129,  129,  129,  129,  129
02571 
02572     },
02573 
02574     {
02575         7,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02576      -130,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02577       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02578       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02579       129,  129,  130,  129,  129,  129,  129,  131,  129,  129,
02580       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02581       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02582       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02583       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02584       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02585 
02586       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02587       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
02588       129,  129,  129,  129,  129,  129,  129,  129
02589     },
02590 
02591     {
02592         7, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02593      -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02594      -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02595      -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02596      -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02597      -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02598      -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02599 
02600      -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02601      -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02602      -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02603      -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02604      -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
02605      -131, -131, -131, -131, -131, -131, -131, -131
02606     },
02607 
02608     {
02609         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02610      -132,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02611       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02612       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02613 
02614       126,  126, -132,  126,  126,  126,  133,  126,  154,  154,
02615       154,  154,  154,  154,  154,  154,  154,  154,  126,  126,
02616       126,  126,  126,  126,  126,  126,  126,  126,  126,  135,
02617       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02618       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02619       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02620       126,  135,  126,  126,  126,  126,  126,  126,  126,  126,
02621       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02622       126,  126,  126,  126,  126,  126,  126,  126
02623     },
02624 
02625     {
02626         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02627 
02628      -133,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02629       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02630       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02631       126,  126, -133,  126,  126,  126,  126,  126,  155,  155,
02632       155,  155,  155,  155,  155,  155,  155,  155,  126,  126,
02633       126,  126,  126,  126,  126,  126,  126,  126,  126,  135,
02634       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02635       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02636       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02637       126,  135,  126,  126,  126,  126,  126,  126,  126,  126,
02638 
02639       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02640       126,  126,  126,  126,  126,  126,  126,  126
02641     },
02642 
02643     {
02644         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02645      -134,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02646       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02647       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02648       126,  126, -134,  126,  126,  126,  133,  126,  134,  134,
02649       134,  134,  134,  134,  134,  134,  134,  134,  126,  126,
02650       126,  126,  126,  126,  126,  126,  126,  126,  126,  135,
02651       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02652 
02653       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02654       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02655       126,  135,  126,  126,  126,  126,  126,  126,  126,  126,
02656       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02657       126,  126,  126,  126,  126,  126,  126,  126
02658     },
02659 
02660     {
02661         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02662      -135,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02663       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02664       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02665       126,  126, -135,  156,  126,  156,  126,  126,  157,  157,
02666 
02667       157,  157,  157,  157,  157,  157,  157,  157,  126,  126,
02668       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02669       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02670       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02671       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02672       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02673       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02674       126,  126,  126,  126,  126,  126,  126,  126
02675     },
02676 
02677     {
02678         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02679      -136,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02680 
02681       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02682       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02683       126,  126, -136,  126,  126,  126,  126,  126,  158,  158,
02684       158,  158,  158,  158,  158,  158,  158,  158,  126,  126,
02685       126,  126,  126,  126,  126,  158,  158,  158,  158,  158,
02686       158,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02687       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02688       126,  126,  126,  126,  126,  126,  126,  158,  158,  158,
02689       158,  158,  158,  126,  126,  126,  126,  126,  126,  126,
02690       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02691 
02692       126,  126,  126,  126,  126,  126,  126,  126
02693     },
02694 
02695     {
02696         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02697      -137,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02698       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02699       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02700       126,  126, -137,  126,  126,  126,  126,  126,  126,  126,
02701       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02702       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
02703       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02704       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02705 
02706       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
02707       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02708       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02709       137,  137,  137,  126,  126,  126,  126,  126
02710     },
02711 
02712     {
02713         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02714      -138,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02715       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02716       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02717       126,  126, -138,  126,  126,  126,  126,  126,  126,  126,
02718       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02719 
02720       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
02721       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02722       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02723       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
02724       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02725       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02726       137,  137,  137,  126,  126,  126,  126,  126
02727     },
02728 
02729     {
02730         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02731      -139,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02732       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02733 
02734       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02735       126,  126, -139,  126,  126,  126,  126,  126,  126,  126,
02736       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02737       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02738       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02739       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02740       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02741       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02742       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02743       126,  126,  126,  126,  126,  126,  126,  126
02744 
02745     },
02746 
02747     {
02748         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02749      -140,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02750       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02751       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02752       126,  126, -140,  126,  126,  126,  126,  126,  126,  126,
02753       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02754       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02755       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02756       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02757       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02758 
02759       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02760       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02761       126,  126,  126,  126,  126,  126,  126,  126
02762     },
02763 
02764     {
02765         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02766      -141,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02767       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02768       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02769       126,  126, -141,  126,  126,  126,  126,  126,  126,  126,
02770       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02771       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02772 
02773       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02774       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02775       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02776       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02777       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02778       126,  126,  126,  126,  126,  126,  126,  126
02779     },
02780 
02781     {
02782         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02783      -142,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02784       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02785       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02786 
02787       126,  126, -142,  126,  126,  126,  126,  126,  126,  126,
02788       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02789       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02790       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02791       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02792       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02793       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02794       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02795       126,  126,  126,  126,  126,  126,  126,  126
02796     },
02797 
02798     {
02799         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02800 
02801      -143,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02802       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02803       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02804       126,  126, -143,  126,  126,  126,  126,  126,  126,  126,
02805       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02806       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02807       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02808       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02809       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02810       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02811 
02812       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02813       126,  126,  126,  126,  126,  126,  126,  126
02814     },
02815 
02816     {
02817         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02818      -144,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02819       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02820       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02821       126,  126, -144,  126,  126,  126,  126,  126,  126,  126,
02822       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02823       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02824       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02825 
02826       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02827       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02828       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02829       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02830       126,  126,  126,  126,  126,  126,  126,  126
02831     },
02832 
02833     {
02834         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02835      -145,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02836       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02837       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02838       126,  126, -145,  126,  126,  126,  126,  126,  126,  126,
02839 
02840       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02841       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02842       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02843       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02844       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02845       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02846       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02847       126,  126,  126,  126,  126,  126,  126,  126
02848     },
02849 
02850     {
02851         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02852      -146,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02853 
02854       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02855       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02856       126,  126, -146,  126,  126,  126,  126,  126,  126,  126,
02857       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02858       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02859       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02860       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02861       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02862       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02863       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02864 
02865       126,  126,  126,  126,  126,  126,  126,  126
02866     },
02867 
02868     {
02869         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02870      -147,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02871       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02872       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02873       126,  126, -147,  126,  126,  126,  126,  126,  126,  126,
02874       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02875       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
02876       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02877       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02878 
02879       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
02880       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02881       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02882       137,  137,  137,  126,  126,  126,  126,  126
02883     },
02884 
02885     {
02886         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02887      -148,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02888       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02889       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02890       126,  126, -148,  126,  126,  126,  126,  126,  126,  126,
02891       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02892 
02893       126,  126,  126,  126,  126,  137,  137,  137,  137,  137,
02894       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02895       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02896       137,  126,  126,  126,  126,  126,  126,  137,  137,  137,
02897       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02898       137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
02899       137,  137,  137,  126,  126,  126,  126,  126
02900     },
02901 
02902     {
02903         7, -149, -149, -149, -149, -149, -149, -149, -149, -149,
02904      -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
02905      -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
02906 
02907      -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
02908      -149, -149, -149, -149, -149, -149,   97, -149,  149,  149,
02909       149,  149,  149,  149,  149,  149,  149,  149, -149, -149,
02910      -149, -149, -149, -149, -149, -149, -149, -149, -149,   99,
02911      -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
02912      -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
02913      -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
02914      -149,   99, -149, -149, -149, -149, -149, -149, -149, -149,
02915      -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
02916      -149, -149, -149, -149, -149, -149, -149, -149
02917 
02918     },
02919 
02920     {
02921         7, -150, -150, -150, -150, -150, -150, -150, -150, -150,
02922      -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
02923      -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
02924      -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
02925      -150, -150, -150, -150, -150, -150, -150, -150,  150,  150,
02926       150,  150,  150,  150,  150,  150,  150,  150, -150, -150,
02927      -150, -150, -150, -150, -150, -150, -150, -150, -150,   99,
02928      -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
02929      -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
02930      -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
02931 
02932      -150,   99, -150, -150, -150, -150, -150, -150, -150, -150,
02933      -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
02934      -150, -150, -150, -150, -150, -150, -150, -150
02935     },
02936 
02937     {
02938         7, -151, -151, -151, -151, -151, -151, -151, -151, -151,
02939      -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
02940      -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
02941      -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
02942      -151, -151, -151, -151, -151, -151, -151, -151,  152,  152,
02943       152,  152,  152,  152,  152,  152,  152,  152, -151, -151,
02944      -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
02945 
02946      -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
02947      -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
02948      -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
02949      -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
02950      -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
02951      -151, -151, -151, -151, -151, -151, -151, -151
02952     },
02953 
02954     {
02955         7, -152, -152, -152, -152, -152, -152, -152, -152, -152,
02956      -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
02957      -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
02958      -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
02959 
02960      -152, -152, -152, -152, -152, -152, -152, -152,  152,  152,
02961       152,  152,  152,  152,  152,  152,  152,  152, -152, -152,
02962      -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
02963      -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
02964      -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
02965      -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
02966      -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
02967      -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
02968      -152, -152, -152, -152, -152, -152, -152, -152
02969     },
02970 
02971     {
02972         7, -153, -153, -153, -153, -153, -153, -153, -153, -153,
02973 
02974      -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
02975      -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
02976      -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
02977      -153, -153, -153, -153, -153, -153, -153, -153,  153,  153,
02978       153,  153,  153,  153,  153,  153,  153,  153, -153, -153,
02979      -153, -153, -153, -153, -153,  153,  153,  153,  153,  153,
02980       153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
02981      -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
02982      -153, -153, -153, -153, -153, -153, -153,  153,  153,  153,
02983       153,  153,  153, -153, -153, -153, -153, -153, -153, -153,
02984 
02985      -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
02986      -153, -153, -153, -153, -153, -153, -153, -153
02987     },
02988 
02989     {
02990         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02991      -154,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02992       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02993       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02994       126,  126, -154,  126,  126,  126,  133,  126,  154,  154,
02995       154,  154,  154,  154,  154,  154,  154,  154,  126,  126,
02996       126,  126,  126,  126,  126,  126,  126,  126,  126,  135,
02997       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
02998 
02999       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03000       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03001       126,  135,  126,  126,  126,  126,  126,  126,  126,  126,
03002       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03003       126,  126,  126,  126,  126,  126,  126,  126
03004     },
03005 
03006     {
03007         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03008      -155,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03009       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03010       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03011       126,  126, -155,  126,  126,  126,  126,  126,  155,  155,
03012 
03013       155,  155,  155,  155,  155,  155,  155,  155,  126,  126,
03014       126,  126,  126,  126,  126,  126,  126,  126,  126,  135,
03015       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03016       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03017       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03018       126,  135,  126,  126,  126,  126,  126,  126,  126,  126,
03019       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03020       126,  126,  126,  126,  126,  126,  126,  126
03021     },
03022 
03023     {
03024         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03025      -156,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03026 
03027       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03028       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03029       126,  126, -156,  126,  126,  126,  126,  126,  157,  157,
03030       157,  157,  157,  157,  157,  157,  157,  157,  126,  126,
03031       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03032       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03033       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03034       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03035       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03036       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03037 
03038       126,  126,  126,  126,  126,  126,  126,  126
03039     },
03040 
03041     {
03042         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03043      -157,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03044       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03045       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03046       126,  126, -157,  126,  126,  126,  126,  126,  157,  157,
03047       157,  157,  157,  157,  157,  157,  157,  157,  126,  126,
03048       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03049       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03050       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03051 
03052       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03053       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03054       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03055       126,  126,  126,  126,  126,  126,  126,  126
03056     },
03057 
03058     {
03059         7,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03060      -158,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03061       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03062       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03063       126,  126, -158,  126,  126,  126,  126,  126,  158,  158,
03064       158,  158,  158,  158,  158,  158,  158,  158,  126,  126,
03065 
03066       126,  126,  126,  126,  126,  158,  158,  158,  158,  158,
03067       158,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03068       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03069       126,  126,  126,  126,  126,  126,  126,  158,  158,  158,
03070       158,  158,  158,  126,  126,  126,  126,  126,  126,  126,
03071       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03072       126,  126,  126,  126,  126,  126,  126,  126
03073     },
03074 
03075     } ;
03076 
03077 /* Done after the current pattern has been matched and before the
03078  * corresponding action - sets up yytext.
03079  */
03080 #define YY_DO_BEFORE_ACTION \
03081     (yytext_ptr) = yy_bp; \
03082     yyleng = (size_t) (yy_cp - yy_bp); \
03083     (yy_hold_char) = *yy_cp; \
03084     *yy_cp = '\0'; \
03085     (yy_c_buf_p) = yy_cp;
03086 
03087 #define YY_NUM_RULES 44
03088 #define YY_END_OF_BUFFER 45
03089 /* This struct is not used in this scanner,
03090    but its presence is necessary. */
03091 struct yy_trans_info
03092     {
03093     flex_int32_t yy_verify;
03094     flex_int32_t yy_nxt;
03095     };
03096 static yyconst flex_int16_t yy_accept[159] =
03097     {   0,
03098         0,    0,    0,    0,    4,    4,   45,   43,   41,   42,
03099         7,   14,   15,   10,   43,   43,   38,   38,   11,   13,
03100        37,   20,   18,   16,   19,   17,   12,   21,   35,   33,
03101        32,   31,   37,   37,   37,    9,    9,    7,    9,    9,
03102         9,    9,    9,    9,    9,    9,    9,    8,    8,    8,
03103         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
03104         8,    8,    8,    4,    4,    3,    4,    4,    4,    5,
03105         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
03106         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
03107         4,    4,   41,   42,   39,    1,   40,   38,    0,    6,
03108 
03109        37,   30,   22,   24,   26,   28,   23,   25,   27,   29,
03110        36,   34,    8,    8,    8,    8,    8,    8,    8,    8,
03111         8,    8,    8,    8,    8,    4,    4,    3,    5,    5,
03112         2,    4,    4,    4,    4,    4,    4,    4,    4,    4,
03113         4,    4,    4,    4,    4,    4,    4,    4,   39,   40,
03114         0,   40,    6,    4,    4,    4,    4,    4
03115     } ;
03116 
03117 static yyconst yy_state_type yy_NUL_trans[159] =
03118     {   0,
03119         8,    8,   36,   36,   64,   64,    0,    0,    0,    0,
03120         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
03121         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
03122         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
03123         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
03124         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
03125         0,    0,    0,  126,  126,    0,  126,  126,  126,  129,
03126       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03127       126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03128       126,  126,    0,    0,    0,    0,    0,    0,    0,    0,
03129 
03130         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
03131         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
03132         0,    0,    0,    0,    0,  126,  126,    0,  129,  129,
03133         0,  126,  126,  126,  126,  126,  126,  126,  126,  126,
03134       126,  126,  126,  126,  126,  126,  126,  126,    0,    0,
03135         0,    0,    0,  126,  126,  126,  126,  126
03136     } ;
03137 
03138 /* The intent behind this definition is that it'll catch
03139  * any uses of REJECT which flex missed.
03140  */
03141 #define REJECT reject_used_but_not_detected
03142 #define yymore() yymore_used_but_not_detected
03143 #define YY_MORE_ADJ 0
03144 #define YY_RESTORE_YY_MORE_OFFSET
03145 #line 1 "CalcLexer.lpp"
03146 #line 2 "CalcLexer.lpp"
03147 /* Flex options Used:
03148  * noyywrap - Do not specify a yywrap function.  Scanner will behave as
03149  *            if yywrap() always returns 1, so that when the EOF is reached,
03150  *            the scanner will terminate.
03151  * c++      - Generate c++ flex scanner (a re-entrant scanner)
03152  * full     - Generate a fast, noninteractive scanner with a full table
03153  *            NOTE: This also causes a 7-bit scanner to be generated,
03154  *                  which should be okay since the Calculator BNF
03155  *                  only uses 7-bit ascii characters.
03156  * backup   - Generate lex.backup for checking if rules causes scanner backup
03157  *            For best performance, the scanner should not have any backup.
03158  *            TODO: Need to eliminate backup introduced by adding support
03159  *                  for parsing exponential notation for reals.
03160  *
03161  * prefix   - Specifies prefix to use instead of "yy"
03162  *            NOTE: Because we are generating C++ scanner, this option
03163  *                  is pretty much useless.  Keep this option mainly for
03164  *                  consistency with the prefix used for bison.
03165  * outfile  - Specifies the name of the output file to use.
03166  *            NOTE: Use "lex.yy.c" since that what automake expects the
03167  *                  output file to be, automake will use lex.yy.c to generate
03168  *                  the final output file "CalcLexer.cpp"
03169  * yyclass  - Specifies the name of the C++ class to generate
03170  *
03171  * NOTE: Do not use the yylineno option to keep track of line numbers
03172  *       since that causes a compiler warning about yy_flex_realloc being
03173  *       defined but not used.  Instead, keep track of lineno ourselves
03174  *       since we are already keeping tracking of other location information.
03175  */
03176 #line 42 "CalcLexer.lpp"
03177 /* Undefine _XOPEN_SOURCE to avoid compiler warnings when including
03178    fennel/common/CommonPreamble.h */
03179 
03180 #ifdef _XOPEN_SOURCE
03181 #undef _XOPEN_SOURCE
03182 #endif
03183 
03184 #include "fennel/common/CommonPreamble.h"
03185 
03186 /* Include CalcLexer.h to get the definition of the CalcLexer class,
03187    but don't need to include the original flex header since that
03188    will already been included in the generated C++ file */
03189 #define  DONOT_INCLUDE_FLEX_HEADER
03190 #include "fennel/calculator/CalcLexer.h"
03191 
03192 #include "fennel/calculator/CalcGrammar.h"
03193 #include "fennel/calculator/CalcAssemblerException.h"
03194 
03195 #if YY_FLEX_MAJOR_VERSION < 2 || (YY_FLEX_MAJOR_VERSION == 2 && YY_FLEX_MINOR_VERSION < 5) || (YY_FLEX_MAJOR_VERSION == 2 && YY_FLEX_MINOR_VERSION == 5 && YY_FLEX_SUBMINOR_VERSION < 34)
03196 
03197 extern "C" { int yywrap(); }
03198 
03199 #endif
03200 
03201 
03202 /* need this for checking results of strtoull, strtoll, strtod */
03203 #include <errno.h>
03204 
03205 /* For each token, update the location information */
03206 #define YY_USER_ACTION updateLocation();
03207 
03208 using namespace fennel;
03209 
03210 /*FENNEL_BEGIN_CPPFILE("$Id$")*/
03211 
03212 
03213 #line 3214 "lex.yy.c"
03214 
03215 #define INITIAL 0
03216 #define expect_name 1
03217 #define comment 2
03218 
03219 #ifndef YY_NO_UNISTD_H
03220 /* Special case for "unistd.h", since it is non-ANSI. We include it way
03221  * down here because we want the user's section 1 to have been scanned first.
03222  * The user has a chance to override it with an option.
03223  */
03224 #include <unistd.h>
03225 #endif
03226 
03227 #ifndef YY_EXTRA_TYPE
03228 #define YY_EXTRA_TYPE void *
03229 #endif
03230 
03231 #ifndef yytext_ptr
03232 static void yy_flex_strncpy (char *,yyconst char *,int );
03233 #endif
03234 
03235 #ifdef YY_NEED_STRLEN
03236 static int yy_flex_strlen (yyconst char * );
03237 #endif
03238 
03239 #ifndef YY_NO_INPUT
03240 
03241 #endif
03242 
03243 /* Amount of stuff to slurp up with each read. */
03244 #ifndef YY_READ_BUF_SIZE
03245 #define YY_READ_BUF_SIZE 8192
03246 #endif
03247 
03248 /* Copy whatever the last rule matched to the standard output. */
03249 #ifndef ECHO
03250 #define ECHO LexerOutput( yytext, yyleng )
03251 #endif
03252 
03253 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
03254  * is returned in "result".
03255  */
03256 #ifndef YY_INPUT
03257 #define YY_INPUT(buf,result,max_size) \
03258 \
03259     if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \
03260         YY_FATAL_ERROR( "input in flex scanner failed" );
03261 
03262 #endif
03263 
03264 /* No semi-colon after return; correct usage is to write "yyterminate();" -
03265  * we don't want an extra ';' after the "return" because that will cause
03266  * some compilers to complain about unreachable statements.
03267  */
03268 #ifndef yyterminate
03269 #define yyterminate() return YY_NULL
03270 #endif
03271 
03272 /* Number of entries by which start-condition stack grows. */
03273 #ifndef YY_START_STACK_INCR
03274 #define YY_START_STACK_INCR 25
03275 #endif
03276 
03277 /* Report a fatal error. */
03278 #ifndef YY_FATAL_ERROR
03279 #define YY_FATAL_ERROR(msg) LexerError( msg )
03280 #endif
03281 
03282 /* end tables serialization structures and prototypes */
03283 
03284 /* Default declaration of generated scanner - a define so the user can
03285  * easily add parameters.
03286  */
03287 #ifndef YY_DECL
03288 #define YY_DECL_IS_OURS 1
03289 #define YY_DECL int yyFlexLexer::yylex()
03290 #endif /* !YY_DECL */
03291 
03292 /* Code executed at the beginning of each rule, after yytext and yyleng
03293  * have been set up.
03294  */
03295 #ifndef YY_USER_ACTION
03296 #define YY_USER_ACTION
03297 #endif
03298 
03299 /* Code executed at the end of each rule. */
03300 #ifndef YY_BREAK
03301 #define YY_BREAK break;
03302 #endif
03303 
03304 #define YY_RULE_SETUP \
03305     YY_USER_ACTION
03306 
03309 YY_DECL
03310 {
03311     register yy_state_type yy_current_state;
03312     register char *yy_cp, *yy_bp;
03313     register int yy_act;
03314     
03315 #line 84 "CalcLexer.lpp"
03316 
03317 
03318 #line 3319 "lex.yy.c"
03319 
03320     if ( !(yy_init) )
03321         {
03322         (yy_init) = 1;
03323 
03324 #ifdef YY_USER_INIT
03325         YY_USER_INIT;
03326 #endif
03327 
03328         if ( ! (yy_start) )
03329             (yy_start) = 1; /* first start state */
03330 
03331         if ( ! yyin )
03332             yyin = & std::cin;
03333 
03334         if ( ! yyout )
03335             yyout = & std::cout;
03336 
03337         if ( ! YY_CURRENT_BUFFER ) {
03338             yyensure_buffer_stack ();
03339             YY_CURRENT_BUFFER_LVALUE =
03340                 yy_create_buffer( yyin, YY_BUF_SIZE );
03341         }
03342 
03343         yy_load_buffer_state(  );
03344         }
03345 
03346     while ( 1 )     /* loops until end-of-file is reached */
03347         {
03348         yy_cp = (yy_c_buf_p);
03349 
03350         /* Support of yytext. */
03351         *yy_cp = (yy_hold_char);
03352 
03353         /* yy_bp points to the position in yy_ch_buf of the start of
03354          * the current run.
03355          */
03356         yy_bp = yy_cp;
03357 
03358         yy_current_state = (yy_start);
03359 yy_match:
03360         while ( (yy_current_state = yy_nxt[yy_current_state][ YY_SC_TO_UI(*yy_cp) ]) > 0 )
03361             {
03362             if ( yy_accept[yy_current_state] )
03363                 {
03364                 (yy_last_accepting_state) = yy_current_state;
03365                 (yy_last_accepting_cpos) = yy_cp;
03366                 }
03367 
03368             ++yy_cp;
03369             }
03370 
03371         yy_current_state = -yy_current_state;
03372 
03373 yy_find_action:
03374         yy_act = yy_accept[yy_current_state];
03375 
03376         YY_DO_BEFORE_ACTION;
03377 
03378 do_action:  /* This label is used only to access EOF actions. */
03379 
03380         switch ( yy_act )
03381     { /* beginning of action switch */
03382             case 0: /* must back up */
03383             /* undo the effects of YY_DO_BEFORE_ACTION */
03384             *yy_cp = (yy_hold_char);
03385             yy_cp = (yy_last_accepting_cpos) + 1;
03386             yy_current_state = (yy_last_accepting_state);
03387             goto yy_find_action;
03388 
03389 case 1:
03390 YY_RULE_SETUP
03391 #line 86 "CalcLexer.lpp"
03392 BEGIN(comment);
03393     YY_BREAK
03394 case YY_STATE_EOF(comment):
03395 #line 88 "CalcLexer.lpp"
03396 LexerError("Unterminated comment");
03397     YY_BREAK
03398 case 2:
03399 YY_RULE_SETUP
03400 #line 89 "CalcLexer.lpp"
03401 BEGIN(INITIAL);
03402     YY_BREAK
03403 case 3:
03404 /* rule 3 can match eol */
03405 YY_RULE_SETUP
03406 #line 90 "CalcLexer.lpp"
03407 {
03408                        /* eat up new lines.  Reset column to 1. */
03409                        yycolno=1;
03410                        yylineno+=yyleng;
03411                      }
03412     YY_BREAK
03413 case 4:
03414 YY_RULE_SETUP
03415 #line 95 "CalcLexer.lpp"
03416 /* eat anything that's not a '*' */
03417     YY_BREAK
03418 case 5:
03419 YY_RULE_SETUP
03420 #line 96 "CalcLexer.lpp"
03421 /* eat up '*'s not followed by '/'s */
03422     YY_BREAK
03423 case 6:
03424 YY_RULE_SETUP
03425 #line 99 "CalcLexer.lpp"
03426 {
03427                 yylval.v_string = hex2string(yytext+2, yyleng-2);
03428                 return STRING;
03429            }
03430     YY_BREAK
03431 case 7:
03432 YY_RULE_SETUP
03433 #line 104 "CalcLexer.lpp"
03434 BEGIN(expect_name);
03435     YY_BREAK
03436 case 8:
03437 YY_RULE_SETUP
03438 #line 106 "CalcLexer.lpp"
03439 {
03440                 yylval.v_string = yytext;
03441                 BEGIN(INITIAL);
03442                 return NAME;
03443             }
03444     YY_BREAK
03445 case 9:
03446 YY_RULE_SETUP
03447 #line 112 "CalcLexer.lpp"
03448 BEGIN(INITIAL);
03449     YY_BREAK
03450 case 10:
03451 YY_RULE_SETUP
03452 #line 114 "CalcLexer.lpp"
03453 return COMMA;
03454     YY_BREAK
03455 case 11:
03456 YY_RULE_SETUP
03457 #line 115 "CalcLexer.lpp"
03458 return TERM;
03459     YY_BREAK
03460 case 12:
03461 YY_RULE_SETUP
03462 #line 116 "CalcLexer.lpp"
03463 return CODE_START;
03464     YY_BREAK
03465 case 13:
03466 YY_RULE_SETUP
03467 #line 117 "CalcLexer.lpp"
03468 return AT;
03469     YY_BREAK
03470 case 14:
03471 YY_RULE_SETUP
03472 #line 118 "CalcLexer.lpp"
03473 return LPAREN;
03474     YY_BREAK
03475 case 15:
03476 YY_RULE_SETUP
03477 #line 119 "CalcLexer.lpp"
03478 return RPAREN;
03479     YY_BREAK
03480 case 16:
03481 YY_RULE_SETUP
03482 #line 121 "CalcLexer.lpp"
03483 { yylval.u.v_regset = RegisterReference::ELocal;   return REG_LOCAL;   }
03484     YY_BREAK
03485 case 17:
03486 YY_RULE_SETUP
03487 #line 122 "CalcLexer.lpp"
03488 { yylval.u.v_regset = RegisterReference::EStatus;  return REG_STATUS;  }
03489     YY_BREAK
03490 case 18:
03491 YY_RULE_SETUP
03492 #line 123 "CalcLexer.lpp"
03493 { yylval.u.v_regset = RegisterReference::EInput;   return REG_INPUT;   }
03494     YY_BREAK
03495 case 19:
03496 YY_RULE_SETUP
03497 #line 124 "CalcLexer.lpp"
03498 { yylval.u.v_regset = RegisterReference::EOutput;  return REG_OUTPUT;  }
03499     YY_BREAK
03500 case 20:
03501 YY_RULE_SETUP
03502 #line 125 "CalcLexer.lpp"
03503 { yylval.u.v_regset = RegisterReference::ELiteral; return REG_LITERAL; }
03504     YY_BREAK
03505 case 21:
03506 YY_RULE_SETUP
03507 #line 126 "CalcLexer.lpp"
03508 { return VALUES; }
03509     YY_BREAK
03510 case 22:
03511 YY_RULE_SETUP
03512 #line 128 "CalcLexer.lpp"
03513 { yylval.u.v_type = STANDARD_TYPE_INT_8;      return TYPE_FIXED; }
03514     YY_BREAK
03515 case 23:
03516 YY_RULE_SETUP
03517 #line 129 "CalcLexer.lpp"
03518 { yylval.u.v_type = STANDARD_TYPE_UINT_8;     return TYPE_FIXED; }
03519     YY_BREAK
03520 case 24:
03521 YY_RULE_SETUP
03522 #line 130 "CalcLexer.lpp"
03523 { yylval.u.v_type = STANDARD_TYPE_INT_16;     return TYPE_FIXED; }
03524     YY_BREAK
03525 case 25:
03526 YY_RULE_SETUP
03527 #line 131 "CalcLexer.lpp"
03528 { yylval.u.v_type = STANDARD_TYPE_UINT_16;    return TYPE_FIXED; }
03529     YY_BREAK
03530 case 26:
03531 YY_RULE_SETUP
03532 #line 132 "CalcLexer.lpp"
03533 { yylval.u.v_type = STANDARD_TYPE_INT_32;     return TYPE_FIXED; }
03534     YY_BREAK
03535 case 27:
03536 YY_RULE_SETUP
03537 #line 133 "CalcLexer.lpp"
03538 { yylval.u.v_type = STANDARD_TYPE_UINT_32;    return TYPE_FIXED; }
03539     YY_BREAK
03540 case 28:
03541 YY_RULE_SETUP
03542 #line 134 "CalcLexer.lpp"
03543 { yylval.u.v_type = STANDARD_TYPE_INT_64;     return TYPE_FIXED; }
03544     YY_BREAK
03545 case 29:
03546 YY_RULE_SETUP
03547 #line 135 "CalcLexer.lpp"
03548 { yylval.u.v_type = STANDARD_TYPE_UINT_64;    return TYPE_FIXED; }
03549     YY_BREAK
03550 case 30:
03551 YY_RULE_SETUP
03552 #line 136 "CalcLexer.lpp"
03553 { yylval.u.v_type = STANDARD_TYPE_BOOL;       return TYPE_FIXED; }
03554     YY_BREAK
03555 case 31:
03556 YY_RULE_SETUP
03557 #line 137 "CalcLexer.lpp"
03558 { yylval.u.v_type = STANDARD_TYPE_REAL;       return TYPE_FIXED; }
03559     YY_BREAK
03560 case 32:
03561 YY_RULE_SETUP
03562 #line 138 "CalcLexer.lpp"
03563 { yylval.u.v_type = STANDARD_TYPE_DOUBLE;     return TYPE_FIXED; }
03564     YY_BREAK
03565 case 33:
03566 YY_RULE_SETUP
03567 #line 139 "CalcLexer.lpp"
03568 { yylval.u.v_type = STANDARD_TYPE_CHAR;       return TYPE_VARIABLE; }
03569     YY_BREAK
03570 case 34:
03571 YY_RULE_SETUP
03572 #line 140 "CalcLexer.lpp"
03573 { yylval.u.v_type = STANDARD_TYPE_VARCHAR;    return TYPE_VARIABLE; }
03574     YY_BREAK
03575 case 35:
03576 YY_RULE_SETUP
03577 #line 141 "CalcLexer.lpp"
03578 { yylval.u.v_type = STANDARD_TYPE_BINARY;     return TYPE_VARIABLE; }
03579     YY_BREAK
03580 case 36:
03581 YY_RULE_SETUP
03582 #line 142 "CalcLexer.lpp"
03583 { yylval.u.v_type = STANDARD_TYPE_VARBINARY;  return TYPE_VARIABLE; }
03584     YY_BREAK
03585 case 37:
03586 YY_RULE_SETUP
03587 #line 144 "CalcLexer.lpp"
03588 { yylval.v_opcode = yytext; return OPCODE; }
03589     YY_BREAK
03590 case 38:
03591 YY_RULE_SETUP
03592 #line 146 "CalcLexer.lpp"
03593 {
03594                 errno = 0;
03595                 yylval.u.v_uint64 = strtoull(yytext, NULL, 10);
03596                 if (errno != 0)
03597                     LexerError(strerror(errno));
03598                 return UNSIGNED_INTEGER;
03599             }
03600     YY_BREAK
03601 case 39:
03602 YY_RULE_SETUP
03603 #line 154 "CalcLexer.lpp"
03604 {
03605                 errno = 0;
03606                 yylval.u.v_int64 = strtoll(yytext, NULL, 10);
03607                 if (errno != 0)
03608                     LexerError(strerror(errno));
03609                 return NEGATIVE_INTEGER;
03610             }
03611     YY_BREAK
03612 case 40:
03613 YY_RULE_SETUP
03614 #line 162 "CalcLexer.lpp"
03615 {
03616                 errno = 0;
03617                 yylval.u.v_double = strtod(yytext, NULL);
03618                 if (errno != 0)
03619                     LexerError(strerror(errno));
03620                 return REAL;
03621             }
03622     YY_BREAK
03623 case 41:
03624 YY_RULE_SETUP
03625 #line 170 "CalcLexer.lpp"
03626 /* eat up whitespace */
03627     YY_BREAK
03628 case 42:
03629 /* rule 42 can match eol */
03630 YY_RULE_SETUP
03631 #line 171 "CalcLexer.lpp"
03632 {
03633                /* eat up new lines.  Reset column to 1. */
03634                yycolno=1;
03635                yylineno+=yyleng;
03636             }
03637     YY_BREAK
03638 case 43:
03639 YY_RULE_SETUP
03640 #line 177 "CalcLexer.lpp"
03641 return UNKNOWN_TOKEN;
03642     YY_BREAK
03643 case 44:
03644 YY_RULE_SETUP
03645 #line 179 "CalcLexer.lpp"
03646 ECHO;
03647     YY_BREAK
03648 #line 3649 "lex.yy.c"
03649 case YY_STATE_EOF(INITIAL):
03650 case YY_STATE_EOF(expect_name):
03651     yyterminate();
03652 
03653     case YY_END_OF_BUFFER:
03654         {
03655         /* Amount of text matched not including the EOB char. */
03656         int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
03657 
03658         /* Undo the effects of YY_DO_BEFORE_ACTION. */
03659         *yy_cp = (yy_hold_char);
03660         YY_RESTORE_YY_MORE_OFFSET
03661 
03662         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
03663             {
03664             /* We're scanning a new file or input source.  It's
03665              * possible that this happened because the user
03666              * just pointed yyin at a new source and called
03667              * yylex().  If so, then we have to assure
03668              * consistency between YY_CURRENT_BUFFER and our
03669              * globals.  Here is the right place to do so, because
03670              * this is the first action (other than possibly a
03671              * back-up) that will match for the new input source.
03672              */
03673             (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
03674             YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
03675             YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
03676             }
03677 
03678         /* Note that here we test for yy_c_buf_p "<=" to the position
03679          * of the first EOB in the buffer, since yy_c_buf_p will
03680          * already have been incremented past the NUL character
03681          * (since all states make transitions on EOB to the
03682          * end-of-buffer state).  Contrast this with the test
03683          * in input().
03684          */
03685         if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
03686             { /* This was really a NUL. */
03687             yy_state_type yy_next_state;
03688 
03689             (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
03690 
03691             yy_current_state = yy_get_previous_state(  );
03692 
03693             /* Okay, we're now positioned to make the NUL
03694              * transition.  We couldn't have
03695              * yy_get_previous_state() go ahead and do it
03696              * for us because it doesn't know how to deal
03697              * with the possibility of jamming (and we don't
03698              * want to build jamming into it because then it
03699              * will run more slowly).
03700              */
03701 
03702             yy_next_state = yy_try_NUL_trans( yy_current_state );
03703 
03704             yy_bp = (yytext_ptr) + YY_MORE_ADJ;
03705 
03706             if ( yy_next_state )
03707                 {
03708                 /* Consume the NUL. */
03709                 yy_cp = ++(yy_c_buf_p);
03710                 yy_current_state = yy_next_state;
03711                 goto yy_match;
03712                 }
03713 
03714             else
03715                 {
03716                 yy_cp = (yy_c_buf_p);
03717                 goto yy_find_action;
03718                 }
03719             }
03720 
03721         else switch ( yy_get_next_buffer(  ) )
03722             {
03723             case EOB_ACT_END_OF_FILE:
03724                 {
03725                 (yy_did_buffer_switch_on_eof) = 0;
03726 
03727                 if ( yywrap(  ) )
03728                     {
03729                     /* Note: because we've taken care in
03730                      * yy_get_next_buffer() to have set up
03731                      * yytext, we can now set up
03732                      * yy_c_buf_p so that if some total
03733                      * hoser (like flex itself) wants to
03734                      * call the scanner after we return the
03735                      * YY_NULL, it'll still work - another
03736                      * YY_NULL will get returned.
03737                      */
03738                     (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
03739 
03740                     yy_act = YY_STATE_EOF(YY_START);
03741                     goto do_action;
03742                     }
03743 
03744                 else
03745                     {
03746                     if ( ! (yy_did_buffer_switch_on_eof) )
03747                         YY_NEW_FILE;
03748                     }
03749                 break;
03750                 }
03751 
03752             case EOB_ACT_CONTINUE_SCAN:
03753                 (yy_c_buf_p) =
03754                     (yytext_ptr) + yy_amount_of_matched_text;
03755 
03756                 yy_current_state = yy_get_previous_state(  );
03757 
03758                 yy_cp = (yy_c_buf_p);
03759                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
03760                 goto yy_match;
03761 
03762             case EOB_ACT_LAST_MATCH:
03763                 (yy_c_buf_p) =
03764                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
03765 
03766                 yy_current_state = yy_get_previous_state(  );
03767 
03768                 yy_cp = (yy_c_buf_p);
03769                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
03770                 goto yy_find_action;
03771             }
03772         break;
03773         }
03774 
03775     default:
03776         YY_FATAL_ERROR(
03777             "fatal flex scanner internal error--no action found" );
03778     } /* end of action switch */
03779         } /* end of scanning one token */
03780 } /* end of yylex */
03781 
03782 yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout )
03783 {
03784     yyin = arg_yyin;
03785     yyout = arg_yyout;
03786     yy_c_buf_p = 0;
03787     yy_init = 0;
03788     yy_start = 0;
03789     yy_flex_debug = 0;
03790     yylineno = 1;   // this will only get updated if %option yylineno
03791 
03792     yy_did_buffer_switch_on_eof = 0;
03793 
03794     yy_looking_for_trail_begin = 0;
03795     yy_more_flag = 0;
03796     yy_more_len = 0;
03797     yy_more_offset = yy_prev_more_offset = 0;
03798 
03799     yy_start_stack_ptr = yy_start_stack_depth = 0;
03800     yy_start_stack = NULL;
03801 
03802     (yy_buffer_stack) = 0;
03803     (yy_buffer_stack_top) = 0;
03804     (yy_buffer_stack_max) = 0;
03805 
03806     yy_state_buf = 0;
03807 
03808 }
03809 
03810 void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out )
03811 {
03812     if ( new_in )
03813         {
03814         yy_delete_buffer( YY_CURRENT_BUFFER );
03815         yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE  ) );
03816         }
03817 
03818     if ( new_out )
03819         yyout = new_out;
03820 }
03821 
03822 #ifdef YY_INTERACTIVE
03823 int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )
03824 #else
03825 int yyFlexLexer::LexerInput( char* buf, int max_size )
03826 #endif
03827 {
03828     if ( yyin->eof() || yyin->fail() )
03829         return 0;
03830 
03831 #ifdef YY_INTERACTIVE
03832     yyin->get( buf[0] );
03833 
03834     if ( yyin->eof() )
03835         return 0;
03836 
03837     if ( yyin->bad() )
03838         return -1;
03839 
03840     return 1;
03841 
03842 #else
03843     (void) yyin->read( buf, max_size );
03844 
03845     if ( yyin->bad() )
03846         return -1;
03847     else
03848         return yyin->gcount();
03849 #endif
03850 }
03851 
03852 void yyFlexLexer::LexerOutput( const char* buf, int size )
03853 {
03854     (void) yyout->write( buf, size );
03855 }
03856 
03857 /* yy_get_next_buffer - try to read in a new buffer
03858  *
03859  * Returns a code representing an action:
03860  *  EOB_ACT_LAST_MATCH -
03861  *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
03862  *  EOB_ACT_END_OF_FILE - end of file
03863  */
03864 int yyFlexLexer::yy_get_next_buffer()
03865 {
03866         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
03867     register char *source = (yytext_ptr);
03868     register int number_to_move, i;
03869     int ret_val;
03870 
03871     if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
03872         YY_FATAL_ERROR(
03873         "fatal flex scanner internal error--end of buffer missed" );
03874 
03875     if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
03876         { /* Don't try to fill the buffer, so this is an EOF. */
03877         if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
03878             {
03879             /* We matched a single character, the EOB, so
03880              * treat this as a final EOF.
03881              */
03882             return EOB_ACT_END_OF_FILE;
03883             }
03884 
03885         else
03886             {
03887             /* We matched some text prior to the EOB, first
03888              * process it.
03889              */
03890             return EOB_ACT_LAST_MATCH;
03891             }
03892         }
03893 
03894     /* Try to read more data. */
03895 
03896     /* First move last chars to start of buffer. */
03897     number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
03898 
03899     for ( i = 0; i < number_to_move; ++i )
03900         *(dest++) = *(source++);
03901 
03902     if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
03903         /* don't do the read, it's not guaranteed to return an EOF,
03904          * just force an EOF
03905          */
03906         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
03907 
03908     else
03909         {
03910             int num_to_read =
03911             YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
03912 
03913         while ( num_to_read <= 0 )
03914             { /* Not enough room in the buffer - grow it. */
03915 
03916             /* just a shorter name for the current buffer */
03917             YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
03918 
03919             int yy_c_buf_p_offset =
03920                 (int) ((yy_c_buf_p) - b->yy_ch_buf);
03921 
03922             if ( b->yy_is_our_buffer )
03923                 {
03924                 int new_size = b->yy_buf_size * 2;
03925 
03926                 if ( new_size <= 0 )
03927                     b->yy_buf_size += b->yy_buf_size / 8;
03928                 else
03929                     b->yy_buf_size *= 2;
03930 
03931                 b->yy_ch_buf = (char *)
03932                     /* Include room in for 2 EOB chars. */
03933                     CalcYYrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
03934                 }
03935             else
03936                 /* Can't grow it, we don't own it. */
03937                 b->yy_ch_buf = 0;
03938 
03939             if ( ! b->yy_ch_buf )
03940                 YY_FATAL_ERROR(
03941                 "fatal error - scanner input buffer overflow" );
03942 
03943             (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
03944 
03945             num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
03946                         number_to_move - 1;
03947 
03948             }
03949 
03950         if ( num_to_read > YY_READ_BUF_SIZE )
03951             num_to_read = YY_READ_BUF_SIZE;
03952 
03953         /* Read in more data. */
03954         YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
03955             (yy_n_chars), (size_t) num_to_read );
03956 
03957         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
03958         }
03959 
03960     if ( (yy_n_chars) == 0 )
03961         {
03962         if ( number_to_move == YY_MORE_ADJ )
03963             {
03964             ret_val = EOB_ACT_END_OF_FILE;
03965             yyrestart( yyin  );
03966             }
03967 
03968         else
03969             {
03970             ret_val = EOB_ACT_LAST_MATCH;
03971             YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
03972                 YY_BUFFER_EOF_PENDING;
03973             }
03974         }
03975 
03976     else
03977         ret_val = EOB_ACT_CONTINUE_SCAN;
03978 
03979     (yy_n_chars) += number_to_move;
03980     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
03981     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
03982 
03983     (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
03984 
03985     return ret_val;
03986 }
03987 
03988 /* yy_get_previous_state - get the state just before the EOB char was reached */
03989 
03990     yy_state_type yyFlexLexer::yy_get_previous_state()
03991 {
03992     register yy_state_type yy_current_state;
03993     register char *yy_cp;
03994     
03995     yy_current_state = (yy_start);
03996 
03997     for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
03998         {
03999         if ( *yy_cp )
04000             {
04001             yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)];
04002             }
04003         else
04004             yy_current_state = yy_NUL_trans[yy_current_state];
04005         if ( yy_accept[yy_current_state] )
04006             {
04007             (yy_last_accepting_state) = yy_current_state;
04008             (yy_last_accepting_cpos) = yy_cp;
04009             }
04010         }
04011 
04012     return yy_current_state;
04013 }
04014 
04015 /* yy_try_NUL_trans - try to make a transition on the NUL character
04016  *
04017  * synopsis
04018  *  next_state = yy_try_NUL_trans( current_state );
04019  */
04020     yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )
04021 {
04022     register int yy_is_jam;
04023         register char *yy_cp = (yy_c_buf_p);
04024 
04025     yy_current_state = yy_NUL_trans[yy_current_state];
04026     yy_is_jam = (yy_current_state == 0);
04027 
04028     if ( ! yy_is_jam )
04029         {
04030         if ( yy_accept[yy_current_state] )
04031             {
04032             (yy_last_accepting_state) = yy_current_state;
04033             (yy_last_accepting_cpos) = yy_cp;
04034             }
04035         }
04036 
04037     return yy_is_jam ? 0 : yy_current_state;
04038 }
04039 
04040     void yyFlexLexer::yyunput( int c, register char* yy_bp)
04041 {
04042     register char *yy_cp;
04043     
04044     yy_cp = (yy_c_buf_p);
04045 
04046     /* undo effects of setting up yytext */
04047     *yy_cp = (yy_hold_char);
04048 
04049     if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
04050         { /* need to shift things up to make room */
04051         /* +2 for EOB chars. */
04052         register int number_to_move = (yy_n_chars) + 2;
04053         register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
04054                     YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
04055         register char *source =
04056                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
04057 
04058         while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
04059             *--dest = *--source;
04060 
04061         yy_cp += (int) (dest - source);
04062         yy_bp += (int) (dest - source);
04063         YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
04064             (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
04065 
04066         if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
04067             YY_FATAL_ERROR( "flex scanner push-back overflow" );
04068         }
04069 
04070     *--yy_cp = (char) c;
04071 
04072     (yytext_ptr) = yy_bp;
04073     (yy_hold_char) = *yy_cp;
04074     (yy_c_buf_p) = yy_cp;
04075 }
04076 
04077     int yyFlexLexer::yyinput()
04078 {
04079     int c;
04080     
04081     *(yy_c_buf_p) = (yy_hold_char);
04082 
04083     if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
04084         {
04085         /* yy_c_buf_p now points to the character we want to return.
04086          * If this occurs *before* the EOB characters, then it's a
04087          * valid NUL; if not, then we've hit the end of the buffer.
04088          */
04089         if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
04090             /* This was really a NUL. */
04091             *(yy_c_buf_p) = '\0';
04092 
04093         else
04094             { /* need more input */
04095             int offset = (yy_c_buf_p) - (yytext_ptr);
04096             ++(yy_c_buf_p);
04097 
04098             switch ( yy_get_next_buffer(  ) )
04099                 {
04100                 case EOB_ACT_LAST_MATCH:
04101                     /* This happens because yy_g_n_b()
04102                      * sees that we've accumulated a
04103                      * token and flags that we need to
04104                      * try matching the token before
04105                      * proceeding.  But for input(),
04106                      * there's no matching to consider.
04107                      * So convert the EOB_ACT_LAST_MATCH
04108                      * to EOB_ACT_END_OF_FILE.
04109                      */
04110 
04111                     /* Reset buffer status. */
04112                     yyrestart( yyin );
04113 
04114                     /*FALLTHROUGH*/
04115 
04116                 case EOB_ACT_END_OF_FILE:
04117                     {
04118                     if ( yywrap(  ) )
04119                         return EOF;
04120 
04121                     if ( ! (yy_did_buffer_switch_on_eof) )
04122                         YY_NEW_FILE;
04123 #ifdef __cplusplus
04124                     return yyinput();
04125 #else
04126                     return input();
04127 #endif
04128                     }
04129 
04130                 case EOB_ACT_CONTINUE_SCAN:
04131                     (yy_c_buf_p) = (yytext_ptr) + offset;
04132                     break;
04133                 }
04134             }
04135         }
04136 
04137     c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
04138     *(yy_c_buf_p) = '\0';   /* preserve yytext */
04139     (yy_hold_char) = *++(yy_c_buf_p);
04140 
04141     return c;
04142 }
04143 
04149     void yyFlexLexer::yyrestart( std::istream* input_file )
04150 {
04151     
04152     if ( ! YY_CURRENT_BUFFER ){
04153         yyensure_buffer_stack ();
04154         YY_CURRENT_BUFFER_LVALUE =
04155             yy_create_buffer( yyin, YY_BUF_SIZE );
04156     }
04157 
04158     yy_init_buffer( YY_CURRENT_BUFFER, input_file );
04159     yy_load_buffer_state(  );
04160 }
04161 
04166     void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
04167 {
04168     
04169     /* TODO. We should be able to replace this entire function body
04170      * with
04171      *      yypop_buffer_state();
04172      *      yypush_buffer_state(new_buffer);
04173      */
04174     yyensure_buffer_stack ();
04175     if ( YY_CURRENT_BUFFER == new_buffer )
04176         return;
04177 
04178     if ( YY_CURRENT_BUFFER )
04179         {
04180         /* Flush out information for old buffer. */
04181         *(yy_c_buf_p) = (yy_hold_char);
04182         YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
04183         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
04184         }
04185 
04186     YY_CURRENT_BUFFER_LVALUE = new_buffer;
04187     yy_load_buffer_state(  );
04188 
04189     /* We don't actually know whether we did this switch during
04190      * EOF (yywrap()) processing, but the only time this flag
04191      * is looked at is after yywrap() is called, so it's safe
04192      * to go ahead and always set it.
04193      */
04194     (yy_did_buffer_switch_on_eof) = 1;
04195 }
04196 
04197     void yyFlexLexer::yy_load_buffer_state()
04198 {
04199         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
04200     (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
04201     yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
04202     (yy_hold_char) = *(yy_c_buf_p);
04203 }
04204 
04211     YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size )
04212 {
04213     YY_BUFFER_STATE b;
04214     
04215     b = (YY_BUFFER_STATE) CalcYYalloc(sizeof( struct yy_buffer_state )  );
04216     if ( ! b )
04217         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
04218 
04219     b->yy_buf_size = size;
04220 
04221     /* yy_ch_buf has to be 2 characters longer than the size given because
04222      * we need to put in 2 end-of-buffer characters.
04223      */
04224     b->yy_ch_buf = (char *) CalcYYalloc(b->yy_buf_size + 2  );
04225     if ( ! b->yy_ch_buf )
04226         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
04227 
04228     b->yy_is_our_buffer = 1;
04229 
04230     yy_init_buffer( b, file );
04231 
04232     return b;
04233 }
04234 
04239     void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b )
04240 {
04241     
04242     if ( ! b )
04243         return;
04244 
04245     if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
04246         YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
04247 
04248     if ( b->yy_is_our_buffer )
04249         CalcYYfree((void *) b->yy_ch_buf  );
04250 
04251     CalcYYfree((void *) b  );
04252 }
04253 
04254 extern "C" int isatty (int );
04255 
04256 /* Initializes or reinitializes a buffer.
04257  * This function is sometimes called more than once on the same buffer,
04258  * such as during a yyrestart() or at EOF.
04259  */
04260     void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file )
04261 
04262 {
04263     int oerrno = errno;
04264     
04265     yy_flush_buffer( b );
04266 
04267     b->yy_input_file = file;
04268     b->yy_fill_buffer = 1;
04269 
04270     /* If b is the current buffer, then yy_init_buffer was _probably_
04271      * called from yyrestart() or through yy_get_next_buffer.
04272      * In that case, we don't want to reset the lineno or column.
04273      */
04274     if (b != YY_CURRENT_BUFFER){
04275         b->yy_bs_lineno = 1;
04276         b->yy_bs_column = 0;
04277     }
04278 
04279     b->yy_is_interactive = 0;
04280     errno = oerrno;
04281 }
04282 
04287     void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b )
04288 {
04289         if ( ! b )
04290         return;
04291 
04292     b->yy_n_chars = 0;
04293 
04294     /* We always need two end-of-buffer characters.  The first causes
04295      * a transition to the end-of-buffer state.  The second causes
04296      * a jam in that state.
04297      */
04298     b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
04299     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
04300 
04301     b->yy_buf_pos = &b->yy_ch_buf[0];
04302 
04303     b->yy_at_bol = 1;
04304     b->yy_buffer_status = YY_BUFFER_NEW;
04305 
04306     if ( b == YY_CURRENT_BUFFER )
04307         yy_load_buffer_state(  );
04308 }
04309 
04316 void yyFlexLexer::yypush_buffer_state (YY_BUFFER_STATE new_buffer)
04317 {
04318         if (new_buffer == NULL)
04319         return;
04320 
04321     yyensure_buffer_stack();
04322 
04323     /* This block is copied from yy_switch_to_buffer. */
04324     if ( YY_CURRENT_BUFFER )
04325         {
04326         /* Flush out information for old buffer. */
04327         *(yy_c_buf_p) = (yy_hold_char);
04328         YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
04329         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
04330         }
04331 
04332     /* Only push if top exists. Otherwise, replace top. */
04333     if (YY_CURRENT_BUFFER)
04334         (yy_buffer_stack_top)++;
04335     YY_CURRENT_BUFFER_LVALUE = new_buffer;
04336 
04337     /* copied from yy_switch_to_buffer. */
04338     yy_load_buffer_state(  );
04339     (yy_did_buffer_switch_on_eof) = 1;
04340 }
04341 
04346 void yyFlexLexer::yypop_buffer_state (void)
04347 {
04348         if (!YY_CURRENT_BUFFER)
04349         return;
04350 
04351     yy_delete_buffer(YY_CURRENT_BUFFER );
04352     YY_CURRENT_BUFFER_LVALUE = NULL;
04353     if ((yy_buffer_stack_top) > 0)
04354         --(yy_buffer_stack_top);
04355 
04356     if (YY_CURRENT_BUFFER) {
04357         yy_load_buffer_state(  );
04358         (yy_did_buffer_switch_on_eof) = 1;
04359     }
04360 }
04361 
04362 /* Allocates the stack if it does not exist.
04363  *  Guarantees space for at least one push.
04364  */
04365 void yyFlexLexer::yyensure_buffer_stack(void)
04366 {
04367     int num_to_alloc;
04368     
04369     if (!(yy_buffer_stack)) {
04370 
04371         /* First allocation is just for 2 elements, since we don't know if this
04372          * scanner will even need a stack. We use 2 instead of 1 to avoid an
04373          * immediate realloc on the next call.
04374          */
04375         num_to_alloc = 1;
04376         (yy_buffer_stack) = (struct yy_buffer_state**)CalcYYalloc
04377                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
04378                                 );
04379         
04380         memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
04381                 
04382         (yy_buffer_stack_max) = num_to_alloc;
04383         (yy_buffer_stack_top) = 0;
04384         return;
04385     }
04386 
04387     if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
04388 
04389         /* Increase the buffer to prepare for a possible push. */
04390         int grow_size = 8 /* arbitrary grow size */;
04391 
04392         num_to_alloc = (yy_buffer_stack_max) + grow_size;
04393         (yy_buffer_stack) = (struct yy_buffer_state**)CalcYYrealloc
04394                                 ((yy_buffer_stack),
04395                                 num_to_alloc * sizeof(struct yy_buffer_state*)
04396                                 );
04397 
04398         /* zero only the new slots.*/
04399         memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
04400         (yy_buffer_stack_max) = num_to_alloc;
04401     }
04402 }
04403 
04404     void yyFlexLexer::yy_push_state( int new_state )
04405 {
04406         if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
04407         {
04408         yy_size_t new_size;
04409 
04410         (yy_start_stack_depth) += YY_START_STACK_INCR;
04411         new_size = (yy_start_stack_depth) * sizeof( int );
04412 
04413         if ( ! (yy_start_stack) )
04414             (yy_start_stack) = (int *) CalcYYalloc(new_size  );
04415 
04416         else
04417             (yy_start_stack) = (int *) CalcYYrealloc((void *) (yy_start_stack),new_size  );
04418 
04419         if ( ! (yy_start_stack) )
04420             YY_FATAL_ERROR(
04421             "out of memory expanding start-condition stack" );
04422         }
04423 
04424     (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
04425 
04426     BEGIN(new_state);
04427 }
04428 
04429     void yyFlexLexer::yy_pop_state()
04430 {
04431         if ( --(yy_start_stack_ptr) < 0 )
04432         YY_FATAL_ERROR( "start-condition stack underflow" );
04433 
04434     BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
04435 }
04436 
04437     int yyFlexLexer::yy_top_state()
04438 {
04439         return (yy_start_stack)[(yy_start_stack_ptr) - 1];
04440 }
04441 
04442 #ifndef YY_EXIT_FAILURE
04443 #define YY_EXIT_FAILURE 2
04444 #endif
04445 
04446 void yyFlexLexer::LexerError( yyconst char msg[] )
04447 {
04448         std::cerr << msg << std::endl;
04449     exit( YY_EXIT_FAILURE );
04450 }
04451 
04452 /* Redefine yyless() so it works in section 3 code. */
04453 
04454 #undef yyless
04455 #define yyless(n) \
04456     do \
04457         { \
04458         /* Undo effects of setting up yytext. */ \
04459         int yyless_macro_arg = (n); \
04460         YY_LESS_LINENO(yyless_macro_arg);\
04461         yytext[yyleng] = (yy_hold_char); \
04462         (yy_c_buf_p) = yytext + yyless_macro_arg; \
04463         (yy_hold_char) = *(yy_c_buf_p); \
04464         *(yy_c_buf_p) = '\0'; \
04465         yyleng = yyless_macro_arg; \
04466         } \
04467     while ( 0 )
04468 
04469 /* Accessor  methods (get/set functions) to struct members. */
04470 
04471 yyFlexLexer::~yyFlexLexer()
04472 {
04473     
04474     /* Pop the buffer stack, destroying each element. */
04475     while(YY_CURRENT_BUFFER){
04476         yy_delete_buffer( YY_CURRENT_BUFFER  );
04477         YY_CURRENT_BUFFER_LVALUE = NULL;
04478         yypop_buffer_state();
04479     }
04480 
04481     /* Destroy the stack itself. */
04482     CalcYYfree((yy_buffer_stack) );
04483     (yy_buffer_stack) = NULL;
04484 
04485     delete [] (yy_state_buf);
04486     CalcYYfree((yy_start_stack)  );
04487 
04488 }
04489 
04490 /*
04491  * Internal utility routines.
04492  */
04493 
04494 #ifndef yytext_ptr
04495 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
04496 {
04497     register int i;
04498     for ( i = 0; i < n; ++i )
04499         s1[i] = s2[i];
04500 }
04501 #endif
04502 
04503 #ifdef YY_NEED_STRLEN
04504 static int yy_flex_strlen (yyconst char * s )
04505 {
04506     register int n;
04507     for ( n = 0; s[n]; ++n )
04508         ;
04509 
04510     return n;
04511 }
04512 #endif
04513 
04514 void *CalcYYalloc (yy_size_t  size )
04515 {
04516     return (void *) malloc( size );
04517 }
04518 
04519 void *CalcYYrealloc  (void * ptr, yy_size_t  size )
04520 {
04521     /* The cast to (char *) in the following accommodates both
04522      * implementations that use char* generic pointers, and those
04523      * that use void* generic pointers.  It works with the latter
04524      * because both ANSI C and C++ allow castless assignment from
04525      * any pointer type to void*, and deal with argument conversions
04526      * as though doing an assignment.
04527      */
04528     return (void *) realloc( (char *) ptr, size );
04529 }
04530 
04531 void CalcYYfree (void * ptr )
04532 {
04533     free( (char *) ptr );   /* see CalcYYrealloc() for (char *) cast */
04534 }
04535 
04536 #define YYTABLES_NAME "yytables"
04537 
04538 #line 179 "CalcLexer.lpp"
04539 
04540 
04541 
04542 void CalcLexer::updateLocation()
04543 {
04544     /*
04545      * This function does not handle tokens that span multiple lines.
04546      */
04547     yyloc.first_line   = yylineno;
04548     yyloc.first_column = yycolno;
04549     yyloc.first_pos    = yypos;
04550     yycolno += yyleng;
04551     yypos += yyleng;
04552     yyloc.last_line   = yylineno;
04553     yyloc.last_column = yycolno-1;
04554     yyloc.last_pos    = yypos-1;
04555 }
04556 
04557 void CalcLexer::LexerError(const char* msg)
04558 {
04559     throw CalcAssemblerException(msg, getLocation());
04560 }
04561 
04562 int CalcLexer::hex(char ch)
04563 {
04564   if ((ch >= 'a') && (ch <= 'f')) return (ch-'a'+10);
04565   else if ((ch >= '0') && (ch <= '9')) return (ch-'0');
04566   else if ((ch >= 'A') && (ch <= 'F')) return (ch-'A'+10);
04567   else throw CalcAssemblerException("Invalid hex character", getLocation());
04568 }
04569 
04570 /* convert the hex array pointed to by buf into binary string */
04571 string CalcLexer::hex2string(const char *buf, uint buflen)
04572 {
04573     int i, count;
04574     unsigned char ch;
04575 
04576     assert(buf != NULL);
04577     if ((buflen % 2) != 0) {
04578         throw CalcAssemblerException("Invalid hex encoded string", getLocation());
04579     }
04580 
04581     count = buflen/2;
04582 
04583     string str(count, 0);
04584 
04585     for (i=0; i<count; i++) {
04586         ch = hex(*buf++) << 4;
04587         ch = ch + hex(*buf++);
04588         str[i] = ch;
04589     }
04590     return str;
04591 }
04592 
04593 #if YY_FLEX_MAJOR_VERSION > 2 || (YY_FLEX_MAJOR_VERSION == 2 && YY_FLEX_MINOR_VERSION > 5) || (YY_FLEX_MAJOR_VERSION == 2 && YY_FLEX_MINOR_VERSION == 5 && YY_FLEX_SUBMINOR_VERSION > 33)
04594 
04595 int CalcYYFlexLexer::yywrap() { return 1; }
04596 
04597 #else
04598 
04599 extern "C" { int yywrap() { return 1; } }
04600 
04601 #endif
04602 
04603 /*FENNEL_END_CPPFILE("$Id$")*/
04604 

Generated on Mon Jun 22 04:00:17 2009 for Fennel by  doxygen 1.5.1