Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / programs / dtinfo / dtinfogen / infolib / etc / gr_type.C
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $XConsortium: gr_type.cc /main/3 1996/07/05 17:18:06 rws $ 
24  *
25  * (c) Copyright 1996 Digital Equipment Corporation.
26  * (c) Copyright 1996 Hewlett-Packard Company.
27  * (c) Copyright 1996 International Business Machines Corp.
28  * (c) Copyright 1996 Sun Microsystems, Inc.
29  * (c) Copyright 1996 Novell, Inc. 
30  * (c) Copyright 1996 FUJITSU LIMITED.
31  * (c) Copyright 1996 Hitachi.
32  */
33
34 /* A lexical scanner generated by flex */
35
36 /* scanner skeleton version:
37  * $Header: /proj/.cde-1/programs/dtinfo/dtinfogen/infolib/etc/gr_type.cc /main/3 1996/07/05 17:18:06 rws $
38  */
39
40 #define FLEX_SCANNER
41
42 #include <stdio.h>
43
44
45 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
46 #ifdef c_plusplus
47 #ifndef __cplusplus
48 #define __cplusplus
49 #endif
50 #endif
51
52
53 #ifdef __cplusplus
54
55 #include <stdlib.h>
56
57 #if !defined(__osf__) && !defined(USL)
58 # include <osfcn.h>
59 #else
60 # include <unistd.h>
61 #endif
62
63 /* use prototypes in function declarations */
64 #define graphics_task_USE_PROTOS
65
66 /* the "const" storage-class-modifier is valid */
67 #define graphics_task_USE_CONST
68
69 #else   /* ! __cplusplus */
70
71 #ifdef __STDC__
72
73 #ifdef __GNUC__
74 #include <stddef.h>
75 void *malloc( size_t );
76 void free( void* );
77 #else
78 #include <stdlib.h>
79 #endif  /* __GNUC__ */
80
81 #define graphics_task_USE_PROTOS
82 #define graphics_task_USE_CONST
83
84 #endif  /* __STDC__ */
85 #endif  /* ! __cplusplus */
86
87
88 #ifdef __TURBOC__
89 #define graphics_task_USE_CONST
90 #endif
91
92
93 #ifndef graphics_task_USE_CONST
94 #define const
95 #endif
96
97
98 #ifdef graphics_task_USE_PROTOS
99 #define graphics_task_PROTO(proto) proto
100 #else
101 #define graphics_task_PROTO(proto) ()
102 /* we can't get here if it's an ANSI C compiler, or a C++ compiler,
103  * so it's got to be a K&R compiler, and therefore there's no standard
104  * place from which to include these definitions
105  */
106 char *malloc();
107 int free();
108 int read();
109 #endif
110
111
112 /* amount of stuff to slurp up with each read */
113 #ifndef graphics_task_READ_BUF_SIZE
114 #define graphics_task_READ_BUF_SIZE 8192
115 #endif
116
117 /* returned upon end-of-file */
118 #define graphics_task_END_TOK 0
119
120 /* copy whatever the last rule matched to the standard output */
121
122 /* cast to (char *) is because for 8-bit chars, graphics_tasktext is (unsigned char *) */
123 /* this used to be an fputs(), but since the string might contain NUL's,
124  * we now use fwrite()
125  */
126 #define ECHO (void) fwrite( (char *) graphics_tasktext, graphics_taskleng, 1, graphics_taskout )
127
128 /* gets input and stuffs it into "buf".  number of characters read, or graphics_task_NULL,
129  * is returned in "result".
130  */
131 #define graphics_task_INPUT(buf,result,max_size) \
132         if ( (result = read( fileno(graphics_taskin), (char *) buf, max_size )) < 0 ) \
133             graphics_task_FATAL_ERROR( "read() in flex scanner failed" );
134 #define graphics_task_NULL 0
135
136 /* no semi-colon after return; correct usage is to write "graphics_taskterminate();" -
137  * we don't want an extra ';' after the "return" because that will cause
138  * some compilers to complain about unreachable statements.
139  */
140 #define graphics_taskterminate() return ( graphics_task_NULL )
141
142 /* report a fatal error */
143
144 /* The funky do-while is used to turn this macro definition into
145  * a single C statement (which needs a semi-colon terminator).
146  * This avoids problems with code like:
147  *
148  *      if ( something_happens )
149  *              graphics_task_FATAL_ERROR( "oops, the something happened" );
150  *      else
151  *              everything_okay();
152  *
153  * Prior to using the do-while the compiler would get upset at the
154  * "else" because it interpreted the "if" statement as being all
155  * done when it reached the ';' after the graphics_task_FATAL_ERROR() call.
156  */
157
158 #define graphics_task_FATAL_ERROR(msg) \
159         do \
160                 { \
161                 (void) fputs( msg, stderr ); \
162                 (void) putc( '\n', stderr ); \
163                 exit( 1 ); \
164                 } \
165         while ( 0 )
166
167 /* default graphics_taskwrap function - always treat EOF as an EOF */
168 #define graphics_taskwrap() 1
169
170 /* enter a start condition.  This macro really ought to take a parameter,
171  * but we do it the disgusting crufty way forced on us by the ()-less
172  * definition of BEGIN
173  */
174 #define BEGIN graphics_task_start = 1 + 2 *
175
176 /* action number for EOF rule of a given start state */
177 #define graphics_task_STATE_EOF(state) (graphics_task_END_OF_BUFFER + state + 1)
178
179 /* special action meaning "start processing a new file" */
180 #define graphics_task_NEW_FILE \
181         do \
182                 { \
183                 graphics_task_init_buffer( graphics_task_current_buffer, graphics_taskin ); \
184                 graphics_task_load_buffer_state(); \
185                 } \
186         while ( 0 )
187
188 /* default declaration of generated scanner - a define so the user can
189  * easily add parameters
190  */
191 #define graphics_task_DECL int graphics_tasklex graphics_task_PROTO(( void )) 
192
193 /* code executed at the end of each rule */
194 #define graphics_task_BREAK break;
195
196 #define graphics_task_END_OF_BUFFER_CHAR 0
197
198 #ifndef graphics_task_BUF_SIZE
199 #define graphics_task_BUF_SIZE (graphics_task_READ_BUF_SIZE * 2) /* size of default input buffer */
200 #endif
201
202 typedef struct graphics_task_buffer_state *graphics_task_BUFFER_STATE;
203
204 #define graphics_task_CHAR unsigned char
205 #define INITIAL 0
206
207 #include <assert.h>
208 #include <stream.h>
209
210 #ifdef DEBUG
211 #include "oliasdb/olias_consts.h"
212 GR_TYPE gtype;
213 #else
214 #include "GraphicsTask.h"
215 extern GR_TYPE gtype;
216 #endif
217
218 static short int graphics_task_nxt[][256] =
219     {
220         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
221         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
222         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
223         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
224         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
225         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
226         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
227         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
228         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
229         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
230
231         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
232         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
233         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
234         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
235         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
236         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
237         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
238         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
239         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
240         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
241
242         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
243         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
244         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
245         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
246         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
247         0,    0,    0,    0,    0,    0,
248
249         3,    4,    4,    4,    4,    4,    4,    4,    4,    4,
250         5,    4,    4,    4,    4,    4,    4,    4,    4,    4,
251         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
252         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
253         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
254         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
255         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
256         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
257         4,    4,    4,    4,    4,    4,    4,    4,    6,    4,
258         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
259
260         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
261         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
262         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
263         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
264         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
265         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
266         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
267         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
268         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
269         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
270
271         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
272         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
273         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
274         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
275         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
276         4,    4,    4,    4,    4,    4,
277
278         3,    4,    4,    4,    4,    4,    4,    4,    4,    4,
279         5,    4,    4,    4,    4,    4,    4,    4,    4,    4,
280         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
281         4,    4,    4,    4,    4,    7,    4,    8,    4,    4,
282         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
283         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
284         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
285         4,    9,    4,   10,    4,    4,    4,   11,    4,    4,
286        12,    4,    4,    4,    4,    4,    4,    4,    6,    4,
287         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
288
289         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
290         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
291         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
292         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
293         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
294         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
295         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
296         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
297         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
298         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
299
300         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
301         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
302         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
303         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
304         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
305         4,    4,    4,    4,    4,   13,
306
307        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
308        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
309        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
310        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
311        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
312        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
313        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
314        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
315        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
316        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
317
318        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
319        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
320        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
321        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
322        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
323        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
324        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
325        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
326        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
327        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
328
329        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
330        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
331        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
332        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
333        -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
334        -3,   -3,   -3,   -3,   -3,   -3,
335
336         3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
337        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
338        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
339        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
340        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
341        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
342        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
343        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
344        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
345        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
346
347        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
348        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
349        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
350        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
351        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
352        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
353        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
354        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
355        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
356        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
357
358        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
359        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
360        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
361        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
362        -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
363        -4,   -4,   -4,   -4,   -4,   -4,
364
365         3,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
366        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
367        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
368        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
369        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
370        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
371        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
372        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
373        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
374        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
375
376        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
377        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
378        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
379        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
380        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
381        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
382        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
383        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
384        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
385        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
386
387        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
388        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
389        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
390        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
391        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
392        -5,   -5,   -5,   -5,   -5,   -5,
393
394         3,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
395        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
396        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
397        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
398        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
399        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
400        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
401        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
402        14,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
403        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
404
405        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
406        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
407        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
408        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
409        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
410        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
411        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
412        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
413        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
414        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
415
416        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
417        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
418        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
419        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
420        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
421        -6,   -6,   -6,   -6,   -6,   -6,
422
423         3,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
424        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
425        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
426        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
427        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
428        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
429        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
430        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
431        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
432        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
433
434        15,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
435        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
436        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
437        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
438        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
439        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
440        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
441        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
442        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
443        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
444
445        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
446        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
447        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
448        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
449        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
450        -7,   -7,   -7,   -7,   -7,   -7,
451
452         3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
453        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
454        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
455        -8,   -8,   -8,   16,   -8,   -8,   -8,   -8,   -8,   -8,
456        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
457        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
458        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
459        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
460        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
461        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
462
463        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
464        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
465        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
466        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
467        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
468        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
469        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
470        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
471        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
472        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
473
474        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
475        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
476        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
477        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
478        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
479        -8,   -8,   -8,   -8,   -8,   -8,
480
481         3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
482        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
483        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
484        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
485        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
486        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
487        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
488        -9,   -9,   -9,   17,   -9,   -9,   -9,   -9,   -9,   -9,
489        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
490        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
491
492        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
493        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
494        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
495        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
496        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
497        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
498        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
499        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
500        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
501        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
502
503        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
504        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
505        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
506        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
507        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
508        -9,   -9,   -9,   -9,   -9,   -9,
509
510         3,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
511       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
512       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
513       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
514       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
515       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
516       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
517       -10,  -10,  -10,   18,  -10,  -10,  -10,  -10,  -10,  -10,
518       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
519       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
520
521       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
522       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
523       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
524       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
525       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
526       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
527       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
528       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
529       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
530       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
531
532       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
533       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
534       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
535       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
536       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
537       -10,  -10,  -10,  -10,  -10,  -10,
538
539         3,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
540       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
541       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
542       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
543       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
544       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
545       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
546       -11,  -11,  -11,  -11,  -11,  -11,  -11,   19,  -11,  -11,
547       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
548       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
549
550       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
551       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
552       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
553       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
554       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
555       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
556       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
557       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
558       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
559       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
560
561       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
562       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
563       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
564       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
565       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
566       -11,  -11,  -11,  -11,  -11,  -11,
567
568         3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
569       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
570       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
571       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
572       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,   20,
573        21,   22,   20,   21,   22,  -12,  -12,  -12,  -12,  -12,
574       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
575       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
576       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
577       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
578
579       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
580       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
581       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
582       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
583       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
584       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
585       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
586       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
587       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
588       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
589
590       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
591       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
592       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
593       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
594       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
595       -12,  -12,  -12,  -12,  -12,  -12,
596
597         3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
598       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
599       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
600       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
601       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
602       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
603       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
604       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
605       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
606       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
607
608       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
609       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
610       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
611       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
612       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
613       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
614       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
615       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
616       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
617       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
618
619       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
620       -13,  -13,  -13,  -13,  -13,  -13,   23,  -13,  -13,  -13,
621       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
622       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
623       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
624       -13,  -13,  -13,  -13,  -13,  -13,
625
626         3,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
627       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
628       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
629       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
630       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
631       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
632       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
633       -14,  -14,  -14,  -14,  -14,  -14,  -14,   24,  -14,  -14,
634       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
635       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
636
637       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
638       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
639       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
640       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
641       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
642       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
643       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
644       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
645       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
646       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
647
648       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
649       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
650       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
651       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
652       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
653       -14,  -14,  -14,  -14,  -14,  -14,
654
655         3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
656       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
657       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
658       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
659       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
660       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
661       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
662       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
663       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
664       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
665
666       -15,   25,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
667       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
668       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
669       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
670       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
671       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
672       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
673       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
674       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
675       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
676
677       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
678       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
679       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
680       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
681       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
682       -15,  -15,  -15,  -15,  -15,  -15,
683
684         3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
685       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
686       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
687       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
688       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
689       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
690       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
691       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
692       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
693       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
694
695       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
696       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
697       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
698       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
699       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
700       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
701       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
702       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
703       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
704       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
705
706       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
707       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
708       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
709       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
710       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
711       -16,  -16,  -16,  -16,  -16,  -16,
712
713         3,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
714       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
715       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
716       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
717       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
718       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
719       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
720        26,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
721       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
722       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
723
724       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
725       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
726       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
727       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
728       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
729       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
730       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
731       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
732       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
733       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
734
735       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
736       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
737       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
738       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
739       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
740       -17,  -17,  -17,  -17,  -17,  -17,
741
742         3,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
743       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
744       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
745       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
746       -18,  -18,   27,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
747       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
748       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
749       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
750       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
751       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
752
753       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
754       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
755       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
756       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
757       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
758       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
759       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
760       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
761       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
762       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
763
764       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
765       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
766       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
767       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
768       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
769       -18,  -18,  -18,  -18,  -18,  -18,
770
771         3,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
772       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
773       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
774       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
775       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
776       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
777       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
778       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
779       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
780       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
781
782       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
783       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
784       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
785       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
786       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
787       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
788       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
789       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
790       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
791       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
792
793       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
794       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
795       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
796       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
797       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
798       -19,  -19,  -19,  -19,  -19,  -19,
799
800         3,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
801       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
802       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
803       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
804       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
805       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
806       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
807       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
808       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
809       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
810
811       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
812       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
813       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
814       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
815       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
816       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
817       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
818       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
819       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
820       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
821
822       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
823       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
824       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
825       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
826       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
827       -20,  -20,  -20,  -20,  -20,  -20,
828
829         3,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
830       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
831       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
832       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
833       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
834       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
835       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
836       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
837       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
838       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
839
840       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
841       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
842       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
843       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
844       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
845       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
846       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
847       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
848       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
849       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
850
851       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
852       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
853       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
854       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
855       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
856       -21,  -21,  -21,  -21,  -21,  -21,
857
858         3,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
859       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
860       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
861       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
862       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
863       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
864       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
865       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
866       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
867       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
868
869       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
870       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
871       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
872       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
873       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
874       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
875       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
876       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
877       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
878       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
879
880       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
881       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
882       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
883       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
884       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
885       -22,  -22,  -22,  -22,  -22,  -22,
886
887         3,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
888       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
889       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
890       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
891       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
892       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
893       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
894       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
895       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
896       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
897
898       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
899       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
900       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
901       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
902       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
903       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
904       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
905       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
906       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
907       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
908
909       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
910       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
911       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
912       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
913       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
914       -23,  -23,  -23,  -23,  -23,   29,
915
916         3,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
917       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
918       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
919       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
920       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
921       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
922       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
923       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
924       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
925       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
926
927       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
928       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
929       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
930       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
931       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
932       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
933       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
934       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
935       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
936       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
937
938       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
939       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
940       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
941       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
942       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
943       -24,  -24,  -24,  -24,  -24,  -24,
944
945         3,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
946       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
947       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
948       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
949       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
950       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
951       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
952       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
953       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
954       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
955
956       -25,  -25,   30,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
957       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
958       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
959       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
960       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
961       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
962       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
963       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
964       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
965       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
966
967       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
968       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
969       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
970       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
971       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
972       -25,  -25,  -25,  -25,  -25,  -25,
973
974         3,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
975       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
976       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
977       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
978       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
979       -26,  -26,  -26,  -26,  -26,  -26,   31,  -26,  -26,  -26,
980       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
981       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
982       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
983       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
984
985       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
986       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
987       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
988       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
989       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
990       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
991       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
992       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
993       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
994       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
995
996       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
997       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
998       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
999       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1000       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1001       -26,  -26,  -26,  -26,  -26,  -26,
1002
1003         3,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1004       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1005       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1006       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1007       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1008       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1009       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1010       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1011       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1012       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1013
1014       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1015       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1016       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1017       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1018       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1019       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1020       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1021       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1022       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1023       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1024
1025       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1026       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1027       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1028       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1029       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1030       -27,  -27,  -27,  -27,  -27,  -27,
1031
1032         3,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1033       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1034       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1035       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1036       -28,  -28,   33,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1037       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1038       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1039       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1040       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1041       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1042
1043       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1044       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1045       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1046       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1047       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1048       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1049       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1050       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1051       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1052       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1053
1054       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1055       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1056       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1057       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1058       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1059       -28,  -28,  -28,  -28,  -28,  -28,
1060
1061         3,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1062       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1063       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1064       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1065       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1066       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1067       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1068       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1069       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1070       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1071
1072       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1073       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1074       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1075       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1076       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1077       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1078       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1079       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1080       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1081       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1082
1083       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1084       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1085       -29,  -29,  -29,  -29,   34,  -29,  -29,  -29,  -29,  -29,
1086       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1087       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1088       -29,  -29,  -29,  -29,  -29,  -29,
1089
1090         3,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1091       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1092       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1093       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1094       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1095       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1096       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1097       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1098       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1099       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1100
1101       -30,  -30,  -30,  -30,  -30,   35,  -30,  -30,  -30,  -30,
1102       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1103       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1104       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1105       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1106       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1107       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1108       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1109       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1110       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1111
1112       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1113       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1114       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1115       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1116       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1117       -30,  -30,  -30,  -30,  -30,  -30,
1118
1119         3,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1120       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1121       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1122       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1123       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1124       -31,  -31,  -31,  -31,  -31,   36,  -31,   36,  -31,  -31,
1125       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1126       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1127       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1128       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1129
1130       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1131       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1132       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1133       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1134       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1135       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1136       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1137       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1138       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1139       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1140
1141       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1142       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1143       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1144       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1145       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1146       -31,  -31,  -31,  -31,  -31,  -31,
1147
1148         3,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1149       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1150       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1151       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1152       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1153       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1154       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1155       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1156       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1157       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1158
1159       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1160       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1161       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1162       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1163       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1164       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1165       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1166       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1167       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1168       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1169
1170       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1171       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1172       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1173       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1174       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1175       -32,  -32,  -32,  -32,  -32,  -32,
1176
1177         3,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1178       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1179       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1180       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1181       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1182       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1183       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1184       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1185       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1186       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1187
1188       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1189       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1190       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1191       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1192       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1193       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1194       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1195       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1196       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1197       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1198
1199       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1200       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1201       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1202       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1203       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1204       -33,  -33,  -33,  -33,  -33,  -33,
1205
1206         3,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1207       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1208       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1209       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1210       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1211       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1212       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1213       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1214       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1215       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1216
1217       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1218       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1219       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1220       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1221       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1222       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1223       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1224       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1225       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1226       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1227
1228       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1229       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1230       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1231       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1232       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1233       -34,  -34,  -34,  -34,  -34,  -34,
1234
1235         3,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1236       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1237       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1238       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1239       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1240       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1241       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1242       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1243       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1244       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1245
1246       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1247        37,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1248       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1249       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1250       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1251       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1252       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1253       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1254       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1255       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1256
1257       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1258       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1259       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1260       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1261       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1262       -35,  -35,  -35,  -35,  -35,  -35,
1263
1264         3,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1265       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1266       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1267       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1268       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1269       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1270       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1271       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1272       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1273       -36,  -36,  -36,  -36,  -36,  -36,  -36,   38,  -36,  -36,
1274
1275       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1276       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1277       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1278       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1279       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1280       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1281       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1282       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1283       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1284       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1285
1286       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1287       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1288       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1289       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1290       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1291       -36,  -36,  -36,  -36,  -36,  -36,
1292
1293         3,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1294       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1295       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1296       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1297       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1298       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1299       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1300       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1301       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1302       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1303
1304       -37,   39,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1305       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1306       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1307       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1308       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1309       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1310       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1311       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1312       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1313       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1314
1315       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1316       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1317       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1318       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1319       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1320       -37,  -37,  -37,  -37,  -37,  -37,
1321
1322         3,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1323       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1324       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1325       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1326       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1327       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1328       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1329       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1330       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1331       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1332
1333       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1334       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1335       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1336       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1337       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1338       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1339       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1340       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1341       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1342       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1343
1344       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1345       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1346       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1347       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1348       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1349       -38,  -38,  -38,  -38,  -38,  -38,
1350
1351         3,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1352       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1353       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1354       -39,  -39,   40,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1355       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1356       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1357       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1358       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1359       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1360       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1361
1362       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1363       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1364       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1365       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1366       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1367       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1368       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1369       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1370       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1371       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1372
1373       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1374       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1375       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1376       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1377       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1378       -39,  -39,  -39,  -39,  -39,  -39,
1379
1380         3,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1381       -40,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1382        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1383        41,   41,  -40,   41,   41,   41,   41,   41,   41,   41,
1384        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1385        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1386        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1387        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1388        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1389        41,   41,   41,   41,   41,  -40,   41,   41,   41,   41,
1390
1391        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1392        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1393        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1394        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1395        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1396        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1397        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1398        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1399        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1400        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1401
1402        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1403        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1404        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1405        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1406        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1407        41,   41,   41,   41,   41,   41,
1408
1409         3,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1410       -41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1411        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1412        41,   41,  -41,   41,   41,   41,   41,   41,   41,   41,
1413        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1414        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1415        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1416        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1417        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1418        41,   41,   41,   41,   41,   42,   41,   41,   41,   41,
1419
1420        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1421        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1422        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1423        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1424        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1425        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1426        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1427        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1428        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1429        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1430
1431        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1432        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1433        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1434        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1435        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1436        41,   41,   41,   41,   41,   41,
1437
1438         3,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1439       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1440       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1441       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1442       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1443       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1444       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1445       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1446       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1447       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1448
1449       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1450       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,   43,
1451        44,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1452       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1453       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1454       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1455       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1456       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1457       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1458       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1459
1460       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1461       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1462       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1463       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1464       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1465       -42,  -42,  -42,  -42,  -42,  -42,
1466
1467         3,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1468       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1469       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1470       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1471       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1472       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1473       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1474       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1475       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1476       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1477
1478       -43,  -43,  -43,  -43,  -43,   45,  -43,  -43,  -43,  -43,
1479       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1480       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1481       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1482       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1483       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1484       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1485       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1486       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1487       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1488
1489       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1490       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1491       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1492       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1493       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1494       -43,  -43,  -43,  -43,  -43,  -43,
1495
1496         3,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1497       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1498       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1499       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1500       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1501       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1502       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1503       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1504       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1505       -44,  -44,  -44,  -44,  -44,   46,  -44,  -44,  -44,  -44,
1506
1507       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1508       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1509       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1510       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1511       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1512       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1513       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1514       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1515       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1516       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1517
1518       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1519       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1520       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1521       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1522       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1523       -44,  -44,  -44,  -44,  -44,  -44,
1524
1525         3,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1526       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1527       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1528       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1529       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1530       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1531       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1532       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1533       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1534       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1535
1536        47,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1537       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1538       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1539       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1540       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1541       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1542       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1543       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1544       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1545       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1546
1547       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1548       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1549       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1550       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1551       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1552       -45,  -45,  -45,  -45,  -45,  -45,
1553
1554         3,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1555       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1556       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1557       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1558       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1559       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1560       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1561       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1562       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1563       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1564
1565       -46,  -46,  -46,  -46,   48,  -46,  -46,  -46,  -46,  -46,
1566       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1567       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1568       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1569       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1570       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1571       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1572       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1573       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1574       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1575
1576       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1577       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1578       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1579       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1580       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1581       -46,  -46,  -46,  -46,  -46,  -46,
1582
1583         3,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1584       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1585       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1586       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1587       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1588       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1589       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1590       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1591       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1592       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1593
1594       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1595       -47,  -47,  -47,  -47,  -47,  -47,   49,  -47,  -47,  -47,
1596       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1597       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1598       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1599       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1600       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1601       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1602       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1603       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1604
1605       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1606       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1607       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1608       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1609       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1610       -47,  -47,  -47,  -47,  -47,  -47,
1611
1612         3,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1613       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1614       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1615       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1616       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1617       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1618       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1619       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1620       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1621       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1622
1623       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1624       -48,   50,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1625       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1626       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1627       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1628       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1629       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1630       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1631       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1632       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1633
1634       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1635       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1636       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1637       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1638       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1639       -48,  -48,  -48,  -48,  -48,  -48,
1640
1641         3,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1642       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1643       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1644       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1645       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1646       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1647       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1648       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1649       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1650       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1651
1652       -49,  -49,  -49,  -49,   51,  -49,  -49,  -49,  -49,  -49,
1653       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1654       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1655       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1656       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1657       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1658       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1659       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1660       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1661       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1662
1663       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1664       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1665       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1666       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1667       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1668       -49,  -49,  -49,  -49,  -49,  -49,
1669
1670         3,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1671       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1672       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1673       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1674       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1675       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1676       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1677       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1678       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1679       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1680
1681       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1682       -50,  -50,  -50,  -50,  -50,  -50,   51,  -50,  -50,  -50,
1683       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1684       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1685       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1686       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1687       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1688       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1689       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1690       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1691
1692       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1693       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1694       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1695       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1696       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1697       -50,  -50,  -50,  -50,  -50,  -50,
1698
1699         3,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1700       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1701       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1702       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1703       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1704       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1705       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1706       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1707       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1708       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1709
1710       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1711       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1712       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1713       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1714       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1715       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1716       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1717       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1718       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1719       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1720
1721       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1722       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1723       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1724       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1725       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1726       -51,  -51,  -51,  -51,  -51,  -51
1727
1728     } ;
1729
1730
1731 /* done after the current pattern has been matched and before the
1732  * corresponding action - sets up graphics_tasktext
1733  */
1734 #define graphics_task_DO_BEFORE_ACTION \
1735         graphics_tasktext = graphics_task_bp; \
1736         graphics_taskleng = graphics_task_cp - graphics_task_bp; \
1737         graphics_task_hold_char = *graphics_task_cp; \
1738         *graphics_task_cp = '\0'; \
1739         graphics_task_c_buf_p = graphics_task_cp;
1740
1741 #define EOB_ACT_CONTINUE_SCAN 0
1742 #define EOB_ACT_END_OF_FILE 1
1743 #define EOB_ACT_LAST_MATCH 2
1744
1745 /* return all but the first 'n' matched characters back to the input stream */
1746 #define graphics_taskless(n) \
1747         do \
1748                 { \
1749                 /* undo effects of setting up graphics_tasktext */ \
1750                 *graphics_task_cp = graphics_task_hold_char; \
1751                 graphics_task_c_buf_p = graphics_task_cp = graphics_task_bp + n; \
1752                 graphics_task_DO_BEFORE_ACTION; /* set up graphics_tasktext again */ \
1753                 } \
1754         while ( 0 )
1755
1756 #define unput(c) graphics_taskunput( c, graphics_tasktext )
1757
1758
1759 struct graphics_task_buffer_state
1760     {
1761     FILE *graphics_task_input_file;
1762
1763     graphics_task_CHAR *graphics_task_ch_buf;           /* input buffer */
1764     graphics_task_CHAR *graphics_task_buf_pos;  /* current position in input buffer */
1765
1766     /* size of input buffer in bytes, not including room for EOB characters*/
1767     int graphics_task_buf_size; 
1768
1769     /* number of characters read into graphics_task_ch_buf, not including EOB characters */
1770     int graphics_task_n_chars;
1771
1772     int graphics_task_eof_status;               /* whether we've seen an EOF on this buffer */
1773 #define EOF_NOT_SEEN 0
1774     /* "pending" happens when the EOF has been seen but there's still
1775      * some text process
1776      */
1777 #define EOF_PENDING 1
1778 #define EOF_DONE 2
1779     };
1780
1781 static graphics_task_BUFFER_STATE graphics_task_current_buffer;
1782
1783 /* we provide macros for accessing buffer states in case in the
1784  * future we want to put the buffer states in a more general
1785  * "scanner state"
1786  */
1787 #define graphics_task_CURRENT_BUFFER graphics_task_current_buffer
1788
1789
1790 /* graphics_task_hold_char holds the character lost when graphics_tasktext is formed */
1791 static graphics_task_CHAR graphics_task_hold_char;
1792
1793 static int graphics_task_n_chars;               /* number of characters read into graphics_task_ch_buf */
1794
1795
1796
1797 #ifndef graphics_task_USER_ACTION
1798 #define graphics_task_USER_ACTION
1799 #endif
1800
1801 #ifndef graphics_task_USER_INIT
1802 #define graphics_task_USER_INIT
1803 #endif
1804
1805 extern graphics_task_CHAR *graphics_tasktext;
1806 extern int graphics_taskleng;
1807 extern FILE *graphics_taskin, *graphics_taskout;
1808
1809 graphics_task_CHAR *graphics_tasktext;
1810 int graphics_taskleng;
1811
1812 FILE *graphics_taskin = (FILE *) 0, *graphics_taskout = (FILE *) 0;
1813
1814 #define graphics_task_END_OF_BUFFER 14
1815 typedef int graphics_task_state_type;
1816 static const short int graphics_task_accept[52] =
1817     {   0,
1818         0,    0,   14,   12,   11,   12,   12,   12,   12,   12,
1819        12,   12,   12,    0,    0,    5,    0,    0,    0,    3,
1820         4,    6,    0,   10,    0,    0,    0,    0,    0,    0,
1821         0,    7,    8,    2,    0,    0,    0,    1,    0,    0,
1822         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1823         9
1824     } ;
1825
1826 static graphics_task_state_type graphics_task_last_accepting_state;
1827 static graphics_task_CHAR *graphics_task_last_accepting_cpos;
1828
1829 static const graphics_task_state_type graphics_task_NUL_trans[52] =
1830     {   0,
1831         4,    4,    0,    0,    0,    0,    0,    0,    0,    0,
1832         0,    0,    0,    0,    0,    0,    0,    0,   28,    0,
1833         0,    0,    0,    0,    0,    0,   32,    0,    0,    0,
1834         0,    0,    0,    0,    0,    0,    0,    0,    0,   41,
1835        41,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1836         0
1837     } ;
1838
1839 /* the intent behind this definition is that it'll catch
1840  * any uses of REJECT which flex missed
1841  */
1842 #define REJECT reject_used_but_not_detected
1843 #define graphics_taskmore() graphics_taskmore_used_but_not_detected
1844 #define graphics_task_MORE_ADJ 0
1845
1846 /* these variables are all declared out here so that section 3 code can
1847  * manipulate them
1848  */
1849 /* points to current character in buffer */
1850 static graphics_task_CHAR *graphics_task_c_buf_p = (graphics_task_CHAR *) 0;
1851 static int graphics_task_init = 1;              /* whether we need to initialize */
1852 static int graphics_task_start = 0;     /* start state number */
1853
1854 /* flag which is used to allow graphics_taskwrap()'s to do buffer switches
1855  * instead of setting up a fresh graphics_taskin.  A bit of a hack ...
1856  */
1857 static int graphics_task_did_buffer_switch_on_eof;
1858
1859 static graphics_task_state_type graphics_task_get_previous_state graphics_task_PROTO(( void ));
1860 static graphics_task_state_type graphics_task_try_NUL_trans graphics_task_PROTO(( graphics_task_state_type current_state ));
1861 static int graphics_task_get_next_buffer graphics_task_PROTO(( void ));
1862 static void graphics_taskunput graphics_task_PROTO(( graphics_task_CHAR c, graphics_task_CHAR *buf_ptr ));
1863 void graphics_taskrestart graphics_task_PROTO(( FILE *input_file ));
1864 void graphics_task_switch_to_buffer graphics_task_PROTO(( graphics_task_BUFFER_STATE new_buffer ));
1865 void graphics_task_load_buffer_state graphics_task_PROTO(( void ));
1866 graphics_task_BUFFER_STATE graphics_task_create_buffer graphics_task_PROTO(( FILE *file, int size ));
1867 void graphics_task_delete_buffer graphics_task_PROTO(( graphics_task_BUFFER_STATE b ));
1868 void graphics_task_init_buffer graphics_task_PROTO(( graphics_task_BUFFER_STATE b, FILE *file ));
1869
1870 #define graphics_task_new_buffer graphics_task_create_buffer
1871
1872 #ifdef __cplusplus
1873 static int graphics_taskinput graphics_task_PROTO(( void ));
1874 #else
1875 static int input graphics_task_PROTO(( void ));
1876 #endif
1877
1878 graphics_task_DECL
1879     {
1880     register graphics_task_state_type graphics_task_current_state;
1881     register graphics_task_CHAR *graphics_task_cp, *graphics_task_bp;
1882     register int graphics_task_act;
1883
1884
1885
1886
1887     if ( graphics_task_init )
1888         {
1889         graphics_task_USER_INIT;
1890
1891         if ( ! graphics_task_start )
1892             graphics_task_start = 1;    /* first start state */
1893
1894         if ( ! graphics_taskin )
1895             graphics_taskin = stdin;
1896
1897         if ( ! graphics_taskout )
1898             graphics_taskout = stdout;
1899
1900         if ( graphics_task_current_buffer )
1901             graphics_task_init_buffer( graphics_task_current_buffer, graphics_taskin );
1902         else
1903             graphics_task_current_buffer = graphics_task_create_buffer( graphics_taskin, graphics_task_BUF_SIZE );
1904
1905         graphics_task_load_buffer_state();
1906
1907         graphics_task_init = 0;
1908         }
1909
1910     while ( 1 )         /* loops until end-of-file is reached */
1911         {
1912         graphics_task_cp = graphics_task_c_buf_p;
1913
1914         /* support of graphics_tasktext */
1915         *graphics_task_cp = graphics_task_hold_char;
1916
1917         /* graphics_task_bp points to the position in graphics_task_ch_buf of the start of the
1918          * current run.
1919          */
1920         graphics_task_bp = graphics_task_cp;
1921
1922         graphics_task_current_state = graphics_task_start;
1923         if ( graphics_task_bp[-1] == '\n' )
1924             ++graphics_task_current_state;
1925 graphics_task_match:
1926         while ( (graphics_task_current_state = graphics_task_nxt[graphics_task_current_state][*graphics_task_cp]) > 0 )
1927             {
1928             if ( graphics_task_accept[graphics_task_current_state] )
1929                 {
1930                 graphics_task_last_accepting_state = graphics_task_current_state;
1931                 graphics_task_last_accepting_cpos = graphics_task_cp;
1932                 }
1933
1934             ++graphics_task_cp;
1935             }
1936
1937         graphics_task_current_state = -graphics_task_current_state;
1938
1939 graphics_task_find_action:
1940         graphics_task_act = graphics_task_accept[graphics_task_current_state];
1941
1942         graphics_task_DO_BEFORE_ACTION;
1943         graphics_task_USER_ACTION;
1944
1945 do_action:      /* this label is used only to access EOF actions */
1946
1947
1948         switch ( graphics_task_act )
1949             {
1950             case 0: /* must backtrack */
1951             /* undo the effects of graphics_task_DO_BEFORE_ACTION */
1952             *graphics_task_cp = graphics_task_hold_char;
1953             graphics_task_cp = graphics_task_last_accepting_cpos + 1;
1954             graphics_task_current_state = graphics_task_last_accepting_state;
1955             goto graphics_task_find_action;
1956
1957 case 1:
1958 {
1959              gtype = GR_TYPE_GIF;
1960              return gtype;
1961          }
1962         graphics_task_BREAK
1963 case 2:
1964 {
1965              gtype = GR_TYPE_JPEG;
1966              return gtype;
1967          }
1968         graphics_task_BREAK
1969 case 3:
1970 {
1971              gtype = GR_TYPE_PBM;
1972              return gtype;
1973          }
1974         graphics_task_BREAK
1975 case 4:
1976 {
1977              gtype = GR_TYPE_PGM;
1978              return gtype;
1979          }
1980         graphics_task_BREAK
1981 case 5:
1982 {
1983              gtype = GR_TYPE_POSTSCRIPT;
1984              return gtype;
1985           }
1986         graphics_task_BREAK
1987 case 6:
1988 {
1989              gtype = GR_TYPE_PPM;
1990              return gtype;
1991          }
1992         graphics_task_BREAK
1993 case 7:
1994 {
1995              gtype = GR_TYPE_TIFF;
1996              return gtype;
1997          }
1998         graphics_task_BREAK
1999 case 8:
2000 {
2001              gtype = GR_TYPE_TIFF;
2002              return gtype;
2003          }
2004         graphics_task_BREAK
2005 case 9:
2006 {
2007              gtype = GR_TYPE_XBM;
2008              return gtype;
2009          }
2010         graphics_task_BREAK
2011 case 10:
2012 {
2013              gtype = GR_TYPE_XPM;
2014              return gtype;
2015          }
2016         graphics_task_BREAK
2017 case 11:
2018 {
2019              return gtype;
2020          }
2021         graphics_task_BREAK
2022 case 12:
2023 ;
2024         graphics_task_BREAK
2025 case 13:
2026 graphics_task_FATAL_ERROR( "flex scanner jammed" );
2027         graphics_task_BREAK
2028 case graphics_task_STATE_EOF(INITIAL):
2029     graphics_taskterminate();
2030
2031             case graphics_task_END_OF_BUFFER:
2032                 {
2033                 /* amount of text matched not including the EOB char */
2034                 int graphics_task_amount_of_matched_text = graphics_task_cp - graphics_tasktext - 1;
2035
2036                 /* undo the effects of graphics_task_DO_BEFORE_ACTION */
2037                 *graphics_task_cp = graphics_task_hold_char;
2038
2039                 /* note that here we test for graphics_task_c_buf_p "<=" to the position
2040                  * of the first EOB in the buffer, since graphics_task_c_buf_p will
2041                  * already have been incremented past the NUL character
2042                  * (since all states make transitions on EOB to the end-
2043                  * of-buffer state).  Contrast this with the test in graphics_taskinput().
2044                  */
2045                 if ( graphics_task_c_buf_p <= &graphics_task_current_buffer->graphics_task_ch_buf[graphics_task_n_chars] )
2046                     /* this was really a NUL */
2047                     {
2048                     graphics_task_state_type graphics_task_next_state;
2049
2050                     graphics_task_c_buf_p = graphics_tasktext + graphics_task_amount_of_matched_text;
2051
2052                     graphics_task_current_state = graphics_task_get_previous_state();
2053
2054                     /* okay, we're now positioned to make the
2055                      * NUL transition.  We couldn't have
2056                      * graphics_task_get_previous_state() go ahead and do it
2057                      * for us because it doesn't know how to deal
2058                      * with the possibility of jamming (and we
2059                      * don't want to build jamming into it because
2060                      * then it will run more slowly)
2061                      */
2062
2063                     graphics_task_next_state = graphics_task_try_NUL_trans( graphics_task_current_state );
2064
2065                     graphics_task_bp = graphics_tasktext + graphics_task_MORE_ADJ;
2066
2067                     if ( graphics_task_next_state )
2068                         {
2069                         /* consume the NUL */
2070                         graphics_task_cp = ++graphics_task_c_buf_p;
2071                         graphics_task_current_state = graphics_task_next_state;
2072                         goto graphics_task_match;
2073                         }
2074
2075                     else
2076                         {
2077                             graphics_task_cp = graphics_task_c_buf_p;
2078                         goto graphics_task_find_action;
2079                         }
2080                     }
2081
2082                 else switch ( graphics_task_get_next_buffer() )
2083                     {
2084                     case EOB_ACT_END_OF_FILE:
2085                         {
2086                         graphics_task_did_buffer_switch_on_eof = 0;
2087
2088                         if ( graphics_taskwrap() )
2089                             {
2090                             /* note: because we've taken care in
2091                              * graphics_task_get_next_buffer() to have set up graphics_tasktext,
2092                              * we can now set up graphics_task_c_buf_p so that if some
2093                              * total hoser (like flex itself) wants
2094                              * to call the scanner after we return the
2095                              * graphics_task_NULL, it'll still work - another graphics_task_NULL
2096                              * will get returned.
2097                              */
2098                             graphics_task_c_buf_p = graphics_tasktext + graphics_task_MORE_ADJ;
2099
2100                             graphics_task_act = graphics_task_STATE_EOF((graphics_task_start - 1) / 2);
2101                             goto do_action;
2102                             }
2103
2104                         else
2105                             {
2106                             if ( ! graphics_task_did_buffer_switch_on_eof )
2107                                 graphics_task_NEW_FILE;
2108                             }
2109                         }
2110                         break;
2111
2112                     case EOB_ACT_CONTINUE_SCAN:
2113                         graphics_task_c_buf_p = graphics_tasktext + graphics_task_amount_of_matched_text;
2114
2115                         graphics_task_current_state = graphics_task_get_previous_state();
2116
2117                         graphics_task_cp = graphics_task_c_buf_p;
2118                         graphics_task_bp = graphics_tasktext + graphics_task_MORE_ADJ;
2119                         goto graphics_task_match;
2120
2121                     case EOB_ACT_LAST_MATCH:
2122                         graphics_task_c_buf_p =
2123                             &graphics_task_current_buffer->graphics_task_ch_buf[graphics_task_n_chars];
2124
2125                         graphics_task_current_state = graphics_task_get_previous_state();
2126
2127                         graphics_task_cp = graphics_task_c_buf_p;
2128                         graphics_task_bp = graphics_tasktext + graphics_task_MORE_ADJ;
2129                         goto graphics_task_find_action;
2130                     }
2131                 break;
2132                 }
2133
2134             default:
2135 #ifdef FLEX_DEBUG
2136                 printf( "action # %d\n", graphics_task_act );
2137 #endif
2138                 graphics_task_FATAL_ERROR(
2139                         "fatal flex scanner internal error--no action found" );
2140             }
2141         }
2142     }
2143
2144
2145 /* graphics_task_get_next_buffer - try to read in a new buffer
2146  *
2147  * synopsis
2148  *     int graphics_task_get_next_buffer();
2149  *     
2150  * returns a code representing an action
2151  *     EOB_ACT_LAST_MATCH - 
2152  *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2153  *     EOB_ACT_END_OF_FILE - end of file
2154  */
2155
2156 static int graphics_task_get_next_buffer()
2157
2158     {
2159     register graphics_task_CHAR *dest = graphics_task_current_buffer->graphics_task_ch_buf;
2160     register graphics_task_CHAR *source = graphics_tasktext - 1; /* copy prev. char, too */
2161     register int number_to_move, i;
2162     int ret_val;
2163
2164     if ( graphics_task_c_buf_p > &graphics_task_current_buffer->graphics_task_ch_buf[graphics_task_n_chars + 1] )
2165         graphics_task_FATAL_ERROR(
2166                 "fatal flex scanner internal error--end of buffer missed" );
2167
2168     /* try to read more data */
2169
2170     /* first move last chars to start of buffer */
2171     number_to_move = graphics_task_c_buf_p - graphics_tasktext;
2172
2173     for ( i = 0; i < number_to_move; ++i )
2174         *(dest++) = *(source++);
2175
2176     if ( graphics_task_current_buffer->graphics_task_eof_status != EOF_NOT_SEEN )
2177         /* don't do the read, it's not guaranteed to return an EOF,
2178          * just force an EOF
2179          */
2180         graphics_task_n_chars = 0;
2181
2182     else
2183         {
2184         int num_to_read = graphics_task_current_buffer->graphics_task_buf_size - number_to_move - 1;
2185
2186         if ( num_to_read > graphics_task_READ_BUF_SIZE )
2187             num_to_read = graphics_task_READ_BUF_SIZE;
2188
2189         else if ( num_to_read <= 0 )
2190             graphics_task_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
2191
2192         /* read in more data */
2193         graphics_task_INPUT( (&graphics_task_current_buffer->graphics_task_ch_buf[number_to_move]),
2194                   graphics_task_n_chars, num_to_read );
2195         }
2196
2197     if ( graphics_task_n_chars == 0 )
2198         {
2199         if ( number_to_move == 1 )
2200             {
2201             ret_val = EOB_ACT_END_OF_FILE;
2202             graphics_task_current_buffer->graphics_task_eof_status = EOF_DONE;
2203             }
2204
2205         else
2206             {
2207             ret_val = EOB_ACT_LAST_MATCH;
2208             graphics_task_current_buffer->graphics_task_eof_status = EOF_PENDING;
2209             }
2210         }
2211
2212     else
2213         ret_val = EOB_ACT_CONTINUE_SCAN;
2214
2215     graphics_task_n_chars += number_to_move;
2216     graphics_task_current_buffer->graphics_task_ch_buf[graphics_task_n_chars] = graphics_task_END_OF_BUFFER_CHAR;
2217     graphics_task_current_buffer->graphics_task_ch_buf[graphics_task_n_chars + 1] = graphics_task_END_OF_BUFFER_CHAR;
2218
2219     /* graphics_tasktext begins at the second character in graphics_task_ch_buf; the first
2220      * character is the one which preceded it before reading in the latest
2221      * buffer; it needs to be kept around in case it's a newline, so
2222      * graphics_task_get_previous_state() will have with '^' rules active
2223      */
2224
2225     graphics_tasktext = &graphics_task_current_buffer->graphics_task_ch_buf[1];
2226
2227     return ( ret_val );
2228     }
2229
2230
2231 /* graphics_task_get_previous_state - get the state just before the EOB char was reached
2232  *
2233  * synopsis
2234  *     graphics_task_state_type graphics_task_get_previous_state();
2235  */
2236
2237 static graphics_task_state_type graphics_task_get_previous_state()
2238
2239     {
2240     register graphics_task_state_type graphics_task_current_state;
2241     register graphics_task_CHAR *graphics_task_cp;
2242
2243     register graphics_task_CHAR *graphics_task_bp = graphics_tasktext;
2244
2245     graphics_task_current_state = graphics_task_start;
2246     if ( graphics_task_bp[-1] == '\n' )
2247         ++graphics_task_current_state;
2248
2249     for ( graphics_task_cp = graphics_tasktext + graphics_task_MORE_ADJ; graphics_task_cp < graphics_task_c_buf_p; ++graphics_task_cp )
2250         {
2251         if ( *graphics_task_cp )
2252             {
2253             graphics_task_current_state = graphics_task_nxt[graphics_task_current_state][*graphics_task_cp];
2254             }
2255         else
2256             graphics_task_current_state = graphics_task_NUL_trans[graphics_task_current_state];
2257         if ( graphics_task_accept[graphics_task_current_state] )
2258             {
2259             graphics_task_last_accepting_state = graphics_task_current_state;
2260             graphics_task_last_accepting_cpos = graphics_task_cp;
2261             }
2262         }
2263
2264     return ( graphics_task_current_state );
2265     }
2266
2267
2268 /* graphics_task_try_NUL_trans - try to make a transition on the NUL character
2269  *
2270  * synopsis
2271  *     next_state = graphics_task_try_NUL_trans( current_state );
2272  */
2273
2274 #ifdef graphics_task_USE_PROTOS
2275 static graphics_task_state_type graphics_task_try_NUL_trans( register graphics_task_state_type graphics_task_current_state )
2276 #else
2277 static graphics_task_state_type graphics_task_try_NUL_trans( graphics_task_current_state )
2278 register graphics_task_state_type graphics_task_current_state;
2279 #endif
2280
2281     {
2282     register int graphics_task_is_jam;
2283     register graphics_task_CHAR *graphics_task_cp = graphics_task_c_buf_p;
2284
2285     graphics_task_current_state = graphics_task_NUL_trans[graphics_task_current_state];
2286     graphics_task_is_jam = (graphics_task_current_state == 0);
2287
2288     if ( ! graphics_task_is_jam )
2289         {
2290         if ( graphics_task_accept[graphics_task_current_state] )
2291             {
2292             graphics_task_last_accepting_state = graphics_task_current_state;
2293             graphics_task_last_accepting_cpos = graphics_task_cp;
2294             }
2295         }
2296
2297     return ( graphics_task_is_jam ? 0 : graphics_task_current_state );
2298     }
2299
2300
2301 #ifdef graphics_task_USE_PROTOS
2302 static void graphics_taskunput( graphics_task_CHAR c, register graphics_task_CHAR *graphics_task_bp )
2303 #else
2304 static void graphics_taskunput( c, graphics_task_bp )
2305 graphics_task_CHAR c;
2306 register graphics_task_CHAR *graphics_task_bp;
2307 #endif
2308
2309     {
2310     register graphics_task_CHAR *graphics_task_cp = graphics_task_c_buf_p;
2311
2312     /* undo effects of setting up graphics_tasktext */
2313     *graphics_task_cp = graphics_task_hold_char;
2314
2315     if ( graphics_task_cp < graphics_task_current_buffer->graphics_task_ch_buf + 2 )
2316         { /* need to shift things up to make room */
2317         register int number_to_move = graphics_task_n_chars + 2; /* +2 for EOB chars */
2318         register graphics_task_CHAR *dest =
2319             &graphics_task_current_buffer->graphics_task_ch_buf[graphics_task_current_buffer->graphics_task_buf_size + 2];
2320         register graphics_task_CHAR *source =
2321             &graphics_task_current_buffer->graphics_task_ch_buf[number_to_move];
2322
2323         while ( source > graphics_task_current_buffer->graphics_task_ch_buf )
2324             *--dest = *--source;
2325
2326         graphics_task_cp += dest - source;
2327         graphics_task_bp += dest - source;
2328         graphics_task_n_chars = graphics_task_current_buffer->graphics_task_buf_size;
2329
2330         if ( graphics_task_cp < graphics_task_current_buffer->graphics_task_ch_buf + 2 )
2331             graphics_task_FATAL_ERROR( "flex scanner push-back overflow" );
2332         }
2333
2334     if ( graphics_task_cp > graphics_task_bp && graphics_task_cp[-1] == '\n' )
2335         graphics_task_cp[-2] = '\n';
2336
2337     *--graphics_task_cp = c;
2338
2339     /* note: the formal parameter *must* be called "graphics_task_bp" for this
2340      *       macro to now work correctly
2341      */
2342     graphics_task_DO_BEFORE_ACTION; /* set up graphics_tasktext again */
2343     }
2344
2345
2346 #ifdef __cplusplus
2347 static int graphics_taskinput()
2348 #else
2349 static int input()
2350 #endif
2351
2352     {
2353     int c;
2354     graphics_task_CHAR *graphics_task_cp = graphics_task_c_buf_p;
2355
2356     *graphics_task_cp = graphics_task_hold_char;
2357
2358     if ( *graphics_task_c_buf_p == graphics_task_END_OF_BUFFER_CHAR )
2359         {
2360         /* graphics_task_c_buf_p now points to the character we want to return.
2361          * If this occurs *before* the EOB characters, then it's a
2362          * valid NUL; if not, then we've hit the end of the buffer.
2363          */
2364         if ( graphics_task_c_buf_p < &graphics_task_current_buffer->graphics_task_ch_buf[graphics_task_n_chars] )
2365             /* this was really a NUL */
2366             *graphics_task_c_buf_p = '\0';
2367
2368         else
2369             { /* need more input */
2370             graphics_tasktext = graphics_task_c_buf_p;
2371             ++graphics_task_c_buf_p;
2372
2373             switch ( graphics_task_get_next_buffer() )
2374                 {
2375                 case EOB_ACT_END_OF_FILE:
2376                     {
2377                     if ( graphics_taskwrap() )
2378                         {
2379                         graphics_task_c_buf_p = graphics_tasktext + graphics_task_MORE_ADJ;
2380                         return ( EOF );
2381                         }
2382
2383                     graphics_task_NEW_FILE;
2384
2385 #ifdef __cplusplus
2386                     return ( graphics_taskinput() );
2387 #else
2388                     return ( input() );
2389 #endif
2390                     }
2391                     break;
2392
2393                 case EOB_ACT_CONTINUE_SCAN:
2394                     graphics_task_c_buf_p = graphics_tasktext + graphics_task_MORE_ADJ;
2395                     break;
2396
2397                 case EOB_ACT_LAST_MATCH:
2398 #ifdef __cplusplus
2399                     graphics_task_FATAL_ERROR( "unexpected last match in graphics_taskinput()" );
2400 #else
2401                     graphics_task_FATAL_ERROR( "unexpected last match in input()" );
2402 #endif
2403                 }
2404             }
2405         }
2406
2407     c = *graphics_task_c_buf_p;
2408     graphics_task_hold_char = *++graphics_task_c_buf_p;
2409
2410     return ( c );
2411     }
2412
2413
2414 #ifdef graphics_task_USE_PROTOS
2415 void graphics_taskrestart( FILE *input_file )
2416 #else
2417 void graphics_taskrestart( input_file )
2418 FILE *input_file;
2419 #endif
2420
2421     {
2422     graphics_task_init_buffer( graphics_task_current_buffer, input_file );
2423     graphics_task_load_buffer_state();
2424     }
2425
2426
2427 #ifdef graphics_task_USE_PROTOS
2428 void graphics_task_switch_to_buffer( graphics_task_BUFFER_STATE new_buffer )
2429 #else
2430 void graphics_task_switch_to_buffer( new_buffer )
2431 graphics_task_BUFFER_STATE new_buffer;
2432 #endif
2433
2434     {
2435     if ( graphics_task_current_buffer == new_buffer )
2436         return;
2437
2438     if ( graphics_task_current_buffer )
2439         {
2440         /* flush out information for old buffer */
2441         *graphics_task_c_buf_p = graphics_task_hold_char;
2442         graphics_task_current_buffer->graphics_task_buf_pos = graphics_task_c_buf_p;
2443         graphics_task_current_buffer->graphics_task_n_chars = graphics_task_n_chars;
2444         }
2445
2446     graphics_task_current_buffer = new_buffer;
2447     graphics_task_load_buffer_state();
2448
2449     /* we don't actually know whether we did this switch during
2450      * EOF (graphics_taskwrap()) processing, but the only time this flag
2451      * is looked at is after graphics_taskwrap() is called, so it's safe
2452      * to go ahead and always set it.
2453      */
2454     graphics_task_did_buffer_switch_on_eof = 1;
2455     }
2456
2457
2458 #ifdef graphics_task_USE_PROTOS
2459 void graphics_task_load_buffer_state( void )
2460 #else
2461 void graphics_task_load_buffer_state()
2462 #endif
2463
2464     {
2465     graphics_task_n_chars = graphics_task_current_buffer->graphics_task_n_chars;
2466     graphics_tasktext = graphics_task_c_buf_p = graphics_task_current_buffer->graphics_task_buf_pos;
2467     graphics_taskin = graphics_task_current_buffer->graphics_task_input_file;
2468     graphics_task_hold_char = *graphics_task_c_buf_p;
2469     }
2470
2471
2472 #ifdef graphics_task_USE_PROTOS
2473 graphics_task_BUFFER_STATE graphics_task_create_buffer( FILE *file, int size )
2474 #else
2475 graphics_task_BUFFER_STATE graphics_task_create_buffer( file, size )
2476 FILE *file;
2477 int size;
2478 #endif
2479
2480     {
2481     graphics_task_BUFFER_STATE b;
2482
2483     b = (graphics_task_BUFFER_STATE) malloc( sizeof( struct graphics_task_buffer_state ) );
2484
2485     if ( ! b )
2486         graphics_task_FATAL_ERROR( "out of dynamic memory in graphics_task_create_buffer()" );
2487
2488     b->graphics_task_buf_size = size;
2489
2490     /* graphics_task_ch_buf has to be 2 characters longer than the size given because
2491      * we need to put in 2 end-of-buffer characters.
2492      */
2493     b->graphics_task_ch_buf = (graphics_task_CHAR *) malloc( (unsigned) (b->graphics_task_buf_size + 2) );
2494
2495     if ( ! b->graphics_task_ch_buf )
2496         graphics_task_FATAL_ERROR( "out of dynamic memory in graphics_task_create_buffer()" );
2497
2498     graphics_task_init_buffer( b, file );
2499
2500     return ( b );
2501     }
2502
2503
2504 #ifdef graphics_task_USE_PROTOS
2505 void graphics_task_delete_buffer( graphics_task_BUFFER_STATE b )
2506 #else
2507 void graphics_task_delete_buffer( b )
2508 graphics_task_BUFFER_STATE b;
2509 #endif
2510
2511     {
2512     if ( b == graphics_task_current_buffer )
2513         graphics_task_current_buffer = (graphics_task_BUFFER_STATE) 0;
2514
2515     free( (char *) b->graphics_task_ch_buf );
2516     free( (char *) b );
2517     }
2518
2519
2520 #ifdef graphics_task_USE_PROTOS
2521 void graphics_task_init_buffer( graphics_task_BUFFER_STATE b, FILE *file )
2522 #else
2523 void graphics_task_init_buffer( b, file )
2524 graphics_task_BUFFER_STATE b;
2525 FILE *file;
2526 #endif
2527
2528     {
2529     b->graphics_task_input_file = file;
2530
2531     /* we put in the '\n' and start reading from [1] so that an
2532      * initial match-at-newline will be true.
2533      */
2534
2535     b->graphics_task_ch_buf[0] = '\n';
2536     b->graphics_task_n_chars = 1;
2537
2538     /* we always need two end-of-buffer characters.  The first causes
2539      * a transition to the end-of-buffer state.  The second causes
2540      * a jam in that state.
2541      */
2542     b->graphics_task_ch_buf[1] = graphics_task_END_OF_BUFFER_CHAR;
2543     b->graphics_task_ch_buf[2] = graphics_task_END_OF_BUFFER_CHAR;
2544
2545     b->graphics_task_buf_pos = &b->graphics_task_ch_buf[1];
2546
2547     b->graphics_task_eof_status = EOF_NOT_SEEN;
2548     }
2549
2550
2551 #ifndef DEBUG
2552 void
2553 get_type()
2554 {
2555   graphics_tasklex();
2556
2557   BEGIN INITIAL;
2558   graphics_taskrestart(graphics_taskin);
2559 }
2560
2561 #else
2562 #include <X11/XWDFile.h>
2563
2564 GR_TYPE
2565 try_xwd(FILE *fp)
2566 {
2567   // Create header container
2568   CARD32 header[sz_XWDheader];
2569   XWDFileHeader *hdrptr;
2570
2571   hdrptr = (XWDFileHeader *)header;
2572   for (CARD32 ndx = 0; ndx < sz_XWDheader; ndx++) {
2573     header[ndx] = (CARD32) 0;
2574   }
2575
2576   if ( fread( &header[0], sizeof(*hdrptr), 1, fp ) != 1 ) {
2577     return( GR_TYPE_UNKNOWN );
2578   }
2579   if ((hdrptr->file_version == XWD_FILE_VERSION) &&
2580       (hdrptr->header_size > 0) &&
2581       (hdrptr->pixmap_width > 0) &&
2582       (hdrptr->pixmap_height > 0)) {
2583     return( GR_TYPE_XWD );
2584   } else {
2585     return( GR_TYPE_UNKNOWN );
2586   }
2587 }
2588
2589 int
2590 main(int argc, char *argv[])
2591 {
2592    int
2593       retcode;
2594    
2595    /*
2596     * This procedure attempts to open a file passed as an argument,
2597     * and exits on failure.  If no argument is available, stdin is
2598     * assumed.
2599     */
2600
2601    if (argc > 1)
2602    {
2603       if ((graphics_taskin = fopen(argv[1], "r")) == NULL)
2604       {
2605          (void) fprintf(stderr, "Bad input file name: %s \n", argv[1]);
2606          exit (1);
2607       }
2608    }
2609
2610    switch ( graphics_tasklex() ){
2611      case GR_TYPE_UNKNOWN:
2612        {
2613          cerr << "UNKNOWN: " << gtype << endl;
2614          // try xwd before giving up
2615          fclose(graphics_taskin);
2616          if ((graphics_taskin = fopen(argv[1], "r")) == NULL) {
2617            (void) fprintf(stderr, "Bad input file name: %s \n", argv[1]);
2618            exit (1);
2619          }
2620          gtype = try_xwd(graphics_taskin);
2621          if (gtype == GR_TYPE_UNKNOWN) {
2622            cerr << "UNKNOWN: " << gtype << endl;
2623          } else {
2624            cerr << "XWD: " << gtype << endl;
2625          }
2626        }
2627        break;
2628      case GR_TYPE_CGM:
2629        {
2630          cerr << "CGM: " << gtype << endl;
2631        }
2632        break;
2633      case GR_TYPE_GIF:
2634        {
2635          cerr << "GIF: " << gtype << endl;
2636        }
2637        break;
2638      case GR_TYPE_JPEG:
2639        {
2640          cerr << "JPEG: " << gtype << endl;
2641        }
2642        break;
2643      case GR_TYPE_PBM:
2644        {
2645          cerr << "PBM: " << gtype << endl;
2646        }
2647        break;
2648      case GR_TYPE_PGM:
2649        {
2650          cerr << "PGM: " << gtype << endl;
2651        }
2652        break;
2653      case GR_TYPE_POSTSCRIPT:
2654        {
2655          cerr << "POSTSCRIPT: " << gtype << endl;
2656        }
2657        break;
2658      case GR_TYPE_PPM:
2659        {
2660          cerr << "PPM: " << gtype << endl;
2661        }
2662        break;
2663      case GR_TYPE_TIFF:
2664        {
2665          cerr << "TIFF: " << gtype << endl;
2666        }
2667        break;
2668      case GR_TYPE_XBM:
2669        {
2670          cerr << "XBM: " << gtype << endl;
2671        }
2672        break;
2673      case GR_TYPE_XPM:
2674        {
2675          cerr << "XPM: " << gtype << endl;
2676        }
2677        break;
2678      case GR_TYPE_XWD:
2679        {
2680          cerr << "XWD: " << gtype << endl;
2681        }
2682        break;
2683    }
2684    exit(0);
2685 }
2686 #endif