Check pointers before freeing (was getting WARNINGS under MALLOC_DEBUG)
[asterisk/asterisk.git] / main / ast_expr2f.c
1 #line 2 "ast_expr2f.c"
2
3 #line 4 "ast_expr2f.c"
4
5 #define  YY_INT_ALIGNED short int
6
7 /* A lexical scanner generated by flex */
8
9 #define FLEX_SCANNER
10 #define YY_FLEX_MAJOR_VERSION 2
11 #define YY_FLEX_MINOR_VERSION 5
12 #define YY_FLEX_SUBMINOR_VERSION 31
13 #if YY_FLEX_SUBMINOR_VERSION > 0
14 #define FLEX_BETA
15 #endif
16
17 /* First, we deal with  platform-specific or compiler-specific issues. */
18
19 /* begin standard C headers. */
20 #include <stdio.h>
21 #include <string.h>
22 #include <errno.h>
23 #include <stdlib.h>
24
25 /* end standard C headers. */
26
27 /* flex integer type definitions */
28
29 #ifndef FLEXINT_H
30 #define FLEXINT_H
31
32 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33
34 #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
35 #include <inttypes.h>
36 typedef int8_t flex_int8_t;
37 typedef uint8_t flex_uint8_t;
38 typedef int16_t flex_int16_t;
39 typedef uint16_t flex_uint16_t;
40 typedef int32_t flex_int32_t;
41 typedef uint32_t flex_uint32_t;
42 #else
43 typedef signed char flex_int8_t;
44 typedef short int flex_int16_t;
45 typedef int flex_int32_t;
46 typedef unsigned char flex_uint8_t; 
47 typedef unsigned short int flex_uint16_t;
48 typedef unsigned int flex_uint32_t;
49 #endif /* ! C99 */
50
51 /* Limits of integral types. */
52 #ifndef INT8_MIN
53 #define INT8_MIN               (-128)
54 #endif
55 #ifndef INT16_MIN
56 #define INT16_MIN              (-32767-1)
57 #endif
58 #ifndef INT32_MIN
59 #define INT32_MIN              (-2147483647-1)
60 #endif
61 #ifndef INT8_MAX
62 #define INT8_MAX               (127)
63 #endif
64 #ifndef INT16_MAX
65 #define INT16_MAX              (32767)
66 #endif
67 #ifndef INT32_MAX
68 #define INT32_MAX              (2147483647)
69 #endif
70 #ifndef UINT8_MAX
71 #define UINT8_MAX              (255U)
72 #endif
73 #ifndef UINT16_MAX
74 #define UINT16_MAX             (65535U)
75 #endif
76 #ifndef UINT32_MAX
77 #define UINT32_MAX             (4294967295U)
78 #endif
79
80 #endif /* ! FLEXINT_H */
81
82 #ifdef __cplusplus
83
84 /* The "const" storage-class-modifier is valid. */
85 #define YY_USE_CONST
86
87 #else   /* ! __cplusplus */
88
89 #if __STDC__
90
91 #define YY_USE_CONST
92
93 #endif  /* __STDC__ */
94 #endif  /* ! __cplusplus */
95
96 #ifdef YY_USE_CONST
97 #define yyconst const
98 #else
99 #define yyconst
100 #endif
101
102 /* Returned upon end-of-file. */
103 #define YY_NULL 0
104
105 /* Promotes a possibly negative, possibly signed char to an unsigned
106  * integer for use as an array index.  If the signed char is negative,
107  * we want to instead treat it as an 8-bit unsigned char, hence the
108  * double cast.
109  */
110 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
111
112 /* An opaque pointer. */
113 #ifndef YY_TYPEDEF_YY_SCANNER_T
114 #define YY_TYPEDEF_YY_SCANNER_T
115 typedef void* yyscan_t;
116 #endif
117
118 /* For convenience, these vars (plus the bison vars far below)
119    are macros in the reentrant scanner. */
120 #define yyin yyg->yyin_r
121 #define yyout yyg->yyout_r
122 #define yyextra yyg->yyextra_r
123 #define yyleng yyg->yyleng_r
124 #define yytext yyg->yytext_r
125 #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
126 #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
127 #define yy_flex_debug yyg->yy_flex_debug_r
128
129 int ast_yylex_init (yyscan_t* scanner);
130
131 /* Enter a start condition.  This macro really ought to take a parameter,
132  * but we do it the disgusting crufty way forced on us by the ()-less
133  * definition of BEGIN.
134  */
135 #define BEGIN yyg->yy_start = 1 + 2 *
136
137 /* Translate the current start state into a value that can be later handed
138  * to BEGIN to return to the state.  The YYSTATE alias is for lex
139  * compatibility.
140  */
141 #define YY_START ((yyg->yy_start - 1) / 2)
142 #define YYSTATE YY_START
143
144 /* Action number for EOF rule of a given start state. */
145 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
146
147 /* Special action meaning "start processing a new file". */
148 #define YY_NEW_FILE ast_yyrestart(yyin ,yyscanner )
149
150 #define YY_END_OF_BUFFER_CHAR 0
151
152 /* Size of default input buffer. */
153 #ifndef YY_BUF_SIZE
154 #define YY_BUF_SIZE 16384
155 #endif
156
157 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
158 #define YY_TYPEDEF_YY_BUFFER_STATE
159 typedef struct yy_buffer_state *YY_BUFFER_STATE;
160 #endif
161
162 #define EOB_ACT_CONTINUE_SCAN 0
163 #define EOB_ACT_END_OF_FILE 1
164 #define EOB_ACT_LAST_MATCH 2
165
166     #define YY_LESS_LINENO(n)
167     
168 /* Return all but the first "n" matched characters back to the input stream. */
169 #define yyless(n) \
170         do \
171                 { \
172                 /* Undo effects of setting up yytext. */ \
173         int yyless_macro_arg = (n); \
174         YY_LESS_LINENO(yyless_macro_arg);\
175                 *yy_cp = yyg->yy_hold_char; \
176                 YY_RESTORE_YY_MORE_OFFSET \
177                 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
178                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
179                 } \
180         while ( 0 )
181
182 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
183
184 /* The following is because we cannot portably get our hands on size_t
185  * (without autoconf's help, which isn't available because we want
186  * flex-generated scanners to compile on their own).
187  */
188
189 #ifndef YY_TYPEDEF_YY_SIZE_T
190 #define YY_TYPEDEF_YY_SIZE_T
191 typedef unsigned int yy_size_t;
192 #endif
193
194 #ifndef YY_STRUCT_YY_BUFFER_STATE
195 #define YY_STRUCT_YY_BUFFER_STATE
196 struct yy_buffer_state
197         {
198         FILE *yy_input_file;
199
200         char *yy_ch_buf;                /* input buffer */
201         char *yy_buf_pos;               /* current position in input buffer */
202
203         /* Size of input buffer in bytes, not including room for EOB
204          * characters.
205          */
206         yy_size_t yy_buf_size;
207
208         /* Number of characters read into yy_ch_buf, not including EOB
209          * characters.
210          */
211         int yy_n_chars;
212
213         /* Whether we "own" the buffer - i.e., we know we created it,
214          * and can realloc() it to grow it, and should free() it to
215          * delete it.
216          */
217         int yy_is_our_buffer;
218
219         /* Whether this is an "interactive" input source; if so, and
220          * if we're using stdio for input, then we want to use getc()
221          * instead of fread(), to make sure we stop fetching input after
222          * each newline.
223          */
224         int yy_is_interactive;
225
226         /* Whether we're considered to be at the beginning of a line.
227          * If so, '^' rules will be active on the next match, otherwise
228          * not.
229          */
230         int yy_at_bol;
231
232     int yy_bs_lineno; /**< The line count. */
233     int yy_bs_column; /**< The column count. */
234     
235         /* Whether to try to fill the input buffer when we reach the
236          * end of it.
237          */
238         int yy_fill_buffer;
239
240         int yy_buffer_status;
241
242 #define YY_BUFFER_NEW 0
243 #define YY_BUFFER_NORMAL 1
244         /* When an EOF's been seen but there's still some text to process
245          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
246          * shouldn't try reading from the input source any more.  We might
247          * still have a bunch of tokens to match, though, because of
248          * possible backing-up.
249          *
250          * When we actually see the EOF, we change the status to "new"
251          * (via ast_yyrestart()), so that the user can continue scanning by
252          * just pointing yyin at a new input file.
253          */
254 #define YY_BUFFER_EOF_PENDING 2
255
256         };
257 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
258
259 /* We provide macros for accessing buffer states in case in the
260  * future we want to put the buffer states in a more general
261  * "scanner state".
262  *
263  * Returns the top of the stack, or NULL.
264  */
265 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
266                           ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
267                           : NULL)
268
269 /* Same as previous macro, but useful when we know that the buffer stack is not
270  * NULL or when we need an lvalue. For internal use only.
271  */
272 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
273
274 void ast_yyrestart (FILE *input_file ,yyscan_t yyscanner );
275 void ast_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
276 YY_BUFFER_STATE ast_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
277 void ast_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
278 void ast_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
279 void ast_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
280 void ast_yypop_buffer_state (yyscan_t yyscanner );
281
282 static void ast_yyensure_buffer_stack (yyscan_t yyscanner );
283 static void ast_yy_load_buffer_state (yyscan_t yyscanner );
284 static void ast_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
285
286 #define YY_FLUSH_BUFFER ast_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
287
288 YY_BUFFER_STATE ast_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
289 YY_BUFFER_STATE ast_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
290 YY_BUFFER_STATE ast_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
291
292 void *ast_yyalloc (yy_size_t ,yyscan_t yyscanner );
293 void *ast_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
294 void ast_yyfree (void * ,yyscan_t yyscanner );
295
296 #define yy_new_buffer ast_yy_create_buffer
297
298 #define yy_set_interactive(is_interactive) \
299         { \
300         if ( ! YY_CURRENT_BUFFER ){ \
301         ast_yyensure_buffer_stack (yyscanner); \
302                 YY_CURRENT_BUFFER_LVALUE =    \
303             ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
304         } \
305         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
306         }
307
308 #define yy_set_bol(at_bol) \
309         { \
310         if ( ! YY_CURRENT_BUFFER ){\
311         ast_yyensure_buffer_stack (yyscanner); \
312                 YY_CURRENT_BUFFER_LVALUE =    \
313             ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
314         } \
315         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
316         }
317
318 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
319
320 /* Begin user sect3 */
321
322 #define ast_yywrap(n) 1
323 #define YY_SKIP_YYWRAP
324
325 typedef unsigned char YY_CHAR;
326
327 typedef int yy_state_type;
328
329 #define yytext_ptr yytext_r
330 static yyconst flex_int16_t yy_nxt[][256] =
331     {
332     {
333         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
334         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
335         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
336         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
337         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
338         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
339         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
340         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
341         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
342         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
343
344         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
345         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
346         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
347         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
348         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
349         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
350         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
351         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
352         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
353         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
354
355         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
356         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
357         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
358         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
359         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
360         0,    0,    0,    0,    0,    0
361     },
362
363     {
364         7,    8,    8,    8,    8,    8,    8,    8,    8,    9,
365        10,    8,    8,    9,    8,    8,    8,    8,    8,    8,
366         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
367         8,    8,    9,   11,   12,   13,   14,   15,   16,   13,
368
369        17,   18,   19,   20,   21,   22,   13,   23,   24,   24,
370        24,   24,   24,   24,   24,   24,   24,   24,   25,   13,
371        26,   27,   28,   29,   13,   13,   13,   13,   13,   13,
372        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
373        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
374        13,    8,   13,    8,   13,   13,    8,   13,   13,   13,
375        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
376        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
377        13,   13,   13,    8,   30,    8,    8,    8,   13,   13,
378        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
379
380        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
381        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
382        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
383        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
384        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
385        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
386        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
387        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
388        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
389        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
390
391        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
392        13,   13,   13,   13,   13,   13
393     },
394
395     {
396         7,    8,    8,    8,    8,    8,    8,    8,    8,    9,
397        10,    8,    8,    9,    8,    8,    8,    8,    8,    8,
398         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
399         8,    8,    9,   11,   12,   13,   14,   15,   16,   13,
400        17,   18,   19,   20,   21,   22,   13,   23,   24,   24,
401        24,   24,   24,   24,   24,   24,   24,   24,   25,   13,
402        26,   27,   28,   29,   13,   13,   13,   13,   13,   13,
403        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
404
405        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
406        13,    8,   13,    8,   13,   13,    8,   13,   13,   13,
407        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
408        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
409        13,   13,   13,    8,   30,    8,    8,    8,   13,   13,
410        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
411        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
412        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
413        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
414        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
415
416        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
417        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
418        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
419        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
420        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
421        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
422        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
423        13,   13,   13,   13,   13,   13
424     },
425
426     {
427         7,   31,   31,   31,   31,   31,   31,   31,   31,   31,
428        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
429
430        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
431        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
432        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
433        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
434        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
435        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
436        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
437        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
438        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
439        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
440
441        31,   31,   31,   32,   31,   33,   31,   31,   31,   31,
442        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
443        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
444        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
445        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
446        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
447        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
448        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
449        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
450        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
451
452        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
453        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
454        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
455        31,   31,   31,   31,   31,   31
456     },
457
458     {
459         7,   31,   31,   31,   31,   31,   31,   31,   31,   31,
460        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
461        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
462        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
463        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
464        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
465
466        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
467        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
468        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
469        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
470        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
471        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
472        31,   31,   31,   32,   31,   33,   31,   31,   31,   31,
473        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
474        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
475        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
476
477        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
478        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
479        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
480        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
481        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
482        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
483        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
484        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
485        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
486        31,   31,   31,   31,   31,   31
487
488     },
489
490     {
491         7,   34,   34,   34,   34,   34,   34,   34,   34,   35,
492        35,   34,   34,   35,   34,   34,   34,   34,   34,   34,
493        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
494        34,   34,   35,   35,   34,   34,   36,   35,   35,   34,
495        35,   35,   35,   35,   34,   35,   34,   35,   34,   34,
496        34,   34,   34,   34,   34,   34,   34,   34,   35,   34,
497        35,   35,   35,   35,   34,   34,   34,   34,   34,   34,
498        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
499        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
500        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
501
502        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
503        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
504        34,   34,   34,   34,   35,   34,   34,   34,   34,   34,
505        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
506        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
507        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
508        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
509        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
510        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
511        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
512
513        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
514        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
515        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
516        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
517        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
518        34,   34,   34,   34,   34,   34
519     },
520
521     {
522         7,   34,   34,   34,   34,   34,   34,   34,   34,   35,
523        35,   34,   34,   35,   34,   34,   34,   34,   34,   34,
524        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
525        34,   34,   35,   35,   34,   34,   36,   35,   35,   34,
526
527        35,   35,   35,   35,   34,   35,   34,   35,   34,   34,
528        34,   34,   34,   34,   34,   34,   34,   34,   35,   34,
529        35,   35,   35,   35,   34,   34,   34,   34,   34,   34,
530        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
531        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
532        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
533        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
534        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
535        34,   34,   34,   34,   35,   34,   34,   34,   34,   34,
536        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
537
538        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
539        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
540        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
541        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
542        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
543        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
544        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
545        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
546        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
547        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
548
549        34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
550        34,   34,   34,   34,   34,   34
551     },
552
553     {
554        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
555        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
556        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
557        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
558        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
559        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
560        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
561        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
562
563        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
564        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
565        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
566        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
567        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
568        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
569        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
570        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
571        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
572        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
573
574        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
575        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
576        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
577        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
578        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
579        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
580        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
581        -7,   -7,   -7,   -7,   -7,   -7
582     },
583
584     {
585         7,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
586        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
587
588        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
589        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
590        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
591        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
592        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
593        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
594        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
595        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
596        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
597        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
598
599        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
600        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
601        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
602        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
603        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
604        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
605        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
606        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
607        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
608        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
609
610        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
611        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
612        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
613        -8,   -8,   -8,   -8,   -8,   -8
614     },
615
616     {
617         7,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
618        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
619        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
620        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
621        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
622        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
623
624        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
625        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
626        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
627        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
628        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
629        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
630        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
631        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
632        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
633        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
634
635        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
636        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
637        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
638        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
639        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
640        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
641        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
642        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
643        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
644        -9,   -9,   -9,   -9,   -9,   -9
645
646     },
647
648     {
649         7,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
650       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
651       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
652       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
653       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
654       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
655       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
656       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
657       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
658       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
659
660       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
661       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
662       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
663       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
664       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
665       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
666       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
667       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
668       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
669       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
670
671       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
672       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
673       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
674       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
675       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
676       -10,  -10,  -10,  -10,  -10,  -10
677     },
678
679     {
680         7,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
681       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
682       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
683       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
684
685       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
686       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
687       -11,   37,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
688       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
689       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
690       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
691       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
692       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
693       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
694       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
695
696       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
697       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
698       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
699       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
700       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
701       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
702       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
703       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
704       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
705       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
706
707       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
708       -11,  -11,  -11,  -11,  -11,  -11
709     },
710
711     {
712         7,   38,   38,   38,   38,   38,   38,   38,   38,   38,
713        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
714        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
715        38,   38,   38,   38,   39,   38,   38,   38,   38,   38,
716        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
717        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
718        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
719        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
720
721        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
722        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
723        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
724        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
725        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
726        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
727        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
728        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
729        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
730        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
731
732        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
733        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
734        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
735        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
736        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
737        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
738        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
739        38,   38,   38,   38,   38,   38
740     },
741
742     {
743         7,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
744       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
745
746       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
747       -13,  -13,  -13,  -13,  -13,   40,   40,  -13,  -13,   40,
748       -13,  -13,  -13,  -13,  -13,  -13,   40,  -13,   40,   40,
749        40,   40,   40,   40,   40,   40,   40,   40,  -13,   40,
750       -13,  -13,  -13,  -13,   40,   40,   40,   40,   40,   40,
751        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
752        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
753        40,  -13,   40,  -13,   40,   40,  -13,   40,   40,   40,
754        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
755        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
756
757        40,   40,   40,  -13,  -13,  -13,  -13,  -13,   40,   40,
758        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
759        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
760        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
761        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
762        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
763        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
764        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
765        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
766        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
767
768        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
769        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
770        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
771        40,   40,   40,   40,   40,   40
772     },
773
774     {
775         7,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
776       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
777       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
778       -14,  -14,  -14,  -14,  -14,   40,   40,  -14,  -14,   40,
779       -14,  -14,  -14,  -14,  -14,  -14,   40,  -14,   40,   40,
780        40,   40,   40,   40,   40,   40,   40,   40,  -14,   40,
781
782       -14,  -14,  -14,  -14,   40,   40,   40,   40,   40,   40,
783        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
784        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
785        40,  -14,   40,  -14,   40,   40,  -14,   40,   40,   40,
786        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
787        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
788        40,   40,   40,   41,  -14,  -14,  -14,  -14,   40,   40,
789        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
790        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
791        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
792
793        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
794        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
795        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
796        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
797        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
798        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
799        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
800        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
801        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
802        40,   40,   40,   40,   40,   40
803
804     },
805
806     {
807         7,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
808       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
809       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
810       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
811       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
812       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
813       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
814       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
815       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
816       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
817
818       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
819       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
820       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
821       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
822       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
823       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
824       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
825       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
826       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
827       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
828
829       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
830       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
831       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
832       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
833       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
834       -15,  -15,  -15,  -15,  -15,  -15
835     },
836
837     {
838         7,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
839       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
840       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
841       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,   42,  -16,
842
843       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
844       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
845       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
846       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
847       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
848       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
849       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
850       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
851       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
852       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
853
854       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
855       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
856       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
857       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
858       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
859       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
860       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
861       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
862       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
863       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
864
865       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
866       -16,  -16,  -16,  -16,  -16,  -16
867     },
868
869     {
870         7,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
871       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
872       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
873       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
874       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
875       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
876       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
877       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
878
879       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
880       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
881       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
882       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
883       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
884       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
885       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
886       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
887       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
888       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
889
890       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
891       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
892       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
893       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
894       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
895       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
896       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
897       -17,  -17,  -17,  -17,  -17,  -17
898     },
899
900     {
901         7,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
902       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
903
904       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
905       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
906       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
907       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
908       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
909       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
910       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
911       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
912       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
913       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
914
915       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
916       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
917       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
918       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
919       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
920       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
921       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
922       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
923       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
924       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
925
926       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
927       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
928       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
929       -18,  -18,  -18,  -18,  -18,  -18
930     },
931
932     {
933         7,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
934       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
935       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
936       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
937       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
938       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
939
940       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
941       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
942       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
943       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
944       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
945       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
946       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
947       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
948       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
949       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
950
951       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
952       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
953       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
954       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
955       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
956       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
957       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
958       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
959       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
960       -19,  -19,  -19,  -19,  -19,  -19
961
962     },
963
964     {
965         7,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
966       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
967       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
968       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
969       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
970       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
971       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
972       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
973       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
974       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
975
976       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
977       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
978       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
979       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
980       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
981       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
982       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
983       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
984       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
985       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
986
987       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
988       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
989       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
990       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
991       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
992       -20,  -20,  -20,  -20,  -20,  -20
993     },
994
995     {
996         7,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
997       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
998       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
999       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1000
1001       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1002       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1003       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1004       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1005       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1006       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1007       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1008       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1009       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1010       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1011
1012       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1013       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1014       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1015       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1016       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1017       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1018       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1019       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1020       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1021       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1022
1023       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1024       -21,  -21,  -21,  -21,  -21,  -21
1025     },
1026
1027     {
1028         7,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1029       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1030       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1031       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1032       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1033       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1034       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1035       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1036
1037       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1038       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1039       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1040       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1041       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1042       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1043       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1044       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1045       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1046       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1047
1048       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1049       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1050       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1051       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1052       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1053       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1054       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1055       -22,  -22,  -22,  -22,  -22,  -22
1056     },
1057
1058     {
1059         7,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1060       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1061
1062       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1063       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1064       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1065       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1066       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1067       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1068       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1069       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1070       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1071       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1072
1073       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1074       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1075       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1076       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1077       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1078       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1079       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1080       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1081       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1082       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1083
1084       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1085       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1086       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1087       -23,  -23,  -23,  -23,  -23,  -23
1088     },
1089
1090     {
1091         7,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
1092       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
1093       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
1094       -24,  -24,  -24,  -24,  -24,   40,   40,  -24,  -24,   40,
1095       -24,  -24,  -24,  -24,  -24,  -24,   43,  -24,   44,   44,
1096        44,   44,   44,   44,   44,   44,   44,   44,  -24,   40,
1097
1098       -24,  -24,  -24,  -24,   40,   40,   40,   40,   40,   40,
1099        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1100        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1101        40,  -24,   40,  -24,   40,   40,  -24,   40,   40,   40,
1102        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1103        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1104        40,   40,   40,  -24,  -24,  -24,  -24,  -24,   40,   40,
1105        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1106        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1107        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1108
1109        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1110        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1111        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1112        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1113        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1114        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1115        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1116        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1117        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1118        40,   40,   40,   40,   40,   40
1119
1120     },
1121
1122     {
1123         7,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1124       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1125       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1126       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1127       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1128       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,   45,  -25,
1129       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1130       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1131       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1132       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1133
1134       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1135       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1136       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1137       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1138       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1139       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1140       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1141       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1142       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1143       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1144
1145       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1146       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1147       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1148       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1149       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1150       -25,  -25,  -25,  -25,  -25,  -25
1151     },
1152
1153     {
1154         7,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1155       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1156       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1157       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1158
1159       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1160       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1161       -26,   46,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1162       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1163       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1164       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1165       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1166       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1167       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1168       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1169
1170       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1171       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1172       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1173       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1174       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1175       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1176       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1177       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1178       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1179       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1180
1181       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1182       -26,  -26,  -26,  -26,  -26,  -26
1183     },
1184
1185     {
1186         7,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1187       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1188       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1189       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1190       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1191       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1192       -27,   47,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1193       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1194
1195       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1196       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1197       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1198       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1199       -27,  -27,  -27,  -27,  -27,  -27,   48,  -27,  -27,  -27,
1200       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1201       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1202       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1203       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1204       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1205
1206       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1207       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1208       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1209       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1210       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1211       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1212       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1213       -27,  -27,  -27,  -27,  -27,  -27
1214     },
1215
1216     {
1217         7,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1218       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1219
1220       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1221       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1222       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1223       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1224       -28,   49,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1225       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1226       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1227       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1228       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1229       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1230
1231       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1232       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1233       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1234       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1235       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1236       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1237       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1238       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1239       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1240       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1241
1242       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1243       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1244       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1245       -28,  -28,  -28,  -28,  -28,  -28
1246     },
1247
1248     {
1249         7,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1250       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1251       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1252       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1253       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1254       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1255
1256       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1257       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1258       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1259       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1260       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1261       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1262       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1263       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1264       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1265       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1266
1267       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1268       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1269       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1270       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1271       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1272       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1273       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1274       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1275       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1276       -29,  -29,  -29,  -29,  -29,  -29
1277
1278     },
1279
1280     {
1281         7,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1282       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1283       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1284       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1285       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1286       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1287       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1288       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1289       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1290       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1291
1292       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1293       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1294       -30,  -30,  -30,  -30,   50,  -30,  -30,  -30,  -30,  -30,
1295       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1296       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1297       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1298       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1299       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1300       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1301       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1302
1303       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1304       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1305       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1306       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1307       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1308       -30,  -30,  -30,  -30,  -30,  -30
1309     },
1310
1311     {
1312         7,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1313        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1314        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1315        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1316
1317        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1318        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1319        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1320        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1321        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1322        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1323        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1324        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1325        51,   51,   51,   52,   51,   53,   51,   51,   51,   51,
1326        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1327
1328        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1329        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1330        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1331        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1332        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1333        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1334        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1335        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1336        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1337        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1338
1339        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1340        51,   51,   51,   51,   51,   51
1341     },
1342
1343     {
1344         7,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1345       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1346       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1347       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1348       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1349       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1350       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1351       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1352
1353       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1354       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1355       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1356       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1357       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1358       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1359       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1360       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1361       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1362       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1363
1364       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1365       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1366       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1367       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1368       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1369       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1370       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1371       -32,  -32,  -32,  -32,  -32,  -32
1372     },
1373
1374     {
1375         7,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1376       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1377
1378       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1379       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1380       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1381       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1382       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1383       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1384       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1385       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1386       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1387       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1388
1389       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1390       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1391       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1392       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1393       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1394       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1395       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1396       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1397       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1398       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1399
1400       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1401       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1402       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1403       -33,  -33,  -33,  -33,  -33,  -33
1404     },
1405
1406     {
1407         7,   54,   54,   54,   54,   54,   54,   54,   54,  -34,
1408       -34,   54,   54,  -34,   54,   54,   54,   54,   54,   54,
1409        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1410        54,   54,  -34,  -34,   54,   54,  -34,  -34,  -34,   54,
1411       -34,  -34,  -34,  -34,   54,  -34,   54,  -34,   54,   54,
1412        54,   54,   54,   54,   54,   54,   54,   54,  -34,   54,
1413
1414       -34,  -34,  -34,  -34,   54,   54,   54,   54,   54,   54,
1415        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1416        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1417        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1418        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1419        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1420        54,   54,   54,   54,  -34,   54,   54,   54,   54,   54,
1421        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1422        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1423        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1424
1425        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1426        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1427        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1428        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1429        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1430        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1431        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1432        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1433        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1434        54,   54,   54,   54,   54,   54
1435
1436     },
1437
1438     {
1439         7,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1440       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1441       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1442       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1443       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1444       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1445       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1446       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1447       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1448       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1449
1450       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1451       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1452       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1453       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1454       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1455       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1456       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1457       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1458       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1459       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1460
1461       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1462       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1463       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1464       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1465       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1466       -35,  -35,  -35,  -35,  -35,  -35
1467     },
1468
1469     {
1470         7,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1471       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1472       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1473       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1474
1475       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1476       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1477       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1478       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1479       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1480       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1481       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1482       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1483       -36,  -36,  -36,   55,  -36,  -36,  -36,  -36,  -36,  -36,
1484       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1485
1486       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1487       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1488       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1489       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1490       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1491       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1492       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1493       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1494       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1495       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1496
1497       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1498       -36,  -36,  -36,  -36,  -36,  -36
1499     },
1500
1501     {
1502         7,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1503       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1504       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1505       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1506       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1507       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1508       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1509       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1510
1511       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1512       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1513       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1514       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1515       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1516       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1517       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1518       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1519       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1520       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1521
1522       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1523       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1524       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1525       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1526       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1527       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1528       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1529       -37,  -37,  -37,  -37,  -37,  -37
1530     },
1531
1532     {
1533         7,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1534        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1535
1536        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1537        38,   38,   38,   38,   39,   38,   38,   38,   38,   38,
1538        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1539        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1540        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1541        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1542        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1543        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1544        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1545        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1546
1547        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1548        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1549        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1550        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1551        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1552        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1553        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1554        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1555        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1556        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1557
1558        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1559        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1560        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1561        38,   38,   38,   38,   38,   38
1562     },
1563
1564     {
1565         7,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1566       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1567       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1568       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1569       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1570       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1571
1572       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1573       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1574       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1575       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1576       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1577       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1578       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1579       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1580       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1581       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1582
1583       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1584       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1585       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1586       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1587       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1588       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1589       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1590       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1591       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1592       -39,  -39,  -39,  -39,  -39,  -39
1593
1594     },
1595
1596     {
1597         7,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1598       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1599       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1600       -40,  -40,  -40,  -40,  -40,   40,   40,  -40,  -40,   40,
1601       -40,  -40,  -40,  -40,  -40,  -40,   40,  -40,   40,   40,
1602        40,   40,   40,   40,   40,   40,   40,   40,  -40,   40,
1603       -40,  -40,  -40,  -40,   40,   40,   40,   40,   40,   40,
1604        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1605        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1606        40,  -40,   40,  -40,   40,   40,  -40,   40,   40,   40,
1607
1608        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1609        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1610        40,   40,   40,  -40,  -40,  -40,  -40,  -40,   40,   40,
1611        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1612        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1613        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1614        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1615        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1616        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1617        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1618
1619        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1620        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1621        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1622        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1623        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1624        40,   40,   40,   40,   40,   40
1625     },
1626
1627     {
1628         7,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1629       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1630       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1631       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1632
1633       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1634       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1635       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1636       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1637       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1638       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1639       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1640       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1641       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1642       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1643
1644       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1645       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1646       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1647       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1648       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1649       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1650       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1651       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1652       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1653       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1654
1655       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1656       -41,  -41,  -41,  -41,  -41,  -41
1657     },
1658
1659     {
1660         7,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1661       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1662       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1663       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1664       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1665       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1666       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1667       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1668
1669       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1670       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1671       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1672       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1673       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1674       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1675       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1676       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1677       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1678       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1679
1680       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1681       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1682       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1683       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1684       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1685       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1686       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1687       -42,  -42,  -42,  -42,  -42,  -42
1688     },
1689
1690     {
1691         7,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1692       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1693
1694       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1695       -43,  -43,  -43,  -43,  -43,   40,   40,  -43,  -43,   40,
1696       -43,  -43,  -43,  -43,  -43,  -43,   40,  -43,   56,   56,
1697        56,   56,   56,   56,   56,   56,   56,   56,  -43,   40,
1698       -43,  -43,  -43,  -43,   40,   40,   40,   40,   40,   40,
1699        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1700        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1701        40,  -43,   40,  -43,   40,   40,  -43,   40,   40,   40,
1702        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1703        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1704
1705        40,   40,   40,  -43,  -43,  -43,  -43,  -43,   40,   40,
1706        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1707        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1708        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1709        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1710        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1711        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1712        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1713        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1714        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1715
1716        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1717        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1718        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1719        40,   40,   40,   40,   40,   40
1720     },
1721
1722     {
1723         7,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1724       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1725       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1726       -44,  -44,  -44,  -44,  -44,   40,   40,  -44,  -44,   40,
1727       -44,  -44,  -44,  -44,  -44,  -44,   43,  -44,   44,   44,
1728        44,   44,   44,   44,   44,   44,   44,   44,  -44,   40,
1729
1730       -44,  -44,  -44,  -44,   40,   40,   40,   40,   40,   40,
1731        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1732        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1733        40,  -44,   40,  -44,   40,   40,  -44,   40,   40,   40,
1734        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1735        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1736        40,   40,   40,  -44,  -44,  -44,  -44,  -44,   40,   40,
1737        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1738        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1739        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1740
1741        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1742        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1743        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1744        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1745        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1746        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1747        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1748        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1749        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
1750        40,   40,   40,   40,   40,   40
1751
1752     },
1753
1754     {
1755         7,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1756       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1757       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1758       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1759       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1760       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1761       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1762       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1763       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1764       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1765
1766       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1767       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1768       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1769       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1770       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1771       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1772       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1773       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1774       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1775       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1776
1777       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1778       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1779       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1780       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1781       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1782       -45,  -45,  -45,  -45,  -45,  -45
1783     },
1784
1785     {
1786         7,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1787       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1788       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1789       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1790
1791       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1792       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1793       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1794       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1795       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1796       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1797       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1798       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1799       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1800       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1801
1802       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1803       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1804       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1805       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1806       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1807       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1808       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1809       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1810       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1811       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1812
1813       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1814       -46,  -46,  -46,  -46,  -46,  -46
1815     },
1816
1817     {
1818         7,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1819       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1820       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1821       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1822       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1823       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1824       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1825       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1826
1827       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1828       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1829       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1830       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1831       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1832       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1833       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1834       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1835       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1836       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1837
1838       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1839       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1840       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1841       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1842       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1843       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1844       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1845       -47,  -47,  -47,  -47,  -47,  -47
1846     },
1847
1848     {
1849         7,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1850       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1851
1852       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1853       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1854       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1855       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1856       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1857       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1858       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1859       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1860       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1861       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1862
1863       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1864       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1865       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1866       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1867       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1868       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1869       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1870       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1871       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1872       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1873
1874       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1875       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1876       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1877       -48,  -48,  -48,  -48,  -48,  -48
1878     },
1879
1880     {
1881         7,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1882       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1883       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1884       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1885       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1886       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1887
1888       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1889       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1890       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1891       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1892       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1893       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1894       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1895       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1896       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1897       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1898
1899       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1900       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1901       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1902       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1903       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1904       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1905       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1906       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1907       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1908       -49,  -49,  -49,  -49,  -49,  -49
1909
1910     },
1911
1912     {
1913         7,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1914       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1915       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1916       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1917       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1918       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1919       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1920       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1921       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1922       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1923
1924       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1925       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1926       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1927       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1928       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1929       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1930       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1931       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1932       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1933       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1934
1935       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1936       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1937       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1938       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1939       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1940       -50,  -50,  -50,  -50,  -50,  -50
1941     },
1942
1943     {
1944         7,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1945        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1946        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1947        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1948
1949        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1950        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1951        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1952        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1953        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1954        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1955        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1956        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1957        51,   51,   51,   52,   51,   53,   51,   51,   51,   51,
1958        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1959
1960        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1961        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1962        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1963        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1964        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1965        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1966        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1967        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1968        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1969        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1970
1971        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
1972        51,   51,   51,   51,   51,   51
1973     },
1974
1975     {
1976         7,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1977       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1978       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1979       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1980       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1981       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1982       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1983       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1984
1985       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1986       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1987       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1988       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1989       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1990       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1991       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1992       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1993       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1994       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1995
1996       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1997       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1998       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1999       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2000       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2001       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2002       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2003       -52,  -52,  -52,  -52,  -52,  -52
2004     },
2005
2006     {
2007         7,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2008       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2009
2010       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2011       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2012       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2013       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2014       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2015       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2016       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2017       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2018       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2019       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2020
2021       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2022       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2023       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2024       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2025       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2026       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2027       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2028       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2029       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2030       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2031
2032       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2033       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2034       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2035       -53,  -53,  -53,  -53,  -53,  -53
2036     },
2037
2038     {
2039         7,   54,   54,   54,   54,   54,   54,   54,   54,  -54,
2040       -54,   54,   54,  -54,   54,   54,   54,   54,   54,   54,
2041        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2042        54,   54,  -54,  -54,   54,   54,  -54,  -54,  -54,   54,
2043       -54,  -54,  -54,  -54,   54,  -54,   54,  -54,   54,   54,
2044        54,   54,   54,   54,   54,   54,   54,   54,  -54,   54,
2045
2046       -54,  -54,  -54,  -54,   54,   54,   54,   54,   54,   54,
2047        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2048        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2049        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2050        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2051        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2052        54,   54,   54,   54,  -54,   54,   54,   54,   54,   54,
2053        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2054        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2055        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2056
2057        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2058        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2059        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2060        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2061        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2062        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2063        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2064        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2065        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2066        54,   54,   54,   54,   54,   54
2067
2068     },
2069
2070     {
2071         7,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2072       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2073       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2074       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2075       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2076       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2077       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2078       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2079       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2080       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2081
2082       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2083       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2084       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2085       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2086       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2087       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2088       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2089       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2090       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2091       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2092
2093       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2094       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2095       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2096       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2097       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2098       -55,  -55,  -55,  -55,  -55,  -55
2099     },
2100
2101     {
2102         7,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2103       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2104       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2105       -56,  -56,  -56,  -56,  -56,   40,   40,  -56,  -56,   40,
2106
2107       -56,  -56,  -56,  -56,  -56,  -56,   40,  -56,   56,   56,
2108        56,   56,   56,   56,   56,   56,   56,   56,  -56,   40,
2109       -56,  -56,  -56,  -56,   40,   40,   40,   40,   40,   40,
2110        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2111        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2112        40,  -56,   40,  -56,   40,   40,  -56,   40,   40,   40,
2113        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2114        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2115        40,   40,   40,  -56,  -56,  -56,  -56,  -56,   40,   40,
2116        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2117
2118        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2119        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2120        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2121        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2122        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2123        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2124        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2125        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2126        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2127        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2128
2129        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
2130        40,   40,   40,   40,   40,   40
2131     },
2132
2133     } ;
2134
2135 static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
2136 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  ,yyscan_t yyscanner);
2137 static int yy_get_next_buffer (yyscan_t yyscanner );
2138 static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
2139
2140 /* Done after the current pattern has been matched and before the
2141  * corresponding action - sets up yytext.
2142  */
2143 #define YY_DO_BEFORE_ACTION \
2144         yyg->yytext_ptr = yy_bp; \
2145         yyg->yytext_ptr -= yyg->yy_more_len; \
2146         yyleng = (size_t) (yy_cp - yyg->yytext_ptr); \
2147         yyg->yy_hold_char = *yy_cp; \
2148         *yy_cp = '\0'; \
2149         yyg->yy_c_buf_p = yy_cp;
2150
2151 #define YY_NUM_RULES 36
2152 #define YY_END_OF_BUFFER 37
2153 /* This struct is not used in this scanner,
2154    but its presence is necessary. */
2155 struct yy_trans_info
2156         {
2157         flex_int32_t yy_verify;
2158         flex_int32_t yy_nxt;
2159         };
2160 static yyconst flex_int16_t yy_accept[57] =
2161     {   0,
2162         0,    0,    0,    0,   33,   33,   37,   36,   26,   28,
2163        20,   36,   30,   30,   18,    2,   23,   24,   16,   13,
2164        14,   15,   17,   29,   21,    9,    3,    8,   19,    1,
2165        36,   32,   31,   33,   34,   34,   12,    0,   27,   30,
2166        25,    5,   30,   29,   22,   11,    6,    7,   10,    4,
2167         0,   32,   31,   33,   35,   29
2168     } ;
2169
2170 static yyconst yy_state_type yy_NUL_trans[57] =
2171     {   0,
2172         8,    8,   31,   31,   34,   34,    0,    0,    0,    0,
2173         0,   38,    0,    0,    0,    0,    0,    0,    0,    0,
2174         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2175        51,    0,    0,   54,    0,    0,    0,   38,    0,    0,
2176         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2177        51,    0,    0,   54,    0,    0
2178     } ;
2179
2180 /* The intent behind this definition is that it'll catch
2181  * any uses of REJECT which flex missed.
2182  */
2183 #define REJECT reject_used_but_not_detected
2184 #define yymore() (yyg->yy_more_flag = 1)
2185 #define YY_MORE_ADJ yyg->yy_more_len
2186 #define YY_RESTORE_YY_MORE_OFFSET
2187 #line 1 "ast_expr2.fl"
2188 #line 2 "ast_expr2.fl"
2189 /*
2190  * Asterisk -- An open source telephony toolkit.
2191  *
2192  * Copyright (C) 1999 - 2006, Digium, Inc.
2193  *
2194  * Mark Spencer <markster@digium.com>
2195  *
2196  * See http://www.asterisk.org for more information about
2197  * the Asterisk project. Please do not directly contact
2198  * any of the maintainers of this project for assistance;
2199  * the project provides a web site, mailing lists and IRC
2200  * channels for your use.
2201  *
2202  * This program is free software, distributed under the terms of
2203  * the GNU General Public License Version 2. See the LICENSE file
2204  * at the top of the source tree.
2205  */
2206
2207 /*! \file
2208  *
2209  * \brief Dialplan Expression Lexical Scanner
2210  */
2211
2212 #include "asterisk.h"
2213
2214 #include <sys/types.h>
2215 #include <stdio.h>
2216
2217 #ifndef STANDALONE
2218 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
2219 #else
2220 #ifndef __USE_ISOC99
2221 #define __USE_ISOC99 1
2222 #endif
2223 #endif
2224
2225 #ifdef __USE_ISOC99
2226 #define FP___PRINTF "%.18Lg"
2227 #define FP___FMOD   fmodl
2228 #define FP___STRTOD  strtold
2229 #define FP___TYPE    long double
2230 #else
2231 #define FP___PRINTF "%.16g"
2232 #define FP___FMOD   fmod
2233 #define FP___STRTOD  strtod
2234 #define FP___TYPE    double
2235 #endif
2236
2237 #include <stdlib.h>
2238 #include <string.h>
2239 #include <locale.h>
2240 #include <ctype.h>
2241 #if !defined(SOLARIS) && !defined(__CYGWIN__)
2242 /* #include <err.h> */
2243 #else
2244 #define quad_t int64_t
2245 #endif
2246 #include <errno.h>
2247 #include <regex.h>
2248 #include <limits.h>
2249
2250 #include "asterisk/ast_expr.h"
2251 #include "asterisk/logger.h"
2252 #ifndef STANDALONE
2253 #include "asterisk/strings.h"
2254 #include "asterisk/channel.h"
2255 #endif
2256
2257 enum valtype {
2258         AST_EXPR_number, AST_EXPR_numeric_string, AST_EXPR_string
2259 } ;
2260
2261 struct val {
2262         enum valtype type;
2263         union {
2264                 char *s;
2265                 FP___TYPE i; /* long double or just double if it's a bad day */
2266         } u;
2267 } ;
2268
2269 #include "ast_expr2.h" /* the o/p of the bison on ast_expr2.y */
2270
2271 #define SET_COLUMNS     do {            \
2272         yylloc_param->first_column = (int)(yyg->yytext_r - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf); \
2273         yylloc_param->last_column += yyleng - 1; \
2274         yylloc_param->first_line = yylloc_param->last_line = 1; \
2275         } while (0)
2276
2277 #define SET_STRING      do {            \
2278         yylval_param->val = calloc(1, sizeof(struct val));      \
2279         yylval_param->val->type = AST_EXPR_string;              \
2280         yylval_param->val->u.s = strdup(yytext);                \
2281         } while (0)
2282
2283 #define SET_NUMERIC_STRING      do {    \
2284         yylval_param->val = calloc(1, sizeof(struct val));      \
2285         yylval_param->val->type = AST_EXPR_numeric_string;      \
2286         yylval_param->val->u.s = strdup(yytext);        \
2287         } while (0)
2288
2289 struct parse_io
2290 {
2291         char *string;
2292         struct val *val;
2293         yyscan_t scanner;
2294         struct ast_channel *chan;
2295 };
2296  
2297 void ast_yyset_column(int column_no, yyscan_t yyscanner);
2298 int ast_yyget_column(yyscan_t yyscanner);
2299 static int curlycount = 0;
2300 static char *expr2_token_subst(const char *mess);
2301
2302 #line 2303 "ast_expr2f.c"
2303
2304 #define INITIAL 0
2305 #define var 1
2306 #define trail 2
2307
2308 #ifndef YY_NO_UNISTD_H
2309 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2310  * down here because we want the user's section 1 to have been scanned first.
2311  * The user has a chance to override it with an option.
2312  */
2313 #include <unistd.h>
2314 #endif
2315
2316 #ifndef YY_EXTRA_TYPE
2317 #define YY_EXTRA_TYPE void *
2318 #endif
2319
2320 /* Holds the entire state of the reentrant scanner. */
2321 struct yyguts_t
2322     {
2323
2324     /* User-defined. Not touched by flex. */
2325     YY_EXTRA_TYPE yyextra_r;
2326
2327     /* The rest are the same as the globals declared in the non-reentrant scanner. */
2328     FILE *yyin_r, *yyout_r;
2329     size_t yy_buffer_stack_top; /**< index of top of stack. */
2330     size_t yy_buffer_stack_max; /**< capacity of stack. */
2331     YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
2332     char yy_hold_char;
2333     int yy_n_chars;
2334     int yyleng_r;
2335     char *yy_c_buf_p;
2336     int yy_init;
2337     int yy_start;
2338     int yy_did_buffer_switch_on_eof;
2339     int yy_start_stack_ptr;
2340     int yy_start_stack_depth;
2341     int *yy_start_stack;
2342     yy_state_type yy_last_accepting_state;
2343     char* yy_last_accepting_cpos;
2344
2345     int yylineno_r;
2346     int yy_flex_debug_r;
2347
2348     char *yytext_r;
2349     int yy_more_flag;
2350     int yy_more_len;
2351
2352     YYSTYPE * yylval_r;
2353
2354     YYLTYPE * yylloc_r;
2355
2356     }; /* end struct yyguts_t */
2357
2358 static int yy_init_globals (yyscan_t yyscanner );
2359
2360     /* This must go here because YYSTYPE and YYLTYPE are included
2361      * from bison output in section 1.*/
2362     #    define yylval yyg->yylval_r
2363     
2364     #    define yylloc yyg->yylloc_r
2365     
2366 /* Accessor methods to globals.
2367    These are made visible to non-reentrant scanners for convenience. */
2368
2369 int ast_yylex_destroy (yyscan_t yyscanner );
2370
2371 int ast_yyget_debug (yyscan_t yyscanner );
2372
2373 void ast_yyset_debug (int debug_flag ,yyscan_t yyscanner );
2374
2375 YY_EXTRA_TYPE ast_yyget_extra (yyscan_t yyscanner );
2376
2377 void ast_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
2378
2379 FILE *ast_yyget_in (yyscan_t yyscanner );
2380
2381 void ast_yyset_in  (FILE * in_str ,yyscan_t yyscanner );
2382
2383 FILE *ast_yyget_out (yyscan_t yyscanner );
2384
2385 void ast_yyset_out  (FILE * out_str ,yyscan_t yyscanner );
2386
2387 int ast_yyget_leng (yyscan_t yyscanner );
2388
2389 char *ast_yyget_text (yyscan_t yyscanner );
2390
2391 int ast_yyget_lineno (yyscan_t yyscanner );
2392
2393 void ast_yyset_lineno (int line_number ,yyscan_t yyscanner );
2394
2395 YYSTYPE * ast_yyget_lval (yyscan_t yyscanner );
2396
2397 void ast_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
2398
2399        YYLTYPE *ast_yyget_lloc (yyscan_t yyscanner );
2400     
2401         void ast_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
2402     
2403 /* Macros after this point can all be overridden by user definitions in
2404  * section 1.
2405  */
2406
2407 #ifndef YY_SKIP_YYWRAP
2408 #ifdef __cplusplus
2409 extern "C" int ast_yywrap (yyscan_t yyscanner );
2410 #else
2411 extern int ast_yywrap (yyscan_t yyscanner );
2412 #endif
2413 #endif
2414
2415     static void yyunput (int c,char *buf_ptr  ,yyscan_t yyscanner);
2416     
2417 #ifndef yytext_ptr
2418 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
2419 #endif
2420
2421 #ifdef YY_NEED_STRLEN
2422 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
2423 #endif
2424
2425 #ifndef YY_NO_INPUT
2426
2427 #ifdef __cplusplus
2428 static int yyinput (yyscan_t yyscanner );
2429 #else
2430 static int input (yyscan_t yyscanner );
2431 #endif
2432
2433 #endif
2434
2435 /* Amount of stuff to slurp up with each read. */
2436 #ifndef YY_READ_BUF_SIZE
2437 #define YY_READ_BUF_SIZE 8192
2438 #endif
2439
2440 /* Copy whatever the last rule matched to the standard output. */
2441 #ifndef ECHO
2442 /* This used to be an fputs(), but since the string might contain NUL's,
2443  * we now use fwrite().
2444  */
2445 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
2446 #endif
2447
2448 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2449  * is returned in "result".
2450  */
2451 #ifndef YY_INPUT
2452 #define YY_INPUT(buf,result,max_size) \
2453         errno=0; \
2454         while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
2455         { \
2456                 if( errno != EINTR) \
2457                 { \
2458                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
2459                         break; \
2460                 } \
2461                 errno=0; \
2462                 clearerr(yyin); \
2463         }\
2464 \
2465
2466 #endif
2467
2468 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2469  * we don't want an extra ';' after the "return" because that will cause
2470  * some compilers to complain about unreachable statements.
2471  */
2472 #ifndef yyterminate
2473 #define yyterminate() return YY_NULL
2474 #endif
2475
2476 /* Number of entries by which start-condition stack grows. */
2477 #ifndef YY_START_STACK_INCR
2478 #define YY_START_STACK_INCR 25
2479 #endif
2480
2481 /* Report a fatal error. */
2482 #ifndef YY_FATAL_ERROR
2483 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
2484 #endif
2485
2486 /* end tables serialization structures and prototypes */
2487
2488 /* Default declaration of generated scanner - a define so the user can
2489  * easily add parameters.
2490  */
2491 #ifndef YY_DECL
2492 #define YY_DECL_IS_OURS 1
2493
2494 extern int ast_yylex \
2495                (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
2496
2497 #define YY_DECL int ast_yylex \
2498                (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
2499 #endif /* !YY_DECL */
2500
2501 /* Code executed at the beginning of each rule, after yytext and yyleng
2502  * have been set up.
2503  */
2504 #ifndef YY_USER_ACTION
2505 #define YY_USER_ACTION
2506 #endif
2507
2508 /* Code executed at the end of each rule. */
2509 #ifndef YY_BREAK
2510 #define YY_BREAK break;
2511 #endif
2512
2513 #define YY_RULE_SETUP \
2514         YY_USER_ACTION
2515
2516 /** The main scanner function which does all the work.
2517  */
2518 YY_DECL
2519 {
2520         register yy_state_type yy_current_state;
2521         register char *yy_cp, *yy_bp;
2522         register int yy_act;
2523     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2524
2525 #line 126 "ast_expr2.fl"
2526
2527
2528 #line 2529 "ast_expr2f.c"
2529
2530     yylval = yylval_param;
2531
2532     yylloc = yylloc_param;
2533
2534         if ( yyg->yy_init )
2535                 {
2536                 yyg->yy_init = 0;
2537
2538 #ifdef YY_USER_INIT
2539                 YY_USER_INIT;
2540 #endif
2541
2542                 if ( ! yyg->yy_start )
2543                         yyg->yy_start = 1;      /* first start state */
2544
2545                 if ( ! yyin )
2546                         yyin = stdin;
2547
2548                 if ( ! yyout )
2549                         yyout = stdout;
2550
2551                 if ( ! YY_CURRENT_BUFFER ) {
2552                         ast_yyensure_buffer_stack (yyscanner);
2553                         YY_CURRENT_BUFFER_LVALUE =
2554                                 ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
2555                 }
2556
2557                 ast_yy_load_buffer_state(yyscanner );
2558                 }
2559
2560         while ( 1 )             /* loops until end-of-file is reached */
2561                 {
2562                 yyg->yy_more_len = 0;
2563                 if ( yyg->yy_more_flag )
2564                         {
2565                         yyg->yy_more_len = yyg->yy_c_buf_p - yyg->yytext_ptr;
2566                         yyg->yy_more_flag = 0;
2567                         }
2568                 yy_cp = yyg->yy_c_buf_p;
2569
2570                 /* Support of yytext. */
2571                 *yy_cp = yyg->yy_hold_char;
2572
2573                 /* yy_bp points to the position in yy_ch_buf of the start of
2574                  * the current run.
2575                  */
2576                 yy_bp = yy_cp;
2577
2578                 yy_current_state = yyg->yy_start;
2579 yy_match:
2580                 while ( (yy_current_state = yy_nxt[yy_current_state][ YY_SC_TO_UI(*yy_cp) ]) > 0 )
2581                         {
2582                         if ( yy_accept[yy_current_state] )
2583                                 {
2584                                 yyg->yy_last_accepting_state = yy_current_state;
2585                                 yyg->yy_last_accepting_cpos = yy_cp;
2586                                 }
2587
2588                         ++yy_cp;
2589                         }
2590
2591                 yy_current_state = -yy_current_state;
2592
2593 yy_find_action:
2594                 yy_act = yy_accept[yy_current_state];
2595
2596                 YY_DO_BEFORE_ACTION;
2597
2598 do_action:      /* This label is used only to access EOF actions. */
2599
2600                 switch ( yy_act )
2601         { /* beginning of action switch */
2602                         case 0: /* must back up */
2603                         /* undo the effects of YY_DO_BEFORE_ACTION */
2604                         *yy_cp = yyg->yy_hold_char;
2605                         yy_cp = yyg->yy_last_accepting_cpos + 1;
2606                         yy_current_state = yyg->yy_last_accepting_state;
2607                         goto yy_find_action;
2608
2609 case 1:
2610 YY_RULE_SETUP
2611 #line 128 "ast_expr2.fl"
2612 { SET_COLUMNS; SET_STRING; return TOK_OR;}
2613         YY_BREAK
2614 case 2:
2615 YY_RULE_SETUP
2616 #line 129 "ast_expr2.fl"
2617 { SET_COLUMNS; SET_STRING; return TOK_AND;}
2618         YY_BREAK
2619 case 3:
2620 YY_RULE_SETUP
2621 #line 130 "ast_expr2.fl"
2622 { SET_COLUMNS; SET_STRING; return TOK_EQ;}
2623         YY_BREAK
2624 case 4:
2625 YY_RULE_SETUP
2626 #line 131 "ast_expr2.fl"
2627 { SET_COLUMNS; SET_STRING; return TOK_OR;}
2628         YY_BREAK
2629 case 5:
2630 YY_RULE_SETUP
2631 #line 132 "ast_expr2.fl"
2632 { SET_COLUMNS; SET_STRING; return TOK_AND;}
2633         YY_BREAK
2634 case 6:
2635 YY_RULE_SETUP
2636 #line 133 "ast_expr2.fl"
2637 { SET_COLUMNS; SET_STRING; return TOK_EQ;}
2638         YY_BREAK
2639 case 7:
2640 YY_RULE_SETUP
2641 #line 134 "ast_expr2.fl"
2642 { SET_COLUMNS; SET_STRING; return TOK_EQTILDE;}
2643         YY_BREAK
2644 case 8:
2645 YY_RULE_SETUP
2646 #line 135 "ast_expr2.fl"
2647 { SET_COLUMNS; SET_STRING; return TOK_GT;}
2648         YY_BREAK
2649 case 9:
2650 YY_RULE_SETUP
2651 #line 136 "ast_expr2.fl"
2652 { SET_COLUMNS; SET_STRING; return TOK_LT;}
2653         YY_BREAK
2654 case 10:
2655 YY_RULE_SETUP
2656 #line 137 "ast_expr2.fl"
2657 { SET_COLUMNS; SET_STRING; return TOK_GE;}
2658         YY_BREAK
2659 case 11:
2660 YY_RULE_SETUP
2661 #line 138 "ast_expr2.fl"
2662 { SET_COLUMNS; SET_STRING; return TOK_LE;}
2663         YY_BREAK
2664 case 12:
2665 YY_RULE_SETUP
2666 #line 139 "ast_expr2.fl"
2667 { SET_COLUMNS; SET_STRING; return TOK_NE;}
2668         YY_BREAK
2669 case 13:
2670 YY_RULE_SETUP
2671 #line 140 "ast_expr2.fl"
2672 { SET_COLUMNS; SET_STRING; return TOK_PLUS;}
2673         YY_BREAK
2674 case 14:
2675 YY_RULE_SETUP
2676 #line 141 "ast_expr2.fl"
2677 { SET_COLUMNS; SET_STRING; return TOK_COMMA;}
2678         YY_BREAK
2679 case 15:
2680 YY_RULE_SETUP
2681 #line 142 "ast_expr2.fl"
2682 { SET_COLUMNS; SET_STRING; return TOK_MINUS;}
2683         YY_BREAK
2684 case 16:
2685 YY_RULE_SETUP
2686 #line 143 "ast_expr2.fl"
2687 { SET_COLUMNS; SET_STRING; return TOK_MULT;}
2688         YY_BREAK
2689 case 17:
2690 YY_RULE_SETUP
2691 #line 144 "ast_expr2.fl"
2692 { SET_COLUMNS; SET_STRING; return TOK_DIV;}
2693         YY_BREAK
2694 case 18:
2695 YY_RULE_SETUP
2696 #line 145 "ast_expr2.fl"
2697 { SET_COLUMNS; SET_STRING; return TOK_MOD;}
2698         YY_BREAK
2699 case 19:
2700 YY_RULE_SETUP
2701 #line 146 "ast_expr2.fl"
2702 { SET_COLUMNS; SET_STRING; return TOK_COND;}
2703         YY_BREAK
2704 case 20:
2705 YY_RULE_SETUP
2706 #line 147 "ast_expr2.fl"
2707 { SET_COLUMNS; SET_STRING; return TOK_COMPL;}
2708         YY_BREAK
2709 case 21:
2710 YY_RULE_SETUP
2711 #line 148 "ast_expr2.fl"
2712 { SET_COLUMNS; SET_STRING; return TOK_COLON;}
2713         YY_BREAK
2714 case 22:
2715 YY_RULE_SETUP
2716 #line 149 "ast_expr2.fl"
2717 { SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;}
2718         YY_BREAK
2719 case 23:
2720 YY_RULE_SETUP
2721 #line 150 "ast_expr2.fl"
2722 { SET_COLUMNS; SET_STRING; return TOK_LP;}
2723         YY_BREAK
2724 case 24:
2725 YY_RULE_SETUP
2726 #line 151 "ast_expr2.fl"
2727 { SET_COLUMNS; SET_STRING; return TOK_RP;}
2728         YY_BREAK
2729 case 25:
2730 YY_RULE_SETUP
2731 #line 152 "ast_expr2.fl"
2732 {
2733                 /* gather the contents of ${} expressions, with trailing stuff,
2734                  * into a single TOKEN.
2735                  * They are much more complex now than they used to be
2736                  */
2737                 curlycount = 0;
2738                 BEGIN(var);
2739                 yymore();
2740         }
2741         YY_BREAK
2742 case 26:
2743 YY_RULE_SETUP
2744 #line 162 "ast_expr2.fl"
2745 {}
2746         YY_BREAK
2747 case 27:
2748 /* rule 27 can match eol */
2749 YY_RULE_SETUP
2750 #line 163 "ast_expr2.fl"
2751 {SET_COLUMNS; SET_STRING; return TOKEN;}
2752         YY_BREAK
2753 case 28:
2754 /* rule 28 can match eol */
2755 YY_RULE_SETUP
2756 #line 165 "ast_expr2.fl"
2757 {/* what to do with eol */}
2758         YY_BREAK
2759 case 29:
2760 YY_RULE_SETUP
2761 #line 166 "ast_expr2.fl"
2762 {
2763                 SET_COLUMNS;
2764                 /* the original behavior of the expression parser was
2765                  * to bring in numbers as a numeric string
2766                  */
2767                 SET_NUMERIC_STRING;
2768                 return TOKEN;
2769         }
2770         YY_BREAK
2771 case 30:
2772 YY_RULE_SETUP
2773 #line 175 "ast_expr2.fl"
2774 {
2775                 SET_COLUMNS;
2776                 SET_STRING;
2777                 return TOKEN;
2778         }
2779         YY_BREAK
2780 case 31:
2781 /* rule 31 can match eol */
2782 YY_RULE_SETUP
2783 #line 182 "ast_expr2.fl"
2784 {
2785                 curlycount--;
2786                 if (curlycount < 0) {
2787                         BEGIN(trail);
2788                         yymore();
2789                 } else {
2790                         yymore();
2791                 }
2792         }
2793         YY_BREAK
2794 case 32:
2795 /* rule 32 can match eol */
2796 YY_RULE_SETUP
2797 #line 192 "ast_expr2.fl"
2798 {
2799                 curlycount++;
2800                 yymore();
2801         }
2802         YY_BREAK
2803 case 33:
2804 YY_RULE_SETUP
2805 #line 198 "ast_expr2.fl"
2806 {
2807                 BEGIN(0);
2808                 SET_COLUMNS;
2809                 SET_STRING;
2810                 return TOKEN;
2811         }
2812         YY_BREAK
2813 case 34:
2814 /* rule 34 can match eol */
2815 YY_RULE_SETUP
2816 #line 205 "ast_expr2.fl"
2817 {
2818                 char c = yytext[yyleng-1];
2819                 BEGIN(0);
2820                 unput(c);
2821                 SET_COLUMNS;
2822                 SET_STRING;
2823                 return TOKEN;
2824         }
2825         YY_BREAK
2826 case 35:
2827 YY_RULE_SETUP
2828 #line 214 "ast_expr2.fl"
2829 {
2830                 curlycount = 0;
2831                 BEGIN(var);
2832                 yymore();
2833         }
2834         YY_BREAK
2835 case YY_STATE_EOF(trail):
2836 #line 220 "ast_expr2.fl"
2837 {
2838                 BEGIN(0);
2839                 SET_COLUMNS;
2840                 SET_STRING;
2841                 return TOKEN;
2842                 /*actually, if an expr is only a variable ref, this could happen a LOT */
2843         }
2844         YY_BREAK
2845 case 36:
2846 YY_RULE_SETUP
2847 #line 228 "ast_expr2.fl"
2848 ECHO;
2849         YY_BREAK
2850 #line 2851 "ast_expr2f.c"
2851 case YY_STATE_EOF(INITIAL):
2852 case YY_STATE_EOF(var):
2853         yyterminate();
2854
2855         case YY_END_OF_BUFFER:
2856                 {
2857                 /* Amount of text matched not including the EOB char. */
2858                 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
2859
2860                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2861                 *yy_cp = yyg->yy_hold_char;
2862                 YY_RESTORE_YY_MORE_OFFSET
2863
2864                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2865                         {
2866                         /* We're scanning a new file or input source.  It's
2867                          * possible that this happened because the user
2868                          * just pointed yyin at a new source and called
2869                          * ast_yylex().  If so, then we have to assure
2870                          * consistency between YY_CURRENT_BUFFER and our
2871                          * globals.  Here is the right place to do so, because
2872                          * this is the first action (other than possibly a
2873                          * back-up) that will match for the new input source.
2874                          */
2875                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2876                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2877                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2878                         }
2879
2880                 /* Note that here we test for yy_c_buf_p "<=" to the position
2881                  * of the first EOB in the buffer, since yy_c_buf_p will
2882                  * already have been incremented past the NUL character
2883                  * (since all states make transitions on EOB to the
2884                  * end-of-buffer state).  Contrast this with the test
2885                  * in input().
2886                  */
2887                 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2888                         { /* This was really a NUL. */
2889                         yy_state_type yy_next_state;
2890
2891                         yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
2892
2893                         yy_current_state = yy_get_previous_state( yyscanner );
2894
2895                         /* Okay, we're now positioned to make the NUL
2896                          * transition.  We couldn't have
2897                          * yy_get_previous_state() go ahead and do it
2898                          * for us because it doesn't know how to deal
2899                          * with the possibility of jamming (and we don't
2900                          * want to build jamming into it because then it
2901                          * will run more slowly).
2902                          */
2903
2904                         yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
2905
2906                         yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2907
2908                         if ( yy_next_state )
2909                                 {
2910                                 /* Consume the NUL. */
2911                                 yy_cp = ++yyg->yy_c_buf_p;
2912                                 yy_current_state = yy_next_state;
2913                                 goto yy_match;
2914                                 }
2915
2916                         else
2917                                 {
2918                                 yy_cp = yyg->yy_c_buf_p;
2919                                 goto yy_find_action;
2920                                 }
2921                         }
2922
2923                 else switch ( yy_get_next_buffer( yyscanner ) )
2924                         {
2925                         case EOB_ACT_END_OF_FILE:
2926                                 {
2927                                 yyg->yy_did_buffer_switch_on_eof = 0;
2928
2929                                 if ( ast_yywrap(yyscanner ) )
2930                                         {
2931                                         /* Note: because we've taken care in
2932                                          * yy_get_next_buffer() to have set up
2933                                          * yytext, we can now set up
2934                                          * yy_c_buf_p so that if some total
2935                                          * hoser (like flex itself) wants to
2936                                          * call the scanner after we return the
2937                                          * YY_NULL, it'll still work - another
2938                                          * YY_NULL will get returned.
2939                                          */
2940                                         yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
2941
2942                                         yy_act = YY_STATE_EOF(YY_START);
2943                                         goto do_action;
2944                                         }
2945
2946                                 else
2947                                         {
2948                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
2949                                                 YY_NEW_FILE;
2950                                         }
2951                                 break;
2952                                 }
2953
2954                         case EOB_ACT_CONTINUE_SCAN:
2955                                 yyg->yy_c_buf_p =
2956                                         yyg->yytext_ptr + yy_amount_of_matched_text;
2957
2958                                 yy_current_state = yy_get_previous_state( yyscanner );
2959
2960                                 yy_cp = yyg->yy_c_buf_p;
2961                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2962                                 goto yy_match;
2963
2964                         case EOB_ACT_LAST_MATCH:
2965                                 yyg->yy_c_buf_p =
2966                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
2967
2968                                 yy_current_state = yy_get_previous_state( yyscanner );
2969
2970                                 yy_cp = yyg->yy_c_buf_p;
2971                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2972                                 goto yy_find_action;
2973                         }
2974                 break;
2975                 }
2976
2977         default:
2978                 YY_FATAL_ERROR(
2979                         "fatal flex scanner internal error--no action found" );
2980         } /* end of action switch */
2981                 } /* end of scanning one token */
2982 } /* end of ast_yylex */
2983
2984 /* yy_get_next_buffer - try to read in a new buffer
2985  *
2986  * Returns a code representing an action:
2987  *      EOB_ACT_LAST_MATCH -
2988  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2989  *      EOB_ACT_END_OF_FILE - end of file
2990  */
2991 static int yy_get_next_buffer (yyscan_t yyscanner)
2992 {
2993     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2994         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2995         register char *source = yyg->yytext_ptr;
2996         register int number_to_move, i;
2997         int ret_val;
2998
2999         if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
3000                 YY_FATAL_ERROR(
3001                 "fatal flex scanner internal error--end of buffer missed" );
3002
3003         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3004                 { /* Don't try to fill the buffer, so this is an EOF. */
3005                 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
3006                         {
3007                         /* We matched a single character, the EOB, so
3008                          * treat this as a final EOF.
3009                          */
3010                         return EOB_ACT_END_OF_FILE;
3011                         }
3012
3013                 else
3014                         {
3015                         /* We matched some text prior to the EOB, first
3016                          * process it.
3017                          */
3018                         return EOB_ACT_LAST_MATCH;
3019                         }
3020                 }
3021
3022         /* Try to read more data. */
3023
3024         /* First move last chars to start of buffer. */
3025         number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
3026
3027         for ( i = 0; i < number_to_move; ++i )
3028                 *(dest++) = *(source++);
3029
3030         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3031                 /* don't do the read, it's not guaranteed to return an EOF,
3032                  * just force an EOF
3033                  */
3034                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
3035
3036         else
3037                 {
3038                         int num_to_read =
3039                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3040
3041                 while ( num_to_read <= 0 )
3042                         { /* Not enough room in the buffer - grow it. */
3043
3044                         /* just a shorter name for the current buffer */
3045                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3046
3047                         int yy_c_buf_p_offset =
3048                                 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
3049
3050                         if ( b->yy_is_our_buffer )
3051                                 {
3052                                 int new_size = b->yy_buf_size * 2;
3053
3054                                 if ( new_size <= 0 )
3055                                         b->yy_buf_size += b->yy_buf_size / 8;
3056                                 else
3057                                         b->yy_buf_size *= 2;
3058
3059                                 b->yy_ch_buf = (char *)
3060                                         /* Include room in for 2 EOB chars. */
3061                                         ast_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
3062                                 }
3063                         else
3064                                 /* Can't grow it, we don't own it. */
3065                                 b->yy_ch_buf = 0;
3066
3067                         if ( ! b->yy_ch_buf )
3068                                 YY_FATAL_ERROR(
3069                                 "fatal error - scanner input buffer overflow" );
3070
3071                         yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3072
3073                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3074                                                 number_to_move - 1;
3075
3076                         }
3077
3078                 if ( num_to_read > YY_READ_BUF_SIZE )
3079                         num_to_read = YY_READ_BUF_SIZE;
3080
3081                 /* Read in more data. */
3082                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3083                         yyg->yy_n_chars, num_to_read );
3084
3085                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3086                 }
3087
3088         if ( yyg->yy_n_chars == 0 )
3089                 {
3090                 if ( number_to_move == YY_MORE_ADJ )
3091                         {
3092                         ret_val = EOB_ACT_END_OF_FILE;
3093                         ast_yyrestart(yyin  ,yyscanner);
3094                         }
3095
3096                 else
3097                         {
3098                         ret_val = EOB_ACT_LAST_MATCH;
3099                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3100                                 YY_BUFFER_EOF_PENDING;
3101                         }
3102                 }
3103
3104         else
3105                 ret_val = EOB_ACT_CONTINUE_SCAN;
3106
3107         yyg->yy_n_chars += number_to_move;
3108         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3109         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3110
3111         yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3112
3113         return ret_val;
3114 }
3115
3116 /* yy_get_previous_state - get the state just before the EOB char was reached */
3117
3118     static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
3119 {
3120         register yy_state_type yy_current_state;
3121         register char *yy_cp;
3122     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3123
3124         yy_current_state = yyg->yy_start;
3125
3126         for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
3127                 {
3128                 if ( *yy_cp )
3129                         {
3130                         yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)];
3131                         }
3132                 else
3133                         yy_current_state = yy_NUL_trans[yy_current_state];
3134                 if ( yy_accept[yy_current_state] )
3135                         {
3136                         yyg->yy_last_accepting_state = yy_current_state;
3137                         yyg->yy_last_accepting_cpos = yy_cp;
3138                         }
3139                 }
3140
3141         return yy_current_state;
3142 }
3143
3144 /* yy_try_NUL_trans - try to make a transition on the NUL character
3145  *
3146  * synopsis
3147  *      next_state = yy_try_NUL_trans( current_state );
3148  */
3149     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
3150 {
3151         register int yy_is_jam;
3152     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3153         register char *yy_cp = yyg->yy_c_buf_p;
3154
3155         yy_current_state = yy_NUL_trans[yy_current_state];
3156         yy_is_jam = (yy_current_state == 0);
3157
3158         if ( ! yy_is_jam )
3159                 {
3160                 if ( yy_accept[yy_current_state] )
3161                         {
3162                         yyg->yy_last_accepting_state = yy_current_state;
3163                         yyg->yy_last_accepting_cpos = yy_cp;
3164                         }
3165                 }
3166
3167         return yy_is_jam ? 0 : yy_current_state;
3168 }
3169
3170     static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
3171 {
3172         register char *yy_cp;
3173     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3174
3175     yy_cp = yyg->yy_c_buf_p;
3176
3177         /* undo effects of setting up yytext */
3178         *yy_cp = yyg->yy_hold_char;
3179
3180         if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3181                 { /* need to shift things up to make room */
3182                 /* +2 for EOB chars. */
3183                 register int number_to_move = yyg->yy_n_chars + 2;
3184                 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3185                                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3186                 register char *source =
3187                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3188
3189                 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3190                         *--dest = *--source;
3191
3192                 yy_cp += (int) (dest - source);
3193                 yy_bp += (int) (dest - source);
3194                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3195                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3196
3197                 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3198                         YY_FATAL_ERROR( "flex scanner push-back overflow" );
3199                 }
3200
3201         *--yy_cp = (char) c;
3202
3203         yyg->yytext_ptr = yy_bp;
3204         yyg->yy_hold_char = *yy_cp;
3205         yyg->yy_c_buf_p = yy_cp;
3206 }
3207
3208 #ifndef YY_NO_INPUT
3209 #ifdef __cplusplus
3210     static int yyinput (yyscan_t yyscanner)
3211 #else
3212     static int input  (yyscan_t yyscanner)
3213 #endif
3214
3215 {
3216         int c;
3217     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3218
3219         *yyg->yy_c_buf_p = yyg->yy_hold_char;
3220
3221         if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3222                 {
3223                 /* yy_c_buf_p now points to the character we want to return.
3224                  * If this occurs *before* the EOB characters, then it's a
3225                  * valid NUL; if not, then we've hit the end of the buffer.
3226                  */
3227                 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
3228                         /* This was really a NUL. */
3229                         *yyg->yy_c_buf_p = '\0';
3230
3231                 else
3232                         { /* need more input */
3233                         int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
3234                         ++yyg->yy_c_buf_p;
3235
3236                         switch ( yy_get_next_buffer( yyscanner ) )
3237                                 {
3238                                 case EOB_ACT_LAST_MATCH:
3239                                         /* This happens because yy_g_n_b()
3240                                          * sees that we've accumulated a
3241                                          * token and flags that we need to
3242                                          * try matching the token before
3243                                          * proceeding.  But for input(),
3244                                          * there's no matching to consider.
3245                                          * So convert the EOB_ACT_LAST_MATCH
3246                                          * to EOB_ACT_END_OF_FILE.
3247                                          */
3248
3249                                         /* Reset buffer status. */
3250                                         ast_yyrestart(yyin ,yyscanner);
3251
3252                                         /*FALLTHROUGH*/
3253
3254                                 case EOB_ACT_END_OF_FILE:
3255                                         {
3256                                         if ( ast_yywrap(yyscanner ) )
3257                                                 return EOF;
3258
3259                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
3260                                                 YY_NEW_FILE;
3261 #ifdef __cplusplus
3262                                         return yyinput(yyscanner);
3263 #else
3264                                         return input(yyscanner);
3265 #endif
3266                                         }
3267
3268                                 case EOB_ACT_CONTINUE_SCAN:
3269                                         yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
3270                                         break;
3271                                 }
3272                         }
3273                 }
3274
3275         c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
3276         *yyg->yy_c_buf_p = '\0';        /* preserve yytext */
3277         yyg->yy_hold_char = *++yyg->yy_c_buf_p;
3278
3279         return c;
3280 }
3281 #endif  /* ifndef YY_NO_INPUT */
3282
3283 /** Immediately switch to a different input stream.
3284  * @param input_file A readable stream.
3285  * @param yyscanner The scanner object.
3286  * @note This function does not reset the start condition to @c INITIAL .
3287  */
3288     void ast_yyrestart  (FILE * input_file , yyscan_t yyscanner)
3289 {
3290     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3291
3292         if ( ! YY_CURRENT_BUFFER ){
3293         ast_yyensure_buffer_stack (yyscanner);
3294                 YY_CURRENT_BUFFER_LVALUE =
3295             ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
3296         }
3297
3298         ast_yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
3299         ast_yy_load_buffer_state(yyscanner );
3300 }
3301
3302 /** Switch to a different input buffer.
3303  * @param new_buffer The new input buffer.
3304  * @param yyscanner The scanner object.
3305  */
3306     void ast_yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
3307 {
3308     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3309
3310         /* TODO. We should be able to replace this entire function body
3311          * with
3312          *              ast_yypop_buffer_state();
3313          *              ast_yypush_buffer_state(new_buffer);
3314      */
3315         ast_yyensure_buffer_stack (yyscanner);
3316         if ( YY_CURRENT_BUFFER == new_buffer )
3317                 return;
3318
3319         if ( YY_CURRENT_BUFFER )
3320                 {
3321                 /* Flush out information for old buffer. */
3322                 *yyg->yy_c_buf_p = yyg->yy_hold_char;
3323                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
3324                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3325                 }
3326
3327         YY_CURRENT_BUFFER_LVALUE = new_buffer;
3328         ast_yy_load_buffer_state(yyscanner );
3329
3330         /* We don't actually know whether we did this switch during
3331          * EOF (ast_yywrap()) processing, but the only time this flag
3332          * is looked at is after ast_yywrap() is called, so it's safe
3333          * to go ahead and always set it.
3334          */
3335         yyg->yy_did_buffer_switch_on_eof = 1;
3336 }
3337
3338 static void ast_yy_load_buffer_state  (yyscan_t yyscanner)
3339 {
3340     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3341         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3342         yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3343         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3344         yyg->yy_hold_char = *yyg->yy_c_buf_p;
3345 }
3346
3347 /** Allocate and initialize an input buffer state.
3348  * @param file A readable stream.
3349  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3350  * @param yyscanner The scanner object.
3351  * @return the allocated buffer state.
3352  */
3353     YY_BUFFER_STATE ast_yy_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
3354 {
3355         YY_BUFFER_STATE b;
3356     
3357         b = (YY_BUFFER_STATE) ast_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
3358         if ( ! b )
3359                 YY_FATAL_ERROR( "out of dynamic memory in ast_yy_create_buffer()" );
3360
3361         b->yy_buf_size = size;
3362
3363         /* yy_ch_buf has to be 2 characters longer than the size given because
3364          * we need to put in 2 end-of-buffer characters.
3365          */
3366         b->yy_ch_buf = (char *) ast_yyalloc(b->yy_buf_size + 2 ,yyscanner );
3367         if ( ! b->yy_ch_buf )
3368                 YY_FATAL_ERROR( "out of dynamic memory in ast_yy_create_buffer()" );
3369
3370         b->yy_is_our_buffer = 1;
3371
3372         ast_yy_init_buffer(b,file ,yyscanner);
3373
3374         return b;
3375 }
3376
3377 /** Destroy the buffer.
3378  * @param b a buffer created with ast_yy_create_buffer()
3379  * @param yyscanner The scanner object.
3380  */
3381     void ast_yy_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
3382 {
3383     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3384
3385         if ( ! b )
3386                 return;
3387
3388         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3389                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3390
3391         if ( b->yy_is_our_buffer )
3392                 ast_yyfree((void *) b->yy_ch_buf ,yyscanner );
3393
3394         ast_yyfree((void *) b ,yyscanner );
3395 }
3396
3397 #ifndef __cplusplus
3398 extern int isatty (int );
3399 #endif /* __cplusplus */
3400     
3401 /* Initializes or reinitializes a buffer.
3402  * This function is sometimes called more than once on the same buffer,
3403  * such as during a ast_yyrestart() or at EOF.
3404  */
3405     static void ast_yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
3406
3407 {
3408         int oerrno = errno;
3409     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3410
3411         ast_yy_flush_buffer(b ,yyscanner);
3412
3413         b->yy_input_file = file;
3414         b->yy_fill_buffer = 1;
3415
3416     /* If b is the current buffer, then ast_yy_init_buffer was _probably_
3417      * called from ast_yyrestart() or through yy_get_next_buffer.
3418      * In that case, we don't want to reset the lineno or column.
3419      */
3420     if (b != YY_CURRENT_BUFFER){
3421         b->yy_bs_lineno = 1;
3422         b->yy_bs_column = 0;
3423  &nbs