CalcLexer.cpp

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

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