1 /* A lexical scanner generated by flex */
2
3 /* Scanner skeleton version:
4 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
5 */
6
7 #define FLEX_SCANNER
8 #define YY_FLEX_MAJOR_VERSION 2
9 #define YY_FLEX_MINOR_VERSION 5
10
11 #include <stdio.h>
12 #include <unistd.h>
13
14
15 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
16 #ifdef c_plusplus
17 #ifndef __cplusplus
18 #define __cplusplus
19 #endif
20 #endif
21
22
23 #ifdef __cplusplus
24
25 #include <stdlib.h>
26
27 /* Use prototypes in function declarations. */
28 #define YY_USE_PROTOS
29
30 /* The "const" storage-class-modifier is valid. */
31 #define YY_USE_CONST
32
33 #else /* ! __cplusplus */
34
35 #if __STDC__
36
37 #define YY_USE_PROTOS
38 #define YY_USE_CONST
39
40 #endif /* __STDC__ */
41 #endif /* ! __cplusplus */
42
43 #ifdef __TURBOC__
44 #pragma warn -rch
45 #pragma warn -use
46 #include <io.h>
47 #include <stdlib.h>
48 #define YY_USE_CONST
49 #define YY_USE_PROTOS
50 #endif
51
52 #ifdef YY_USE_CONST
53 #define yyconst const
54 #else
55 #define yyconst
56 #endif
57
58
59 #ifdef YY_USE_PROTOS
60 #define YY_PROTO(proto) proto
61 #else
62 #define YY_PROTO(proto) ()
63 #endif
64
65 /* Returned upon end-of-file. */
66 #define YY_NULL 0
67
68 /* Promotes a possibly negative, possibly signed char to an unsigned
69 * integer for use as an array index. If the signed char is negative,
70 * we want to instead treat it as an 8-bit unsigned char, hence the
71 * double cast.
72 */
73 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
74
75 /* Enter a start condition. This macro really ought to take a parameter,
76 * but we do it the disgusting crufty way forced on us by the ()-less
77 * definition of BEGIN.
78 */
79 #define BEGIN yy_start = 1 + 2 *
80
81 /* Translate the current start state into a value that can be later handed
82 * to BEGIN to return to the state. The YYSTATE alias is for lex
83 * compatibility.
84 */
85 #define YY_START ((yy_start - 1) / 2)
86 #define YYSTATE YY_START
87
88 /* Action number for EOF rule of a given start state. */
89 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
90
91 /* Special action meaning "start processing a new file". */
92 #define YY_NEW_FILE yyrestart( yyin )
93
94 #define YY_END_OF_BUFFER_CHAR 0
95
96 /* Size of default input buffer. */
97 #define YY_BUF_SIZE 16384
98
99 typedef struct yy_buffer_state *YY_BUFFER_STATE;
100
101 extern int yyleng;
102 extern FILE *yyin, *yyout;
103
104 #define EOB_ACT_CONTINUE_SCAN 0
105 #define EOB_ACT_END_OF_FILE 1
106 #define EOB_ACT_LAST_MATCH 2
107
108 /* The funky do-while in the following #define is used to turn the definition
109 * int a single C statement (which needs a semi-colon terminator). This
110 * avoids problems with code like:
111 *
112 * if ( condition_holds )
113 * yyless( 5 );
114 * else
115 * do_something_else();
116 *
117 * Prior to using the do-while the compiler would get upset at the
118 * "else" because it interpreted the "if" statement as being all
119 * done when it reached the ';' after the yyless() call.
120 */
121
122 /* Return all but the first 'n' matched characters back to the input stream. */
123
124 #define yyless(n) \
125 do \
126 { \
127 /* Undo effects of setting up yytext. */ \
128 *yy_cp = yy_hold_char; \
129 YY_RESTORE_YY_MORE_OFFSET \
130 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
131 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
132 } \
133 while ( 0 )
134
135 #define unput(c) yyunput( c, yytext_ptr )
136
137 /* The following is because we cannot portably get our hands on size_t
138 * (without autoconf's help, which isn't available because we want
139 * flex-generated scanners to compile on their own).
140 */
141 typedef unsigned int yy_size_t;
142
143
144 struct yy_buffer_state
145 {
146 FILE *yy_input_file;
147
148 char *yy_ch_buf; /* input buffer */
149 char *yy_buf_pos; /* current position in input buffer */
150
151 /* Size of input buffer in bytes, not including room for EOB
152 * characters.
153 */
154 yy_size_t yy_buf_size;
155
156 /* Number of characters read into yy_ch_buf, not including EOB
157 * characters.
158 */
159 int yy_n_chars;
160
161 /* Whether we "own" the buffer - i.e., we know we created it,
162 * and can realloc() it to grow it, and should free() it to
163 * delete it.
164 */
165 int yy_is_our_buffer;
166
167 /* Whether this is an "interactive" input source; if so, and
168 * if we're using stdio for input, then we want to use getc()
169 * instead of fread(), to make sure we stop fetching input after
170 * each newline.
171 */
172 int yy_is_interactive;
173
174 /* Whether we're considered to be at the beginning of a line.
175 * If so, '^' rules will be active on the next match, otherwise
176 * not.
177 */
178 int yy_at_bol;
179
180 /* Whether to try to fill the input buffer when we reach the
181 * end of it.
182 */
183 int yy_fill_buffer;
184
185 int yy_buffer_status;
186 #define YY_BUFFER_NEW 0
187 #define YY_BUFFER_NORMAL 1
188 /* When an EOF's been seen but there's still some text to process
189 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
190 * shouldn't try reading from the input source any more. We might
191 * still have a bunch of tokens to match, though, because of
192 * possible backing-up.
193 *
194 * When we actually see the EOF, we change the status to "new"
195 * (via yyrestart()), so that the user can continue scanning by
196 * just pointing yyin at a new input file.
197 */
198 #define YY_BUFFER_EOF_PENDING 2
199 };
200
201 static YY_BUFFER_STATE yy_current_buffer = 0;
202
203 /* We provide macros for accessing buffer states in case in the
204 * future we want to put the buffer states in a more general
205 * "scanner state".
206 */
207 #define YY_CURRENT_BUFFER yy_current_buffer
208
209
210 /* yy_hold_char holds the character lost when yytext is formed. */
211 static char yy_hold_char;
212
213 static int yy_n_chars; /* number of characters read into yy_ch_buf */
214
215
216 int yyleng;
217
218 /* Points to current character in buffer. */
219 static char *yy_c_buf_p = (char *) 0;
220 static int yy_init = 1; /* whether we need to initialize */
221 static int yy_start = 0; /* start state number */
222
223 /* Flag which is used to allow yywrap()'s to do buffer switches
224 * instead of setting up a fresh yyin. A bit of a hack ...
225 */
226 static int yy_did_buffer_switch_on_eof;
227
228 void yyrestart YY_PROTO(( FILE *input_file ));
229
230 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
231 void yy_load_buffer_state YY_PROTO(( void ));
232 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
233 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
234 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
235 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
236 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
237
238 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
239 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
240 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
241
242 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
243 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
244 static void yy_flex_free YY_PROTO(( void * ));
245
246 #define yy_new_buffer yy_create_buffer
247
248 #define yy_set_interactive(is_interactive) \
249 { \
250 if ( ! yy_current_buffer ) \
251 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
252 yy_current_buffer->yy_is_interactive = is_interactive; \
253 }
254
255 #define yy_set_bol(at_bol) \
256 { \
257 if ( ! yy_current_buffer ) \
258 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
259 yy_current_buffer->yy_at_bol = at_bol; \
260 }
261
262 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
263
264 typedef unsigned char YY_CHAR;
265 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
266 typedef yyconst struct yy_trans_info *yy_state_type;
267 extern char *yytext;
268 #define yytext_ptr yytext
269
270 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
271 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
272 static int yy_get_next_buffer YY_PROTO(( void ));
273 static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
274
275 /* Done after the current pattern has been matched and before the
276 * corresponding action - sets up yytext.
277 */
278 #define YY_DO_BEFORE_ACTION \
279 yytext_ptr = yy_bp; \
280 yyleng = (int) (yy_cp - yy_bp); \
281 yy_hold_char = *yy_cp; \
282 *yy_cp = '\0'; \
283 yy_c_buf_p = yy_cp;
284
285 #define YY_NUM_RULES 61
286 #define YY_END_OF_BUFFER 62
287 struct yy_trans_info
288 {
289 short yy_verify;
290 short yy_nxt;
291 };
292 static yyconst struct yy_trans_info yy_transition[7001] =
293 {
294 { 0, 0 }, { 0,6745 }, { 0, 0 }, { 0,6743 }, { 1,1548 },
295 { 2,1548 }, { 3,1548 }, { 4,1548 }, { 5,1548 }, { 6,1548 },
296 { 7,1548 }, { 8,1548 }, { 9,1550 }, { 10,1552 }, { 11,1548 },
297 { 12,1550 }, { 13,1548 }, { 14,1548 }, { 15,1548 }, { 16,1548 },
298 { 17,1548 }, { 18,1548 }, { 19,1548 }, { 20,1548 }, { 21,1548 },
299 { 22,1548 }, { 23,1548 }, { 24,1548 }, { 25,1548 }, { 26,1548 },
300 { 27,1548 }, { 28,1548 }, { 29,1548 }, { 30,1548 }, { 31,1548 },
301 { 32,1550 }, { 33,1548 }, { 34,1548 }, { 35,1554 }, { 36,1565 },
302 { 37,1556 }, { 38,1567 }, { 39,1689 }, { 40,1947 }, { 41,1949 },
303 { 42,1951 }, { 43,1953 }, { 44,1955 }, { 45,1957 }, { 46,1959 },
304
305 { 47,1961 }, { 48,1975 }, { 49,2034 }, { 50,2034 }, { 51,2034 },
306 { 52,2034 }, { 53,2034 }, { 54,2034 }, { 55,2034 }, { 56,2034 },
307 { 57,2034 }, { 58,1977 }, { 59,1979 }, { 60,1988 }, { 61,1991 },
308 { 62,1995 }, { 63,1548 }, { 64,1997 }, { 65,1565 }, { 66,1565 },
309 { 67,1565 }, { 68,1565 }, { 69,1565 }, { 70,1565 }, { 71,1565 },
310 { 72,1565 }, { 73,1565 }, { 74,1565 }, { 75,1565 }, { 76,1565 },
311 { 77,1565 }, { 78,1565 }, { 79,1565 }, { 80,1565 }, { 81,1565 },
312 { 82,1565 }, { 83,1565 }, { 84,1565 }, { 85,2093 }, { 86,1565 },
313 { 87,1565 }, { 88,1565 }, { 89,1565 }, { 90,1565 }, { 91,1999 },
314 { 92,1548 }, { 93,2002 }, { 94,2004 }, { 95,1565 }, { 96,1548 },
315
316 { 97,1565 }, { 98,1565 }, { 99,1565 }, { 100,1565 }, { 101,1565 },
317 { 102,1565 }, { 103,1565 }, { 104,1565 }, { 105,1565 }, { 106,1565 },
318 { 107,1565 }, { 108,1565 }, { 109,1565 }, { 110,1565 }, { 111,1565 },
319 { 112,1565 }, { 113,1565 }, { 114,1565 }, { 115,1565 }, { 116,1565 },
320 { 117,2093 }, { 118,1565 }, { 119,1565 }, { 120,1565 }, { 121,1565 },
321 { 122,1565 }, { 123,2016 }, { 124,2020 }, { 125,1548 }, { 126,2036 },
322 { 127,1548 }, { 128,1548 }, { 129,1548 }, { 130,1548 }, { 131,1548 },
323 { 132,1548 }, { 133,1548 }, { 134,1548 }, { 135,1548 }, { 136,1548 },
324 { 137,1548 }, { 138,1548 }, { 139,1548 }, { 140,1548 }, { 141,1548 },
325 { 142,1548 }, { 143,1548 }, { 144,1548 }, { 145,1548 }, { 146,1548 },
326
327 { 147,1548 }, { 148,1548 }, { 149,1548 }, { 150,1548 }, { 151,1548 },
328 { 152,1548 }, { 153,1548 }, { 154,1548 }, { 155,1548 }, { 156,1548 },
329 { 157,1548 }, { 158,1548 }, { 159,1548 }, { 160,1548 }, { 161,1548 },
330 { 162,1548 }, { 163,1548 }, { 164,1548 }, { 165,1548 }, { 166,1548 },
331 { 167,1548 }, { 168,1548 }, { 169,1548 }, { 170,1548 }, { 171,1548 },
332 { 172,1548 }, { 173,1548 }, { 174,1548 }, { 175,1548 }, { 176,1548 },
333 { 177,1548 }, { 178,1548 }, { 179,1548 }, { 180,1548 }, { 181,1548 },
334 { 182,1548 }, { 183,1548 }, { 184,1548 }, { 185,1548 }, { 186,1548 },
335 { 187,1548 }, { 188,1548 }, { 189,1548 }, { 190,1548 }, { 191,1548 },
336 { 192,1548 }, { 193,1548 }, { 194,1548 }, { 195,1548 }, { 196,1548 },
337
338 { 197,1548 }, { 198,1548 }, { 199,1548 }, { 200,1548 }, { 201,1548 },
339 { 202,1548 }, { 203,1548 }, { 204,1548 }, { 205,1548 }, { 206,1548 },
340 { 207,1548 }, { 208,1548 }, { 209,1548 }, { 210,1548 }, { 211,1548 },
341 { 212,1548 }, { 213,1548 }, { 214,1548 }, { 215,1548 }, { 216,1548 },
342 { 217,1548 }, { 218,1548 }, { 219,1548 }, { 220,1548 }, { 221,1548 },
343 { 222,1548 }, { 223,1548 }, { 224,1548 }, { 225,1548 }, { 226,1548 },
344 { 227,1548 }, { 228,1548 }, { 229,1548 }, { 230,1548 }, { 231,1548 },
345 { 232,1548 }, { 233,1548 }, { 234,1548 }, { 235,1548 }, { 236,1548 },
346 { 237,1548 }, { 238,1548 }, { 239,1548 }, { 240,1548 }, { 241,1548 },
347 { 242,1548 }, { 243,1548 }, { 244,1548 }, { 245,1548 }, { 246,1548 },
348
349 { 247,1548 }, { 248,1548 }, { 249,1548 }, { 250,1548 }, { 251,1548 },
350 { 252,1548 }, { 253,1548 }, { 254,1548 }, { 255,1548 }, { 256,1548 },
351 { 0, 0 }, { 0,6485 }, { 1,1290 }, { 2,1290 }, { 3,1290 },
352 { 4,1290 }, { 5,1290 }, { 6,1290 }, { 7,1290 }, { 8,1290 },
353 { 9,1292 }, { 10,1294 }, { 11,1290 }, { 12,1292 }, { 13,1290 },
354 { 14,1290 }, { 15,1290 }, { 16,1290 }, { 17,1290 }, { 18,1290 },
355 { 19,1290 }, { 20,1290 }, { 21,1290 }, { 22,1290 }, { 23,1290 },
356 { 24,1290 }, { 25,1290 }, { 26,1290 }, { 27,1290 }, { 28,1290 },
357 { 29,1290 }, { 30,1290 }, { 31,1290 }, { 32,1292 }, { 33,1290 },
358 { 34,1290 }, { 35,1296 }, { 36,1307 }, { 37,1298 }, { 38,1309 },
359
360 { 39,1431 }, { 40,1689 }, { 41,1691 }, { 42,1693 }, { 43,1695 },
361 { 44,1697 }, { 45,1699 }, { 46,1701 }, { 47,1703 }, { 48,1717 },
362 { 49,1776 }, { 50,1776 }, { 51,1776 }, { 52,1776 }, { 53,1776 },
363 { 54,1776 }, { 55,1776 }, { 56,1776 }, { 57,1776 }, { 58,1719 },
364 { 59,1721 }, { 60,1730 }, { 61,1733 }, { 62,1737 }, { 63,1290 },
365 { 64,1739 }, { 65,1307 }, { 66,1307 }, { 67,1307 }, { 68,1307 },
366 { 69,1307 }, { 70,1307 }, { 71,1307 }, { 72,1307 }, { 73,1307 },
367 { 74,1307 }, { 75,1307 }, { 76,1307 }, { 77,1307 }, { 78,1307 },
368 { 79,1307 }, { 80,1307 }, { 81,1307 }, { 82,1307 }, { 83,1307 },
369 { 84,1307 }, { 85,1835 }, { 86,1307 }, { 87,1307 }, { 88,1307 },
370
371 { 89,1307 }, { 90,1307 }, { 91,1741 }, { 92,1290 }, { 93,1744 },
372 { 94,1746 }, { 95,1307 }, { 96,1290 }, { 97,1307 }, { 98,1307 },
373 { 99,1307 }, { 100,1307 }, { 101,1307 }, { 102,1307 }, { 103,1307 },
374 { 104,1307 }, { 105,1307 }, { 106,1307 }, { 107,1307 }, { 108,1307 },
375 { 109,1307 }, { 110,1307 }, { 111,1307 }, { 112,1307 }, { 113,1307 },
376 { 114,1307 }, { 115,1307 }, { 116,1307 }, { 117,1835 }, { 118,1307 },
377 { 119,1307 }, { 120,1307 }, { 121,1307 }, { 122,1307 }, { 123,1758 },
378 { 124,1762 }, { 125,1290 }, { 126,1778 }, { 127,1290 }, { 128,1290 },
379 { 129,1290 }, { 130,1290 }, { 131,1290 }, { 132,1290 }, { 133,1290 },
380 { 134,1290 }, { 135,1290 }, { 136,1290 }, { 137,1290 }, { 138,1290 },
381
382 { 139,1290 }, { 140,1290 }, { 141,1290 }, { 142,1290 }, { 143,1290 },
383 { 144,1290 }, { 145,1290 }, { 146,1290 }, { 147,1290 }, { 148,1290 },
384 { 149,1290 }, { 150,1290 }, { 151,1290 }, { 152,1290 }, { 153,1290 },
385 { 154,1290 }, { 155,1290 }, { 156,1290 }, { 157,1290 }, { 158,1290 },
386 { 159,1290 }, { 160,1290 }, { 161,1290 }, { 162,1290 }, { 163,1290 },
387 { 164,1290 }, { 165,1290 }, { 166,1290 }, { 167,1290 }, { 168,1290 },
388 { 169,1290 }, { 170,1290 }, { 171,1290 }, { 172,1290 }, { 173,1290 },
389 { 174,1290 }, { 175,1290 }, { 176,1290 }, { 177,1290 }, { 178,1290 },
390 { 179,1290 }, { 180,1290 }, { 181,1290 }, { 182,1290 }, { 183,1290 },
391 { 184,1290 }, { 185,1290 }, { 186,1290 }, { 187,1290 }, { 188,1290 },
392
393 { 189,1290 }, { 190,1290 }, { 191,1290 }, { 192,1290 }, { 193,1290 },
394 { 194,1290 }, { 195,1290 }, { 196,1290 }, { 197,1290 }, { 198,1290 },
395 { 199,1290 }, { 200,1290 }, { 201,1290 }, { 202,1290 }, { 203,1290 },
396 { 204,1290 }, { 205,1290 }, { 206,1290 }, { 207,1290 }, { 208,1290 },
397 { 209,1290 }, { 210,1290 }, { 211,1290 }, { 212,1290 }, { 213,1290 },
398 { 214,1290 }, { 215,1290 }, { 216,1290 }, { 217,1290 }, { 218,1290 },
399 { 219,1290 }, { 220,1290 }, { 221,1290 }, { 222,1290 }, { 223,1290 },
400 { 224,1290 }, { 225,1290 }, { 226,1290 }, { 227,1290 }, { 228,1290 },
401 { 229,1290 }, { 230,1290 }, { 231,1290 }, { 232,1290 }, { 233,1290 },
402 { 234,1290 }, { 235,1290 }, { 236,1290 }, { 237,1290 }, { 238,1290 },
403
404 { 239,1290 }, { 240,1290 }, { 241,1290 }, { 242,1290 }, { 243,1290 },
405 { 244,1290 }, { 245,1290 }, { 246,1290 }, { 247,1290 }, { 248,1290 },
406 { 249,1290 }, { 250,1290 }, { 251,1290 }, { 252,1290 }, { 253,1290 },
407 { 254,1290 }, { 255,1290 }, { 256,1290 }, { 0, 9 }, { 0,6227 },
408 { 1,1701 }, { 2,1701 }, { 3,1701 }, { 4,1701 }, { 5,1701 },
409 { 6,1701 }, { 7,1701 }, { 8,1701 }, { 9,1959 }, { 10,1582 },
410 { 11,1701 }, { 12,1701 }, { 13,1701 }, { 14,1701 }, { 15,1701 },
411 { 16,1701 }, { 17,1701 }, { 18,1701 }, { 19,1701 }, { 20,1701 },
412 { 21,1701 }, { 22,1701 }, { 23,1701 }, { 24,1701 }, { 25,1701 },
413 { 26,1701 }, { 27,1701 }, { 28,1701 }, { 29,1701 }, { 30,1701 },
414
415 { 31,1701 }, { 32,1959 }, { 33,1701 }, { 34,1701 }, { 35,1701 },
416 { 36,1701 }, { 37,1701 }, { 38,1701 }, { 39,1701 }, { 40,1701 },
417 { 41,1701 }, { 42,1701 }, { 43,1701 }, { 44,1701 }, { 45,1701 },
418 { 46,1701 }, { 47,1701 }, { 48,1701 }, { 49,1701 }, { 50,1701 },
419 { 51,1701 }, { 52,1701 }, { 53,1701 }, { 54,1701 }, { 55,1701 },
420 { 56,1701 }, { 57,1701 }, { 58,1701 }, { 59,1594 }, { 60,1701 },
421 { 61,1701 }, { 62,1701 }, { 63,1701 }, { 64,1701 }, { 65,1701 },
422 { 66,1701 }, { 67,1701 }, { 68,1701 }, { 69,1701 }, { 70,1701 },
423 { 71,1701 }, { 72,1701 }, { 73,1701 }, { 74,1701 }, { 75,1701 },
424 { 76,1701 }, { 77,1701 }, { 78,1701 }, { 79,1701 }, { 80,1701 },
425
426 { 81,1701 }, { 82,1701 }, { 83,1701 }, { 84,1701 }, { 85,1701 },
427 { 86,1701 }, { 87,1701 }, { 88,1701 }, { 89,1701 }, { 90,1701 },
428 { 91,1701 }, { 92,1701 }, { 93,1701 }, { 94,1701 }, { 95,1701 },
429 { 96,1701 }, { 97,1701 }, { 98,1701 }, { 99,1701 }, { 100,1701 },
430 { 101,1701 }, { 102,1701 }, { 103,1701 }, { 104,1701 }, { 105,1701 },
431 { 106,1701 }, { 107,1701 }, { 108,1701 }, { 109,1701 }, { 110,1701 },
432 { 111,1701 }, { 112,1701 }, { 113,1701 }, { 114,1701 }, { 115,1701 },
433 { 116,1701 }, { 117,1701 }, { 118,1701 }, { 119,1701 }, { 120,1701 },
434 { 121,1701 }, { 122,1701 }, { 123,1701 }, { 124,1701 }, { 125,1701 },
435 { 126,1701 }, { 127,1701 }, { 128,1701 }, { 129,1701 }, { 130,1701 },
436
437 { 131,1701 }, { 132,1701 }, { 133,1701 }, { 134,1701 }, { 135,1701 },
438 { 136,1701 }, { 137,1701 }, { 138,1701 }, { 139,1701 }, { 140,1701 },
439 { 141,1701 }, { 142,1701 }, { 143,1701 }, { 144,1701 }, { 145,1701 },
440 { 146,1701 }, { 147,1701 }, { 148,1701 }, { 149,1701 }, { 150,1701 },
441 { 151,1701 }, { 152,1701 }, { 153,1701 }, { 154,1701 }, { 155,1701 },
442 { 156,1701 }, { 157,1701 }, { 158,1701 }, { 159,1701 }, { 160,1701 },
443 { 161,1701 }, { 162,1701 }, { 163,1701 }, { 164,1701 }, { 165,1701 },
444 { 166,1701 }, { 167,1701 }, { 168,1701 }, { 169,1701 }, { 170,1701 },
445 { 171,1701 }, { 172,1701 }, { 173,1701 }, { 174,1701 }, { 175,1701 },
446 { 176,1701 }, { 177,1701 }, { 178,1701 }, { 179,1701 }, { 180,1701 },
447
448 { 181,1701 }, { 182,1701 }, { 183,1701 }, { 184,1701 }, { 185,1701 },
449 { 186,1701 }, { 187,1701 }, { 188,1701 }, { 189,1701 }, { 190,1701 },
450 { 191,1701 }, { 192,1701 }, { 193,1701 }, { 194,1701 }, { 195,1701 },
451 { 196,1701 }, { 197,1701 }, { 198,1701 }, { 199,1701 }, { 200,1701 },
452 { 201,1701 }, { 202,1701 }, { 203,1701 }, { 204,1701 }, { 205,1701 },
453 { 206,1701 }, { 207,1701 }, { 208,1701 }, { 209,1701 }, { 210,1701 },
454 { 211,1701 }, { 212,1701 }, { 213,1701 }, { 214,1701 }, { 215,1701 },
455 { 216,1701 }, { 217,1701 }, { 218,1701 }, { 219,1701 }, { 220,1701 },
456 { 221,1701 }, { 222,1701 }, { 223,1701 }, { 224,1701 }, { 225,1701 },
457 { 226,1701 }, { 227,1701 }, { 228,1701 }, { 229,1701 }, { 230,1701 },
458
459 { 231,1701 }, { 232,1701 }, { 233,1701 }, { 234,1701 }, { 235,1701 },
460 { 236,1701 }, { 237,1701 }, { 238,1701 }, { 239,1701 }, { 240,1701 },
461 { 241,1701 }, { 242,1701 }, { 243,1701 }, { 244,1701 }, { 245,1701 },
462 { 246,1701 }, { 247,1701 }, { 248,1701 }, { 249,1701 }, { 250,1701 },
463 { 251,1701 }, { 252,1701 }, { 253,1701 }, { 254,1701 }, { 255,1701 },
464 { 256,1701 }, { 0, 9 }, { 0,5969 }, { 1,1443 }, { 2,1443 },
465 { 3,1443 }, { 4,1443 }, { 5,1443 }, { 6,1443 }, { 7,1443 },
466 { 8,1443 }, { 9,1701 }, { 10,1324 }, { 11,1443 }, { 12,1443 },
467 { 13,1443 }, { 14,1443 }, { 15,1443 }, { 16,1443 }, { 17,1443 },
468 { 18,1443 }, { 19,1443 }, { 20,1443 }, { 21,1443 }, { 22,1443 },
469
470 { 23,1443 }, { 24,1443 }, { 25,1443 }, { 26,1443 }, { 27,1443 },
471 { 28,1443 }, { 29,1443 }, { 30,1443 }, { 31,1443 }, { 32,1701 },
472 { 33,1443 }, { 34,1443 }, { 35,1443 }, { 36,1443 }, { 37,1443 },
473 { 38,1443 }, { 39,1443 }, { 40,1443 }, { 41,1443 }, { 42,1443 },
474 { 43,1443 }, { 44,1443 }, { 45,1443 }, { 46,1443 }, { 47,1443 },
475 { 48,1443 }, { 49,1443 }, { 50,1443 }, { 51,1443 }, { 52,1443 },
476 { 53,1443 }, { 54,1443 }, { 55,1443 }, { 56,1443 }, { 57,1443 },
477 { 58,1443 }, { 59,1336 }, { 60,1443 }, { 61,1443 }, { 62,1443 },
478 { 63,1443 }, { 64,1443 }, { 65,1443 }, { 66,1443 }, { 67,1443 },
479 { 68,1443 }, { 69,1443 }, { 70,1443 }, { 71,1443 }, { 72,1443 },
480
481 { 73,1443 }, { 74,1443 }, { 75,1443 }, { 76,1443 }, { 77,1443 },
482 { 78,1443 }, { 79,1443 }, { 80,1443 }, { 81,1443 }, { 82,1443 },
483 { 83,1443 }, { 84,1443 }, { 85,1443 }, { 86,1443 }, { 87,1443 },
484 { 88,1443 }, { 89,1443 }, { 90,1443 }, { 91,1443 }, { 92,1443 },
485 { 93,1443 }, { 94,1443 }, { 95,1443 }, { 96,1443 }, { 97,1443 },
486 { 98,1443 }, { 99,1443 }, { 100,1443 }, { 101,1443 }, { 102,1443 },
487 { 103,1443 }, { 104,1443 }, { 105,1443 }, { 106,1443 }, { 107,1443 },
488 { 108,1443 }, { 109,1443 }, { 110,1443 }, { 111,1443 }, { 112,1443 },
489 { 113,1443 }, { 114,1443 }, { 115,1443 }, { 116,1443 }, { 117,1443 },
490 { 118,1443 }, { 119,1443 }, { 120,1443 }, { 121,1443 }, { 122,1443 },
491
492 { 123,1443 }, { 124,1443 }, { 125,1443 }, { 126,1443 }, { 127,1443 },
493 { 128,1443 }, { 129,1443 }, { 130,1443 }, { 131,1443 }, { 132,1443 },
494 { 133,1443 }, { 134,1443 }, { 135,1443 }, { 136,1443 }, { 137,1443 },
495 { 138,1443 }, { 139,1443 }, { 140,1443 }, { 141,1443 }, { 142,1443 },
496 { 143,1443 }, { 144,1443 }, { 145,1443 }, { 146,1443 }, { 147,1443 },
497 { 148,1443 }, { 149,1443 }, { 150,1443 }, { 151,1443 }, { 152,1443 },
498 { 153,1443 }, { 154,1443 }, { 155,1443 }, { 156,1443 }, { 157,1443 },
499 { 158,1443 }, { 159,1443 }, { 160,1443 }, { 161,1443 }, { 162,1443 },
500 { 163,1443 }, { 164,1443 }, { 165,1443 }, { 166,1443 }, { 167,1443 },
501 { 168,1443 }, { 169,1443 }, { 170,1443 }, { 171,1443 }, { 172,1443 },
502
503 { 173,1443 }, { 174,1443 }, { 175,1443 }, { 176,1443 }, { 177,1443 },
504 { 178,1443 }, { 179,1443 }, { 180,1443 }, { 181,1443 }, { 182,1443 },
505 { 183,1443 }, { 184,1443 }, { 185,1443 }, { 186,1443 }, { 187,1443 },
506 { 188,1443 }, { 189,1443 }, { 190,1443 }, { 191,1443 }, { 192,1443 },
507 { 193,1443 }, { 194,1443 }, { 195,1443 }, { 196,1443 }, { 197,1443 },
508 { 198,1443 }, { 199,1443 }, { 200,1443 }, { 201,1443 }, { 202,1443 },
509 { 203,1443 }, { 204,1443 }, { 205,1443 }, { 206,1443 }, { 207,1443 },
510 { 208,1443 }, { 209,1443 }, { 210,1443 }, { 211,1443 }, { 212,1443 },
511 { 213,1443 }, { 214,1443 }, { 215,1443 }, { 216,1443 }, { 217,1443 },
512 { 218,1443 }, { 219,1443 }, { 220,1443 }, { 221,1443 }, { 222,1443 },
513
514 { 223,1443 }, { 224,1443 }, { 225,1443 }, { 226,1443 }, { 227,1443 },
515 { 228,1443 }, { 229,1443 }, { 230,1443 }, { 231,1443 }, { 232,1443 },
516 { 233,1443 }, { 234,1443 }, { 235,1443 }, { 236,1443 }, { 237,1443 },
517 { 238,1443 }, { 239,1443 }, { 240,1443 }, { 241,1443 }, { 242,1443 },
518 { 243,1443 }, { 244,1443 }, { 245,1443 }, { 246,1443 }, { 247,1443 },
519 { 248,1443 }, { 249,1443 }, { 250,1443 }, { 251,1443 }, { 252,1443 },
520 { 253,1443 }, { 254,1443 }, { 255,1443 }, { 256,1443 }, { 0, 4 },
521 { 0,5711 }, { 1,1080 }, { 2,1080 }, { 3,1080 }, { 4,1080 },
522 { 5,1080 }, { 6,1080 }, { 7,1080 }, { 8,1080 }, { 9,1701 },
523 { 10,1703 }, { 11,1080 }, { 12,1080 }, { 13,1080 }, { 14,1080 },
524
525 { 15,1080 }, { 16,1080 }, { 17,1080 }, { 18,1080 }, { 19,1080 },
526 { 20,1080 }, { 21,1080 }, { 22,1080 }, { 23,1080 }, { 24,1080 },
527 { 25,1080 }, { 26,1080 }, { 27,1080 }, { 28,1080 }, { 29,1080 },
528 { 30,1080 }, { 31,1080 }, { 32,1701 }, { 33,1080 }, { 34,1080 },
529 { 35,1080 }, { 36,1080 }, { 37,1080 }, { 38,1080 }, { 39,1080 },
530 { 40,1080 }, { 41,1080 }, { 42,1080 }, { 43,1080 }, { 44,1701 },
531 { 45,1080 }, { 46,1080 }, { 47,1080 }, { 48,1705 }, { 49,1705 },
532 { 50,1705 }, { 51,1705 }, { 52,1705 }, { 53,1705 }, { 54,1705 },
533 { 55,1705 }, { 56,1705 }, { 57,1705 }, { 58,1080 }, { 59,1707 },
534 { 60,1080 }, { 61,1080 }, { 62,1080 }, { 63,1080 }, { 64,1080 },
535
536 { 65,1705 }, { 66,1705 }, { 67,1705 }, { 68,1705 }, { 69,1705 },
537 { 70,1705 }, { 71,1705 }, { 72,1705 }, { 73,1705 }, { 74,1705 },
538 { 75,1705 }, { 76,1705 }, { 77,1705 }, { 78,1705 }, { 79,1705 },
539 { 80,1705 }, { 81,1705 }, { 82,1705 }, { 83,1705 }, { 84,1705 },
540 { 85,1705 }, { 86,1705 }, { 87,1705 }, { 88,1705 }, { 89,1705 },
541 { 90,1705 }, { 91,1080 }, { 92,1080 }, { 93,1080 }, { 94,1080 },
542 { 95,1705 }, { 96,1080 }, { 97,1705 }, { 98,1705 }, { 99,1705 },
543 { 100,1705 }, { 101,1705 }, { 102,1705 }, { 103,1705 }, { 104,1705 },
544 { 105,1705 }, { 106,1705 }, { 107,1705 }, { 108,1705 }, { 109,1705 },
545 { 110,1705 }, { 111,1705 }, { 112,1705 }, { 113,1705 }, { 114,1705 },
546
547 { 115,1705 }, { 116,1705 }, { 117,1705 }, { 118,1705 }, { 119,1705 },
548 { 120,1705 }, { 121,1705 }, { 122,1705 }, { 123,1829 }, { 124,1080 },
549 { 125,1080 }, { 126,1080 }, { 127,1080 }, { 128,1080 }, { 129,1080 },
550 { 130,1080 }, { 131,1080 }, { 132,1080 }, { 133,1080 }, { 134,1080 },
551 { 135,1080 }, { 136,1080 }, { 137,1080 }, { 138,1080 }, { 139,1080 },
552 { 140,1080 }, { 141,1080 }, { 142,1080 }, { 143,1080 }, { 144,1080 },
553 { 145,1080 }, { 146,1080 }, { 147,1080 }, { 148,1080 }, { 149,1080 },
554 { 150,1080 }, { 151,1080 }, { 152,1080 }, { 153,1080 }, { 154,1080 },
555 { 155,1080 }, { 156,1080 }, { 157,1080 }, { 158,1080 }, { 159,1080 },
556 { 160,1080 }, { 161,1080 }, { 162,1080 }, { 163,1080 }, { 164,1080 },
557
558 { 165,1080 }, { 166,1080 }, { 167,1080 }, { 168,1080 }, { 169,1080 },
559 { 170,1080 }, { 171,1080 }, { 172,1080 }, { 173,1080 }, { 174,1080 },
560 { 175,1080 }, { 176,1080 }, { 177,1080 }, { 178,1080 }, { 179,1080 },
561 { 180,1080 }, { 181,1080 }, { 182,1080 }, { 183,1080 }, { 184,1080 },
562 { 185,1080 }, { 186,1080 }, { 187,1080 }, { 188,1080 }, { 189,1080 },
563 { 190,1080 }, { 191,1080 }, { 192,1080 }, { 193,1080 }, { 194,1080 },
564 { 195,1080 }, { 196,1080 }, { 197,1080 }, { 198,1080 }, { 199,1080 },
565 { 200,1080 }, { 201,1080 }, { 202,1080 }, { 203,1080 }, { 204,1080 },
566 { 205,1080 }, { 206,1080 }, { 207,1080 }, { 208,1080 }, { 209,1080 },
567 { 210,1080 }, { 211,1080 }, { 212,1080 }, { 213,1080 }, { 214,1080 },
568
569 { 215,1080 }, { 216,1080 }, { 217,1080 }, { 218,1080 }, { 219,1080 },
570 { 220,1080 }, { 221,1080 }, { 222,1080 }, { 223,1080 }, { 224,1080 },
571 { 225,1080 }, { 226,1080 }, { 227,1080 }, { 228,1080 }, { 229,1080 },
572 { 230,1080 }, { 231,1080 }, { 232,1080 }, { 233,1080 }, { 234,1080 },
573 { 235,1080 }, { 236,1080 }, { 237,1080 }, { 238,1080 }, { 239,1080 },
574 { 240,1080 }, { 241,1080 }, { 242,1080 }, { 243,1080 }, { 244,1080 },
575 { 245,1080 }, { 246,1080 }, { 247,1080 }, { 248,1080 }, { 249,1080 },
576 { 250,1080 }, { 251,1080 }, { 252,1080 }, { 253,1080 }, { 254,1080 },
577 { 255,1080 }, { 256,1080 }, { 0, 4 }, { 0,5453 }, { 1, 822 },
578 { 2, 822 }, { 3, 822 }, { 4, 822 }, { 5, 822 }, { 6, 822 },
579
580 { 7, 822 }, { 8, 822 }, { 9,1443 }, { 10,1445 }, { 11, 822 },
581 { 12, 822 }, { 13, 822 }, { 14, 822 }, { 15, 822 }, { 16, 822 },
582 { 17, 822 }, { 18, 822 }, { 19, 822 }, { 20, 822 }, { 21, 822 },
583 { 22, 822 }, { 23, 822 }, { 24, 822 }, { 25, 822 }, { 26, 822 },
584 { 27, 822 }, { 28, 822 }, { 29, 822 }, { 30, 822 }, { 31, 822 },
585 { 32,1443 }, { 33, 822 }, { 34, 822 }, { 35, 822 }, { 36, 822 },
586 { 37, 822 }, { 38, 822 }, { 39, 822 }, { 40, 822 }, { 41, 822 },
587 { 42, 822 }, { 43, 822 }, { 44,1443 }, { 45, 822 }, { 46, 822 },
588 { 47, 822 }, { 48,1447 }, { 49,1447 }, { 50,1447 }, { 51,1447 },
589 { 52,1447 }, { 53,1447 }, { 54,1447 }, { 55,1447 }, { 56,1447 },
590
591 { 57,1447 }, { 58, 822 }, { 59,1449 }, { 60, 822 }, { 61, 822 },
592 { 62, 822 }, { 63, 822 }, { 64, 822 }, { 65,1447 }, { 66,1447 },
593 { 67,1447 }, { 68,1447 }, { 69,1447 }, { 70,1447 }, { 71,1447 },
594 { 72,1447 }, { 73,1447 }, { 74,1447 }, { 75,1447 }, { 76,1447 },
595 { 77,1447 }, { 78,1447 }, { 79,1447 }, { 80,1447 }, { 81,1447 },
596 { 82,1447 }, { 83,1447 }, { 84,1447 }, { 85,1447 }, { 86,1447 },
597 { 87,1447 }, { 88,1447 }, { 89,1447 }, { 90,1447 }, { 91, 822 },
598 { 92, 822 }, { 93, 822 }, { 94, 822 }, { 95,1447 }, { 96, 822 },
599 { 97,1447 }, { 98,1447 }, { 99,1447 }, { 100,1447 }, { 101,1447 },
600 { 102,1447 }, { 103,1447 }, { 104,1447 }, { 105,1447 }, { 106,1447 },
601
602 { 107,1447 }, { 108,1447 }, { 109,1447 }, { 110,1447 }, { 111,1447 },
603 { 112,1447 }, { 113,1447 }, { 114,1447 }, { 115,1447 }, { 116,1447 },
604 { 117,1447 }, { 118,1447 }, { 119,1447 }, { 120,1447 }, { 121,1447 },
605 { 122,1447 }, { 123,1571 }, { 124, 822 }, { 125, 822 }, { 126, 822 },
606 { 127, 822 }, { 128, 822 }, { 129, 822 }, { 130, 822 }, { 131, 822 },
607 { 132, 822 }, { 133, 822 }, { 134, 822 }, { 135, 822 }, { 136, 822 },
608 { 137, 822 }, { 138, 822 }, { 139, 822 }, { 140, 822 }, { 141, 822 },
609 { 142, 822 }, { 143, 822 }, { 144, 822 }, { 145, 822 }, { 146, 822 },
610 { 147, 822 }, { 148, 822 }, { 149, 822 }, { 150, 822 }, { 151, 822 },
611 { 152, 822 }, { 153, 822 }, { 154, 822 }, { 155, 822 }, { 156, 822 },
612
613 { 157, 822 }, { 158, 822 }, { 159, 822 }, { 160, 822 }, { 161, 822 },
614 { 162, 822 }, { 163, 822 }, { 164, 822 }, { 165, 822 }, { 166, 822 },
615 { 167, 822 }, { 168, 822 }, { 169, 822 }, { 170, 822 }, { 171, 822 },
616 { 172, 822 }, { 173, 822 }, { 174, 822 }, { 175, 822 }, { 176, 822 },
617 { 177, 822 }, { 178, 822 }, { 179, 822 }, { 180, 822 }, { 181, 822 },
618 { 182, 822 }, { 183, 822 }, { 184, 822 }, { 185, 822 }, { 186, 822 },
619 { 187, 822 }, { 188, 822 }, { 189, 822 }, { 190, 822 }, { 191, 822 },
620 { 192, 822 }, { 193, 822 }, { 194, 822 }, { 195, 822 }, { 196, 822 },
621 { 197, 822 }, { 198, 822 }, { 199, 822 }, { 200, 822 }, { 201, 822 },
622 { 202, 822 }, { 203, 822 }, { 204, 822 }, { 205, 822 }, { 206, 822 },
623
624 { 207, 822 }, { 208, 822 }, { 209, 822 }, { 210, 822 }, { 211, 822 },
625 { 212, 822 }, { 213, 822 }, { 214, 822 }, { 215, 822 }, { 216, 822 },
626 { 217, 822 }, { 218, 822 }, { 219, 822 }, { 220, 822 }, { 221, 822 },
627 { 222, 822 }, { 223, 822 }, { 224, 822 }, { 225, 822 }, { 226, 822 },
628 { 227, 822 }, { 228, 822 }, { 229, 822 }, { 230, 822 }, { 231, 822 },
629 { 232, 822 }, { 233, 822 }, { 234, 822 }, { 235, 822 }, { 236, 822 },
630 { 237, 822 }, { 238, 822 }, { 239, 822 }, { 240, 822 }, { 241, 822 },
631 { 242, 822 }, { 243, 822 }, { 244, 822 }, { 245, 822 }, { 246, 822 },
632 { 247, 822 }, { 248, 822 }, { 249, 822 }, { 250, 822 }, { 251, 822 },
633 { 252, 822 }, { 253, 822 }, { 254, 822 }, { 255, 822 }, { 256, 822 },
634
635 { 0, 60 }, { 0,5195 }, { 0, 58 }, { 0,5193 }, { 0, 59 },
636 { 0,5191 }, { 0, 60 }, { 0,5189 }, { 0, 60 }, { 0,5187 },
637 { 0, 0 }, { 0, 0 }, { 9,1191 }, { 0, 0 }, { 0, 0 },
638 { 12,1191 }, { 0, 0 }, { 0, 56 }, { 0,5178 }, { 0, 28 },
639 { 0,5176 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
640 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
641 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
642 { 32,1191 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
643 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,1565 }, { 0, 0 },
644 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
645
646 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,1637 },
647 { 48,1588 }, { 49,1588 }, { 50,1588 }, { 51,1588 }, { 52,1588 },
648 { 53,1588 }, { 54,1588 }, { 55,1588 }, { 56,1588 }, { 57,1588 },
649 { 0, 0 }, { 48,1637 }, { 49,1637 }, { 50,1637 }, { 51,1637 },
650 { 52,1637 }, { 53,1637 }, { 54,1637 }, { 55,1637 }, { 56,1637 },
651 { 57,1637 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
652 { 73,1568 }, { 61,1560 }, { 73,1569 }, { 65,1637 }, { 66,1637 },
653 { 67,1637 }, { 68,1637 }, { 69,1637 }, { 70,1637 }, { 71,1637 },
654 { 72,1637 }, { 73,1637 }, { 74,1637 }, { 75,1637 }, { 76,1637 },
655 { 77,1637 }, { 78,1637 }, { 79,1637 }, { 80,1637 }, { 81,1637 },
656
657 { 82,1637 }, { 83,1637 }, { 84,1637 }, { 85,1637 }, { 86,1637 },
658 { 87,1637 }, { 88,1637 }, { 89,1637 }, { 90,1637 }, { 0, 0 },
659 { 0, 0 }, { 0, 0 }, { 105,1568 }, { 95,1637 }, { 105,1569 },
660 { 97,1637 }, { 98,1637 }, { 99,1637 }, { 100,1637 }, { 101,1637 },
661 { 102,1637 }, { 103,1637 }, { 104,1637 }, { 105,1637 }, { 106,1637 },
662 { 107,1637 }, { 108,1637 }, { 109,1637 }, { 110,1637 }, { 111,1637 },
663 { 112,1637 }, { 113,1637 }, { 114,1637 }, { 115,1637 }, { 116,1637 },
664 { 117,1637 }, { 118,1637 }, { 119,1637 }, { 120,1637 }, { 121,1637 },
665 { 122,1637 }, { 0, 60 }, { 0,5054 }, { 1,1637 }, { 2,1637 },
666 { 3,1637 }, { 4,1637 }, { 5,1637 }, { 6,1637 }, { 7,1637 },
667
668 { 8,1637 }, { 9,1637 }, { 10,1637 }, { 11,1637 }, { 12,1637 },
669 { 13,1637 }, { 14,1637 }, { 15,1637 }, { 16,1637 }, { 17,1637 },
670 { 18,1637 }, { 19,1637 }, { 20,1637 }, { 21,1637 }, { 22,1637 },
671 { 23,1637 }, { 24,1637 }, { 25,1637 }, { 26,1637 }, { 27,1637 },
672 { 28,1637 }, { 29,1637 }, { 30,1637 }, { 31,1637 }, { 32,1637 },
673 { 33,1637 }, { 34,1637 }, { 35,1637 }, { 36,1637 }, { 37,1637 },
674 { 38,1637 }, { 39,1455 }, { 40,1637 }, { 41,1637 }, { 42,1637 },
675 { 43,1637 }, { 44,1637 }, { 45,1637 }, { 46,1637 }, { 47,1637 },
676 { 48,1637 }, { 49,1637 }, { 50,1637 }, { 51,1637 }, { 52,1637 },
677 { 53,1637 }, { 54,1637 }, { 55,1637 }, { 56,1637 }, { 57,1637 },
678
679 { 58,1637 }, { 59,1637 }, { 60,1637 }, { 61,1637 }, { 62,1637 },
680 { 63,1637 }, { 64,1637 }, { 65,1637 }, { 66,1637 }, { 67,1637 },
681 { 68,1637 }, { 69,1637 }, { 70,1637 }, { 71,1637 }, { 72,1637 },
682 { 73,1637 }, { 74,1637 }, { 75,1637 }, { 76,1637 }, { 77,1637 },
683 { 78,1637 }, { 79,1637 }, { 80,1637 }, { 81,1637 }, { 82,1637 },
684 { 83,1637 }, { 84,1637 }, { 85,1637 }, { 86,1637 }, { 87,1637 },
685 { 88,1637 }, { 89,1637 }, { 90,1637 }, { 91,1637 }, { 92,1637 },
686 { 93,1637 }, { 94,1637 }, { 95,1637 }, { 96,1637 }, { 97,1637 },
687 { 98,1637 }, { 99,1637 }, { 100,1637 }, { 101,1637 }, { 102,1637 },
688 { 103,1637 }, { 104,1637 }, { 105,1637 }, { 106,1637 }, { 107,1637 },
689
690 { 108,1637 }, { 109,1637 }, { 110,1637 }, { 111,1637 }, { 112,1637 },
691 { 113,1637 }, { 114,1637 }, { 115,1637 }, { 116,1637 }, { 117,1637 },
692 { 118,1637 }, { 119,1637 }, { 120,1637 }, { 121,1637 }, { 122,1637 },
693 { 123,1637 }, { 124,1637 }, { 125,1637 }, { 126,1637 }, { 127,1637 },
694 { 128,1637 }, { 129,1637 }, { 130,1637 }, { 131,1637 }, { 132,1637 },
695 { 133,1637 }, { 134,1637 }, { 135,1637 }, { 136,1637 }, { 137,1637 },
696 { 138,1637 }, { 139,1637 }, { 140,1637 }, { 141,1637 }, { 142,1637 },
697 { 143,1637 }, { 144,1637 }, { 145,1637 }, { 146,1637 }, { 147,1637 },
698 { 148,1637 }, { 149,1637 }, { 150,1637 }, { 151,1637 }, { 152,1637 },
699 { 153,1637 }, { 154,1637 }, { 155,1637 }, { 156,1637 }, { 157,1637 },
700
701 { 158,1637 }, { 159,1637 }, { 160,1637 }, { 161,1637 }, { 162,1637 },
702 { 163,1637 }, { 164,1637 }, { 165,1637 }, { 166,1637 }, { 167,1637 },
703 { 168,1637 }, { 169,1637 }, { 170,1637 }, { 171,1637 }, { 172,1637 },
704 { 173,1637 }, { 174,1637 }, { 175,1637 }, { 176,1637 }, { 177,1637 },
705 { 178,1637 }, { 179,1637 }, { 180,1637 }, { 181,1637 }, { 182,1637 },
706 { 183,1637 }, { 184,1637 }, { 185,1637 }, { 186,1637 }, { 187,1637 },
707 { 188,1637 }, { 189,1637 }, { 190,1637 }, { 191,1637 }, { 192,1637 },
708 { 193,1637 }, { 194,1637 }, { 195,1637 }, { 196,1637 }, { 197,1637 },
709 { 198,1637 }, { 199,1637 }, { 200,1637 }, { 201,1637 }, { 202,1637 },
710 { 203,1637 }, { 204,1637 }, { 205,1637 }, { 206,1637 }, { 207,1637 },
711
712 { 208,1637 }, { 209,1637 }, { 210,1637 }, { 211,1637 }, { 212,1637 },
713 { 213,1637 }, { 214,1637 }, { 215,1637 }, { 216,1637 }, { 217,1637 },
714 { 218,1637 }, { 219,1637 }, { 220,1637 }, { 221,1637 }, { 222,1637 },
715 { 223,1637 }, { 224,1637 }, { 225,1637 }, { 226,1637 }, { 227,1637 },
716 { 228,1637 }, { 229,1637 }, { 230,1637 }, { 231,1637 }, { 232,1637 },
717 { 233,1637 }, { 234,1637 }, { 235,1637 }, { 236,1637 }, { 237,1637 },
718 { 238,1637 }, { 239,1637 }, { 240,1637 }, { 241,1637 }, { 242,1637 },
719 { 243,1637 }, { 244,1637 }, { 245,1637 }, { 246,1637 }, { 247,1637 },
720 { 248,1637 }, { 249,1637 }, { 250,1637 }, { 251,1637 }, { 252,1637 },
721 { 253,1637 }, { 254,1637 }, { 255,1637 }, { 256,1637 }, { 0, 17 },
722
723 { 0,4796 }, { 0, 18 }, { 0,4794 }, { 0, 23 }, { 0,4792 },
724 { 0, 24 }, { 0,4790 }, { 0, 39 }, { 0,4788 }, { 0, 25 },
725 { 0,4786 }, { 0, 40 }, { 0,4784 }, { 0, 42 }, { 0,4782 },
726 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
727 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
728 { 0, 0 }, { 0, 0 }, { 0, 55 }, { 0,4768 }, { 0, 46 },
729 { 0,4766 }, { 0, 47 }, { 0,4764 }, { 0, 0 }, { 0, 0 },
730 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
731 { 0, 50 }, { 0,4755 }, { 42,1199 }, { 0, 52 }, { 0,4752 },
732 { 0, 0 }, { 46,1201 }, { 0, 51 }, { 0,4748 }, { 0, 43 },
733
734 { 0,4746 }, { 0, 21 }, { 0,4744 }, { 41,1197 }, { 0, 22 },
735 { 0,4741 }, { 0, 44 }, { 0,4739 }, { 46,1199 }, { 0, 0 },
736 { 0, 0 }, { 47,1199 }, { 0, 0 }, { 35,1609 }, { 0, 0 },
737 { 61,1199 }, { 0, 0 }, { 61,1199 }, { 0, 16 }, { 0,4727 },
738 { 0, 0 }, { 61,1197 }, { 0, 29 }, { 0,4723 }, { 46,1632 },
739 { 61,1201 }, { 48,1668 }, { 49,1668 }, { 50,1668 }, { 51,1668 },
740 { 52,1668 }, { 53,1668 }, { 54,1668 }, { 55,1668 }, { 56,1668 },
741 { 57,1668 }, { 0, 55 }, { 0,4709 }, { 0, 38 }, { 0,4707 },
742 { 0, 0 }, { 61,1189 }, { 0, 0 }, { 65,1727 }, { 66,1786 },
743 { 67,1727 }, { 68,1727 }, { 69,1846 }, { 70,1727 }, { 0, 0 },
744
745 { 72,1189 }, { 60,1217 }, { 61,1219 }, { 62,1221 }, { 0, 0 },
746 { 36,1582 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 61,1216 },
747 { 62,1239 }, { 42,1584 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
748 { 0, 0 }, { 88,1871 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
749 { 0, 0 }, { 0, 0 }, { 35,1550 }, { 0, 0 }, { 0, 0 },
750 { 97,1727 }, { 98,1786 }, { 99,1727 }, { 100,1727 }, { 101,1846 },
751 { 102,1727 }, { 0, 0 }, { 104,1189 }, { 46,1573 }, { 61,1582 },
752 { 48,1609 }, { 49,1609 }, { 50,1609 }, { 51,1609 }, { 52,1609 },
753 { 53,1609 }, { 54,1609 }, { 55,1609 }, { 56,1609 }, { 57,1609 },
754 { 0, 56 }, { 0,4650 }, { 0, 0 }, { 120,1871 }, { 0, 0 },
755
756 { 0, 9 }, { 0,4645 }, { 65,1668 }, { 66,1727 }, { 67,1668 },
757 { 68,1668 }, { 69,1787 }, { 70,1668 }, { 0, 0 }, { 72,1130 },
758 { 9,1514 }, { 10,1514 }, { 0, 11 }, { 0,4633 }, { 0, 8 },
759 { 0,4631 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
760 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
761 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
762 { 0, 0 }, { 0, 0 }, { 36,1109 }, { 32,1514 }, { 97,1668 },
763 { 98,1727 }, { 99,1668 }, { 100,1668 }, { 101,1787 }, { 102,1668 },
764 { 0, 0 }, { 104,1130 }, { 0, 0 }, { 0, 0 }, { 48,1109 },
765 { 49,1109 }, { 50,1109 }, { 51,1109 }, { 52,1109 }, { 53,1109 },
766
767 { 54,1109 }, { 55,1109 }, { 56,1109 }, { 57,1109 }, { 0, 0 },
768 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
769 { 0, 0 }, { 65,1109 }, { 66,1109 }, { 67,1109 }, { 68,1109 },
770 { 69,1109 }, { 70,1109 }, { 71,1109 }, { 72,1109 }, { 73,1109 },
771 { 74,1109 }, { 75,1109 }, { 76,1109 }, { 77,1109 }, { 78,1109 },
772 { 79,1109 }, { 80,1109 }, { 81,1109 }, { 82,1109 }, { 83,1812 },
773 { 84,1109 }, { 85,1109 }, { 86,1109 }, { 87,1109 }, { 88,1109 },
774 { 89,1109 }, { 90,1109 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
775 { 0, 0 }, { 95,1109 }, { 0, 0 }, { 97,1109 }, { 98,1109 },
776 { 99,1109 }, { 100,1109 }, { 101,1109 }, { 102,1109 }, { 103,1109 },
777
778 { 104,1109 }, { 105,1109 }, { 106,1109 }, { 107,1109 }, { 108,1109 },
779 { 109,1109 }, { 110,1109 }, { 111,1109 }, { 112,1109 }, { 113,1109 },
780 { 114,1109 }, { 115,1812 }, { 116,1109 }, { 117,1109 }, { 118,1109 },
781 { 119,1109 }, { 120,1109 }, { 121,1109 }, { 122,1109 }, { 0, 10 },
782 { 0,4526 }, { 1,1812 }, { 2,1812 }, { 3,1812 }, { 4,1812 },
783 { 5,1812 }, { 6,1812 }, { 7,1812 }, { 8,1812 }, { 9,1812 },
784 { 0, 0 }, { 11,1812 }, { 12,1812 }, { 13,1812 }, { 14,1812 },
785 { 15,1812 }, { 16,1812 }, { 17,1812 }, { 18,1812 }, { 19,1812 },
786 { 20,1812 }, { 21,1812 }, { 22,1812 }, { 23,1812 }, { 24,1812 },
787 { 25,1812 }, { 26,1812 }, { 27,1812 }, { 28,1812 }, { 29,1812 },
788
789 { 30,1812 }, { 31,1812 }, { 32,1812 }, { 33,1812 }, { 34,1812 },
790 { 35,1812 }, { 36,1812 }, { 37,1812 }, { 38,1812 }, { 39,1812 },
791 { 40,1812 }, { 41,1812 }, { 42,1812 }, { 43,1812 }, { 44,1812 },
792 { 45,1812 }, { 46,1812 }, { 47,1812 }, { 48,1812 }, { 49,1812 },
793 { 50,1812 }, { 51,1812 }, { 52,1812 }, { 53,1812 }, { 54,1812 },
794 { 55,1812 }, { 56,1812 }, { 57,1812 }, { 58,1812 }, { 59,1392 },
795 { 60,1812 }, { 61,1812 }, { 62,1812 }, { 63,1812 }, { 64,1812 },
796 { 65,1812 }, { 66,1812 }, { 67,1812 }, { 68,1812 }, { 69,1812 },
797 { 70,1812 }, { 71,1812 }, { 72,1812 }, { 73,1812 }, { 74,1812 },
798 { 75,1812 }, { 76,1812 }, { 77,1812 }, { 78,1812 }, { 79,1812 },
799
800 { 80,1812 }, { 81,1812 }, { 82,1812 }, { 83,1812 }, { 84,1812 },
801 { 85,1812 }, { 86,1812 }, { 87,1812 }, { 88,1812 }, { 89,1812 },
802 { 90,1812 }, { 91,1812 }, { 92,1812 }, { 93,1812 }, { 94,1812 },
803 { 95,1812 }, { 96,1812 }, { 97,1812 }, { 98,1812 }, { 99,1812 },
804 { 100,1812 }, { 101,1812 }, { 102,1812 }, { 103,1812 }, { 104,1812 },
805 { 105,1812 }, { 106,1812 }, { 107,1812 }, { 108,1812 }, { 109,1812 },
806 { 110,1812 }, { 111,1812 }, { 112,1812 }, { 113,1812 }, { 114,1812 },
807 { 115,1812 }, { 116,1812 }, { 117,1812 }, { 118,1812 }, { 119,1812 },
808 { 120,1812 }, { 121,1812 }, { 122,1812 }, { 123,1812 }, { 124,1812 },
809 { 125,1812 }, { 126,1812 }, { 127,1812 }, { 128,1812 }, { 129,1812 },
810
811 { 130,1812 }, { 131,1812 }, { 132,1812 }, { 133,1812 }, { 134,1812 },
812 { 135,1812 }, { 136,1812 }, { 137,1812 }, { 138,1812 }, { 139,1812 },
813 { 140,1812 }, { 141,1812 }, { 142,1812 }, { 143,1812 }, { 144,1812 },
814 { 145,1812 }, { 146,1812 }, { 147,1812 }, { 148,1812 }, { 149,1812 },
815 { 150,1812 }, { 151,1812 }, { 152,1812 }, { 153,1812 }, { 154,1812 },
816 { 155,1812 }, { 156,1812 }, { 157,1812 }, { 158,1812 }, { 159,1812 },
817 { 160,1812 }, { 161,1812 }, { 162,1812 }, { 163,1812 }, { 164,1812 },
818 { 165,1812 }, { 166,1812 }, { 167,1812 }, { 168,1812 }, { 169,1812 },
819 { 170,1812 }, { 171,1812 }, { 172,1812 }, { 173,1812 }, { 174,1812 },
820 { 175,1812 }, { 176,1812 }, { 177,1812 }, { 178,1812 }, { 179,1812 },
821
822 { 180,1812 }, { 181,1812 }, { 182,1812 }, { 183,1812 }, { 184,1812 },
823 { 185,1812 }, { 186,1812 }, { 187,1812 }, { 188,1812 }, { 189,1812 },
824 { 190,1812 }, { 191,1812 }, { 192,1812 }, { 193,1812 }, { 194,1812 },
825 { 195,1812 }, { 196,1812 }, { 197,1812 }, { 198,1812 }, { 199,1812 },
826 { 200,1812 }, { 201,1812 }, { 202,1812 }, { 203,1812 }, { 204,1812 },
827 { 205,1812 }, { 206,1812 }, { 207,1812 }, { 208,1812 }, { 209,1812 },
828 { 210,1812 }, { 211,1812 }, { 212,1812 }, { 213,1812 }, { 214,1812 },
829 { 215,1812 }, { 216,1812 }, { 217,1812 }, { 218,1812 }, { 219,1812 },
830 { 220,1812 }, { 221,1812 }, { 222,1812 }, { 223,1812 }, { 224,1812 },
831 { 225,1812 }, { 226,1812 }, { 227,1812 }, { 228,1812 }, { 229,1812 },
832
833 { 230,1812 }, { 231,1812 }, { 232,1812 }, { 233,1812 }, { 234,1812 },
834 { 235,1812 }, { 236,1812 }, { 237,1812 }, { 238,1812 }, { 239,1812 },
835 { 240,1812 }, { 241,1812 }, { 242,1812 }, { 243,1812 }, { 244,1812 },
836 { 245,1812 }, { 246,1812 }, { 247,1812 }, { 248,1812 }, { 249,1812 },
837 { 250,1812 }, { 251,1812 }, { 252,1812 }, { 253,1812 }, { 254,1812 },
838 { 255,1812 }, { 256,1812 }, { 0, 9 }, { 0,4268 }, { 1,1554 },
839 { 2,1554 }, { 3,1554 }, { 4,1554 }, { 5,1554 }, { 6,1554 },
840 { 7,1554 }, { 8,1554 }, { 9,1812 }, { 10,1137 }, { 11,1554 },
841 { 12,1554 }, { 13,1554 }, { 14,1554 }, { 15,1554 }, { 16,1554 },
842 { 17,1554 }, { 18,1554 }, { 19,1554 }, { 20,1554 }, { 21,1554 },
843
844 { 22,1554 }, { 23,1554 }, { 24,1554 }, { 25,1554 }, { 26,1554 },
845 { 27,1554 }, { 28,1554 }, { 29,1554 }, { 30,1554 }, { 31,1554 },
846 { 32,1812 }, { 33,1554 }, { 34,1554 }, { 35,1554 }, { 36,1554 },
847 { 37,1554 }, { 38,1554 }, { 39,1554 }, { 40,1554 }, { 41,1554 },
848 { 42,1554 }, { 43,1554 }, { 44,1554 }, { 45,1554 }, { 46,1554 },
849 { 47,1554 }, { 48,1554 }, { 49,1554 }, { 50,1554 }, { 51,1554 },
850 { 52,1554 }, { 53,1554 }, { 54,1554 }, { 55,1554 }, { 56,1554 },
851 { 57,1554 }, { 58,1554 }, { 59,1134 }, { 60,1554 }, { 61,1554 },
852 { 62,1554 }, { 63,1554 }, { 64,1554 }, { 65,1554 }, { 66,1554 },
853 { 67,1554 }, { 68,1554 }, { 69,1554 }, { 70,1554 }, { 71,1554 },
854
855 { 72,1554 }, { 73,1554 }, { 74,1554 }, { 75,1554 }, { 76,1554 },
856 { 77,1554 }, { 78,1554 }, { 79,1554 }, { 80,1554 }, { 81,1554 },
857 { 82,1554 }, { 83,1554 }, { 84,1554 }, { 85,1554 }, { 86,1554 },
858 { 87,1554 }, { 88,1554 }, { 89,1554 }, { 90,1554 }, { 91,1554 },
859 { 92,1554 }, { 93,1554 }, { 94,1554 }, { 95,1554 }, { 96,1554 },
860 { 97,1554 }, { 98,1554 }, { 99,1554 }, { 100,1554 }, { 101,1554 },
861 { 102,1554 }, { 103,1554 }, { 104,1554 }, { 105,1554 }, { 106,1554 },
862 { 107,1554 }, { 108,1554 }, { 109,1554 }, { 110,1554 }, { 111,1554 },
863 { 112,1554 }, { 113,1554 }, { 114,1554 }, { 115,1554 }, { 116,1554 },
864 { 117,1554 }, { 118,1554 }, { 119,1554 }, { 120,1554 }, { 121,1554 },
865
866 { 122,1554 }, { 123,1554 }, { 124,1554 }, { 125,1554 }, { 126,1554 },
867 { 127,1554 }, { 128,1554 }, { 129,1554 }, { 130,1554 }, { 131,1554 },
868 { 132,1554 }, { 133,1554 }, { 134,1554 }, { 135,1554 }, { 136,1554 },
869 { 137,1554 }, { 138,1554 }, { 139,1554 }, { 140,1554 }, { 141,1554 },
870 { 142,1554 }, { 143,1554 }, { 144,1554 }, { 145,1554 }, { 146,1554 },
871 { 147,1554 }, { 148,1554 }, { 149,1554 }, { 150,1554 }, { 151,1554 },
872 { 152,1554 }, { 153,1554 }, { 154,1554 }, { 155,1554 }, { 156,1554 },
873 { 157,1554 }, { 158,1554 }, { 159,1554 }, { 160,1554 }, { 161,1554 },
874 { 162,1554 }, { 163,1554 }, { 164,1554 }, { 165,1554 }, { 166,1554 },
875 { 167,1554 }, { 168,1554 }, { 169,1554 }, { 170,1554 }, { 171,1554 },
876
877 { 172,1554 }, { 173,1554 }, { 174,1554 }, { 175,1554 }, { 176,1554 },
878 { 177,1554 }, { 178,1554 }, { 179,1554 }, { 180,1554 }, { 181,1554 },
879 { 182,1554 }, { 183,1554 }, { 184,1554 }, { 185,1554 }, { 186,1554 },
880 { 187,1554 }, { 188,1554 }, { 189,1554 }, { 190,1554 }, { 191,1554 },
881 { 192,1554 }, { 193,1554 }, { 194,1554 }, { 195,1554 }, { 196,1554 },
882 { 197,1554 }, { 198,1554 }, { 199,1554 }, { 200,1554 }, { 201,1554 },
883 { 202,1554 }, { 203,1554 }, { 204,1554 }, { 205,1554 }, { 206,1554 },
884 { 207,1554 }, { 208,1554 }, { 209,1554 }, { 210,1554 }, { 211,1554 },
885 { 212,1554 }, { 213,1554 }, { 214,1554 }, { 215,1554 }, { 216,1554 },
886 { 217,1554 }, { 218,1554 }, { 219,1554 }, { 220,1554 }, { 221,1554 },
887
888 { 222,1554 }, { 223,1554 }, { 224,1554 }, { 225,1554 }, { 226,1554 },
889 { 227,1554 }, { 228,1554 }, { 229,1554 }, { 230,1554 }, { 231,1554 },
890 { 232,1554 }, { 233,1554 }, { 234,1554 }, { 235,1554 }, { 236,1554 },
891 { 237,1554 }, { 238,1554 }, { 239,1554 }, { 240,1554 }, { 241,1554 },
892 { 242,1554 }, { 243,1554 }, { 244,1554 }, { 245,1554 }, { 246,1554 },
893 { 247,1554 }, { 248,1554 }, { 249,1554 }, { 250,1554 }, { 251,1554 },
894 { 252,1554 }, { 253,1554 }, { 254,1554 }, { 255,1554 }, { 256,1554 },
895 { 0, 4 }, { 0,4010 }, { 0, 4 }, { 0,4008 }, { 0, 6 },
896 { 0,4006 }, { 0, 7 }, { 0,4004 }, { 0, 58 }, { 0,4002 },
897 { 9,1812 }, { 10,1812 }, { 9,1810 }, { 10,1810 }, { 0, 0 },
898
899 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9, 0 }, { 0, 0 },
900 { 0, 0 }, { 12, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
901 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
902 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32,1812 }, { 0, 0 },
903 { 32,1810 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
904 { 0, 0 }, { 32, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
905 { 44,1812 }, { 0, 0 }, { 44,1810 }, { 0, 0 }, { 0, 0 },
906 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,1810 }, { 49,1810 },
907 { 50,1810 }, { 51,1810 }, { 52,1810 }, { 53,1810 }, { 54,1810 },
908 { 55,1810 }, { 56,1810 }, { 57,1810 }, { 0, 0 }, { 0, 0 },
909
910 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
911 { 65,1810 }, { 66,1810 }, { 67,1810 }, { 68,1810 }, { 69,1810 },
912 { 70,1810 }, { 71,1810 }, { 72,1810 }, { 73,1810 }, { 74,1810 },
913 { 75,1810 }, { 76,1810 }, { 77,1810 }, { 78,1810 }, { 79,1810 },
914 { 80,1810 }, { 81,1810 }, { 82,1810 }, { 83,1810 }, { 84,1810 },
915 { 85,1810 }, { 86,1810 }, { 87,1810 }, { 88,1810 }, { 89,1810 },
916 { 90,1810 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
917 { 95,1810 }, { 0, 0 }, { 97,1810 }, { 98,1810 }, { 99,1810 },
918 { 100,1810 }, { 101,1810 }, { 102,1810 }, { 103,1810 }, { 104,1810 },
919 { 105,1810 }, { 106,1810 }, { 107,1810 }, { 108,1810 }, { 109,1810 },
920
921 { 110,1810 }, { 111,1810 }, { 112,1810 }, { 113,1810 }, { 114,1810 },
922 { 115,1810 }, { 116,1810 }, { 117,1810 }, { 118,1810 }, { 119,1810 },
923 { 120,1810 }, { 121,1810 }, { 122,1810 }, { 0, 8 }, { 0,3882 },
924 { 1,1810 }, { 2,1810 }, { 3,1810 }, { 4,1810 }, { 5,1810 },
925 { 6,1810 }, { 7,1810 }, { 8,1810 }, { 9,1810 }, { 10,1810 },
926 { 11,1810 }, { 12,1810 }, { 13,1810 }, { 14,1810 }, { 15,1810 },
927 { 16,1810 }, { 17,1810 }, { 18,1810 }, { 19,1810 }, { 20,1810 },
928 { 21,1810 }, { 22,1810 }, { 23,1810 }, { 24,1810 }, { 25,1810 },
929 { 26,1810 }, { 27,1810 }, { 28,1810 }, { 29,1810 }, { 30,1810 },
930 { 31,1810 }, { 32,1810 }, { 33,1810 }, { 34,1810 }, { 35,1810 },
931
932 { 36,1810 }, { 37,1810 }, { 38,1810 }, { 39,1810 }, { 40,1810 },
933 { 41,1810 }, { 42,1810 }, { 43,1810 }, { 44,1810 }, { 45,1810 },
934 { 46,1810 }, { 47,1810 }, { 48,1810 }, { 49,1810 }, { 50,1810 },
935 { 51,1810 }, { 52,1810 }, { 53,1810 }, { 54,1810 }, { 55,1810 },
936 { 56,1810 }, { 57,1810 }, { 58,1810 }, { 59,1810 }, { 60,1810 },
937 { 61,1810 }, { 62,1810 }, { 63,1810 }, { 64,1810 }, { 65,1810 },
938 { 66,1810 }, { 67,1810 }, { 68,1810 }, { 69,1810 }, { 70,1810 },
939 { 71,1810 }, { 72,1810 }, { 73,1810 }, { 74,1810 }, { 75,1810 },
940 { 76,1810 }, { 77,1810 }, { 78,1810 }, { 79,1810 }, { 80,1810 },
941 { 81,1810 }, { 82,1810 }, { 83,1810 }, { 84,1810 }, { 85,1810 },
942
943 { 86,1810 }, { 87,1810 }, { 88,1810 }, { 89,1810 }, { 90,1810 },
944 { 91,1810 }, { 92,1810 }, { 93,1810 }, { 94,1810 }, { 95,1810 },
945 { 96,1810 }, { 97,1810 }, { 98,1810 }, { 99,1810 }, { 100,1810 },
946 { 101,1810 }, { 102,1810 }, { 103,1810 }, { 104,1810 }, { 105,1810 },
947 { 106,1810 }, { 107,1810 }, { 108,1810 }, { 109,1810 }, { 110,1810 },
948 { 111,1810 }, { 112,1810 }, { 113,1810 }, { 114,1810 }, { 115,1810 },
949 { 116,1810 }, { 117,1810 }, { 118,1810 }, { 119,1810 }, { 120,1810 },
950 { 121,1810 }, { 122,1810 }, { 123,1810 }, { 124,1810 }, { 125,1688 },
951 { 126,1810 }, { 127,1810 }, { 128,1810 }, { 129,1810 }, { 130,1810 },
952 { 131,1810 }, { 132,1810 }, { 133,1810 }, { 134,1810 }, { 135,1810 },
953
954 { 136,1810 }, { 137,1810 }, { 138,1810 }, { 139,1810 }, { 140,1810 },
955 { 141,1810 }, { 142,1810 }, { 143,1810 }, { 144,1810 }, { 145,1810 },
956 { 146,1810 }, { 147,1810 }, { 148,1810 }, { 149,1810 }, { 150,1810 },
957 { 151,1810 }, { 152,1810 }, { 153,1810 }, { 154,1810 }, { 155,1810 },
958 { 156,1810 }, { 157,1810 }, { 158,1810 }, { 159,1810 }, { 160,1810 },
959 { 161,1810 }, { 162,1810 }, { 163,1810 }, { 164,1810 }, { 165,1810 },
960 { 166,1810 }, { 167,1810 }, { 168,1810 }, { 169,1810 }, { 170,1810 },
961 { 171,1810 }, { 172,1810 }, { 173,1810 }, { 174,1810 }, { 175,1810 },
962 { 176,1810 }, { 177,1810 }, { 178,1810 }, { 179,1810 }, { 180,1810 },
963 { 181,1810 }, { 182,1810 }, { 183,1810 }, { 184,1810 }, { 185,1810 },
964
965 { 186,1810 }, { 187,1810 }, { 188,1810 }, { 189,1810 }, { 190,1810 },
966 { 191,1810 }, { 192,1810 }, { 193,1810 }, { 194,1810 }, { 195,1810 },
967 { 196,1810 }, { 197,1810 }, { 198,1810 }, { 199,1810 }, { 200,1810 },
968 { 201,1810 }, { 202,1810 }, { 203,1810 }, { 204,1810 }, { 205,1810 },
969 { 206,1810 }, { 207,1810 }, { 208,1810 }, { 209,1810 }, { 210,1810 },
970 { 211,1810 }, { 212,1810 }, { 213,1810 }, { 214,1810 }, { 215,1810 },
971 { 216,1810 }, { 217,1810 }, { 218,1810 }, { 219,1810 }, { 220,1810 },
972 { 221,1810 }, { 222,1810 }, { 223,1810 }, { 224,1810 }, { 225,1810 },
973 { 226,1810 }, { 227,1810 }, { 228,1810 }, { 229,1810 }, { 230,1810 },
974 { 231,1810 }, { 232,1810 }, { 233,1810 }, { 234,1810 }, { 235,1810 },
975
976 { 236,1810 }, { 237,1810 }, { 238,1810 }, { 239,1810 }, { 240,1810 },
977 { 241,1810 }, { 242,1810 }, { 243,1810 }, { 244,1810 }, { 245,1810 },
978 { 246,1810 }, { 247,1810 }, { 248,1810 }, { 249,1810 }, { 250,1810 },
979 { 251,1810 }, { 252,1810 }, { 253,1810 }, { 254,1810 }, { 255,1810 },
980 { 256,1810 }, { 0, 0 }, { 0,3624 }, { 0, 0 }, { 0, 0 },
981 { 0,3621 }, { 0, 0 }, { 0, 0 }, { 0,3618 }, { 0, 35 },
982 { 0,3616 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
983 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
984 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 57 },
985 { 0,3601 }, { 0, 57 }, { 0,3599 }, { 0, 14 }, { 0,3597 },
986
987 { 0, 19 }, { 0,3595 }, { 0, 30 }, { 0,3593 }, { 0, 31 },
988 { 0,3591 }, { 0, 32 }, { 0,3589 }, { 0, 20 }, { 0,3587 },
989 { 0, 41 }, { 0,3585 }, { 0, 13 }, { 0,3583 }, { 0, 37 },
990 { 0,3581 }, { 0, 55 }, { 0,3579 }, { 0, 45 }, { 0,3577 },
991 { 48,1810 }, { 49,1810 }, { 50,1810 }, { 51,1810 }, { 52,1810 },
992 { 53,1810 }, { 54,1810 }, { 55,1810 }, { 56,1810 }, { 57,1810 },
993 { 35,1810 }, { 0, 0 }, { 35,1808 }, { 0, 0 }, { 39,1891 },
994 { 0, 0 }, { 39,2250 }, { 65,1810 }, { 66,1810 }, { 67,1810 },
995 { 68,1810 }, { 69,1810 }, { 70,1810 }, { 48, 0 }, { 49, 0 },
996 { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 },
997
998 { 55, 0 }, { 56, 0 }, { 57, 0 }, { 78,2169 }, { 0, 56 },
999 { 0,3541 }, { 78,2168 }, { 0, 27 }, { 0,3538 }, { 0, 48 },
1000 { 0,3536 }, { 0, 53 }, { 0,3534 }, { 0, 49 }, { 0,3532 },
1001 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,1810 },
1002 { 98,1810 }, { 99,1810 }, { 100,1810 }, { 101,1810 }, { 102,1810 },
1003 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1004 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1005 { 110,2169 }, { 0, 26 }, { 0,3509 }, { 110,2168 }, { 0, 0 },
1006 { 0, 0 }, { 36, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1007 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1008
1009 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 },
1010 { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 },
1011 { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 },
1012 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 61,2090 },
1013 { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 },
1014 { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 },
1015 { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 },
1016 { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 },
1017 { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 },
1018 { 90, 0 }, { 0, 0 }, { 0, 0 }, { 61,2063 }, { 0, 0 },
1019
1020 { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 },
1021 { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 },
1022 { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 },
1023 { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 },
1024 { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 },
1025 { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0,3417 },
1026 { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 },
1027 { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 },
1028 { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 },
1029 { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 },
1030
1031 { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 },
1032 { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 },
1033 { 31, 0 }, { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 },
1034 { 36, 0 }, { 37, 0 }, { 38, 0 }, { 39,-182 }, { 40, 0 },
1035 { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 },
1036 { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 },
1037 { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 },
1038 { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 },
1039 { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 },
1040 { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 },
1041
1042 { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 },
1043 { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 },
1044 { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 },
1045 { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 },
1046 { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 },
1047 { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 },
1048 { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 },
1049 { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 },
1050 { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 },
1051 { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 },
1052
1053 { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 },
1054 { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 },
1055 { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 },
1056 { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 },
1057 { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 },
1058 { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 },
1059 { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 },
1060 { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 },
1061 { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 },
1062 { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 },
1063
1064 { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 },
1065 { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 },
1066 { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 },
1067 { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 },
1068 { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 },
1069 { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 },
1070 { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 },
1071 { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 },
1072 { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 },
1073 { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 },
1074
1075 { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 },
1076 { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 },
1077 { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 },
1078 { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 },
1079 { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 },
1080 { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 },
1081 { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 },
1082 { 256, 0 }, { 0, 0 }, { 0,3159 }, { 0, 0 }, { 0, 0 },
1083 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1084 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1085
1086 { 0, 0 }, { 0,3145 }, { 0, 15 }, { 0,3143 }, { 0, 36 },
1087 { 0,3141 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1088 { 0,3136 }, { 0, 10 }, { 0,3134 }, { 0, 0 }, { 0, 9 },
1089 { 0,3131 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1090 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9, 0 },
1091 { 10, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1092 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1093 { 48,2068 }, { 49,2068 }, { 50,2068 }, { 51,2068 }, { 52,2068 },
1094 { 53,2068 }, { 54,2068 }, { 55,2068 }, { 56,2068 }, { 57,2068 },
1095 { 0, 55 }, { 0,3100 }, { 32, 0 }, { 0, 0 }, { 0, 0 },
1096
1097 { 0, 0 }, { 0, 0 }, { 65,2068 }, { 66,2068 }, { 67,2068 },
1098 { 68,2068 }, { 69,2068 }, { 70,2068 }, { 48,2068 }, { 49,2068 },
1099 { 50,2068 }, { 51,2068 }, { 52,2068 }, { 53,2068 }, { 54,2068 },
1100 { 55,2068 }, { 56,2068 }, { 57,2068 }, { 0, 0 }, { 0, 0 },
1101 { 0, 0 }, { 59, 0 }, { 0, 0 }, { 0, 0 }, { 73,2381 },
1102 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1103 { 0, 0 }, { 35, -59 }, { 0, 0 }, { 0, 0 }, { 97,2068 },
1104 { 98,2068 }, { 99,2068 }, { 100,2068 }, { 101,2068 }, { 102,2068 },
1105 { 0, 0 }, { 0, 0 }, { 46, -36 }, { 0, 0 }, { 48,2069 },
1106 { 49,2069 }, { 50,2069 }, { 51,2069 }, { 52,2069 }, { 53,2069 },
1107
1108 { 54,2069 }, { 55,2069 }, { 56,2069 }, { 57,2069 }, { 0, 0 },
1109 { 0,3041 }, { 105,2381 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1110 { 0, 0 }, { 65, 59 }, { 66, 118 }, { 67, 59 }, { 68, 59 },
1111 { 69, 178 }, { 70, 59 }, { 0, 0 }, { 72,-479 }, { 0, 0 },
1112 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1113 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1114 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1115 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1116 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 59 }, { 98, 118 },
1117 { 99, 59 }, { 100, 59 }, { 101, 178 }, { 102, 59 }, { 0, 0 },
1118
1119 { 104,-479 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 },
1120 { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 },
1121 { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 55 }, { 0,2982 },
1122 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1123 { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 },
1124 { 70, 0 }, { 0, 0 }, { 72,-538 }, { 0, 0 }, { 0, 0 },
1125 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1126 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1127 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1128 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1129
1130 { 0, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 },
1131 { 100, 0 }, { 101, 0 }, { 102, 0 }, { 0, 0 }, { 104,-538 },
1132 { 0, 0 }, { 0, 0 }, { 48, -59 }, { 49, -59 }, { 50, -59 },
1133 { 51, -59 }, { 52, -59 }, { 53, -59 }, { 54, -59 }, { 55, -59 },
1134 { 56, -59 }, { 57, -59 }, { 0, 0 }, { 0, 0 }, { 0,2922 },
1135 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, -59 },
1136 { 66, -59 }, { 67, -59 }, { 68, -59 }, { 69, -59 }, { 70, -59 },
1137 { 0, 0 }, { 72,-597 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1138 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1139 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0,2897 },
1140
1141 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1142 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1143 { 0, 0 }, { 97, -59 }, { 98, -59 }, { 99, -59 }, { 100, -59 },
1144 { 101, -59 }, { 102, -59 }, { 43,1916 }, { 104,-597 }, { 45,1916 },
1145 { 0, 0 }, { 0, 0 }, { 48,1950 }, { 49,1950 }, { 50,1950 },
1146 { 51,1950 }, { 52,1950 }, { 53,1950 }, { 54,1950 }, { 55,1950 },
1147 { 56,1950 }, { 57,1950 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1148 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-119 },
1149 { 66,-119 }, { 67,-119 }, { 68,-119 }, { 69,-119 }, { 70,-119 },
1150 { 0, 0 }, { 72,-657 }, { 48,1950 }, { 49,1950 }, { 50,1950 },
1151
1152 { 51,1950 }, { 52,1950 }, { 53,1950 }, { 54,1950 }, { 55,1950 },
1153 { 56,1950 }, { 57,1950 }, { 0, 56 }, { 0,2838 }, { 0, 0 },
1154 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,1950 },
1155 { 66,1950 }, { 67,1950 }, { 68,1950 }, { 69,1950 }, { 70,1950 },
1156 { 0, 0 }, { 97,-119 }, { 98,-119 }, { 99,-119 }, { 100,-119 },
1157 { 101,-119 }, { 102,-119 }, { 0, 0 }, { 104,-657 }, { 0, 0 },
1158 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1159 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1160 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-703 },
1161 { 0, 0 }, { 97,1950 }, { 98,1950 }, { 99,1950 }, { 100,1950 },
1162
1163 { 101,1950 }, { 102,1950 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1164 { 0, 0 }, { 48,-703 }, { 49,-703 }, { 50,-703 }, { 51,-703 },
1165 { 52,-703 }, { 53,-703 }, { 54,-703 }, { 55,-703 }, { 56,-703 },
1166 { 57,-703 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1167 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-703 }, { 66,-703 },
1168 { 67,-703 }, { 68,-703 }, { 69,1950 }, { 70,-703 }, { 71,-703 },
1169 { 72,-703 }, { 73,-703 }, { 74,-703 }, { 75,-703 }, { 76,-703 },
1170 { 77,-703 }, { 78,-703 }, { 79,-703 }, { 80,-703 }, { 81,-703 },
1171 { 82,-703 }, { 83,-703 }, { 84,-703 }, { 85,-703 }, { 86,-703 },
1172 { 87,-703 }, { 88,-703 }, { 89,-703 }, { 90,-703 }, { 0, 0 },
1173
1174 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-703 }, { 0, 0 },
1175 { 97,-703 }, { 98,-703 }, { 99,-703 }, { 100,-703 }, { 101,1950 },
1176 { 102,-703 }, { 103,-703 }, { 104,-703 }, { 105,-703 }, { 106,-703 },
1177 { 107,-703 }, { 108,-703 }, { 109,-703 }, { 110,-703 }, { 111,-703 },
1178 { 112,-703 }, { 113,-703 }, { 114,-703 }, { 115,-703 }, { 116,-703 },
1179 { 117,-703 }, { 118,-703 }, { 119,-703 }, { 120,-703 }, { 121,-703 },
1180 { 122,-703 }, { 0, 10 }, { 0,2714 }, { 1, 0 }, { 2, 0 },
1181 { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 },
1182 { 8, 0 }, { 9, 0 }, { 0, 0 }, { 11, 0 }, { 12, 0 },
1183 { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 },
1184
1185 { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 },
1186 { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 },
1187 { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 0 },
1188 { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 },
1189 { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 },
1190 { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, { 47, 0 },
1191 { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 },
1192 { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 },
1193 { 58, 0 }, { 59,-420 }, { 60, 0 }, { 61, 0 }, { 62, 0 },
1194 { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 },
1195
1196 { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 },
1197 { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 },
1198 { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 },
1199 { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 },
1200 { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 },
1201 { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 },
1202 { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 },
1203 { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 },
1204 { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 },
1205 { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 },
1206
1207 { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 },
1208 { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 },
1209 { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 },
1210 { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 },
1211 { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 },
1212 { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 },
1213 { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 },
1214 { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 },
1215 { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 },
1216 { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 },
1217
1218 { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 },
1219 { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 },
1220 { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 },
1221 { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 },
1222 { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 },
1223 { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 },
1224 { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 },
1225 { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 },
1226 { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 },
1227 { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 },
1228
1229 { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 },
1230 { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 },
1231 { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 },
1232 { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 },
1233 { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 },
1234 { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 },
1235 { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 },
1236 { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 9 },
1237 { 0,2456 }, { 1,-258 }, { 2,-258 }, { 3,-258 }, { 4,-258 },
1238 { 5,-258 }, { 6,-258 }, { 7,-258 }, { 8,-258 }, { 9, 0 },
1239
1240 { 10,-675 }, { 11,-258 }, { 12,-258 }, { 13,-258 }, { 14,-258 },
1241 { 15,-258 }, { 16,-258 }, { 17,-258 }, { 18,-258 }, { 19,-258 },
1242 { 20,-258 }, { 21,-258 }, { 22,-258 }, { 23,-258 }, { 24,-258 },
1243 { 25,-258 }, { 26,-258 }, { 27,-258 }, { 28,-258 }, { 29,-258 },
1244 { 30,-258 }, { 31,-258 }, { 32, 0 }, { 33,-258 }, { 34,-258 },
1245 { 35,-258 }, { 36,-258 }, { 37,-258 }, { 38,-258 }, { 39,-258 },
1246 { 40,-258 }, { 41,-258 }, { 42,-258 }, { 43,-258 }, { 44,-258 },
1247 { 45,-258 }, { 46,-258 }, { 47,-258 }, { 48,-258 }, { 49,-258 },
1248 { 50,-258 }, { 51,-258 }, { 52,-258 }, { 53,-258 }, { 54,-258 },
1249 { 55,-258 }, { 56,-258 }, { 57,-258 }, { 58,-258 }, { 59,-678 },
1250
1251 { 60,-258 }, { 61,-258 }, { 62,-258 }, { 63,-258 }, { 64,-258 },
1252 { 65,-258 }, { 66,-258 }, { 67,-258 }, { 68,-258 }, { 69,-258 },
1253 { 70,-258 }, { 71,-258 }, { 72,-258 }, { 73,-258 }, { 74,-258 },
1254 { 75,-258 }, { 76,-258 }, { 77,-258 }, { 78,-258 }, { 79,-258 },
1255 { 80,-258 }, { 81,-258 }, { 82,-258 }, { 83,-258 }, { 84,-258 },
1256 { 85,-258 }, { 86,-258 }, { 87,-258 }, { 88,-258 }, { 89,-258 },
1257 { 90,-258 }, { 91,-258 }, { 92,-258 }, { 93,-258 }, { 94,-258 },
1258 { 95,-258 }, { 96,-258 }, { 97,-258 }, { 98,-258 }, { 99,-258 },
1259 { 100,-258 }, { 101,-258 }, { 102,-258 }, { 103,-258 }, { 104,-258 },
1260 { 105,-258 }, { 106,-258 }, { 107,-258 }, { 108,-258 }, { 109,-258 },
1261
1262 { 110,-258 }, { 111,-258 }, { 112,-258 }, { 113,-258 }, { 114,-258 },
1263 { 115,-258 }, { 116,-258 }, { 117,-258 }, { 118,-258 }, { 119,-258 },
1264 { 120,-258 }, { 121,-258 }, { 122,-258 }, { 123,-258 }, { 124,-258 },
1265 { 125,-258 }, { 126,-258 }, { 127,-258 }, { 128,-258 }, { 129,-258 },
1266 { 130,-258 }, { 131,-258 }, { 132,-258 }, { 133,-258 }, { 134,-258 },
1267 { 135,-258 }, { 136,-258 }, { 137,-258 }, { 138,-258 }, { 139,-258 },
1268 { 140,-258 }, { 141,-258 }, { 142,-258 }, { 143,-258 }, { 144,-258 },
1269 { 145,-258 }, { 146,-258 }, { 147,-258 }, { 148,-258 }, { 149,-258 },
1270 { 150,-258 }, { 151,-258 }, { 152,-258 }, { 153,-258 }, { 154,-258 },
1271 { 155,-258 }, { 156,-258 }, { 157,-258 }, { 158,-258 }, { 159,-258 },
1272
1273 { 160,-258 }, { 161,-258 }, { 162,-258 }, { 163,-258 }, { 164,-258 },
1274 { 165,-258 }, { 166,-258 }, { 167,-258 }, { 168,-258 }, { 169,-258 },
1275 { 170,-258 }, { 171,-258 }, { 172,-258 }, { 173,-258 }, { 174,-258 },
1276 { 175,-258 }, { 176,-258 }, { 177,-258 }, { 178,-258 }, { 179,-258 },
1277 { 180,-258 }, { 181,-258 }, { 182,-258 }, { 183,-258 }, { 184,-258 },
1278 { 185,-258 }, { 186,-258 }, { 187,-258 }, { 188,-258 }, { 189,-258 },
1279 { 190,-258 }, { 191,-258 }, { 192,-258 }, { 193,-258 }, { 194,-258 },
1280 { 195,-258 }, { 196,-258 }, { 197,-258 }, { 198,-258 }, { 199,-258 },
1281 { 200,-258 }, { 201,-258 }, { 202,-258 }, { 203,-258 }, { 204,-258 },
1282 { 205,-258 }, { 206,-258 }, { 207,-258 }, { 208,-258 }, { 209,-258 },
1283
1284 { 210,-258 }, { 211,-258 }, { 212,-258 }, { 213,-258 }, { 214,-258 },
1285 { 215,-258 }, { 216,-258 }, { 217,-258 }, { 218,-258 }, { 219,-258 },
1286 { 220,-258 }, { 221,-258 }, { 222,-258 }, { 223,-258 }, { 224,-258 },
1287 { 225,-258 }, { 226,-258 }, { 227,-258 }, { 228,-258 }, { 229,-258 },
1288 { 230,-258 }, { 231,-258 }, { 232,-258 }, { 233,-258 }, { 234,-258 },
1289 { 235,-258 }, { 236,-258 }, { 237,-258 }, { 238,-258 }, { 239,-258 },
1290 { 240,-258 }, { 241,-258 }, { 242,-258 }, { 243,-258 }, { 244,-258 },
1291 { 245,-258 }, { 246,-258 }, { 247,-258 }, { 248,-258 }, { 249,-258 },
1292 { 250,-258 }, { 251,-258 }, { 252,-258 }, { 253,-258 }, { 254,-258 },
1293 { 255,-258 }, { 256,-258 }, { 0, 4 }, { 0,2198 }, { 0, 6 },
1294
1295 { 0,2196 }, { 0, 5 }, { 0,2194 }, { 0, 0 }, { 0, 0 },
1296 { 0, 0 }, { 0, 0 }, { 9, 0 }, { 10, 0 }, { 0, 0 },
1297 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1298 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1299 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1300 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1301 { 32, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1302 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1303 { 0, 0 }, { 0, 0 }, { 44, 0 }, { 0, 0 }, { 0, 0 },
1304 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 },
1305
1306 { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 },
1307 { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 },
1308 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1309 { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 },
1310 { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 },
1311 { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 },
1312 { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 },
1313 { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 },
1314 { 90, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1315 { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 },
1316
1317 { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 },
1318 { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 },
1319 { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 },
1320 { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 },
1321 { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0,2072 },
1322 { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 },
1323 { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 },
1324 { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 },
1325 { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 },
1326 { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 },
1327
1328 { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 },
1329 { 31, 0 }, { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 },
1330 { 36, 0 }, { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 },
1331 { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 },
1332 { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 },
1333 { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 },
1334 { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 },
1335 { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 },
1336 { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 },
1337 { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 },
1338
1339 { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 },
1340 { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 },
1341 { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 },
1342 { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 },
1343 { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 },
1344 { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 },
1345 { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 },
1346 { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 },
1347 { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 },
1348 { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125,-122 },
1349
1350 { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 },
1351 { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 },
1352 { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 },
1353 { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 },
1354 { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 },
1355 { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 },
1356 { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 },
1357 { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 },
1358 { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 },
1359 { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 },
1360
1361 { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 },
1362 { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 },
1363 { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 },
1364 { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 },
1365 { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 },
1366 { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 },
1367 { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 },
1368 { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 },
1369 { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 },
1370 { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 },
1371
1372 { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 },
1373 { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 },
1374 { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 },
1375 { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 },
1376 { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 },
1377 { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 },
1378 { 256, 0 }, { 0, 57 }, { 0,1814 }, { 0, 0 }, { 0, 0 },
1379 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1380 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1381 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1382
1383 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1384 { 0,1791 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1385 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1386 { 0, 0 }, { 0, 0 }, { 35, 23 }, { 0, 0 }, { 0, 0 },
1387 { 0, 0 }, { 39, 104 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1388 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1389 { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 },
1390 { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 },
1391 { 0, 0 }, { 36,-1833 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1392 { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 },
1393
1394 { 68, 0 }, { 69, 0 }, { 70, 0 }, { 48,-1810 }, { 49,-1810 },
1395 { 50,-1810 }, { 51,-1810 }, { 52,-1810 }, { 53,-1810 }, { 54,-1810 },
1396 { 55,-1810 }, { 56,-1810 }, { 57,-1810 }, { 0, 0 }, { 0, 0 },
1397 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1398 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1399 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 0 },
1400 { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 },
1401 { 0, 0 }, { 0,1710 }, { 1,-1707 }, { 2,-1707 }, { 3,-1707 },
1402 { 4,-1707 }, { 5,-1707 }, { 6,-1707 }, { 7,-1707 }, { 8,-1707 },
1403 { 9,-1707 }, { 10,-1707 }, { 11,-1707 }, { 12,-1707 }, { 13,-1707 },
1404
1405 { 14,-1707 }, { 15,-1707 }, { 16,-1707 }, { 17,-1707 }, { 18,-1707 },
1406 { 19,-1707 }, { 20,-1707 }, { 21,-1707 }, { 22,-1707 }, { 23,-1707 },
1407 { 24,-1707 }, { 25,-1707 }, { 26,-1707 }, { 27,-1707 }, { 28,-1707 },
1408 { 29,-1707 }, { 30,-1707 }, { 31,-1707 }, { 32,-1707 }, { 33,-1707 },
1409 { 34,-1707 }, { 35,-1707 }, { 36,-1707 }, { 37,-1707 }, { 38,-1707 },
1410 { 39,-1889 }, { 40,-1707 }, { 41,-1707 }, { 42,-1707 }, { 43,-1707 },
1411 { 44,-1707 }, { 45,-1707 }, { 46,-1707 }, { 47,-1707 }, { 48,-1707 },
1412 { 49,-1707 }, { 50,-1707 }, { 51,-1707 }, { 52,-1707 }, { 53,-1707 },
1413 { 54,-1707 }, { 55,-1707 }, { 56,-1707 }, { 57,-1707 }, { 58,-1707 },
1414 { 59,-1707 }, { 60,-1707 }, { 61,-1707 }, { 62,-1707 }, { 63,-1707 },
1415
1416 { 64,-1707 }, { 65,-1707 }, { 66,-1707 }, { 67,-1707 }, { 68,-1707 },
1417 { 69,-1707 }, { 70,-1707 }, { 71,-1707 }, { 72,-1707 }, { 73,-1707 },
1418 { 74,-1707 }, { 75,-1707 }, { 76,-1707 }, { 77,-1707 }, { 78,-1707 },
1419 { 79,-1707 }, { 80,-1707 }, { 81,-1707 }, { 82,-1707 }, { 83,-1707 },
1420 { 84,-1707 }, { 85,-1707 }, { 86,-1707 }, { 87,-1707 }, { 88,-1707 },
1421 { 89,-1707 }, { 90,-1707 }, { 91,-1707 }, { 92,-1707 }, { 93,-1707 },
1422 { 94,-1707 }, { 95,-1707 }, { 96,-1707 }, { 97,-1707 }, { 98,-1707 },
1423 { 99,-1707 }, { 100,-1707 }, { 101,-1707 }, { 102,-1707 }, { 103,-1707 },
1424 { 104,-1707 }, { 105,-1707 }, { 106,-1707 }, { 107,-1707 }, { 108,-1707 },
1425 { 109,-1707 }, { 110,-1707 }, { 111,-1707 }, { 112,-1707 }, { 113,-1707 },
1426
1427 { 114,-1707 }, { 115,-1707 }, { 116,-1707 }, { 117,-1707 }, { 118,-1707 },
1428 { 119,-1707 }, { 120,-1707 }, { 121,-1707 }, { 122,-1707 }, { 123,-1707 },
1429 { 124,-1707 }, { 125,-1707 }, { 126,-1707 }, { 127,-1707 }, { 128,-1707 },
1430 { 129,-1707 }, { 130,-1707 }, { 131,-1707 }, { 132,-1707 }, { 133,-1707 },
1431 { 134,-1707 }, { 135,-1707 }, { 136,-1707 }, { 137,-1707 }, { 138,-1707 },
1432 { 139,-1707 }, { 140,-1707 }, { 141,-1707 }, { 142,-1707 }, { 143,-1707 },
1433 { 144,-1707 }, { 145,-1707 }, { 146,-1707 }, { 147,-1707 }, { 148,-1707 },
1434 { 149,-1707 }, { 150,-1707 }, { 151,-1707 }, { 152,-1707 }, { 153,-1707 },
1435 { 154,-1707 }, { 155,-1707 }, { 156,-1707 }, { 157,-1707 }, { 158,-1707 },
1436 { 159,-1707 }, { 160,-1707 }, { 161,-1707 }, { 162,-1707 }, { 163,-1707 },
1437
1438 { 164,-1707 }, { 165,-1707 }, { 166,-1707 }, { 167,-1707 }, { 168,-1707 },
1439 { 169,-1707 }, { 170,-1707 }, { 171,-1707 }, { 172,-1707 }, { 173,-1707 },
1440 { 174,-1707 }, { 175,-1707 }, { 176,-1707 }, { 177,-1707 }, { 178,-1707 },
1441 { 179,-1707 }, { 180,-1707 }, { 181,-1707 }, { 182,-1707 }, { 183,-1707 },
1442 { 184,-1707 }, { 185,-1707 }, { 186,-1707 }, { 187,-1707 }, { 188,-1707 },
1443 { 189,-1707 }, { 190,-1707 }, { 191,-1707 }, { 192,-1707 }, { 193,-1707 },
1444 { 194,-1707 }, { 195,-1707 }, { 196,-1707 }, { 197,-1707 }, { 198,-1707 },
1445 { 199,-1707 }, { 200,-1707 }, { 201,-1707 }, { 202,-1707 }, { 203,-1707 },
1446 { 204,-1707 }, { 205,-1707 }, { 206,-1707 }, { 207,-1707 }, { 208,-1707 },
1447 { 209,-1707 }, { 210,-1707 }, { 211,-1707 }, { 212,-1707 }, { 213,-1707 },
1448
1449 { 214,-1707 }, { 215,-1707 }, { 216,-1707 }, { 217,-1707 }, { 218,-1707 },
1450 { 219,-1707 }, { 220,-1707 }, { 221,-1707 }, { 222,-1707 }, { 223,-1707 },
1451 { 224,-1707 }, { 225,-1707 }, { 226,-1707 }, { 227,-1707 }, { 228,-1707 },
1452 { 229,-1707 }, { 230,-1707 }, { 231,-1707 }, { 232,-1707 }, { 233,-1707 },
1453 { 234,-1707 }, { 235,-1707 }, { 236,-1707 }, { 237,-1707 }, { 238,-1707 },
1454 { 239,-1707 }, { 240,-1707 }, { 241,-1707 }, { 242,-1707 }, { 243,-1707 },
1455 { 244,-1707 }, { 245,-1707 }, { 246,-1707 }, { 247,-1707 }, { 248,-1707 },
1456 { 249,-1707 }, { 250,-1707 }, { 251,-1707 }, { 252,-1707 }, { 253,-1707 },
1457 { 254,-1707 }, { 255,-1707 }, { 256,-1707 }, { 0, 0 }, { 0,1452 },
1458 { 0, 0 }, { 0,1450 }, { 0, 34 }, { 0,1448 }, { 0, 33 },
1459
1460 { 0,1446 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1461 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1462 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1463 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1464 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1465 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1466 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1467 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1468 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1469 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1470
1471 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1472 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1473 { 0, 0 }, { 67, 373 }, { 0, 0 }, { 67, 373 }, { 0, 0 },
1474 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1475 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1476 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1477 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1478 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1479 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 99, 373 }, { 0, 0 },
1480 { 99, 373 }, { 0, 0 }, { 0,1349 }, { 1,-2068 }, { 2,-2068 },
1481
1482 { 3,-2068 }, { 4,-2068 }, { 5,-2068 }, { 6,-2068 }, { 7,-2068 },
1483 { 8,-2068 }, { 9,-2068 }, { 10,-2068 }, { 11,-2068 }, { 12,-2068 },
1484 { 13,-2068 }, { 14,-2068 }, { 15,-2068 }, { 16,-2068 }, { 17,-2068 },
1485 { 18,-2068 }, { 19,-2068 }, { 20,-2068 }, { 21,-2068 }, { 22,-2068 },
1486 { 23,-2068 }, { 24,-2068 }, { 25,-2068 }, { 26,-2068 }, { 27,-2068 },
1487 { 28,-2068 }, { 29,-2068 }, { 30,-2068 }, { 31,-2068 }, { 32,-2068 },
1488 { 33,-2068 }, { 34,-2068 }, { 35,-2068 }, { 36,-2068 }, { 37,-2068 },
1489 { 38,-2068 }, { 39,-2250 }, { 40,-2068 }, { 41,-2068 }, { 42,-2068 },
1490 { 43,-2068 }, { 44,-2068 }, { 45,-2068 }, { 46,-2068 }, { 47,-2068 },
1491 { 48,-2068 }, { 49,-2068 }, { 50,-2068 }, { 51,-2068 }, { 52,-2068 },
1492
1493 { 53,-2068 }, { 54,-2068 }, { 55,-2068 }, { 56,-2068 }, { 57,-2068 },
1494 { 58,-2068 }, { 59,-2068 }, { 60,-2068 }, { 61,-2068 }, { 62,-2068 },
1495 { 63,-2068 }, { 64,-2068 }, { 65,-2068 }, { 66,-2068 }, { 67,-2068 },
1496 { 68,-2068 }, { 69,-2068 }, { 70,-2068 }, { 71,-2068 }, { 72,-2068 },
1497 { 73,-2068 }, { 74,-2068 }, { 75,-2068 }, { 76,-2068 }, { 77,-2068 },
1498 { 78,-2068 }, { 79,-2068 }, { 80,-2068 }, { 81,-2068 }, { 82,-2068 },
1499 { 83,-2068 }, { 84,-2068 }, { 85,-2068 }, { 86,-2068 }, { 87,-2068 },
1500 { 88,-2068 }, { 89,-2068 }, { 90,-2068 }, { 91,-2068 }, { 92,-2068 },
1501 { 93,-2068 }, { 94,-2068 }, { 95,-2068 }, { 96,-2068 }, { 97,-2068 },
1502 { 98,-2068 }, { 99,-2068 }, { 100,-2068 }, { 101,-2068 }, { 102,-2068 },
1503
1504 { 103,-2068 }, { 104,-2068 }, { 105,-2068 }, { 106,-2068 }, { 107,-2068 },
1505 { 108,-2068 }, { 109,-2068 }, { 110,-2068 }, { 111,-2068 }, { 112,-2068 },
1506 { 113,-2068 }, { 114,-2068 }, { 115,-2068 }, { 116,-2068 }, { 117,-2068 },
1507 { 118,-2068 }, { 119,-2068 }, { 120,-2068 }, { 121,-2068 }, { 122,-2068 },
1508 { 123,-2068 }, { 124,-2068 }, { 125,-2068 }, { 126,-2068 }, { 127,-2068 },
1509 { 128,-2068 }, { 129,-2068 }, { 130,-2068 }, { 131,-2068 }, { 132,-2068 },
1510 { 133,-2068 }, { 134,-2068 }, { 135,-2068 }, { 136,-2068 }, { 137,-2068 },
1511 { 138,-2068 }, { 139,-2068 }, { 140,-2068 }, { 141,-2068 }, { 142,-2068 },
1512 { 143,-2068 }, { 144,-2068 }, { 145,-2068 }, { 146,-2068 }, { 147,-2068 },
1513 { 148,-2068 }, { 149,-2068 }, { 150,-2068 }, { 151,-2068 }, { 152,-2068 },
1514
1515 { 153,-2068 }, { 154,-2068 }, { 155,-2068 }, { 156,-2068 }, { 157,-2068 },
1516 { 158,-2068 }, { 159,-2068 }, { 160,-2068 }, { 161,-2068 }, { 162,-2068 },
1517 { 163,-2068 }, { 164,-2068 }, { 165,-2068 }, { 166,-2068 }, { 167,-2068 },
1518 { 168,-2068 }, { 169,-2068 }, { 170,-2068 }, { 171,-2068 }, { 172,-2068 },
1519 { 173,-2068 }, { 174,-2068 }, { 175,-2068 }, { 176,-2068 }, { 177,-2068 },
1520 { 178,-2068 }, { 179,-2068 }, { 180,-2068 }, { 181,-2068 }, { 182,-2068 },
1521 { 183,-2068 }, { 184,-2068 }, { 185,-2068 }, { 186,-2068 }, { 187,-2068 },
1522 { 188,-2068 }, { 189,-2068 }, { 190,-2068 }, { 191,-2068 }, { 192,-2068 },
1523 { 193,-2068 }, { 194,-2068 }, { 195,-2068 }, { 196,-2068 }, { 197,-2068 },
1524 { 198,-2068 }, { 199,-2068 }, { 200,-2068 }, { 201,-2068 }, { 202,-2068 },
1525
1526 { 203,-2068 }, { 204,-2068 }, { 205,-2068 }, { 206,-2068 }, { 207,-2068 },
1527 { 208,-2068 }, { 209,-2068 }, { 210,-2068 }, { 211,-2068 }, { 212,-2068 },
1528 { 213,-2068 }, { 214,-2068 }, { 215,-2068 }, { 216,-2068 }, { 217,-2068 },
1529 { 218,-2068 }, { 219,-2068 }, { 220,-2068 }, { 221,-2068 }, { 222,-2068 },
1530 { 223,-2068 }, { 224,-2068 }, { 225,-2068 }, { 226,-2068 }, { 227,-2068 },
1531 { 228,-2068 }, { 229,-2068 }, { 230,-2068 }, { 231,-2068 }, { 232,-2068 },
1532 { 233,-2068 }, { 234,-2068 }, { 235,-2068 }, { 236,-2068 }, { 237,-2068 },
1533 { 238,-2068 }, { 239,-2068 }, { 240,-2068 }, { 241,-2068 }, { 242,-2068 },
1534 { 243,-2068 }, { 244,-2068 }, { 245,-2068 }, { 246,-2068 }, { 247,-2068 },
1535 { 248,-2068 }, { 249,-2068 }, { 250,-2068 }, { 251,-2068 }, { 252,-2068 },
1536
1537 { 253,-2068 }, { 254,-2068 }, { 255,-2068 }, { 256,-2068 }, { 0, 55 },
1538 { 0,1091 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1539 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1540 { 0, 0 }, { 0, 0 }, { 0,1079 }, { 0, 0 }, { 0,1077 },
1541 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1542 { 0, 0 }, { 0, 0 }, { 0, 54 }, { 0,1068 }, { 0, 0 },
1543 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1544 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1545 { 0, 0 }, { 0,1055 }, { 0, 0 }, { 0,1053 }, { 0, 0 },
1546 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1547
1548 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 },
1549 { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 },
1550 { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 55 },
1551 { 0,1031 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1552 { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 },
1553 { 70, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 },
1554 { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 },
1555 { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1556 { 0,1006 }, { 0, 0 }, { 0, 0 }, { 76, 24 }, { 0, 0 },
1557 { 76, 24 }, { 0, 0 }, { 69, 396 }, { 0, 0 }, { 0, 0 },
1558
1559 { 0, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 },
1560 { 100, 0 }, { 101, 0 }, { 102, 0 }, { 0, 0 }, { 0, 0 },
1561 { 0, 0 }, { 46,-2105 }, { 0, 0 }, { 48, 0 }, { 49, 0 },
1562 { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 },
1563 { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 54 }, { 0, 972 },
1564 { 108, 24 }, { 85, 192 }, { 108, 24 }, { 85, 224 }, { 101, 396 },
1565 { 65,-2010 }, { 66,-1951 }, { 67,-2010 }, { 68,-2010 }, { 69,-1891 },
1566 { 70,-2010 }, { 0, 0 }, { 72,-2548 }, { 48, 366 }, { 49, 366 },
1567 { 50, 366 }, { 51, 366 }, { 52, 366 }, { 53, 366 }, { 54, 366 },
1568 { 55, 366 }, { 56, 366 }, { 57, 366 }, { 0, 55 }, { 0, 947 },
1569
1570 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1571 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 117, 192 }, { 0, 0 },
1572 { 117, 224 }, { 0, 0 }, { 97,-2010 }, { 98,-1951 }, { 99,-2010 },
1573 { 100,-2010 }, { 101,-1891 }, { 102,-2010 }, { 0, 0 }, { 104,-2548 },
1574 { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 },
1575 { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 },
1576 { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1577 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-2069 },
1578 { 66,-2069 }, { 67,-2069 }, { 68,-2069 }, { 69,-2069 }, { 70,-2069 },
1579 { 0, 0 }, { 72,-2607 }, { 48, 0 }, { 49, 0 }, { 50, 0 },
1580
1581 { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 },
1582 { 56, 0 }, { 57, 0 }, { 0, 56 }, { 0, 888 }, { 0, 0 },
1583 { 0, 0 }, { 0, 885 }, { 0, 12 }, { 0, 883 }, { 65, 0 },
1584 { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 },
1585 { 9, 0 }, { 97,-2069 }, { 98,-2069 }, { 99,-2069 }, { 100,-2069 },
1586 { 101,-2069 }, { 102,-2069 }, { 0, 0 }, { 104,-2607 }, { 0, 0 },
1587 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 863 }, { 0, 0 },
1588 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1589 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 0 }, { 36,-2653 },
1590 { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 },
1591
1592 { 101, 0 }, { 102, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1593 { 0, 0 }, { 48,-2653 }, { 49,-2653 }, { 50,-2653 }, { 51,-2653 },
1594 { 52,-2653 }, { 53,-2653 }, { 54,-2653 }, { 55,-2653 }, { 56,-2653 },
1595 { 57,-2653 }, { 0, 0 }, { 0, 829 }, { 0, 0 }, { 0, 827 },
1596 { 0, 0 }, { 0, 825 }, { 0, 0 }, { 65,-2653 }, { 66,-2653 },
1597 { 67,-2653 }, { 68,-2653 }, { 69,-2653 }, { 70,-2653 }, { 71,-2653 },
1598 { 72,-2653 }, { 73,-2653 }, { 74,-2653 }, { 75,-2653 }, { 76,-2653 },
1599 { 77,-2653 }, { 78,-2653 }, { 79,-2653 }, { 80,-2653 }, { 81,-2653 },
1600 { 82,-2653 }, { 83, 258 }, { 84,-2653 }, { 85,-2653 }, { 86,-2653 },
1601 { 87,-2653 }, { 88,-2653 }, { 89,-2653 }, { 90,-2653 }, { 0, 2 },
1602
1603 { 0, 796 }, { 68, 36 }, { 0, 0 }, { 95,-2653 }, { 0, 0 },
1604 { 97,-2653 }, { 98,-2653 }, { 99,-2653 }, { 100,-2653 }, { 101,-2653 },
1605 { 102,-2653 }, { 103,-2653 }, { 104,-2653 }, { 105,-2653 }, { 106,-2653 },
1606 { 107,-2653 }, { 108,-2653 }, { 109,-2653 }, { 110,-2653 }, { 111,-2653 },
1607 { 112,-2653 }, { 113,-2653 }, { 114,-2653 }, { 115, 258 }, { 116,-2653 },
1608 { 117,-2653 }, { 118,-2653 }, { 119,-2653 }, { 120,-2653 }, { 121,-2653 },
1609 { 122,-2653 }, { 0, 0 }, { 0, 764 }, { 100, 36 }, { 0, 0 },
1610 { 68, 4 }, { 125, 2 }, { 0, 0 }, { 69, 31 }, { 0, 0 },
1611 { 69, 72 }, { 9, 258 }, { 0, 1 }, { 0, 753 }, { 0, 0 },
1612 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1613
1614 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1615 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1616 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 258 },
1617 { 0, 0 }, { 0, 0 }, { 100, 4 }, { 0, 0 }, { 0, 0 },
1618 { 101, 31 }, { 0, 0 }, { 101, 72 }, { 0, 0 }, { 0, 0 },
1619 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 46, 382 }, { 0, 0 },
1620 { 48, 382 }, { 49, 382 }, { 50, 382 }, { 51, 382 }, { 52, 382 },
1621 { 53, 382 }, { 54, 382 }, { 55, 382 }, { 56, 382 }, { 57, 382 },
1622 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1623 { 0, 0 }, { 0, 0 }, { 65, 382 }, { 66, 382 }, { 67, 382 },
1624
1625 { 68, 382 }, { 69, 382 }, { 70, 382 }, { 71, 382 }, { 72, 382 },
1626 { 73, 382 }, { 74, 382 }, { 75, 382 }, { 76, 382 }, { 77, 382 },
1627 { 78, 382 }, { 79, 382 }, { 80, 382 }, { 81, 382 }, { 82, 382 },
1628 { 83, 382 }, { 84, 382 }, { 85, 382 }, { 86, 382 }, { 87, 382 },
1629 { 88, 382 }, { 89, 382 }, { 90, 382 }, { 0, 0 }, { 0, 672 },
1630 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 382 },
1631 { 98, 382 }, { 99, 382 }, { 100, 382 }, { 101, 382 }, { 102, 382 },
1632 { 103, 382 }, { 104, 382 }, { 105, 382 }, { 106, 382 }, { 107, 382 },
1633 { 108, 382 }, { 109, 382 }, { 110, 382 }, { 111, 382 }, { 112, 382 },
1634 { 113, 382 }, { 114, 382 }, { 115, 382 }, { 116, 382 }, { 117, 382 },
1635
1636 { 118, 382 }, { 119, 382 }, { 120, 382 }, { 121, 382 }, { 122, 382 },
1637 { 0, 54 }, { 0, 640 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1638 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1639 { 0, 3 }, { 0, 630 }, { 43, 382 }, { 0, 0 }, { 45, 382 },
1640 { 0, 0 }, { 0, 0 }, { 48, 414 }, { 49, 414 }, { 50, 414 },
1641 { 51, 414 }, { 52, 414 }, { 53, 414 }, { 54, 414 }, { 55, 414 },
1642 { 56, 414 }, { 57, 414 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1643 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1644 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1645 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1646
1647 { 0, 0 }, { 0, 0 }, { 36,-2911 }, { 0, 0 }, { 48, 0 },
1648 { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 },
1649 { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 48,-2911 },
1650 { 49,-2911 }, { 50,-2911 }, { 51,-2911 }, { 52,-2911 }, { 53,-2911 },
1651 { 54,-2911 }, { 55,-2911 }, { 56,-2911 }, { 57,-2911 }, { 0, 0 },
1652 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1653 { 0, 0 }, { 65,-2911 }, { 66,-2911 }, { 67,-2911 }, { 68,-2911 },
1654 { 69,-2911 }, { 70,-2911 }, { 71,-2911 }, { 72,-2911 }, { 73,-2911 },
1655 { 74,-2911 }, { 75,-2911 }, { 76,-2911 }, { 77,-2911 }, { 78,-2911 },
1656 { 79,-2911 }, { 80,-2911 }, { 81,-2911 }, { 82,-2911 }, { 83,-2911 },
1657
1658 { 84,-2911 }, { 85,-2911 }, { 86,-2911 }, { 87,-2911 }, { 88,-2911 },
1659 { 89,-2911 }, { 90,-2911 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1660 { 0, 0 }, { 95,-2911 }, { 0, 0 }, { 97,-2911 }, { 98,-2911 },
1661 { 99,-2911 }, { 100,-2911 }, { 101,-2911 }, { 102,-2911 }, { 103,-2911 },
1662 { 104,-2911 }, { 105,-2911 }, { 106,-2911 }, { 107,-2911 }, { 108,-2911 },
1663 { 109,-2911 }, { 110,-2911 }, { 111,-2911 }, { 112,-2911 }, { 113,-2911 },
1664 { 114,-2911 }, { 115,-2911 }, { 116,-2911 }, { 117,-2911 }, { 118,-2911 },
1665 { 119,-2911 }, { 120,-2911 }, { 121,-2911 }, { 122,-2911 }, { 0, 0 },
1666 { 0, 506 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1667 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9, 0 },
1668
1669 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1670 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1671 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1672 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1673 { 0, 0 }, { 0, 0 }, { 32, 0 }, { 0, 0 }, { 0, 0 },
1674 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1675 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1676 { 0, 0 }, { 46, 124 }, { 0, 0 }, { 48, 124 }, { 49, 124 },
1677 { 50, 124 }, { 51, 124 }, { 52, 124 }, { 53, 124 }, { 54, 124 },
1678 { 55, 124 }, { 56, 124 }, { 57, 124 }, { 0, 0 }, { 0, 0 },
1679
1680 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1681 { 65, 124 }, { 66, 124 }, { 67, 124 }, { 68, 124 }, { 69, 124 },
1682 { 70, 124 }, { 71, 124 }, { 72, 124 }, { 73, 124 }, { 74, 124 },
1683 { 75, 124 }, { 76, 124 }, { 77, 124 }, { 78, 124 }, { 79, 124 },
1684 { 80, 124 }, { 81, 124 }, { 82, 124 }, { 83, 124 }, { 84, 124 },
1685 { 85, 124 }, { 86, 124 }, { 87, 124 }, { 88, 124 }, { 89, 124 },
1686 { 90, 124 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1687 { 0, 0 }, { 0, 0 }, { 97, 124 }, { 98, 124 }, { 99, 124 },
1688 { 100, 124 }, { 101, 124 }, { 102, 124 }, { 103, 124 }, { 104, 124 },
1689 { 105, 124 }, { 106, 124 }, { 107, 124 }, { 108, 124 }, { 109, 124 },
1690
1691 { 110, 124 }, { 111, 124 }, { 112, 124 }, { 113, 124 }, { 114, 124 },
1692 { 115, 124 }, { 116, 124 }, { 117, 124 }, { 118, 124 }, { 119, 124 },
1693 { 120, 124 }, { 121, 124 }, { 122, 124 }, { 0, 0 }, { 0, 382 },
1694 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1695 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,-503 }, { 0, 0 },
1696 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1697 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1698 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1699 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1700 { 0, 0 }, { 32,-503 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1701
1702 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1703 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1704 { 46, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 },
1705 { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 },
1706 { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1707 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 },
1708 { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 },
1709 { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 },
1710 { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 },
1711 { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 },
1712
1713 { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 },
1714 { 0, 0 }, { 0, 290 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1715 { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 },
1716 { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 },
1717 { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 },
1718 { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 },
1719 { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 },
1720 { 121, 0 }, { 122, 0 }, { 0, 54 }, { 0, 258 }, { 125,-501 },
1721 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1722 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1723
1724 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 32 },
1725 { 49, 32 }, { 50, 32 }, { 51, 32 }, { 52, 32 }, { 53, 32 },
1726 { 54, 32 }, { 55, 32 }, { 56, 32 }, { 57, 32 }, { 0, 0 },
1727 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1728 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1729 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1730 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1731 { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 },
1732 { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 },
1733 { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1734
1735 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1736 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1737 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1738 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1739 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1740 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1741 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1742 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1743 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1744 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1745
1746 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1747 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1748 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1749 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1750 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1751 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1752 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1753 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1754 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1755 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1756
1757 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1758 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1759 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1760 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1761 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1762 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1763 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1764 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1765 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1766 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1767
1768 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1769 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1770 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1771 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1772 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1773 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1774 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1775 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1776 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1777 { 257, 62 }, { 1, 0 }, };
1778
1779 static yyconst struct yy_trans_info *yy_start_state_list[7] =
1780 {
1781 &yy_transition[1],
1782 &yy_transition[3],
1783 &yy_transition[261],
1784 &yy_transition[519],
1785 &yy_transition[777],
1786 &yy_transition[1035],
1787 &yy_transition[1293],
1788
1789
1790 } ;
1791
1792 static yy_state_type yy_last_accepting_state;
1793 static char *yy_last_accepting_cpos;
1794
1795 /* The intent behind this definition is that it'll catch
1796 * any uses of REJECT which flex missed.
1797 */
1798 #define REJECT reject_used_but_not_detected
1799 #define yymore() yymore_used_but_not_detected
1800 #define YY_MORE_ADJ 0
1801 #define YY_RESTORE_YY_MORE_OFFSET
1802 char *yytext;
1803 #line 1 "lex.l"
1804 #define INITIAL 0
1805 #line 2 "lex.l"
1806
1807 #include "token.h"
1808 #include "util.h"
1809
1810 #ifdef _WIN32
1811 #include <io.h>
1812 #define FILE_SEP "\\"
1813 #else
1814 #include <unistd.h>
1815 #define FILE_SEP "/"
1816 #endif
1817
1818 #define yywrap() 1
1819 #define YY_SKIP_YYWRAP 1
1820
1821 #define YY_NO_UNPUT 1
1822
1823 // Some static data definition
1824
1825 static char *file_name;
1826 static int line, pos; // Token position
1827 extern char *i_path;
1828
1829 struct scan_state {
1830 int pos;
1831 int line;
1832 char* file_name;
1833 char* search_path;
1834 FILE* input;
1835 YY_BUFFER_STATE buffer;
1836 };
1837
1838 #define MAX_INCLUDE_DEPTH 256 // Include stack depth
1839 #define MAX_ID_LENGTH 256
1840
1841 class scan_ctx {
1842 protected:
1843 scan_state stack[ MAX_INCLUDE_DEPTH ];
1844 int sp;
1845
1846 public:
1847 void push();
1848 void attach(char* name, FILE* in);
1849 void pop();
empty()1850 bool empty() { return sp == 0; }
1851 bool find(char* name) ;
scan_ctx()1852 scan_ctx() { sp = 0; }
1853 };
1854
1855 static scan_ctx scanner;
1856 static int type_or_var_context;
1857
1858
scanner_input(char * file)1859 void scanner_input(char *file)
1860 {
1861 FILE* f = fopen (file, "r");
1862
1863 if (f == NULL) {
1864 error("can't open input source file: %s", file);
1865 }
1866 scanner.attach(file, f);
1867 }
1868
1869
1870 // Hints for macro functionality (inherited from rtl2c)
1871 static nm_entry *nm = NULL; // Token name
1872 static char *text = NULL; // Token text if != NULL
1873
1874 static int include_level;
1875
1876 class use_ctx {
1877 public:
1878 char* fname;
1879 use_ctx* next;
1880
use_ctx(char * name,use_ctx * chain)1881 use_ctx(char* name, use_ctx* chain) {
1882 fname = name;
1883 next = chain;
1884 }
1885 };
1886
1887 static use_ctx* use_chain;
1888
1889 #undef ECHO
1890 #define ECHO
1891
1892 // Token generator function
1893
tkn(int tag)1894 int tkn (int tag) {
1895 curr_token = new token(text ? text : strdup(yytext),
1896 tag, line, pos, nm);
1897 nm = NULL; text = NULL;
1898 for (char *c = yytext; *c != 0; c++) {
1899 if (*c == '\n') { line++; pos = 0; }
1900 else if (*c == '\t') { pos += TAB_WIDTH - (pos % TAB_WIDTH); }
1901 else pos++;
1902 }
1903 curr_token->fname = file_name;
1904 if (include_level > 0) {
1905 curr_token->attr |= token::from_include_file;
1906 }
1907 return 1;
1908 }
1909
1910
1911
1912 // Include file name processing
1913
include_name(char * src)1914 static char *include_name (char *src) {
1915 char *t;
1916 char *name = new char[strlen(src)+8];
1917 char *dst = name;
1918 if (strchr(src, '\n') != NULL) {
1919 line += 1;
1920 pos = 0;
1921 }
1922 while (*src == '\'' || isspace(*src)) src++; // Skip leading '[ ]
1923 if ((t = strchr (src, '[')) != NULL) {
1924 #if 0
1925 int gid, uid, n;
1926 if (sscanf(t, "[%d,%d]%n", &gid, &uid, &n) == 2) {
1927 dst += sprintf(dst, "../%03d%03d/", gid, uid);
1928 src = t + n;
1929 }
1930 else
1931 #endif
1932 {
1933 if ((t = strrchr(src, ']')) != NULL) {
1934 src = t+1;
1935 }
1936 }
1937 }
1938 bool suffix = FALSE;
1939 while(*src && !isspace(*src) && *src != ';' && *src != '\''
1940 && *src!='\n' && *src != '}')
1941 {
1942 if (*src == '.') suffix = TRUE;
1943 *dst++ = tolower(*(unsigned char*)src++);
1944 }
1945 *dst = 0;
1946 if (!suffix) strcpy(dst, ".pas");
1947
1948 if (scanner.find(name)) {
1949 error(line, pos, file_name, "file %s already included !\n", name);
1950 }
1951 return name;
1952 }
1953
1954 static int yyinput(void);
1955
yyinput_file()1956 inline int yyinput_file() {
1957 int ch = yyinput();
1958 if (ch == '\n') { line++; pos = 0; }
1959 else if (ch == '\t') { pos += TAB_WIDTH - (pos % TAB_WIDTH); }
1960 else pos++;
1961 return ch;
1962 }
1963
process_end_of_line_comment()1964 static int process_end_of_line_comment() {
1965 char cmt_buf[1024];
1966 char* p = cmt_buf;
1967 int c;
1968 *p++ = '\\';
1969 *p++ = '\\';
1970 while((c = yyinput_file()) != EOF) {
1971 if (c == '\n') {
1972 *p = '\0';
1973 curr_token = new token(NULL, TKN_CMNT, line, pos);
1974 curr_token->in_text = curr_token->out_text = strdup(cmt_buf);
1975 return 1;
1976 } else {
1977 *p++ = (char)c;
1978 }
1979 }
1980 error(line, pos, file_name, "EOF in comment !\n");
1981 return -1;
1982 }
1983
process_comments()1984 static int process_comments() {
1985 static int cmt_buf_len = 256;
1986 static char* cmt_buf = new char[cmt_buf_len];
1987 int c, pc = 0;
1988 char *p = cmt_buf;
1989 char cmt_start = *yytext;
1990 *p++ = '/';
1991 *p++ = '*';
1992
1993 curr_token = new token(NULL, TKN_CMNT, line, pos);
1994
1995 pos += strlen(yytext);
1996
1997 if (nested_comments) {
1998 while((c = yyinput_file()) != EOF) {
1999 if (c == '/' && pc == '*') c = ' ';
2000 if (p == cmt_buf + cmt_buf_len) {
2001 cmt_buf = (char*)realloc(cmt_buf, 2*cmt_buf_len);
2002 p = cmt_buf + cmt_buf_len;
2003 cmt_buf_len *= 2;
2004 }
2005 if ((cmt_start == '{' && c == '}') ||
2006 (cmt_start == '(' && c == ')' && pc == '*'))
2007 {
2008 size_t len = p - cmt_buf;
2009 char* cmt_text = new char[len + 3];
2010 memcpy(cmt_text, cmt_buf, len);
2011 if (pc != '*') cmt_text[len++] = '*';
2012 cmt_text[len++] = '/';
2013 cmt_text[len] = '\0';
2014 if (turbo_pascal && cmt_text[2] == '$') {
2015 *p = '\0';
2016 if (strincmp(cmt_text+3, "IFDEF", 5) == 0) {
2017 sprintf(cmt_text, "#ifdef %s", cmt_buf+9);
2018 } else if (strincmp(cmt_text+3, "ELSE", 4) == 0) {
2019 sprintf(cmt_text, "#else");
2020 } else if (strincmp(cmt_text+3, "ENDIF", 5) == 0) {
2021 sprintf(cmt_text, "#endif");
2022 } else if (strincmp(cmt_text+3, "IFNDEF", 6) == 0) {
2023 sprintf(cmt_text, "#ifndef %s", cmt_buf+10);
2024 } else if (strincmp(cmt_text+3, "DEFINE", 6) == 0) {
2025 sprintf(cmt_text, "#define %s", cmt_buf+10);
2026 } else if (strincmp(cmt_text+3, "IFOPT", 5) == 0) {
2027 int value = 1;
2028 char* p = strchr(cmt_text+8, '+');
2029 if (p != NULL) *p = '\0';
2030 else if ((p = strchr(cmt_text+8, '-')) != NULL) {
2031 value = 0;
2032 *p = '\0';
2033 }
2034 for (p = cmt_buf+8; *p == ' '; p++);
2035 sprintf(cmt_text, "#if OPTION_%s == %d",
2036 p, value);
2037 }
2038 }
2039 curr_token->in_text = curr_token->out_text = cmt_text;
2040 return 1;
2041 }
2042 *p++ = pc = c;
2043 }
2044 } else {
2045 while((c = yyinput_file()) != EOF) {
2046 if (c == '/' && pc == '*') c = ' ';
2047 if (p == cmt_buf + cmt_buf_len) {
2048 cmt_buf = (char*)realloc(cmt_buf, 2*cmt_buf_len);
2049 p = cmt_buf + cmt_buf_len;
2050 cmt_buf_len *= 2;
2051 }
2052 if (c == '}' || (c == ')' && pc == '*')) {
2053 size_t len = p - cmt_buf;
2054 char* cmt_text = new char[len + 3];
2055 memcpy(cmt_text, cmt_buf, len);
2056 if (pc != '*') cmt_text[len++] = '*';
2057 cmt_text[len++] = '/';
2058 cmt_text[len] = '\0';
2059 curr_token->in_text = curr_token->out_text = cmt_text;
2060 return 1;
2061 }
2062 *p++ = pc = c;
2063 }
2064 }
2065 error(line, pos, file_name, "EOF in comment !\n");
2066 return -1;
2067 }
2068
2069 /* the "incl" state is used for picking up the name
2070 * of an include file
2071 */
2072 #define incl 1
2073
2074 #define use 2
2075
2076 #line 2077 "lex.yy.c"
2077
2078 /* Macros after this point can all be overridden by user definitions in
2079 * section 1.
2080 */
2081
2082 #ifndef YY_SKIP_YYWRAP
2083 #ifdef __cplusplus
2084 extern "C" int yywrap YY_PROTO(( void ));
2085 #else
2086 extern int yywrap YY_PROTO(( void ));
2087 #endif
2088 #endif
2089
2090 #ifndef YY_NO_UNPUT
2091 static void yyunput YY_PROTO(( int c, char *buf_ptr ));
2092 #endif
2093
2094 #ifndef yytext_ptr
2095 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
2096 #endif
2097
2098 #ifdef YY_NEED_STRLEN
2099 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
2100 #endif
2101
2102 #ifndef YY_NO_INPUT
2103 #ifdef __cplusplus
2104 static int yyinput YY_PROTO(( void ));
2105 #else
2106 static int input YY_PROTO(( void ));
2107 #endif
2108 #endif
2109
2110 #if YY_STACK_USED
2111 static int yy_start_stack_ptr = 0;
2112 static int yy_start_stack_depth = 0;
2113 static int *yy_start_stack = 0;
2114 #ifndef YY_NO_PUSH_STATE
2115 static void yy_push_state YY_PROTO(( int new_state ));
2116 #endif
2117 #ifndef YY_NO_POP_STATE
2118 static void yy_pop_state YY_PROTO(( void ));
2119 #endif
2120 #ifndef YY_NO_TOP_STATE
2121 static int yy_top_state YY_PROTO(( void ));
2122 #endif
2123
2124 #else
2125 #define YY_NO_PUSH_STATE 1
2126 #define YY_NO_POP_STATE 1
2127 #define YY_NO_TOP_STATE 1
2128 #endif
2129
2130 #ifdef YY_MALLOC_DECL
2131 YY_MALLOC_DECL
2132 #else
2133 #if __STDC__
2134 #ifndef __cplusplus
2135 #include <stdlib.h>
2136 #endif
2137 #else
2138 /* Just try to get by without declaring the routines. This will fail
2139 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
2140 * or sizeof(void*) != sizeof(int).
2141 */
2142 #endif
2143 #endif
2144
2145 /* Amount of stuff to slurp up with each read. */
2146 #ifndef YY_READ_BUF_SIZE
2147 #define YY_READ_BUF_SIZE 8192
2148 #endif
2149
2150 /* Copy whatever the last rule matched to the standard output. */
2151
2152 #ifndef ECHO
2153 /* This used to be an fputs(), but since the string might contain NUL's,
2154 * we now use fwrite().
2155 */
2156 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
2157 #endif
2158
2159 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2160 * is returned in "result".
2161 */
2162 #ifndef YY_INPUT
2163 #define YY_INPUT(buf,result,max_size) \
2164 if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
2165 YY_FATAL_ERROR( "input in flex scanner failed" );
2166 #endif
2167
2168 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2169 * we don't want an extra ';' after the "return" because that will cause
2170 * some compilers to complain about unreachable statements.
2171 */
2172 #ifndef yyterminate
2173 #define yyterminate() return YY_NULL
2174 #endif
2175
2176 /* Number of entries by which start-condition stack grows. */
2177 #ifndef YY_START_STACK_INCR
2178 #define YY_START_STACK_INCR 25
2179 #endif
2180
2181 /* Report a fatal error. */
2182 #ifndef YY_FATAL_ERROR
2183 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2184 #endif
2185
2186 /* Default declaration of generated scanner - a define so the user can
2187 * easily add parameters.
2188 */
2189 #ifndef YY_DECL
2190 #define YY_DECL int yylex YY_PROTO(( void ))
2191 #endif
2192
2193 /* Code executed at the beginning of each rule, after yytext and yyleng
2194 * have been set up.
2195 */
2196 #ifndef YY_USER_ACTION
2197 #define YY_USER_ACTION
2198 #endif
2199
2200 /* Code executed at the end of each rule. */
2201 #ifndef YY_BREAK
2202 #define YY_BREAK break;
2203 #endif
2204
2205 #define YY_RULE_SETUP \
2206 YY_USER_ACTION
2207
2208 YY_DECL
2209 {
2210 register yy_state_type yy_current_state;
2211 register char *yy_cp = NULL, *yy_bp = NULL;
2212 register int yy_act;
2213
2214 #line 289 "lex.l"
2215
2216
2217 #line 2218 "lex.yy.c"
2218
2219 if ( yy_init )
2220 {
2221 yy_init = 0;
2222
2223 #ifdef YY_USER_INIT
2224 YY_USER_INIT;
2225 #endif
2226
2227 if ( ! yy_start )
2228 yy_start = 1; /* first start state */
2229
2230 if ( ! yyin )
2231 yyin = stdin;
2232
2233 if ( ! yyout )
2234 yyout = stdout;
2235
2236 if ( ! yy_current_buffer )
2237 yy_current_buffer =
2238 yy_create_buffer( yyin, YY_BUF_SIZE );
2239
2240 yy_load_buffer_state();
2241 }
2242
2243 while ( 1 ) /* loops until end-of-file is reached */
2244 {
2245 yy_cp = yy_c_buf_p;
2246
2247 /* Support of yytext. */
2248 *yy_cp = yy_hold_char;
2249
2250 /* yy_bp points to the position in yy_ch_buf of the start of
2251 * the current run.
2252 */
2253 yy_bp = yy_cp;
2254
2255 yy_current_state = yy_start_state_list[yy_start];
2256 yy_match:
2257 {
2258 register yyconst struct yy_trans_info *yy_trans_info;
2259
2260 register YY_CHAR yy_c;
2261
2262 for ( yy_c = YY_SC_TO_UI(*yy_cp);
2263 (yy_trans_info = &yy_current_state[(unsigned int) yy_c])->
2264 yy_verify == yy_c;
2265 yy_c = YY_SC_TO_UI(*++yy_cp) )
2266 {
2267 yy_current_state += yy_trans_info->yy_nxt;
2268
2269 if ( yy_current_state[-1].yy_nxt )
2270 {
2271 yy_last_accepting_state = yy_current_state;
2272 yy_last_accepting_cpos = yy_cp;
2273 }
2274 }
2275 }
2276
2277 yy_find_action:
2278 yy_act = yy_current_state[-1].yy_nxt;
2279
2280 YY_DO_BEFORE_ACTION;
2281
2282
2283 do_action: /* This label is used only to access EOF actions. */
2284
2285
2286 switch ( yy_act )
2287 { /* beginning of action switch */
2288 case 0: /* must back up */
2289 /* undo the effects of YY_DO_BEFORE_ACTION */
2290 *yy_cp = yy_hold_char;
2291 yy_cp = yy_last_accepting_cpos + 1;
2292 yy_current_state = yy_last_accepting_state;
2293 goto yy_find_action;
2294
2295 case 1:
2296 YY_RULE_SETUP
2297 #line 291 "lex.l"
2298 BEGIN(incl);
2299 YY_BREAK
2300 case 2:
2301 YY_RULE_SETUP
2302 #line 292 "lex.l"
2303 BEGIN(incl);
2304 YY_BREAK
2305 case 3:
2306 YY_RULE_SETUP
2307 #line 293 "lex.l"
2308 BEGIN(use); /* Turbo Pascal */
2309 YY_BREAK
2310 case 4:
2311 YY_RULE_SETUP
2312 #line 295 "lex.l"
2313 { /* skip whitespaces */
2314 char* p = yytext;
2315 while(*p != '\0') {
2316 if (*p++ == '\n') line += 1;
2317 }
2318 }
2319 YY_BREAK
2320 case 5:
2321 YY_RULE_SETUP
2322 #line 302 "lex.l"
2323 { /* skip comments */
2324 char* p = yytext;
2325 while(*p != '\0') {
2326 if (*p++ == '\n') line += 1;
2327 }
2328 }
2329 YY_BREAK
2330 case 6:
2331 YY_RULE_SETUP
2332 #line 309 "lex.l"
2333 {
2334 /* got the include file name */
2335 char *fname = dprintf("%s.pas", yytext);
2336 for (char* p = fname; *p != '\0'; p++) *p = tolower(*p);
2337
2338 use_ctx* up;
2339 for (up = use_chain;
2340 up != NULL && strcmp(fname, up->fname) != 0;
2341 up = up->next);
2342
2343 if (up == NULL) {
2344 char *xname;
2345 FILE *in = NULL;
2346 char *try_dir, *next_dir;
2347 int dir_length;
2348
2349 for (try_dir = i_path; try_dir != NULL; try_dir = next_dir) {
2350 if ((next_dir = strchr (try_dir, path_sep)) != NULL ) {
2351 dir_length = next_dir - try_dir;
2352 next_dir++;
2353 } else {
2354 dir_length = strlen (try_dir);
2355 }
2356 xname = dprintf ("%.*s" FILE_SEP "%s", dir_length, try_dir, fname);
2357 if ((in = fopen(xname, "r")) != NULL) {
2358 use_chain = new use_ctx(fname, use_chain);
2359 curr_token = new token(xname, TKN_PUSH_UNIT);
2360 curr_token->out_text = fname;
2361 include_level += 1;
2362 BEGIN(INITIAL); // To leave include state
2363 scanner.push();
2364 scanner.attach(xname, in);
2365 return 1;
2366 }
2367 }
2368 warning(line, pos, file_name, "can't include file %s", fname);
2369 curr_token = new token(dprintf("/*#include \"%s.h\"*/\n", yytext),
2370 TKN_CMNT, line, pos);
2371 } else {
2372 curr_token = new token(dprintf("#include \"%s.h\"\n", yytext),
2373 TKN_CMNT, line, pos);
2374 }
2375 return 1;
2376 }
2377 YY_BREAK
2378 case 7:
2379 YY_RULE_SETUP
2380 #line 353 "lex.l"
2381 {
2382 BEGIN(INITIAL); // To leave include state
2383 }
2384 YY_BREAK
2385 case 8:
2386 YY_RULE_SETUP
2387 #line 358 "lex.l"
2388 {
2389 error(line, pos, file_name, "unrecognized token: %s\n",
2390 yytext);
2391 }
2392 YY_BREAK
2393 case 9:
2394 YY_RULE_SETUP
2395 #line 366 "lex.l"
2396 { /* eat the whitespace */
2397 char* p = yytext;
2398 while(*p != '\0') {
2399 if (*p++ == '\n') line += 1;
2400 }
2401 }
2402 YY_BREAK
2403 case 10:
2404 YY_RULE_SETUP
2405 #line 372 "lex.l"
2406 {
2407 /* got the include file name */
2408 BEGIN(INITIAL); // To leave include state
2409
2410 char *fname = include_name (yytext);
2411 char *xname;
2412 FILE *in = NULL;
2413 char *try_dir, *next_dir;
2414 int dir_length;
2415
2416 for (try_dir = i_path; try_dir != NULL; try_dir = next_dir) {
2417 if ((next_dir = strchr (try_dir, path_sep)) != NULL ) {
2418 dir_length = next_dir - try_dir;
2419 next_dir++;
2420 } else {
2421 dir_length = strlen (try_dir);
2422 }
2423 xname = dprintf ("%.*s" FILE_SEP "%s", dir_length, try_dir, fname);
2424 if ((in = fopen(xname, "r")) != NULL) {
2425 include_level += 1;
2426 scanner.push();
2427 scanner.attach(xname, in);
2428 curr_token = new token(xname, TKN_PUSH_FILE);
2429 curr_token->out_text = fname;
2430 return 1;
2431 }
2432 }
2433 warning(line, pos, file_name, "can't include file %s", fname);
2434 curr_token = new token(dprintf("/*#include \"%s\"*/", fname),
2435 TKN_CMNT, line, pos);
2436 return 1;
2437 }
2438 YY_BREAK
2439 case 11:
2440 YY_RULE_SETUP
2441 #line 405 "lex.l"
2442 {
2443 error(line, pos, file_name, "unrecognized token: %s\n",
2444 yytext);
2445 }
2446 YY_BREAK
2447 case 12:
2448 YY_RULE_SETUP
2449 #line 410 "lex.l"
2450 {
2451 char *fname = include_name (yytext+3);
2452 char *xname;
2453 FILE *in = NULL;
2454 char *try_dir, *next_dir;
2455 int dir_length;
2456
2457 for (try_dir = i_path; try_dir != NULL; try_dir = next_dir) {
2458 if ((next_dir = strchr (try_dir, path_sep)) != NULL ) {
2459 dir_length = next_dir - try_dir;
2460 next_dir++;
2461 } else {
2462 dir_length = strlen (try_dir);
2463 }
2464 xname = dprintf ("%.*s" FILE_SEP "%s", dir_length, try_dir, fname);
2465 if ((in = fopen(xname, "r")) != NULL) {
2466 include_level += 1;
2467 scanner.push();
2468 scanner.attach(xname, in);
2469 curr_token = new token(xname, TKN_PUSH_FILE);
2470 curr_token->out_text = fname;
2471 return 1;
2472 }
2473 }
2474 warning(line, pos, file_name, "can't include file %s", fname);
2475 curr_token = new token(dprintf("/*#include \"%s\"*/", fname),
2476 TKN_CMNT, line, pos);
2477 return 1;
2478 }
2479 YY_BREAK
2480 case YY_STATE_EOF(INITIAL):
2481 case YY_STATE_EOF(incl):
2482 case YY_STATE_EOF(use):
2483 #line 440 "lex.l"
2484 {
2485 if (scanner.empty()) {
2486 return -1; // MAGIC ! (< 0 means end of files)
2487 } else {
2488 scanner.pop();
2489 include_level -= 1;
2490 curr_token = new token((char*)NULL, TKN_POP_FILE);
2491 return 1;
2492 }
2493 }
2494 YY_BREAK
2495 case 13:
2496 YY_RULE_SETUP
2497 #line 451 "lex.l"
2498 { return process_end_of_line_comment(); }
2499 YY_BREAK
2500 case 14:
2501 YY_RULE_SETUP
2502 #line 452 "lex.l"
2503 { return process_comments(); }
2504 YY_BREAK
2505 case 15:
2506 YY_RULE_SETUP
2507 #line 453 "lex.l"
2508 { return process_comments(); }
2509 YY_BREAK
2510 case 16:
2511 YY_RULE_SETUP
2512 #line 454 "lex.l"
2513 { return process_comments(); }
2514 YY_BREAK
2515 case 17:
2516 YY_RULE_SETUP
2517 #line 456 "lex.l"
2518 { return tkn(TKN_LPAR); }
2519 YY_BREAK
2520 case 18:
2521 YY_RULE_SETUP
2522 #line 457 "lex.l"
2523 { return tkn(TKN_RPAR); }
2524 YY_BREAK
2525 case 19:
2526 YY_RULE_SETUP
2527 #line 458 "lex.l"
2528 { text = "["; return tkn(TKN_LBR); }
2529 YY_BREAK
2530 case 20:
2531 YY_RULE_SETUP
2532 #line 459 "lex.l"
2533 { text = "]"; return tkn(TKN_RBR); }
2534 YY_BREAK
2535 case 21:
2536 YY_RULE_SETUP
2537 #line 460 "lex.l"
2538 { return tkn(TKN_LBR); }
2539 YY_BREAK
2540 case 22:
2541 YY_RULE_SETUP
2542 #line 461 "lex.l"
2543 { return tkn(TKN_RBR); }
2544 YY_BREAK
2545 case 23:
2546 YY_RULE_SETUP
2547 #line 462 "lex.l"
2548 { return tkn(TKN_MUL); }
2549 YY_BREAK
2550 case 24:
2551 YY_RULE_SETUP
2552 #line 463 "lex.l"
2553 { return tkn(TKN_PLUS); }
2554 YY_BREAK
2555 case 25:
2556 YY_RULE_SETUP
2557 #line 464 "lex.l"
2558 { return tkn(TKN_MINUS);}
2559 YY_BREAK
2560 case 26:
2561 YY_RULE_SETUP
2562 #line 465 "lex.l"
2563 { return tkn(TKN_C_SHR); }
2564 YY_BREAK
2565 case 27:
2566 YY_RULE_SETUP
2567 #line 466 "lex.l"
2568 { return tkn(TKN_C_SHL);}
2569 YY_BREAK
2570 case 28:
2571 YY_RULE_SETUP
2572 #line 467 "lex.l"
2573 { return tkn(TKN_C_AND);}
2574 YY_BREAK
2575 case 29:
2576 YY_RULE_SETUP
2577 #line 468 "lex.l"
2578 { return tkn(TKN_C_OR);}
2579 YY_BREAK
2580 case 30:
2581 YY_RULE_SETUP
2582 #line 469 "lex.l"
2583 { return tkn(TKN_LETMUL); }
2584 YY_BREAK
2585 case 31:
2586 YY_RULE_SETUP
2587 #line 470 "lex.l"
2588 { return tkn(TKN_LETADD); }
2589 YY_BREAK
2590 case 32:
2591 YY_RULE_SETUP
2592 #line 471 "lex.l"
2593 { return tkn(TKN_LETSUB);}
2594 YY_BREAK
2595 case 33:
2596 YY_RULE_SETUP
2597 #line 472 "lex.l"
2598 { return tkn(TKN_LETSHR); }
2599 YY_BREAK
2600 case 34:
2601 YY_RULE_SETUP
2602 #line 473 "lex.l"
2603 { return tkn(TKN_LETSHL);}
2604 YY_BREAK
2605 case 35:
2606 YY_RULE_SETUP
2607 #line 474 "lex.l"
2608 { return tkn(TKN_LETAND);}
2609 YY_BREAK
2610 case 36:
2611 YY_RULE_SETUP
2612 #line 475 "lex.l"
2613 { return tkn(TKN_LETOR);}
2614 YY_BREAK
2615 case 37:
2616 YY_RULE_SETUP
2617 #line 476 "lex.l"
2618 { return tkn(TKN_LETDIV);}
2619 YY_BREAK
2620 case 38:
2621 YY_RULE_SETUP
2622 #line 477 "lex.l"
2623 { return tkn(TKN_C_NOT);}
2624 YY_BREAK
2625 case 39:
2626 YY_RULE_SETUP
2627 #line 478 "lex.l"
2628 { return tkn(TKN_COMMA);}
2629 YY_BREAK
2630 case 40:
2631 YY_RULE_SETUP
2632 #line 479 "lex.l"
2633 { return tkn(TKN_DOT); }
2634 YY_BREAK
2635 case 41:
2636 YY_RULE_SETUP
2637 #line 480 "lex.l"
2638 { return tkn(TKN_DOTS); }
2639 YY_BREAK
2640 case 42:
2641 YY_RULE_SETUP
2642 #line 481 "lex.l"
2643 { return tkn(TKN_DIVR); }
2644 YY_BREAK
2645 case 43:
2646 YY_RULE_SETUP
2647 #line 482 "lex.l"
2648 { return turbo_pascal ? tkn(TKN_ADDR) : tkn(TKN_HEAP); }
2649 YY_BREAK
2650 case 44:
2651 YY_RULE_SETUP
2652 #line 483 "lex.l"
2653 { if (turbo_pascal && !type_or_var_context
2654 && curr_token->tag != TKN_HEAP
2655 && curr_token->tag != TKN_RBR && curr_token->tag != TKN_RPAR
2656 && curr_token->tag != TKN_REF
2657 && curr_token->tag != TKN_IDENT
2658 && curr_token->cat != CAT_ID)
2659 {
2660 text = dprintf("#%d", yyinput() & 31);
2661 return tkn(TKN_SCONST);
2662 }
2663 return tkn(TKN_HEAP);
2664 }
2665 YY_BREAK
2666 case 45:
2667 YY_RULE_SETUP
2668 #line 495 "lex.l"
2669 { return tkn(TKN_LET); }
2670 YY_BREAK
2671 case 46:
2672 YY_RULE_SETUP
2673 #line 496 "lex.l"
2674 { return tkn(TKN_COLON);}
2675 YY_BREAK
2676 case 47:
2677 YY_RULE_SETUP
2678 #line 497 "lex.l"
2679 { return tkn(TKN_SEMICOLON); }
2680 YY_BREAK
2681 case 48:
2682 YY_RULE_SETUP
2683 #line 498 "lex.l"
2684 { return tkn(TKN_LE); }
2685 YY_BREAK
2686 case 49:
2687 YY_RULE_SETUP
2688 #line 499 "lex.l"
2689 { return tkn(TKN_GE); }
2690 YY_BREAK
2691 case 50:
2692 YY_RULE_SETUP
2693 #line 500 "lex.l"
2694 { return tkn(TKN_LT); }
2695 YY_BREAK
2696 case 51:
2697 YY_RULE_SETUP
2698 #line 501 "lex.l"
2699 { return tkn(TKN_GT); }
2700 YY_BREAK
2701 case 52:
2702 YY_RULE_SETUP
2703 #line 502 "lex.l"
2704 { return tkn(TKN_EQ); }
2705 YY_BREAK
2706 case 53:
2707 YY_RULE_SETUP
2708 #line 503 "lex.l"
2709 { return tkn(TKN_NE); }
2710 YY_BREAK
2711 case 54:
2712 YY_RULE_SETUP
2713 #line 506 "lex.l"
2714 { return tkn(TKN_RCONST); }
2715 YY_BREAK
2716 case 55:
2717 YY_RULE_SETUP
2718 #line 507 "lex.l"
2719 { return tkn(TKN_ICONST); }
2720 YY_BREAK
2721 case 56:
2722 YY_RULE_SETUP
2723 #line 509 "lex.l"
2724 {
2725 char lc_buf[MAX_ID_LENGTH];
2726 char *src = yytext, *dst = lc_buf;
2727 if (*yytext == '$') {
2728 if (turbo_pascal) { /* hexademical number */
2729 return tkn(TKN_ICONST);
2730 } else if (ignore_preprocessor_directives) {
2731 int c;
2732 char cmt_buffer[1024];
2733 int i = sprintf(cmt_buffer, "/*%s", yytext);
2734 curr_token = new token(NULL, TKN_CMNT, line, pos);
2735 pos += strlen(yytext);
2736 while((c = yyinput_file()) != EOF && c != '\n') {
2737 if (i == (int)sizeof(cmt_buffer)-4) {
2738 error(line, pos, file_name, "Preprocessor directive too long\n");
2739 } else {
2740 cmt_buffer[i++] = (char)c;
2741 }
2742 }
2743 cmt_buffer[i++] = '*';
2744 cmt_buffer[i++] = '/';
2745 cmt_buffer[i++] = '\n';
2746 cmt_buffer[i++] = '\0';
2747 char* cmt_text = new char[i];
2748 memcpy(cmt_text, cmt_buffer, i);
2749 curr_token->in_text = curr_token->out_text = cmt_text;
2750 return 1;
2751 }
2752 }
2753 do {
2754 *dst++ = tolower(*(unsigned char*)src);
2755 } while (*src++);
2756 nm = nm_entry::add(lc_buf, TKN_IDENT);
2757 int tag = nm->tag;
2758
2759 if (turbo_pascal) {
2760 if (tag == TKN_TYPE || tag == TKN_VAR) {
2761 type_or_var_context = TRUE;
2762 } else if (tag == TKN_BEGIN || tag == TKN_CONST) {
2763 type_or_var_context = FALSE;
2764 } else if (tag == TKN_IMPLEMENTATION) {
2765 if (include_level > 0) {
2766 scanner.pop();
2767 include_level -= 1;
2768 BEGIN(use);
2769 curr_token = new token((char*)NULL, TKN_UNIT_END);
2770 return 1;
2771 } else {
2772 return tkn(TKN_IMPLEMENTATION);
2773 }
2774 } else if (tag == TKN_INTERFACE) {
2775 if (use_chain == NULL) {
2776 use_chain = new use_ctx(file_name, NULL);
2777 }
2778 tkn(TKN_INTERFACE);
2779 return 1;
2780 }
2781 }
2782 if (tag == TKN_RESERVED) {
2783 text = dprintf("%s_", lc_buf);
2784 nm = nm_entry::add(text, TKN_IDENT);
2785 tag = TKN_IDENT;
2786 } else if (!preserve_case || tag != TKN_IDENT) {
2787 text = strdup(lc_buf);
2788 }
2789 return tkn(tag);
2790 }
2791 YY_BREAK
2792 case 57:
2793 YY_RULE_SETUP
2794 #line 578 "lex.l"
2795 { return tkn(TKN_SCONST); }
2796 YY_BREAK
2797 case 58:
2798 YY_RULE_SETUP
2799 #line 580 "lex.l"
2800 { return tkn(TKN_SPACE); }
2801 YY_BREAK
2802 case 59:
2803 YY_RULE_SETUP
2804 #line 582 "lex.l"
2805 { return tkn(TKN_LN); }
2806 YY_BREAK
2807 case 60:
2808 YY_RULE_SETUP
2809 #line 584 "lex.l"
2810 {
2811 error(line, pos, file_name, "unrecognized token: %s\n",
2812 yytext);
2813 }
2814 YY_BREAK
2815 case 61:
2816 YY_RULE_SETUP
2817 #line 589 "lex.l"
2818 ECHO;
2819 YY_BREAK
2820 #line 2821 "lex.yy.c"
2821
2822 case YY_END_OF_BUFFER:
2823 {
2824 /* Amount of text matched not including the EOB char. */
2825 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
2826
2827 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2828 *yy_cp = yy_hold_char;
2829 YY_RESTORE_YY_MORE_OFFSET
2830
2831 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
2832 {
2833 /* We're scanning a new file or input source. It's
2834 * possible that this happened because the user
2835 * just pointed yyin at a new source and called
2836 * yylex(). If so, then we have to assure
2837 * consistency between yy_current_buffer and our
2838 * globals. Here is the right place to do so, because
2839 * this is the first action (other than possibly a
2840 * back-up) that will match for the new input source.
2841 */
2842 yy_n_chars = yy_current_buffer->yy_n_chars;
2843 yy_current_buffer->yy_input_file = yyin;
2844 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
2845 }
2846
2847 /* Note that here we test for yy_c_buf_p "<=" to the position
2848 * of the first EOB in the buffer, since yy_c_buf_p will
2849 * already have been incremented past the NUL character
2850 * (since all states make transitions on EOB to the
2851 * end-of-buffer state). Contrast this with the test
2852 * in input().
2853 */
2854 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2855 { /* This was really a NUL. */
2856 yy_state_type yy_next_state;
2857
2858 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
2859
2860 yy_current_state = yy_get_previous_state();
2861
2862 /* Okay, we're now positioned to make the NUL
2863 * transition. We couldn't have
2864 * yy_get_previous_state() go ahead and do it
2865 * for us because it doesn't know how to deal
2866 * with the possibility of jamming (and we don't
2867 * want to build jamming into it because then it
2868 * will run more slowly).
2869 */
2870
2871 yy_next_state = yy_try_NUL_trans( yy_current_state );
2872
2873 yy_bp = yytext_ptr + YY_MORE_ADJ;
2874
2875 if ( yy_next_state )
2876 {
2877 /* Consume the NUL. */
2878 yy_cp = ++yy_c_buf_p;
2879 yy_current_state = yy_next_state;
2880 goto yy_match;
2881 }
2882
2883 else
2884 {
2885 yy_cp = yy_c_buf_p;
2886 goto yy_find_action;
2887 }
2888 }
2889
2890 else switch ( yy_get_next_buffer() )
2891 {
2892 case EOB_ACT_END_OF_FILE:
2893 {
2894 yy_did_buffer_switch_on_eof = 0;
2895
2896 if ( yywrap() )
2897 {
2898 /* Note: because we've taken care in
2899 * yy_get_next_buffer() to have set up
2900 * yytext, we can now set up
2901 * yy_c_buf_p so that if some total
2902 * hoser (like flex itself) wants to
2903 * call the scanner after we return the
2904 * YY_NULL, it'll still work - another
2905 * YY_NULL will get returned.
2906 */
2907 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
2908
2909 yy_act = YY_STATE_EOF(YY_START);
2910 goto do_action;
2911 }
2912
2913 else
2914 {
2915 if ( ! yy_did_buffer_switch_on_eof )
2916 YY_NEW_FILE;
2917 }
2918 break;
2919 }
2920
2921 case EOB_ACT_CONTINUE_SCAN:
2922 yy_c_buf_p =
2923 yytext_ptr + yy_amount_of_matched_text;
2924
2925 yy_current_state = yy_get_previous_state();
2926
2927 yy_cp = yy_c_buf_p;
2928 yy_bp = yytext_ptr + YY_MORE_ADJ;
2929 goto yy_match;
2930
2931 case EOB_ACT_LAST_MATCH:
2932 yy_c_buf_p =
2933 &yy_current_buffer->yy_ch_buf[yy_n_chars];
2934
2935 yy_current_state = yy_get_previous_state();
2936
2937 yy_cp = yy_c_buf_p;
2938 yy_bp = yytext_ptr + YY_MORE_ADJ;
2939 goto yy_find_action;
2940 }
2941 break;
2942 }
2943
2944 default:
2945 YY_FATAL_ERROR(
2946 "fatal flex scanner internal error--no action found" );
2947 } /* end of action switch */
2948 } /* end of scanning one token */
2949 } /* end of yylex */
2950
2951
2952 /* yy_get_next_buffer - try to read in a new buffer
2953 *
2954 * Returns a code representing an action:
2955 * EOB_ACT_LAST_MATCH -
2956 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2957 * EOB_ACT_END_OF_FILE - end of file
2958 */
2959
2960 static int yy_get_next_buffer()
2961 {
2962 register char *dest = yy_current_buffer->yy_ch_buf;
2963 register char *source = yytext_ptr;
2964 register int number_to_move, i;
2965 int ret_val;
2966
2967 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2968 YY_FATAL_ERROR(
2969 "fatal flex scanner internal error--end of buffer missed" );
2970
2971 if ( yy_current_buffer->yy_fill_buffer == 0 )
2972 { /* Don't try to fill the buffer, so this is an EOF. */
2973 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
2974 {
2975 /* We matched a single character, the EOB, so
2976 * treat this as a final EOF.
2977 */
2978 return EOB_ACT_END_OF_FILE;
2979 }
2980
2981 else
2982 {
2983 /* We matched some text prior to the EOB, first
2984 * process it.
2985 */
2986 return EOB_ACT_LAST_MATCH;
2987 }
2988 }
2989
2990 /* Try to read more data. */
2991
2992 /* First move last chars to start of buffer. */
2993 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
2994
2995 for ( i = 0; i < number_to_move; ++i )
2996 *(dest++) = *(source++);
2997
2998 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2999 /* don't do the read, it's not guaranteed to return an EOF,
3000 * just force an EOF
3001 */
3002 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
3003
3004 else
3005 {
3006 int num_to_read =
3007 yy_current_buffer->yy_buf_size - number_to_move - 1;
3008
3009 while ( num_to_read <= 0 )
3010 { /* Not enough room in the buffer - grow it. */
3011 #ifdef YY_USES_REJECT
3012 YY_FATAL_ERROR(
3013 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
3014 #else
3015
3016 /* just a shorter name for the current buffer */
3017 YY_BUFFER_STATE b = yy_current_buffer;
3018
3019 int yy_c_buf_p_offset =
3020 (int) (yy_c_buf_p - b->yy_ch_buf);
3021
3022 if ( b->yy_is_our_buffer )
3023 {
3024 int new_size = b->yy_buf_size * 2;
3025
3026 if ( new_size <= 0 )
3027 b->yy_buf_size += b->yy_buf_size / 8;
3028 else
3029 b->yy_buf_size *= 2;
3030
3031 b->yy_ch_buf = (char *)
3032 /* Include room in for 2 EOB chars. */
3033 yy_flex_realloc( (void *) b->yy_ch_buf,
3034 b->yy_buf_size + 2 );
3035 }
3036 else
3037 /* Can't grow it, we don't own it. */
3038 b->yy_ch_buf = 0;
3039
3040 if ( ! b->yy_ch_buf )
3041 YY_FATAL_ERROR(
3042 "fatal error - scanner input buffer overflow" );
3043
3044 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3045
3046 num_to_read = yy_current_buffer->yy_buf_size -
3047 number_to_move - 1;
3048 #endif
3049 }
3050
3051 if ( num_to_read > YY_READ_BUF_SIZE )
3052 num_to_read = YY_READ_BUF_SIZE;
3053
3054 /* Read in more data. */
3055 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
3056 yy_n_chars, num_to_read );
3057
3058 yy_current_buffer->yy_n_chars = yy_n_chars;
3059 }
3060
3061 if ( yy_n_chars == 0 )
3062 {
3063 if ( number_to_move == YY_MORE_ADJ )
3064 {
3065 ret_val = EOB_ACT_END_OF_FILE;
3066 yyrestart( yyin );
3067 }
3068
3069 else
3070 {
3071 ret_val = EOB_ACT_LAST_MATCH;
3072 yy_current_buffer->yy_buffer_status =
3073 YY_BUFFER_EOF_PENDING;
3074 }
3075 }
3076
3077 else
3078 ret_val = EOB_ACT_CONTINUE_SCAN;
3079
3080 yy_n_chars += number_to_move;
3081 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3082 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3083
3084 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3085
3086 return ret_val;
3087 }
3088
3089
3090 /* yy_get_previous_state - get the state just before the EOB char was reached */
3091
yy_get_previous_state()3092 static yy_state_type yy_get_previous_state()
3093 {
3094 register yy_state_type yy_current_state;
3095 register char *yy_cp;
3096
3097 yy_current_state = yy_start_state_list[yy_start];
3098
3099 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3100 {
3101 yy_current_state += yy_current_state[(*yy_cp ? YY_SC_TO_UI(*yy_cp) : 256)].yy_nxt;
3102 if ( yy_current_state[-1].yy_nxt )
3103 {
3104 yy_last_accepting_state = yy_current_state;
3105 yy_last_accepting_cpos = yy_cp;
3106 }
3107 }
3108
3109 return yy_current_state;
3110 }
3111
3112
3113 /* yy_try_NUL_trans - try to make a transition on the NUL character
3114 *
3115 * synopsis
3116 * next_state = yy_try_NUL_trans( current_state );
3117 */
3118
3119 #ifdef YY_USE_PROTOS
yy_try_NUL_trans(yy_state_type yy_current_state)3120 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3121 #else
3122 static yy_state_type yy_try_NUL_trans( yy_current_state )
3123 yy_state_type yy_current_state;
3124 #endif
3125 {
3126 register int yy_is_jam;
3127 register char *yy_cp = yy_c_buf_p;
3128
3129 register int yy_c = 256;
3130 register yyconst struct yy_trans_info *yy_trans_info;
3131
3132 yy_trans_info = &yy_current_state[(unsigned int) yy_c];
3133 yy_current_state += yy_trans_info->yy_nxt;
3134 yy_is_jam = (yy_trans_info->yy_verify != yy_c);
3135
3136 if ( ! yy_is_jam )
3137 {
3138 if ( yy_current_state[-1].yy_nxt )
3139 {
3140 yy_last_accepting_state = yy_current_state;
3141 yy_last_accepting_cpos = yy_cp;
3142 }
3143 }
3144
3145 return yy_is_jam ? 0 : yy_current_state;
3146 }
3147
3148
3149 #ifndef YY_NO_UNPUT
3150 #ifdef YY_USE_PROTOS
yyunput(int c,register char * yy_bp)3151 static void yyunput( int c, register char *yy_bp )
3152 #else
3153 static void yyunput( c, yy_bp )
3154 int c;
3155 register char *yy_bp;
3156 #endif
3157 {
3158 register char *yy_cp = yy_c_buf_p;
3159
3160 /* undo effects of setting up yytext */
3161 *yy_cp = yy_hold_char;
3162
3163 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3164 { /* need to shift things up to make room */
3165 /* +2 for EOB chars. */
3166 register int number_to_move = yy_n_chars + 2;
3167 register char *dest = &yy_current_buffer->yy_ch_buf[
3168 yy_current_buffer->yy_buf_size + 2];
3169 register char *source =
3170 &yy_current_buffer->yy_ch_buf[number_to_move];
3171
3172 while ( source > yy_current_buffer->yy_ch_buf )
3173 *--dest = *--source;
3174
3175 yy_cp += (int) (dest - source);
3176 yy_bp += (int) (dest - source);
3177 yy_current_buffer->yy_n_chars =
3178 yy_n_chars = yy_current_buffer->yy_buf_size;
3179
3180 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3181 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3182 }
3183
3184 *--yy_cp = (char) c;
3185
3186
3187 yytext_ptr = yy_bp;
3188 yy_hold_char = *yy_cp;
3189 yy_c_buf_p = yy_cp;
3190 }
3191 #endif /* ifndef YY_NO_UNPUT */
3192
3193
3194 #ifdef __cplusplus
yyinput()3195 static int yyinput()
3196 #else
3197 static int input()
3198 #endif
3199 {
3200 int c;
3201
3202 *yy_c_buf_p = yy_hold_char;
3203
3204 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3205 {
3206 /* yy_c_buf_p now points to the character we want to return.
3207 * If this occurs *before* the EOB characters, then it's a
3208 * valid NUL; if not, then we've hit the end of the buffer.
3209 */
3210 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3211 /* This was really a NUL. */
3212 *yy_c_buf_p = '\0';
3213
3214 else
3215 { /* need more input */
3216 int offset = yy_c_buf_p - yytext_ptr;
3217 ++yy_c_buf_p;
3218
3219 switch ( yy_get_next_buffer() )
3220 {
3221 case EOB_ACT_LAST_MATCH:
3222 /* This happens because yy_g_n_b()
3223 * sees that we've accumulated a
3224 * token and flags that we need to
3225 * try matching the token before
3226 * proceeding. But for input(),
3227 * there's no matching to consider.
3228 * So convert the EOB_ACT_LAST_MATCH
3229 * to EOB_ACT_END_OF_FILE.
3230 */
3231
3232 /* Reset buffer status. */
3233 yyrestart( yyin );
3234
3235 /* fall through */
3236
3237 case EOB_ACT_END_OF_FILE:
3238 {
3239 if ( yywrap() )
3240 return EOF;
3241
3242 if ( ! yy_did_buffer_switch_on_eof )
3243 YY_NEW_FILE;
3244 #ifdef __cplusplus
3245 return yyinput();
3246 #else
3247 return input();
3248 #endif
3249 }
3250
3251 case EOB_ACT_CONTINUE_SCAN:
3252 yy_c_buf_p = yytext_ptr + offset;
3253 break;
3254 }
3255 }
3256 }
3257
3258 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
3259 *yy_c_buf_p = '\0'; /* preserve yytext */
3260 yy_hold_char = *++yy_c_buf_p;
3261
3262
3263 return c;
3264 }
3265
3266
3267 #ifdef YY_USE_PROTOS
yyrestart(FILE * input_file)3268 void yyrestart( FILE *input_file )
3269 #else
3270 void yyrestart( input_file )
3271 FILE *input_file;
3272 #endif
3273 {
3274 if ( ! yy_current_buffer )
3275 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3276
3277 yy_init_buffer( yy_current_buffer, input_file );
3278 yy_load_buffer_state();
3279 }
3280
3281
3282 #ifdef YY_USE_PROTOS
yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)3283 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3284 #else
3285 void yy_switch_to_buffer( new_buffer )
3286 YY_BUFFER_STATE new_buffer;
3287 #endif
3288 {
3289 if ( yy_current_buffer == new_buffer )
3290 return;
3291
3292 if ( yy_current_buffer )
3293 {
3294 /* Flush out information for old buffer. */
3295 *yy_c_buf_p = yy_hold_char;
3296 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3297 yy_current_buffer->yy_n_chars = yy_n_chars;
3298 }
3299
3300 yy_current_buffer = new_buffer;
3301 yy_load_buffer_state();
3302
3303 /* We don't actually know whether we did this switch during
3304 * EOF (yywrap()) processing, but the only time this flag
3305 * is looked at is after yywrap() is called, so it's safe
3306 * to go ahead and always set it.
3307 */
3308 yy_did_buffer_switch_on_eof = 1;
3309 }
3310
3311
3312 #ifdef YY_USE_PROTOS
yy_load_buffer_state(void)3313 void yy_load_buffer_state( void )
3314 #else
3315 void yy_load_buffer_state()
3316 #endif
3317 {
3318 yy_n_chars = yy_current_buffer->yy_n_chars;
3319 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3320 yyin = yy_current_buffer->yy_input_file;
3321 yy_hold_char = *yy_c_buf_p;
3322 }
3323
3324
3325 #ifdef YY_USE_PROTOS
yy_create_buffer(FILE * file,int size)3326 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3327 #else
3328 YY_BUFFER_STATE yy_create_buffer( file, size )
3329 FILE *file;
3330 int size;
3331 #endif
3332 {
3333 YY_BUFFER_STATE b;
3334
3335 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3336 if ( ! b )
3337 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3338
3339 b->yy_buf_size = size;
3340
3341 /* yy_ch_buf has to be 2 characters longer than the size given because
3342 * we need to put in 2 end-of-buffer characters.
3343 */
3344 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3345 if ( ! b->yy_ch_buf )
3346 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3347
3348 b->yy_is_our_buffer = 1;
3349
3350 yy_init_buffer( b, file );
3351
3352 return b;
3353 }
3354
3355
3356 #ifdef YY_USE_PROTOS
yy_delete_buffer(YY_BUFFER_STATE b)3357 void yy_delete_buffer( YY_BUFFER_STATE b )
3358 #else
3359 void yy_delete_buffer( b )
3360 YY_BUFFER_STATE b;
3361 #endif
3362 {
3363 if ( ! b )
3364 return;
3365
3366 if ( b == yy_current_buffer )
3367 yy_current_buffer = (YY_BUFFER_STATE) 0;
3368
3369 if ( b->yy_is_our_buffer )
3370 yy_flex_free( (void *) b->yy_ch_buf );
3371
3372 yy_flex_free( (void *) b );
3373 }
3374
3375
3376
3377 #ifdef YY_USE_PROTOS
yy_init_buffer(YY_BUFFER_STATE b,FILE * file)3378 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3379 #else
3380 void yy_init_buffer( b, file )
3381 YY_BUFFER_STATE b;
3382 FILE *file;
3383 #endif
3384
3385
3386 {
3387 yy_flush_buffer( b );
3388
3389 b->yy_input_file = file;
3390 b->yy_fill_buffer = 1;
3391
3392 #if YY_ALWAYS_INTERACTIVE
3393 b->yy_is_interactive = 1;
3394 #else
3395 #if YY_NEVER_INTERACTIVE
3396 b->yy_is_interactive = 0;
3397 #else
3398 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3399 #endif
3400 #endif
3401 }
3402
3403
3404 #ifdef YY_USE_PROTOS
yy_flush_buffer(YY_BUFFER_STATE b)3405 void yy_flush_buffer( YY_BUFFER_STATE b )
3406 #else
3407 void yy_flush_buffer( b )
3408 YY_BUFFER_STATE b;
3409 #endif
3410
3411 {
3412 if ( ! b )
3413 return;
3414
3415 b->yy_n_chars = 0;
3416
3417 /* We always need two end-of-buffer characters. The first causes
3418 * a transition to the end-of-buffer state. The second causes
3419 * a jam in that state.
3420 */
3421 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3422 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3423
3424 b->yy_buf_pos = &b->yy_ch_buf[0];
3425
3426 b->yy_at_bol = 1;
3427 b->yy_buffer_status = YY_BUFFER_NEW;
3428
3429 if ( b == yy_current_buffer )
3430 yy_load_buffer_state();
3431 }
3432
3433
3434 #ifndef YY_NO_SCAN_BUFFER
3435 #ifdef YY_USE_PROTOS
yy_scan_buffer(char * base,yy_size_t size)3436 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3437 #else
3438 YY_BUFFER_STATE yy_scan_buffer( base, size )
3439 char *base;
3440 yy_size_t size;
3441 #endif
3442 {
3443 YY_BUFFER_STATE b;
3444
3445 if ( size < 2 ||
3446 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3447 base[size-1] != YY_END_OF_BUFFER_CHAR )
3448 /* They forgot to leave room for the EOB's. */
3449 return 0;
3450
3451 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3452 if ( ! b )
3453 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3454
3455 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3456 b->yy_buf_pos = b->yy_ch_buf = base;
3457 b->yy_is_our_buffer = 0;
3458 b->yy_input_file = 0;
3459 b->yy_n_chars = b->yy_buf_size;
3460 b->yy_is_interactive = 0;
3461 b->yy_at_bol = 1;
3462 b->yy_fill_buffer = 0;
3463 b->yy_buffer_status = YY_BUFFER_NEW;
3464
3465 yy_switch_to_buffer( b );
3466
3467 return b;
3468 }
3469 #endif
3470
3471
3472 #ifndef YY_NO_SCAN_STRING
3473 #ifdef YY_USE_PROTOS
yy_scan_string(yyconst char * yy_str)3474 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3475 #else
3476 YY_BUFFER_STATE yy_scan_string( yy_str )
3477 yyconst char *yy_str;
3478 #endif
3479 {
3480 int len;
3481 for ( len = 0; yy_str[len]; ++len )
3482 ;
3483
3484 return yy_scan_bytes( yy_str, len );
3485 }
3486 #endif
3487
3488
3489 #ifndef YY_NO_SCAN_BYTES
3490 #ifdef YY_USE_PROTOS
yy_scan_bytes(yyconst char * bytes,int len)3491 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3492 #else
3493 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3494 yyconst char *bytes;
3495 int len;
3496 #endif
3497 {
3498 YY_BUFFER_STATE b;
3499 char *buf;
3500 yy_size_t n;
3501 int i;
3502
3503 /* Get memory for full buffer, including space for trailing EOB's. */
3504 n = len + 2;
3505 buf = (char *) yy_flex_alloc( n );
3506 if ( ! buf )
3507 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3508
3509 for ( i = 0; i < len; ++i )
3510 buf[i] = bytes[i];
3511
3512 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3513
3514 b = yy_scan_buffer( buf, n );
3515 if ( ! b )
3516 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3517
3518 /* It's okay to grow etc. this buffer, and we should throw it
3519 * away when we're done.
3520 */
3521 b->yy_is_our_buffer = 1;
3522
3523 return b;
3524 }
3525 #endif
3526
3527
3528 #ifndef YY_NO_PUSH_STATE
3529 #ifdef YY_USE_PROTOS
yy_push_state(int new_state)3530 static void yy_push_state( int new_state )
3531 #else
3532 static void yy_push_state( new_state )
3533 int new_state;
3534 #endif
3535 {
3536 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3537 {
3538 yy_size_t new_size;
3539
3540 yy_start_stack_depth += YY_START_STACK_INCR;
3541 new_size = yy_start_stack_depth * sizeof( int );
3542
3543 if ( ! yy_start_stack )
3544 yy_start_stack = (int *) yy_flex_alloc( new_size );
3545
3546 else
3547 yy_start_stack = (int *) yy_flex_realloc(
3548 (void *) yy_start_stack, new_size );
3549
3550 if ( ! yy_start_stack )
3551 YY_FATAL_ERROR(
3552 "out of memory expanding start-condition stack" );
3553 }
3554
3555 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3556
3557 BEGIN(new_state);
3558 }
3559 #endif
3560
3561
3562 #ifndef YY_NO_POP_STATE
yy_pop_state()3563 static void yy_pop_state()
3564 {
3565 if ( --yy_start_stack_ptr < 0 )
3566 YY_FATAL_ERROR( "start-condition stack underflow" );
3567
3568 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3569 }
3570 #endif
3571
3572
3573 #ifndef YY_NO_TOP_STATE
yy_top_state()3574 static int yy_top_state()
3575 {
3576 return yy_start_stack[yy_start_stack_ptr - 1];
3577 }
3578 #endif
3579
3580 #ifndef YY_EXIT_FAILURE
3581 #define YY_EXIT_FAILURE 2
3582 #endif
3583
3584 #ifdef YY_USE_PROTOS
yy_fatal_error(yyconst char msg[])3585 static void yy_fatal_error( yyconst char msg[] )
3586 #else
3587 static void yy_fatal_error( msg )
3588 char msg[];
3589 #endif
3590 {
3591 (void) fprintf( stderr, "%s\n", msg );
3592 exit( YY_EXIT_FAILURE );
3593 }
3594
3595
3596
3597 /* Redefine yyless() so it works in section 3 code. */
3598
3599 #undef yyless
3600 #define yyless(n) \
3601 do \
3602 { \
3603 /* Undo effects of setting up yytext. */ \
3604 yytext[yyleng] = yy_hold_char; \
3605 yy_c_buf_p = yytext + n; \
3606 yy_hold_char = *yy_c_buf_p; \
3607 *yy_c_buf_p = '\0'; \
3608 yyleng = n; \
3609 } \
3610 while ( 0 )
3611
3612
3613 /* Internal utility routines. */
3614
3615 #ifndef yytext_ptr
3616 #ifdef YY_USE_PROTOS
yy_flex_strncpy(char * s1,yyconst char * s2,int n)3617 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3618 #else
3619 static void yy_flex_strncpy( s1, s2, n )
3620 char *s1;
3621 yyconst char *s2;
3622 int n;
3623 #endif
3624 {
3625 register int i;
3626 for ( i = 0; i < n; ++i )
3627 s1[i] = s2[i];
3628 }
3629 #endif
3630
3631 #ifdef YY_NEED_STRLEN
3632 #ifdef YY_USE_PROTOS
yy_flex_strlen(yyconst char * s)3633 static int yy_flex_strlen( yyconst char *s )
3634 #else
3635 static int yy_flex_strlen( s )
3636 yyconst char *s;
3637 #endif
3638 {
3639 register int n;
3640 for ( n = 0; s[n]; ++n )
3641 ;
3642
3643 return n;
3644 }
3645 #endif
3646
3647
3648 #ifdef YY_USE_PROTOS
yy_flex_alloc(yy_size_t size)3649 static void *yy_flex_alloc( yy_size_t size )
3650 #else
3651 static void *yy_flex_alloc( size )
3652 yy_size_t size;
3653 #endif
3654 {
3655 return (void *) malloc( size );
3656 }
3657
3658 #ifdef YY_USE_PROTOS
yy_flex_realloc(void * ptr,yy_size_t size)3659 static void *yy_flex_realloc( void *ptr, yy_size_t size )
3660 #else
3661 static void *yy_flex_realloc( ptr, size )
3662 void *ptr;
3663 yy_size_t size;
3664 #endif
3665 {
3666 /* The cast to (char *) in the following accommodates both
3667 * implementations that use char* generic pointers, and those
3668 * that use void* generic pointers. It works with the latter
3669 * because both ANSI C and C++ allow castless assignment from
3670 * any pointer type to void*, and deal with argument conversions
3671 * as though doing an assignment.
3672 */
3673 return (void *) realloc( (char *) ptr, size );
3674 }
3675
3676 #ifdef YY_USE_PROTOS
yy_flex_free(void * ptr)3677 static void yy_flex_free( void *ptr )
3678 #else
3679 static void yy_flex_free( ptr )
3680 void *ptr;
3681 #endif
3682 {
3683 free( ptr );
3684 }
3685
3686 #if YY_MAIN
main()3687 int main()
3688 {
3689 yylex();
3690 return 0;
3691 }
3692 #endif
3693 #line 589 "lex.l"
3694
3695
push()3696 void scan_ctx::push() {
3697 assert(sp < MAX_INCLUDE_DEPTH);
3698 stack[sp].file_name = file_name;
3699 stack[sp].buffer = YY_CURRENT_BUFFER;
3700 stack[sp].search_path = i_path;
3701 stack[sp].pos = pos;
3702 stack[sp].line = line;
3703 stack[sp].input = yyin;
3704 sp += 1;
3705 }
3706
3707
attach(char * name,FILE * in)3708 void scan_ctx::attach(char* name, FILE* in) {
3709 pos = 0;
3710 line = 1;
3711 file_name = name;
3712 yyin = in;
3713 char* base_name = strrchr(name, PATH_SEP);
3714 if (base_name != NULL) {
3715 i_path = dprintf("%.*s%c%s", base_name-name, name, path_sep, i_path);
3716 }
3717 yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
3718 }
3719
pop()3720 void scan_ctx::pop() {
3721 assert(sp > 0);
3722 sp -= 1;
3723 pos = stack[sp].pos;
3724 line = stack[sp].line;
3725 file_name = stack[sp].file_name;
3726 fclose(yyin);
3727 yyin = stack[sp].input;
3728 i_path = stack[sp].search_path;
3729 yy_switch_to_buffer(stack[sp].buffer);
3730 }
3731
find(char * name)3732 bool scan_ctx::find(char* name) {
3733 for (int i = 0; i < sp; i ++ ) {
3734 if (strcmp(stack[i].file_name, name) == 0) {
3735 return TRUE;
3736 }
3737 }
3738 return FALSE;
3739 }
3740
3741