LCOV - code coverage report
Current view: top level - src/backend/utils/adt - jsonpath_scan.c (source / functions) Hit Total Coverage
Test: PostgreSQL 13devel Lines: 109 314 34.7 %
Date: 2019-09-19 02:07:14 Functions: 9 30 30.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : #line 2 "jsonpath_scan.c"
       2             : 
       3             : #line 4 "jsonpath_scan.c"
       4             : 
       5             : #define  YY_INT_ALIGNED short int
       6             : 
       7             : /* A lexical scanner generated by flex */
       8             : 
       9             : #define yy_create_buffer jsonpath_yy_create_buffer
      10             : #define yy_delete_buffer jsonpath_yy_delete_buffer
      11             : #define yy_flex_debug jsonpath_yy_flex_debug
      12             : #define yy_init_buffer jsonpath_yy_init_buffer
      13             : #define yy_flush_buffer jsonpath_yy_flush_buffer
      14             : #define yy_load_buffer_state jsonpath_yy_load_buffer_state
      15             : #define yy_switch_to_buffer jsonpath_yy_switch_to_buffer
      16             : #define yyin jsonpath_yyin
      17             : #define yyleng jsonpath_yyleng
      18             : #define yylex jsonpath_yylex
      19             : #define yylineno jsonpath_yylineno
      20             : #define yyout jsonpath_yyout
      21             : #define yyrestart jsonpath_yyrestart
      22             : #define yytext jsonpath_yytext
      23             : #define yywrap jsonpath_yywrap
      24             : #define yyalloc jsonpath_yyalloc
      25             : #define yyrealloc jsonpath_yyrealloc
      26             : #define yyfree jsonpath_yyfree
      27             : 
      28             : #define FLEX_SCANNER
      29             : #define YY_FLEX_MAJOR_VERSION 2
      30             : #define YY_FLEX_MINOR_VERSION 6
      31             : #define YY_FLEX_SUBMINOR_VERSION 1
      32             : #if YY_FLEX_SUBMINOR_VERSION > 0
      33             : #define FLEX_BETA
      34             : #endif
      35             : 
      36             : /* First, we deal with  platform-specific or compiler-specific issues. */
      37             : 
      38             : /* begin standard C headers. */
      39             : #include <stdio.h>
      40             : #include <string.h>
      41             : #include <errno.h>
      42             : #include <stdlib.h>
      43             : 
      44             : /* end standard C headers. */
      45             : 
      46             : /* flex integer type definitions */
      47             : 
      48             : #ifndef FLEXINT_H
      49             : #define FLEXINT_H
      50             : 
      51             : /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
      52             : 
      53             : #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
      54             : 
      55             : /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
      56             :  * if you want the limit (max/min) macros for int types. 
      57             :  */
      58             : #ifndef __STDC_LIMIT_MACROS
      59             : #define __STDC_LIMIT_MACROS 1
      60             : #endif
      61             : 
      62             : #include <inttypes.h>
      63             : typedef int8_t flex_int8_t;
      64             : typedef uint8_t flex_uint8_t;
      65             : typedef int16_t flex_int16_t;
      66             : typedef uint16_t flex_uint16_t;
      67             : typedef int32_t flex_int32_t;
      68             : typedef uint32_t flex_uint32_t;
      69             : #else
      70             : typedef signed char flex_int8_t;
      71             : typedef short int flex_int16_t;
      72             : typedef int flex_int32_t;
      73             : typedef unsigned char flex_uint8_t; 
      74             : typedef unsigned short int flex_uint16_t;
      75             : typedef unsigned int flex_uint32_t;
      76             : 
      77             : /* Limits of integral types. */
      78             : #ifndef INT8_MIN
      79             : #define INT8_MIN               (-128)
      80             : #endif
      81             : #ifndef INT16_MIN
      82             : #define INT16_MIN              (-32767-1)
      83             : #endif
      84             : #ifndef INT32_MIN
      85             : #define INT32_MIN              (-2147483647-1)
      86             : #endif
      87             : #ifndef INT8_MAX
      88             : #define INT8_MAX               (127)
      89             : #endif
      90             : #ifndef INT16_MAX
      91             : #define INT16_MAX              (32767)
      92             : #endif
      93             : #ifndef INT32_MAX
      94             : #define INT32_MAX              (2147483647)
      95             : #endif
      96             : #ifndef UINT8_MAX
      97             : #define UINT8_MAX              (255U)
      98             : #endif
      99             : #ifndef UINT16_MAX
     100             : #define UINT16_MAX             (65535U)
     101             : #endif
     102             : #ifndef UINT32_MAX
     103             : #define UINT32_MAX             (4294967295U)
     104             : #endif
     105             : 
     106             : #endif /* ! C99 */
     107             : 
     108             : #endif /* ! FLEXINT_H */
     109             : 
     110             : /* TODO: this is always defined, so inline it */
     111             : #define yyconst const
     112             : 
     113             : #if defined(__GNUC__) && __GNUC__ >= 3
     114             : #define yynoreturn __attribute__((__noreturn__))
     115             : #else
     116             : #define yynoreturn
     117             : #endif
     118             : 
     119             : /* Returned upon end-of-file. */
     120             : #define YY_NULL 0
     121             : 
     122             : /* Promotes a possibly negative, possibly signed char to an unsigned
     123             :  * integer for use as an array index.  If the signed char is negative,
     124             :  * we want to instead treat it as an 8-bit unsigned char, hence the
     125             :  * double cast.
     126             :  */
     127             : #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
     128             : 
     129             : /* Enter a start condition.  This macro really ought to take a parameter,
     130             :  * but we do it the disgusting crufty way forced on us by the ()-less
     131             :  * definition of BEGIN.
     132             :  */
     133             : #define BEGIN (yy_start) = 1 + 2 *
     134             : 
     135             : /* Translate the current start state into a value that can be later handed
     136             :  * to BEGIN to return to the state.  The YYSTATE alias is for lex
     137             :  * compatibility.
     138             :  */
     139             : #define YY_START (((yy_start) - 1) / 2)
     140             : #define YYSTATE YY_START
     141             : 
     142             : /* Action number for EOF rule of a given start state. */
     143             : #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
     144             : 
     145             : /* Special action meaning "start processing a new file". */
     146             : #define YY_NEW_FILE jsonpath_yyrestart(jsonpath_yyin  )
     147             : 
     148             : #define YY_END_OF_BUFFER_CHAR 0
     149             : 
     150             : /* Size of default input buffer. */
     151             : #ifndef YY_BUF_SIZE
     152             : #ifdef __ia64__
     153             : /* On IA-64, the buffer size is 16k, not 8k.
     154             :  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
     155             :  * Ditto for the __ia64__ case accordingly.
     156             :  */
     157             : #define YY_BUF_SIZE 32768
     158             : #else
     159             : #define YY_BUF_SIZE 16384
     160             : #endif /* __ia64__ */
     161             : #endif
     162             : 
     163             : /* The state buf must be large enough to hold one state per character in the main buffer.
     164             :  */
     165             : #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
     166             : 
     167             : #ifndef YY_TYPEDEF_YY_BUFFER_STATE
     168             : #define YY_TYPEDEF_YY_BUFFER_STATE
     169             : typedef struct yy_buffer_state *YY_BUFFER_STATE;
     170             : #endif
     171             : 
     172             : #ifndef YY_TYPEDEF_YY_SIZE_T
     173             : #define YY_TYPEDEF_YY_SIZE_T
     174             : typedef size_t yy_size_t;
     175             : #endif
     176             : 
     177             : extern int jsonpath_yyleng;
     178             : 
     179             : extern FILE *jsonpath_yyin, *jsonpath_yyout;
     180             : 
     181             : #define EOB_ACT_CONTINUE_SCAN 0
     182             : #define EOB_ACT_END_OF_FILE 1
     183             : #define EOB_ACT_LAST_MATCH 2
     184             : 
     185             :     #define YY_LESS_LINENO(n)
     186             :     #define YY_LINENO_REWIND_TO(ptr)
     187             :     
     188             : /* Return all but the first "n" matched characters back to the input stream. */
     189             : #define yyless(n) \
     190             :     do \
     191             :         { \
     192             :         /* Undo effects of setting up jsonpath_yytext. */ \
     193             :         int yyless_macro_arg = (n); \
     194             :         YY_LESS_LINENO(yyless_macro_arg);\
     195             :         *yy_cp = (yy_hold_char); \
     196             :         YY_RESTORE_YY_MORE_OFFSET \
     197             :         (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
     198             :         YY_DO_BEFORE_ACTION; /* set up jsonpath_yytext again */ \
     199             :         } \
     200             :     while ( 0 )
     201             : 
     202             : #define unput(c) yyunput( c, (yytext_ptr)  )
     203             : 
     204             : #ifndef YY_STRUCT_YY_BUFFER_STATE
     205             : #define YY_STRUCT_YY_BUFFER_STATE
     206             : struct yy_buffer_state
     207             :     {
     208             :     FILE *yy_input_file;
     209             : 
     210             :     char *yy_ch_buf;        /* input buffer */
     211             :     char *yy_buf_pos;       /* current position in input buffer */
     212             : 
     213             :     /* Size of input buffer in bytes, not including room for EOB
     214             :      * characters.
     215             :      */
     216             :     int yy_buf_size;
     217             : 
     218             :     /* Number of characters read into yy_ch_buf, not including EOB
     219             :      * characters.
     220             :      */
     221             :     int yy_n_chars;
     222             : 
     223             :     /* Whether we "own" the buffer - i.e., we know we created it,
     224             :      * and can realloc() it to grow it, and should free() it to
     225             :      * delete it.
     226             :      */
     227             :     int yy_is_our_buffer;
     228             : 
     229             :     /* Whether this is an "interactive" input source; if so, and
     230             :      * if we're using stdio for input, then we want to use getc()
     231             :      * instead of fread(), to make sure we stop fetching input after
     232             :      * each newline.
     233             :      */
     234             :     int yy_is_interactive;
     235             : 
     236             :     /* Whether we're considered to be at the beginning of a line.
     237             :      * If so, '^' rules will be active on the next match, otherwise
     238             :      * not.
     239             :      */
     240             :     int yy_at_bol;
     241             : 
     242             :     int yy_bs_lineno; /**< The line count. */
     243             :     int yy_bs_column; /**< The column count. */
     244             : 
     245             :     /* Whether to try to fill the input buffer when we reach the
     246             :      * end of it.
     247             :      */
     248             :     int yy_fill_buffer;
     249             : 
     250             :     int yy_buffer_status;
     251             : 
     252             : #define YY_BUFFER_NEW 0
     253             : #define YY_BUFFER_NORMAL 1
     254             :     /* When an EOF's been seen but there's still some text to process
     255             :      * then we mark the buffer as YY_EOF_PENDING, to indicate that we
     256             :      * shouldn't try reading from the input source any more.  We might
     257             :      * still have a bunch of tokens to match, though, because of
     258             :      * possible backing-up.
     259             :      *
     260             :      * When we actually see the EOF, we change the status to "new"
     261             :      * (via jsonpath_yyrestart()), so that the user can continue scanning by
     262             :      * just pointing jsonpath_yyin at a new input file.
     263             :      */
     264             : #define YY_BUFFER_EOF_PENDING 2
     265             : 
     266             :     };
     267             : #endif /* !YY_STRUCT_YY_BUFFER_STATE */
     268             : 
     269             : /* Stack of input buffers. */
     270             : static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
     271             : static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
     272             : static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
     273             : 
     274             : /* We provide macros for accessing buffer states in case in the
     275             :  * future we want to put the buffer states in a more general
     276             :  * "scanner state".
     277             :  *
     278             :  * Returns the top of the stack, or NULL.
     279             :  */
     280             : #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
     281             :                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
     282             :                           : NULL)
     283             : 
     284             : /* Same as previous macro, but useful when we know that the buffer stack is not
     285             :  * NULL or when we need an lvalue. For internal use only.
     286             :  */
     287             : #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
     288             : 
     289             : /* yy_hold_char holds the character lost when jsonpath_yytext is formed. */
     290             : static char yy_hold_char;
     291             : static int yy_n_chars;      /* number of characters read into yy_ch_buf */
     292             : int jsonpath_yyleng;
     293             : 
     294             : /* Points to current character in buffer. */
     295             : static char *yy_c_buf_p = NULL;
     296             : static int yy_init = 0;     /* whether we need to initialize */
     297             : static int yy_start = 0;    /* start state number */
     298             : 
     299             : /* Flag which is used to allow jsonpath_yywrap()'s to do buffer switches
     300             :  * instead of setting up a fresh jsonpath_yyin.  A bit of a hack ...
     301             :  */
     302             : static int yy_did_buffer_switch_on_eof;
     303             : 
     304             : void jsonpath_yyrestart (FILE *input_file  );
     305             : void jsonpath_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
     306             : YY_BUFFER_STATE jsonpath_yy_create_buffer (FILE *file,int size  );
     307             : void jsonpath_yy_delete_buffer (YY_BUFFER_STATE b  );
     308             : void jsonpath_yy_flush_buffer (YY_BUFFER_STATE b  );
     309             : void jsonpath_yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
     310             : void jsonpath_yypop_buffer_state (void );
     311             : 
     312             : static void jsonpath_yyensure_buffer_stack (void );
     313             : static void jsonpath_yy_load_buffer_state (void );
     314             : static void jsonpath_yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
     315             : 
     316             : #define YY_FLUSH_BUFFER jsonpath_yy_flush_buffer(YY_CURRENT_BUFFER )
     317             : 
     318             : YY_BUFFER_STATE jsonpath_yy_scan_buffer (char *base,yy_size_t size  );
     319             : YY_BUFFER_STATE jsonpath_yy_scan_string (yyconst char *yy_str  );
     320             : YY_BUFFER_STATE jsonpath_yy_scan_bytes (yyconst char *bytes,int len  );
     321             : 
     322             : void *jsonpath_yyalloc (yy_size_t  );
     323             : void *jsonpath_yyrealloc (void *,yy_size_t  );
     324             : void jsonpath_yyfree (void *  );
     325             : 
     326             : #define yy_new_buffer jsonpath_yy_create_buffer
     327             : 
     328             : #define yy_set_interactive(is_interactive) \
     329             :     { \
     330             :     if ( ! YY_CURRENT_BUFFER ){ \
     331             :         jsonpath_yyensure_buffer_stack (); \
     332             :         YY_CURRENT_BUFFER_LVALUE =    \
     333             :             jsonpath_yy_create_buffer(jsonpath_yyin,YY_BUF_SIZE ); \
     334             :     } \
     335             :     YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
     336             :     }
     337             : 
     338             : #define yy_set_bol(at_bol) \
     339             :     { \
     340             :     if ( ! YY_CURRENT_BUFFER ){\
     341             :         jsonpath_yyensure_buffer_stack (); \
     342             :         YY_CURRENT_BUFFER_LVALUE =    \
     343             :             jsonpath_yy_create_buffer(jsonpath_yyin,YY_BUF_SIZE ); \
     344             :     } \
     345             :     YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
     346             :     }
     347             : 
     348             : #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
     349             : 
     350             : /* Begin user sect3 */
     351             : 
     352             : #define jsonpath_yywrap() (/*CONSTCOND*/1)
     353             : #define YY_SKIP_YYWRAP
     354             : 
     355             : typedef unsigned char YY_CHAR;
     356             : 
     357             : FILE *jsonpath_yyin = NULL, *jsonpath_yyout = NULL;
     358             : 
     359             : typedef yyconst struct yy_trans_info *yy_state_type;
     360             : 
     361             : extern int jsonpath_yylineno;
     362             : 
     363             : int jsonpath_yylineno = 1;
     364             : 
     365             : extern char *jsonpath_yytext;
     366             : #ifdef yytext_ptr
     367             : #undef yytext_ptr
     368             : #endif
     369             : #define yytext_ptr jsonpath_yytext
     370             : 
     371             : static yy_state_type yy_get_previous_state (void );
     372             : static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
     373             : static int yy_get_next_buffer (void );
     374             : static void yynoreturn yy_fatal_error (yyconst char* msg  );
     375             : 
     376             : /* Done after the current pattern has been matched and before the
     377             :  * corresponding action - sets up jsonpath_yytext.
     378             :  */
     379             : #define YY_DO_BEFORE_ACTION \
     380             :     (yytext_ptr) = yy_bp; \
     381             :     jsonpath_yyleng = (int) (yy_cp - yy_bp); \
     382             :     (yy_hold_char) = *yy_cp; \
     383             :     *yy_cp = '\0'; \
     384             :     (yy_c_buf_p) = yy_cp;
     385             : 
     386             : #define YY_NUM_RULES 52
     387             : #define YY_END_OF_BUFFER 53
     388             : struct yy_trans_info
     389             :     {
     390             :     flex_int16_t yy_verify;
     391             :     flex_int16_t yy_nxt;
     392             :     };
     393             : static yyconst struct yy_trans_info yy_transition[9123] =
     394             :     {
     395             :  {   0,   0 }, {   0,8867 }, {   0,   0 }, {   0,8865 }, {   1,3096 },
     396             :  {   2,3096 }, {   3,3096 }, {   4,3096 }, {   5,3096 }, {   6,3096 },
     397             :  {   7,3096 }, {   8,3096 }, {   9,3354 }, {  10,3354 }, {  11,3096 },
     398             :  {  12,3354 }, {  13,3354 }, {  14,3096 }, {  15,3096 }, {  16,3096 },
     399             :  {  17,3096 }, {  18,3096 }, {  19,3096 }, {  20,3096 }, {  21,3096 },
     400             :  {  22,3096 }, {  23,3096 }, {  24,3096 }, {  25,3096 }, {  26,3096 },
     401             :  {  27,3096 }, {  28,3096 }, {  29,3096 }, {  30,3096 }, {  31,3096 },
     402             :  {  32,3354 }, {  33,3158 }, {  34,3160 }, {  35,3188 }, {  36,3373 },
     403             :  {  37,3188 }, {  38,3370 }, {  39,3383 }, {  40,3188 }, {  41,3188 },
     404             :  {  42,3631 }, {  43,3188 }, {  44,3188 }, {  45,3188 }, {  46,3188 },
     405             : 
     406             :  {  47,3633 }, {  48,3635 }, {  49,3893 }, {  50,3893 }, {  51,3893 },
     407             :  {  52,3893 }, {  53,3893 }, {  54,3893 }, {  55,3893 }, {  56,3893 },
     408             :  {  57,3893 }, {  58,3188 }, {  59,3096 }, {  60,3697 }, {  61,3699 },
     409             :  {  62,3955 }, {  63,3188 }, {  64,3188 }, {  65,3096 }, {  66,3096 },
     410             :  {  67,3096 }, {  68,3096 }, {  69,3096 }, {  70,3096 }, {  71,3096 },
     411             :  {  72,3096 }, {  73,3096 }, {  74,3096 }, {  75,3096 }, {  76,3096 },
     412             :  {  77,3096 }, {  78,3096 }, {  79,3096 }, {  80,3096 }, {  81,3096 },
     413             :  {  82,3096 }, {  83,3096 }, {  84,3096 }, {  85,3096 }, {  86,3096 },
     414             :  {  87,3096 }, {  88,3096 }, {  89,3096 }, {  90,3096 }, {  91,3188 },
     415             :  {  92,3957 }, {  93,3188 }, {  94,3096 }, {  95,3096 }, {  96,3096 },
     416             : 
     417             :  {  97,3096 }, {  98,3096 }, {  99,3096 }, { 100,3096 }, { 101,3096 },
     418             :  { 102,3096 }, { 103,3096 }, { 104,3096 }, { 105,3096 }, { 106,3096 },
     419             :  { 107,3096 }, { 108,3096 }, { 109,3096 }, { 110,3096 }, { 111,3096 },
     420             :  { 112,3096 }, { 113,3096 }, { 114,3096 }, { 115,3096 }, { 116,3096 },
     421             :  { 117,3096 }, { 118,3096 }, { 119,3096 }, { 120,3096 }, { 121,3096 },
     422             :  { 122,3096 }, { 123,3188 }, { 124,4151 }, { 125,3188 }, { 126,3096 },
     423             :  { 127,3096 }, { 128,3096 }, { 129,3096 }, { 130,3096 }, { 131,3096 },
     424             :  { 132,3096 }, { 133,3096 }, { 134,3096 }, { 135,3096 }, { 136,3096 },
     425             :  { 137,3096 }, { 138,3096 }, { 139,3096 }, { 140,3096 }, { 141,3096 },
     426             :  { 142,3096 }, { 143,3096 }, { 144,3096 }, { 145,3096 }, { 146,3096 },
     427             : 
     428             :  { 147,3096 }, { 148,3096 }, { 149,3096 }, { 150,3096 }, { 151,3096 },
     429             :  { 152,3096 }, { 153,3096 }, { 154,3096 }, { 155,3096 }, { 156,3096 },
     430             :  { 157,3096 }, { 158,3096 }, { 159,3096 }, { 160,3096 }, { 161,3096 },
     431             :  { 162,3096 }, { 163,3096 }, { 164,3096 }, { 165,3096 }, { 166,3096 },
     432             :  { 167,3096 }, { 168,3096 }, { 169,3096 }, { 170,3096 }, { 171,3096 },
     433             :  { 172,3096 }, { 173,3096 }, { 174,3096 }, { 175,3096 }, { 176,3096 },
     434             :  { 177,3096 }, { 178,3096 }, { 179,3096 }, { 180,3096 }, { 181,3096 },
     435             :  { 182,3096 }, { 183,3096 }, { 184,3096 }, { 185,3096 }, { 186,3096 },
     436             :  { 187,3096 }, { 188,3096 }, { 189,3096 }, { 190,3096 }, { 191,3096 },
     437             :  { 192,3096 }, { 193,3096 }, { 194,3096 }, { 195,3096 }, { 196,3096 },
     438             : 
     439             :  { 197,3096 }, { 198,3096 }, { 199,3096 }, { 200,3096 }, { 201,3096 },
     440             :  { 202,3096 }, { 203,3096 }, { 204,3096 }, { 205,3096 }, { 206,3096 },
     441             :  { 207,3096 }, { 208,3096 }, { 209,3096 }, { 210,3096 }, { 211,3096 },
     442             :  { 212,3096 }, { 213,3096 }, { 214,3096 }, { 215,3096 }, { 216,3096 },
     443             :  { 217,3096 }, { 218,3096 }, { 219,3096 }, { 220,3096 }, { 221,3096 },
     444             :  { 222,3096 }, { 223,3096 }, { 224,3096 }, { 225,3096 }, { 226,3096 },
     445             :  { 227,3096 }, { 228,3096 }, { 229,3096 }, { 230,3096 }, { 231,3096 },
     446             :  { 232,3096 }, { 233,3096 }, { 234,3096 }, { 235,3096 }, { 236,3096 },
     447             :  { 237,3096 }, { 238,3096 }, { 239,3096 }, { 240,3096 }, { 241,3096 },
     448             :  { 242,3096 }, { 243,3096 }, { 244,3096 }, { 245,3096 }, { 246,3096 },
     449             : 
     450             :  { 247,3096 }, { 248,3096 }, { 249,3096 }, { 250,3096 }, { 251,3096 },
     451             :  { 252,3096 }, { 253,3096 }, { 254,3096 }, { 255,3096 }, { 256,3096 },
     452             :  {   0,   0 }, {   0,8607 }, {   1,2838 }, {   2,2838 }, {   3,2838 },
     453             :  {   4,2838 }, {   5,2838 }, {   6,2838 }, {   7,2838 }, {   8,2838 },
     454             :  {   9,3096 }, {  10,3096 }, {  11,2838 }, {  12,3096 }, {  13,3096 },
     455             :  {  14,2838 }, {  15,2838 }, {  16,2838 }, {  17,2838 }, {  18,2838 },
     456             :  {  19,2838 }, {  20,2838 }, {  21,2838 }, {  22,2838 }, {  23,2838 },
     457             :  {  24,2838 }, {  25,2838 }, {  26,2838 }, {  27,2838 }, {  28,2838 },
     458             :  {  29,2838 }, {  30,2838 }, {  31,2838 }, {  32,3096 }, {  33,2900 },
     459             :  {  34,2902 }, {  35,2930 }, {  36,3115 }, {  37,2930 }, {  38,3112 },
     460             : 
     461             :  {  39,3125 }, {  40,2930 }, {  41,2930 }, {  42,3373 }, {  43,2930 },
     462             :  {  44,2930 }, {  45,2930 }, {  46,2930 }, {  47,3375 }, {  48,3377 },
     463             :  {  49,3635 }, {  50,3635 }, {  51,3635 }, {  52,3635 }, {  53,3635 },
     464             :  {  54,3635 }, {  55,3635 }, {  56,3635 }, {  57,3635 }, {  58,2930 },
     465             :  {  59,2838 }, {  60,3439 }, {  61,3441 }, {  62,3697 }, {  63,2930 },
     466             :  {  64,2930 }, {  65,2838 }, {  66,2838 }, {  67,2838 }, {  68,2838 },
     467             :  {  69,2838 }, {  70,2838 }, {  71,2838 }, {  72,2838 }, {  73,2838 },
     468             :  {  74,2838 }, {  75,2838 }, {  76,2838 }, {  77,2838 }, {  78,2838 },
     469             :  {  79,2838 }, {  80,2838 }, {  81,2838 }, {  82,2838 }, {  83,2838 },
     470             :  {  84,2838 }, {  85,2838 }, {  86,2838 }, {  87,2838 }, {  88,2838 },
     471             : 
     472             :  {  89,2838 }, {  90,2838 }, {  91,2930 }, {  92,3699 }, {  93,2930 },
     473             :  {  94,2838 }, {  95,2838 }, {  96,2838 }, {  97,2838 }, {  98,2838 },
     474             :  {  99,2838 }, { 100,2838 }, { 101,2838 }, { 102,2838 }, { 103,2838 },
     475             :  { 104,2838 }, { 105,2838 }, { 106,2838 }, { 107,2838 }, { 108,2838 },
     476             :  { 109,2838 }, { 110,2838 }, { 111,2838 }, { 112,2838 }, { 113,2838 },
     477             :  { 114,2838 }, { 115,2838 }, { 116,2838 }, { 117,2838 }, { 118,2838 },
     478             :  { 119,2838 }, { 120,2838 }, { 121,2838 }, { 122,2838 }, { 123,2930 },
     479             :  { 124,3893 }, { 125,2930 }, { 126,2838 }, { 127,2838 }, { 128,2838 },
     480             :  { 129,2838 }, { 130,2838 }, { 131,2838 }, { 132,2838 }, { 133,2838 },
     481             :  { 134,2838 }, { 135,2838 }, { 136,2838 }, { 137,2838 }, { 138,2838 },
     482             : 
     483             :  { 139,2838 }, { 140,2838 }, { 141,2838 }, { 142,2838 }, { 143,2838 },
     484             :  { 144,2838 }, { 145,2838 }, { 146,2838 }, { 147,2838 }, { 148,2838 },
     485             :  { 149,2838 }, { 150,2838 }, { 151,2838 }, { 152,2838 }, { 153,2838 },
     486             :  { 154,2838 }, { 155,2838 }, { 156,2838 }, { 157,2838 }, { 158,2838 },
     487             :  { 159,2838 }, { 160,2838 }, { 161,2838 }, { 162,2838 }, { 163,2838 },
     488             :  { 164,2838 }, { 165,2838 }, { 166,2838 }, { 167,2838 }, { 168,2838 },
     489             :  { 169,2838 }, { 170,2838 }, { 171,2838 }, { 172,2838 }, { 173,2838 },
     490             :  { 174,2838 }, { 175,2838 }, { 176,2838 }, { 177,2838 }, { 178,2838 },
     491             :  { 179,2838 }, { 180,2838 }, { 181,2838 }, { 182,2838 }, { 183,2838 },
     492             :  { 184,2838 }, { 185,2838 }, { 186,2838 }, { 187,2838 }, { 188,2838 },
     493             : 
     494             :  { 189,2838 }, { 190,2838 }, { 191,2838 }, { 192,2838 }, { 193,2838 },
     495             :  { 194,2838 }, { 195,2838 }, { 196,2838 }, { 197,2838 }, { 198,2838 },
     496             :  { 199,2838 }, { 200,2838 }, { 201,2838 }, { 202,2838 }, { 203,2838 },
     497             :  { 204,2838 }, { 205,2838 }, { 206,2838 }, { 207,2838 }, { 208,2838 },
     498             :  { 209,2838 }, { 210,2838 }, { 211,2838 }, { 212,2838 }, { 213,2838 },
     499             :  { 214,2838 }, { 215,2838 }, { 216,2838 }, { 217,2838 }, { 218,2838 },
     500             :  { 219,2838 }, { 220,2838 }, { 221,2838 }, { 222,2838 }, { 223,2838 },
     501             :  { 224,2838 }, { 225,2838 }, { 226,2838 }, { 227,2838 }, { 228,2838 },
     502             :  { 229,2838 }, { 230,2838 }, { 231,2838 }, { 232,2838 }, { 233,2838 },
     503             :  { 234,2838 }, { 235,2838 }, { 236,2838 }, { 237,2838 }, { 238,2838 },
     504             : 
     505             :  { 239,2838 }, { 240,2838 }, { 241,2838 }, { 242,2838 }, { 243,2838 },
     506             :  { 244,2838 }, { 245,2838 }, { 246,2838 }, { 247,2838 }, { 248,2838 },
     507             :  { 249,2838 }, { 250,2838 }, { 251,2838 }, { 252,2838 }, { 253,2838 },
     508             :  { 254,2838 }, { 255,2838 }, { 256,2838 }, {   0,   0 }, {   0,8349 },
     509             :  {   1,3667 }, {   2,3667 }, {   3,3667 }, {   4,3667 }, {   5,3667 },
     510             :  {   6,3667 }, {   7,3667 }, {   8,3667 }, {   9,3667 }, {  10,3667 },
     511             :  {  11,3667 }, {  12,3667 }, {  13,3667 }, {  14,3667 }, {  15,3667 },
     512             :  {  16,3667 }, {  17,3667 }, {  18,3667 }, {  19,3667 }, {  20,3667 },
     513             :  {  21,3667 }, {  22,3667 }, {  23,3667 }, {  24,3667 }, {  25,3667 },
     514             :  {  26,3667 }, {  27,3667 }, {  28,3667 }, {  29,3667 }, {  30,3667 },
     515             : 
     516             :  {  31,3667 }, {  32,3667 }, {  33,3667 }, {  34,3637 }, {  35,3667 },
     517             :  {  36,3667 }, {  37,3667 }, {  38,3667 }, {  39,3667 }, {  40,3667 },
     518             :  {  41,3667 }, {  42,3667 }, {  43,3667 }, {  44,3667 }, {  45,3667 },
     519             :  {  46,3667 }, {  47,3667 }, {  48,3667 }, {  49,3667 }, {  50,3667 },
     520             :  {  51,3667 }, {  52,3667 }, {  53,3667 }, {  54,3667 }, {  55,3667 },
     521             :  {  56,3667 }, {  57,3667 }, {  58,3667 }, {  59,3667 }, {  60,3667 },
     522             :  {  61,3667 }, {  62,3667 }, {  63,3667 }, {  64,3667 }, {  65,3667 },
     523             :  {  66,3667 }, {  67,3667 }, {  68,3667 }, {  69,3667 }, {  70,3667 },
     524             :  {  71,3667 }, {  72,3667 }, {  73,3667 }, {  74,3667 }, {  75,3667 },
     525             :  {  76,3667 }, {  77,3667 }, {  78,3667 }, {  79,3667 }, {  80,3667 },
     526             : 
     527             :  {  81,3667 }, {  82,3667 }, {  83,3667 }, {  84,3667 }, {  85,3667 },
     528             :  {  86,3667 }, {  87,3667 }, {  88,3667 }, {  89,3667 }, {  90,3667 },
     529             :  {  91,3667 }, {  92,3925 }, {  93,3667 }, {  94,3667 }, {  95,3667 },
     530             :  {  96,3667 }, {  97,3667 }, {  98,3667 }, {  99,3667 }, { 100,3667 },
     531             :  { 101,3667 }, { 102,3667 }, { 103,3667 }, { 104,3667 }, { 105,3667 },
     532             :  { 106,3667 }, { 107,3667 }, { 108,3667 }, { 109,3667 }, { 110,3667 },
     533             :  { 111,3667 }, { 112,3667 }, { 113,3667 }, { 114,3667 }, { 115,3667 },
     534             :  { 116,3667 }, { 117,3667 }, { 118,3667 }, { 119,3667 }, { 120,3667 },
     535             :  { 121,3667 }, { 122,3667 }, { 123,3667 }, { 124,3667 }, { 125,3667 },
     536             :  { 126,3667 }, { 127,3667 }, { 128,3667 }, { 129,3667 }, { 130,3667 },
     537             : 
     538             :  { 131,3667 }, { 132,3667 }, { 133,3667 }, { 134,3667 }, { 135,3667 },
     539             :  { 136,3667 }, { 137,3667 }, { 138,3667 }, { 139,3667 }, { 140,3667 },
     540             :  { 141,3667 }, { 142,3667 }, { 143,3667 }, { 144,3667 }, { 145,3667 },
     541             :  { 146,3667 }, { 147,3667 }, { 148,3667 }, { 149,3667 }, { 150,3667 },
     542             :  { 151,3667 }, { 152,3667 }, { 153,3667 }, { 154,3667 }, { 155,3667 },
     543             :  { 156,3667 }, { 157,3667 }, { 158,3667 }, { 159,3667 }, { 160,3667 },
     544             :  { 161,3667 }, { 162,3667 }, { 163,3667 }, { 164,3667 }, { 165,3667 },
     545             :  { 166,3667 }, { 167,3667 }, { 168,3667 }, { 169,3667 }, { 170,3667 },
     546             :  { 171,3667 }, { 172,3667 }, { 173,3667 }, { 174,3667 }, { 175,3667 },
     547             :  { 176,3667 }, { 177,3667 }, { 178,3667 }, { 179,3667 }, { 180,3667 },
     548             : 
     549             :  { 181,3667 }, { 182,3667 }, { 183,3667 }, { 184,3667 }, { 185,3667 },
     550             :  { 186,3667 }, { 187,3667 }, { 188,3667 }, { 189,3667 }, { 190,3667 },
     551             :  { 191,3667 }, { 192,3667 }, { 193,3667 }, { 194,3667 }, { 195,3667 },
     552             :  { 196,3667 }, { 197,3667 }, { 198,3667 }, { 199,3667 }, { 200,3667 },
     553             :  { 201,3667 }, { 202,3667 }, { 203,3667 }, { 204,3667 }, { 205,3667 },
     554             :  { 206,3667 }, { 207,3667 }, { 208,3667 }, { 209,3667 }, { 210,3667 },
     555             :  { 211,3667 }, { 212,3667 }, { 213,3667 }, { 214,3667 }, { 215,3667 },
     556             :  { 216,3667 }, { 217,3667 }, { 218,3667 }, { 219,3667 }, { 220,3667 },
     557             :  { 221,3667 }, { 222,3667 }, { 223,3667 }, { 224,3667 }, { 225,3667 },
     558             :  { 226,3667 }, { 227,3667 }, { 228,3667 }, { 229,3667 }, { 230,3667 },
     559             : 
     560             :  { 231,3667 }, { 232,3667 }, { 233,3667 }, { 234,3667 }, { 235,3667 },
     561             :  { 236,3667 }, { 237,3667 }, { 238,3667 }, { 239,3667 }, { 240,3667 },
     562             :  { 241,3667 }, { 242,3667 }, { 243,3667 }, { 244,3667 }, { 245,3667 },
     563             :  { 246,3667 }, { 247,3667 }, { 248,3667 }, { 249,3667 }, { 250,3667 },
     564             :  { 251,3667 }, { 252,3667 }, { 253,3667 }, { 254,3667 }, { 255,3667 },
     565             :  { 256,3667 }, {   0,   0 }, {   0,8091 }, {   1,3409 }, {   2,3409 },
     566             :  {   3,3409 }, {   4,3409 }, {   5,3409 }, {   6,3409 }, {   7,3409 },
     567             :  {   8,3409 }, {   9,3409 }, {  10,3409 }, {  11,3409 }, {  12,3409 },
     568             :  {  13,3409 }, {  14,3409 }, {  15,3409 }, {  16,3409 }, {  17,3409 },
     569             :  {  18,3409 }, {  19,3409 }, {  20,3409 }, {  21,3409 }, {  22,3409 },
     570             : 
     571             :  {  23,3409 }, {  24,3409 }, {  25,3409 }, {  26,3409 }, {  27,3409 },
     572             :  {  28,3409 }, {  29,3409 }, {  30,3409 }, {  31,3409 }, {  32,3409 },
     573             :  {  33,3409 }, {  34,3379 }, {  35,3409 }, {  36,3409 }, {  37,3409 },
     574             :  {  38,3409 }, {  39,3409 }, {  40,3409 }, {  41,3409 }, {  42,3409 },
     575             :  {  43,3409 }, {  44,3409 }, {  45,3409 }, {  46,3409 }, {  47,3409 },
     576             :  {  48,3409 }, {  49,3409 }, {  50,3409 }, {  51,3409 }, {  52,3409 },
     577             :  {  53,3409 }, {  54,3409 }, {  55,3409 }, {  56,3409 }, {  57,3409 },
     578             :  {  58,3409 }, {  59,3409 }, {  60,3409 }, {  61,3409 }, {  62,3409 },
     579             :  {  63,3409 }, {  64,3409 }, {  65,3409 }, {  66,3409 }, {  67,3409 },
     580             :  {  68,3409 }, {  69,3409 }, {  70,3409 }, {  71,3409 }, {  72,3409 },
     581             : 
     582             :  {  73,3409 }, {  74,3409 }, {  75,3409 }, {  76,3409 }, {  77,3409 },
     583             :  {  78,3409 }, {  79,3409 }, {  80,3409 }, {  81,3409 }, {  82,3409 },
     584             :  {  83,3409 }, {  84,3409 }, {  85,3409 }, {  86,3409 }, {  87,3409 },
     585             :  {  88,3409 }, {  89,3409 }, {  90,3409 }, {  91,3409 }, {  92,3667 },
     586             :  {  93,3409 }, {  94,3409 }, {  95,3409 }, {  96,3409 }, {  97,3409 },
     587             :  {  98,3409 }, {  99,3409 }, { 100,3409 }, { 101,3409 }, { 102,3409 },
     588             :  { 103,3409 }, { 104,3409 }, { 105,3409 }, { 106,3409 }, { 107,3409 },
     589             :  { 108,3409 }, { 109,3409 }, { 110,3409 }, { 111,3409 }, { 112,3409 },
     590             :  { 113,3409 }, { 114,3409 }, { 115,3409 }, { 116,3409 }, { 117,3409 },
     591             :  { 118,3409 }, { 119,3409 }, { 120,3409 }, { 121,3409 }, { 122,3409 },
     592             : 
     593             :  { 123,3409 }, { 124,3409 }, { 125,3409 }, { 126,3409 }, { 127,3409 },
     594             :  { 128,3409 }, { 129,3409 }, { 130,3409 }, { 131,3409 }, { 132,3409 },
     595             :  { 133,3409 }, { 134,3409 }, { 135,3409 }, { 136,3409 }, { 137,3409 },
     596             :  { 138,3409 }, { 139,3409 }, { 140,3409 }, { 141,3409 }, { 142,3409 },
     597             :  { 143,3409 }, { 144,3409 }, { 145,3409 }, { 146,3409 }, { 147,3409 },
     598             :  { 148,3409 }, { 149,3409 }, { 150,3409 }, { 151,3409 }, { 152,3409 },
     599             :  { 153,3409 }, { 154,3409 }, { 155,3409 }, { 156,3409 }, { 157,3409 },
     600             :  { 158,3409 }, { 159,3409 }, { 160,3409 }, { 161,3409 }, { 162,3409 },
     601             :  { 163,3409 }, { 164,3409 }, { 165,3409 }, { 166,3409 }, { 167,3409 },
     602             :  { 168,3409 }, { 169,3409 }, { 170,3409 }, { 171,3409 }, { 172,3409 },
     603             : 
     604             :  { 173,3409 }, { 174,3409 }, { 175,3409 }, { 176,3409 }, { 177,3409 },
     605             :  { 178,3409 }, { 179,3409 }, { 180,3409 }, { 181,3409 }, { 182,3409 },
     606             :  { 183,3409 }, { 184,3409 }, { 185,3409 }, { 186,3409 }, { 187,3409 },
     607             :  { 188,3409 }, { 189,3409 }, { 190,3409 }, { 191,3409 }, { 192,3409 },
     608             :  { 193,3409 }, { 194,3409 }, { 195,3409 }, { 196,3409 }, { 197,3409 },
     609             :  { 198,3409 }, { 199,3409 }, { 200,3409 }, { 201,3409 }, { 202,3409 },
     610             :  { 203,3409 }, { 204,3409 }, { 205,3409 }, { 206,3409 }, { 207,3409 },
     611             :  { 208,3409 }, { 209,3409 }, { 210,3409 }, { 211,3409 }, { 212,3409 },
     612             :  { 213,3409 }, { 214,3409 }, { 215,3409 }, { 216,3409 }, { 217,3409 },
     613             :  { 218,3409 }, { 219,3409 }, { 220,3409 }, { 221,3409 }, { 222,3409 },
     614             : 
     615             :  { 223,3409 }, { 224,3409 }, { 225,3409 }, { 226,3409 }, { 227,3409 },
     616             :  { 228,3409 }, { 229,3409 }, { 230,3409 }, { 231,3409 }, { 232,3409 },
     617             :  { 233,3409 }, { 234,3409 }, { 235,3409 }, { 236,3409 }, { 237,3409 },
     618             :  { 238,3409 }, { 239,3409 }, { 240,3409 }, { 241,3409 }, { 242,3409 },
     619             :  { 243,3409 }, { 244,3409 }, { 245,3409 }, { 246,3409 }, { 247,3409 },
     620             :  { 248,3409 }, { 249,3409 }, { 250,3409 }, { 251,3409 }, { 252,3409 },
     621             :  { 253,3409 }, { 254,3409 }, { 255,3409 }, { 256,3409 }, {   0,   0 },
     622             :  {   0,7833 }, {   1,3667 }, {   2,3667 }, {   3,3667 }, {   4,3667 },
     623             :  {   5,3667 }, {   6,3667 }, {   7,3667 }, {   8,3667 }, {   9,3925 },
     624             :  {  10,3925 }, {  11,3667 }, {  12,3925 }, {  13,3925 }, {  14,3667 },
     625             : 
     626             :  {  15,3667 }, {  16,3667 }, {  17,3667 }, {  18,3667 }, {  19,3667 },
     627             :  {  20,3667 }, {  21,3667 }, {  22,3667 }, {  23,3667 }, {  24,3667 },
     628             :  {  25,3667 }, {  26,3667 }, {  27,3667 }, {  28,3667 }, {  29,3667 },
     629             :  {  30,3667 }, {  31,3667 }, {  32,3925 }, {  33,3123 }, {  34,3123 },
     630             :  {  35,3123 }, {  36,3123 }, {  37,3123 }, {  38,3123 }, {  39,3123 },
     631             :  {  40,3123 }, {  41,3123 }, {  42,3123 }, {  43,3123 }, {  44,3123 },
     632             :  {  45,3123 }, {  46,3123 }, {  47,3143 }, {  48,3667 }, {  49,3667 },
     633             :  {  50,3667 }, {  51,3667 }, {  52,3667 }, {  53,3667 }, {  54,3667 },
     634             :  {  55,3667 }, {  56,3667 }, {  57,3667 }, {  58,3123 }, {  59,3667 },
     635             :  {  60,3123 }, {  61,3123 }, {  62,3123 }, {  63,3123 }, {  64,3123 },
     636             : 
     637             :  {  65,3667 }, {  66,3667 }, {  67,3667 }, {  68,3667 }, {  69,3667 },
     638             :  {  70,3667 }, {  71,3667 }, {  72,3667 }, {  73,3667 }, {  74,3667 },
     639             :  {  75,3667 }, {  76,3667 }, {  77,3667 }, {  78,3667 }, {  79,3667 },
     640             :  {  80,3667 }, {  81,3667 }, {  82,3667 }, {  83,3667 }, {  84,3667 },
     641             :  {  85,3667 }, {  86,3667 }, {  87,3667 }, {  88,3667 }, {  89,3667 },
     642             :  {  90,3667 }, {  91,3123 }, {  92,3409 }, {  93,3123 }, {  94,3667 },
     643             :  {  95,3667 }, {  96,3667 }, {  97,3667 }, {  98,3667 }, {  99,3667 },
     644             :  { 100,3667 }, { 101,3667 }, { 102,3667 }, { 103,3667 }, { 104,3667 },
     645             :  { 105,3667 }, { 106,3667 }, { 107,3667 }, { 108,3667 }, { 109,3667 },
     646             :  { 110,3667 }, { 111,3667 }, { 112,3667 }, { 113,3667 }, { 114,3667 },
     647             : 
     648             :  { 115,3667 }, { 116,3667 }, { 117,3667 }, { 118,3667 }, { 119,3667 },
     649             :  { 120,3667 }, { 121,3667 }, { 122,3667 }, { 123,3123 }, { 124,3123 },
     650             :  { 125,3123 }, { 126,3667 }, { 127,3667 }, { 128,3667 }, { 129,3667 },
     651             :  { 130,3667 }, { 131,3667 }, { 132,3667 }, { 133,3667 }, { 134,3667 },
     652             :  { 135,3667 }, { 136,3667 }, { 137,3667 }, { 138,3667 }, { 139,3667 },
     653             :  { 140,3667 }, { 141,3667 }, { 142,3667 }, { 143,3667 }, { 144,3667 },
     654             :  { 145,3667 }, { 146,3667 }, { 147,3667 }, { 148,3667 }, { 149,3667 },
     655             :  { 150,3667 }, { 151,3667 }, { 152,3667 }, { 153,3667 }, { 154,3667 },
     656             :  { 155,3667 }, { 156,3667 }, { 157,3667 }, { 158,3667 }, { 159,3667 },
     657             :  { 160,3667 }, { 161,3667 }, { 162,3667 }, { 163,3667 }, { 164,3667 },
     658             : 
     659             :  { 165,3667 }, { 166,3667 }, { 167,3667 }, { 168,3667 }, { 169,3667 },
     660             :  { 170,3667 }, { 171,3667 }, { 172,3667 }, { 173,3667 }, { 174,3667 },
     661             :  { 175,3667 }, { 176,3667 }, { 177,3667 }, { 178,3667 }, { 179,3667 },
     662             :  { 180,3667 }, { 181,3667 }, { 182,3667 }, { 183,3667 }, { 184,3667 },
     663             :  { 185,3667 }, { 186,3667 }, { 187,3667 }, { 188,3667 }, { 189,3667 },
     664             :  { 190,3667 }, { 191,3667 }, { 192,3667 }, { 193,3667 }, { 194,3667 },
     665             :  { 195,3667 }, { 196,3667 }, { 197,3667 }, { 198,3667 }, { 199,3667 },
     666             :  { 200,3667 }, { 201,3667 }, { 202,3667 }, { 203,3667 }, { 204,3667 },
     667             :  { 205,3667 }, { 206,3667 }, { 207,3667 }, { 208,3667 }, { 209,3667 },
     668             :  { 210,3667 }, { 211,3667 }, { 212,3667 }, { 213,3667 }, { 214,3667 },
     669             : 
     670             :  { 215,3667 }, { 216,3667 }, { 217,3667 }, { 218,3667 }, { 219,3667 },
     671             :  { 220,3667 }, { 221,3667 }, { 222,3667 }, { 223,3667 }, { 224,3667 },
     672             :  { 225,3667 }, { 226,3667 }, { 227,3667 }, { 228,3667 }, { 229,3667 },
     673             :  { 230,3667 }, { 231,3667 }, { 232,3667 }, { 233,3667 }, { 234,3667 },
     674             :  { 235,3667 }, { 236,3667 }, { 237,3667 }, { 238,3667 }, { 239,3667 },
     675             :  { 240,3667 }, { 241,3667 }, { 242,3667 }, { 243,3667 }, { 244,3667 },
     676             :  { 245,3667 }, { 246,3667 }, { 247,3667 }, { 248,3667 }, { 249,3667 },
     677             :  { 250,3667 }, { 251,3667 }, { 252,3667 }, { 253,3667 }, { 254,3667 },
     678             :  { 255,3667 }, { 256,3667 }, {   0,   0 }, {   0,7575 }, {   1,3409 },
     679             :  {   2,3409 }, {   3,3409 }, {   4,3409 }, {   5,3409 }, {   6,3409 },
     680             : 
     681             :  {   7,3409 }, {   8,3409 }, {   9,3667 }, {  10,3667 }, {  11,3409 },
     682             :  {  12,3667 }, {  13,3667 }, {  14,3409 }, {  15,3409 }, {  16,3409 },
     683             :  {  17,3409 }, {  18,3409 }, {  19,3409 }, {  20,3409 }, {  21,3409 },
     684             :  {  22,3409 }, {  23,3409 }, {  24,3409 }, {  25,3409 }, {  26,3409 },
     685             :  {  27,3409 }, {  28,3409 }, {  29,3409 }, {  30,3409 }, {  31,3409 },
     686             :  {  32,3667 }, {  33,2865 }, {  34,2865 }, {  35,2865 }, {  36,2865 },
     687             :  {  37,2865 }, {  38,2865 }, {  39,2865 }, {  40,2865 }, {  41,2865 },
     688             :  {  42,2865 }, {  43,2865 }, {  44,2865 }, {  45,2865 }, {  46,2865 },
     689             :  {  47,2885 }, {  48,3409 }, {  49,3409 }, {  50,3409 }, {  51,3409 },
     690             :  {  52,3409 }, {  53,3409 }, {  54,3409 }, {  55,3409 }, {  56,3409 },
     691             : 
     692             :  {  57,3409 }, {  58,2865 }, {  59,3409 }, {  60,2865 }, {  61,2865 },
     693             :  {  62,2865 }, {  63,2865 }, {  64,2865 }, {  65,3409 }, {  66,3409 },
     694             :  {  67,3409 }, {  68,3409 }, {  69,3409 }, {  70,3409 }, {  71,3409 },
     695             :  {  72,3409 }, {  73,3409 }, {  74,3409 }, {  75,3409 }, {  76,3409 },
     696             :  {  77,3409 }, {  78,3409 }, {  79,3409 }, {  80,3409 }, {  81,3409 },
     697             :  {  82,3409 }, {  83,3409 }, {  84,3409 }, {  85,3409 }, {  86,3409 },
     698             :  {  87,3409 }, {  88,3409 }, {  89,3409 }, {  90,3409 }, {  91,2865 },
     699             :  {  92,3151 }, {  93,2865 }, {  94,3409 }, {  95,3409 }, {  96,3409 },
     700             :  {  97,3409 }, {  98,3409 }, {  99,3409 }, { 100,3409 }, { 101,3409 },
     701             :  { 102,3409 }, { 103,3409 }, { 104,3409 }, { 105,3409 }, { 106,3409 },
     702             : 
     703             :  { 107,3409 }, { 108,3409 }, { 109,3409 }, { 110,3409 }, { 111,3409 },
     704             :  { 112,3409 }, { 113,3409 }, { 114,3409 }, { 115,3409 }, { 116,3409 },
     705             :  { 117,3409 }, { 118,3409 }, { 119,3409 }, { 120,3409 }, { 121,3409 },
     706             :  { 122,3409 }, { 123,2865 }, { 124,2865 }, { 125,2865 }, { 126,3409 },
     707             :  { 127,3409 }, { 128,3409 }, { 129,3409 }, { 130,3409 }, { 131,3409 },
     708             :  { 132,3409 }, { 133,3409 }, { 134,3409 }, { 135,3409 }, { 136,3409 },
     709             :  { 137,3409 }, { 138,3409 }, { 139,3409 }, { 140,3409 }, { 141,3409 },
     710             :  { 142,3409 }, { 143,3409 }, { 144,3409 }, { 145,3409 }, { 146,3409 },
     711             :  { 147,3409 }, { 148,3409 }, { 149,3409 }, { 150,3409 }, { 151,3409 },
     712             :  { 152,3409 }, { 153,3409 }, { 154,3409 }, { 155,3409 }, { 156,3409 },
     713             : 
     714             :  { 157,3409 }, { 158,3409 }, { 159,3409 }, { 160,3409 }, { 161,3409 },
     715             :  { 162,3409 }, { 163,3409 }, { 164,3409 }, { 165,3409 }, { 166,3409 },
     716             :  { 167,3409 }, { 168,3409 }, { 169,3409 }, { 170,3409 }, { 171,3409 },
     717             :  { 172,3409 }, { 173,3409 }, { 174,3409 }, { 175,3409 }, { 176,3409 },
     718             :  { 177,3409 }, { 178,3409 }, { 179,3409 }, { 180,3409 }, { 181,3409 },
     719             :  { 182,3409 }, { 183,3409 }, { 184,3409 }, { 185,3409 }, { 186,3409 },
     720             :  { 187,3409 }, { 188,3409 }, { 189,3409 }, { 190,3409 }, { 191,3409 },
     721             :  { 192,3409 }, { 193,3409 }, { 194,3409 }, { 195,3409 }, { 196,3409 },
     722             :  { 197,3409 }, { 198,3409 }, { 199,3409 }, { 200,3409 }, { 201,3409 },
     723             :  { 202,3409 }, { 203,3409 }, { 204,3409 }, { 205,3409 }, { 206,3409 },
     724             : 
     725             :  { 207,3409 }, { 208,3409 }, { 209,3409 }, { 210,3409 }, { 211,3409 },
     726             :  { 212,3409 }, { 213,3409 }, { 214,3409 }, { 215,3409 }, { 216,3409 },
     727             :  { 217,3409 }, { 218,3409 }, { 219,3409 }, { 220,3409 }, { 221,3409 },
     728             :  { 222,3409 }, { 223,3409 }, { 224,3409 }, { 225,3409 }, { 226,3409 },
     729             :  { 227,3409 }, { 228,3409 }, { 229,3409 }, { 230,3409 }, { 231,3409 },
     730             :  { 232,3409 }, { 233,3409 }, { 234,3409 }, { 235,3409 }, { 236,3409 },
     731             :  { 237,3409 }, { 238,3409 }, { 239,3409 }, { 240,3409 }, { 241,3409 },
     732             :  { 242,3409 }, { 243,3409 }, { 244,3409 }, { 245,3409 }, { 246,3409 },
     733             :  { 247,3409 }, { 248,3409 }, { 249,3409 }, { 250,3409 }, { 251,3409 },
     734             :  { 252,3409 }, { 253,3409 }, { 254,3409 }, { 255,3409 }, { 256,3409 },
     735             : 
     736             :  {   0,   0 }, {   0,7317 }, {   1,2635 }, {   2,2635 }, {   3,2635 },
     737             :  {   4,2635 }, {   5,2635 }, {   6,2635 }, {   7,2635 }, {   8,2635 },
     738             :  {   9,2635 }, {  10,2635 }, {  11,2635 }, {  12,2635 }, {  13,2635 },
     739             :  {  14,2635 }, {  15,2635 }, {  16,2635 }, {  17,2635 }, {  18,2635 },
     740             :  {  19,2635 }, {  20,2635 }, {  21,2635 }, {  22,2635 }, {  23,2635 },
     741             :  {  24,2635 }, {  25,2635 }, {  26,2635 }, {  27,2635 }, {  28,2635 },
     742             :  {  29,2635 }, {  30,2635 }, {  31,2635 }, {  32,2635 }, {  33,2635 },
     743             :  {  34,2629 }, {  35,2635 }, {  36,2635 }, {  37,2635 }, {  38,2635 },
     744             :  {  39,2635 }, {  40,2635 }, {  41,2635 }, {  42,2635 }, {  43,2635 },
     745             :  {  44,2635 }, {  45,2635 }, {  46,2635 }, {  47,2635 }, {  48,2635 },
     746             : 
     747             :  {  49,2635 }, {  50,2635 }, {  51,2635 }, {  52,2635 }, {  53,2635 },
     748             :  {  54,2635 }, {  55,2635 }, {  56,2635 }, {  57,2635 }, {  58,2635 },
     749             :  {  59,2635 }, {  60,2635 }, {  61,2635 }, {  62,2635 }, {  63,2635 },
     750             :  {  64,2635 }, {  65,2635 }, {  66,2635 }, {  67,2635 }, {  68,2635 },
     751             :  {  69,2635 }, {  70,2635 }, {  71,2635 }, {  72,2635 }, {  73,2635 },
     752             :  {  74,2635 }, {  75,2635 }, {  76,2635 }, {  77,2635 }, {  78,2635 },
     753             :  {  79,2635 }, {  80,2635 }, {  81,2635 }, {  82,2635 }, {  83,2635 },
     754             :  {  84,2635 }, {  85,2635 }, {  86,2635 }, {  87,2635 }, {  88,2635 },
     755             :  {  89,2635 }, {  90,2635 }, {  91,2635 }, {  92,2893 }, {  93,2635 },
     756             :  {  94,2635 }, {  95,2635 }, {  96,2635 }, {  97,2635 }, {  98,2635 },
     757             : 
     758             :  {  99,2635 }, { 100,2635 }, { 101,2635 }, { 102,2635 }, { 103,2635 },
     759             :  { 104,2635 }, { 105,2635 }, { 106,2635 }, { 107,2635 }, { 108,2635 },
     760             :  { 109,2635 }, { 110,2635 }, { 111,2635 }, { 112,2635 }, { 113,2635 },
     761             :  { 114,2635 }, { 115,2635 }, { 116,2635 }, { 117,2635 }, { 118,2635 },
     762             :  { 119,2635 }, { 120,2635 }, { 121,2635 }, { 122,2635 }, { 123,2635 },
     763             :  { 124,2635 }, { 125,2635 }, { 126,2635 }, { 127,2635 }, { 128,2635 },
     764             :  { 129,2635 }, { 130,2635 }, { 131,2635 }, { 132,2635 }, { 133,2635 },
     765             :  { 134,2635 }, { 135,2635 }, { 136,2635 }, { 137,2635 }, { 138,2635 },
     766             :  { 139,2635 }, { 140,2635 }, { 141,2635 }, { 142,2635 }, { 143,2635 },
     767             :  { 144,2635 }, { 145,2635 }, { 146,2635 }, { 147,2635 }, { 148,2635 },
     768             : 
     769             :  { 149,2635 }, { 150,2635 }, { 151,2635 }, { 152,2635 }, { 153,2635 },
     770             :  { 154,2635 }, { 155,2635 }, { 156,2635 }, { 157,2635 }, { 158,2635 },
     771             :  { 159,2635 }, { 160,2635 }, { 161,2635 }, { 162,2635 }, { 163,2635 },
     772             :  { 164,2635 }, { 165,2635 }, { 166,2635 }, { 167,2635 }, { 168,2635 },
     773             :  { 169,2635 }, { 170,2635 }, { 171,2635 }, { 172,2635 }, { 173,2635 },
     774             :  { 174,2635 }, { 175,2635 }, { 176,2635 }, { 177,2635 }, { 178,2635 },
     775             :  { 179,2635 }, { 180,2635 }, { 181,2635 }, { 182,2635 }, { 183,2635 },
     776             :  { 184,2635 }, { 185,2635 }, { 186,2635 }, { 187,2635 }, { 188,2635 },
     777             :  { 189,2635 }, { 190,2635 }, { 191,2635 }, { 192,2635 }, { 193,2635 },
     778             :  { 194,2635 }, { 195,2635 }, { 196,2635 }, { 197,2635 }, { 198,2635 },
     779             : 
     780             :  { 199,2635 }, { 200,2635 }, { 201,2635 }, { 202,2635 }, { 203,2635 },
     781             :  { 204,2635 }, { 205,2635 }, { 206,2635 }, { 207,2635 }, { 208,2635 },
     782             :  { 209,2635 }, { 210,2635 }, { 211,2635 }, { 212,2635 }, { 213,2635 },
     783             :  { 214,2635 }, { 215,2635 }, { 216,2635 }, { 217,2635 }, { 218,2635 },
     784             :  { 219,2635 }, { 220,2635 }, { 221,2635 }, { 222,2635 }, { 223,2635 },
     785             :  { 224,2635 }, { 225,2635 }, { 226,2635 }, { 227,2635 }, { 228,2635 },
     786             :  { 229,2635 }, { 230,2635 }, { 231,2635 }, { 232,2635 }, { 233,2635 },
     787             :  { 234,2635 }, { 235,2635 }, { 236,2635 }, { 237,2635 }, { 238,2635 },
     788             :  { 239,2635 }, { 240,2635 }, { 241,2635 }, { 242,2635 }, { 243,2635 },
     789             :  { 244,2635 }, { 245,2635 }, { 246,2635 }, { 247,2635 }, { 248,2635 },
     790             : 
     791             :  { 249,2635 }, { 250,2635 }, { 251,2635 }, { 252,2635 }, { 253,2635 },
     792             :  { 254,2635 }, { 255,2635 }, { 256,2635 }, {   0,   0 }, {   0,7059 },
     793             :  {   1,2377 }, {   2,2377 }, {   3,2377 }, {   4,2377 }, {   5,2377 },
     794             :  {   6,2377 }, {   7,2377 }, {   8,2377 }, {   9,2377 }, {  10,2377 },
     795             :  {  11,2377 }, {  12,2377 }, {  13,2377 }, {  14,2377 }, {  15,2377 },
     796             :  {  16,2377 }, {  17,2377 }, {  18,2377 }, {  19,2377 }, {  20,2377 },
     797             :  {  21,2377 }, {  22,2377 }, {  23,2377 }, {  24,2377 }, {  25,2377 },
     798             :  {  26,2377 }, {  27,2377 }, {  28,2377 }, {  29,2377 }, {  30,2377 },
     799             :  {  31,2377 }, {  32,2377 }, {  33,2377 }, {  34,2371 }, {  35,2377 },
     800             :  {  36,2377 }, {  37,2377 }, {  38,2377 }, {  39,2377 }, {  40,2377 },
     801             : 
     802             :  {  41,2377 }, {  42,2377 }, {  43,2377 }, {  44,2377 }, {  45,2377 },
     803             :  {  46,2377 }, {  47,2377 }, {  48,2377 }, {  49,2377 }, {  50,2377 },
     804             :  {  51,2377 }, {  52,2377 }, {  53,2377 }, {  54,2377 }, {  55,2377 },
     805             :  {  56,2377 }, {  57,2377 }, {  58,2377 }, {  59,2377 }, {  60,2377 },
     806             :  {  61,2377 }, {  62,2377 }, {  63,2377 }, {  64,2377 }, {  65,2377 },
     807             :  {  66,2377 }, {  67,2377 }, {  68,2377 }, {  69,2377 }, {  70,2377 },
     808             :  {  71,2377 }, {  72,2377 }, {  73,2377 }, {  74,2377 }, {  75,2377 },
     809             :  {  76,2377 }, {  77,2377 }, {  78,2377 }, {  79,2377 }, {  80,2377 },
     810             :  {  81,2377 }, {  82,2377 }, {  83,2377 }, {  84,2377 }, {  85,2377 },
     811             :  {  86,2377 }, {  87,2377 }, {  88,2377 }, {  89,2377 }, {  90,2377 },
     812             : 
     813             :  {  91,2377 }, {  92,2635 }, {  93,2377 }, {  94,2377 }, {  95,2377 },
     814             :  {  96,2377 }, {  97,2377 }, {  98,2377 }, {  99,2377 }, { 100,2377 },
     815             :  { 101,2377 }, { 102,2377 }, { 103,2377 }, { 104,2377 }, { 105,2377 },
     816             :  { 106,2377 }, { 107,2377 }, { 108,2377 }, { 109,2377 }, { 110,2377 },
     817             :  { 111,2377 }, { 112,2377 }, { 113,2377 }, { 114,2377 }, { 115,2377 },
     818             :  { 116,2377 }, { 117,2377 }, { 118,2377 }, { 119,2377 }, { 120,2377 },
     819             :  { 121,2377 }, { 122,2377 }, { 123,2377 }, { 124,2377 }, { 125,2377 },
     820             :  { 126,2377 }, { 127,2377 }, { 128,2377 }, { 129,2377 }, { 130,2377 },
     821             :  { 131,2377 }, { 132,2377 }, { 133,2377 }, { 134,2377 }, { 135,2377 },
     822             :  { 136,2377 }, { 137,2377 }, { 138,2377 }, { 139,2377 }, { 140,2377 },
     823             : 
     824             :  { 141,2377 }, { 142,2377 }, { 143,2377 }, { 144,2377 }, { 145,2377 },
     825             :  { 146,2377 }, { 147,2377 }, { 148,2377 }, { 149,2377 }, { 150,2377 },
     826             :  { 151,2377 }, { 152,2377 }, { 153,2377 }, { 154,2377 }, { 155,2377 },
     827             :  { 156,2377 }, { 157,2377 }, { 158,2377 }, { 159,2377 }, { 160,2377 },
     828             :  { 161,2377 }, { 162,2377 }, { 163,2377 }, { 164,2377 }, { 165,2377 },
     829             :  { 166,2377 }, { 167,2377 }, { 168,2377 }, { 169,2377 }, { 170,2377 },
     830             :  { 171,2377 }, { 172,2377 }, { 173,2377 }, { 174,2377 }, { 175,2377 },
     831             :  { 176,2377 }, { 177,2377 }, { 178,2377 }, { 179,2377 }, { 180,2377 },
     832             :  { 181,2377 }, { 182,2377 }, { 183,2377 }, { 184,2377 }, { 185,2377 },
     833             :  { 186,2377 }, { 187,2377 }, { 188,2377 }, { 189,2377 }, { 190,2377 },
     834             : 
     835             :  { 191,2377 }, { 192,2377 }, { 193,2377 }, { 194,2377 }, { 195,2377 },
     836             :  { 196,2377 }, { 197,2377 }, { 198,2377 }, { 199,2377 }, { 200,2377 },
     837             :  { 201,2377 }, { 202,2377 }, { 203,2377 }, { 204,2377 }, { 205,2377 },
     838             :  { 206,2377 }, { 207,2377 }, { 208,2377 }, { 209,2377 }, { 210,2377 },
     839             :  { 211,2377 }, { 212,2377 }, { 213,2377 }, { 214,2377 }, { 215,2377 },
     840             :  { 216,2377 }, { 217,2377 }, { 218,2377 }, { 219,2377 }, { 220,2377 },
     841             :  { 221,2377 }, { 222,2377 }, { 223,2377 }, { 224,2377 }, { 225,2377 },
     842             :  { 226,2377 }, { 227,2377 }, { 228,2377 }, { 229,2377 }, { 230,2377 },
     843             :  { 231,2377 }, { 232,2377 }, { 233,2377 }, { 234,2377 }, { 235,2377 },
     844             :  { 236,2377 }, { 237,2377 }, { 238,2377 }, { 239,2377 }, { 240,2377 },
     845             : 
     846             :  { 241,2377 }, { 242,2377 }, { 243,2377 }, { 244,2377 }, { 245,2377 },
     847             :  { 246,2377 }, { 247,2377 }, { 248,2377 }, { 249,2377 }, { 250,2377 },
     848             :  { 251,2377 }, { 252,2377 }, { 253,2377 }, { 254,2377 }, { 255,2377 },
     849             :  { 256,2377 }, {   0,   0 }, {   0,6801 }, {   1,2927 }, {   2,2927 },
     850             :  {   3,2927 }, {   4,2927 }, {   5,2927 }, {   6,2927 }, {   7,2927 },
     851             :  {   8,2927 }, {   9,2927 }, {  10,2927 }, {  11,2927 }, {  12,2927 },
     852             :  {  13,2927 }, {  14,2927 }, {  15,2927 }, {  16,2927 }, {  17,2927 },
     853             :  {  18,2927 }, {  19,2927 }, {  20,2927 }, {  21,2927 }, {  22,2927 },
     854             :  {  23,2927 }, {  24,2927 }, {  25,2927 }, {  26,2927 }, {  27,2927 },
     855             :  {  28,2927 }, {  29,2927 }, {  30,2927 }, {  31,2927 }, {  32,2927 },
     856             : 
     857             :  {  33,2927 }, {  34,2927 }, {  35,2927 }, {  36,2927 }, {  37,2927 },
     858             :  {  38,2927 }, {  39,2115 }, {  40,2927 }, {  41,2927 }, {  42,2927 },
     859             :  {  43,2927 }, {  44,2927 }, {  45,2927 }, {  46,2927 }, {  47,2927 },
     860             :  {  48,2927 }, {  49,2927 }, {  50,2927 }, {  51,2927 }, {  52,2927 },
     861             :  {  53,2927 }, {  54,2927 }, {  55,2927 }, {  56,2927 }, {  57,2927 },
     862             :  {  58,2927 }, {  59,2927 }, {  60,2927 }, {  61,2927 }, {  62,2927 },
     863             :  {  63,2927 }, {  64,2927 }, {  65,2927 }, {  66,2927 }, {  67,2927 },
     864             :  {  68,2927 }, {  69,2927 }, {  70,2927 }, {  71,2927 }, {  72,2927 },
     865             :  {  73,2927 }, {  74,2927 }, {  75,2927 }, {  76,2927 }, {  77,2927 },
     866             :  {  78,2927 }, {  79,2927 }, {  80,2927 }, {  81,2927 }, {  82,2927 },
     867             : 
     868             :  {  83,2927 }, {  84,2927 }, {  85,2927 }, {  86,2927 }, {  87,2927 },
     869             :  {  88,2927 }, {  89,2927 }, {  90,2927 }, {  91,2927 }, {  92,2377 },
     870             :  {  93,2927 }, {  94,2927 }, {  95,2927 }, {  96,2927 }, {  97,2927 },
     871             :  {  98,2927 }, {  99,2927 }, { 100,2927 }, { 101,2927 }, { 102,2927 },
     872             :  { 103,2927 }, { 104,2927 }, { 105,2927 }, { 106,2927 }, { 107,2927 },
     873             :  { 108,2927 }, { 109,2927 }, { 110,2927 }, { 111,2927 }, { 112,2927 },
     874             :  { 113,2927 }, { 114,2927 }, { 115,2927 }, { 116,2927 }, { 117,2927 },
     875             :  { 118,2927 }, { 119,2927 }, { 120,2927 }, { 121,2927 }, { 122,2927 },
     876             :  { 123,2927 }, { 124,2927 }, { 125,2927 }, { 126,2927 }, { 127,2927 },
     877             :  { 128,2927 }, { 129,2927 }, { 130,2927 }, { 131,2927 }, { 132,2927 },
     878             : 
     879             :  { 133,2927 }, { 134,2927 }, { 135,2927 }, { 136,2927 }, { 137,2927 },
     880             :  { 138,2927 }, { 139,2927 }, { 140,2927 }, { 141,2927 }, { 142,2927 },
     881             :  { 143,2927 }, { 144,2927 }, { 145,2927 }, { 146,2927 }, { 147,2927 },
     882             :  { 148,2927 }, { 149,2927 }, { 150,2927 }, { 151,2927 }, { 152,2927 },
     883             :  { 153,2927 }, { 154,2927 }, { 155,2927 }, { 156,2927 }, { 157,2927 },
     884             :  { 158,2927 }, { 159,2927 }, { 160,2927 }, { 161,2927 }, { 162,2927 },
     885             :  { 163,2927 }, { 164,2927 }, { 165,2927 }, { 166,2927 }, { 167,2927 },
     886             :  { 168,2927 }, { 169,2927 }, { 170,2927 }, { 171,2927 }, { 172,2927 },
     887             :  { 173,2927 }, { 174,2927 }, { 175,2927 }, { 176,2927 }, { 177,2927 },
     888             :  { 178,2927 }, { 179,2927 }, { 180,2927 }, { 181,2927 }, { 182,2927 },
     889             : 
     890             :  { 183,2927 }, { 184,2927 }, { 185,2927 }, { 186,2927 }, { 187,2927 },
     891             :  { 188,2927 }, { 189,2927 }, { 190,2927 }, { 191,2927 }, { 192,2927 },
     892             :  { 193,2927 }, { 194,2927 }, { 195,2927 }, { 196,2927 }, { 197,2927 },
     893             :  { 198,2927 }, { 199,2927 }, { 200,2927 }, { 201,2927 }, { 202,2927 },
     894             :  { 203,2927 }, { 204,2927 }, { 205,2927 }, { 206,2927 }, { 207,2927 },
     895             :  { 208,2927 }, { 209,2927 }, { 210,2927 }, { 211,2927 }, { 212,2927 },
     896             :  { 213,2927 }, { 214,2927 }, { 215,2927 }, { 216,2927 }, { 217,2927 },
     897             :  { 218,2927 }, { 219,2927 }, { 220,2927 }, { 221,2927 }, { 222,2927 },
     898             :  { 223,2927 }, { 224,2927 }, { 225,2927 }, { 226,2927 }, { 227,2927 },
     899             :  { 228,2927 }, { 229,2927 }, { 230,2927 }, { 231,2927 }, { 232,2927 },
     900             : 
     901             :  { 233,2927 }, { 234,2927 }, { 235,2927 }, { 236,2927 }, { 237,2927 },
     902             :  { 238,2927 }, { 239,2927 }, { 240,2927 }, { 241,2927 }, { 242,2927 },
     903             :  { 243,2927 }, { 244,2927 }, { 245,2927 }, { 246,2927 }, { 247,2927 },
     904             :  { 248,2927 }, { 249,2927 }, { 250,2927 }, { 251,2927 }, { 252,2927 },
     905             :  { 253,2927 }, { 254,2927 }, { 255,2927 }, { 256,2927 }, {   0,   0 },
     906             :  {   0,6543 }, {   1,2669 }, {   2,2669 }, {   3,2669 }, {   4,2669 },
     907             :  {   5,2669 }, {   6,2669 }, {   7,2669 }, {   8,2669 }, {   9,2669 },
     908             :  {  10,2669 }, {  11,2669 }, {  12,2669 }, {  13,2669 }, {  14,2669 },
     909             :  {  15,2669 }, {  16,2669 }, {  17,2669 }, {  18,2669 }, {  19,2669 },
     910             :  {  20,2669 }, {  21,2669 }, {  22,2669 }, {  23,2669 }, {  24,2669 },
     911             : 
     912             :  {  25,2669 }, {  26,2669 }, {  27,2669 }, {  28,2669 }, {  29,2669 },
     913             :  {  30,2669 }, {  31,2669 }, {  32,2669 }, {  33,2669 }, {  34,2669 },
     914             :  {  35,2669 }, {  36,2669 }, {  37,2669 }, {  38,2669 }, {  39,1857 },
     915             :  {  40,2669 }, {  41,2669 }, {  42,2669 }, {  43,2669 }, {  44,2669 },
     916             :  {  45,2669 }, {  46,2669 }, {  47,2669 }, {  48,2669 }, {  49,2669 },
     917             :  {  50,2669 }, {  51,2669 }, {  52,2669 }, {  53,2669 }, {  54,2669 },
     918             :  {  55,2669 }, {  56,2669 }, {  57,2669 }, {  58,2669 }, {  59,2669 },
     919             :  {  60,2669 }, {  61,2669 }, {  62,2669 }, {  63,2669 }, {  64,2669 },
     920             :  {  65,2669 }, {  66,2669 }, {  67,2669 }, {  68,2669 }, {  69,2669 },
     921             :  {  70,2669 }, {  71,2669 }, {  72,2669 }, {  73,2669 }, {  74,2669 },
     922             : 
     923             :  {  75,2669 }, {  76,2669 }, {  77,2669 }, {  78,2669 }, {  79,2669 },
     924             :  {  80,2669 }, {  81,2669 }, {  82,2669 }, {  83,2669 }, {  84,2669 },
     925             :  {  85,2669 }, {  86,2669 }, {  87,2669 }, {  88,2669 }, {  89,2669 },
     926             :  {  90,2669 }, {  91,2669 }, {  92,2119 }, {  93,2669 }, {  94,2669 },
     927             :  {  95,2669 }, {  96,2669 }, {  97,2669 }, {  98,2669 }, {  99,2669 },
     928             :  { 100,2669 }, { 101,2669 }, { 102,2669 }, { 103,2669 }, { 104,2669 },
     929             :  { 105,2669 }, { 106,2669 }, { 107,2669 }, { 108,2669 }, { 109,2669 },
     930             :  { 110,2669 }, { 111,2669 }, { 112,2669 }, { 113,2669 }, { 114,2669 },
     931             :  { 115,2669 }, { 116,2669 }, { 117,2669 }, { 118,2669 }, { 119,2669 },
     932             :  { 120,2669 }, { 121,2669 }, { 122,2669 }, { 123,2669 }, { 124,2669 },
     933             : 
     934             :  { 125,2669 }, { 126,2669 }, { 127,2669 }, { 128,2669 }, { 129,2669 },
     935             :  { 130,2669 }, { 131,2669 }, { 132,2669 }, { 133,2669 }, { 134,2669 },
     936             :  { 135,2669 }, { 136,2669 }, { 137,2669 }, { 138,2669 }, { 139,2669 },
     937             :  { 140,2669 }, { 141,2669 }, { 142,2669 }, { 143,2669 }, { 144,2669 },
     938             :  { 145,2669 }, { 146,2669 }, { 147,2669 }, { 148,2669 }, { 149,2669 },
     939             :  { 150,2669 }, { 151,2669 }, { 152,2669 }, { 153,2669 }, { 154,2669 },
     940             :  { 155,2669 }, { 156,2669 }, { 157,2669 }, { 158,2669 }, { 159,2669 },
     941             :  { 160,2669 }, { 161,2669 }, { 162,2669 }, { 163,2669 }, { 164,2669 },
     942             :  { 165,2669 }, { 166,2669 }, { 167,2669 }, { 168,2669 }, { 169,2669 },
     943             :  { 170,2669 }, { 171,2669 }, { 172,2669 }, { 173,2669 }, { 174,2669 },
     944             : 
     945             :  { 175,2669 }, { 176,2669 }, { 177,2669 }, { 178,2669 }, { 179,2669 },
     946             :  { 180,2669 }, { 181,2669 }, { 182,2669 }, { 183,2669 }, { 184,2669 },
     947             :  { 185,2669 }, { 186,2669 }, { 187,2669 }, { 188,2669 }, { 189,2669 },
     948             :  { 190,2669 }, { 191,2669 }, { 192,2669 }, { 193,2669 }, { 194,2669 },
     949             :  { 195,2669 }, { 196,2669 }, { 197,2669 }, { 198,2669 }, { 199,2669 },
     950             :  { 200,2669 }, { 201,2669 }, { 202,2669 }, { 203,2669 }, { 204,2669 },
     951             :  { 205,2669 }, { 206,2669 }, { 207,2669 }, { 208,2669 }, { 209,2669 },
     952             :  { 210,2669 }, { 211,2669 }, { 212,2669 }, { 213,2669 }, { 214,2669 },
     953             :  { 215,2669 }, { 216,2669 }, { 217,2669 }, { 218,2669 }, { 219,2669 },
     954             :  { 220,2669 }, { 221,2669 }, { 222,2669 }, { 223,2669 }, { 224,2669 },
     955             : 
     956             :  { 225,2669 }, { 226,2669 }, { 227,2669 }, { 228,2669 }, { 229,2669 },
     957             :  { 230,2669 }, { 231,2669 }, { 232,2669 }, { 233,2669 }, { 234,2669 },
     958             :  { 235,2669 }, { 236,2669 }, { 237,2669 }, { 238,2669 }, { 239,2669 },
     959             :  { 240,2669 }, { 241,2669 }, { 242,2669 }, { 243,2669 }, { 244,2669 },
     960             :  { 245,2669 }, { 246,2669 }, { 247,2669 }, { 248,2669 }, { 249,2669 },
     961             :  { 250,2669 }, { 251,2669 }, { 252,2669 }, { 253,2669 }, { 254,2669 },
     962             :  { 255,2669 }, { 256,2669 }, {   0,   0 }, {   0,6285 }, {   1,2669 },
     963             :  {   2,2669 }, {   3,2669 }, {   4,2669 }, {   5,2669 }, {   6,2669 },
     964             :  {   7,2669 }, {   8,2669 }, {   9,2669 }, {  10,2669 }, {  11,2669 },
     965             :  {  12,2669 }, {  13,2669 }, {  14,2669 }, {  15,2669 }, {  16,2669 },
     966             : 
     967             :  {  17,2669 }, {  18,2669 }, {  19,2669 }, {  20,2669 }, {  21,2669 },
     968             :  {  22,2669 }, {  23,2669 }, {  24,2669 }, {  25,2669 }, {  26,2669 },
     969             :  {  27,2669 }, {  28,2669 }, {  29,2669 }, {  30,2669 }, {  31,2669 },
     970             :  {  32,2669 }, {  33,2669 }, {  34,2669 }, {  35,2669 }, {  36,2669 },
     971             :  {  37,2669 }, {  38,2669 }, {  39,2669 }, {  40,2669 }, {  41,2669 },
     972             :  {  42,2132 }, {  43,2669 }, {  44,2669 }, {  45,2669 }, {  46,2669 },
     973             :  {  47,2669 }, {  48,2669 }, {  49,2669 }, {  50,2669 }, {  51,2669 },
     974             :  {  52,2669 }, {  53,2669 }, {  54,2669 }, {  55,2669 }, {  56,2669 },
     975             :  {  57,2669 }, {  58,2669 }, {  59,2669 }, {  60,2669 }, {  61,2669 },
     976             :  {  62,2669 }, {  63,2669 }, {  64,2669 }, {  65,2669 }, {  66,2669 },
     977             : 
     978             :  {  67,2669 }, {  68,2669 }, {  69,2669 }, {  70,2669 }, {  71,2669 },
     979             :  {  72,2669 }, {  73,2669 }, {  74,2669 }, {  75,2669 }, {  76,2669 },
     980             :  {  77,2669 }, {  78,2669 }, {  79,2669 }, {  80,2669 }, {  81,2669 },
     981             :  {  82,2669 }, {  83,2669 }, {  84,2669 }, {  85,2669 }, {  86,2669 },
     982             :  {  87,2669 }, {  88,2669 }, {  89,2669 }, {  90,2669 }, {  91,2669 },
     983             :  {  92,2669 }, {  93,2669 }, {  94,2669 }, {  95,2669 }, {  96,2669 },
     984             :  {  97,2669 }, {  98,2669 }, {  99,2669 }, { 100,2669 }, { 101,2669 },
     985             :  { 102,2669 }, { 103,2669 }, { 104,2669 }, { 105,2669 }, { 106,2669 },
     986             :  { 107,2669 }, { 108,2669 }, { 109,2669 }, { 110,2669 }, { 111,2669 },
     987             :  { 112,2669 }, { 113,2669 }, { 114,2669 }, { 115,2669 }, { 116,2669 },
     988             : 
     989             :  { 117,2669 }, { 118,2669 }, { 119,2669 }, { 120,2669 }, { 121,2669 },
     990             :  { 122,2669 }, { 123,2669 }, { 124,2669 }, { 125,2669 }, { 126,2669 },
     991             :  { 127,2669 }, { 128,2669 }, { 129,2669 }, { 130,2669 }, { 131,2669 },
     992             :  { 132,2669 }, { 133,2669 }, { 134,2669 }, { 135,2669 }, { 136,2669 },
     993             :  { 137,2669 }, { 138,2669 }, { 139,2669 }, { 140,2669 }, { 141,2669 },
     994             :  { 142,2669 }, { 143,2669 }, { 144,2669 }, { 145,2669 }, { 146,2669 },
     995             :  { 147,2669 }, { 148,2669 }, { 149,2669 }, { 150,2669 }, { 151,2669 },
     996             :  { 152,2669 }, { 153,2669 }, { 154,2669 }, { 155,2669 }, { 156,2669 },
     997             :  { 157,2669 }, { 158,2669 }, { 159,2669 }, { 160,2669 }, { 161,2669 },
     998             :  { 162,2669 }, { 163,2669 }, { 164,2669 }, { 165,2669 }, { 166,2669 },
     999             : 
    1000             :  { 167,2669 }, { 168,2669 }, { 169,2669 }, { 170,2669 }, { 171,2669 },
    1001             :  { 172,2669 }, { 173,2669 }, { 174,2669 }, { 175,2669 }, { 176,2669 },
    1002             :  { 177,2669 }, { 178,2669 }, { 179,2669 }, { 180,2669 }, { 181,2669 },
    1003             :  { 182,2669 }, { 183,2669 }, { 184,2669 }, { 185,2669 }, { 186,2669 },
    1004             :  { 187,2669 }, { 188,2669 }, { 189,2669 }, { 190,2669 }, { 191,2669 },
    1005             :  { 192,2669 }, { 193,2669 }, { 194,2669 }, { 195,2669 }, { 196,2669 },
    1006             :  { 197,2669 }, { 198,2669 }, { 199,2669 }, { 200,2669 }, { 201,2669 },
    1007             :  { 202,2669 }, { 203,2669 }, { 204,2669 }, { 205,2669 }, { 206,2669 },
    1008             :  { 207,2669 }, { 208,2669 }, { 209,2669 }, { 210,2669 }, { 211,2669 },
    1009             :  { 212,2669 }, { 213,2669 }, { 214,2669 }, { 215,2669 }, { 216,2669 },
    1010             : 
    1011             :  { 217,2669 }, { 218,2669 }, { 219,2669 }, { 220,2669 }, { 221,2669 },
    1012             :  { 222,2669 }, { 223,2669 }, { 224,2669 }, { 225,2669 }, { 226,2669 },
    1013             :  { 227,2669 }, { 228,2669 }, { 229,2669 }, { 230,2669 }, { 231,2669 },
    1014             :  { 232,2669 }, { 233,2669 }, { 234,2669 }, { 235,2669 }, { 236,2669 },
    1015             :  { 237,2669 }, { 238,2669 }, { 239,2669 }, { 240,2669 }, { 241,2669 },
    1016             :  { 242,2669 }, { 243,2669 }, { 244,2669 }, { 245,2669 }, { 246,2669 },
    1017             :  { 247,2669 }, { 248,2669 }, { 249,2669 }, { 250,2669 }, { 251,2669 },
    1018             :  { 252,2669 }, { 253,2669 }, { 254,2669 }, { 255,2669 }, { 256,2669 },
    1019             :  {   0,   0 }, {   0,6027 }, {   1,2411 }, {   2,2411 }, {   3,2411 },
    1020             :  {   4,2411 }, {   5,2411 }, {   6,2411 }, {   7,2411 }, {   8,2411 },
    1021             : 
    1022             :  {   9,2411 }, {  10,2411 }, {  11,2411 }, {  12,2411 }, {  13,2411 },
    1023             :  {  14,2411 }, {  15,2411 }, {  16,2411 }, {  17,2411 }, {  18,2411 },
    1024             :  {  19,2411 }, {  20,2411 }, {  21,2411 }, {  22,2411 }, {  23,2411 },
    1025             :  {  24,2411 }, {  25,2411 }, {  26,2411 }, {  27,2411 }, {  28,2411 },
    1026             :  {  29,2411 }, {  30,2411 }, {  31,2411 }, {  32,2411 }, {  33,2411 },
    1027             :  {  34,2411 }, {  35,2411 }, {  36,2411 }, {  37,2411 }, {  38,2411 },
    1028             :  {  39,2411 }, {  40,2411 }, {  41,2411 }, {  42,1874 }, {  43,2411 },
    1029             :  {  44,2411 }, {  45,2411 }, {  46,2411 }, {  47,2411 }, {  48,2411 },
    1030             :  {  49,2411 }, {  50,2411 }, {  51,2411 }, {  52,2411 }, {  53,2411 },
    1031             :  {  54,2411 }, {  55,2411 }, {  56,2411 }, {  57,2411 }, {  58,2411 },
    1032             : 
    1033             :  {  59,2411 }, {  60,2411 }, {  61,2411 }, {  62,2411 }, {  63,2411 },
    1034             :  {  64,2411 }, {  65,2411 }, {  66,2411 }, {  67,2411 }, {  68,2411 },
    1035             :  {  69,2411 }, {  70,2411 }, {  71,2411 }, {  72,2411 }, {  73,2411 },
    1036             :  {  74,2411 }, {  75,2411 }, {  76,2411 }, {  77,2411 }, {  78,2411 },
    1037             :  {  79,2411 }, {  80,2411 }, {  81,2411 }, {  82,2411 }, {  83,2411 },
    1038             :  {  84,2411 }, {  85,2411 }, {  86,2411 }, {  87,2411 }, {  88,2411 },
    1039             :  {  89,2411 }, {  90,2411 }, {  91,2411 }, {  92,2411 }, {  93,2411 },
    1040             :  {  94,2411 }, {  95,2411 }, {  96,2411 }, {  97,2411 }, {  98,2411 },
    1041             :  {  99,2411 }, { 100,2411 }, { 101,2411 }, { 102,2411 }, { 103,2411 },
    1042             :  { 104,2411 }, { 105,2411 }, { 106,2411 }, { 107,2411 }, { 108,2411 },
    1043             : 
    1044             :  { 109,2411 }, { 110,2411 }, { 111,2411 }, { 112,2411 }, { 113,2411 },
    1045             :  { 114,2411 }, { 115,2411 }, { 116,2411 }, { 117,2411 }, { 118,2411 },
    1046             :  { 119,2411 }, { 120,2411 }, { 121,2411 }, { 122,2411 }, { 123,2411 },
    1047             :  { 124,2411 }, { 125,2411 }, { 126,2411 }, { 127,2411 }, { 128,2411 },
    1048             :  { 129,2411 }, { 130,2411 }, { 131,2411 }, { 132,2411 }, { 133,2411 },
    1049             :  { 134,2411 }, { 135,2411 }, { 136,2411 }, { 137,2411 }, { 138,2411 },
    1050             :  { 139,2411 }, { 140,2411 }, { 141,2411 }, { 142,2411 }, { 143,2411 },
    1051             :  { 144,2411 }, { 145,2411 }, { 146,2411 }, { 147,2411 }, { 148,2411 },
    1052             :  { 149,2411 }, { 150,2411 }, { 151,2411 }, { 152,2411 }, { 153,2411 },
    1053             :  { 154,2411 }, { 155,2411 }, { 156,2411 }, { 157,2411 }, { 158,2411 },
    1054             : 
    1055             :  { 159,2411 }, { 160,2411 }, { 161,2411 }, { 162,2411 }, { 163,2411 },
    1056             :  { 164,2411 }, { 165,2411 }, { 166,2411 }, { 167,2411 }, { 168,2411 },
    1057             :  { 169,2411 }, { 170,2411 }, { 171,2411 }, { 172,2411 }, { 173,2411 },
    1058             :  { 174,2411 }, { 175,2411 }, { 176,2411 }, { 177,2411 }, { 178,2411 },
    1059             :  { 179,2411 }, { 180,2411 }, { 181,2411 }, { 182,2411 }, { 183,2411 },
    1060             :  { 184,2411 }, { 185,2411 }, { 186,2411 }, { 187,2411 }, { 188,2411 },
    1061             :  { 189,2411 }, { 190,2411 }, { 191,2411 }, { 192,2411 }, { 193,2411 },
    1062             :  { 194,2411 }, { 195,2411 }, { 196,2411 }, { 197,2411 }, { 198,2411 },
    1063             :  { 199,2411 }, { 200,2411 }, { 201,2411 }, { 202,2411 }, { 203,2411 },
    1064             :  { 204,2411 }, { 205,2411 }, { 206,2411 }, { 207,2411 }, { 208,2411 },
    1065             : 
    1066             :  { 209,2411 }, { 210,2411 }, { 211,2411 }, { 212,2411 }, { 213,2411 },
    1067             :  { 214,2411 }, { 215,2411 }, { 216,2411 }, { 217,2411 }, { 218,2411 },
    1068             :  { 219,2411 }, { 220,2411 }, { 221,2411 }, { 222,2411 }, { 223,2411 },
    1069             :  { 224,2411 }, { 225,2411 }, { 226,2411 }, { 227,2411 }, { 228,2411 },
    1070             :  { 229,2411 }, { 230,2411 }, { 231,2411 }, { 232,2411 }, { 233,2411 },
    1071             :  { 234,2411 }, { 235,2411 }, { 236,2411 }, { 237,2411 }, { 238,2411 },
    1072             :  { 239,2411 }, { 240,2411 }, { 241,2411 }, { 242,2411 }, { 243,2411 },
    1073             :  { 244,2411 }, { 245,2411 }, { 246,2411 }, { 247,2411 }, { 248,2411 },
    1074             :  { 249,2411 }, { 250,2411 }, { 251,2411 }, { 252,2411 }, { 253,2411 },
    1075             :  { 254,2411 }, { 255,2411 }, { 256,2411 }, {   0,  48 }, {   0,5769 },
    1076             : 
    1077             :  {   1,2411 }, {   2,2411 }, {   3,2411 }, {   4,2411 }, {   5,2411 },
    1078             :  {   6,2411 }, {   7,2411 }, {   8,2411 }, {   0,   0 }, {   0,   0 },
    1079             :  {  11,2411 }, {   0,   0 }, {   0,   0 }, {  14,2411 }, {  15,2411 },
    1080             :  {  16,2411 }, {  17,2411 }, {  18,2411 }, {  19,2411 }, {  20,2411 },
    1081             :  {  21,2411 }, {  22,2411 }, {  23,2411 }, {  24,2411 }, {  25,2411 },
    1082             :  {  26,2411 }, {  27,2411 }, {  28,2411 }, {  29,2411 }, {  30,2411 },
    1083             :  {  31,2411 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1084             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1085             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1086             :  {   0,   0 }, {   0,   0 }, {  48,2411 }, {  49,2411 }, {  50,2411 },
    1087             : 
    1088             :  {  51,2411 }, {  52,2411 }, {  53,2411 }, {  54,2411 }, {  55,2411 },
    1089             :  {  56,2411 }, {  57,2411 }, {   0,   0 }, {  59,2411 }, {   0,   0 },
    1090             :  {   0,  29 }, {   0,5707 }, {   0,  49 }, {   0,5705 }, {  65,2411 },
    1091             :  {  66,2411 }, {  67,2411 }, {  68,2411 }, {  69,2411 }, {  70,2411 },
    1092             :  {  71,2411 }, {  72,2411 }, {  73,2411 }, {  74,2411 }, {  75,2411 },
    1093             :  {  76,2411 }, {  77,2411 }, {  78,2411 }, {  79,2411 }, {  80,2411 },
    1094             :  {  81,2411 }, {  82,2411 }, {  83,2411 }, {  84,2411 }, {  85,2411 },
    1095             :  {  86,2411 }, {  87,2411 }, {  88,2411 }, {  89,2411 }, {  90,2411 },
    1096             :  {   0,  40 }, {   0,5677 }, {   0,   0 }, {  94,2411 }, {  95,2411 },
    1097             :  {  96,2411 }, {  97,2411 }, {  98,2411 }, {  99,2411 }, { 100,2411 },
    1098             : 
    1099             :  { 101,2411 }, { 102,2411 }, { 103,2411 }, { 104,2411 }, { 105,2411 },
    1100             :  { 106,2411 }, { 107,2411 }, { 108,2411 }, { 109,2411 }, { 110,2411 },
    1101             :  { 111,2411 }, { 112,2411 }, { 113,2411 }, { 114,2411 }, { 115,2411 },
    1102             :  { 116,2411 }, { 117,2411 }, { 118,2411 }, { 119,2411 }, { 120,2411 },
    1103             :  { 121,2411 }, { 122,2411 }, {  61,1574 }, {   0,   0 }, {   0,   0 },
    1104             :  { 126,2411 }, { 127,2411 }, { 128,2411 }, { 129,2411 }, { 130,2411 },
    1105             :  { 131,2411 }, { 132,2411 }, { 133,2411 }, { 134,2411 }, { 135,2411 },
    1106             :  { 136,2411 }, { 137,2411 }, { 138,2411 }, { 139,2411 }, { 140,2411 },
    1107             :  { 141,2411 }, { 142,2411 }, { 143,2411 }, { 144,2411 }, { 145,2411 },
    1108             :  { 146,2411 }, { 147,2411 }, { 148,2411 }, { 149,2411 }, { 150,2411 },
    1109             : 
    1110             :  { 151,2411 }, { 152,2411 }, { 153,2411 }, { 154,2411 }, { 155,2411 },
    1111             :  { 156,2411 }, { 157,2411 }, { 158,2411 }, { 159,2411 }, { 160,2411 },
    1112             :  { 161,2411 }, { 162,2411 }, { 163,2411 }, { 164,2411 }, { 165,2411 },
    1113             :  { 166,2411 }, { 167,2411 }, { 168,2411 }, { 169,2411 }, { 170,2411 },
    1114             :  { 171,2411 }, { 172,2411 }, { 173,2411 }, { 174,2411 }, { 175,2411 },
    1115             :  { 176,2411 }, { 177,2411 }, { 178,2411 }, { 179,2411 }, { 180,2411 },
    1116             :  { 181,2411 }, { 182,2411 }, { 183,2411 }, { 184,2411 }, { 185,2411 },
    1117             :  { 186,2411 }, { 187,2411 }, { 188,2411 }, { 189,2411 }, { 190,2411 },
    1118             :  { 191,2411 }, { 192,2411 }, { 193,2411 }, { 194,2411 }, { 195,2411 },
    1119             :  { 196,2411 }, { 197,2411 }, { 198,2411 }, { 199,2411 }, { 200,2411 },
    1120             : 
    1121             :  { 201,2411 }, { 202,2411 }, { 203,2411 }, { 204,2411 }, { 205,2411 },
    1122             :  { 206,2411 }, { 207,2411 }, { 208,2411 }, { 209,2411 }, { 210,2411 },
    1123             :  { 211,2411 }, { 212,2411 }, { 213,2411 }, { 214,2411 }, { 215,2411 },
    1124             :  { 216,2411 }, { 217,2411 }, { 218,2411 }, { 219,2411 }, { 220,2411 },
    1125             :  { 221,2411 }, { 222,2411 }, { 223,2411 }, { 224,2411 }, { 225,2411 },
    1126             :  { 226,2411 }, { 227,2411 }, { 228,2411 }, { 229,2411 }, { 230,2411 },
    1127             :  { 231,2411 }, { 232,2411 }, { 233,2411 }, { 234,2411 }, { 235,2411 },
    1128             :  { 236,2411 }, { 237,2411 }, { 238,2411 }, { 239,2411 }, { 240,2411 },
    1129             :  { 241,2411 }, { 242,2411 }, { 243,2411 }, { 244,2411 }, { 245,2411 },
    1130             :  { 246,2411 }, { 247,2411 }, { 248,2411 }, { 249,2411 }, { 250,2411 },
    1131             : 
    1132             :  { 251,2411 }, { 252,2411 }, { 253,2411 }, { 254,2411 }, { 255,2411 },
    1133             :  { 256,2411 }, {   0,  41 }, {   0,5511 }, {   0,   0 }, {   0,   0 },
    1134             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1135             :  {   0,   0 }, {   9,2411 }, {  10,2411 }, {   0,   0 }, {  12,2411 },
    1136             :  {  13,2411 }, {   0,   0 }, {   0,  40 }, {   0,5495 }, {   0,   0 },
    1137             :  {   0,  40 }, {   0,5492 }, {   1,2411 }, {   2,2411 }, {   3,2411 },
    1138             :  {   4,2411 }, {   5,2411 }, {   6,2411 }, {   7,2411 }, {   8,2411 },
    1139             :  {   0,  50 }, {   0,5482 }, {  11,2411 }, {   0,   0 }, {  32,2411 },
    1140             :  {  14,2411 }, {  15,2411 }, {  16,2411 }, {  17,2411 }, {  18,2411 },
    1141             :  {  19,2411 }, {  20,2411 }, {  21,2411 }, {  22,2411 }, {  23,2411 },
    1142             : 
    1143             :  {  24,2411 }, {  25,2411 }, {  26,2411 }, {  27,2411 }, {  28,2411 },
    1144             :  {  29,2411 }, {  30,2411 }, {  31,2411 }, {   0,   0 }, {   0,   0 },
    1145             :  {  34,1361 }, {  38,1366 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1146             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1147             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,2411 },
    1148             :  {  49,2411 }, {  50,2411 }, {  51,2411 }, {  52,2411 }, {  53,2411 },
    1149             :  {  54,2411 }, {  55,2411 }, {  56,2411 }, {  57,2411 }, {   0,   0 },
    1150             :  {  59,2411 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1151             :  {   0,   0 }, {  65,2411 }, {  66,2411 }, {  67,2411 }, {  68,2411 },
    1152             :  {  69,2411 }, {  70,2411 }, {  71,2411 }, {  72,2411 }, {  73,2411 },
    1153             : 
    1154             :  {  74,2411 }, {  75,2411 }, {  76,2411 }, {  77,2411 }, {  78,2411 },
    1155             :  {  79,2411 }, {  80,2411 }, {  81,2411 }, {  82,2411 }, {  83,2411 },
    1156             :  {  84,2411 }, {  85,2411 }, {  86,2411 }, {  87,2411 }, {  88,2411 },
    1157             :  {  89,2411 }, {  90,2411 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1158             :  {  94,2411 }, {  95,2411 }, {  96,2411 }, {  97,2411 }, {  98,2411 },
    1159             :  {  99,2411 }, { 100,2411 }, { 101,2411 }, { 102,2411 }, { 103,2411 },
    1160             :  { 104,2411 }, { 105,2411 }, { 106,2411 }, { 107,2411 }, { 108,2411 },
    1161             :  { 109,2411 }, { 110,2411 }, { 111,2411 }, { 112,2411 }, { 113,2411 },
    1162             :  { 114,2411 }, { 115,2411 }, { 116,2411 }, { 117,2411 }, { 118,2411 },
    1163             :  { 119,2411 }, { 120,2411 }, { 121,2411 }, { 122,2411 }, {   0,   0 },
    1164             : 
    1165             :  {   0,   0 }, {   0,   0 }, { 126,2411 }, { 127,2411 }, { 128,2411 },
    1166             :  { 129,2411 }, { 130,2411 }, { 131,2411 }, { 132,2411 }, { 133,2411 },
    1167             :  { 134,2411 }, { 135,2411 }, { 136,2411 }, { 137,2411 }, { 138,2411 },
    1168             :  { 139,2411 }, { 140,2411 }, { 141,2411 }, { 142,2411 }, { 143,2411 },
    1169             :  { 144,2411 }, { 145,2411 }, { 146,2411 }, { 147,2411 }, { 148,2411 },
    1170             :  { 149,2411 }, { 150,2411 }, { 151,2411 }, { 152,2411 }, { 153,2411 },
    1171             :  { 154,2411 }, { 155,2411 }, { 156,2411 }, { 157,2411 }, { 158,2411 },
    1172             :  { 159,2411 }, { 160,2411 }, { 161,2411 }, { 162,2411 }, { 163,2411 },
    1173             :  { 164,2411 }, { 165,2411 }, { 166,2411 }, { 167,2411 }, { 168,2411 },
    1174             :  { 169,2411 }, { 170,2411 }, { 171,2411 }, { 172,2411 }, { 173,2411 },
    1175             : 
    1176             :  { 174,2411 }, { 175,2411 }, { 176,2411 }, { 177,2411 }, { 178,2411 },
    1177             :  { 179,2411 }, { 180,2411 }, { 181,2411 }, { 182,2411 }, { 183,2411 },
    1178             :  { 184,2411 }, { 185,2411 }, { 186,2411 }, { 187,2411 }, { 188,2411 },
    1179             :  { 189,2411 }, { 190,2411 }, { 191,2411 }, { 192,2411 }, { 193,2411 },
    1180             :  { 194,2411 }, { 195,2411 }, { 196,2411 }, { 197,2411 }, { 198,2411 },
    1181             :  { 199,2411 }, { 200,2411 }, { 201,2411 }, { 202,2411 }, { 203,2411 },
    1182             :  { 204,2411 }, { 205,2411 }, { 206,2411 }, { 207,2411 }, { 208,2411 },
    1183             :  { 209,2411 }, { 210,2411 }, { 211,2411 }, { 212,2411 }, { 213,2411 },
    1184             :  { 214,2411 }, { 215,2411 }, { 216,2411 }, { 217,2411 }, { 218,2411 },
    1185             :  { 219,2411 }, { 220,2411 }, { 221,2411 }, { 222,2411 }, { 223,2411 },
    1186             : 
    1187             :  { 224,2411 }, { 225,2411 }, { 226,2411 }, { 227,2411 }, { 228,2411 },
    1188             :  { 229,2411 }, { 230,2411 }, { 231,2411 }, { 232,2411 }, { 233,2411 },
    1189             :  { 234,2411 }, { 235,2411 }, { 236,2411 }, { 237,2411 }, { 238,2411 },
    1190             :  { 239,2411 }, { 240,2411 }, { 241,2411 }, { 242,2411 }, { 243,2411 },
    1191             :  { 244,2411 }, { 245,2411 }, { 246,2411 }, { 247,2411 }, { 248,2411 },
    1192             :  { 249,2411 }, { 250,2411 }, { 251,2411 }, { 252,2411 }, { 253,2411 },
    1193             :  { 254,2411 }, { 255,2411 }, { 256,2411 }, {   0,  40 }, {   0,5234 },
    1194             :  {   0,  40 }, {   0,5232 }, {   0,  45 }, {   0,5230 }, {   1,1872 },
    1195             :  {   2,1872 }, {   3,1872 }, {   4,1872 }, {   5,1872 }, {   6,1872 },
    1196             :  {   7,1872 }, {   8,1872 }, {   0,   0 }, {   0,   0 }, {  11,1872 },
    1197             : 
    1198             :  {   0,   0 }, {   0,   0 }, {  14,1872 }, {  15,1872 }, {  16,1872 },
    1199             :  {  17,1872 }, {  18,1872 }, {  19,1872 }, {  20,1872 }, {  21,1872 },
    1200             :  {  22,1872 }, {  23,1872 }, {  24,1872 }, {  25,1872 }, {  26,1872 },
    1201             :  {  27,1872 }, {  28,1872 }, {  29,1872 }, {  30,1872 }, {  31,1872 },
    1202             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1203             :  {   0,   0 }, {  42,1107 }, {   0,   0 }, {  42,1107 }, {   0,   0 },
    1204             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  46,2407 },
    1205             :  {   0,   0 }, {  48,1872 }, {  49,1872 }, {  50,1872 }, {  51,1872 },
    1206             :  {  52,1872 }, {  53,1872 }, {  54,1872 }, {  55,1872 }, {  56,1872 },
    1207             :  {  57,1872 }, {   0,   0 }, {  59,1872 }, {   0,   0 }, {   0,  31 },
    1208             : 
    1209             :  {   0,5168 }, {   0,  40 }, {   0,5166 }, {  65,1872 }, {  66,1872 },
    1210             :  {  67,1872 }, {  68,1872 }, {  69,2422 }, {  70,1872 }, {  71,1872 },
    1211             :  {  72,1872 }, {  73,1872 }, {  74,1872 }, {  75,1872 }, {  76,1872 },
    1212             :  {  77,1872 }, {  78,1872 }, {  79,1872 }, {  80,1872 }, {  81,1872 },
    1213             :  {  82,1872 }, {  83,1872 }, {  84,1872 }, {  85,1872 }, {  86,1872 },
    1214             :  {  87,1872 }, {  88,1872 }, {  89,1872 }, {  90,1872 }, {   0,   0 },
    1215             :  {   0,   0 }, {   0,   0 }, {  94,1872 }, {  95,1872 }, {  96,1872 },
    1216             :  {  97,1872 }, {  98,1872 }, {  99,1872 }, { 100,1872 }, { 101,2422 },
    1217             :  { 102,1872 }, { 103,1872 }, { 104,1872 }, { 105,1872 }, { 106,1872 },
    1218             :  { 107,1872 }, { 108,1872 }, { 109,1872 }, { 110,1872 }, { 111,1872 },
    1219             : 
    1220             :  { 112,1872 }, { 113,1872 }, { 114,1872 }, { 115,1872 }, { 116,1872 },
    1221             :  { 117,1872 }, { 118,1872 }, { 119,1872 }, { 120,1872 }, { 121,1872 },
    1222             :  { 122,1872 }, {  61,1045 }, {  62,1047 }, {  61,1047 }, { 126,1872 },
    1223             :  { 127,1872 }, { 128,1872 }, { 129,1872 }, { 130,1872 }, { 131,1872 },
    1224             :  { 132,1872 }, { 133,1872 }, { 134,1872 }, { 135,1872 }, { 136,1872 },
    1225             :  { 137,1872 }, { 138,1872 }, { 139,1872 }, { 140,1872 }, { 141,1872 },
    1226             :  { 142,1872 }, { 143,1872 }, { 144,1872 }, { 145,1872 }, { 146,1872 },
    1227             :  { 147,1872 }, { 148,1872 }, { 149,1872 }, { 150,1872 }, { 151,1872 },
    1228             :  { 152,1872 }, { 153,1872 }, { 154,1872 }, { 155,1872 }, { 156,1872 },
    1229             :  { 157,1872 }, { 158,1872 }, { 159,1872 }, { 160,1872 }, { 161,1872 },
    1230             : 
    1231             :  { 162,1872 }, { 163,1872 }, { 164,1872 }, { 165,1872 }, { 166,1872 },
    1232             :  { 167,1872 }, { 168,1872 }, { 169,1872 }, { 170,1872 }, { 171,1872 },
    1233             :  { 172,1872 }, { 173,1872 }, { 174,1872 }, { 175,1872 }, { 176,1872 },
    1234             :  { 177,1872 }, { 178,1872 }, { 179,1872 }, { 180,1872 }, { 181,1872 },
    1235             :  { 182,1872 }, { 183,1872 }, { 184,1872 }, { 185,1872 }, { 186,1872 },
    1236             :  { 187,1872 }, { 188,1872 }, { 189,1872 }, { 190,1872 }, { 191,1872 },
    1237             :  { 192,1872 }, { 193,1872 }, { 194,1872 }, { 195,1872 }, { 196,1872 },
    1238             :  { 197,1872 }, { 198,1872 }, { 199,1872 }, { 200,1872 }, { 201,1872 },
    1239             :  { 202,1872 }, { 203,1872 }, { 204,1872 }, { 205,1872 }, { 206,1872 },
    1240             :  { 207,1872 }, { 208,1872 }, { 209,1872 }, { 210,1872 }, { 211,1872 },
    1241             : 
    1242             :  { 212,1872 }, { 213,1872 }, { 214,1872 }, { 215,1872 }, { 216,1872 },
    1243             :  { 217,1872 }, { 218,1872 }, { 219,1872 }, { 220,1872 }, { 221,1872 },
    1244             :  { 222,1872 }, { 223,1872 }, { 224,1872 }, { 225,1872 }, { 226,1872 },
    1245             :  { 227,1872 }, { 228,1872 }, { 229,1872 }, { 230,1872 }, { 231,1872 },
    1246             :  { 232,1872 }, { 233,1872 }, { 234,1872 }, { 235,1872 }, { 236,1872 },
    1247             :  { 237,1872 }, { 238,1872 }, { 239,1872 }, { 240,1872 }, { 241,1872 },
    1248             :  { 242,1872 }, { 243,1872 }, { 244,1872 }, { 245,1872 }, { 246,1872 },
    1249             :  { 247,1872 }, { 248,1872 }, { 249,1872 }, { 250,1872 }, { 251,1872 },
    1250             :  { 252,1872 }, { 253,1872 }, { 254,1872 }, { 255,1872 }, { 256,1872 },
    1251             :  {   0,  45 }, {   0,4972 }, {   1,1614 }, {   2,1614 }, {   3,1614 },
    1252             : 
    1253             :  {   4,1614 }, {   5,1614 }, {   6,1614 }, {   7,1614 }, {   8,1614 },
    1254             :  {   0,   0 }, {   0,   0 }, {  11,1614 }, {   0,   0 }, {   0,   0 },
    1255             :  {  14,1614 }, {  15,1614 }, {  16,1614 }, {  17,1614 }, {  18,1614 },
    1256             :  {  19,1614 }, {  20,1614 }, {  21,1614 }, {  22,1614 }, {  23,1614 },
    1257             :  {  24,1614 }, {  25,1614 }, {  26,1614 }, {  27,1614 }, {  28,1614 },
    1258             :  {  29,1614 }, {  30,1614 }, {  31,1614 }, {   0,   0 }, {   0,   0 },
    1259             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1260             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1261             :  {   0,   0 }, {   0,   0 }, {  46,2149 }, {   0,   0 }, {  48,2422 },
    1262             :  {  49,2422 }, {  50,2422 }, {  51,2422 }, {  52,2422 }, {  53,2422 },
    1263             : 
    1264             :  {  54,2422 }, {  55,2422 }, {  56,2422 }, {  57,2422 }, {   0,   0 },
    1265             :  {  59,1614 }, {   0,   0 }, {   0,  37 }, {   0,4910 }, {   0,  51 },
    1266             :  {   0,4908 }, {  65,1614 }, {  66,1614 }, {  67,1614 }, {  68,1614 },
    1267             :  {  69,2164 }, {  70,1614 }, {  71,1614 }, {  72,1614 }, {  73,1614 },
    1268             :  {  74,1614 }, {  75,1614 }, {  76,1614 }, {  77,1614 }, {  78,1614 },
    1269             :  {  79,1614 }, {  80,1614 }, {  81,1614 }, {  82,1614 }, {  83,1614 },
    1270             :  {  84,1614 }, {  85,1614 }, {  86,1614 }, {  87,1614 }, {  88,1614 },
    1271             :  {  89,1614 }, {  90,1614 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1272             :  {  94,1614 }, {  95,1614 }, {  96,1614 }, {  97,1614 }, {  98,1614 },
    1273             :  {  99,1614 }, { 100,1614 }, { 101,2164 }, { 102,1614 }, { 103,1614 },
    1274             : 
    1275             :  { 104,1614 }, { 105,1614 }, { 106,1614 }, { 107,1614 }, { 108,1614 },
    1276             :  { 109,1614 }, { 110,1614 }, { 111,1614 }, { 112,1614 }, { 113,1614 },
    1277             :  { 114,1614 }, { 115,1614 }, { 116,1614 }, { 117,1614 }, { 118,1614 },
    1278             :  { 119,1614 }, { 120,1614 }, { 121,1614 }, { 122,1614 }, {  61, 806 },
    1279             :  {   0,   0 }, {   0,   0 }, { 126,1614 }, { 127,1614 }, { 128,1614 },
    1280             :  { 129,1614 }, { 130,1614 }, { 131,1614 }, { 132,1614 }, { 133,1614 },
    1281             :  { 134,1614 }, { 135,1614 }, { 136,1614 }, { 137,1614 }, { 138,1614 },
    1282             :  { 139,1614 }, { 140,1614 }, { 141,1614 }, { 142,1614 }, { 143,1614 },
    1283             :  { 144,1614 }, { 145,1614 }, { 146,1614 }, { 147,1614 }, { 148,1614 },
    1284             :  { 149,1614 }, { 150,1614 }, { 151,1614 }, { 152,1614 }, { 153,1614 },
    1285             : 
    1286             :  { 154,1614 }, { 155,1614 }, { 156,1614 }, { 157,1614 }, { 158,1614 },
    1287             :  { 159,1614 }, { 160,1614 }, { 161,1614 }, { 162,1614 }, { 163,1614 },
    1288             :  { 164,1614 }, { 165,1614 }, { 166,1614 }, { 167,1614 }, { 168,1614 },
    1289             :  { 169,1614 }, { 170,1614 }, { 171,1614 }, { 172,1614 }, { 173,1614 },
    1290             :  { 174,1614 }, { 175,1614 }, { 176,1614 }, { 177,1614 }, { 178,1614 },
    1291             :  { 179,1614 }, { 180,1614 }, { 181,1614 }, { 182,1614 }, { 183,1614 },
    1292             :  { 184,1614 }, { 185,1614 }, { 186,1614 }, { 187,1614 }, { 188,1614 },
    1293             :  { 189,1614 }, { 190,1614 }, { 191,1614 }, { 192,1614 }, { 193,1614 },
    1294             :  { 194,1614 }, { 195,1614 }, { 196,1614 }, { 197,1614 }, { 198,1614 },
    1295             :  { 199,1614 }, { 200,1614 }, { 201,1614 }, { 202,1614 }, { 203,1614 },
    1296             : 
    1297             :  { 204,1614 }, { 205,1614 }, { 206,1614 }, { 207,1614 }, { 208,1614 },
    1298             :  { 209,1614 }, { 210,1614 }, { 211,1614 }, { 212,1614 }, { 213,1614 },
    1299             :  { 214,1614 }, { 215,1614 }, { 216,1614 }, { 217,1614 }, { 218,1614 },
    1300             :  { 219,1614 }, { 220,1614 }, { 221,1614 }, { 222,1614 }, { 223,1614 },
    1301             :  { 224,1614 }, { 225,1614 }, { 226,1614 }, { 227,1614 }, { 228,1614 },
    1302             :  { 229,1614 }, { 230,1614 }, { 231,1614 }, { 232,1614 }, { 233,1614 },
    1303             :  { 234,1614 }, { 235,1614 }, { 236,1614 }, { 237,1614 }, { 238,1614 },
    1304             :  { 239,1614 }, { 240,1614 }, { 241,1614 }, { 242,1614 }, { 243,1614 },
    1305             :  { 244,1614 }, { 245,1614 }, { 246,1614 }, { 247,1614 }, { 248,1614 },
    1306             :  { 249,1614 }, { 250,1614 }, { 251,1614 }, { 252,1614 }, { 253,1614 },
    1307             : 
    1308             :  { 254,1614 }, { 255,1614 }, { 256,1614 }, {   0,  40 }, {   0,4714 },
    1309             :  {   0,  19 }, {   0,4712 }, {   0,   4 }, {   0,4710 }, {   0,   0 },
    1310             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1311             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1312             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1313             :  {   0,   0 }, {   0,   0 }, {   0,   4 }, {   0,4690 }, {   0,  20 },
    1314             :  {   0,4688 }, {   0,  21 }, {   0,4686 }, {   0,   0 }, {   0,   0 },
    1315             :  {   0,  22 }, {   0,4682 }, {   1,2390 }, {   2,2390 }, {   3,2390 },
    1316             :  {   4,2390 }, {   5,2390 }, {   6,2390 }, {   7,2390 }, {   8,2390 },
    1317             :  {   9,2390 }, {  10,2390 }, {  11,2390 }, {  12,2390 }, {  13,2390 },
    1318             : 
    1319             :  {  14,2390 }, {  15,2390 }, {  16,2390 }, {  17,2390 }, {  18,2390 },
    1320             :  {  19,2390 }, {  20,2390 }, {  21,2390 }, {  22,2390 }, {  23,2390 },
    1321             :  {  24,2390 }, {  25,2390 }, {  26,2390 }, {  27,2390 }, {  28,2390 },
    1322             :  {  29,2390 }, {  30,2390 }, {  31,2390 }, {  32,2390 }, {  33,2390 },
    1323             :  {  42, 801 }, {  35,2390 }, {  36,2390 }, {  37,2390 }, {  38,2390 },
    1324             :  {  39,2390 }, {  40,2390 }, {  41,2390 }, {  42,2390 }, {  43,2390 },
    1325             :  {  44,2390 }, {  45,2390 }, {  46,2390 }, {  47,2390 }, {  48,2390 },
    1326             :  {  49,2390 }, {  50,2390 }, {  51,2390 }, {  52,2390 }, {  53,2390 },
    1327             :  {  54,2390 }, {  55,2390 }, {  56,2390 }, {  57,2390 }, {  58,2390 },
    1328             :  {  59,2390 }, {  60,2390 }, {  61,2390 }, {  62,2390 }, {  63,2390 },
    1329             : 
    1330             :  {  64,2390 }, {  65,2390 }, {  66,2390 }, {  67,2390 }, {  68,2390 },
    1331             :  {  69,2390 }, {  70,2390 }, {  71,2390 }, {  72,2390 }, {  73,2390 },
    1332             :  {  74,2390 }, {  75,2390 }, {  76,2390 }, {  77,2390 }, {  78,2390 },
    1333             :  {  79,2390 }, {  80,2390 }, {  81,2390 }, {  82,2390 }, {  83,2390 },
    1334             :  {  84,2390 }, {  85,2390 }, {  86,2390 }, {  87,2390 }, {  88,2390 },
    1335             :  {  89,2390 }, {  90,2390 }, {  91,2390 }, { 124, 612 }, {  93,2390 },
    1336             :  {  94,2390 }, {  95,2390 }, {  96,2390 }, {  97,2390 }, {  98,2390 },
    1337             :  {  99,2390 }, { 100,2390 }, { 101,2390 }, { 102,2390 }, { 103,2390 },
    1338             :  { 104,2390 }, { 105,2390 }, { 106,2390 }, { 107,2390 }, { 108,2390 },
    1339             :  { 109,2390 }, { 110,2390 }, { 111,2390 }, { 112,2390 }, { 113,2390 },
    1340             : 
    1341             :  { 114,2390 }, { 115,2390 }, { 116,2390 }, { 117,2390 }, { 118,2390 },
    1342             :  { 119,2390 }, { 120,2390 }, { 121,2390 }, { 122,2390 }, { 123,2390 },
    1343             :  { 124,2390 }, { 125,2390 }, { 126,2390 }, { 127,2390 }, { 128,2390 },
    1344             :  { 129,2390 }, { 130,2390 }, { 131,2390 }, { 132,2390 }, { 133,2390 },
    1345             :  { 134,2390 }, { 135,2390 }, { 136,2390 }, { 137,2390 }, { 138,2390 },
    1346             :  { 139,2390 }, { 140,2390 }, { 141,2390 }, { 142,2390 }, { 143,2390 },
    1347             :  { 144,2390 }, { 145,2390 }, { 146,2390 }, { 147,2390 }, { 148,2390 },
    1348             :  { 149,2390 }, { 150,2390 }, { 151,2390 }, { 152,2390 }, { 153,2390 },
    1349             :  { 154,2390 }, { 155,2390 }, { 156,2390 }, { 157,2390 }, { 158,2390 },
    1350             :  { 159,2390 }, { 160,2390 }, { 161,2390 }, { 162,2390 }, { 163,2390 },
    1351             : 
    1352             :  { 164,2390 }, { 165,2390 }, { 166,2390 }, { 167,2390 }, { 168,2390 },
    1353             :  { 169,2390 }, { 170,2390 }, { 171,2390 }, { 172,2390 }, { 173,2390 },
    1354             :  { 174,2390 }, { 175,2390 }, { 176,2390 }, { 177,2390 }, { 178,2390 },
    1355             :  { 179,2390 }, { 180,2390 }, { 181,2390 }, { 182,2390 }, { 183,2390 },
    1356             :  { 184,2390 }, { 185,2390 }, { 186,2390 }, { 187,2390 }, { 188,2390 },
    1357             :  { 189,2390 }, { 190,2390 }, { 191,2390 }, { 192,2390 }, { 193,2390 },
    1358             :  { 194,2390 }, { 195,2390 }, { 196,2390 }, { 197,2390 }, { 198,2390 },
    1359             :  { 199,2390 }, { 200,2390 }, { 201,2390 }, { 202,2390 }, { 203,2390 },
    1360             :  { 204,2390 }, { 205,2390 }, { 206,2390 }, { 207,2390 }, { 208,2390 },
    1361             :  { 209,2390 }, { 210,2390 }, { 211,2390 }, { 212,2390 }, { 213,2390 },
    1362             : 
    1363             :  { 214,2390 }, { 215,2390 }, { 216,2390 }, { 217,2390 }, { 218,2390 },
    1364             :  { 219,2390 }, { 220,2390 }, { 221,2390 }, { 222,2390 }, { 223,2390 },
    1365             :  { 224,2390 }, { 225,2390 }, { 226,2390 }, { 227,2390 }, { 228,2390 },
    1366             :  { 229,2390 }, { 230,2390 }, { 231,2390 }, { 232,2390 }, { 233,2390 },
    1367             :  { 234,2390 }, { 235,2390 }, { 236,2390 }, { 237,2390 }, { 238,2390 },
    1368             :  { 239,2390 }, { 240,2390 }, { 241,2390 }, { 242,2390 }, { 243,2390 },
    1369             :  { 244,2390 }, { 245,2390 }, { 246,2390 }, { 247,2390 }, { 248,2390 },
    1370             :  { 249,2390 }, { 250,2390 }, { 251,2390 }, { 252,2390 }, { 253,2390 },
    1371             :  { 254,2390 }, { 255,2390 }, { 256,2390 }, {   0,  18 }, {   0,4424 },
    1372             :  {   1, 350 }, {   2, 350 }, {   3, 350 }, {   4, 350 }, {   5, 350 },
    1373             : 
    1374             :  {   6, 350 }, {   7, 350 }, {   8, 350 }, {   9, 350 }, {   0,   0 },
    1375             :  {  11, 350 }, {  12, 350 }, {  13, 350 }, {  14, 350 }, {  15, 350 },
    1376             :  {  16, 350 }, {  17, 350 }, {  18, 350 }, {  19, 350 }, {  20, 350 },
    1377             :  {  21, 350 }, {  22, 350 }, {  23, 350 }, {  24, 350 }, {  25, 350 },
    1378             :  {  26, 350 }, {  27, 350 }, {  28, 350 }, {  29, 350 }, {  30, 350 },
    1379             :  {  31, 350 }, {  32, 350 }, {  33, 350 }, {  34, 382 }, {  35, 350 },
    1380             :  {  36, 350 }, {  37, 350 }, {  38, 350 }, {  39, 382 }, {  40, 350 },
    1381             :  {  41, 350 }, {  42, 350 }, {  43, 350 }, {  44, 350 }, {  45, 350 },
    1382             :  {  46, 350 }, {  47, 350 }, {  48, 350 }, {  49, 350 }, {  50, 350 },
    1383             :  {  51, 350 }, {  52, 350 }, {  53, 350 }, {  54, 350 }, {  55, 350 },
    1384             : 
    1385             :  {  56, 350 }, {  57, 350 }, {  58, 350 }, {  59, 350 }, {  60, 350 },
    1386             :  {  61, 350 }, {  62, 350 }, {  63, 350 }, {  64, 350 }, {  65, 350 },
    1387             :  {  66, 350 }, {  67, 350 }, {  68, 350 }, {  69, 350 }, {  70, 350 },
    1388             :  {  71, 350 }, {  72, 350 }, {  73, 350 }, {  74, 350 }, {  75, 350 },
    1389             :  {  76, 350 }, {  77, 350 }, {  78, 350 }, {  79, 350 }, {  80, 350 },
    1390             :  {  81, 350 }, {  82, 350 }, {  83, 350 }, {  84, 350 }, {  85, 350 },
    1391             :  {  86, 350 }, {  87, 350 }, {  88, 350 }, {  89, 350 }, {  90, 350 },
    1392             :  {  91, 350 }, {  92, 382 }, {  93, 350 }, {  94, 350 }, {  95, 350 },
    1393             :  {  96, 350 }, {  97, 350 }, {  98, 518 }, {  99, 350 }, { 100, 350 },
    1394             :  { 101, 350 }, { 102, 520 }, { 103, 350 }, { 104, 350 }, { 105, 350 },
    1395             : 
    1396             :  { 106, 350 }, { 107, 350 }, { 108, 350 }, { 109, 350 }, { 110, 522 },
    1397             :  { 111, 350 }, { 112, 350 }, { 113, 350 }, { 114, 524 }, { 115, 350 },
    1398             :  { 116, 531 }, { 117,2390 }, { 118, 533 }, { 119, 350 }, { 120,2428 },
    1399             :  { 121, 350 }, { 122, 350 }, { 123, 350 }, { 124, 350 }, { 125, 350 },
    1400             :  { 126, 350 }, { 127, 350 }, { 128, 350 }, { 129, 350 }, { 130, 350 },
    1401             :  { 131, 350 }, { 132, 350 }, { 133, 350 }, { 134, 350 }, { 135, 350 },
    1402             :  { 136, 350 }, { 137, 350 }, { 138, 350 }, { 139, 350 }, { 140, 350 },
    1403             :  { 141, 350 }, { 142, 350 }, { 143, 350 }, { 144, 350 }, { 145, 350 },
    1404             :  { 146, 350 }, { 147, 350 }, { 148, 350 }, { 149, 350 }, { 150, 350 },
    1405             :  { 151, 350 }, { 152, 350 }, { 153, 350 }, { 154, 350 }, { 155, 350 },
    1406             : 
    1407             :  { 156, 350 }, { 157, 350 }, { 158, 350 }, { 159, 350 }, { 160, 350 },
    1408             :  { 161, 350 }, { 162, 350 }, { 163, 350 }, { 164, 350 }, { 165, 350 },
    1409             :  { 166, 350 }, { 167, 350 }, { 168, 350 }, { 169, 350 }, { 170, 350 },
    1410             :  { 171, 350 }, { 172, 350 }, { 173, 350 }, { 174, 350 }, { 175, 350 },
    1411             :  { 176, 350 }, { 177, 350 }, { 178, 350 }, { 179, 350 }, { 180, 350 },
    1412             :  { 181, 350 }, { 182, 350 }, { 183, 350 }, { 184, 350 }, { 185, 350 },
    1413             :  { 186, 350 }, { 187, 350 }, { 188, 350 }, { 189, 350 }, { 190, 350 },
    1414             :  { 191, 350 }, { 192, 350 }, { 193, 350 }, { 194, 350 }, { 195, 350 },
    1415             :  { 196, 350 }, { 197, 350 }, { 198, 350 }, { 199, 350 }, { 200, 350 },
    1416             :  { 201, 350 }, { 202, 350 }, { 203, 350 }, { 204, 350 }, { 205, 350 },
    1417             : 
    1418             :  { 206, 350 }, { 207, 350 }, { 208, 350 }, { 209, 350 }, { 210, 350 },
    1419             :  { 211, 350 }, { 212, 350 }, { 213, 350 }, { 214, 350 }, { 215, 350 },
    1420             :  { 216, 350 }, { 217, 350 }, { 218, 350 }, { 219, 350 }, { 220, 350 },
    1421             :  { 221, 350 }, { 222, 350 }, { 223, 350 }, { 224, 350 }, { 225, 350 },
    1422             :  { 226, 350 }, { 227, 350 }, { 228, 350 }, { 229, 350 }, { 230, 350 },
    1423             :  { 231, 350 }, { 232, 350 }, { 233, 350 }, { 234, 350 }, { 235, 350 },
    1424             :  { 236, 350 }, { 237, 350 }, { 238, 350 }, { 239, 350 }, { 240, 350 },
    1425             :  { 241, 350 }, { 242, 350 }, { 243, 350 }, { 244, 350 }, { 245, 350 },
    1426             :  { 246, 350 }, { 247, 350 }, { 248, 350 }, { 249, 350 }, { 250, 350 },
    1427             :  { 251, 350 }, { 252, 350 }, { 253, 350 }, { 254, 350 }, { 255, 350 },
    1428             : 
    1429             :  { 256, 350 }, {   0,   1 }, {   0,4166 }, {   1,2274 }, {   2,2274 },
    1430             :  {   3,2274 }, {   4,2274 }, {   5,2274 }, {   6,2274 }, {   7,2274 },
    1431             :  {   8,2274 }, {   0,   0 }, {   0,   0 }, {  11,2274 }, {   0,  26 },
    1432             :  {   0,4153 }, {  14,2274 }, {  15,2274 }, {  16,2274 }, {  17,2274 },
    1433             :  {  18,2274 }, {  19,2274 }, {  20,2274 }, {  21,2274 }, {  22,2274 },
    1434             :  {  23,2274 }, {  24,2274 }, {  25,2274 }, {  26,2274 }, {  27,2274 },
    1435             :  {  28,2274 }, {  29,2274 }, {  30,2274 }, {  31,2274 }, {   0,  35 },
    1436             :  {   0,4133 }, {   0,  39 }, {   0,4131 }, {   0,  27 }, {   0,4129 },
    1437             :  {   0,  30 }, {   0,4127 }, {   0,  42 }, {   0,4125 }, {   0,  32 },
    1438             :  {   0,4123 }, {   0,  34 }, {   0,4121 }, {   0,  33 }, {   0,4119 },
    1439             : 
    1440             :  {  48,2274 }, {  49,2274 }, {  50,2274 }, {  51,2274 }, {  52,2274 },
    1441             :  {  53,2274 }, {  54,2274 }, {  55,2274 }, {  56,2274 }, {  57,2274 },
    1442             :  {   0,   0 }, {  59,2274 }, {  47, 266 }, {   0,  36 }, {   0,4104 },
    1443             :  {   0,  28 }, {   0,4102 }, {  65,2274 }, {  66,2274 }, {  67,2274 },
    1444             :  {  68,2274 }, {  69,2274 }, {  70,2274 }, {  71,2274 }, {  72,2274 },
    1445             :  {  73,2274 }, {  74,2274 }, {  75,2274 }, {  76,2274 }, {  77,2274 },
    1446             :  {  78,2274 }, {  79,2274 }, {  80,2274 }, {  81,2274 }, {  82,2274 },
    1447             :  {  83,2274 }, {  84,2274 }, {  85,2274 }, {  86,2274 }, {  87,2274 },
    1448             :  {  88,2274 }, {  89,2274 }, {  90,2274 }, {   0,  17 }, {   0,4074 },
    1449             :  {   0,   0 }, {  94,2274 }, {  95,2274 }, {  96,2274 }, {  97,2274 },
    1450             : 
    1451             :  {  98,2274 }, {  99,2274 }, { 100,2274 }, { 101,2274 }, { 102,2274 },
    1452             :  { 103,2274 }, { 104,2274 }, { 105,2274 }, { 106,2274 }, { 107,2274 },
    1453             :  { 108,2274 }, { 109,2274 }, { 110,2274 }, { 111,2274 }, { 112,2274 },
    1454             :  { 113,2274 }, { 114,2274 }, { 115,2274 }, { 116,2274 }, { 117,2274 },
    1455             :  { 118,2274 }, { 119,2274 }, { 120,2274 }, { 121,2274 }, { 122,2274 },
    1456             :  {   0,   5 }, {   0,4042 }, {   0,   0 }, { 126,2274 }, { 127,2274 },
    1457             :  { 128,2274 }, { 129,2274 }, { 130,2274 }, { 131,2274 }, { 132,2274 },
    1458             :  { 133,2274 }, { 134,2274 }, { 135,2274 }, { 136,2274 }, { 137,2274 },
    1459             :  { 138,2274 }, { 139,2274 }, { 140,2274 }, { 141,2274 }, { 142,2274 },
    1460             :  { 143,2274 }, { 144,2274 }, { 145,2274 }, { 146,2274 }, { 147,2274 },
    1461             : 
    1462             :  { 148,2274 }, { 149,2274 }, { 150,2274 }, { 151,2274 }, { 152,2274 },
    1463             :  { 153,2274 }, { 154,2274 }, { 155,2274 }, { 156,2274 }, { 157,2274 },
    1464             :  { 158,2274 }, { 159,2274 }, { 160,2274 }, { 161,2274 }, { 162,2274 },
    1465             :  { 163,2274 }, { 164,2274 }, { 165,2274 }, { 166,2274 }, { 167,2274 },
    1466             :  { 168,2274 }, { 169,2274 }, { 170,2274 }, { 171,2274 }, { 172,2274 },
    1467             :  { 173,2274 }, { 174,2274 }, { 175,2274 }, { 176,2274 }, { 177,2274 },
    1468             :  { 178,2274 }, { 179,2274 }, { 180,2274 }, { 181,2274 }, { 182,2274 },
    1469             :  { 183,2274 }, { 184,2274 }, { 185,2274 }, { 186,2274 }, { 187,2274 },
    1470             :  { 188,2274 }, { 189,2274 }, { 190,2274 }, { 191,2274 }, { 192,2274 },
    1471             :  { 193,2274 }, { 194,2274 }, { 195,2274 }, { 196,2274 }, { 197,2274 },
    1472             : 
    1473             :  { 198,2274 }, { 199,2274 }, { 200,2274 }, { 201,2274 }, { 202,2274 },
    1474             :  { 203,2274 }, { 204,2274 }, { 205,2274 }, { 206,2274 }, { 207,2274 },
    1475             :  { 208,2274 }, { 209,2274 }, { 210,2274 }, { 211,2274 }, { 212,2274 },
    1476             :  { 213,2274 }, { 214,2274 }, { 215,2274 }, { 216,2274 }, { 217,2274 },
    1477             :  { 218,2274 }, { 219,2274 }, { 220,2274 }, { 221,2274 }, { 222,2274 },
    1478             :  { 223,2274 }, { 224,2274 }, { 225,2274 }, { 226,2274 }, { 227,2274 },
    1479             :  { 228,2274 }, { 229,2274 }, { 230,2274 }, { 231,2274 }, { 232,2274 },
    1480             :  { 233,2274 }, { 234,2274 }, { 235,2274 }, { 236,2274 }, { 237,2274 },
    1481             :  { 238,2274 }, { 239,2274 }, { 240,2274 }, { 241,2274 }, { 242,2274 },
    1482             :  { 243,2274 }, { 244,2274 }, { 245,2274 }, { 246,2274 }, { 247,2274 },
    1483             : 
    1484             :  { 248,2274 }, { 249,2274 }, { 250,2274 }, { 251,2274 }, { 252,2274 },
    1485             :  { 253,2274 }, { 254,2274 }, { 255,2274 }, { 256,2274 }, {   0,   2 },
    1486             :  {   0,3908 }, {   0,   6 }, {   0,3906 }, {   0,   7 }, {   0,3904 },
    1487             :  {   0,   8 }, {   0,3902 }, {   0,   9 }, {   0,3900 }, {   9,2274 },
    1488             :  {  10,2274 }, {   0,   0 }, {  12,2274 }, {  13,2274 }, {   0,  10 },
    1489             :  {   0,3893 }, {   0,  11 }, {   0,3891 }, {   0,   3 }, {   0,3889 },
    1490             :  {   0,  24 }, {   0,3887 }, {   0,  13 }, {   0,3885 }, {   0,   0 },
    1491             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1492             :  {   0,   0 }, {   0,   0 }, {  32,2274 }, {   0,  23 }, {   0,3874 },
    1493             :  {   1,2274 }, {   2,2274 }, {   3,2274 }, {   4,2274 }, {   5,2274 },
    1494             : 
    1495             :  {   6,2274 }, {   7,2274 }, {   8,2274 }, {   9,2274 }, {  10,2274 },
    1496             :  {  11,2274 }, {  12,2274 }, {  13,2274 }, {  14,2274 }, {  15,2274 },
    1497             :  {  16,2274 }, {  17,2274 }, {  18,2274 }, {  19,2274 }, {  20,2274 },
    1498             :  {  21,2274 }, {  22,2274 }, {  23,2274 }, {  24,2274 }, {  25,2274 },
    1499             :  {  26,2274 }, {  27,2274 }, {  28,2274 }, {  29,2274 }, {  30,2274 },
    1500             :  {  31,2274 }, {  32,2274 }, {  33,2274 }, {  34,2274 }, {  35,2274 },
    1501             :  {  36,2274 }, {  37,2274 }, {  38,2274 }, {   0,   0 }, {  40,2274 },
    1502             :  {  41,2274 }, {  42,2274 }, {  43,2274 }, {  44,2274 }, {  45,2274 },
    1503             :  {  46,2274 }, {  47,2274 }, {  48,2274 }, {  49,2274 }, {  50,2274 },
    1504             :  {  51,2274 }, {  52,2274 }, {  53,2274 }, {  54,2274 }, {  55,2274 },
    1505             : 
    1506             :  {  56,2274 }, {  57,2274 }, {  58,2274 }, {  59,2274 }, {  60,2274 },
    1507             :  {  61,2274 }, {  62,2274 }, {  63,2274 }, {  64,2274 }, {  65,2274 },
    1508             :  {  66,2274 }, {  67,2274 }, {  68,2274 }, {  69,2274 }, {  70,2274 },
    1509             :  {  71,2274 }, {  72,2274 }, {  73,2274 }, {  74,2274 }, {  75,2274 },
    1510             :  {  76,2274 }, {  77,2274 }, {  78,2274 }, {  79,2274 }, {  80,2274 },
    1511             :  {  81,2274 }, {  82,2274 }, {  83,2274 }, {  84,2274 }, {  85,2274 },
    1512             :  {  86,2274 }, {  87,2274 }, {  88,2274 }, {  89,2274 }, {  90,2274 },
    1513             :  {  91,2274 }, {   0,   0 }, {  93,2274 }, {  94,2274 }, {  95,2274 },
    1514             :  {  96,2274 }, {  97,2274 }, {  98,2274 }, {  99,2274 }, { 100,2274 },
    1515             :  { 101,2274 }, { 102,2274 }, { 103,2274 }, { 104,2274 }, { 105,2274 },
    1516             : 
    1517             :  { 106,2274 }, { 107,2274 }, { 108,2274 }, { 109,2274 }, { 110,2274 },
    1518             :  { 111,2274 }, { 112,2274 }, { 113,2274 }, { 114,2274 }, { 115,2274 },
    1519             :  { 116,2274 }, { 117,2274 }, { 118,2274 }, { 119,2274 }, { 120,2274 },
    1520             :  { 121,2274 }, { 122,2274 }, { 123,2274 }, { 124,2274 }, { 125,2274 },
    1521             :  { 126,2274 }, { 127,2274 }, { 128,2274 }, { 129,2274 }, { 130,2274 },
    1522             :  { 131,2274 }, { 132,2274 }, { 133,2274 }, { 134,2274 }, { 135,2274 },
    1523             :  { 136,2274 }, { 137,2274 }, { 138,2274 }, { 139,2274 }, { 140,2274 },
    1524             :  { 141,2274 }, { 142,2274 }, { 143,2274 }, { 144,2274 }, { 145,2274 },
    1525             :  { 146,2274 }, { 147,2274 }, { 148,2274 }, { 149,2274 }, { 150,2274 },
    1526             :  { 151,2274 }, { 152,2274 }, { 153,2274 }, { 154,2274 }, { 155,2274 },
    1527             : 
    1528             :  { 156,2274 }, { 157,2274 }, { 158,2274 }, { 159,2274 }, { 160,2274 },
    1529             :  { 161,2274 }, { 162,2274 }, { 163,2274 }, { 164,2274 }, { 165,2274 },
    1530             :  { 166,2274 }, { 167,2274 }, { 168,2274 }, { 169,2274 }, { 170,2274 },
    1531             :  { 171,2274 }, { 172,2274 }, { 173,2274 }, { 174,2274 }, { 175,2274 },
    1532             :  { 176,2274 }, { 177,2274 }, { 178,2274 }, { 179,2274 }, { 180,2274 },
    1533             :  { 181,2274 }, { 182,2274 }, { 183,2274 }, { 184,2274 }, { 185,2274 },
    1534             :  { 186,2274 }, { 187,2274 }, { 188,2274 }, { 189,2274 }, { 190,2274 },
    1535             :  { 191,2274 }, { 192,2274 }, { 193,2274 }, { 194,2274 }, { 195,2274 },
    1536             :  { 196,2274 }, { 197,2274 }, { 198,2274 }, { 199,2274 }, { 200,2274 },
    1537             :  { 201,2274 }, { 202,2274 }, { 203,2274 }, { 204,2274 }, { 205,2274 },
    1538             : 
    1539             :  { 206,2274 }, { 207,2274 }, { 208,2274 }, { 209,2274 }, { 210,2274 },
    1540             :  { 211,2274 }, { 212,2274 }, { 213,2274 }, { 214,2274 }, { 215,2274 },
    1541             :  { 216,2274 }, { 217,2274 }, { 218,2274 }, { 219,2274 }, { 220,2274 },
    1542             :  { 221,2274 }, { 222,2274 }, { 223,2274 }, { 224,2274 }, { 225,2274 },
    1543             :  { 226,2274 }, { 227,2274 }, { 228,2274 }, { 229,2274 }, { 230,2274 },
    1544             :  { 231,2274 }, { 232,2274 }, { 233,2274 }, { 234,2274 }, { 235,2274 },
    1545             :  { 236,2274 }, { 237,2274 }, { 238,2274 }, { 239,2274 }, { 240,2274 },
    1546             :  { 241,2274 }, { 242,2274 }, { 243,2274 }, { 244,2274 }, { 245,2274 },
    1547             :  { 246,2274 }, { 247,2274 }, { 248,2274 }, { 249,2274 }, { 250,2274 },
    1548             :  { 251,2274 }, { 252,2274 }, { 253,2274 }, { 254,2274 }, { 255,2274 },
    1549             : 
    1550             :  { 256,2274 }, {   0,  25 }, {   0,3616 }, {   1,2274 }, {   2,2274 },
    1551             :  {   3,2274 }, {   4,2274 }, {   5,2274 }, {   6,2274 }, {   7,2274 },
    1552             :  {   8,2274 }, {   9,2274 }, {  10,2274 }, {  11,2274 }, {  12,2274 },
    1553             :  {  13,2274 }, {  14,2274 }, {  15,2274 }, {  16,2274 }, {  17,2274 },
    1554             :  {  18,2274 }, {  19,2274 }, {  20,2274 }, {  21,2274 }, {  22,2274 },
    1555             :  {  23,2274 }, {  24,2274 }, {  25,2274 }, {  26,2274 }, {  27,2274 },
    1556             :  {  28,2274 }, {  29,2274 }, {  30,2274 }, {  31,2274 }, {  32,2274 },
    1557             :  {  33,2274 }, {  34,2274 }, {  35,2274 }, {  36,2274 }, {  37,2274 },
    1558             :  {  38,2274 }, {  39,2274 }, {  40,2274 }, {  41,2274 }, {   0,   0 },
    1559             :  {  43,2274 }, {  44,2274 }, {  45,2274 }, {  46,2274 }, {  47,2274 },
    1560             : 
    1561             :  {  48,2274 }, {  49,2274 }, {  50,2274 }, {  51,2274 }, {  52,2274 },
    1562             :  {  53,2274 }, {  54,2274 }, {  55,2274 }, {  56,2274 }, {  57,2274 },
    1563             :  {  58,2274 }, {  59,2274 }, {  60,2274 }, {  61,2274 }, {  62,2274 },
    1564             :  {  63,2274 }, {  64,2274 }, {  65,2274 }, {  66,2274 }, {  67,2274 },
    1565             :  {  68,2274 }, {  69,2274 }, {  70,2274 }, {  71,2274 }, {  72,2274 },
    1566             :  {  73,2274 }, {  74,2274 }, {  75,2274 }, {  76,2274 }, {  77,2274 },
    1567             :  {  78,2274 }, {  79,2274 }, {  80,2274 }, {  81,2274 }, {  82,2274 },
    1568             :  {  83,2274 }, {  84,2274 }, {  85,2274 }, {  86,2274 }, {  87,2274 },
    1569             :  {  88,2274 }, {  89,2274 }, {  90,2274 }, {  91,2274 }, {  92,2274 },
    1570             :  {  93,2274 }, {  94,2274 }, {  95,2274 }, {  96,2274 }, {  97,2274 },
    1571             : 
    1572             :  {  98,2274 }, {  99,2274 }, { 100,2274 }, { 101,2274 }, { 102,2274 },
    1573             :  { 103,2274 }, { 104,2274 }, { 105,2274 }, { 106,2274 }, { 107,2274 },
    1574             :  { 108,2274 }, { 109,2274 }, { 110,2274 }, { 111,2274 }, { 112,2274 },
    1575             :  { 113,2274 }, { 114,2274 }, { 115,2274 }, { 116,2274 }, { 117,2274 },
    1576             :  { 118,2274 }, { 119,2274 }, { 120,2274 }, { 121,2274 }, { 122,2274 },
    1577             :  { 123,2274 }, { 124,2274 }, { 125,2274 }, { 126,2274 }, { 127,2274 },
    1578             :  { 128,2274 }, { 129,2274 }, { 130,2274 }, { 131,2274 }, { 132,2274 },
    1579             :  { 133,2274 }, { 134,2274 }, { 135,2274 }, { 136,2274 }, { 137,2274 },
    1580             :  { 138,2274 }, { 139,2274 }, { 140,2274 }, { 141,2274 }, { 142,2274 },
    1581             :  { 143,2274 }, { 144,2274 }, { 145,2274 }, { 146,2274 }, { 147,2274 },
    1582             : 
    1583             :  { 148,2274 }, { 149,2274 }, { 150,2274 }, { 151,2274 }, { 152,2274 },
    1584             :  { 153,2274 }, { 154,2274 }, { 155,2274 }, { 156,2274 }, { 157,2274 },
    1585             :  { 158,2274 }, { 159,2274 }, { 160,2274 }, { 161,2274 }, { 162,2274 },
    1586             :  { 163,2274 }, { 164,2274 }, { 165,2274 }, { 166,2274 }, { 167,2274 },
    1587             :  { 168,2274 }, { 169,2274 }, { 170,2274 }, { 171,2274 }, { 172,2274 },
    1588             :  { 173,2274 }, { 174,2274 }, { 175,2274 }, { 176,2274 }, { 177,2274 },
    1589             :  { 178,2274 }, { 179,2274 }, { 180,2274 }, { 181,2274 }, { 182,2274 },
    1590             :  { 183,2274 }, { 184,2274 }, { 185,2274 }, { 186,2274 }, { 187,2274 },
    1591             :  { 188,2274 }, { 189,2274 }, { 190,2274 }, { 191,2274 }, { 192,2274 },
    1592             :  { 193,2274 }, { 194,2274 }, { 195,2274 }, { 196,2274 }, { 197,2274 },
    1593             : 
    1594             :  { 198,2274 }, { 199,2274 }, { 200,2274 }, { 201,2274 }, { 202,2274 },
    1595             :  { 203,2274 }, { 204,2274 }, { 205,2274 }, { 206,2274 }, { 207,2274 },
    1596             :  { 208,2274 }, { 209,2274 }, { 210,2274 }, { 211,2274 }, { 212,2274 },
    1597             :  { 213,2274 }, { 214,2274 }, { 215,2274 }, { 216,2274 }, { 217,2274 },
    1598             :  { 218,2274 }, { 219,2274 }, { 220,2274 }, { 221,2274 }, { 222,2274 },
    1599             :  { 223,2274 }, { 224,2274 }, { 225,2274 }, { 226,2274 }, { 227,2274 },
    1600             :  { 228,2274 }, { 229,2274 }, { 230,2274 }, { 231,2274 }, { 232,2274 },
    1601             :  { 233,2274 }, { 234,2274 }, { 235,2274 }, { 236,2274 }, { 237,2274 },
    1602             :  { 238,2274 }, { 239,2274 }, { 240,2274 }, { 241,2274 }, { 242,2274 },
    1603             :  { 243,2274 }, { 244,2274 }, { 245,2274 }, { 246,2274 }, { 247,2274 },
    1604             : 
    1605             :  { 248,2274 }, { 249,2274 }, { 250,2274 }, { 251,2274 }, { 252,2274 },
    1606             :  { 253,2274 }, { 254,2274 }, { 255,2274 }, { 256,2274 }, {   0,  48 },
    1607             :  {   0,3358 }, {   1,   0 }, {   2,   0 }, {   3,   0 }, {   4,   0 },
    1608             :  {   5,   0 }, {   6,   0 }, {   7,   0 }, {   8,   0 }, {   0,   0 },
    1609             :  {   0,   0 }, {  11,   0 }, {   0,   0 }, {   0,   0 }, {  14,   0 },
    1610             :  {  15,   0 }, {  16,   0 }, {  17,   0 }, {  18,   0 }, {  19,   0 },
    1611             :  {  20,   0 }, {  21,   0 }, {  22,   0 }, {  23,   0 }, {  24,   0 },
    1612             :  {  25,   0 }, {  26,   0 }, {  27,   0 }, {  28,   0 }, {  29,   0 },
    1613             :  {  30,   0 }, {  31,   0 }, {   0,  12 }, {   0,3325 }, {   0,   0 },
    1614             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1615             : 
    1616             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1617             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,   0 }, {  49,   0 },
    1618             :  {  50,   0 }, {  51,   0 }, {  52,   0 }, {  53,   0 }, {  54,   0 },
    1619             :  {  55,   0 }, {  56,   0 }, {  57,   0 }, {   0,   0 }, {  59,   0 },
    1620             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1621             :  {  65,   0 }, {  66,   0 }, {  67,   0 }, {  68,   0 }, {  69,   0 },
    1622             :  {  70,   0 }, {  71,   0 }, {  72,   0 }, {  73,   0 }, {  74,   0 },
    1623             :  {  75,   0 }, {  76,   0 }, {  77,   0 }, {  78,   0 }, {  79,   0 },
    1624             :  {  80,   0 }, {  81,   0 }, {  82,   0 }, {  83,   0 }, {  84,   0 },
    1625             :  {  85,   0 }, {  86,   0 }, {  87,   0 }, {  88,   0 }, {  89,   0 },
    1626             : 
    1627             :  {  90,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  94,   0 },
    1628             :  {  95,   0 }, {  96,   0 }, {  97,   0 }, {  98,   0 }, {  99,   0 },
    1629             :  { 100,   0 }, { 101,   0 }, { 102,   0 }, { 103,   0 }, { 104,   0 },
    1630             :  { 105,   0 }, { 106,   0 }, { 107,   0 }, { 108,   0 }, { 109,   0 },
    1631             :  { 110,   0 }, { 111,   0 }, { 112,   0 }, { 113,   0 }, { 114,   0 },
    1632             :  { 115,   0 }, { 116,   0 }, { 117,   0 }, { 118,   0 }, { 119,   0 },
    1633             :  { 120,   0 }, { 121,   0 }, { 122,   0 }, {   0,   0 }, {   0,   0 },
    1634             :  {  92,1293 }, { 126,   0 }, { 127,   0 }, { 128,   0 }, { 129,   0 },
    1635             :  { 130,   0 }, { 131,   0 }, { 132,   0 }, { 133,   0 }, { 134,   0 },
    1636             :  { 135,   0 }, { 136,   0 }, { 137,   0 }, { 138,   0 }, { 139,   0 },
    1637             : 
    1638             :  { 140,   0 }, { 141,   0 }, { 142,   0 }, { 143,   0 }, { 144,   0 },
    1639             :  { 145,   0 }, { 146,   0 }, { 147,   0 }, { 148,   0 }, { 149,   0 },
    1640             :  { 150,   0 }, { 151,   0 }, { 152,   0 }, { 153,   0 }, { 154,   0 },
    1641             :  { 155,   0 }, { 156,   0 }, { 157,   0 }, { 158,   0 }, { 159,   0 },
    1642             :  { 160,   0 }, { 161,   0 }, { 162,   0 }, { 163,   0 }, { 164,   0 },
    1643             :  { 165,   0 }, { 166,   0 }, { 167,   0 }, { 168,   0 }, { 169,   0 },
    1644             :  { 170,   0 }, { 171,   0 }, { 172,   0 }, { 173,   0 }, { 174,   0 },
    1645             :  { 175,   0 }, { 176,   0 }, { 177,   0 }, { 178,   0 }, { 179,   0 },
    1646             :  { 180,   0 }, { 181,   0 }, { 182,   0 }, { 183,   0 }, { 184,   0 },
    1647             :  { 185,   0 }, { 186,   0 }, { 187,   0 }, { 188,   0 }, { 189,   0 },
    1648             : 
    1649             :  { 190,   0 }, { 191,   0 }, { 192,   0 }, { 193,   0 }, { 194,   0 },
    1650             :  { 195,   0 }, { 196,   0 }, { 197,   0 }, { 198,   0 }, { 199,   0 },
    1651             :  { 200,   0 }, { 201,   0 }, { 202,   0 }, { 203,   0 }, { 204,   0 },
    1652             :  { 205,   0 }, { 206,   0 }, { 207,   0 }, { 208,   0 }, { 209,   0 },
    1653             :  { 210,   0 }, { 211,   0 }, { 212,   0 }, { 213,   0 }, { 214,   0 },
    1654             :  { 215,   0 }, { 216,   0 }, { 217,   0 }, { 218,   0 }, { 219,   0 },
    1655             :  { 220,   0 }, { 221,   0 }, { 222,   0 }, { 223,   0 }, { 224,   0 },
    1656             :  { 225,   0 }, { 226,   0 }, { 227,   0 }, { 228,   0 }, { 229,   0 },
    1657             :  { 230,   0 }, { 231,   0 }, { 232,   0 }, { 233,   0 }, { 234,   0 },
    1658             :  { 235,   0 }, { 236,   0 }, { 237,   0 }, { 238,   0 }, { 239,   0 },
    1659             : 
    1660             :  { 240,   0 }, { 241,   0 }, { 242,   0 }, { 243,   0 }, { 244,   0 },
    1661             :  { 245,   0 }, { 246,   0 }, { 247,   0 }, { 248,   0 }, { 249,   0 },
    1662             :  { 250,   0 }, { 251,   0 }, { 252,   0 }, { 253,   0 }, { 254,   0 },
    1663             :  { 255,   0 }, { 256,   0 }, {   0,  41 }, {   0,3100 }, {   0,   0 },
    1664             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1665             :  {   0,   0 }, {   0,   0 }, {   9,   0 }, {  10,   0 }, {   0,   0 },
    1666             :  {  12,   0 }, {  13,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1667             :  {   0,   0 }, {   0,  38 }, {   0,3081 }, {   1,   0 }, {   2,   0 },
    1668             :  {   3,   0 }, {   4,   0 }, {   5,   0 }, {   6,   0 }, {   7,   0 },
    1669             :  {   8,   0 }, {   0,   0 }, {   0,   0 }, {  11,   0 }, {   0,   0 },
    1670             : 
    1671             :  {  32,   0 }, {  14,   0 }, {  15,   0 }, {  16,   0 }, {  17,   0 },
    1672             :  {  18,   0 }, {  19,   0 }, {  20,   0 }, {  21,   0 }, {  22,   0 },
    1673             :  {  23,   0 }, {  24,   0 }, {  25,   0 }, {  26,   0 }, {  27,   0 },
    1674             :  {  28,   0 }, {  29,   0 }, {  30,   0 }, {  31,   0 }, {   0,   0 },
    1675             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1676             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1677             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1678             :  {  48,   0 }, {  49,   0 }, {  50,   0 }, {  51,   0 }, {  52,   0 },
    1679             :  {  53,   0 }, {  54,   0 }, {  55,   0 }, {  56,   0 }, {  57,   0 },
    1680             :  {   0,   0 }, {  59,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1681             : 
    1682             :  {   0,   0 }, {   0,   0 }, {  65,   0 }, {  66,   0 }, {  67,   0 },
    1683             :  {  68,   0 }, {  69,   0 }, {  70,   0 }, {  71,   0 }, {  72,   0 },
    1684             :  {  73,   0 }, {  74,   0 }, {  75,   0 }, {  76,   0 }, {  77,   0 },
    1685             :  {  78,   0 }, {  79,   0 }, {  80,   0 }, {  81,   0 }, {  82,   0 },
    1686             :  {  83,   0 }, {  84,   0 }, {  85,   0 }, {  86,   0 }, {  87,   0 },
    1687             :  {  88,   0 }, {  89,   0 }, {  90,   0 }, {   0,   0 }, {   0,   0 },
    1688             :  {   0,   0 }, {  94,   0 }, {  95,   0 }, {  96,   0 }, {  97,   0 },
    1689             :  {  98,   0 }, {  99,   0 }, { 100,   0 }, { 101,   0 }, { 102,   0 },
    1690             :  { 103,   0 }, { 104,   0 }, { 105,   0 }, { 106,   0 }, { 107,   0 },
    1691             :  { 108,   0 }, { 109,   0 }, { 110,   0 }, { 111,   0 }, { 112,   0 },
    1692             : 
    1693             :  { 113,   0 }, { 114,   0 }, { 115,   0 }, { 116,   0 }, { 117,   0 },
    1694             :  { 118,   0 }, { 119,   0 }, { 120,   0 }, { 121,   0 }, { 122,   0 },
    1695             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, { 126,   0 }, { 127,   0 },
    1696             :  { 128,   0 }, { 129,   0 }, { 130,   0 }, { 131,   0 }, { 132,   0 },
    1697             :  { 133,   0 }, { 134,   0 }, { 135,   0 }, { 136,   0 }, { 137,   0 },
    1698             :  { 138,   0 }, { 139,   0 }, { 140,   0 }, { 141,   0 }, { 142,   0 },
    1699             :  { 143,   0 }, { 144,   0 }, { 145,   0 }, { 146,   0 }, { 147,   0 },
    1700             :  { 148,   0 }, { 149,   0 }, { 150,   0 }, { 151,   0 }, { 152,   0 },
    1701             :  { 153,   0 }, { 154,   0 }, { 155,   0 }, { 156,   0 }, { 157,   0 },
    1702             :  { 158,   0 }, { 159,   0 }, { 160,   0 }, { 161,   0 }, { 162,   0 },
    1703             : 
    1704             :  { 163,   0 }, { 164,   0 }, { 165,   0 }, { 166,   0 }, { 167,   0 },
    1705             :  { 168,   0 }, { 169,   0 }, { 170,   0 }, { 171,   0 }, { 172,   0 },
    1706             :  { 173,   0 }, { 174,   0 }, { 175,   0 }, { 176,   0 }, { 177,   0 },
    1707             :  { 178,   0 }, { 179,   0 }, { 180,   0 }, { 181,   0 }, { 182,   0 },
    1708             :  { 183,   0 }, { 184,   0 }, { 185,   0 }, { 186,   0 }, { 187,   0 },
    1709             :  { 188,   0 }, { 189,   0 }, { 190,   0 }, { 191,   0 }, { 192,   0 },
    1710             :  { 193,   0 }, { 194,   0 }, { 195,   0 }, { 196,   0 }, { 197,   0 },
    1711             :  { 198,   0 }, { 199,   0 }, { 200,   0 }, { 201,   0 }, { 202,   0 },
    1712             :  { 203,   0 }, { 204,   0 }, { 205,   0 }, { 206,   0 }, { 207,   0 },
    1713             :  { 208,   0 }, { 209,   0 }, { 210,   0 }, { 211,   0 }, { 212,   0 },
    1714             : 
    1715             :  { 213,   0 }, { 214,   0 }, { 215,   0 }, { 216,   0 }, { 217,   0 },
    1716             :  { 218,   0 }, { 219,   0 }, { 220,   0 }, { 221,   0 }, { 222,   0 },
    1717             :  { 223,   0 }, { 224,   0 }, { 225,   0 }, { 226,   0 }, { 227,   0 },
    1718             :  { 228,   0 }, { 229,   0 }, { 230,   0 }, { 231,   0 }, { 232,   0 },
    1719             :  { 233,   0 }, { 234,   0 }, { 235,   0 }, { 236,   0 }, { 237,   0 },
    1720             :  { 238,   0 }, { 239,   0 }, { 240,   0 }, { 241,   0 }, { 242,   0 },
    1721             :  { 243,   0 }, { 244,   0 }, { 245,   0 }, { 246,   0 }, { 247,   0 },
    1722             :  { 248,   0 }, { 249,   0 }, { 250,   0 }, { 251,   0 }, { 252,   0 },
    1723             :  { 253,   0 }, { 254,   0 }, { 255,   0 }, { 256,   0 }, {   0,  46 },
    1724             :  {   0,2823 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1725             : 
    1726             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1727             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,  47 },
    1728             :  {   0,2808 }, {   1,-550 }, {   2,-550 }, {   3,-550 }, {   4,-550 },
    1729             :  {   5,-550 }, {   6,-550 }, {   7,-550 }, {   8,-550 }, {   0,   0 },
    1730             :  {   0,   0 }, {  11,-550 }, {   0,   0 }, {   0,   0 }, {  14,-550 },
    1731             :  {  15,-550 }, {  16,-550 }, {  17,-550 }, {  18,-550 }, {  19,-550 },
    1732             :  {  20,-550 }, {  21,-550 }, {  22,-550 }, {  23,-550 }, {  24,-550 },
    1733             :  {  25,-550 }, {  26,-550 }, {  27,-550 }, {  28,-550 }, {  29,-550 },
    1734             :  {  30,-550 }, {  31,-550 }, {   0,   0 }, {  48,1739 }, {  49,1739 },
    1735             :  {  50,1739 }, {  51,1739 }, {  52,1739 }, {  53,1739 }, {  54,1739 },
    1736             : 
    1737             :  {  55,1739 }, {  56,1739 }, {  57,1739 }, {  43,1734 }, {   0,   0 },
    1738             :  {  45,1734 }, {   0,   0 }, {   0,   0 }, {  48,1812 }, {  49,1812 },
    1739             :  {  50,1812 }, {  51,1812 }, {  52,1812 }, {  53,1812 }, {  54,1812 },
    1740             :  {  55,1812 }, {  56,1812 }, {  57,1812 }, {   0,   0 }, {  59,-550 },
    1741             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1742             :  {  65,-550 }, {  66,-550 }, {  67,-550 }, {  68,-550 }, {  69,-550 },
    1743             :  {  70,-550 }, {  71,-550 }, {  72,-550 }, {  73,-550 }, {  74,-550 },
    1744             :  {  75,-550 }, {  76,-550 }, {  77,-550 }, {  78,-550 }, {  79,-550 },
    1745             :  {  80,-550 }, {  81,-550 }, {  82,-550 }, {  83,-550 }, {  84,-550 },
    1746             :  {  85,-550 }, {  86,-550 }, {  87,-550 }, {  88,-550 }, {  89,-550 },
    1747             : 
    1748             :  {  90,-550 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  94,-550 },
    1749             :  {  95,-550 }, {  96,-550 }, {  97,-550 }, {  98,-550 }, {  99,-550 },
    1750             :  { 100,-550 }, { 101,-550 }, { 102,-550 }, { 103,-550 }, { 104,-550 },
    1751             :  { 105,-550 }, { 106,-550 }, { 107,-550 }, { 108,-550 }, { 109,-550 },
    1752             :  { 110,-550 }, { 111,-550 }, { 112,-550 }, { 113,-550 }, { 114,-550 },
    1753             :  { 115,-550 }, { 116,-550 }, { 117,-550 }, { 118,-550 }, { 119,-550 },
    1754             :  { 120,-550 }, { 121,-550 }, { 122,-550 }, {   0,   0 }, {   0,   0 },
    1755             :  {   0,   0 }, { 126,-550 }, { 127,-550 }, { 128,-550 }, { 129,-550 },
    1756             :  { 130,-550 }, { 131,-550 }, { 132,-550 }, { 133,-550 }, { 134,-550 },
    1757             :  { 135,-550 }, { 136,-550 }, { 137,-550 }, { 138,-550 }, { 139,-550 },
    1758             : 
    1759             :  { 140,-550 }, { 141,-550 }, { 142,-550 }, { 143,-550 }, { 144,-550 },
    1760             :  { 145,-550 }, { 146,-550 }, { 147,-550 }, { 148,-550 }, { 149,-550 },
    1761             :  { 150,-550 }, { 151,-550 }, { 152,-550 }, { 153,-550 }, { 154,-550 },
    1762             :  { 155,-550 }, { 156,-550 }, { 157,-550 }, { 158,-550 }, { 159,-550 },
    1763             :  { 160,-550 }, { 161,-550 }, { 162,-550 }, { 163,-550 }, { 164,-550 },
    1764             :  { 165,-550 }, { 166,-550 }, { 167,-550 }, { 168,-550 }, { 169,-550 },
    1765             :  { 170,-550 }, { 171,-550 }, { 172,-550 }, { 173,-550 }, { 174,-550 },
    1766             :  { 175,-550 }, { 176,-550 }, { 177,-550 }, { 178,-550 }, { 179,-550 },
    1767             :  { 180,-550 }, { 181,-550 }, { 182,-550 }, { 183,-550 }, { 184,-550 },
    1768             :  { 185,-550 }, { 186,-550 }, { 187,-550 }, { 188,-550 }, { 189,-550 },
    1769             : 
    1770             :  { 190,-550 }, { 191,-550 }, { 192,-550 }, { 193,-550 }, { 194,-550 },
    1771             :  { 195,-550 }, { 196,-550 }, { 197,-550 }, { 198,-550 }, { 199,-550 },
    1772             :  { 200,-550 }, { 201,-550 }, { 202,-550 }, { 203,-550 }, { 204,-550 },
    1773             :  { 205,-550 }, { 206,-550 }, { 207,-550 }, { 208,-550 }, { 209,-550 },
    1774             :  { 210,-550 }, { 211,-550 }, { 212,-550 }, { 213,-550 }, { 214,-550 },
    1775             :  { 215,-550 }, { 216,-550 }, { 217,-550 }, { 218,-550 }, { 219,-550 },
    1776             :  { 220,-550 }, { 221,-550 }, { 222,-550 }, { 223,-550 }, { 224,-550 },
    1777             :  { 225,-550 }, { 226,-550 }, { 227,-550 }, { 228,-550 }, { 229,-550 },
    1778             :  { 230,-550 }, { 231,-550 }, { 232,-550 }, { 233,-550 }, { 234,-550 },
    1779             :  { 235,-550 }, { 236,-550 }, { 237,-550 }, { 238,-550 }, { 239,-550 },
    1780             : 
    1781             :  { 240,-550 }, { 241,-550 }, { 242,-550 }, { 243,-550 }, { 244,-550 },
    1782             :  { 245,-550 }, { 246,-550 }, { 247,-550 }, { 248,-550 }, { 249,-550 },
    1783             :  { 250,-550 }, { 251,-550 }, { 252,-550 }, { 253,-550 }, { 254,-550 },
    1784             :  { 255,-550 }, { 256,-550 }, {   0,  45 }, {   0,2550 }, {   1,-808 },
    1785             :  {   2,-808 }, {   3,-808 }, {   4,-808 }, {   5,-808 }, {   6,-808 },
    1786             :  {   7,-808 }, {   8,-808 }, {   0,   0 }, {   0,   0 }, {  11,-808 },
    1787             :  {   0,   0 }, {   0,   0 }, {  14,-808 }, {  15,-808 }, {  16,-808 },
    1788             :  {  17,-808 }, {  18,-808 }, {  19,-808 }, {  20,-808 }, {  21,-808 },
    1789             :  {  22,-808 }, {  23,-808 }, {  24,-808 }, {  25,-808 }, {  26,-808 },
    1790             :  {  27,-808 }, {  28,-808 }, {  29,-808 }, {  30,-808 }, {  31,-808 },
    1791             : 
    1792             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1793             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1794             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  46,-273 },
    1795             :  {   0,   0 }, {  48,   0 }, {  49,   0 }, {  50,   0 }, {  51,   0 },
    1796             :  {  52,   0 }, {  53,   0 }, {  54,   0 }, {  55,   0 }, {  56,   0 },
    1797             :  {  57,   0 }, {   0,   0 }, {  59,-808 }, {   0,   0 }, {   0,   0 },
    1798             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  65,-808 }, {  66,-808 },
    1799             :  {  67,-808 }, {  68,-808 }, {  69,-258 }, {  70,-808 }, {  71,-808 },
    1800             :  {  72,-808 }, {  73,-808 }, {  74,-808 }, {  75,-808 }, {  76,-808 },
    1801             :  {  77,-808 }, {  78,-808 }, {  79,-808 }, {  80,-808 }, {  81,-808 },
    1802             : 
    1803             :  {  82,-808 }, {  83,-808 }, {  84,-808 }, {  85,-808 }, {  86,-808 },
    1804             :  {  87,-808 }, {  88,-808 }, {  89,-808 }, {  90,-808 }, {   0,   0 },
    1805             :  {   0,   0 }, {   0,   0 }, {  94,-808 }, {  95,-808 }, {  96,-808 },
    1806             :  {  97,-808 }, {  98,-808 }, {  99,-808 }, { 100,-808 }, { 101,-258 },
    1807             :  { 102,-808 }, { 103,-808 }, { 104,-808 }, { 105,-808 }, { 106,-808 },
    1808             :  { 107,-808 }, { 108,-808 }, { 109,-808 }, { 110,-808 }, { 111,-808 },
    1809             :  { 112,-808 }, { 113,-808 }, { 114,-808 }, { 115,-808 }, { 116,-808 },
    1810             :  { 117,-808 }, { 118,-808 }, { 119,-808 }, { 120,-808 }, { 121,-808 },
    1811             :  { 122,-808 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, { 126,-808 },
    1812             :  { 127,-808 }, { 128,-808 }, { 129,-808 }, { 130,-808 }, { 131,-808 },
    1813             : 
    1814             :  { 132,-808 }, { 133,-808 }, { 134,-808 }, { 135,-808 }, { 136,-808 },
    1815             :  { 137,-808 }, { 138,-808 }, { 139,-808 }, { 140,-808 }, { 141,-808 },
    1816             :  { 142,-808 }, { 143,-808 }, { 144,-808 }, { 145,-808 }, { 146,-808 },
    1817             :  { 147,-808 }, { 148,-808 }, { 149,-808 }, { 150,-808 }, { 151,-808 },
    1818             :  { 152,-808 }, { 153,-808 }, { 154,-808 }, { 155,-808 }, { 156,-808 },
    1819             :  { 157,-808 }, { 158,-808 }, { 159,-808 }, { 160,-808 }, { 161,-808 },
    1820             :  { 162,-808 }, { 163,-808 }, { 164,-808 }, { 165,-808 }, { 166,-808 },
    1821             :  { 167,-808 }, { 168,-808 }, { 169,-808 }, { 170,-808 }, { 171,-808 },
    1822             :  { 172,-808 }, { 173,-808 }, { 174,-808 }, { 175,-808 }, { 176,-808 },
    1823             :  { 177,-808 }, { 178,-808 }, { 179,-808 }, { 180,-808 }, { 181,-808 },
    1824             : 
    1825             :  { 182,-808 }, { 183,-808 }, { 184,-808 }, { 185,-808 }, { 186,-808 },
    1826             :  { 187,-808 }, { 188,-808 }, { 189,-808 }, { 190,-808 }, { 191,-808 },
    1827             :  { 192,-808 }, { 193,-808 }, { 194,-808 }, { 195,-808 }, { 196,-808 },
    1828             :  { 197,-808 }, { 198,-808 }, { 199,-808 }, { 200,-808 }, { 201,-808 },
    1829             :  { 202,-808 }, { 203,-808 }, { 204,-808 }, { 205,-808 }, { 206,-808 },
    1830             :  { 207,-808 }, { 208,-808 }, { 209,-808 }, { 210,-808 }, { 211,-808 },
    1831             :  { 212,-808 }, { 213,-808 }, { 214,-808 }, { 215,-808 }, { 216,-808 },
    1832             :  { 217,-808 }, { 218,-808 }, { 219,-808 }, { 220,-808 }, { 221,-808 },
    1833             :  { 222,-808 }, { 223,-808 }, { 224,-808 }, { 225,-808 }, { 226,-808 },
    1834             :  { 227,-808 }, { 228,-808 }, { 229,-808 }, { 230,-808 }, { 231,-808 },
    1835             : 
    1836             :  { 232,-808 }, { 233,-808 }, { 234,-808 }, { 235,-808 }, { 236,-808 },
    1837             :  { 237,-808 }, { 238,-808 }, { 239,-808 }, { 240,-808 }, { 241,-808 },
    1838             :  { 242,-808 }, { 243,-808 }, { 244,-808 }, { 245,-808 }, { 246,-808 },
    1839             :  { 247,-808 }, { 248,-808 }, { 249,-808 }, { 250,-808 }, { 251,-808 },
    1840             :  { 252,-808 }, { 253,-808 }, { 254,-808 }, { 255,-808 }, { 256,-808 },
    1841             :  {   0,  22 }, {   0,2292 }, {   1,   0 }, {   2,   0 }, {   3,   0 },
    1842             :  {   4,   0 }, {   5,   0 }, {   6,   0 }, {   7,   0 }, {   8,   0 },
    1843             :  {   9,   0 }, {  10,   0 }, {  11,   0 }, {  12,   0 }, {  13,   0 },
    1844             :  {  14,   0 }, {  15,   0 }, {  16,   0 }, {  17,   0 }, {  18,   0 },
    1845             :  {  19,   0 }, {  20,   0 }, {  21,   0 }, {  22,   0 }, {  23,   0 },
    1846             : 
    1847             :  {  24,   0 }, {  25,   0 }, {  26,   0 }, {  27,   0 }, {  28,   0 },
    1848             :  {  29,   0 }, {  30,   0 }, {  31,   0 }, {  32,   0 }, {  33,   0 },
    1849             :  {   0,   0 }, {  35,   0 }, {  36,   0 }, {  37,   0 }, {  38,   0 },
    1850             :  {  39,   0 }, {  40,   0 }, {  41,   0 }, {  42,   0 }, {  43,   0 },
    1851             :  {  44,   0 }, {  45,   0 }, {  46,   0 }, {  47,   0 }, {  48,   0 },
    1852             :  {  49,   0 }, {  50,   0 }, {  51,   0 }, {  52,   0 }, {  53,   0 },
    1853             :  {  54,   0 }, {  55,   0 }, {  56,   0 }, {  57,   0 }, {  58,   0 },
    1854             :  {  59,   0 }, {  60,   0 }, {  61,   0 }, {  62,   0 }, {  63,   0 },
    1855             :  {  64,   0 }, {  65,   0 }, {  66,   0 }, {  67,   0 }, {  68,   0 },
    1856             :  {  69,   0 }, {  70,   0 }, {  71,   0 }, {  72,   0 }, {  73,   0 },
    1857             : 
    1858             :  {  74,   0 }, {  75,   0 }, {  76,   0 }, {  77,   0 }, {  78,   0 },
    1859             :  {  79,   0 }, {  80,   0 }, {  81,   0 }, {  82,   0 }, {  83,   0 },
    1860             :  {  84,   0 }, {  85,   0 }, {  86,   0 }, {  87,   0 }, {  88,   0 },
    1861             :  {  89,   0 }, {  90,   0 }, {  91,   0 }, {   0,   0 }, {  93,   0 },
    1862             :  {  94,   0 }, {  95,   0 }, {  96,   0 }, {  97,   0 }, {  98,   0 },
    1863             :  {  99,   0 }, { 100,   0 }, { 101,   0 }, { 102,   0 }, { 103,   0 },
    1864             :  { 104,   0 }, { 105,   0 }, { 106,   0 }, { 107,   0 }, { 108,   0 },
    1865             :  { 109,   0 }, { 110,   0 }, { 111,   0 }, { 112,   0 }, { 113,   0 },
    1866             :  { 114,   0 }, { 115,   0 }, { 116,   0 }, { 117,   0 }, { 118,   0 },
    1867             :  { 119,   0 }, { 120,   0 }, { 121,   0 }, { 122,   0 }, { 123,   0 },
    1868             : 
    1869             :  { 124,   0 }, { 125,   0 }, { 126,   0 }, { 127,   0 }, { 128,   0 },
    1870             :  { 129,   0 }, { 130,   0 }, { 131,   0 }, { 132,   0 }, { 133,   0 },
    1871             :  { 134,   0 }, { 135,   0 }, { 136,   0 }, { 137,   0 }, { 138,   0 },
    1872             :  { 139,   0 }, { 140,   0 }, { 141,   0 }, { 142,   0 }, { 143,   0 },
    1873             :  { 144,   0 }, { 145,   0 }, { 146,   0 }, { 147,   0 }, { 148,   0 },
    1874             :  { 149,   0 }, { 150,   0 }, { 151,   0 }, { 152,   0 }, { 153,   0 },
    1875             :  { 154,   0 }, { 155,   0 }, { 156,   0 }, { 157,   0 }, { 158,   0 },
    1876             :  { 159,   0 }, { 160,   0 }, { 161,   0 }, { 162,   0 }, { 163,   0 },
    1877             :  { 164,   0 }, { 165,   0 }, { 166,   0 }, { 167,   0 }, { 168,   0 },
    1878             :  { 169,   0 }, { 170,   0 }, { 171,   0 }, { 172,   0 }, { 173,   0 },
    1879             : 
    1880             :  { 174,   0 }, { 175,   0 }, { 176,   0 }, { 177,   0 }, { 178,   0 },
    1881             :  { 179,   0 }, { 180,   0 }, { 181,   0 }, { 182,   0 }, { 183,   0 },
    1882             :  { 184,   0 }, { 185,   0 }, { 186,   0 }, { 187,   0 }, { 188,   0 },
    1883             :  { 189,   0 }, { 190,   0 }, { 191,   0 }, { 192,   0 }, { 193,   0 },
    1884             :  { 194,   0 }, { 195,   0 }, { 196,   0 }, { 197,   0 }, { 198,   0 },
    1885             :  { 199,   0 }, { 200,   0 }, { 201,   0 }, { 202,   0 }, { 203,   0 },
    1886             :  { 204,   0 }, { 205,   0 }, { 206,   0 }, { 207,   0 }, { 208,   0 },
    1887             :  { 209,   0 }, { 210,   0 }, { 211,   0 }, { 212,   0 }, { 213,   0 },
    1888             :  { 214,   0 }, { 215,   0 }, { 216,   0 }, { 217,   0 }, { 218,   0 },
    1889             :  { 219,   0 }, { 220,   0 }, { 221,   0 }, { 222,   0 }, { 223,   0 },
    1890             : 
    1891             :  { 224,   0 }, { 225,   0 }, { 226,   0 }, { 227,   0 }, { 228,   0 },
    1892             :  { 229,   0 }, { 230,   0 }, { 231,   0 }, { 232,   0 }, { 233,   0 },
    1893             :  { 234,   0 }, { 235,   0 }, { 236,   0 }, { 237,   0 }, { 238,   0 },
    1894             :  { 239,   0 }, { 240,   0 }, { 241,   0 }, { 242,   0 }, { 243,   0 },
    1895             :  { 244,   0 }, { 245,   0 }, { 246,   0 }, { 247,   0 }, { 248,   0 },
    1896             :  { 249,   0 }, { 250,   0 }, { 251,   0 }, { 252,   0 }, { 253,   0 },
    1897             :  { 254,   0 }, { 255,   0 }, { 256,   0 }, {   0,  14 }, {   0,2034 },
    1898             :  {   0,  16 }, {   0,2032 }, {   0,  14 }, {   0,2030 }, {   0,   0 },
    1899             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1900             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1901             : 
    1902             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1903             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1904             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1905             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1906             :  {   0,   0 }, {   0,  15 }, {   0,1996 }, {   0,   0 }, {   0,   0 },
    1907             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1908             :  {   0,   0 }, {   0,   0 }, {  48,1296 }, {  49,1296 }, {  50,1296 },
    1909             :  {  51,1296 }, {  52,1296 }, {  53,1296 }, {  54,1296 }, {  55,1296 },
    1910             :  {  56,1296 }, {  57,1296 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1911             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  65,1296 },
    1912             : 
    1913             :  {  66,1296 }, {  67,1296 }, {  68,1296 }, {  69,1296 }, {  70,1296 },
    1914             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1915             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1916             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1917             :  {  48,1319 }, {  49,1319 }, {  50,1319 }, {  51,1319 }, {  52,1319 },
    1918             :  {  53,1319 }, {  54,1319 }, {  55,1319 }, {  56,1319 }, {  57,1319 },
    1919             :  {   0,   0 }, {  97,1296 }, {  98,1296 }, {  99,1296 }, { 100,1296 },
    1920             :  { 101,1296 }, { 102,1296 }, {  65,1319 }, {  66,1319 }, {  67,1319 },
    1921             :  {  68,1319 }, {  69,1319 }, {  70,1319 }, {   0,   0 }, {   0,   0 },
    1922             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1923             : 
    1924             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, { 117,1715 }, {   0,   0 },
    1925             :  {   0,   0 }, {   0,   0 }, { 123,1319 }, {   0,   0 }, {   0,   0 },
    1926             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, { 125,-1295 }, {   0,   0 },
    1927             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  97,1319 },
    1928             :  {  98,1319 }, {  99,1319 }, { 100,1319 }, { 101,1319 }, { 102,1319 },
    1929             :  {   0,   1 }, {   0,1892 }, {   1,   0 }, {   2,   0 }, {   3,   0 },
    1930             :  {   4,   0 }, {   5,   0 }, {   6,   0 }, {   7,   0 }, {   8,   0 },
    1931             :  {   0,   0 }, {   0,   0 }, {  11,   0 }, {   0,   0 }, {   0,   0 },
    1932             :  {  14,   0 }, {  15,   0 }, {  16,   0 }, {  17,   0 }, {  18,   0 },
    1933             :  {  19,   0 }, {  20,   0 }, {  21,   0 }, {  22,   0 }, {  23,   0 },
    1934             : 
    1935             :  {  24,   0 }, {  25,   0 }, {  26,   0 }, {  27,   0 }, {  28,   0 },
    1936             :  {  29,   0 }, {  30,   0 }, {  31,   0 }, {   0,   0 }, {   0,   0 },
    1937             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1938             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1939             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,   0 },
    1940             :  {  49,   0 }, {  50,   0 }, {  51,   0 }, {  52,   0 }, {  53,   0 },
    1941             :  {  54,   0 }, {  55,   0 }, {  56,   0 }, {  57,   0 }, {   0,   0 },
    1942             :  {  59,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1943             :  {   0,   0 }, {  65,   0 }, {  66,   0 }, {  67,   0 }, {  68,   0 },
    1944             :  {  69,   0 }, {  70,   0 }, {  71,   0 }, {  72,   0 }, {  73,   0 },
    1945             : 
    1946             :  {  74,   0 }, {  75,   0 }, {  76,   0 }, {  77,   0 }, {  78,   0 },
    1947             :  {  79,   0 }, {  80,   0 }, {  81,   0 }, {  82,   0 }, {  83,   0 },
    1948             :  {  84,   0 }, {  85,   0 }, {  86,   0 }, {  87,   0 }, {  88,   0 },
    1949             :  {  89,   0 }, {  90,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1950             :  {  94,   0 }, {  95,   0 }, {  96,   0 }, {  97,   0 }, {  98,   0 },
    1951             :  {  99,   0 }, { 100,   0 }, { 101,   0 }, { 102,   0 }, { 103,   0 },
    1952             :  { 104,   0 }, { 105,   0 }, { 106,   0 }, { 107,   0 }, { 108,   0 },
    1953             :  { 109,   0 }, { 110,   0 }, { 111,   0 }, { 112,   0 }, { 113,   0 },
    1954             :  { 114,   0 }, { 115,   0 }, { 116,   0 }, { 117,   0 }, { 118,   0 },
    1955             :  { 119,   0 }, { 120,   0 }, { 121,   0 }, { 122,   0 }, {   0,   0 },
    1956             : 
    1957             :  {   0,   0 }, {   0,   0 }, { 126,   0 }, { 127,   0 }, { 128,   0 },
    1958             :  { 129,   0 }, { 130,   0 }, { 131,   0 }, { 132,   0 }, { 133,   0 },
    1959             :  { 134,   0 }, { 135,   0 }, { 136,   0 }, { 137,   0 }, { 138,   0 },
    1960             :  { 139,   0 }, { 140,   0 }, { 141,   0 }, { 142,   0 }, { 143,   0 },
    1961             :  { 144,   0 }, { 145,   0 }, { 146,   0 }, { 147,   0 }, { 148,   0 },
    1962             :  { 149,   0 }, { 150,   0 }, { 151,   0 }, { 152,   0 }, { 153,   0 },
    1963             :  { 154,   0 }, { 155,   0 }, { 156,   0 }, { 157,   0 }, { 158,   0 },
    1964             :  { 159,   0 }, { 160,   0 }, { 161,   0 }, { 162,   0 }, { 163,   0 },
    1965             :  { 164,   0 }, { 165,   0 }, { 166,   0 }, { 167,   0 }, { 168,   0 },
    1966             :  { 169,   0 }, { 170,   0 }, { 171,   0 }, { 172,   0 }, { 173,   0 },
    1967             : 
    1968             :  { 174,   0 }, { 175,   0 }, { 176,   0 }, { 177,   0 }, { 178,   0 },
    1969             :  { 179,   0 }, { 180,   0 }, { 181,   0 }, { 182,   0 }, { 183,   0 },
    1970             :  { 184,   0 }, { 185,   0 }, { 186,   0 }, { 187,   0 }, { 188,   0 },
    1971             :  { 189,   0 }, { 190,   0 }, { 191,   0 }, { 192,   0 }, { 193,   0 },
    1972             :  { 194,   0 }, { 195,   0 }, { 196,   0 }, { 197,   0 }, { 198,   0 },
    1973             :  { 199,   0 }, { 200,   0 }, { 201,   0 }, { 202,   0 }, { 203,   0 },
    1974             :  { 204,   0 }, { 205,   0 }, { 206,   0 }, { 207,   0 }, { 208,   0 },
    1975             :  { 209,   0 }, { 210,   0 }, { 211,   0 }, { 212,   0 }, { 213,   0 },
    1976             :  { 214,   0 }, { 215,   0 }, { 216,   0 }, { 217,   0 }, { 218,   0 },
    1977             :  { 219,   0 }, { 220,   0 }, { 221,   0 }, { 222,   0 }, { 223,   0 },
    1978             : 
    1979             :  { 224,   0 }, { 225,   0 }, { 226,   0 }, { 227,   0 }, { 228,   0 },
    1980             :  { 229,   0 }, { 230,   0 }, { 231,   0 }, { 232,   0 }, { 233,   0 },
    1981             :  { 234,   0 }, { 235,   0 }, { 236,   0 }, { 237,   0 }, { 238,   0 },
    1982             :  { 239,   0 }, { 240,   0 }, { 241,   0 }, { 242,   0 }, { 243,   0 },
    1983             :  { 244,   0 }, { 245,   0 }, { 246,   0 }, { 247,   0 }, { 248,   0 },
    1984             :  { 249,   0 }, { 250,   0 }, { 251,   0 }, { 252,   0 }, { 253,   0 },
    1985             :  { 254,   0 }, { 255,   0 }, { 256,   0 }, {   0,   2 }, {   0,1634 },
    1986             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1987             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   9,   0 }, {  10,   0 },
    1988             :  {   0,   0 }, {  12,   0 }, {  13,   0 }, {   0,   0 }, {   0,   0 },
    1989             : 
    1990             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1991             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1992             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    1993             :  {   0,   0 }, {  32,   0 }, {   0,  23 }, {   0,1600 }, {   1,   0 },
    1994             :  {   2,   0 }, {   3,   0 }, {   4,   0 }, {   5,   0 }, {   6,   0 },
    1995             :  {   7,   0 }, {   8,   0 }, {   9,   0 }, {  10,   0 }, {  11,   0 },
    1996             :  {  12,   0 }, {  13,   0 }, {  14,   0 }, {  15,   0 }, {  16,   0 },
    1997             :  {  17,   0 }, {  18,   0 }, {  19,   0 }, {  20,   0 }, {  21,   0 },
    1998             :  {  22,   0 }, {  23,   0 }, {  24,   0 }, {  25,   0 }, {  26,   0 },
    1999             :  {  27,   0 }, {  28,   0 }, {  29,   0 }, {  30,   0 }, {  31,   0 },
    2000             : 
    2001             :  {  32,   0 }, {  33,   0 }, {  34,   0 }, {  35,   0 }, {  36,   0 },
    2002             :  {  37,   0 }, {  38,   0 }, {   0,   0 }, {  40,   0 }, {  41,   0 },
    2003             :  {  42,   0 }, {  43,   0 }, {  44,   0 }, {  45,   0 }, {  46,   0 },
    2004             :  {  47,   0 }, {  48,   0 }, {  49,   0 }, {  50,   0 }, {  51,   0 },
    2005             :  {  52,   0 }, {  53,   0 }, {  54,   0 }, {  55,   0 }, {  56,   0 },
    2006             :  {  57,   0 }, {  58,   0 }, {  59,   0 }, {  60,   0 }, {  61,   0 },
    2007             :  {  62,   0 }, {  63,   0 }, {  64,   0 }, {  65,   0 }, {  66,   0 },
    2008             :  {  67,   0 }, {  68,   0 }, {  69,   0 }, {  70,   0 }, {  71,   0 },
    2009             :  {  72,   0 }, {  73,   0 }, {  74,   0 }, {  75,   0 }, {  76,   0 },
    2010             :  {  77,   0 }, {  78,   0 }, {  79,   0 }, {  80,   0 }, {  81,   0 },
    2011             : 
    2012             :  {  82,   0 }, {  83,   0 }, {  84,   0 }, {  85,   0 }, {  86,   0 },
    2013             :  {  87,   0 }, {  88,   0 }, {  89,   0 }, {  90,   0 }, {  91,   0 },
    2014             :  {   0,   0 }, {  93,   0 }, {  94,   0 }, {  95,   0 }, {  96,   0 },
    2015             :  {  97,   0 }, {  98,   0 }, {  99,   0 }, { 100,   0 }, { 101,   0 },
    2016             :  { 102,   0 }, { 103,   0 }, { 104,   0 }, { 105,   0 }, { 106,   0 },
    2017             :  { 107,   0 }, { 108,   0 }, { 109,   0 }, { 110,   0 }, { 111,   0 },
    2018             :  { 112,   0 }, { 113,   0 }, { 114,   0 }, { 115,   0 }, { 116,   0 },
    2019             :  { 117,   0 }, { 118,   0 }, { 119,   0 }, { 120,   0 }, { 121,   0 },
    2020             :  { 122,   0 }, { 123,   0 }, { 124,   0 }, { 125,   0 }, { 126,   0 },
    2021             :  { 127,   0 }, { 128,   0 }, { 129,   0 }, { 130,   0 }, { 131,   0 },
    2022             : 
    2023             :  { 132,   0 }, { 133,   0 }, { 134,   0 }, { 135,   0 }, { 136,   0 },
    2024             :  { 137,   0 }, { 138,   0 }, { 139,   0 }, { 140,   0 }, { 141,   0 },
    2025             :  { 142,   0 }, { 143,   0 }, { 144,   0 }, { 145,   0 }, { 146,   0 },
    2026             :  { 147,   0 }, { 148,   0 }, { 149,   0 }, { 150,   0 }, { 151,   0 },
    2027             :  { 152,   0 }, { 153,   0 }, { 154,   0 }, { 155,   0 }, { 156,   0 },
    2028             :  { 157,   0 }, { 158,   0 }, { 159,   0 }, { 160,   0 }, { 161,   0 },
    2029             :  { 162,   0 }, { 163,   0 }, { 164,   0 }, { 165,   0 }, { 166,   0 },
    2030             :  { 167,   0 }, { 168,   0 }, { 169,   0 }, { 170,   0 }, { 171,   0 },
    2031             :  { 172,   0 }, { 173,   0 }, { 174,   0 }, { 175,   0 }, { 176,   0 },
    2032             :  { 177,   0 }, { 178,   0 }, { 179,   0 }, { 180,   0 }, { 181,   0 },
    2033             : 
    2034             :  { 182,   0 }, { 183,   0 }, { 184,   0 }, { 185,   0 }, { 186,   0 },
    2035             :  { 187,   0 }, { 188,   0 }, { 189,   0 }, { 190,   0 }, { 191,   0 },
    2036             :  { 192,   0 }, { 193,   0 }, { 194,   0 }, { 195,   0 }, { 196,   0 },
    2037             :  { 197,   0 }, { 198,   0 }, { 199,   0 }, { 200,   0 }, { 201,   0 },
    2038             :  { 202,   0 }, { 203,   0 }, { 204,   0 }, { 205,   0 }, { 206,   0 },
    2039             :  { 207,   0 }, { 208,   0 }, { 209,   0 }, { 210,   0 }, { 211,   0 },
    2040             :  { 212,   0 }, { 213,   0 }, { 214,   0 }, { 215,   0 }, { 216,   0 },
    2041             :  { 217,   0 }, { 218,   0 }, { 219,   0 }, { 220,   0 }, { 221,   0 },
    2042             :  { 222,   0 }, { 223,   0 }, { 224,   0 }, { 225,   0 }, { 226,   0 },
    2043             :  { 227,   0 }, { 228,   0 }, { 229,   0 }, { 230,   0 }, { 231,   0 },
    2044             : 
    2045             :  { 232,   0 }, { 233,   0 }, { 234,   0 }, { 235,   0 }, { 236,   0 },
    2046             :  { 237,   0 }, { 238,   0 }, { 239,   0 }, { 240,   0 }, { 241,   0 },
    2047             :  { 242,   0 }, { 243,   0 }, { 244,   0 }, { 245,   0 }, { 246,   0 },
    2048             :  { 247,   0 }, { 248,   0 }, { 249,   0 }, { 250,   0 }, { 251,   0 },
    2049             :  { 252,   0 }, { 253,   0 }, { 254,   0 }, { 255,   0 }, { 256,   0 },
    2050             :  {   0,  25 }, {   0,1342 }, {   1,   0 }, {   2,   0 }, {   3,   0 },
    2051             :  {   4,   0 }, {   5,   0 }, {   6,   0 }, {   7,   0 }, {   8,   0 },
    2052             :  {   9,   0 }, {  10,   0 }, {  11,   0 }, {  12,   0 }, {  13,   0 },
    2053             :  {  14,   0 }, {  15,   0 }, {  16,   0 }, {  17,   0 }, {  18,   0 },
    2054             :  {  19,   0 }, {  20,   0 }, {  21,   0 }, {  22,   0 }, {  23,   0 },
    2055             : 
    2056             :  {  24,   0 }, {  25,   0 }, {  26,   0 }, {  27,   0 }, {  28,   0 },
    2057             :  {  29,   0 }, {  30,   0 }, {  31,   0 }, {  32,   0 }, {  33,   0 },
    2058             :  {  34,   0 }, {  35,   0 }, {  36,   0 }, {  37,   0 }, {  38,   0 },
    2059             :  {  39,   0 }, {  40,   0 }, {  41,   0 }, {   0,   0 }, {  43,   0 },
    2060             :  {  44,   0 }, {  45,   0 }, {  46,   0 }, {  47,   0 }, {  48,   0 },
    2061             :  {  49,   0 }, {  50,   0 }, {  51,   0 }, {  52,   0 }, {  53,   0 },
    2062             :  {  54,   0 }, {  55,   0 }, {  56,   0 }, {  57,   0 }, {  58,   0 },
    2063             :  {  59,   0 }, {  60,   0 }, {  61,   0 }, {  62,   0 }, {  63,   0 },
    2064             :  {  64,   0 }, {  65,   0 }, {  66,   0 }, {  67,   0 }, {  68,   0 },
    2065             :  {  69,   0 }, {  70,   0 }, {  71,   0 }, {  72,   0 }, {  73,   0 },
    2066             : 
    2067             :  {  74,   0 }, {  75,   0 }, {  76,   0 }, {  77,   0 }, {  78,   0 },
    2068             :  {  79,   0 }, {  80,   0 }, {  81,   0 }, {  82,   0 }, {  83,   0 },
    2069             :  {  84,   0 }, {  85,   0 }, {  86,   0 }, {  87,   0 }, {  88,   0 },
    2070             :  {  89,   0 }, {  90,   0 }, {  91,   0 }, {  92,   0 }, {  93,   0 },
    2071             :  {  94,   0 }, {  95,   0 }, {  96,   0 }, {  97,   0 }, {  98,   0 },
    2072             :  {  99,   0 }, { 100,   0 }, { 101,   0 }, { 102,   0 }, { 103,   0 },
    2073             :  { 104,   0 }, { 105,   0 }, { 106,   0 }, { 107,   0 }, { 108,   0 },
    2074             :  { 109,   0 }, { 110,   0 }, { 111,   0 }, { 112,   0 }, { 113,   0 },
    2075             :  { 114,   0 }, { 115,   0 }, { 116,   0 }, { 117,   0 }, { 118,   0 },
    2076             :  { 119,   0 }, { 120,   0 }, { 121,   0 }, { 122,   0 }, { 123,   0 },
    2077             : 
    2078             :  { 124,   0 }, { 125,   0 }, { 126,   0 }, { 127,   0 }, { 128,   0 },
    2079             :  { 129,   0 }, { 130,   0 }, { 131,   0 }, { 132,   0 }, { 133,   0 },
    2080             :  { 134,   0 }, { 135,   0 }, { 136,   0 }, { 137,   0 }, { 138,   0 },
    2081             :  { 139,   0 }, { 140,   0 }, { 141,   0 }, { 142,   0 }, { 143,   0 },
    2082             :  { 144,   0 }, { 145,   0 }, { 146,   0 }, { 147,   0 }, { 148,   0 },
    2083             :  { 149,   0 }, { 150,   0 }, { 151,   0 }, { 152,   0 }, { 153,   0 },
    2084             :  { 154,   0 }, { 155,   0 }, { 156,   0 }, { 157,   0 }, { 158,   0 },
    2085             :  { 159,   0 }, { 160,   0 }, { 161,   0 }, { 162,   0 }, { 163,   0 },
    2086             :  { 164,   0 }, { 165,   0 }, { 166,   0 }, { 167,   0 }, { 168,   0 },
    2087             :  { 169,   0 }, { 170,   0 }, { 171,   0 }, { 172,   0 }, { 173,   0 },
    2088             : 
    2089             :  { 174,   0 }, { 175,   0 }, { 176,   0 }, { 177,   0 }, { 178,   0 },
    2090             :  { 179,   0 }, { 180,   0 }, { 181,   0 }, { 182,   0 }, { 183,   0 },
    2091             :  { 184,   0 }, { 185,   0 }, { 186,   0 }, { 187,   0 }, { 188,   0 },
    2092             :  { 189,   0 }, { 190,   0 }, { 191,   0 }, { 192,   0 }, { 193,   0 },
    2093             :  { 194,   0 }, { 195,   0 }, { 196,   0 }, { 197,   0 }, { 198,   0 },
    2094             :  { 199,   0 }, { 200,   0 }, { 201,   0 }, { 202,   0 }, { 203,   0 },
    2095             :  { 204,   0 }, { 205,   0 }, { 206,   0 }, { 207,   0 }, { 208,   0 },
    2096             :  { 209,   0 }, { 210,   0 }, { 211,   0 }, { 212,   0 }, { 213,   0 },
    2097             :  { 214,   0 }, { 215,   0 }, { 216,   0 }, { 217,   0 }, { 218,   0 },
    2098             :  { 219,   0 }, { 220,   0 }, { 221,   0 }, { 222,   0 }, { 223,   0 },
    2099             : 
    2100             :  { 224,   0 }, { 225,   0 }, { 226,   0 }, { 227,   0 }, { 228,   0 },
    2101             :  { 229,   0 }, { 230,   0 }, { 231,   0 }, { 232,   0 }, { 233,   0 },
    2102             :  { 234,   0 }, { 235,   0 }, { 236,   0 }, { 237,   0 }, { 238,   0 },
    2103             :  { 239,   0 }, { 240,   0 }, { 241,   0 }, { 242,   0 }, { 243,   0 },
    2104             :  { 244,   0 }, { 245,   0 }, { 246,   0 }, { 247,   0 }, { 248,   0 },
    2105             :  { 249,   0 }, { 250,   0 }, { 251,   0 }, { 252,   0 }, { 253,   0 },
    2106             :  { 254,   0 }, { 255,   0 }, { 256,   0 }, {   0,  44 }, {   0,1084 },
    2107             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2108             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,  47 }, {   0,1074 },
    2109             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2110             : 
    2111             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2112             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2113             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2114             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2115             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2116             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2117             :  {   0,   0 }, {   0,   0 }, {  48,   0 }, {  49,   0 }, {  50,   0 },
    2118             :  {  51,   0 }, {  52,   0 }, {  53,   0 }, {  54,   0 }, {  55,   0 },
    2119             :  {  56,   0 }, {  57,   0 }, {  48, 469 }, {  49, 469 }, {  50, 469 },
    2120             :  {  51, 469 }, {  52, 469 }, {  53, 469 }, {  54, 469 }, {  55, 469 },
    2121             : 
    2122             :  {  56, 469 }, {  57, 469 }, {   0,   0 }, {  69, 441 }, {   0,   0 },
    2123             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2124             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2125             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2126             :  {   0,   0 }, {   0,  43 }, {   0, 996 }, {   1,-2362 }, {   2,-2362 },
    2127             :  {   3,-2362 }, {   4,-2362 }, {   5,-2362 }, {   6,-2362 }, {   7,-2362 },
    2128             :  {   8,-2362 }, {   0,   0 }, {   0,   0 }, {  11,-2362 }, {   0,   0 },
    2129             :  { 101, 441 }, {  14,-2362 }, {  15,-2362 }, {  16,-2362 }, {  17,-2362 },
    2130             :  {  18,-2362 }, {  19,-2362 }, {  20,-2362 }, {  21,-2362 }, {  22,-2362 },
    2131             :  {  23,-2362 }, {  24,-2362 }, {  25,-2362 }, {  26,-2362 }, {  27,-2362 },
    2132             : 
    2133             :  {  28,-2362 }, {  29,-2362 }, {  30,-2362 }, {  31,-2362 }, {   0,   0 },
    2134             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2135             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2136             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2137             :  {  48,   0 }, {  49,   0 }, {  50,   0 }, {  51,   0 }, {  52,   0 },
    2138             :  {  53,   0 }, {  54,   0 }, {  55,   0 }, {  56,   0 }, {  57,   0 },
    2139             :  {   0,   0 }, {  59,-2362 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2140             :  {   0,   0 }, {   0,   0 }, {  65,-2362 }, {  66,-2362 }, {  67,-2362 },
    2141             :  {  68,-2362 }, {  69,-2362 }, {  70,-2362 }, {  71,-2362 }, {  72,-2362 },
    2142             :  {  73,-2362 }, {  74,-2362 }, {  75,-2362 }, {  76,-2362 }, {  77,-2362 },
    2143             : 
    2144             :  {  78,-2362 }, {  79,-2362 }, {  80,-2362 }, {  81,-2362 }, {  82,-2362 },
    2145             :  {  83,-2362 }, {  84,-2362 }, {  85,-2362 }, {  86,-2362 }, {  87,-2362 },
    2146             :  {  88,-2362 }, {  89,-2362 }, {  90,-2362 }, {   0,   0 }, {   0,   0 },
    2147             :  {   0,   0 }, {  94,-2362 }, {  95,-2362 }, {  96,-2362 }, {  97,-2362 },
    2148             :  {  98,-2362 }, {  99,-2362 }, { 100,-2362 }, { 101,-2362 }, { 102,-2362 },
    2149             :  { 103,-2362 }, { 104,-2362 }, { 105,-2362 }, { 106,-2362 }, { 107,-2362 },
    2150             :  { 108,-2362 }, { 109,-2362 }, { 110,-2362 }, { 111,-2362 }, { 112,-2362 },
    2151             :  { 113,-2362 }, { 114,-2362 }, { 115,-2362 }, { 116,-2362 }, { 117,-2362 },
    2152             :  { 118,-2362 }, { 119,-2362 }, { 120,-2362 }, { 121,-2362 }, { 122,-2362 },
    2153             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, { 126,-2362 }, { 127,-2362 },
    2154             : 
    2155             :  { 128,-2362 }, { 129,-2362 }, { 130,-2362 }, { 131,-2362 }, { 132,-2362 },
    2156             :  { 133,-2362 }, { 134,-2362 }, { 135,-2362 }, { 136,-2362 }, { 137,-2362 },
    2157             :  { 138,-2362 }, { 139,-2362 }, { 140,-2362 }, { 141,-2362 }, { 142,-2362 },
    2158             :  { 143,-2362 }, { 144,-2362 }, { 145,-2362 }, { 146,-2362 }, { 147,-2362 },
    2159             :  { 148,-2362 }, { 149,-2362 }, { 150,-2362 }, { 151,-2362 }, { 152,-2362 },
    2160             :  { 153,-2362 }, { 154,-2362 }, { 155,-2362 }, { 156,-2362 }, { 157,-2362 },
    2161             :  { 158,-2362 }, { 159,-2362 }, { 160,-2362 }, { 161,-2362 }, { 162,-2362 },
    2162             :  { 163,-2362 }, { 164,-2362 }, { 165,-2362 }, { 166,-2362 }, { 167,-2362 },
    2163             :  { 168,-2362 }, { 169,-2362 }, { 170,-2362 }, { 171,-2362 }, { 172,-2362 },
    2164             :  { 173,-2362 }, { 174,-2362 }, { 175,-2362 }, { 176,-2362 }, { 177,-2362 },
    2165             : 
    2166             :  { 178,-2362 }, { 179,-2362 }, { 180,-2362 }, { 181,-2362 }, { 182,-2362 },
    2167             :  { 183,-2362 }, { 184,-2362 }, { 185,-2362 }, { 186,-2362 }, { 187,-2362 },
    2168             :  { 188,-2362 }, { 189,-2362 }, { 190,-2362 }, { 191,-2362 }, { 192,-2362 },
    2169             :  { 193,-2362 }, { 194,-2362 }, { 195,-2362 }, { 196,-2362 }, { 197,-2362 },
    2170             :  { 198,-2362 }, { 199,-2362 }, { 200,-2362 }, { 201,-2362 }, { 202,-2362 },
    2171             :  { 203,-2362 }, { 204,-2362 }, { 205,-2362 }, { 206,-2362 }, { 207,-2362 },
    2172             :  { 208,-2362 }, { 209,-2362 }, { 210,-2362 }, { 211,-2362 }, { 212,-2362 },
    2173             :  { 213,-2362 }, { 214,-2362 }, { 215,-2362 }, { 216,-2362 }, { 217,-2362 },
    2174             :  { 218,-2362 }, { 219,-2362 }, { 220,-2362 }, { 221,-2362 }, { 222,-2362 },
    2175             :  { 223,-2362 }, { 224,-2362 }, { 225,-2362 }, { 226,-2362 }, { 227,-2362 },
    2176             : 
    2177             :  { 228,-2362 }, { 229,-2362 }, { 230,-2362 }, { 231,-2362 }, { 232,-2362 },
    2178             :  { 233,-2362 }, { 234,-2362 }, { 235,-2362 }, { 236,-2362 }, { 237,-2362 },
    2179             :  { 238,-2362 }, { 239,-2362 }, { 240,-2362 }, { 241,-2362 }, { 242,-2362 },
    2180             :  { 243,-2362 }, { 244,-2362 }, { 245,-2362 }, { 246,-2362 }, { 247,-2362 },
    2181             :  { 248,-2362 }, { 249,-2362 }, { 250,-2362 }, { 251,-2362 }, { 252,-2362 },
    2182             :  { 253,-2362 }, { 254,-2362 }, { 255,-2362 }, { 256,-2362 }, {   0,  14 },
    2183             :  {   0, 738 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2184             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2185             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2186             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2187             : 
    2188             :  {   0,   0 }, {   0,   0 }, {   0,  14 }, {   0, 715 }, {   0,   0 },
    2189             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2190             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2191             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2192             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2193             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48, 154 }, {  49, 154 },
    2194             :  {  50, 154 }, {  51, 154 }, {  52, 154 }, {  53, 154 }, {  54, 154 },
    2195             :  {  55, 154 }, {  56, 154 }, {  57, 154 }, {   0,   0 }, {   0,   0 },
    2196             :  {   0,  15 }, {   0, 677 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2197             :  {  65, 154 }, {  66, 154 }, {  67, 154 }, {  68, 154 }, {  69, 154 },
    2198             : 
    2199             :  {  70, 154 }, {  48, 154 }, {  49, 154 }, {  50, 154 }, {  51, 154 },
    2200             :  {  52, 154 }, {  53, 154 }, {  54, 154 }, {  55, 154 }, {  56, 154 },
    2201             :  {  57, 154 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2202             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  65, 154 }, {  66, 154 },
    2203             :  {  67, 154 }, {  68, 154 }, {  69, 154 }, {  70, 154 }, {   0,  47 },
    2204             :  {   0, 643 }, {   0,   0 }, {  97, 154 }, {  98, 154 }, {  99, 154 },
    2205             :  { 100, 154 }, { 101, 154 }, { 102, 154 }, {   0,   0 }, {   0,   0 },
    2206             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,-3208 },
    2207             :  {  49,-3208 }, {  50,-3208 }, {  51,-3208 }, {  52,-3208 }, {  53,-3208 },
    2208             :  {  54,-3208 }, {  55,-3208 }, {  56,-3208 }, {  57,-3208 }, {   0,   0 },
    2209             : 
    2210             :  {  97, 154 }, {  98, 154 }, {  99, 154 }, { 100, 154 }, { 101, 154 },
    2211             :  { 102, 154 }, {  65,-3208 }, {  66,-3208 }, {  67,-3208 }, {  68,-3208 },
    2212             :  {  69,-3208 }, {  70,-3208 }, {   0,  43 }, {   0, 605 }, {   0,   0 },
    2213             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  43,-431 }, {   0,   0 },
    2214             :  {  45,-431 }, {   0,   0 }, {   0,   0 }, {  48,  38 }, {  49,  38 },
    2215             :  {  50,  38 }, {  51,  38 }, {  52,  38 }, {  53,  38 }, {  54,  38 },
    2216             :  {  55,  38 }, {  56,  38 }, {  57,  38 }, {   0,  14 }, {   0, 584 },
    2217             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  97,-3208 }, {  98,-3208 },
    2218             :  {  99,-3208 }, { 100,-3208 }, { 101,-3208 }, { 102,-3208 }, {   0,   0 },
    2219             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2220             : 
    2221             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2222             :  {   0,   0 }, {   0,  14 }, {   0, 561 }, {   0,   0 }, {   0,   0 },
    2223             :  {   0,   0 }, {  48,   0 }, {  49,   0 }, {  50,   0 }, {  51,   0 },
    2224             :  {  52,   0 }, {  53,   0 }, {  54,   0 }, {  55,   0 }, {  56,   0 },
    2225             :  {  57,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2226             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2227             :  {   0,   0 }, {   0,   0 }, {  48,  61 }, {  49,  61 }, {  50,  61 },
    2228             :  {  51,  61 }, {  52,  61 }, {  53,  61 }, {  54,  61 }, {  55,  61 },
    2229             :  {  56,  61 }, {  57,  61 }, {   0,   0 }, {   0,   0 }, {   0,  14 },
    2230             :  {   0, 523 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  65,  61 },
    2231             : 
    2232             :  {  66,  61 }, {  67,  61 }, {  68,  61 }, {  69,  61 }, {  70,  61 },
    2233             :  {  48,  61 }, {  49,  61 }, {  50,  61 }, {  51,  61 }, {  52,  61 },
    2234             :  {  53,  61 }, {  54,  61 }, {  55,  61 }, {  56,  61 }, {  57,  61 },
    2235             :  {   0,   0 }, {   0,   0 }, {   0,  14 }, {   0, 500 }, {   0,   0 },
    2236             :  {   0,   0 }, {   0,   0 }, {  65,  61 }, {  66,  61 }, {  67,  61 },
    2237             :  {  68,  61 }, {  69,  61 }, {  70,  61 }, {   0,   0 }, {   0,   0 },
    2238             :  {   0,   0 }, {  97,  61 }, {  98,  61 }, {  99,  61 }, { 100,  61 },
    2239             :  { 101,  61 }, { 102,  61 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2240             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,-2802 }, {  49,-2802 },
    2241             :  {  50,-2802 }, {  51,-2802 }, {  52,-2802 }, {  53,-2802 }, {  54,-2802 },
    2242             : 
    2243             :  {  55,-2802 }, {  56,-2802 }, {  57,-2802 }, {   0,   0 }, {  97,  61 },
    2244             :  {  98,  61 }, {  99,  61 }, { 100,  61 }, { 101,  61 }, { 102,  61 },
    2245             :  {  65,-2802 }, {  66,-2802 }, {  67,-2802 }, {  68,-2802 }, {  69,-2802 },
    2246             :  {  70,-2802 }, {  48,  61 }, {  49,  61 }, {  50,  61 }, {  51,  61 },
    2247             :  {  52,  61 }, {  53,  61 }, {  54,  61 }, {  55,  61 }, {  56,  61 },
    2248             :  {  57,  61 }, {   0,   0 }, {   0,   0 }, {   0,  14 }, {   0, 439 },
    2249             :  {   0,   0 }, {   0,   0 }, { 125,-2764 }, {  65,  61 }, {  66,  61 },
    2250             :  {  67,  61 }, {  68,  61 }, {  69,  61 }, {  70,  61 }, {   0,   0 },
    2251             :  {   0,   0 }, {   0,   0 }, {  97,-2802 }, {  98,-2802 }, {  99,-2802 },
    2252             :  { 100,-2802 }, { 101,-2802 }, { 102,-2802 }, {   0,   0 }, {   0,   0 },
    2253             : 
    2254             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2255             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2256             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2257             :  {  97,  61 }, {  98,  61 }, {  99,  61 }, { 100,  61 }, { 101,  61 },
    2258             :  { 102,  61 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2259             :  {   0,   0 }, {   0,   0 }, {  48,  61 }, {  49,  61 }, {  50,  61 },
    2260             :  {  51,  61 }, {  52,  61 }, {  53,  61 }, {  54,  61 }, {  55,  61 },
    2261             :  {  56,  61 }, {  57,  61 }, {   0,   0 }, {   0,   0 }, {   0,  14 },
    2262             :  {   0, 378 }, {   0,   0 }, {   0,   0 }, { 125,-2825 }, {  65,  61 },
    2263             :  {  66,  61 }, {  67,  61 }, {  68,  61 }, {  69,  61 }, {  70,  61 },
    2264             : 
    2265             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2266             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2267             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2268             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2269             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2270             :  {   0,   0 }, {  97,  61 }, {  98,  61 }, {  99,  61 }, { 100,  61 },
    2271             :  { 101,  61 }, { 102,  61 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2272             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48, 120 }, {  49, 120 },
    2273             :  {  50, 120 }, {  51, 120 }, {  52, 120 }, {  53, 120 }, {  54, 120 },
    2274             :  {  55, 120 }, {  56, 120 }, {  57, 120 }, {   0,   0 }, {   0,   0 },
    2275             : 
    2276             :  {   0,  14 }, {   0, 317 }, {   0,   0 }, {   0,   0 }, { 125,-2886 },
    2277             :  {  65, 120 }, {  66, 120 }, {  67, 120 }, {  68, 120 }, {  69, 120 },
    2278             :  {  70, 120 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2279             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2280             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2281             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2282             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2283             :  {   0,   0 }, {   0,   0 }, {  97, 120 }, {  98, 120 }, {  99, 120 },
    2284             :  { 100, 120 }, { 101, 120 }, { 102, 120 }, {   0,   0 }, {   0,   0 },
    2285             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,-421 },
    2286             : 
    2287             :  {  49,-421 }, {  50,-421 }, {  51,-421 }, {  52,-421 }, {  53,-421 },
    2288             :  {  54,-421 }, {  55,-421 }, {  56,-421 }, {  57,-421 }, {   0,  14 },
    2289             :  {   0, 258 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2290             :  { 125,-2947 }, {  65,-421 }, {  66,-421 }, {  67,-421 }, {  68,-421 },
    2291             :  {  69,-421 }, {  70,-421 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2292             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2293             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2294             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2295             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2296             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  97,-421 }, {  98,-421 },
    2297             : 
    2298             :  {  99,-421 }, { 100,-421 }, { 101,-421 }, { 102,-421 }, {   0,   0 },
    2299             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,-1772 }, {  49,-1772 },
    2300             :  {  50,-1772 }, {  51,-1772 }, {  52,-1772 }, {  53,-1772 }, {  54,-1772 },
    2301             :  {  55,-1772 }, {  56,-1772 }, {  57,-1772 }, {   0,   0 }, {   0,   0 },
    2302             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, { 123,-398 },
    2303             :  {  65,-1772 }, {  66,-1772 }, {  67,-1772 }, {  68,-1772 }, {  69,-1772 },
    2304             :  {  70,-1772 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2305             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2306             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2307             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2308             : 
    2309             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2310             :  {   0,   0 }, {   0,   0 }, {  97,-1772 }, {  98,-1772 }, {  99,-1772 },
    2311             :  { 100,-1772 }, { 101,-1772 }, { 102,-1772 }, {   0,   0 }, {   0,   0 },
    2312             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2313             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2314             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2315             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2316             :  { 125,-3067 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2317             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2318             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2319             : 
    2320             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2321             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2322             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2323             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2324             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2325             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2326             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2327             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2328             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2329             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2330             : 
    2331             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2332             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2333             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2334             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2335             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2336             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2337             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2338             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2339             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2340             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2341             : 
    2342             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2343             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2344             :  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
    2345             :  {   0,   0 }, {   0,   0 }, { 257,  53 }, {   1,   0 },    };
    2346             : 
    2347             : static yyconst struct yy_trans_info *yy_start_state_list[13] =
    2348             :     {
    2349             :     &yy_transition[1],
    2350             :     &yy_transition[3],
    2351             :     &yy_transition[261],
    2352             :     &yy_transition[519],
    2353             :     &yy_transition[777],
    2354             :     &yy_transition[1035],
    2355             :     &yy_transition[1293],
    2356             :     &yy_transition[1551],
    2357             :     &yy_transition[1809],
    2358             :     &yy_transition[2067],
    2359             :     &yy_transition[2325],
    2360             :     &yy_transition[2583],
    2361             :     &yy_transition[2841],
    2362             : 
    2363             :     } ;
    2364             : 
    2365             : extern int jsonpath_yy_flex_debug;
    2366             : int jsonpath_yy_flex_debug = 0;
    2367             : 
    2368             : /* The intent behind this definition is that it'll catch
    2369             :  * any uses of REJECT which flex missed.
    2370             :  */
    2371             : #define REJECT reject_used_but_not_detected
    2372             : #define yymore() yymore_used_but_not_detected
    2373             : #define YY_MORE_ADJ 0
    2374             : #define YY_RESTORE_YY_MORE_OFFSET
    2375             : char *jsonpath_yytext;
    2376             : #line 1 "jsonpath_scan.l"
    2377             : #line 2 "jsonpath_scan.l"
    2378             : /*-------------------------------------------------------------------------
    2379             :  *
    2380             :  * jsonpath_scan.l
    2381             :  *  Lexical parser for jsonpath datatype
    2382             :  *
    2383             :  * Splits jsonpath string into tokens represented as JsonPathString structs.
    2384             :  * Decodes unicode and hex escaped strings.
    2385             :  *
    2386             :  * Copyright (c) 2019, PostgreSQL Global Development Group
    2387             :  *
    2388             :  * IDENTIFICATION
    2389             :  *  src/backend/utils/adt/jsonpath_scan.l
    2390             :  *
    2391             :  *-------------------------------------------------------------------------
    2392             :  */
    2393             : 
    2394             : #include "postgres.h"
    2395             : 
    2396             : #include "mb/pg_wchar.h"
    2397             : #include "nodes/pg_list.h"
    2398             : 
    2399             : static JsonPathString scanstring;
    2400             : 
    2401             : /* Handles to the buffer that the lexer uses internally */
    2402             : static YY_BUFFER_STATE scanbufhandle;
    2403             : static char *scanbuf;
    2404             : static int  scanbuflen;
    2405             : 
    2406             : static void addstring(bool init, char *s, int l);
    2407             : static void addchar(bool init, char s);
    2408             : static enum yytokentype checkKeyword(void);
    2409             : static void parseUnicode(char *s, int l);
    2410             : static void parseHexChar(char *s);
    2411             : 
    2412             : /* Avoid exit() on fatal scanner errors (a bit ugly -- see yy_fatal_error) */
    2413             : #undef fprintf
    2414             : #define fprintf(file, fmt, msg)  fprintf_to_ereport(fmt, msg)
    2415             : 
    2416             : static void
    2417             : fprintf_to_ereport(const char *fmt, const char *msg)
    2418             : {
    2419             :     ereport(ERROR, (errmsg_internal("%s", msg)));
    2420             : }
    2421             : 
    2422             : #define YY_NO_INPUT 1
    2423             : /*
    2424             :  * We use exclusive states for quoted, signle-quoted and non-quoted strings,
    2425             :  * quoted variable names and C-tyle comments.
    2426             :  * Exclusive states:
    2427             :  *  <xq> - quoted strings
    2428             :  *  <xnq> - non-quoted strings
    2429             :  *  <xvq> - quoted variable names
    2430             :  *  <xsq> - single-quoted strings
    2431             :  *  <xc> - C-style comment
    2432             :  */
    2433             : 
    2434             : 
    2435             : 
    2436             : 
    2437             : 
    2438             : #line 2439 "jsonpath_scan.c"
    2439             : 
    2440             : #define INITIAL 0
    2441             : #define xq 1
    2442             : #define xnq 2
    2443             : #define xvq 3
    2444             : #define xsq 4
    2445             : #define xc 5
    2446             : 
    2447             : #ifndef YY_NO_UNISTD_H
    2448             : /* Special case for "unistd.h", since it is non-ANSI. We include it way
    2449             :  * down here because we want the user's section 1 to have been scanned first.
    2450             :  * The user has a chance to override it with an option.
    2451             :  */
    2452             : #include <unistd.h>
    2453             : #endif
    2454             : 
    2455             : #ifndef YY_EXTRA_TYPE
    2456             : #define YY_EXTRA_TYPE void *
    2457             : #endif
    2458             : 
    2459             : static int yy_init_globals (void );
    2460             : 
    2461             : /* Accessor methods to globals.
    2462             :    These are made visible to non-reentrant scanners for convenience. */
    2463             : 
    2464             : int jsonpath_yylex_destroy (void );
    2465             : 
    2466             : int jsonpath_yyget_debug (void );
    2467             : 
    2468             : void jsonpath_yyset_debug (int debug_flag  );
    2469             : 
    2470             : YY_EXTRA_TYPE jsonpath_yyget_extra (void );
    2471             : 
    2472             : void jsonpath_yyset_extra (YY_EXTRA_TYPE user_defined  );
    2473             : 
    2474             : FILE *jsonpath_yyget_in (void );
    2475             : 
    2476             : void jsonpath_yyset_in  (FILE * _in_str  );
    2477             : 
    2478             : FILE *jsonpath_yyget_out (void );
    2479             : 
    2480             : void jsonpath_yyset_out  (FILE * _out_str  );
    2481             : 
    2482             :             int jsonpath_yyget_leng (void );
    2483             : 
    2484             : char *jsonpath_yyget_text (void );
    2485             : 
    2486             : int jsonpath_yyget_lineno (void );
    2487             : 
    2488             : void jsonpath_yyset_lineno (int _line_number  );
    2489             : 
    2490             : YYSTYPE * jsonpath_yyget_lval (void );
    2491             : 
    2492             : void jsonpath_yyset_lval (YYSTYPE * yylval_param  );
    2493             : 
    2494             : /* Macros after this point can all be overridden by user definitions in
    2495             :  * section 1.
    2496             :  */
    2497             : 
    2498             : #ifndef YY_SKIP_YYWRAP
    2499             : #ifdef __cplusplus
    2500             : extern "C" int jsonpath_yywrap (void );
    2501             : #else
    2502             : extern int jsonpath_yywrap (void );
    2503             : #endif
    2504             : #endif
    2505             : 
    2506             : #ifndef YY_NO_UNPUT
    2507             :     
    2508             : #endif
    2509             : 
    2510             : #ifndef yytext_ptr
    2511             : static void yy_flex_strncpy (char *,yyconst char *,int );
    2512             : #endif
    2513             : 
    2514             : #ifdef YY_NEED_STRLEN
    2515             : static int yy_flex_strlen (yyconst char * );
    2516             : #endif
    2517             : 
    2518             : #ifndef YY_NO_INPUT
    2519             : 
    2520             : #ifdef __cplusplus
    2521             : static int yyinput (void );
    2522             : #else
    2523             : static int input (void );
    2524             : #endif
    2525             : 
    2526             : #endif
    2527             : 
    2528             : /* Amount of stuff to slurp up with each read. */
    2529             : #ifndef YY_READ_BUF_SIZE
    2530             : #ifdef __ia64__
    2531             : /* On IA-64, the buffer size is 16k, not 8k */
    2532             : #define YY_READ_BUF_SIZE 16384
    2533             : #else
    2534             : #define YY_READ_BUF_SIZE 8192
    2535             : #endif /* __ia64__ */
    2536             : #endif
    2537             : 
    2538             : /* Copy whatever the last rule matched to the standard output. */
    2539             : #ifndef ECHO
    2540             : /* This used to be an fputs(), but since the string might contain NUL's,
    2541             :  * we now use fwrite().
    2542             :  */
    2543             : #define ECHO do { if (fwrite( jsonpath_yytext, (size_t) jsonpath_yyleng, 1, jsonpath_yyout )) {} } while (0)
    2544             : #endif
    2545             : 
    2546             : /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
    2547             :  * is returned in "result".
    2548             :  */
    2549             : #ifndef YY_INPUT
    2550             : #define YY_INPUT(buf,result,max_size) \
    2551             :     if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
    2552             :         { \
    2553             :         int c = '*'; \
    2554             :         size_t n; \
    2555             :         for ( n = 0; n < max_size && \
    2556             :                  (c = getc( jsonpath_yyin )) != EOF && c != '\n'; ++n ) \
    2557             :             buf[n] = (char) c; \
    2558             :         if ( c == '\n' ) \
    2559             :             buf[n++] = (char) c; \
    2560             :         if ( c == EOF && ferror( jsonpath_yyin ) ) \
    2561             :             YY_FATAL_ERROR( "input in flex scanner failed" ); \
    2562             :         result = n; \
    2563             :         } \
    2564             :     else \
    2565             :         { \
    2566             :         errno=0; \
    2567             :         while ( (result = (int) fread(buf, 1, max_size, jsonpath_yyin))==0 && ferror(jsonpath_yyin)) \
    2568             :             { \
    2569             :             if( errno != EINTR) \
    2570             :                 { \
    2571             :                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
    2572             :                 break; \
    2573             :                 } \
    2574             :             errno=0; \
    2575             :             clearerr(jsonpath_yyin); \
    2576             :             } \
    2577             :         }\
    2578             : \
    2579             : 
    2580             : #endif
    2581             : 
    2582             : /* No semi-colon after return; correct usage is to write "yyterminate();" -
    2583             :  * we don't want an extra ';' after the "return" because that will cause
    2584             :  * some compilers to complain about unreachable statements.
    2585             :  */
    2586             : #ifndef yyterminate
    2587             : #define yyterminate() return YY_NULL
    2588             : #endif
    2589             : 
    2590             : /* Number of entries by which start-condition stack grows. */
    2591             : #ifndef YY_START_STACK_INCR
    2592             : #define YY_START_STACK_INCR 25
    2593             : #endif
    2594             : 
    2595             : /* Report a fatal error. */
    2596             : #ifndef YY_FATAL_ERROR
    2597             : #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
    2598             : #endif
    2599             : 
    2600             : /* end tables serialization structures and prototypes */
    2601             : 
    2602             : /* Default declaration of generated scanner - a define so the user can
    2603             :  * easily add parameters.
    2604             :  */
    2605             : #ifndef YY_DECL
    2606             : #define YY_DECL_IS_OURS 1
    2607             : 
    2608             : extern int jsonpath_yylex \
    2609             :                (YYSTYPE * yylval_param );
    2610             : 
    2611             : #define YY_DECL int jsonpath_yylex \
    2612             :                (YYSTYPE * yylval_param )
    2613             : #endif /* !YY_DECL */
    2614             : 
    2615             : /* Code executed at the beginning of each rule, after jsonpath_yytext and jsonpath_yyleng
    2616             :  * have been set up.
    2617             :  */
    2618             : #ifndef YY_USER_ACTION
    2619             : #define YY_USER_ACTION
    2620             : #endif
    2621             : 
    2622             : /* Code executed at the end of each rule. */
    2623             : #ifndef YY_BREAK
    2624             : #define YY_BREAK /*LINTED*/break;
    2625             : #endif
    2626             : 
    2627             : #define YY_RULE_SETUP \
    2628             :     YY_USER_ACTION
    2629             : 
    2630             : /** The main scanner function which does all the work.
    2631             :  */
    2632       22296 : YY_DECL
    2633             : {
    2634             :     yy_state_type yy_current_state;
    2635             :     char *yy_cp, *yy_bp;
    2636             :     int yy_act;
    2637             :     
    2638             :         YYSTYPE * yylval;
    2639             :     
    2640       22296 :     yylval = yylval_param;
    2641             : 
    2642       22296 :     if ( !(yy_init) )
    2643             :         {
    2644        2440 :         (yy_init) = 1;
    2645             : 
    2646             : #ifdef YY_USER_INIT
    2647             :         YY_USER_INIT;
    2648             : #endif
    2649             : 
    2650        2440 :         if ( ! (yy_start) )
    2651           0 :             (yy_start) = 1; /* first start state */
    2652             : 
    2653        2440 :         if ( ! jsonpath_yyin )
    2654        2440 :             jsonpath_yyin = stdin;
    2655             : 
    2656        2440 :         if ( ! jsonpath_yyout )
    2657        2440 :             jsonpath_yyout = stdout;
    2658             : 
    2659        2440 :         if ( ! YY_CURRENT_BUFFER ) {
    2660           0 :             jsonpath_yyensure_buffer_stack ();
    2661           0 :             YY_CURRENT_BUFFER_LVALUE =
    2662           0 :                 jsonpath_yy_create_buffer(jsonpath_yyin,YY_BUF_SIZE );
    2663             :         }
    2664             : 
    2665        2440 :         jsonpath_yy_load_buffer_state( );
    2666             :         }
    2667             : 
    2668             :     {
    2669             : #line 96 "jsonpath_scan.l"
    2670             : 
    2671             : 
    2672             : #line 2673 "jsonpath_scan.c"
    2673             : 
    2674             :     while ( /*CONSTCOND*/1 )        /* loops until end-of-file is reached */
    2675             :         {
    2676       40304 :         yy_cp = (yy_c_buf_p);
    2677             : 
    2678             :         /* Support of jsonpath_yytext. */
    2679       31300 :         *yy_cp = (yy_hold_char);
    2680             : 
    2681             :         /* yy_bp points to the position in yy_ch_buf of the start of
    2682             :          * the current run.
    2683             :          */
    2684       31300 :         yy_bp = yy_cp;
    2685             : 
    2686       31300 :         yy_current_state = yy_start_state_list[(yy_start)];
    2687             : yy_match:
    2688             :         {
    2689             :         yyconst struct yy_trans_info *yy_trans_info;
    2690             : 
    2691             :         YY_CHAR yy_c;
    2692             : 
    2693      110032 :         for ( yy_c = YY_SC_TO_UI(*yy_cp);
    2694       78732 :               (yy_trans_info = &yy_current_state[(unsigned int) yy_c])->
    2695       78732 :         yy_verify == yy_c;
    2696       47432 :               yy_c = YY_SC_TO_UI(*++yy_cp) )
    2697       47432 :             yy_current_state += yy_trans_info->yy_nxt;
    2698             :         }
    2699             : 
    2700             : yy_find_action:
    2701       33824 :         yy_act = yy_current_state[-1].yy_nxt;
    2702             : 
    2703       33824 :         YY_DO_BEFORE_ACTION;
    2704             : 
    2705             : do_action:  /* This label is used only to access EOF actions. */
    2706             : 
    2707       36468 :         switch ( yy_act )
    2708             :     { /* beginning of action switch */
    2709             : case 1:
    2710             : YY_RULE_SETUP
    2711             : #line 98 "jsonpath_scan.l"
    2712             : {
    2713             :                                     addstring(false, jsonpath_yytext, jsonpath_yyleng);
    2714             :                                 }
    2715             :     YY_BREAK
    2716             : case 2:
    2717             : /* rule 2 can match eol */
    2718             : YY_RULE_SETUP
    2719             : #line 102 "jsonpath_scan.l"
    2720             : {
    2721             :                                     yylval->str = scanstring;
    2722             :                                     BEGIN INITIAL;
    2723             :                                     return checkKeyword();
    2724             :                                 }
    2725             :     YY_BREAK
    2726             : case 3:
    2727             : YY_RULE_SETUP
    2728             : #line 109 "jsonpath_scan.l"
    2729             : {
    2730             :                                     yylval->str = scanstring;
    2731             :                                     BEGIN xc;
    2732             :                                 }
    2733             :     YY_BREAK
    2734             : case 4:
    2735             : YY_RULE_SETUP
    2736             : #line 114 "jsonpath_scan.l"
    2737             : {
    2738             :                                     yylval->str = scanstring;
    2739             :                                     yyless(0);
    2740             :                                     BEGIN INITIAL;
    2741             :                                     return checkKeyword();
    2742             :                                 }
    2743             :     YY_BREAK
    2744             : case YY_STATE_EOF(xnq):
    2745             : #line 121 "jsonpath_scan.l"
    2746             : {
    2747             :                                     yylval->str = scanstring;
    2748             :                                     BEGIN INITIAL;
    2749             :                                     return checkKeyword();
    2750             :                                 }
    2751             :     YY_BREAK
    2752             : case 5:
    2753             : YY_RULE_SETUP
    2754             : #line 127 "jsonpath_scan.l"
    2755             : { addchar(false, jsonpath_yytext[1]); }
    2756             :     YY_BREAK
    2757             : case 6:
    2758             : YY_RULE_SETUP
    2759             : #line 129 "jsonpath_scan.l"
    2760             : { addchar(false, '\b'); }
    2761             :     YY_BREAK
    2762             : case 7:
    2763             : YY_RULE_SETUP
    2764             : #line 131 "jsonpath_scan.l"
    2765             : { addchar(false, '\f'); }
    2766             :     YY_BREAK
    2767             : case 8:
    2768             : YY_RULE_SETUP
    2769             : #line 133 "jsonpath_scan.l"
    2770             : { addchar(false, '\n'); }
    2771             :     YY_BREAK
    2772             : case 9:
    2773             : YY_RULE_SETUP
    2774             : #line 135 "jsonpath_scan.l"
    2775             : { addchar(false, '\r'); }
    2776             :     YY_BREAK
    2777             : case 10:
    2778             : YY_RULE_SETUP
    2779             : #line 137 "jsonpath_scan.l"
    2780             : { addchar(false, '\t'); }
    2781             :     YY_BREAK
    2782             : case 11:
    2783             : YY_RULE_SETUP
    2784             : #line 139 "jsonpath_scan.l"
    2785             : { addchar(false, '\v'); }
    2786             :     YY_BREAK
    2787             : case 12:
    2788             : YY_RULE_SETUP
    2789             : #line 141 "jsonpath_scan.l"
    2790             : { parseUnicode(jsonpath_yytext, jsonpath_yyleng); }
    2791             :     YY_BREAK
    2792             : case 13:
    2793             : YY_RULE_SETUP
    2794             : #line 143 "jsonpath_scan.l"
    2795             : { parseHexChar(jsonpath_yytext); }
    2796             :     YY_BREAK
    2797             : case 14:
    2798             : YY_RULE_SETUP
    2799             : #line 145 "jsonpath_scan.l"
    2800             : { yyerror(NULL, "invalid unicode sequence"); }
    2801             :     YY_BREAK
    2802             : case 15:
    2803             : YY_RULE_SETUP
    2804             : #line 147 "jsonpath_scan.l"
    2805             : { yyerror(NULL, "invalid hex character sequence"); }
    2806             :     YY_BREAK
    2807             : case 16:
    2808             : YY_RULE_SETUP
    2809             : #line 149 "jsonpath_scan.l"
    2810             : {
    2811             :                                     /* throw back the \\, and treat as unicode */
    2812             :                                     yyless(jsonpath_yyleng - 1);
    2813             :                                     parseUnicode(jsonpath_yytext, jsonpath_yyleng);
    2814             :                                 }
    2815             :     YY_BREAK
    2816             : case 17:
    2817             : YY_RULE_SETUP
    2818             : #line 155 "jsonpath_scan.l"
    2819             : { yyerror(NULL, "escape sequence is invalid"); }
    2820             :     YY_BREAK
    2821             : case 18:
    2822             : YY_RULE_SETUP
    2823             : #line 157 "jsonpath_scan.l"
    2824             : { yyerror(NULL, "unexpected end after backslash"); }
    2825             :     YY_BREAK
    2826             : case YY_STATE_EOF(xq):
    2827             : case YY_STATE_EOF(xvq):
    2828             : case YY_STATE_EOF(xsq):
    2829             : #line 159 "jsonpath_scan.l"
    2830             : { yyerror(NULL, "unexpected end of quoted string"); }
    2831             :     YY_BREAK
    2832             : case 19:
    2833             : YY_RULE_SETUP
    2834             : #line 161 "jsonpath_scan.l"
    2835             : {
    2836             :                                     yylval->str = scanstring;
    2837             :                                     BEGIN INITIAL;
    2838             :                                     return STRING_P;
    2839             :                                 }
    2840             :     YY_BREAK
    2841             : case 20:
    2842             : YY_RULE_SETUP
    2843             : #line 167 "jsonpath_scan.l"
    2844             : {
    2845             :                                     yylval->str = scanstring;
    2846             :                                     BEGIN INITIAL;
    2847             :                                     return VARIABLE_P;
    2848             :                                 }
    2849             :     YY_BREAK
    2850             : case 21:
    2851             : YY_RULE_SETUP
    2852             : #line 173 "jsonpath_scan.l"
    2853             : {
    2854             :                                     yylval->str = scanstring;
    2855             :                                     BEGIN INITIAL;
    2856             :                                     return STRING_P;
    2857             :                                 }
    2858             :     YY_BREAK
    2859             : case 22:
    2860             : /* rule 22 can match eol */
    2861             : YY_RULE_SETUP
    2862             : #line 179 "jsonpath_scan.l"
    2863             : { addstring(false, jsonpath_yytext, jsonpath_yyleng); }
    2864             :     YY_BREAK
    2865             : case 23:
    2866             : /* rule 23 can match eol */
    2867             : YY_RULE_SETUP
    2868             : #line 181 "jsonpath_scan.l"
    2869             : { addstring(false, jsonpath_yytext, jsonpath_yyleng); }
    2870             :     YY_BREAK
    2871             : case 24:
    2872             : YY_RULE_SETUP
    2873             : #line 183 "jsonpath_scan.l"
    2874             : { BEGIN INITIAL; }
    2875             :     YY_BREAK
    2876             : case 25:
    2877             : /* rule 25 can match eol */
    2878             : YY_RULE_SETUP
    2879             : #line 185 "jsonpath_scan.l"
    2880             : { }
    2881             :     YY_BREAK
    2882             : case 26:
    2883             : YY_RULE_SETUP
    2884             : #line 187 "jsonpath_scan.l"
    2885             : { }
    2886             :     YY_BREAK
    2887             : case YY_STATE_EOF(xc):
    2888             : #line 189 "jsonpath_scan.l"
    2889             : { yyerror(NULL, "unexpected end of comment"); }
    2890             :     YY_BREAK
    2891             : case 27:
    2892             : YY_RULE_SETUP
    2893             : #line 191 "jsonpath_scan.l"
    2894             : { return AND_P; }
    2895             :     YY_BREAK
    2896             : case 28:
    2897             : YY_RULE_SETUP
    2898             : #line 193 "jsonpath_scan.l"
    2899             : { return OR_P; }
    2900             :     YY_BREAK
    2901             : case 29:
    2902             : YY_RULE_SETUP
    2903             : #line 195 "jsonpath_scan.l"
    2904             : { return NOT_P; }
    2905             :     YY_BREAK
    2906             : case 30:
    2907             : YY_RULE_SETUP
    2908             : #line 197 "jsonpath_scan.l"
    2909             : { return ANY_P; }
    2910             :     YY_BREAK
    2911             : case 31:
    2912             : YY_RULE_SETUP
    2913             : #line 199 "jsonpath_scan.l"
    2914             : { return LESS_P; }
    2915             :     YY_BREAK
    2916             : case 32:
    2917             : YY_RULE_SETUP
    2918             : #line 201 "jsonpath_scan.l"
    2919             : { return LESSEQUAL_P; }
    2920             :     YY_BREAK
    2921             : case 33:
    2922             : YY_RULE_SETUP
    2923             : #line 203 "jsonpath_scan.l"
    2924             : { return EQUAL_P; }
    2925             :     YY_BREAK
    2926             : case 34:
    2927             : YY_RULE_SETUP
    2928             : #line 205 "jsonpath_scan.l"
    2929             : { return NOTEQUAL_P; }
    2930             :     YY_BREAK
    2931             : case 35:
    2932             : YY_RULE_SETUP
    2933             : #line 207 "jsonpath_scan.l"
    2934             : { return NOTEQUAL_P; }
    2935             :     YY_BREAK
    2936             : case 36:
    2937             : YY_RULE_SETUP
    2938             : #line 209 "jsonpath_scan.l"
    2939             : { return GREATEREQUAL_P; }
    2940             :     YY_BREAK
    2941             : case 37:
    2942             : YY_RULE_SETUP
    2943             : #line 211 "jsonpath_scan.l"
    2944             : { return GREATER_P; }
    2945             :     YY_BREAK
    2946             : case 38:
    2947             : YY_RULE_SETUP
    2948             : #line 213 "jsonpath_scan.l"
    2949             : {
    2950             :                                     addstring(true, jsonpath_yytext + 1, jsonpath_yyleng - 1);
    2951             :                                     addchar(false, '\0');
    2952             :                                     yylval->str = scanstring;
    2953             :                                     return VARIABLE_P;
    2954             :                                 }
    2955             :     YY_BREAK
    2956             : case 39:
    2957             : YY_RULE_SETUP
    2958             : #line 220 "jsonpath_scan.l"
    2959             : {
    2960             :                                     addchar(true, '\0');
    2961             :                                     BEGIN xvq;
    2962             :                                 }
    2963             :     YY_BREAK
    2964             : case 40:
    2965             : YY_RULE_SETUP
    2966             : #line 225 "jsonpath_scan.l"
    2967             : { return *jsonpath_yytext; }
    2968             :     YY_BREAK
    2969             : case 41:
    2970             : /* rule 41 can match eol */
    2971             : YY_RULE_SETUP
    2972             : #line 227 "jsonpath_scan.l"
    2973             : { /* ignore */ }
    2974             :     YY_BREAK
    2975             : case 42:
    2976             : YY_RULE_SETUP
    2977             : #line 229 "jsonpath_scan.l"
    2978             : {
    2979             :                                     addchar(true, '\0');
    2980             :                                     BEGIN xc;
    2981             :                                 }
    2982             :     YY_BREAK
    2983             : case 43:
    2984             : YY_RULE_SETUP
    2985             : #line 234 "jsonpath_scan.l"
    2986             : {
    2987             :                                     addstring(true, jsonpath_yytext, jsonpath_yyleng);
    2988             :                                     addchar(false, '\0');
    2989             :                                     yylval->str = scanstring;
    2990             :                                     return NUMERIC_P;
    2991             :                                 }
    2992             :     YY_BREAK
    2993             : case 44:
    2994             : YY_RULE_SETUP
    2995             : #line 241 "jsonpath_scan.l"
    2996             : {
    2997             :                                     addstring(true, jsonpath_yytext, jsonpath_yyleng);
    2998             :                                     addchar(false, '\0');
    2999             :                                     yylval->str = scanstring;
    3000             :                                     return NUMERIC_P;
    3001             :                                 }
    3002             :     YY_BREAK
    3003             : case 45:
    3004             : YY_RULE_SETUP
    3005             : #line 248 "jsonpath_scan.l"
    3006             : {
    3007             :                                     addstring(true, jsonpath_yytext, jsonpath_yyleng);
    3008             :                                     addchar(false, '\0');
    3009             :                                     yylval->str = scanstring;
    3010             :                                     return INT_P;
    3011             :                                 }
    3012             :     YY_BREAK
    3013             : case 46:
    3014             : YY_RULE_SETUP
    3015             : #line 255 "jsonpath_scan.l"
    3016             : {
    3017             :                                     /* throw back the ., and treat as integer */
    3018             :                                     yyless(jsonpath_yyleng - 1);
    3019             :                                     addstring(true, jsonpath_yytext, jsonpath_yyleng);
    3020             :                                     addchar(false, '\0');
    3021             :                                     yylval->str = scanstring;
    3022             :                                     return INT_P;
    3023             :                                 }
    3024             :     YY_BREAK
    3025             : case 47:
    3026             : YY_RULE_SETUP
    3027             : #line 264 "jsonpath_scan.l"
    3028             : { yyerror(NULL, "invalid floating point number"); }
    3029             :     YY_BREAK
    3030             : case 48:
    3031             : YY_RULE_SETUP
    3032             : #line 266 "jsonpath_scan.l"
    3033             : {
    3034             :                                     addstring(true, jsonpath_yytext, jsonpath_yyleng);
    3035             :                                     BEGIN xnq;
    3036             :                                 }
    3037             :     YY_BREAK
    3038             : case 49:
    3039             : YY_RULE_SETUP
    3040             : #line 271 "jsonpath_scan.l"
    3041             : {
    3042             :                                     addchar(true, '\0');
    3043             :                                     BEGIN xq;
    3044             :                                 }
    3045             :     YY_BREAK
    3046             : case 50:
    3047             : YY_RULE_SETUP
    3048             : #line 276 "jsonpath_scan.l"
    3049             : {
    3050             :                                     addchar(true, '\0');
    3051             :                                     BEGIN xsq;
    3052             :                                 }
    3053             :     YY_BREAK
    3054             : case 51:
    3055             : YY_RULE_SETUP
    3056             : #line 281 "jsonpath_scan.l"
    3057             : {
    3058             :                                     yyless(0);
    3059             :                                     addchar(true, '\0');
    3060             :                                     BEGIN xnq;
    3061             :                                 }
    3062             :     YY_BREAK
    3063             : case YY_STATE_EOF(INITIAL):
    3064             : #line 287 "jsonpath_scan.l"
    3065             : { yyterminate(); }
    3066             :     YY_BREAK
    3067             : case 52:
    3068             : YY_RULE_SETUP
    3069             : #line 289 "jsonpath_scan.l"
    3070             : YY_FATAL_ERROR( "flex scanner jammed" );
    3071             :     YY_BREAK
    3072             : #line 3073 "jsonpath_scan.c"
    3073             : 
    3074             :     case YY_END_OF_BUFFER:
    3075             :         {
    3076             :         /* Amount of text matched not including the EOB char. */
    3077        5168 :         int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
    3078             : 
    3079             :         /* Undo the effects of YY_DO_BEFORE_ACTION. */
    3080        5168 :         *yy_cp = (yy_hold_char);
    3081             :         YY_RESTORE_YY_MORE_OFFSET
    3082             : 
    3083        5168 :         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
    3084             :             {
    3085             :             /* We're scanning a new file or input source.  It's
    3086             :              * possible that this happened because the user
    3087             :              * just pointed jsonpath_yyin at a new source and called
    3088             :              * jsonpath_yylex().  If so, then we have to assure
    3089             :              * consistency between YY_CURRENT_BUFFER and our
    3090             :              * globals.  Here is the right place to do so, because
    3091             :              * this is the first action (other than possibly a
    3092             :              * back-up) that will match for the new input source.
    3093             :              */
    3094        2292 :             (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
    3095        2292 :             YY_CURRENT_BUFFER_LVALUE->yy_input_file = jsonpath_yyin;
    3096        2292 :             YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
    3097             :             }
    3098             : 
    3099             :         /* Note that here we test for yy_c_buf_p "<=" to the position
    3100             :          * of the first EOB in the buffer, since yy_c_buf_p will
    3101             :          * already have been incremented past the NUL character
    3102             :          * (since all states make transitions on EOB to the
    3103             :          * end-of-buffer state).  Contrast this with the test
    3104             :          * in input().
    3105             :          */
    3106        5168 :         if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
    3107             :             { /* This was really a NUL. */
    3108             :             yy_state_type yy_next_state;
    3109             : 
    3110           0 :             (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
    3111             : 
    3112           0 :             yy_current_state = yy_get_previous_state(  );
    3113             : 
    3114             :             /* Okay, we're now positioned to make the NUL
    3115             :              * transition.  We couldn't have
    3116             :              * yy_get_previous_state() go ahead and do it
    3117             :              * for us because it doesn't know how to deal
    3118             :              * with the possibility of jamming (and we don't
    3119             :              * want to build jamming into it because then it
    3120             :              * will run more slowly).
    3121             :              */
    3122             : 
    3123           0 :             yy_next_state = yy_try_NUL_trans( yy_current_state );
    3124             : 
    3125           0 :             yy_bp = (yytext_ptr) + YY_MORE_ADJ;
    3126             : 
    3127           0 :             if ( yy_next_state )
    3128             :                 {
    3129             :                 /* Consume the NUL. */
    3130           0 :                 yy_cp = ++(yy_c_buf_p);
    3131           0 :                 yy_current_state = yy_next_state;
    3132           0 :                 goto yy_match;
    3133             :                 }
    3134             : 
    3135             :             else
    3136             :                 {
    3137           0 :                 yy_cp = (yy_c_buf_p);
    3138           0 :                 goto yy_find_action;
    3139             :                 }
    3140             :             }
    3141             : 
    3142        5168 :         else switch ( yy_get_next_buffer(  ) )
    3143             :             {
    3144             :             case EOB_ACT_END_OF_FILE:
    3145             :                 {
    3146        2644 :                 (yy_did_buffer_switch_on_eof) = 0;
    3147             : 
    3148             :                 if ( jsonpath_yywrap( ) )
    3149             :                     {
    3150             :                     /* Note: because we've taken care in
    3151             :                      * yy_get_next_buffer() to have set up
    3152             :                      * jsonpath_yytext, we can now set up
    3153             :                      * yy_c_buf_p so that if some total
    3154             :                      * hoser (like flex itself) wants to
    3155             :                      * call the scanner after we return the
    3156             :                      * YY_NULL, it'll still work - another
    3157             :                      * YY_NULL will get returned.
    3158             :                      */
    3159        2644 :                     (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
    3160             : 
    3161        2644 :                     yy_act = YY_STATE_EOF(YY_START);
    3162        2644 :                     goto do_action;
    3163             :                     }
    3164             : 
    3165             :                 else
    3166             :                     {
    3167             :                     if ( ! (yy_did_buffer_switch_on_eof) )
    3168             :                         YY_NEW_FILE;
    3169             :                     }
    3170             :                 break;
    3171             :                 }
    3172             : 
    3173             :             case EOB_ACT_CONTINUE_SCAN:
    3174           0 :                 (yy_c_buf_p) =
    3175           0 :                     (yytext_ptr) + yy_amount_of_matched_text;
    3176             : 
    3177           0 :                 yy_current_state = yy_get_previous_state(  );
    3178             : 
    3179           0 :                 yy_cp = (yy_c_buf_p);
    3180           0 :                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
    3181           0 :                 goto yy_match;
    3182             : 
    3183             :             case EOB_ACT_LAST_MATCH:
    3184        2524 :                 (yy_c_buf_p) =
    3185        2524 :                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
    3186             : 
    3187        2524 :                 yy_current_state = yy_get_previous_state(  );
    3188             : 
    3189        2524 :                 yy_cp = (yy_c_buf_p);
    3190        2524 :                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
    3191        2524 :                 goto yy_find_action;
    3192             :             }
    3193           0 :         break;
    3194             :         }
    3195             : 
    3196             :     default:
    3197           0 :         YY_FATAL_ERROR(
    3198             :             "fatal flex scanner internal error--no action found" );
    3199             :     } /* end of action switch */
    3200             :         } /* end of scanning one token */
    3201             :     } /* end of user's declarations */
    3202             : } /* end of jsonpath_yylex */
    3203             : 
    3204             : /* yy_get_next_buffer - try to read in a new buffer
    3205             :  *
    3206             :  * Returns a code representing an action:
    3207             :  *  EOB_ACT_LAST_MATCH -
    3208             :  *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
    3209             :  *  EOB_ACT_END_OF_FILE - end of file
    3210             :  */
    3211        5168 : static int yy_get_next_buffer (void)
    3212             : {
    3213        5168 :         char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
    3214        5168 :     char *source = (yytext_ptr);
    3215             :     int number_to_move, i;
    3216             :     int ret_val;
    3217             : 
    3218        5168 :     if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
    3219           0 :         YY_FATAL_ERROR(
    3220             :         "fatal flex scanner internal error--end of buffer missed" );
    3221             : 
    3222        5168 :     if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
    3223             :         { /* Don't try to fill the buffer, so this is an EOF. */
    3224        5168 :         if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
    3225             :             {
    3226             :             /* We matched a single character, the EOB, so
    3227             :              * treat this as a final EOF.
    3228             :              */
    3229        2644 :             return EOB_ACT_END_OF_FILE;
    3230             :             }
    3231             : 
    3232             :         else
    3233             :             {
    3234             :             /* We matched some text prior to the EOB, first
    3235             :              * process it.
    3236             :              */
    3237        2524 :             return EOB_ACT_LAST_MATCH;
    3238             :             }
    3239             :         }
    3240             : 
    3241             :     /* Try to read more data. */
    3242             : 
    3243             :     /* First move last chars to start of buffer. */
    3244           0 :     number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
    3245             : 
    3246           0 :     for ( i = 0; i < number_to_move; ++i )
    3247           0 :         *(dest++) = *(source++);
    3248             : 
    3249           0 :     if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
    3250             :         /* don't do the read, it's not guaranteed to return an EOF,
    3251             :          * just force an EOF
    3252             :          */
    3253           0 :         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
    3254             : 
    3255             :     else
    3256             :         {
    3257           0 :             int num_to_read =
    3258           0 :             YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
    3259             : 
    3260           0 :         while ( num_to_read <= 0 )
    3261             :             { /* Not enough room in the buffer - grow it. */
    3262             : 
    3263             :             /* just a shorter name for the current buffer */
    3264           0 :             YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
    3265             : 
    3266           0 :             int yy_c_buf_p_offset =
    3267           0 :                 (int) ((yy_c_buf_p) - b->yy_ch_buf);
    3268             : 
    3269           0 :             if ( b->yy_is_our_buffer )
    3270             :                 {
    3271           0 :                 int new_size = b->yy_buf_size * 2;
    3272             : 
    3273           0 :                 if ( new_size <= 0 )
    3274           0 :                     b->yy_buf_size += b->yy_buf_size / 8;
    3275             :                 else
    3276           0 :                     b->yy_buf_size *= 2;
    3277             : 
    3278           0 :                 b->yy_ch_buf = (char *)
    3279             :                     /* Include room in for 2 EOB chars. */
    3280           0 :                     jsonpath_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
    3281             :                 }
    3282             :             else
    3283             :                 /* Can't grow it, we don't own it. */
    3284           0 :                 b->yy_ch_buf = NULL;
    3285             : 
    3286           0 :             if ( ! b->yy_ch_buf )
    3287           0 :                 YY_FATAL_ERROR(
    3288             :                 "fatal error - scanner input buffer overflow" );
    3289             : 
    3290           0 :             (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
    3291             : 
    3292           0 :             num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
    3293             :                         number_to_move - 1;
    3294             : 
    3295             :             }
    3296             : 
    3297           0 :         if ( num_to_read > YY_READ_BUF_SIZE )
    3298           0 :             num_to_read = YY_READ_BUF_SIZE;
    3299             : 
    3300             :         /* Read in more data. */
    3301           0 :         YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
    3302             :             (yy_n_chars), num_to_read );
    3303             : 
    3304           0 :         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
    3305             :         }
    3306             : 
    3307           0 :     if ( (yy_n_chars) == 0 )
    3308             :         {
    3309           0 :         if ( number_to_move == YY_MORE_ADJ )
    3310             :             {
    3311           0 :             ret_val = EOB_ACT_END_OF_FILE;
    3312           0 :             jsonpath_yyrestart(jsonpath_yyin  );
    3313             :             }
    3314             : 
    3315             :         else
    3316             :             {
    3317           0 :             ret_val = EOB_ACT_LAST_MATCH;
    3318           0 :             YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
    3319             :                 YY_BUFFER_EOF_PENDING;
    3320             :             }
    3321             :         }
    3322             : 
    3323             :     else
    3324           0 :         ret_val = EOB_ACT_CONTINUE_SCAN;
    3325             : 
    3326           0 :     if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
    3327             :         /* Extend the array by 50%, plus the number we really need. */
    3328           0 :         int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
    3329           0 :         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) jsonpath_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
    3330           0 :         if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
    3331           0 :             YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
    3332             :     }
    3333             : 
    3334           0 :     (yy_n_chars) += number_to_move;
    3335           0 :     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
    3336           0 :     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
    3337             : 
    3338           0 :     (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
    3339             : 
    3340           0 :     return ret_val;
    3341             : }
    3342             : 
    3343             : /* yy_get_previous_state - get the state just before the EOB char was reached */
    3344             : 
    3345        2524 :     static yy_state_type yy_get_previous_state (void)
    3346             : {
    3347             :     yy_state_type yy_current_state;
    3348             :     char *yy_cp;
    3349             :     
    3350        2524 :     yy_current_state = yy_start_state_list[(yy_start)];
    3351             : 
    3352        5704 :     for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
    3353             :         {
    3354        3180 :         yy_current_state += yy_current_state[(*yy_cp ? YY_SC_TO_UI(*yy_cp) : 256)].yy_nxt;
    3355             :         }
    3356             : 
    3357        2524 :     return yy_current_state;
    3358             : }
    3359             : 
    3360             : /* yy_try_NUL_trans - try to make a transition on the NUL character
    3361             :  *
    3362             :  * synopsis
    3363             :  *  next_state = yy_try_NUL_trans( current_state );
    3364             :  */
    3365           0 :     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
    3366             : {
    3367             :     int yy_is_jam;
    3368             :     
    3369           0 :     int yy_c = 256;
    3370             :     yyconst struct yy_trans_info *yy_trans_info;
    3371             : 
    3372           0 :     yy_trans_info = &yy_current_state[(unsigned int) yy_c];
    3373           0 :     yy_current_state += yy_trans_info->yy_nxt;
    3374           0 :     yy_is_jam = (yy_trans_info->yy_verify != yy_c);
    3375             : 
    3376           0 :         return yy_is_jam ? 0 : yy_current_state;
    3377             : }
    3378             : 
    3379             : #ifndef YY_NO_UNPUT
    3380             : 
    3381             : #endif
    3382             : 
    3383             : #ifndef YY_NO_INPUT
    3384             : #ifdef __cplusplus
    3385             :     static int yyinput (void)
    3386             : #else
    3387             :     static int input  (void)
    3388             : #endif
    3389             : 
    3390             : {
    3391             :     int c;
    3392             :     
    3393             :     *(yy_c_buf_p) = (yy_hold_char);
    3394             : 
    3395             :     if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
    3396             :         {
    3397             :         /* yy_c_buf_p now points to the character we want to return.
    3398             :          * If this occurs *before* the EOB characters, then it's a
    3399             :          * valid NUL; if not, then we've hit the end of the buffer.
    3400             :          */
    3401             :         if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
    3402             :             /* This was really a NUL. */
    3403             :             *(yy_c_buf_p) = '\0';
    3404             : 
    3405             :         else
    3406             :             { /* need more input */
    3407             :             int offset = (yy_c_buf_p) - (yytext_ptr);
    3408             :             ++(yy_c_buf_p);
    3409             : 
    3410             :             switch ( yy_get_next_buffer(  ) )
    3411             :                 {
    3412             :                 case EOB_ACT_LAST_MATCH:
    3413             :                     /* This happens because yy_g_n_b()
    3414             :                      * sees that we've accumulated a
    3415             :                      * token and flags that we need to
    3416             :                      * try matching the token before
    3417             :                      * proceeding.  But for input(),
    3418             :                      * there's no matching to consider.
    3419             :                      * So convert the EOB_ACT_LAST_MATCH
    3420             :                      * to EOB_ACT_END_OF_FILE.
    3421             :                      */
    3422             : 
    3423             :                     /* Reset buffer status. */
    3424             :                     jsonpath_yyrestart(jsonpath_yyin );
    3425             : 
    3426             :                     /*FALLTHROUGH*/
    3427             : 
    3428             :                 case EOB_ACT_END_OF_FILE:
    3429             :                     {
    3430             :                     if ( jsonpath_yywrap( ) )
    3431             :                         return 0;
    3432             : 
    3433             :                     if ( ! (yy_did_buffer_switch_on_eof) )
    3434             :                         YY_NEW_FILE;
    3435             : #ifdef __cplusplus
    3436             :                     return yyinput();
    3437             : #else
    3438             :                     return input();
    3439             : #endif
    3440             :                     }
    3441             : 
    3442             :                 case EOB_ACT_CONTINUE_SCAN:
    3443             :                     (yy_c_buf_p) = (yytext_ptr) + offset;
    3444             :                     break;
    3445             :                 }
    3446             :             }
    3447             :         }
    3448             : 
    3449             :     c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
    3450             :     *(yy_c_buf_p) = '\0';   /* preserve jsonpath_yytext */
    3451             :     (yy_hold_char) = *++(yy_c_buf_p);
    3452             : 
    3453             :     return c;
    3454             : }
    3455             : #endif  /* ifndef YY_NO_INPUT */
    3456             : 
    3457             : /** Immediately switch to a different input stream.
    3458             :  * @param input_file A readable stream.
    3459             :  * 
    3460             :  * @note This function does not reset the start condition to @c INITIAL .
    3461             :  */
    3462           0 :     void jsonpath_yyrestart  (FILE * input_file )
    3463             : {
    3464             :     
    3465           0 :     if ( ! YY_CURRENT_BUFFER ){
    3466           0 :         jsonpath_yyensure_buffer_stack ();
    3467           0 :         YY_CURRENT_BUFFER_LVALUE =
    3468           0 :             jsonpath_yy_create_buffer(jsonpath_yyin,YY_BUF_SIZE );
    3469             :     }
    3470             : 
    3471           0 :     jsonpath_yy_init_buffer(YY_CURRENT_BUFFER,input_file );
    3472           0 :     jsonpath_yy_load_buffer_state( );
    3473           0 : }
    3474             : 
    3475             : /** Switch to a different input buffer.
    3476             :  * @param new_buffer The new input buffer.
    3477             :  * 
    3478             :  */
    3479        2440 :     void jsonpath_yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
    3480             : {
    3481             :     
    3482             :     /* TODO. We should be able to replace this entire function body
    3483             :      * with
    3484             :      *      jsonpath_yypop_buffer_state();
    3485             :      *      jsonpath_yypush_buffer_state(new_buffer);
    3486             :      */
    3487        2440 :     jsonpath_yyensure_buffer_stack ();
    3488        2440 :     if ( YY_CURRENT_BUFFER == new_buffer )
    3489           0 :         return;
    3490             : 
    3491        2440 :     if ( YY_CURRENT_BUFFER )
    3492             :         {
    3493             :         /* Flush out information for old buffer. */
    3494           0 :         *(yy_c_buf_p) = (yy_hold_char);
    3495           0 :         YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
    3496           0 :         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
    3497             :         }
    3498             : 
    3499        2440 :     YY_CURRENT_BUFFER_LVALUE = new_buffer;
    3500        2440 :     jsonpath_yy_load_buffer_state( );
    3501             : 
    3502             :     /* We don't actually know whether we did this switch during
    3503             :      * EOF (jsonpath_yywrap()) processing, but the only time this flag
    3504             :      * is looked at is after jsonpath_yywrap() is called, so it's safe
    3505             :      * to go ahead and always set it.
    3506             :      */
    3507        2440 :     (yy_did_buffer_switch_on_eof) = 1;
    3508             : }
    3509             : 
    3510        4880 : static void jsonpath_yy_load_buffer_state  (void)
    3511             : {
    3512        4880 :         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
    3513        4880 :     (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
    3514        4880 :     jsonpath_yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
    3515        4880 :     (yy_hold_char) = *(yy_c_buf_p);
    3516        4880 : }
    3517             : 
    3518             : /** Allocate and initialize an input buffer state.
    3519             :  * @param file A readable stream.
    3520             :  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
    3521             :  * 
    3522             :  * @return the allocated buffer state.
    3523             :  */
    3524           0 :     YY_BUFFER_STATE jsonpath_yy_create_buffer  (FILE * file, int  size )
    3525             : {
    3526             :     YY_BUFFER_STATE b;
    3527             :     
    3528           0 :     b = (YY_BUFFER_STATE) jsonpath_yyalloc(sizeof( struct yy_buffer_state )  );
    3529           0 :     if ( ! b )
    3530           0 :         YY_FATAL_ERROR( "out of dynamic memory in jsonpath_yy_create_buffer()" );
    3531             : 
    3532           0 :     b->yy_buf_size = (yy_size_t)size;
    3533             : 
    3534             :     /* yy_ch_buf has to be 2 characters longer than the size given because
    3535             :      * we need to put in 2 end-of-buffer characters.
    3536             :      */
    3537           0 :     b->yy_ch_buf = (char *) jsonpath_yyalloc(b->yy_buf_size + 2  );
    3538           0 :     if ( ! b->yy_ch_buf )
    3539           0 :         YY_FATAL_ERROR( "out of dynamic memory in jsonpath_yy_create_buffer()" );
    3540             : 
    3541           0 :     b->yy_is_our_buffer = 1;
    3542             : 
    3543           0 :     jsonpath_yy_init_buffer(b,file );
    3544             : 
    3545           0 :     return b;
    3546             : }
    3547             : 
    3548             : /** Destroy the buffer.
    3549             :  * @param b a buffer created with jsonpath_yy_create_buffer()
    3550             :  * 
    3551             :  */
    3552        2276 :     void jsonpath_yy_delete_buffer (YY_BUFFER_STATE  b )
    3553             : {
    3554             :     
    3555        2276 :     if ( ! b )
    3556           0 :         return;
    3557             : 
    3558        2276 :     if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
    3559        2276 :         YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
    3560             : 
    3561        2276 :     if ( b->yy_is_our_buffer )
    3562           0 :         jsonpath_yyfree((void *) b->yy_ch_buf  );
    3563             : 
    3564        2276 :     jsonpath_yyfree((void *) b  );
    3565             : }
    3566             : 
    3567             : /* Initializes or reinitializes a buffer.
    3568             :  * This function is sometimes called more than once on the same buffer,
    3569             :  * such as during a jsonpath_yyrestart() or at EOF.
    3570             :  */
    3571           0 :     static void jsonpath_yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
    3572             : 
    3573             : {
    3574           0 :     int oerrno = errno;
    3575             :     
    3576           0 :     jsonpath_yy_flush_buffer(b );
    3577             : 
    3578           0 :     b->yy_input_file = file;
    3579           0 :     b->yy_fill_buffer = 1;
    3580             : 
    3581             :     /* If b is the current buffer, then jsonpath_yy_init_buffer was _probably_
    3582             :      * called from jsonpath_yyrestart() or through yy_get_next_buffer.
    3583             :      * In that case, we don't want to reset the lineno or column.
    3584             :      */
    3585           0 :     if (b != YY_CURRENT_BUFFER){
    3586           0 :         b->yy_bs_lineno = 1;
    3587           0 :         b->yy_bs_column = 0;
    3588             :     }
    3589             : 
    3590           0 :         b->yy_is_interactive = 0;
    3591             :     
    3592           0 :     errno = oerrno;
    3593           0 : }
    3594             : 
    3595             : /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
    3596             :  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
    3597             :  * 
    3598             :  */
    3599           0 :     void jsonpath_yy_flush_buffer (YY_BUFFER_STATE  b )
    3600             : {
    3601           0 :         if ( ! b )
    3602           0 :         return;
    3603             : 
    3604           0 :     b->yy_n_chars = 0;
    3605             : 
    3606             :     /* We always need two end-of-buffer characters.  The first causes
    3607             :      * a transition to the end-of-buffer state.  The second causes
    3608             :      * a jam in that state.
    3609             :      */
    3610           0 :     b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
    3611           0 :     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
    3612             : 
    3613           0 :     b->yy_buf_pos = &b->yy_ch_buf[0];
    3614             : 
    3615           0 :     b->yy_at_bol = 1;
    3616           0 :     b->yy_buffer_status = YY_BUFFER_NEW;
    3617             : 
    3618           0 :     if ( b == YY_CURRENT_BUFFER )
    3619           0 :         jsonpath_yy_load_buffer_state( );
    3620             : }
    3621             : 
    3622             : /** Pushes the new state onto the stack. The new state becomes
    3623             :  *  the current state. This function will allocate the stack
    3624             :  *  if necessary.
    3625             :  *  @param new_buffer The new state.
    3626             :  *  
    3627             :  */
    3628           0 : void jsonpath_yypush_buffer_state (YY_BUFFER_STATE new_buffer )
    3629             : {
    3630           0 :         if (new_buffer == NULL)
    3631           0 :         return;
    3632             : 
    3633           0 :     jsonpath_yyensure_buffer_stack();
    3634             : 
    3635             :     /* This block is copied from jsonpath_yy_switch_to_buffer. */
    3636           0 :     if ( YY_CURRENT_BUFFER )
    3637             :         {
    3638             :         /* Flush out information for old buffer. */
    3639           0 :         *(yy_c_buf_p) = (yy_hold_char);
    3640           0 :         YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
    3641           0 :         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
    3642             :         }
    3643             : 
    3644             :     /* Only push if top exists. Otherwise, replace top. */
    3645           0 :     if (YY_CURRENT_BUFFER)
    3646           0 :         (yy_buffer_stack_top)++;
    3647           0 :     YY_CURRENT_BUFFER_LVALUE = new_buffer;
    3648             : 
    3649             :     /* copied from jsonpath_yy_switch_to_buffer. */
    3650           0 :     jsonpath_yy_load_buffer_state( );
    3651           0 :     (yy_did_buffer_switch_on_eof) = 1;
    3652             : }
    3653             : 
    3654             : /** Removes and deletes the top of the stack, if present.
    3655             :  *  The next element becomes the new top.
    3656             :  *  
    3657             :  */
    3658           0 : void jsonpath_yypop_buffer_state (void)
    3659             : {
    3660           0 :         if (!YY_CURRENT_BUFFER)
    3661           0 :         return;
    3662             : 
    3663           0 :     jsonpath_yy_delete_buffer(YY_CURRENT_BUFFER );
    3664           0 :     YY_CURRENT_BUFFER_LVALUE = NULL;
    3665           0 :     if ((yy_buffer_stack_top) > 0)
    3666           0 :         --(yy_buffer_stack_top);
    3667             : 
    3668           0 :     if (YY_CURRENT_BUFFER) {
    3669           0 :         jsonpath_yy_load_buffer_state( );
    3670           0 :         (yy_did_buffer_switch_on_eof) = 1;
    3671             :     }
    3672             : }
    3673             : 
    3674             : /* Allocates the stack if it does not exist.
    3675             :  *  Guarantees space for at least one push.
    3676             :  */
    3677        2440 : static void jsonpath_yyensure_buffer_stack (void)
    3678             : {
    3679             :     int num_to_alloc;
    3680             :     
    3681        2440 :     if (!(yy_buffer_stack)) {
    3682             : 
    3683             :         /* First allocation is just for 2 elements, since we don't know if this
    3684             :          * scanner will even need a stack. We use 2 instead of 1 to avoid an
    3685             :          * immediate realloc on the next call.
    3686             :          */
    3687        2440 :       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
    3688        2440 :         (yy_buffer_stack) = (struct yy_buffer_state**)jsonpath_yyalloc
    3689             :                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
    3690             :                                 );
    3691        2440 :         if ( ! (yy_buffer_stack) )
    3692           0 :             YY_FATAL_ERROR( "out of dynamic memory in jsonpath_yyensure_buffer_stack()" );
    3693             : 
    3694        2440 :         memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
    3695             : 
    3696        2440 :         (yy_buffer_stack_max) = num_to_alloc;
    3697        2440 :         (yy_buffer_stack_top) = 0;
    3698        2440 :         return;
    3699             :     }
    3700             : 
    3701           0 :     if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
    3702             : 
    3703             :         /* Increase the buffer to prepare for a possible push. */
    3704           0 :         yy_size_t grow_size = 8 /* arbitrary grow size */;
    3705             : 
    3706           0 :         num_to_alloc = (yy_buffer_stack_max) + grow_size;
    3707           0 :         (yy_buffer_stack) = (struct yy_buffer_state**)jsonpath_yyrealloc
    3708             :                                 ((yy_buffer_stack),
    3709             :                                 num_to_alloc * sizeof(struct yy_buffer_state*)
    3710             :                                 );
    3711           0 :         if ( ! (yy_buffer_stack) )
    3712           0 :             YY_FATAL_ERROR( "out of dynamic memory in jsonpath_yyensure_buffer_stack()" );
    3713             : 
    3714             :         /* zero only the new slots.*/
    3715           0 :         memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
    3716           0 :         (yy_buffer_stack_max) = num_to_alloc;
    3717             :     }
    3718             : }
    3719             : 
    3720             : /** Setup the input buffer state to scan directly from a user-specified character buffer.
    3721             :  * @param base the character buffer
    3722             :  * @param size the size in bytes of the character buffer
    3723             :  * 
    3724             :  * @return the newly allocated buffer state object.
    3725             :  */
    3726        2440 : YY_BUFFER_STATE jsonpath_yy_scan_buffer  (char * base, yy_size_t  size )
    3727             : {
    3728             :     YY_BUFFER_STATE b;
    3729             :     
    3730        4880 :     if ( size < 2 ||
    3731        4880 :          base[size-2] != YY_END_OF_BUFFER_CHAR ||
    3732        2440 :          base[size-1] != YY_END_OF_BUFFER_CHAR )
    3733             :         /* They forgot to leave room for the EOB's. */
    3734           0 :         return NULL;
    3735             : 
    3736        2440 :     b = (YY_BUFFER_STATE) jsonpath_yyalloc(sizeof( struct yy_buffer_state )  );
    3737        2440 :     if ( ! b )
    3738           0 :         YY_FATAL_ERROR( "out of dynamic memory in jsonpath_yy_scan_buffer()" );
    3739             : 
    3740        2440 :     b->yy_buf_size = size - 2;   /* "- 2" to take care of EOB's */
    3741        2440 :     b->yy_buf_pos = b->yy_ch_buf = base;
    3742        2440 :     b->yy_is_our_buffer = 0;
    3743        2440 :     b->yy_input_file = NULL;
    3744        2440 :     b->yy_n_chars = b->yy_buf_size;
    3745        2440 :     b->yy_is_interactive = 0;
    3746        2440 :     b->yy_at_bol = 1;
    3747        2440 :     b->yy_fill_buffer = 0;
    3748        2440 :     b->yy_buffer_status = YY_BUFFER_NEW;
    3749             : 
    3750        2440 :     jsonpath_yy_switch_to_buffer(b  );
    3751             : 
    3752        2440 :     return b;
    3753             : }
    3754             : 
    3755             : /** Setup the input buffer state to scan a string. The next call to jsonpath_yylex() will
    3756             :  * scan from a @e copy of @a str.
    3757             :  * @param yystr a NUL-terminated string to scan
    3758             :  * 
    3759             :  * @return the newly allocated buffer state object.
    3760             :  * @note If you want to scan bytes that may contain NUL values, then use
    3761             :  *       jsonpath_yy_scan_bytes() instead.
    3762             :  */
    3763           0 : YY_BUFFER_STATE jsonpath_yy_scan_string (yyconst char * yystr )
    3764             : {
    3765             :     
    3766           0 :     return jsonpath_yy_scan_bytes(yystr,(int) strlen(yystr) );
    3767             : }
    3768             : 
    3769             : /** Setup the input buffer state to scan the given bytes. The next call to jsonpath_yylex() will
    3770             :  * scan from a @e copy of @a bytes.
    3771             :  * @param yybytes the byte buffer to scan
    3772             :  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
    3773             :  * 
    3774             :  * @return the newly allocated buffer state object.
    3775             :  */
    3776           0 : YY_BUFFER_STATE jsonpath_yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
    3777             : {
    3778             :     YY_BUFFER_STATE b;
    3779             :     char *buf;
    3780             :     yy_size_t n;
    3781             :     int i;
    3782             :     
    3783             :     /* Get memory for full buffer, including space for trailing EOB's. */
    3784           0 :     n = (yy_size_t) (_yybytes_len + 2);
    3785           0 :     buf = (char *) jsonpath_yyalloc(n  );
    3786           0 :     if ( ! buf )
    3787           0 :         YY_FATAL_ERROR( "out of dynamic memory in jsonpath_yy_scan_bytes()" );
    3788             : 
    3789           0 :     for ( i = 0; i < _yybytes_len; ++i )
    3790           0 :         buf[i] = yybytes[i];
    3791             : 
    3792           0 :     buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
    3793             : 
    3794           0 :     b = jsonpath_yy_scan_buffer(buf,n );
    3795           0 :     if ( ! b )
    3796           0 :         YY_FATAL_ERROR( "bad buffer in jsonpath_yy_scan_bytes()" );
    3797             : 
    3798             :     /* It's okay to grow etc. this buffer, and we should throw it
    3799             :      * away when we're done.
    3800             :      */
    3801           0 :     b->yy_is_our_buffer = 1;
    3802             : 
    3803           0 :     return b;
    3804             : }
    3805             : 
    3806             : #ifndef YY_EXIT_FAILURE
    3807             : #define YY_EXIT_FAILURE 2
    3808             : #endif
    3809             : 
    3810           0 : static void yynoreturn yy_fatal_error (yyconst char* msg )
    3811             : {
    3812           0 :             (void) fprintf( stderr, "%s\n", msg );
    3813           0 :     exit( YY_EXIT_FAILURE );
    3814             : }
    3815             : 
    3816             : /* Redefine yyless() so it works in section 3 code. */
    3817             : 
    3818             : #undef yyless
    3819             : #define yyless(n) \
    3820             :     do \
    3821             :         { \
    3822             :         /* Undo effects of setting up jsonpath_yytext. */ \
    3823             :         int yyless_macro_arg = (n); \
    3824             :         YY_LESS_LINENO(yyless_macro_arg);\
    3825             :         jsonpath_yytext[jsonpath_yyleng] = (yy_hold_char); \
    3826             :         (yy_c_buf_p) = jsonpath_yytext + yyless_macro_arg; \
    3827             :         (yy_hold_char) = *(yy_c_buf_p); \
    3828             :         *(yy_c_buf_p) = '\0'; \
    3829             :         jsonpath_yyleng = yyless_macro_arg; \
    3830             :         } \
    3831             :     while ( 0 )
    3832             : 
    3833             : /* Accessor  methods (get/set functions) to struct members. */
    3834             : 
    3835             : /** Get the current line number.
    3836             :  * 
    3837             :  */
    3838           0 : int jsonpath_yyget_lineno  (void)
    3839             : {
    3840             :     
    3841           0 :     return jsonpath_yylineno;
    3842             : }
    3843             : 
    3844             : /** Get the input stream.
    3845             :  * 
    3846             :  */
    3847           0 : FILE *jsonpath_yyget_in  (void)
    3848             : {
    3849           0 :         return jsonpath_yyin;
    3850             : }
    3851             : 
    3852             : /** Get the output stream.
    3853             :  * 
    3854             :  */
    3855           0 : FILE *jsonpath_yyget_out  (void)
    3856             : {
    3857           0 :         return jsonpath_yyout;
    3858             : }
    3859             : 
    3860             : /** Get the length of the current token.
    3861             :  * 
    3862             :  */
    3863           0 : int jsonpath_yyget_leng  (void)
    3864             : {
    3865           0 :         return jsonpath_yyleng;
    3866             : }
    3867             : 
    3868             : /** Get the current token.
    3869             :  * 
    3870             :  */
    3871             : 
    3872           0 : char *jsonpath_yyget_text  (void)
    3873             : {
    3874           0 :         return jsonpath_yytext;
    3875             : }
    3876             : 
    3877             : /** Set the current line number.
    3878             :  * @param _line_number line number
    3879             :  * 
    3880             :  */
    3881           0 : void jsonpath_yyset_lineno (int  _line_number )
    3882             : {
    3883             :     
    3884           0 :     jsonpath_yylineno = _line_number;
    3885           0 : }
    3886             : 
    3887             : /** Set the input stream. This does not discard the current
    3888             :  * input buffer.
    3889             :  * @param _in_str A readable stream.
    3890             :  * 
    3891             :  * @see jsonpath_yy_switch_to_buffer
    3892             :  */
    3893           0 : void jsonpath_yyset_in (FILE *  _in_str )
    3894             : {
    3895           0 :         jsonpath_yyin = _in_str ;
    3896           0 : }
    3897             : 
    3898           0 : void jsonpath_yyset_out (FILE *  _out_str )
    3899             : {
    3900           0 :         jsonpath_yyout = _out_str ;
    3901           0 : }
    3902             : 
    3903           0 : int jsonpath_yyget_debug  (void)
    3904             : {
    3905           0 :         return jsonpath_yy_flex_debug;
    3906             : }
    3907             : 
    3908           0 : void jsonpath_yyset_debug (int  _bdebug )
    3909             : {
    3910           0 :         jsonpath_yy_flex_debug = _bdebug ;
    3911           0 : }
    3912             : 
    3913        2440 : static int yy_init_globals (void)
    3914             : {
    3915             :         /* Initialization is the same as for the non-reentrant scanner.
    3916             :      * This function is called from jsonpath_yylex_destroy(), so don't allocate here.
    3917             :      */
    3918             : 
    3919        2440 :     (yy_buffer_stack) = NULL;
    3920        2440 :     (yy_buffer_stack_top) = 0;
    3921        2440 :     (yy_buffer_stack_max) = 0;
    3922        2440 :     (yy_c_buf_p) = NULL;
    3923        2440 :     (yy_init) = 0;
    3924        2440 :     (yy_start) = 0;
    3925             : 
    3926             : /* Defined in main.c */
    3927             : #ifdef YY_STDINIT
    3928             :     jsonpath_yyin = stdin;
    3929             :     jsonpath_yyout = stdout;
    3930             : #else
    3931        2440 :     jsonpath_yyin = NULL;
    3932        2440 :     jsonpath_yyout = NULL;
    3933             : #endif
    3934             : 
    3935             :     /* For future reference: Set errno on error, since we are called by
    3936             :      * jsonpath_yylex_init()
    3937             :      */
    3938        2440 :     return 0;
    3939             : }
    3940             : 
    3941             : /* jsonpath_yylex_destroy is for both reentrant and non-reentrant scanners. */
    3942           0 : int jsonpath_yylex_destroy  (void)
    3943             : {
    3944             :     
    3945             :     /* Pop the buffer stack, destroying each element. */
    3946           0 :     while(YY_CURRENT_BUFFER){
    3947           0 :         jsonpath_yy_delete_buffer(YY_CURRENT_BUFFER  );
    3948           0 :         YY_CURRENT_BUFFER_LVALUE = NULL;
    3949           0 :         jsonpath_yypop_buffer_state();
    3950             :     }
    3951             : 
    3952             :     /* Destroy the stack itself. */
    3953           0 :     jsonpath_yyfree((yy_buffer_stack) );
    3954           0 :     (yy_buffer_stack) = NULL;
    3955             : 
    3956             :     /* Reset the globals. This is important in a non-reentrant scanner so the next time
    3957             :      * jsonpath_yylex() is called, initialization will occur. */
    3958           0 :     yy_init_globals( );
    3959             : 
    3960           0 :     return 0;
    3961             : }
    3962             : 
    3963             : /*
    3964             :  * Internal utility routines.
    3965             :  */
    3966             : 
    3967             : #ifndef yytext_ptr
    3968             : static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
    3969             : {
    3970             :         
    3971             :     int i;
    3972             :     for ( i = 0; i < n; ++i )
    3973             :         s1[i] = s2[i];
    3974             : }
    3975             : #endif
    3976             : 
    3977             : #ifdef YY_NEED_STRLEN
    3978             : static int yy_flex_strlen (yyconst char * s )
    3979             : {
    3980             :     int n;
    3981             :     for ( n = 0; s[n]; ++n )
    3982             :         ;
    3983             : 
    3984             :     return n;
    3985             : }
    3986             : #endif
    3987             : 
    3988             : #define YYTABLES_NAME "yytables"
    3989             : 
    3990             : #line 289 "jsonpath_scan.l"
    3991             : 
    3992             : 
    3993             : 
    3994             : void
    3995             : jsonpath_yyerror(JsonPathParseResult **result, const char *message)
    3996             : {
    3997             :     if (*jsonpath_yytext == YY_END_OF_BUFFER_CHAR)
    3998             :     {
    3999             :         ereport(ERROR,
    4000             :                 (errcode(ERRCODE_SYNTAX_ERROR),
    4001             :                  /* translator: %s is typically "syntax error" */
    4002             :                  errmsg("%s at end of jsonpath input", _(message))));
    4003             :     }
    4004             :     else
    4005             :     {
    4006             :         ereport(ERROR,
    4007             :                 (errcode(ERRCODE_SYNTAX_ERROR),
    4008             :                  /* translator: first %s is typically "syntax error" */
    4009             :                  errmsg("%s at or near \"%s\" of jsonpath input",
    4010             :                         _(message), jsonpath_yytext)));
    4011             :     }
    4012             : }
    4013             : 
    4014             : typedef struct JsonPathKeyword
    4015             : {
    4016             :     int16       len;
    4017             :     bool        lowercase;
    4018             :     int         val;
    4019             :     const char *keyword;
    4020             : } JsonPathKeyword;
    4021             : 
    4022             : /*
    4023             :  * Array of key words should be sorted by length and then
    4024             :  * alphabetical order
    4025             :  */
    4026             : static const JsonPathKeyword keywords[] = {
    4027             :     { 2, false, IS_P,       "is"},
    4028             :     { 2, false, TO_P,       "to"},
    4029             :     { 3, false, ABS_P,      "abs"},
    4030             :     { 3, false, LAX_P,      "lax"},
    4031             :     { 4, false, FLAG_P,     "flag"},
    4032             :     { 4, false, LAST_P,     "last"},
    4033             :     { 4, true,  NULL_P,     "null"},
    4034             :     { 4, false, SIZE_P,     "size"},
    4035             :     { 4, true,  TRUE_P,     "true"},
    4036             :     { 4, false, TYPE_P,     "type"},
    4037             :     { 4, false, WITH_P,     "with"},
    4038             :     { 5, true,  FALSE_P,    "false"},
    4039             :     { 5, false, FLOOR_P,    "floor"},
    4040             :     { 6, false, DOUBLE_P,   "double"},
    4041             :     { 6, false, EXISTS_P,   "exists"},
    4042             :     { 6, false, STARTS_P,   "starts"},
    4043             :     { 6, false, STRICT_P,   "strict"},
    4044             :     { 7, false, CEILING_P,  "ceiling"},
    4045             :     { 7, false, UNKNOWN_P,  "unknown"},
    4046             :     { 8, false, KEYVALUE_P, "keyvalue"},
    4047             :     { 10,false, LIKE_REGEX_P, "like_regex"},
    4048             : };
    4049             : 
    4050             : /* Check if current scanstring value is a keyword */
    4051             : static enum yytokentype
    4052             : checkKeyword()
    4053             : {
    4054             :     int                     res = IDENT_P;
    4055             :     int                     diff;
    4056             :     const JsonPathKeyword  *StopLow = keywords,
    4057             :                            *StopHigh = keywords + lengthof(keywords),
    4058             :                            *StopMiddle;
    4059             : 
    4060             :     if (scanstring.len > keywords[lengthof(keywords) - 1].len)
    4061             :         return res;
    4062             : 
    4063             :     while (StopLow < StopHigh)
    4064             :     {
    4065             :         StopMiddle = StopLow + ((StopHigh - StopLow) >> 1);
    4066             : 
    4067             :         if (StopMiddle->len == scanstring.len)
    4068             :             diff = pg_strncasecmp(StopMiddle->keyword, scanstring.val,
    4069             :                                   scanstring.len);
    4070             :         else
    4071             :             diff = StopMiddle->len - scanstring.len;
    4072             : 
    4073             :         if (diff < 0)
    4074             :             StopLow = StopMiddle + 1;
    4075             :         else if (diff > 0)
    4076             :             StopHigh = StopMiddle;
    4077             :         else
    4078             :         {
    4079             :             if (StopMiddle->lowercase)
    4080             :                 diff = strncmp(StopMiddle->keyword, scanstring.val,
    4081             :                                scanstring.len);
    4082             : 
    4083             :             if (diff == 0)
    4084             :                 res = StopMiddle->val;
    4085             : 
    4086             :             break;
    4087             :         }
    4088             :     }
    4089             : 
    4090             :     return res;
    4091             : }
    4092             : 
    4093             : /*
    4094             :  * Called before any actual parsing is done
    4095             :  */
    4096             : static void
    4097             : jsonpath_scanner_init(const char *str, int slen)
    4098             : {
    4099             :     if (slen <= 0)
    4100             :         slen = strlen(str);
    4101             : 
    4102             :     /*
    4103             :      * Might be left over after ereport()
    4104             :      */
    4105             :     yy_init_globals();
    4106             : 
    4107             :     /*
    4108             :      * Make a scan buffer with special termination needed by flex.
    4109             :      */
    4110             : 
    4111             :     scanbuflen = slen;
    4112             :     scanbuf = palloc(slen + 2);
    4113             :     memcpy(scanbuf, str, slen);
    4114             :     scanbuf[slen] = scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR;
    4115             :     scanbufhandle = jsonpath_yy_scan_buffer(scanbuf,slen + 2);
    4116             : 
    4117             :     BEGIN(INITIAL);
    4118             : }
    4119             : 
    4120             : 
    4121             : /*
    4122             :  * Called after parsing is done to clean up after jsonpath_scanner_init()
    4123             :  */
    4124             : static void
    4125             : jsonpath_scanner_finish(void)
    4126             : {
    4127             :     jsonpath_yy_delete_buffer(scanbufhandle);
    4128             :     pfree(scanbuf);
    4129             : }
    4130             : 
    4131             : /*
    4132             :  * Resize scanstring so that it can append string of given length.
    4133             :  * Reinitialize if required.
    4134             :  */
    4135             : static void
    4136             : resizeString(bool init, int appendLen)
    4137             : {
    4138             :     if (init)
    4139             :     {
    4140             :         scanstring.total = Max(32, appendLen);
    4141             :         scanstring.val = (char *) palloc(scanstring.total);
    4142             :         scanstring.len = 0;
    4143             :     }
    4144             :     else
    4145             :     {
    4146             :         if (scanstring.len + appendLen >= scanstring.total)
    4147             :         {
    4148             :             while (scanstring.len + appendLen >= scanstring.total)
    4149             :                 scanstring.total *= 2;
    4150             :             scanstring.val = repalloc(scanstring.val, scanstring.total);
    4151             :         }
    4152             :     }
    4153             : }
    4154             : 
    4155             : /* Add set of bytes at "s" of length "l" to scanstring */
    4156             : static void
    4157             : addstring(bool init, char *s, int l)
    4158             : {
    4159             :     resizeString(init, l + 1);
    4160             :     memcpy(scanstring.val + scanstring.len, s, l);
    4161             :     scanstring.len += l;
    4162             : }
    4163             : 
    4164             : /* Add single byte "c" to scanstring */
    4165             : static void
    4166             : addchar(bool init, char c)
    4167             : {
    4168             :     resizeString(init, 1);
    4169             :     scanstring.val[scanstring.len] = c;
    4170             :     if (c != '\0')
    4171             :         scanstring.len++;
    4172             : }
    4173             : 
    4174             : /* Interface to jsonpath parser */
    4175             : JsonPathParseResult *
    4176             : parsejsonpath(const char *str, int len)
    4177             : {
    4178             :     JsonPathParseResult *parseresult;
    4179             : 
    4180             :     jsonpath_scanner_init(str, len);
    4181             : 
    4182             :     if (jsonpath_yyparse((void *) &parseresult) != 0)
    4183             :         jsonpath_yyerror(NULL, "bogus input"); /* shouldn't happen */
    4184             : 
    4185             :     jsonpath_scanner_finish();
    4186             : 
    4187             :     return parseresult;
    4188             : }
    4189             : 
    4190             : /* Turn hex character into integer */
    4191             : static int
    4192             : hexval(char c)
    4193             : {
    4194             :     if (c >= '0' && c <= '9')
    4195             :         return c - '0';
    4196             :     if (c >= 'a' && c <= 'f')
    4197             :         return c - 'a' + 0xA;
    4198             :     if (c >= 'A' && c <= 'F')
    4199             :         return c - 'A' + 0xA;
    4200             :     jsonpath_yyerror(NULL, "invalid hexadecimal digit");
    4201             :     return 0; /* not reached */
    4202             : }
    4203             : 
    4204             : /* Add given unicode character to scanstring */
    4205             : static void
    4206             : addUnicodeChar(int ch)
    4207             : {
    4208             :     /*
    4209             :      * For UTF8, replace the escape sequence by the actual
    4210             :      * utf8 character in lex->strval. Do this also for other
    4211             :      * encodings if the escape designates an ASCII character,
    4212             :      * otherwise raise an error.
    4213             :      */
    4214             : 
    4215             :     if (ch == 0)
    4216             :     {
    4217             :         /* We can't allow this, since our TEXT type doesn't */
    4218             :         ereport(ERROR,
    4219             :                 (errcode(ERRCODE_UNTRANSLATABLE_CHARACTER),
    4220             :                  errmsg("unsupported Unicode escape sequence"),
    4221             :                   errdetail("\\u0000 cannot be converted to text.")));
    4222             :     }
    4223             :     else if (GetDatabaseEncoding() == PG_UTF8)
    4224             :     {
    4225             :         char utf8str[5];
    4226             :         int utf8len;
    4227             : 
    4228             :         unicode_to_utf8(ch, (unsigned char *) utf8str);
    4229             :         utf8len = pg_utf_mblen((unsigned char *) utf8str);
    4230             :         addstring(false, utf8str, utf8len);
    4231             :     }
    4232             :     else if (ch <= 0x007f)
    4233             :     {
    4234             :         /*
    4235             :          * This is the only way to designate things like a
    4236             :          * form feed character in JSON, so it's useful in all
    4237             :          * encodings.
    4238             :          */
    4239             :         addchar(false, (char) ch);
    4240             :     }
    4241             :     else
    4242             :     {
    4243             :         ereport(ERROR,
    4244             :                 (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
    4245             :                  errmsg("invalid input syntax for type %s", "jsonpath"),
    4246             :                  errdetail("Unicode escape values cannot be used for code "
    4247             :                            "point values above 007F when the server encoding "
    4248             :                            "is not UTF8.")));
    4249             :     }
    4250             : }
    4251             : 
    4252             : /* Add unicode character and process its hi surrogate */
    4253             : static void
    4254             : addUnicode(int ch, int *hi_surrogate)
    4255             : {
    4256             :     if (ch >= 0xd800 && ch <= 0xdbff)
    4257             :     {
    4258             :         if (*hi_surrogate != -1)
    4259             :             ereport(ERROR,
    4260             :                     (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
    4261             :                      errmsg("invalid input syntax for type %s", "jsonpath"),
    4262             :                      errdetail("Unicode high surrogate must not follow "
    4263             :                                "a high surrogate.")));
    4264             :         *hi_surrogate = (ch & 0x3ff) << 10;
    4265             :         return;
    4266             :     }
    4267             :     else if (ch >= 0xdc00 && ch <= 0xdfff)
    4268             :     {
    4269             :         if (*hi_surrogate == -1)
    4270             :             ereport(ERROR,
    4271             :                     (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
    4272             :                      errmsg("invalid input syntax for type %s", "jsonpath"),
    4273             :                      errdetail("Unicode low surrogate must follow a high "
    4274             :                                "surrogate.")));
    4275             :         ch = 0x10000 + *hi_surrogate + (ch & 0x3ff);
    4276             :         *hi_surrogate = -1;
    4277             :     }
    4278             :     else if (*hi_surrogate != -1)
    4279             :     {
    4280             :         ereport(ERROR,
    4281             :                 (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
    4282             :                  errmsg("invalid input syntax for type %s", "jsonpath"),
    4283             :                  errdetail("Unicode low surrogate must follow a high "
    4284             :                            "surrogate.")));
    4285             :     }
    4286             : 
    4287             :     addUnicodeChar(ch);
    4288             : }
    4289             : 
    4290             : /*
    4291             :  * parseUnicode was adopted from json_lex_string() in
    4292             :  * src/backend/utils/adt/json.c
    4293             :  */
    4294             : static void
    4295             : parseUnicode(char *s, int l)
    4296             : {
    4297             :     int         i = 2;
    4298             :     int         hi_surrogate = -1;
    4299             : 
    4300             :     for (i = 2; i < l; i += 2)   /* skip '\u' */
    4301             :     {
    4302             :         int         ch = 0;
    4303             :         int         j;
    4304             : 
    4305             :         if (s[i] == '{')    /* parse '\u{XX...}' */
    4306             :         {
    4307             :             while (s[++i] != '}' && i < l)
    4308             :                 ch = (ch << 4) | hexval(s[i]);
    4309             :             i++;    /* skip '}' */
    4310             :         }
    4311             :         else        /* parse '\uXXXX' */
    4312             :         {
    4313             :             for (j = 0; j < 4 && i < l; j++)
    4314             :                 ch = (ch << 4) | hexval(s[i++]);
    4315             :         }
    4316             : 
    4317             :         addUnicode(ch, &hi_surrogate);
    4318             :     }
    4319             : 
    4320             :     if (hi_surrogate != -1)
    4321             :     {
    4322             :         ereport(ERROR,
    4323             :                 (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
    4324             :                  errmsg("invalid input syntax for type %s", "jsonpath"),
    4325             :                  errdetail("Unicode low surrogate must follow a high "
    4326             :                            "surrogate.")));
    4327             :     }
    4328             : }
    4329             : 
    4330             : /* Parse sequence of hex-encoded characters */
    4331             : static void
    4332             : parseHexChar(char *s)
    4333             : {
    4334             :     int         ch = (hexval(s[2]) << 4) |
    4335             :                       hexval(s[3]);
    4336             : 
    4337             :     addUnicodeChar(ch);
    4338             : }
    4339             : 
    4340             : /*
    4341             :  * Interface functions to make flex use palloc() instead of malloc().
    4342             :  * It'd be better to make these static, but flex insists otherwise.
    4343             :  */
    4344             : 
    4345             : void *
    4346             : jsonpath_yyalloc(yy_size_t bytes)
    4347             : {
    4348             :     return palloc(bytes);
    4349             : }
    4350             : 
    4351             : void *
    4352             : jsonpath_yyrealloc(void *ptr, yy_size_t bytes)
    4353             : {
    4354             :     if (ptr)
    4355             :         return repalloc(ptr, bytes);
    4356             :     else
    4357             :         return palloc(bytes);
    4358             : }
    4359             : 
    4360             : void
    4361             : jsonpath_yyfree(void *ptr)
    4362             : {
    4363             :     if (ptr)
    4364             :         pfree(ptr);
    4365             : }
    4366             : 

Generated by: LCOV version 1.13