Coverage Report

Created: 2026-03-08 06:46

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/kamailio/src/core/cfg.tab.c
Line
Count
Source
1
/* A Bison parser, made by GNU Bison 3.5.1.  */
2
3
/* Bison implementation for Yacc-like parsers in C
4
5
   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
6
   Inc.
7
8
   This program is free software: you can redistribute it and/or modify
9
   it under the terms of the GNU General Public License as published by
10
   the Free Software Foundation, either version 3 of the License, or
11
   (at your option) any later version.
12
13
   This program is distributed in the hope that it will be useful,
14
   but WITHOUT ANY WARRANTY; without even the implied warranty of
15
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
   GNU General Public License for more details.
17
18
   You should have received a copy of the GNU General Public License
19
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
21
/* As a special exception, you may create a larger work that contains
22
   part or all of the Bison parser skeleton and distribute that work
23
   under terms of your choice, so long as that work isn't itself a
24
   parser generator using the skeleton or a modified version thereof
25
   as a parser skeleton.  Alternatively, if you modify or redistribute
26
   the parser skeleton itself, you may (at your option) remove this
27
   special exception, which will cause the skeleton and the resulting
28
   Bison output files to be licensed under the GNU General Public
29
   License without this special exception.
30
31
   This special exception was added by the Free Software Foundation in
32
   version 2.2 of Bison.  */
33
34
/* C LALR(1) parser skeleton written by Richard Stallman, by
35
   simplifying the original so-called "semantic" parser.  */
36
37
/* All symbols defined below should begin with yy or YY, to avoid
38
   infringing on user name space.  This should be done even for local
39
   variables, as they might otherwise be expanded by user macros.
40
   There are some unavoidable exceptions within include files to
41
   define necessary library symbols; they are noted "INFRINGES ON
42
   USER NAME SPACE" below.  */
43
44
/* Undocumented macros, especially those whose name start with YY_,
45
   are private implementation details.  Do not rely on them.  */
46
47
/* Identify Bison output.  */
48
#define YYBISON 1
49
50
/* Bison version.  */
51
#define YYBISON_VERSION "3.5.1"
52
53
/* Skeleton name.  */
54
#define YYSKELETON_NAME "yacc.c"
55
56
/* Pure parsers.  */
57
#define YYPURE 0
58
59
/* Push parsers.  */
60
#define YYPUSH 0
61
62
/* Pull parsers.  */
63
#define YYPULL 1
64
65
66
67
68
/* First part of user prologue.  */
69
#line 32 "core/cfg.y"
70
71
72
#include <stdlib.h>
73
#include <stdio.h>
74
#include <stdarg.h>
75
#include <sys/types.h>
76
#include <sys/socket.h>
77
#include <netinet/in.h>
78
#include <netinet/ip.h>
79
#include <arpa/inet.h>
80
#include <string.h>
81
#include <errno.h>
82
#include "route_struct.h"
83
#include "globals.h"
84
#include "shm_init.h"
85
#include "route.h"
86
#include "switch.h"
87
#include "dprint.h"
88
#include "sr_module.h"
89
#include "modparam.h"
90
#include "ip_addr.h"
91
#include "resolve.h"
92
#include "socket_info.h"
93
#include "name_alias.h"
94
#include "ut.h"
95
#include "dset.h"
96
#include "select.h"
97
#include "flags.h"
98
#include "tcp_init.h"
99
#include "tcp_options.h"
100
#include "sctp_core.h"
101
#include "pvar.h"
102
#include "lvalue.h"
103
#include "rvalue.h"
104
#include "sr_compat.h"
105
#include "msg_translator.h"
106
#include "async_task.h"
107
108
#include "kemi.h"
109
#include "ppcfg.h"
110
#include "pvapi.h"
111
#include "config.h"
112
#include "daemonize.h"
113
#include "coreparam.h"
114
#include "cfg_core.h"
115
#include "tcp_conn.h"
116
#include "cfg/cfg.h"
117
#ifdef CORE_TLS
118
#include "tls/tls_config.h"
119
#endif
120
#include "timer_ticks.h"
121
122
#ifdef DEBUG_DMALLOC
123
#include <dmalloc.h>
124
#endif
125
126
/* hack to avoid alloca usage in the generated C file (needed for compiler
127
 with no built in alloca, like icc*/
128
#undef _ALLOCA_H
129
130
#define onsend_check(s) \
131
0
  do{\
132
0
    if (rt!=ONSEND_ROUTE) yyerror( s " allowed only in onsend_routes");\
133
0
  }while(0)
134
135
0
  #define IF_AUTO_BIND_IPV6(x) x
136
137
#ifdef USE_DNS_CACHE
138
0
  #define IF_DNS_CACHE(x) x
139
#else
140
  #define IF_DNS_CACHE(x) warn("dns cache support not compiled in")
141
#endif
142
143
#ifdef USE_DNS_FAILOVER
144
0
  #define IF_DNS_FAILOVER(x) x
145
#else
146
  #define IF_DNS_FAILOVER(x) warn("dns failover support not compiled in")
147
#endif
148
149
#ifdef USE_NAPTR
150
0
  #define IF_NAPTR(x) x
151
#else
152
  #define IF_NAPTR(x) warn("dns naptr support not compiled in")
153
#endif
154
155
#ifdef USE_DST_BLOCKLIST
156
0
  #define IF_DST_BLOCKLIST(x) x
157
#else
158
  #define IF_DST_BLOCKLIST(x) warn("dst blocklist support not compiled in")
159
#endif
160
161
#ifdef USE_SCTP
162
  #define IF_SCTP(x) x
163
#else
164
  #define IF_SCTP(x) warn("sctp support not compiled in")
165
#endif
166
167
#ifdef USE_RAW_SOCKS
168
0
  #define IF_RAW_SOCKS(x) x
169
#else
170
  #define IF_RAW_SOCKS(x) warn("raw socket support not compiled in")
171
#endif
172
173
174
extern int yylex();
175
/* safer than using yytext which can be array or pointer */
176
extern char* yy_number_str;
177
178
static void yyerror(char* s, ...);
179
static void yyerror_at(struct cfg_pos* pos, char* s, ...);
180
static char* tmp = NULL;
181
static int i_tmp = 0;
182
static struct socket_id* lst_tmp = NULL;
183
static struct name_lst* nl_tmp = NULL;
184
static int rt = 0;  /* Type of route block for find_export */
185
static str* str_tmp = NULL;
186
static str s_tmp = STR_NULL;
187
static struct ip_addr* ip_tmp = NULL;
188
static struct avp_spec* s_attr = NULL;
189
static select_t sel;
190
static select_t* sel_ptr = NULL;
191
static pv_spec_t* pv_spec = NULL;
192
static struct action *mod_func_action = NULL;
193
static struct lvalue* lval_tmp = NULL;
194
static struct rvalue* rval_tmp = NULL;
195
static struct rval_expr* rve_tmp = NULL;
196
static socket_attrs_t tmp_sa;
197
198
static void warn(char* s, ...);
199
static void warn_at(struct cfg_pos* pos, char* s, ...);
200
static void get_cpos(struct cfg_pos* pos);
201
static struct rval_expr* mk_rve_rval(enum rval_type, void* v);
202
static struct rval_expr* mk_rve1(enum rval_expr_op op, struct rval_expr* rve1);
203
static struct rval_expr* mk_rve2(enum rval_expr_op op, struct rval_expr* rve1,
204
                  struct rval_expr* rve2);
205
static int rval_expr_int_check(struct rval_expr *rve);
206
static int warn_ct_rve(struct rval_expr *rve, char* name);
207
static struct socket_id* mk_listen_id(char*, int, int);
208
static struct name_lst* mk_name_lst(char* name, int flags);
209
static struct socket_id* mk_listen_id2(struct name_lst*, int, int);
210
static void free_name_lst(struct name_lst* lst);
211
static void free_socket_id_lst(struct socket_id* i);
212
213
static struct case_stms* mk_case_stm(struct rval_expr* ct, int is_re,
214
                  struct action* a, int* err);
215
static int case_check_type(struct case_stms* stms);
216
static int case_check_default(struct case_stms* stms);
217
static int mod_f_params_pre_fixup(struct action* a);
218
static void free_mod_func_action(struct action* a);
219
220
221
extern int line;
222
extern int column;
223
extern int startcolumn;
224
extern int startline;
225
extern char *finame;
226
extern char *routename;
227
extern char *default_routename;
228
229
#define set_cfg_pos(x) \
230
0
  do{\
231
0
    if(x) {\
232
0
    (x)->cline = line;\
233
0
    (x)->cfile = (finame!=0)?finame:((cfg_file!=0)?cfg_file:"default");\
234
0
    (x)->rname = (routename!=0)?routename:((default_routename!=0)?default_routename:"DEFAULT");\
235
0
    }\
236
0
  }while(0)
237
238
239
240
#line 241 "core/cfg.tab.c"
241
242
# ifndef YY_CAST
243
#  ifdef __cplusplus
244
#   define YY_CAST(Type, Val) static_cast<Type> (Val)
245
#   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
246
#  else
247
0
#   define YY_CAST(Type, Val) ((Type) (Val))
248
#   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
249
#  endif
250
# endif
251
# ifndef YY_NULLPTR
252
#  if defined __cplusplus
253
#   if 201103L <= __cplusplus
254
#    define YY_NULLPTR nullptr
255
#   else
256
#    define YY_NULLPTR 0
257
#   endif
258
#  else
259
#   define YY_NULLPTR ((void*)0)
260
#  endif
261
# endif
262
263
/* Enabling verbose error messages.  */
264
#ifdef YYERROR_VERBOSE
265
# undef YYERROR_VERBOSE
266
# define YYERROR_VERBOSE 1
267
#else
268
# define YYERROR_VERBOSE 0
269
#endif
270
271
/* Use api.header.include to #include this header
272
   instead of duplicating it here.  */
273
#ifndef YY_YY_CORE_CFG_TAB_H_INCLUDED
274
# define YY_YY_CORE_CFG_TAB_H_INCLUDED
275
/* Debug traces.  */
276
#ifndef YYDEBUG
277
# define YYDEBUG 0
278
#endif
279
#if YYDEBUG
280
extern int yydebug;
281
#endif
282
283
/* Token type.  */
284
#ifndef YYTOKENTYPE
285
# define YYTOKENTYPE
286
  enum yytokentype
287
  {
288
    FORWARD = 258,
289
    FORWARD_TCP = 259,
290
    FORWARD_TLS = 260,
291
    FORWARD_SCTP = 261,
292
    FORWARD_UDP = 262,
293
    EXIT = 263,
294
    DROP = 264,
295
    RETURN = 265,
296
    RETURN_MODE = 266,
297
    BREAK = 267,
298
    LOG_TOK = 268,
299
    ERROR = 269,
300
    ROUTE = 270,
301
    ROUTE_REQUEST = 271,
302
    ROUTE_FAILURE = 272,
303
    ROUTE_ONREPLY = 273,
304
    ROUTE_REPLY = 274,
305
    ROUTE_BRANCH = 275,
306
    ROUTE_SEND = 276,
307
    ROUTE_EVENT = 277,
308
    EXEC = 278,
309
    SET_HOST = 279,
310
    SET_HOSTPORT = 280,
311
    SET_HOSTPORTTRANS = 281,
312
    PREFIX = 282,
313
    STRIP = 283,
314
    STRIP_TAIL = 284,
315
    SET_USERPHONE = 285,
316
    REMOVE_BRANCH = 286,
317
    CLEAR_BRANCHES = 287,
318
    SET_USER = 288,
319
    SET_USERPASS = 289,
320
    SET_PORT = 290,
321
    SET_URI = 291,
322
    REVERT_URI = 292,
323
    FORCE_RPORT = 293,
324
    ADD_LOCAL_RPORT = 294,
325
    LOCAL_RPORT = 295,
326
    FORCE_TCP_ALIAS = 296,
327
    UDP_MTU = 297,
328
    UDP_MTU_TRY_PROTO = 298,
329
    UDP_RECEIVER_MODE = 299,
330
    UDP4_RAW = 300,
331
    UDP4_RAW_MTU = 301,
332
    UDP4_RAW_TTL = 302,
333
    IF = 303,
334
    ELSE = 304,
335
    SET_ADV_ADDRESS = 305,
336
    SET_ADV_PORT = 306,
337
    FORCE_SEND_SOCKET = 307,
338
    SET_FWD_NO_CONNECT = 308,
339
    SET_RPL_NO_CONNECT = 309,
340
    SET_FWD_CLOSE = 310,
341
    SET_RPL_CLOSE = 311,
342
    SWITCH = 312,
343
    CASE = 313,
344
    DEFAULT = 314,
345
    WHILE = 315,
346
    CFG_SELECT = 316,
347
    CFG_RESET = 317,
348
    URIHOST = 318,
349
    URIPORT = 319,
350
    MAX_LEN = 320,
351
    SETFLAG = 321,
352
    RESETFLAG = 322,
353
    ISFLAGSET = 323,
354
    SETAVPFLAG = 324,
355
    RESETAVPFLAG = 325,
356
    ISAVPFLAGSET = 326,
357
    METHOD = 327,
358
    URI = 328,
359
    FROM_URI = 329,
360
    TO_URI = 330,
361
    SRCIP = 331,
362
    SRCPORT = 332,
363
    DSTIP = 333,
364
    DSTPORT = 334,
365
    TOIP = 335,
366
    TOPORT = 336,
367
    SNDIP = 337,
368
    SNDPORT = 338,
369
    SNDPROTO = 339,
370
    SNDAF = 340,
371
    PROTO = 341,
372
    AF = 342,
373
    MYSELF = 343,
374
    MSGLEN = 344,
375
    UDP = 345,
376
    TCP = 346,
377
    TLS = 347,
378
    SCTP = 348,
379
    WS = 349,
380
    WSS = 350,
381
    DEBUG_V = 351,
382
    FORK = 352,
383
    FORK_DELAY = 353,
384
    MODINIT_DELAY = 354,
385
    LOGSTDERROR = 355,
386
    LOGFACILITY = 356,
387
    LOGNAME = 357,
388
    LOGCOLOR = 358,
389
    LOGPREFIX = 359,
390
    LOGPREFIXMODE = 360,
391
    LOGENGINETYPE = 361,
392
    LOGENGINEDATA = 362,
393
    XAVPVIAPARAMS = 363,
394
    XAVPVIAFIELDS = 364,
395
    XAVPVIAREPLYPARAMS = 365,
396
    LISTEN = 366,
397
    ADVERTISE = 367,
398
    VIRTUAL = 368,
399
    STRNAME = 369,
400
    AGNAME = 370,
401
    VRF = 371,
402
    ALIAS = 372,
403
    SR_AUTO_ALIASES = 373,
404
    DOMAIN = 374,
405
    SR_AUTO_DOMAINS = 375,
406
    DNS = 376,
407
    REV_DNS = 377,
408
    DNS_TRY_IPV6 = 378,
409
    DNS_TRY_NAPTR = 379,
410
    DNS_SRV_LB = 380,
411
    DNS_UDP_PREF = 381,
412
    DNS_TCP_PREF = 382,
413
    DNS_TLS_PREF = 383,
414
    DNS_SCTP_PREF = 384,
415
    DNS_RETR_TIME = 385,
416
    DNS_SLOW_QUERY_MS = 386,
417
    DNS_RETR_NO = 387,
418
    DNS_SERVERS_NO = 388,
419
    DNS_USE_SEARCH = 389,
420
    DNS_SEARCH_FMATCH = 390,
421
    DNS_NAPTR_IGNORE_RFC = 391,
422
    DNS_CACHE_INIT = 392,
423
    DNS_USE_CACHE = 393,
424
    DNS_USE_FAILOVER = 394,
425
    DNS_CACHE_FLAGS = 395,
426
    DNS_CACHE_NEG_TTL = 396,
427
    DNS_CACHE_MIN_TTL = 397,
428
    DNS_CACHE_MAX_TTL = 398,
429
    DNS_CACHE_MEM = 399,
430
    DNS_CACHE_GC_INT = 400,
431
    DNS_CACHE_DEL_NONEXP = 401,
432
    DNS_CACHE_REC_PREF = 402,
433
    AUTO_BIND_IPV6 = 403,
434
    BIND_IPV6_LINK_LOCAL = 404,
435
    IPV6_HEX_STYLE = 405,
436
    DST_BLST_INIT = 406,
437
    USE_DST_BLST = 407,
438
    DST_BLST_MEM = 408,
439
    DST_BLST_TTL = 409,
440
    DST_BLST_GC_INT = 410,
441
    DST_BLST_UDP_IMASK = 411,
442
    DST_BLST_TCP_IMASK = 412,
443
    DST_BLST_TLS_IMASK = 413,
444
    DST_BLST_SCTP_IMASK = 414,
445
    IP_FREE_BIND = 415,
446
    PORT = 416,
447
    STAT = 417,
448
    STATS_NAMESEP = 418,
449
    CHILDREN = 419,
450
    SOCKET = 420,
451
    BIND = 421,
452
    WORKERS = 422,
453
    SOCKET_WORKERS = 423,
454
    ASYNC_WORKERS = 424,
455
    ASYNC_USLEEP = 425,
456
    ASYNC_NONBLOCK = 426,
457
    ASYNC_WORKERS_GROUP = 427,
458
    ASYNC_TKV_GNAME = 428,
459
    ASYNC_TKV_EVCB = 429,
460
    CHECK_VIA = 430,
461
    PHONE2TEL = 431,
462
    MEMLOG = 432,
463
    MEMDBG = 433,
464
    MEMSUM = 434,
465
    MEMSAFETY = 435,
466
    MEMADDSIZE = 436,
467
    MEMJOIN = 437,
468
    MEMSTATUSMODE = 438,
469
    SIP_PARSER_LOG_ONELINE = 439,
470
    SIP_PARSER_LOG = 440,
471
    SIP_PARSER_MODE = 441,
472
    CORELOG = 442,
473
    COREPARAM = 443,
474
    SIP_WARNING = 444,
475
    SERVER_SIGNATURE = 445,
476
    SERVER_HEADER = 446,
477
    USER_AGENT_HEADER = 447,
478
    REPLY_TO_VIA = 448,
479
    LOADMODULE = 449,
480
    LOADMODULEX = 450,
481
    LOADPATH = 451,
482
    MODPARAM = 452,
483
    MODPARAMX = 453,
484
    CFGENGINE = 454,
485
    MAXBUFFER = 455,
486
    MAXSNDBUFFER = 456,
487
    SQL_BUFFER_SIZE = 457,
488
    MSG_CLONE_EXTRA_SIZE = 458,
489
    MSG_APPLY_CHANGES_MODE = 459,
490
    MSG_RECV_MAX_SIZE = 460,
491
    TCP_MSG_READ_TIMEOUT = 461,
492
    TCP_MSG_DATA_TIMEOUT = 462,
493
    TCP_ACCEPT_IPLIMIT = 463,
494
    TCP_MAIN_THREADS = 464,
495
    TCP_CHECK_TIMER = 465,
496
    USER = 466,
497
    GROUP = 467,
498
    CHROOT = 468,
499
    WDIR = 469,
500
    RUNDIR = 470,
501
    MHOMED = 471,
502
    DISABLE_TCP = 472,
503
    TCP_ACCEPT_ALIASES = 473,
504
    TCP_ACCEPT_UNIQUE = 474,
505
    TCP_CONNECTION_MATCH = 475,
506
    TCP_CHILDREN = 476,
507
    TCP_CONNECT_TIMEOUT = 477,
508
    TCP_SEND_TIMEOUT = 478,
509
    TCP_CON_LIFETIME = 479,
510
    TCP_POLL_METHOD = 480,
511
    TCP_MAX_CONNECTIONS = 481,
512
    TLS_MAX_CONNECTIONS = 482,
513
    TCP_NO_CONNECT = 483,
514
    TCP_SOURCE_IPV4 = 484,
515
    TCP_SOURCE_IPV6 = 485,
516
    TCP_OPT_FD_CACHE = 486,
517
    TCP_OPT_BUF_WRITE = 487,
518
    TCP_OPT_CONN_WQ_MAX = 488,
519
    TCP_OPT_WQ_MAX = 489,
520
    TCP_OPT_RD_BUF = 490,
521
    TCP_OPT_WQ_BLK = 491,
522
    TCP_OPT_DEFER_ACCEPT = 492,
523
    TCP_OPT_DELAYED_ACK = 493,
524
    TCP_OPT_SYNCNT = 494,
525
    TCP_OPT_LINGER2 = 495,
526
    TCP_OPT_KEEPALIVE = 496,
527
    TCP_OPT_KEEPIDLE = 497,
528
    TCP_OPT_KEEPINTVL = 498,
529
    TCP_OPT_KEEPCNT = 499,
530
    TCP_OPT_CRLF_PING = 500,
531
    TCP_OPT_LISTEN_BACKLOG = 501,
532
    TCP_OPT_ACCEPT_NO_CL = 502,
533
    TCP_OPT_ACCEPT_HEP3 = 503,
534
    TCP_OPT_ACCEPT_HAPROXY = 504,
535
    TCP_OPT_ACCEPT_PROTOCOLS = 505,
536
    TCP_OPT_CLOSE_RST = 506,
537
    TCP_CLONE_RCVBUF = 507,
538
    TCP_REUSE_PORT = 508,
539
    TCP_WAIT_DATA = 509,
540
    TCP_SCRIPT_MODE = 510,
541
    TLS_CONNECTION_MATCH_DOMAIN = 511,
542
    DISABLE_TLS = 512,
543
    ENABLE_TLS = 513,
544
    TLS_THREADS_MODE = 514,
545
    TLSLOG = 515,
546
    TLS_PORT_NO = 516,
547
    TLS_METHOD = 517,
548
    TLS_HANDSHAKE_TIMEOUT = 518,
549
    TLS_SEND_TIMEOUT = 519,
550
    SSLv23 = 520,
551
    SSLv2 = 521,
552
    SSLv3 = 522,
553
    TLSv1 = 523,
554
    TLS_VERIFY = 524,
555
    TLS_REQUIRE_CERTIFICATE = 525,
556
    TLS_CERTIFICATE = 526,
557
    TLS_PRIVATE_KEY = 527,
558
    TLS_CA_LIST = 528,
559
    DISABLE_SCTP = 529,
560
    ENABLE_SCTP = 530,
561
    SCTP_CHILDREN = 531,
562
    ADVERTISED_ADDRESS = 532,
563
    ADVERTISED_PORT = 533,
564
    DISABLE_CORE = 534,
565
    OPEN_FD_LIMIT = 535,
566
    SHM_MEM_SZ = 536,
567
    SHM_FORCE_ALLOC = 537,
568
    MLOCK_PAGES = 538,
569
    REAL_TIME = 539,
570
    RT_PRIO = 540,
571
    RT_POLICY = 541,
572
    RT_TIMER1_PRIO = 542,
573
    RT_TIMER1_POLICY = 543,
574
    RT_TIMER2_PRIO = 544,
575
    RT_TIMER2_POLICY = 545,
576
    MCAST_LOOPBACK = 546,
577
    MCAST_TTL = 547,
578
    MCAST = 548,
579
    TOS = 549,
580
    PMTU_DISCOVERY = 550,
581
    KILL_TIMEOUT = 551,
582
    MAX_WLOOPS = 552,
583
    PVBUFSIZE = 553,
584
    PVBUFSLOTS = 554,
585
    PVCACHELIMIT = 555,
586
    PVCACHEACTION = 556,
587
    HTTP_REPLY_PARSE = 557,
588
    VERSION_TABLE_CFG = 558,
589
    VERBOSE_STARTUP = 559,
590
    ROUTE_LOCKS_SIZE = 560,
591
    WAIT_WORKER1_MODE = 561,
592
    WAIT_WORKER1_TIME = 562,
593
    WAIT_WORKER1_USLEEP = 563,
594
    CFG_DESCRIPTION = 564,
595
    SERVER_ID = 565,
596
    KEMI = 566,
597
    REQUEST_ROUTE_CALLBACK = 567,
598
    ONSEND_ROUTE_CALLBACK = 568,
599
    REPLY_ROUTE_CALLBACK = 569,
600
    EVENT_ROUTE_CALLBACK = 570,
601
    RECEIVED_ROUTE_CALLBACK = 571,
602
    RECEIVED_ROUTE_MODE = 572,
603
    PRE_ROUTING_CALLBACK = 573,
604
    MAX_RECURSIVE_LEVEL = 574,
605
    MAX_BRANCHES_PARAM = 575,
606
    LATENCY_CFG_LOG = 576,
607
    LATENCY_LOG = 577,
608
    LATENCY_LIMIT_DB = 578,
609
    LATENCY_LIMIT_ACTION = 579,
610
    LATENCY_LIMIT_CFG = 580,
611
    RPC_EXEC_DELTA_CFG = 581,
612
    MSG_TIME = 582,
613
    ONSEND_RT_REPLY = 583,
614
    URI_HOST_EXTRA_CHARS = 584,
615
    HDR_NAME_EXTRA_CHARS = 585,
616
    FLAGS_DECL = 586,
617
    AVPFLAGS_DECL = 587,
618
    ATTR_MARK = 588,
619
    SELECT_MARK = 589,
620
    ATTR_FROM = 590,
621
    ATTR_TO = 591,
622
    ATTR_FROMURI = 592,
623
    ATTR_TOURI = 593,
624
    ATTR_FROMUSER = 594,
625
    ATTR_TOUSER = 595,
626
    ATTR_FROMDOMAIN = 596,
627
    ATTR_TODOMAIN = 597,
628
    ATTR_GLOBAL = 598,
629
    ADDEQ = 599,
630
    SUBST = 600,
631
    SUBSTDEF = 601,
632
    SUBSTDEFS = 602,
633
    EQUAL = 603,
634
    LOG_OR = 604,
635
    LOG_AND = 605,
636
    BIN_OR = 606,
637
    BIN_AND = 607,
638
    BIN_XOR = 608,
639
    BIN_LSHIFT = 609,
640
    BIN_RSHIFT = 610,
641
    EQUAL_T = 611,
642
    DIFF = 612,
643
    MATCH = 613,
644
    INTEQ = 614,
645
    INTDIFF = 615,
646
    STREQ = 616,
647
    STRDIFF = 617,
648
    GT = 618,
649
    LT = 619,
650
    GTE = 620,
651
    LTE = 621,
652
    PLUS = 622,
653
    MINUS = 623,
654
    STAR = 624,
655
    SLASH = 625,
656
    MODULO = 626,
657
    NOT = 627,
658
    UNARY = 628,
659
    BIN_NOT = 629,
660
    DEFINED = 630,
661
    INTCAST = 631,
662
    STRCAST = 632,
663
    DOT = 633,
664
    STRLEN = 634,
665
    STREMPTY = 635,
666
    SELVAL = 636,
667
    NUMBER = 637,
668
    ID = 638,
669
    NUM_ID = 639,
670
    STRING = 640,
671
    IPV6ADDR = 641,
672
    PVAR = 642,
673
    AVP_OR_PVAR = 643,
674
    EVENT_RT_NAME = 644,
675
    COMMA = 645,
676
    SEMICOLON = 646,
677
    RPAREN = 647,
678
    LPAREN = 648,
679
    LBRACE = 649,
680
    RBRACE = 650,
681
    LBRACK = 651,
682
    RBRACK = 652,
683
    CR = 653,
684
    COLON = 654
685
  };
686
#endif
687
688
/* Value type.  */
689
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
690
union YYSTYPE
691
{
692
#line 203 "core/cfg.y"
693
694
  long intval;
695
  unsigned long uval;
696
  char* strval;
697
  struct expr* expr;
698
  struct action* action;
699
  struct case_stms* case_stms;
700
  struct net* ipnet;
701
  struct ip_addr* ipaddr;
702
  struct socket_id* sockid;
703
  struct name_lst* name_l;
704
  struct avp_spec* attr;
705
  struct _pv_spec* pvar;
706
  struct lvalue* lval;
707
  struct rvalue* rval;
708
  struct rval_expr* rv_expr;
709
  select_t* select;
710
711
#line 712 "core/cfg.tab.c"
712
713
};
714
typedef union YYSTYPE YYSTYPE;
715
# define YYSTYPE_IS_TRIVIAL 1
716
# define YYSTYPE_IS_DECLARED 1
717
#endif
718
719
720
extern YYSTYPE yylval;
721
722
int yyparse (void);
723
724
#endif /* !YY_YY_CORE_CFG_TAB_H_INCLUDED  */
725
726
727
728
#ifdef short
729
# undef short
730
#endif
731
732
/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
733
   <limits.h> and (if available) <stdint.h> are included
734
   so that the code can choose integer types of a good width.  */
735
736
#ifndef __PTRDIFF_MAX__
737
# include <limits.h> /* INFRINGES ON USER NAME SPACE */
738
# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
739
#  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
740
#  define YY_STDINT_H
741
# endif
742
#endif
743
744
/* Narrow types that promote to a signed type and that can represent a
745
   signed or unsigned integer of at least N bits.  In tables they can
746
   save space and decrease cache pressure.  Promoting to a signed type
747
   helps avoid bugs in integer arithmetic.  */
748
749
#ifdef __INT_LEAST8_MAX__
750
typedef __INT_LEAST8_TYPE__ yytype_int8;
751
#elif defined YY_STDINT_H
752
typedef int_least8_t yytype_int8;
753
#else
754
typedef signed char yytype_int8;
755
#endif
756
757
#ifdef __INT_LEAST16_MAX__
758
typedef __INT_LEAST16_TYPE__ yytype_int16;
759
#elif defined YY_STDINT_H
760
typedef int_least16_t yytype_int16;
761
#else
762
typedef short yytype_int16;
763
#endif
764
765
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
766
typedef __UINT_LEAST8_TYPE__ yytype_uint8;
767
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
768
       && UINT_LEAST8_MAX <= INT_MAX)
769
typedef uint_least8_t yytype_uint8;
770
#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
771
typedef unsigned char yytype_uint8;
772
#else
773
typedef short yytype_uint8;
774
#endif
775
776
#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
777
typedef __UINT_LEAST16_TYPE__ yytype_uint16;
778
#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
779
       && UINT_LEAST16_MAX <= INT_MAX)
780
typedef uint_least16_t yytype_uint16;
781
#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
782
typedef unsigned short yytype_uint16;
783
#else
784
typedef int yytype_uint16;
785
#endif
786
787
#ifndef YYPTRDIFF_T
788
# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
789
0
#  define YYPTRDIFF_T __PTRDIFF_TYPE__
790
#  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
791
# elif defined PTRDIFF_MAX
792
#  ifndef ptrdiff_t
793
#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
794
#  endif
795
#  define YYPTRDIFF_T ptrdiff_t
796
#  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
797
# else
798
#  define YYPTRDIFF_T long
799
#  define YYPTRDIFF_MAXIMUM LONG_MAX
800
# endif
801
#endif
802
803
#ifndef YYSIZE_T
804
# ifdef __SIZE_TYPE__
805
#  define YYSIZE_T __SIZE_TYPE__
806
# elif defined size_t
807
#  define YYSIZE_T size_t
808
# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
809
#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
810
#  define YYSIZE_T size_t
811
# else
812
#  define YYSIZE_T unsigned
813
# endif
814
#endif
815
816
#define YYSIZE_MAXIMUM                                  \
817
  YY_CAST (YYPTRDIFF_T,                                 \
818
           (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
819
            ? YYPTRDIFF_MAXIMUM                         \
820
            : YY_CAST (YYSIZE_T, -1)))
821
822
0
#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
823
824
/* Stored state numbers (used for stacks). */
825
typedef yytype_int16 yy_state_t;
826
827
/* State numbers in computations.  */
828
typedef int yy_state_fast_t;
829
830
#ifndef YY_
831
# if defined YYENABLE_NLS && YYENABLE_NLS
832
#  if ENABLE_NLS
833
#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
834
#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
835
#  endif
836
# endif
837
# ifndef YY_
838
0
#  define YY_(Msgid) Msgid
839
# endif
840
#endif
841
842
#ifndef YY_ATTRIBUTE_PURE
843
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
844
#  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
845
# else
846
#  define YY_ATTRIBUTE_PURE
847
# endif
848
#endif
849
850
#ifndef YY_ATTRIBUTE_UNUSED
851
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
852
#  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
853
# else
854
#  define YY_ATTRIBUTE_UNUSED
855
# endif
856
#endif
857
858
/* Suppress unused-variable warnings by "using" E.  */
859
#if ! defined lint || defined __GNUC__
860
0
# define YYUSE(E) ((void) (E))
861
#else
862
# define YYUSE(E) /* empty */
863
#endif
864
865
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
866
/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
867
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                            \
868
    _Pragma ("GCC diagnostic push")                                     \
869
    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
870
    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
871
# define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
872
    _Pragma ("GCC diagnostic pop")
873
#else
874
# define YY_INITIAL_VALUE(Value) Value
875
#endif
876
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
877
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
878
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
879
#endif
880
#ifndef YY_INITIAL_VALUE
881
# define YY_INITIAL_VALUE(Value) /* Nothing. */
882
#endif
883
884
#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
885
# define YY_IGNORE_USELESS_CAST_BEGIN                          \
886
    _Pragma ("GCC diagnostic push")                            \
887
    _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
888
# define YY_IGNORE_USELESS_CAST_END            \
889
    _Pragma ("GCC diagnostic pop")
890
#endif
891
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
892
# define YY_IGNORE_USELESS_CAST_BEGIN
893
# define YY_IGNORE_USELESS_CAST_END
894
#endif
895
896
897
0
#define YY_ASSERT(E) ((void) (0 && (E)))
898
899
#if ! defined yyoverflow || YYERROR_VERBOSE
900
901
/* The parser invokes alloca or malloc; define the necessary symbols.  */
902
903
# ifdef YYSTACK_USE_ALLOCA
904
#  if YYSTACK_USE_ALLOCA
905
#   ifdef __GNUC__
906
#    define YYSTACK_ALLOC __builtin_alloca
907
#   elif defined __BUILTIN_VA_ARG_INCR
908
#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
909
#   elif defined _AIX
910
#    define YYSTACK_ALLOC __alloca
911
#   elif defined _MSC_VER
912
#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
913
#    define alloca _alloca
914
#   else
915
#    define YYSTACK_ALLOC alloca
916
#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
917
#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
918
      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
919
#     ifndef EXIT_SUCCESS
920
#      define EXIT_SUCCESS 0
921
#     endif
922
#    endif
923
#   endif
924
#  endif
925
# endif
926
927
# ifdef YYSTACK_ALLOC
928
   /* Pacify GCC's 'empty if-body' warning.  */
929
#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
930
#  ifndef YYSTACK_ALLOC_MAXIMUM
931
    /* The OS might guarantee only one guard page at the bottom of the stack,
932
       and a page size can be as small as 4096 bytes.  So we cannot safely
933
       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
934
       to allow for a few compiler-allocated temporary stack slots.  */
935
#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
936
#  endif
937
# else
938
#  define YYSTACK_ALLOC YYMALLOC
939
0
#  define YYSTACK_FREE YYFREE
940
#  ifndef YYSTACK_ALLOC_MAXIMUM
941
#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
942
#  endif
943
#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
944
       && ! ((defined YYMALLOC || defined malloc) \
945
             && (defined YYFREE || defined free)))
946
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
947
#   ifndef EXIT_SUCCESS
948
#    define EXIT_SUCCESS 0
949
#   endif
950
#  endif
951
#  ifndef YYMALLOC
952
#   define YYMALLOC malloc
953
#   if ! defined malloc && ! defined EXIT_SUCCESS
954
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
955
#   endif
956
#  endif
957
#  ifndef YYFREE
958
0
#   define YYFREE free
959
#   if ! defined free && ! defined EXIT_SUCCESS
960
void free (void *); /* INFRINGES ON USER NAME SPACE */
961
#   endif
962
#  endif
963
# endif
964
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
965
966
967
#if (! defined yyoverflow \
968
     && (! defined __cplusplus \
969
         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
970
971
/* A type that is properly aligned for any stack member.  */
972
union yyalloc
973
{
974
  yy_state_t yyss_alloc;
975
  YYSTYPE yyvs_alloc;
976
};
977
978
/* The size of the maximum gap between one aligned stack and the next.  */
979
0
# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
980
981
/* The size of an array large to enough to hold all stacks, each with
982
   N elements.  */
983
# define YYSTACK_BYTES(N) \
984
     ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
985
      + YYSTACK_GAP_MAXIMUM)
986
987
# define YYCOPY_NEEDED 1
988
989
/* Relocate STACK from its old location to the new one.  The
990
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
991
   elements in the stack, and YYPTR gives the new location of the
992
   stack.  Advance YYPTR to a properly aligned location for the next
993
   stack.  */
994
# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
995
0
    do                                                                  \
996
0
      {                                                                 \
997
0
        YYPTRDIFF_T yynewbytes;                                         \
998
0
        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
999
0
        Stack = &yyptr->Stack_alloc;                                    \
1000
0
        yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
1001
0
        yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
1002
0
      }                                                                 \
1003
0
    while (0)
1004
1005
#endif
1006
1007
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1008
/* Copy COUNT objects from SRC to DST.  The source and destination do
1009
   not overlap.  */
1010
# ifndef YYCOPY
1011
#  if defined __GNUC__ && 1 < __GNUC__
1012
#   define YYCOPY(Dst, Src, Count) \
1013
0
      __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
1014
#  else
1015
#   define YYCOPY(Dst, Src, Count)              \
1016
      do                                        \
1017
        {                                       \
1018
          YYPTRDIFF_T yyi;                      \
1019
          for (yyi = 0; yyi < (Count); yyi++)   \
1020
            (Dst)[yyi] = (Src)[yyi];            \
1021
        }                                       \
1022
      while (0)
1023
#  endif
1024
# endif
1025
#endif /* !YYCOPY_NEEDED */
1026
1027
/* YYFINAL -- State number of the termination state.  */
1028
0
#define YYFINAL  552
1029
/* YYLAST -- Last index in YYTABLE.  */
1030
0
#define YYLAST   11922
1031
1032
/* YYNTOKENS -- Number of terminals.  */
1033
0
#define YYNTOKENS  400
1034
/* YYNNTS -- Number of nonterminals.  */
1035
#define YYNNTS  108
1036
/* YYNRULES -- Number of rules.  */
1037
#define YYNRULES  1043
1038
/* YYNSTATES -- Number of states.  */
1039
#define YYNSTATES  1977
1040
1041
0
#define YYUNDEFTOK  2
1042
0
#define YYMAXUTOK   654
1043
1044
1045
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1046
   as returned by yylex, with out-of-bounds checking.  */
1047
#define YYTRANSLATE(YYX)                                                \
1048
0
  (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1049
1050
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1051
   as returned by yylex.  */
1052
static const yytype_int16 yytranslate[] =
1053
{
1054
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1055
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1056
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1057
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1058
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1059
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1060
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1061
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1062
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1063
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1064
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1065
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1066
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1067
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1068
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1069
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1070
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1071
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1072
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1073
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1074
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1075
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1076
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1077
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1078
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1079
       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
1080
       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
1081
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1082
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1083
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1084
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1085
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1086
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1087
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1088
      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1089
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1090
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1091
     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1092
     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1093
     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1094
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1095
     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1096
     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1097
     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1098
     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1099
     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1100
     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1101
     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1102
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1103
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1104
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1105
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1106
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1107
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1108
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1109
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1110
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1111
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1112
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1113
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1114
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1115
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1116
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1117
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1118
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1119
     395,   396,   397,   398,   399
1120
};
1121
1122
#if YYDEBUG
1123
  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1124
static const yytype_int16 yyrline[] =
1125
{
1126
       0,   682,   682,   685,   686,   687,   690,   691,   692,   693,
1127
     694,   695,   695,   696,   696,   697,   698,   698,   699,   699,
1128
     700,   700,   701,   702,   705,   722,   731,   746,   747,   753,
1129
     754,   758,   759,   760,   761,   762,   765,   766,   767,   768,
1130
     769,   770,   771,   774,   775,   776,   777,   778,   779,   783,
1131
     784,   787,   788,   789,   790,   791,   795,   796,   797,   798,
1132
     799,   803,   804,   807,   808,   811,   812,   814,   815,   818,
1133
     821,   827,   828,   832,   833,   836,   837,   840,   846,   852,
1134
     857,   864,   870,   875,   879,   880,   884,   885,   890,   896,
1135
     900,   901,   902,   903,   904,   905,   909,   912,   913,   916,
1136
     917,   918,   919,   920,   921,   922,   923,   924,   927,   928,
1137
     934,   935,   936,   937,   938,   939,   940,   941,   942,   943,
1138
     944,   945,   946,   947,   950,   951,   954,   955,   958,   959,
1139
     960,   961,   962,   963,   964,   965,   966,   967,   968,   969,
1140
     970,   971,   972,   973,   974,   975,   977,   978,   979,   980,
1141
     981,   982,   983,   984,   985,   986,   987,   988,   989,   990,
1142
     991,   992,   993,   994,   995,   996,   997,   998,   999,  1000,
1143
    1001,  1002,  1003,  1004,  1005,  1006,  1007,  1008,  1009,  1010,
1144
    1011,  1012,  1013,  1014,  1015,  1016,  1024,  1025,  1032,  1033,
1145
    1034,  1035,  1038,  1039,  1042,  1043,  1046,  1047,  1048,  1049,
1146
    1052,  1053,  1056,  1057,  1060,  1061,  1064,  1065,  1066,  1067,
1147
    1068,  1069,  1070,  1071,  1072,  1073,  1074,  1075,  1076,  1077,
1148
    1078,  1079,  1080,  1081,  1082,  1083,  1084,  1085,  1086,  1087,
1149
    1088,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1095,  1104,
1150
    1105,  1106,  1107,  1108,  1109,  1110,  1111,  1112,  1113,  1114,
1151
    1115,  1116,  1117,  1118,  1119,  1120,  1121,  1122,  1123,  1124,
1152
    1125,  1126,  1127,  1128,  1129,  1130,  1131,  1132,  1133,  1134,
1153
    1135,  1136,  1137,  1138,  1139,  1140,  1141,  1142,  1143,  1144,
1154
    1145,  1146,  1149,  1150,  1157,  1164,  1165,  1166,  1167,  1168,
1155
    1169,  1170,  1171,  1172,  1173,  1174,  1175,  1176,  1177,  1178,
1156
    1179,  1186,  1187,  1194,  1195,  1202,  1203,  1210,  1211,  1218,
1157
    1219,  1226,  1227,  1234,  1235,  1245,  1246,  1260,  1274,  1275,
1158
    1282,  1283,  1290,  1291,  1298,  1299,  1308,  1309,  1318,  1319,
1159
    1326,  1327,  1334,  1335,  1342,  1343,  1350,  1351,  1358,  1359,
1160
    1366,  1367,  1374,  1375,  1382,  1383,  1390,  1391,  1398,  1399,
1161
    1406,  1407,  1414,  1415,  1422,  1423,  1430,  1431,  1438,  1439,
1162
    1446,  1447,  1454,  1455,  1462,  1463,  1470,  1471,  1478,  1485,
1163
    1486,  1493,  1495,  1502,  1503,  1514,  1515,  1522,  1523,  1530,
1164
    1531,  1538,  1539,  1546,  1547,  1554,  1555,  1562,  1563,  1570,
1165
    1571,  1578,  1579,  1586,  1593,  1600,  1607,  1614,  1621,  1622,
1166
    1629,  1630,  1637,  1638,  1645,  1646,  1653,  1654,  1661,  1662,
1167
    1669,  1670,  1677,  1678,  1685,  1686,  1693,  1694,  1695,  1696,
1168
    1699,  1700,  1703,  1704,  1705,  1706,  1707,  1708,  1709,  1710,
1169
    1722,  1735,  1747,  1760,  1773,  1786,  1800,  1813,  1826,  1840,
1170
    1854,  1867,  1881,  1894,  1908,  1910,  1921,  1922,  1933,  1934,
1171
    1935,  1936,  1937,  1938,  1944,  1945,  1955,  1956,  1957,  1958,
1172
    1959,  1960,  1974,  1975,  1982,  1983,  1984,  1985,  1986,  1987,
1173
    1988,  1989,  1990,  1991,  1992,  1993,  1994,  1995,  1996,  1997,
1174
    1998,  1999,  2006,  2007,  2014,  2015,  2022,  2029,  2030,  2031,
1175
    2058,  2059,  2060,  2061,  2062,  2063,  2064,  2065,  2066,  2067,
1176
    2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,  2076,  2077,
1177
    2078,  2079,  2080,  2081,  2082,  2083,  2084,  2085,  2086,  2087,
1178
    2088,  2089,  2096,  2097,  2106,  2107,  2116,  2117,  2126,  2127,
1179
    2136,  2137,  2146,  2147,  2148,  2149,  2150,  2151,  2152,  2153,
1180
    2154,  2155,  2156,  2157,  2158,  2159,  2160,  2161,  2162,  2163,
1181
    2164,  2165,  2166,  2167,  2168,  2169,  2170,  2171,  2173,  2174,
1182
    2175,  2176,  2178,  2180,  2181,  2182,  2185,  2186,  2189,  2190,
1183
    2195,  2200,  2203,  2208,  2213,  2216,  2217,  2220,  2221,  2224,
1184
    2225,  2226,  2234,  2239,  2244,  2249,  2254,  2257,  2262,  2270,
1185
    2276,  2282,  2288,  2289,  2295,  2301,  2307,  2308,  2318,  2319,
1186
    2329,  2330,  2339,  2348,  2349,  2358,  2367,  2376,  2377,  2383,
1187
    2384,  2390,  2394,  2395,  2398,  2427,  2442,  2443,  2447,  2458,
1188
    2459,  2463,  2464,  2468,  2475,  2491,  2492,  2495,  2498,  2505,
1189
    2521,  2525,  2526,  2531,  2531,  2538,  2539,  2541,  2540,  2563,
1190
    2568,  2571,  2578,  2594,  2597,  2600,  2607,  2623,  2626,  2629,
1191
    2646,  2649,  2650,  2651,  2652,  2653,  2654,  2676,  2677,  2678,
1192
    2679,  2682,  2683,  2684,  2685,  2688,  2689,  2695,  2696,  2697,
1193
    2698,  2699,  2700,  2701,  2704,  2705,  2706,  2707,  2714,  2715,
1194
    2716,  2723,  2724,  2725,  2729,  2730,  2731,  2732,  2733,  2738,
1195
    2739,  2742,  2743,  2744,  2750,  2752,  2754,  2755,  2757,  2759,
1196
    2761,  2763,  2765,  2766,  2768,  2769,  2770,  2771,  2773,  2775,
1197
    2777,  2779,  2781,  2783,  2784,  2820,  2822,  2824,  2826,  2829,
1198
    2831,  2833,  2835,  2839,  2840,  2851,  2852,  2856,  2857,  2872,
1199
    2887,  2888,  2891,  2892,  2893,  2907,  2908,  2923,  2938,  2940,
1200
    2947,  2990,  2991,  2994,  2995,  2996,  2999,  3000,  3001,  3002,
1201
    3003,  3004,  3005,  3006,  3009,  3017,  3027,  3044,  3051,  3058,
1202
    3065,  3072,  3077,  3082,  3083,  3084,  3085,  3086,  3089,  3098,
1203
    3105,  3130,  3146,  3147,  3152,  3171,  3180,  3192,  3207,  3208,
1204
    3211,  3211,  3221,  3222,  3223,  3224,  3225,  3226,  3227,  3228,
1205
    3229,  3232,  3235,  3236,  3239,  3246,  3249,  3256,  3262,  3263,
1206
    3272,  3273,  3274,  3277,  3278,  3290,  3315,  3326,  3357,  3361,
1207
    3371,  3385,  3397,  3398,  3400,  3401,  3402,  3416,  3417,  3418,
1208
    3419,  3420,  3421,  3422,  3426,  3427,  3428,  3441,  3447,  3448,
1209
    3449,  3450,  3451,  3452,  3453,  3454,  3455,  3456,  3457,  3458,
1210
    3459,  3460,  3461,  3479,  3480,  3481,  3482,  3483,  3484,  3485,
1211
    3493,  3494,  3495,  3496,  3497,  3498,  3499,  3500,  3501,  3502,
1212
    3503,  3505,  3507,  3508,  3509,  3510,  3511,  3512,  3515,  3533,
1213
    3534,  3535,  3538,  3539,  3540,  3541,  3542,  3543,  3544,  3545,
1214
    3546,  3547,  3548,  3549,  3550,  3551,  3552,  3553,  3554,  3555,
1215
    3556,  3557,  3558,  3559,  3560,  3561,  3562,  3563,  3564,  3565,
1216
    3566,  3567,  3568,  3569,  3570,  3571,  3572,  3580,  3588,  3596,
1217
    3604,  3612,  3620,  3628,  3636,  3644,  3645,  3647,  3655,  3663,
1218
    3671,  3680,  3689,  3698,  3706,  3715,  3723,  3724,  3726,  3729,
1219
    3730,  3731,  3732,  3739,  3746,  3747,  3753,  3760,  3761,  3767,
1220
    3774,  3775,  3781,  3784,  3787,  3788,  3789,  3792,  3793,  3794,
1221
    3803,  3812,  3813,  3814,  3815,  3816,  3817,  3818,  3819,  3820,
1222
    3821,  3822,  3823,  3824,  3825,  3826,  3827,  3828,  3829,  3833,
1223
    3837,  3838,  3839,  3840,  3841,  3842,  3843,  3844,  3845,  3846,
1224
    3847,  3848,  3849,  3850,  3851,  3852,  3853,  3854,  3855,  3856,
1225
    3857,  3858,  3859,  3860,  3861,  3862,  3863,  3864,  3872,  3880,
1226
    3888,  3889,  3891,  3893,  3904,  3905,  3906,  3922,  3923,  3924,
1227
    3928,  3931,  3932,  3935,  3938,  3941,  3944,  3947,  3950,  3953,
1228
    3956,  3959,  3962,  3963,  3964,  3967,  3968,  3969,  3969,  4002,
1229
    4004,  4006,  4007,  4010,  4027,  4031,  4035,  4039,  4044,  4048,
1230
    4053,  4057,  4061,  4065
1231
};
1232
#endif
1233
1234
#if YYDEBUG || YYERROR_VERBOSE || 0
1235
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1236
   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1237
static const char *const yytname[] =
1238
{
1239
  "$end", "error", "$undefined", "FORWARD", "FORWARD_TCP", "FORWARD_TLS",
1240
  "FORWARD_SCTP", "FORWARD_UDP", "EXIT", "DROP", "RETURN", "RETURN_MODE",
1241
  "BREAK", "LOG_TOK", "ERROR", "ROUTE", "ROUTE_REQUEST", "ROUTE_FAILURE",
1242
  "ROUTE_ONREPLY", "ROUTE_REPLY", "ROUTE_BRANCH", "ROUTE_SEND",
1243
  "ROUTE_EVENT", "EXEC", "SET_HOST", "SET_HOSTPORT", "SET_HOSTPORTTRANS",
1244
  "PREFIX", "STRIP", "STRIP_TAIL", "SET_USERPHONE", "REMOVE_BRANCH",
1245
  "CLEAR_BRANCHES", "SET_USER", "SET_USERPASS", "SET_PORT", "SET_URI",
1246
  "REVERT_URI", "FORCE_RPORT", "ADD_LOCAL_RPORT", "LOCAL_RPORT",
1247
  "FORCE_TCP_ALIAS", "UDP_MTU", "UDP_MTU_TRY_PROTO", "UDP_RECEIVER_MODE",
1248
  "UDP4_RAW", "UDP4_RAW_MTU", "UDP4_RAW_TTL", "IF", "ELSE",
1249
  "SET_ADV_ADDRESS", "SET_ADV_PORT", "FORCE_SEND_SOCKET",
1250
  "SET_FWD_NO_CONNECT", "SET_RPL_NO_CONNECT", "SET_FWD_CLOSE",
1251
  "SET_RPL_CLOSE", "SWITCH", "CASE", "DEFAULT", "WHILE", "CFG_SELECT",
1252
  "CFG_RESET", "URIHOST", "URIPORT", "MAX_LEN", "SETFLAG", "RESETFLAG",
1253
  "ISFLAGSET", "SETAVPFLAG", "RESETAVPFLAG", "ISAVPFLAGSET", "METHOD",
1254
  "URI", "FROM_URI", "TO_URI", "SRCIP", "SRCPORT", "DSTIP", "DSTPORT",
1255
  "TOIP", "TOPORT", "SNDIP", "SNDPORT", "SNDPROTO", "SNDAF", "PROTO", "AF",
1256
  "MYSELF", "MSGLEN", "UDP", "TCP", "TLS", "SCTP", "WS", "WSS", "DEBUG_V",
1257
  "FORK", "FORK_DELAY", "MODINIT_DELAY", "LOGSTDERROR", "LOGFACILITY",
1258
  "LOGNAME", "LOGCOLOR", "LOGPREFIX", "LOGPREFIXMODE", "LOGENGINETYPE",
1259
  "LOGENGINEDATA", "XAVPVIAPARAMS", "XAVPVIAFIELDS", "XAVPVIAREPLYPARAMS",
1260
  "LISTEN", "ADVERTISE", "VIRTUAL", "STRNAME", "AGNAME", "VRF", "ALIAS",
1261
  "SR_AUTO_ALIASES", "DOMAIN", "SR_AUTO_DOMAINS", "DNS", "REV_DNS",
1262
  "DNS_TRY_IPV6", "DNS_TRY_NAPTR", "DNS_SRV_LB", "DNS_UDP_PREF",
1263
  "DNS_TCP_PREF", "DNS_TLS_PREF", "DNS_SCTP_PREF", "DNS_RETR_TIME",
1264
  "DNS_SLOW_QUERY_MS", "DNS_RETR_NO", "DNS_SERVERS_NO", "DNS_USE_SEARCH",
1265
  "DNS_SEARCH_FMATCH", "DNS_NAPTR_IGNORE_RFC", "DNS_CACHE_INIT",
1266
  "DNS_USE_CACHE", "DNS_USE_FAILOVER", "DNS_CACHE_FLAGS",
1267
  "DNS_CACHE_NEG_TTL", "DNS_CACHE_MIN_TTL", "DNS_CACHE_MAX_TTL",
1268
  "DNS_CACHE_MEM", "DNS_CACHE_GC_INT", "DNS_CACHE_DEL_NONEXP",
1269
  "DNS_CACHE_REC_PREF", "AUTO_BIND_IPV6", "BIND_IPV6_LINK_LOCAL",
1270
  "IPV6_HEX_STYLE", "DST_BLST_INIT", "USE_DST_BLST", "DST_BLST_MEM",
1271
  "DST_BLST_TTL", "DST_BLST_GC_INT", "DST_BLST_UDP_IMASK",
1272
  "DST_BLST_TCP_IMASK", "DST_BLST_TLS_IMASK", "DST_BLST_SCTP_IMASK",
1273
  "IP_FREE_BIND", "PORT", "STAT", "STATS_NAMESEP", "CHILDREN", "SOCKET",
1274
  "BIND", "WORKERS", "SOCKET_WORKERS", "ASYNC_WORKERS", "ASYNC_USLEEP",
1275
  "ASYNC_NONBLOCK", "ASYNC_WORKERS_GROUP", "ASYNC_TKV_GNAME",
1276
  "ASYNC_TKV_EVCB", "CHECK_VIA", "PHONE2TEL", "MEMLOG", "MEMDBG", "MEMSUM",
1277
  "MEMSAFETY", "MEMADDSIZE", "MEMJOIN", "MEMSTATUSMODE",
1278
  "SIP_PARSER_LOG_ONELINE", "SIP_PARSER_LOG", "SIP_PARSER_MODE", "CORELOG",
1279
  "COREPARAM", "SIP_WARNING", "SERVER_SIGNATURE", "SERVER_HEADER",
1280
  "USER_AGENT_HEADER", "REPLY_TO_VIA", "LOADMODULE", "LOADMODULEX",
1281
  "LOADPATH", "MODPARAM", "MODPARAMX", "CFGENGINE", "MAXBUFFER",
1282
  "MAXSNDBUFFER", "SQL_BUFFER_SIZE", "MSG_CLONE_EXTRA_SIZE",
1283
  "MSG_APPLY_CHANGES_MODE", "MSG_RECV_MAX_SIZE", "TCP_MSG_READ_TIMEOUT",
1284
  "TCP_MSG_DATA_TIMEOUT", "TCP_ACCEPT_IPLIMIT", "TCP_MAIN_THREADS",
1285
  "TCP_CHECK_TIMER", "USER", "GROUP", "CHROOT", "WDIR", "RUNDIR", "MHOMED",
1286
  "DISABLE_TCP", "TCP_ACCEPT_ALIASES", "TCP_ACCEPT_UNIQUE",
1287
  "TCP_CONNECTION_MATCH", "TCP_CHILDREN", "TCP_CONNECT_TIMEOUT",
1288
  "TCP_SEND_TIMEOUT", "TCP_CON_LIFETIME", "TCP_POLL_METHOD",
1289
  "TCP_MAX_CONNECTIONS", "TLS_MAX_CONNECTIONS", "TCP_NO_CONNECT",
1290
  "TCP_SOURCE_IPV4", "TCP_SOURCE_IPV6", "TCP_OPT_FD_CACHE",
1291
  "TCP_OPT_BUF_WRITE", "TCP_OPT_CONN_WQ_MAX", "TCP_OPT_WQ_MAX",
1292
  "TCP_OPT_RD_BUF", "TCP_OPT_WQ_BLK", "TCP_OPT_DEFER_ACCEPT",
1293
  "TCP_OPT_DELAYED_ACK", "TCP_OPT_SYNCNT", "TCP_OPT_LINGER2",
1294
  "TCP_OPT_KEEPALIVE", "TCP_OPT_KEEPIDLE", "TCP_OPT_KEEPINTVL",
1295
  "TCP_OPT_KEEPCNT", "TCP_OPT_CRLF_PING", "TCP_OPT_LISTEN_BACKLOG",
1296
  "TCP_OPT_ACCEPT_NO_CL", "TCP_OPT_ACCEPT_HEP3", "TCP_OPT_ACCEPT_HAPROXY",
1297
  "TCP_OPT_ACCEPT_PROTOCOLS", "TCP_OPT_CLOSE_RST", "TCP_CLONE_RCVBUF",
1298
  "TCP_REUSE_PORT", "TCP_WAIT_DATA", "TCP_SCRIPT_MODE",
1299
  "TLS_CONNECTION_MATCH_DOMAIN", "DISABLE_TLS", "ENABLE_TLS",
1300
  "TLS_THREADS_MODE", "TLSLOG", "TLS_PORT_NO", "TLS_METHOD",
1301
  "TLS_HANDSHAKE_TIMEOUT", "TLS_SEND_TIMEOUT", "SSLv23", "SSLv2", "SSLv3",
1302
  "TLSv1", "TLS_VERIFY", "TLS_REQUIRE_CERTIFICATE", "TLS_CERTIFICATE",
1303
  "TLS_PRIVATE_KEY", "TLS_CA_LIST", "DISABLE_SCTP", "ENABLE_SCTP",
1304
  "SCTP_CHILDREN", "ADVERTISED_ADDRESS", "ADVERTISED_PORT", "DISABLE_CORE",
1305
  "OPEN_FD_LIMIT", "SHM_MEM_SZ", "SHM_FORCE_ALLOC", "MLOCK_PAGES",
1306
  "REAL_TIME", "RT_PRIO", "RT_POLICY", "RT_TIMER1_PRIO",
1307
  "RT_TIMER1_POLICY", "RT_TIMER2_PRIO", "RT_TIMER2_POLICY",
1308
  "MCAST_LOOPBACK", "MCAST_TTL", "MCAST", "TOS", "PMTU_DISCOVERY",
1309
  "KILL_TIMEOUT", "MAX_WLOOPS", "PVBUFSIZE", "PVBUFSLOTS", "PVCACHELIMIT",
1310
  "PVCACHEACTION", "HTTP_REPLY_PARSE", "VERSION_TABLE_CFG",
1311
  "VERBOSE_STARTUP", "ROUTE_LOCKS_SIZE", "WAIT_WORKER1_MODE",
1312
  "WAIT_WORKER1_TIME", "WAIT_WORKER1_USLEEP", "CFG_DESCRIPTION",
1313
  "SERVER_ID", "KEMI", "REQUEST_ROUTE_CALLBACK", "ONSEND_ROUTE_CALLBACK",
1314
  "REPLY_ROUTE_CALLBACK", "EVENT_ROUTE_CALLBACK",
1315
  "RECEIVED_ROUTE_CALLBACK", "RECEIVED_ROUTE_MODE", "PRE_ROUTING_CALLBACK",
1316
  "MAX_RECURSIVE_LEVEL", "MAX_BRANCHES_PARAM", "LATENCY_CFG_LOG",
1317
  "LATENCY_LOG", "LATENCY_LIMIT_DB", "LATENCY_LIMIT_ACTION",
1318
  "LATENCY_LIMIT_CFG", "RPC_EXEC_DELTA_CFG", "MSG_TIME", "ONSEND_RT_REPLY",
1319
  "URI_HOST_EXTRA_CHARS", "HDR_NAME_EXTRA_CHARS", "FLAGS_DECL",
1320
  "AVPFLAGS_DECL", "ATTR_MARK", "SELECT_MARK", "ATTR_FROM", "ATTR_TO",
1321
  "ATTR_FROMURI", "ATTR_TOURI", "ATTR_FROMUSER", "ATTR_TOUSER",
1322
  "ATTR_FROMDOMAIN", "ATTR_TODOMAIN", "ATTR_GLOBAL", "ADDEQ", "SUBST",
1323
  "SUBSTDEF", "SUBSTDEFS", "EQUAL", "LOG_OR", "LOG_AND", "BIN_OR",
1324
  "BIN_AND", "BIN_XOR", "BIN_LSHIFT", "BIN_RSHIFT", "EQUAL_T", "DIFF",
1325
  "MATCH", "INTEQ", "INTDIFF", "STREQ", "STRDIFF", "GT", "LT", "GTE",
1326
  "LTE", "PLUS", "MINUS", "STAR", "SLASH", "MODULO", "NOT", "UNARY",
1327
  "BIN_NOT", "DEFINED", "INTCAST", "STRCAST", "DOT", "STRLEN", "STREMPTY",
1328
  "SELVAL", "NUMBER", "ID", "NUM_ID", "STRING", "IPV6ADDR", "PVAR",
1329
  "AVP_OR_PVAR", "EVENT_RT_NAME", "COMMA", "SEMICOLON", "RPAREN", "LPAREN",
1330
  "LBRACE", "RBRACE", "LBRACK", "RBRACK", "CR", "COLON", "$accept", "cfg",
1331
  "statements", "statement", "$@1", "$@2", "$@3", "$@4", "$@5",
1332
  "listen_id", "listen_id_lst", "listen_id2", "proto", "eqproto", "xproto",
1333
  "port", "phostport", "listen_phostport", "id_lst", "intno", "flags_decl",
1334
  "flag_list", "flag_spec", "flag_name", "avpflags_decl", "avpflag_list",
1335
  "avpflag_spec", "socket_lattr", "socket_lattrs", "assign_stm", "$@6",
1336
  "cfg_var_id", "cfg_var_idn", "cfg_var", "module_stm", "ip", "ipv4",
1337
  "ipv6addr", "ipv6", "route_name", "route_main", "route_stm",
1338
  "failure_route_main", "failure_route_stm", "route_reply_main",
1339
  "onreply_route_stm", "$@7", "$@8", "branch_route_main",
1340
  "branch_route_stm", "send_route_main", "send_route_stm",
1341
  "event_route_main", "event_route_stm", "preprocess_stm", "equalop",
1342
  "cmpop", "strop", "rve_equalop", "rve_cmpop", "uri_type",
1343
  "eint_op_onsend", "eint_op", "eip_op_onsend", "eip_op", "exp_elem",
1344
  "ipnet", "host", "host_if_id", "host_or_if", "fcmd", "stm", "actions",
1345
  "action", "if_cmd", "ct_rval", "single_case", "case_stms", "switch_cmd",
1346
  "while_cmd", "select_param", "select_params", "select_id", "$@9",
1347
  "attr_class_spec", "attr_name_spec", "attr_spec", "attr_mark", "attr_id",
1348
  "attr_id_num_idx", "attr_id_no_idx", "attr_id_ass", "attr_id_any",
1349
  "attr_id_any_str", "pvar", "avp_pvar", "assign_op", "lval", "rval",
1350
  "rve_un_op", "rval_expr", "assign_action", "avpflag_oper", "cmd", "$@10",
1351
  "func_params", "func_param", "ret_cmd", YY_NULLPTR
1352
};
1353
#endif
1354
1355
# ifdef YYPRINT
1356
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
1357
   (internal) symbol number NUM (which must be that of a token).  */
1358
static const yytype_int16 yytoknum[] =
1359
{
1360
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1361
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1362
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1363
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1364
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1365
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1366
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1367
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1368
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1369
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1370
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1371
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1372
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1373
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1374
     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1375
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1376
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1377
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1378
     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1379
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1380
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1381
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1382
     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1383
     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1384
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1385
     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1386
     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
1387
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
1388
     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1389
     545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
1390
     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
1391
     565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
1392
     575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
1393
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
1394
     595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
1395
     605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
1396
     615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
1397
     625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
1398
     635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
1399
     645,   646,   647,   648,   649,   650,   651,   652,   653,   654
1400
};
1401
# endif
1402
1403
0
#define YYPACT_NINF (-1373)
1404
1405
#define yypact_value_is_default(Yyn) \
1406
0
  ((Yyn) == YYPACT_NINF)
1407
1408
#define YYTABLE_NINF (-1028)
1409
1410
#define yytable_value_is_error(Yyn) \
1411
0
  0
1412
1413
  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1414
     STATE-NUM.  */
1415
static const yytype_int16 yypact[] =
1416
{
1417
    2771,  -338,  -327,    15,    61,  -298,  -292,  -254,  -223,  -199,
1418
    -196,  -182,  -176, -1373,  -162,  -148,  -137,  -122,  -116,   -96,
1419
     -83,   -76,   -73,   -59,   -33,   -30,   -22,   -16,   -10,     1,
1420
       2,     6,    21,   252,   408,   481,    58,   773,   775,   793,
1421
     832,   909,   913,   927,   974,   977,   984,  1006,  1008,  1011,
1422
    1012,  1013,  1018,  1020,  1021,  1033,  1034,  1039,  1046,  1047,
1423
    1051,  1053,  1055,  1056,  1058,  1059,  1062,  1065,  1069,  1071,
1424
    1072,  1073,  1074,   484,   537,   554,   555, -1373,   561,   578,
1425
     579,   631,   651,   668,   675,   682,   690,   701,   702,   749,
1426
     763,   767,   768,   791,   802,   829,   849,   873,    -9,   893,
1427
     898,   930,   932,   937,    69,   111,    79,    68,    77,   223,
1428
     965,   972,   975,   982,   983,   989,   992,  1001,  1003,  1009,
1429
    1010,  1024,  1040,  1052,  1067,  1075,  1091,  1095,  1100,  1101,
1430
    1113,  1114,  1131,  1132,  1146,  1174,  1178,  1193,  1196,  1197,
1431
    1198,  1208,  1209,  1079,  1080,  1081,  1082,  1210,  1224,  1225,
1432
    1228,  1257,  1258,  1259,  1261,  1262,  1265,  1266,  1267,  1268,
1433
    1269,  1270,  1271,  1272,  1273,  1274,  1275,  1276,  1277,  1278,
1434
    1279,  1283,  1285,  1286,  1287,  1288,  1289,  1315,  1316,  1317,
1435
    1318,  1319,  1320,  1321,  1322,  1324,  1325,  1326,  1327,  1328,
1436
    1329,  1330,  1331,  1332,  1333,  1334,  1335,  1336,  1362,  1364,
1437
    1365,  1083,  1366,  1367,  1368,  1369,  1370,  1371,  1372,  1373,
1438
    1374,  1375,  1383,  1384,  1385,  1386,   646,  1388,  1389,  1391,
1439
    1392,  1393,  1394,  1400,  1402,  1403,  1404,  1406,  1407,  1408,
1440
     137,   177,    59,    97,   188, -1373, -1373, -1373,   606,  1777,
1441
   -1373,   269,  1025,  1104,  1124,  1023, -1373, -1373, -1373,  -303,
1442
   -1373, -1373,   637, -1373, -1373, -1373,   190, -1373,  -106, -1373,
1443
     253,   270,   360,   905,   376,   362,   378,   381,   363,   384,
1444
     387,   492,   497,   133,   202,   499,   232,   732,   248,   258,
1445
     263,   272,   277,    11,    17,   735,    83,   736,   746,   758,
1446
   -1373,   710, -1373,   766, -1373,   777, -1373,  -241, -1373,  -241,
1447
   -1373,  -241, -1373,  -241, -1373,   788, -1373,   796, -1373,   801,
1448
   -1373,   803, -1373,   808, -1373,   823, -1373,   833, -1373,   860,
1449
   -1373,   865, -1373,   866, -1373,   890, -1373,   919, -1373,   923,
1450
   -1373,   934, -1373,   980, -1373,  1166, -1373,  1377, -1373,  1378,
1451
   -1373,  1379, -1373,  1380, -1373,   998, -1373,  1381, -1373,  1382,
1452
   -1373,  1390, -1373,  1397, -1373,  1398, -1373,  1399, -1373,  1401,
1453
   -1373,  1405, -1373,  1409,   364,   760,   286,   761,  1410,   769,
1454
     770,   771,   776,   287,   294,   295,   778,   779,   366,   367,
1455
     372,   373,   375,   383,   428,   429,   509,   512,   595,  -142,
1456
     780,   781,   296,   297,   782, -1373, -1373,  1070, -1373, -1373,
1457
    1420, -1373,   298, -1373, -1373,  1421, -1373,  1422, -1373,   300,
1458
   -1373,   783,   784,   785,   790,   792,   797,   799,   800,   806,
1459
     807,   813,   222,   255,   256,   259,   262,   814,   816,   818,
1460
     820,   821,   822,   600,   608,   664,   266,   824,   825,   826,
1461
     827,    50,   834,   835, -1373,  1426, -1373,  1427, -1373,  1428,
1462
   -1373,  1429,   836,   837,   838,   840,   841,   842,   843,   844,
1463
     845,   850,   851,   852,   853,    78,   854,   856,   857,   673,
1464
     676,   858,   861,   862,   863,   867,   868,  1236,   874,   877,
1465
     881,   882,   301,   302,   303,   883,   885,   886,    39,   887,
1466
     888,   889,   891,   894,   895,   897,   899,   900,   904,   906,
1467
     907,   911,   912,   914,   273,    56, -1373,  1430,   915,   916,
1468
     917,   921,   924,   928,   933,   304,   942,   944,   945,   946,
1469
     947,   951,  1248,   683,  1431,  1434,   694,   696,   952,   953,
1470
     957,   959,   960,   963,   313,   315, -1373, -1373, -1373, -1373,
1471
     794,   774, -1373, -1373, -1373,   902, -1373, -1373, -1373, -1373,
1472
   -1373, -1373, -1373,  -338, -1373,    23,    62,  1395, -1373,    24,
1473
    1396, -1373,    53,  1424, -1373,    54,  1432, -1373,    18,  1313,
1474
   -1373,   811,  1443, -1373, -1373, -1373, -1373, -1373, -1373,  1387,
1475
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1476
   -1373, -1373, -1373, -1373, -1373, -1373,  1445, -1373, -1373, -1373,
1477
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1478
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1479
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1480
   -1373, -1373, -1373, -1373,  1450, -1373, -1373, -1373, -1373,  1169,
1481
    1444, -1373,  1433,  1435,  1342,   -27, -1373, -1373, -1373, -1373,
1482
   -1373,  -181, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1483
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1484
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1485
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1486
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1487
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,  1437,
1488
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1489
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1490
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1491
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1492
    1436,  1438, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1493
   -1373, -1373,   -80,   -45, -1373, -1373,  1439,  1447, -1373, -1373,
1494
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1495
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1496
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1497
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1498
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1499
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1500
   -1373, -1373, -1373, -1373, -1373,  1450, -1373, -1373, -1373, -1373,
1501
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1502
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1503
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1504
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1505
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1506
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1507
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1508
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1509
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1510
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1511
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1512
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1513
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1514
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1515
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1516
    1417,  1423,  1425,  1490,  1491,  1492, -1373, -1373, -1373, -1373,
1517
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1518
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1519
     654,  1459,   654, -1373,  -106, -1373, 11531, -1373,  -106, 11531,
1520
   -1373,  -106, 11531, -1373,  -106, 11531, -1373,  1453, -1373, -1373,
1521
   -1373,  1495,  1448, 11531,    65, -1373,  1462,  1456,  1455,  1451,
1522
     192,  1154, -1373,  1418, -1373,  1464,     8,   308,  1376,  1502,
1523
    1503,  1468, -1373,  1469, -1373,  1470,  1471,   316,   322,   323,
1524
     324,   326,   327, -1373, -1373, -1373,  1460,    87,    88,    90,
1525
     128,   130, 10450, 10541, 10664, -1373,   134,   138,   145,  1465,
1526
     149,   153,   159,   161,   163,   164,   176,   182,  1466,   184,
1527
     198,   201,   206,  1467,  1472,  1473,  1474,  1475, 10933,   211,
1528
     218,   219,  1476,  1477,  1478,  1496,  6245, 10933,   226,   228,
1529
     234,   235,   236, -1373, -1373, -1373, -1373,   238, -1373, -1373,
1530
   -1373,    41,  3945, -1373, -1373, -1373, -1373,  1192, -1373, -1373,
1531
   -1373, -1373, -1373,  1513,  1499,   239, -1373,  1500,  1542,  4016,
1532
    1546,  4087,  1645,  4174,  1646,   268,  1484,  4256, -1373,  1498,
1533
    1485,  1169, -1373, -1373, -1373, -1373, -1373, -1373,  1494, -1373,
1534
   -1373, -1373, -1373, -1373, -1373,   -37,  1687,  1653, -1373, -1373,
1535
   -1373, -1373, -1373,  1696,  1697,  1741,  1742,  1743,  1744,  1745,
1536
   -1373, -1373,  1358,   279,   281,  1703,  1718,  1721,  1722, -1373,
1537
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1538
   -1373,  1719, -1373,   132, -1373,   147, -1373,   154, -1373,   162,
1539
   -1373,   207,   738, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1540
   -1373, -1373, -1373, -1373,   729, -1373,   729, -1373,   830, -1373,
1541
   -1373,  1445, -1373, -1373,  6459,  6639,  6728,  1723,  1724,  1725,
1542
   -1373,  5582, 11330, -1373,  1028, -1373,  1014, -1373,  1035, -1373,
1543
   -1373, -1373,  1192, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1544
    6853,  4001,  5851,  4001,  5976,  4001, -1373,   285, -1373,   328,
1545
   -1373,  7122,  1729, -1373,   329, -1373,   330, -1373,   332, -1373,
1546
     333, -1373,   966, -1373,   968, -1373,  1727, -1373,   254,  1728,
1547
   -1373,   334, -1373,   335, -1373,   336, -1373,   338,  1733,  1734,
1548
    1758,   143,   935,  7247, 11056, -1373,   105, -1373,   970, -1373,
1549
      89,  1759,  1760,  1761,  1762, -1373,  1291, 11056, -1373,   339,
1550
   -1373,   341, -1373,   -63, -1373,   623, -1373,   786, -1373,  1763,
1551
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1552
   -1373, -1373, -1373, -1373, -1373,  1737, -1373,  1765, -1373, 10933,
1553
   -1373, -1373,   249, -1373,  1764, -1373,  1768, -1373,  1769, -1373,
1554
    1770, -1373,  1461,  1812,   811, -1373, 11531,  1773, -1373,  -277,
1555
   -1373,  1772,  1783,  1169, -1373,  1361,   971,   342,   343,  1774,
1556
     123,   973, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1557
   -1373, -1373,  -184,  -226, 11531,  1775,   687, -1373,   697, -1373,
1558
     714,  -295,  1779,   737,   744,   809,   720,  1780,   870,   910,
1559
     922,   754,  1781,   929,  1019,  1054,   757,  1792,  1068,  1103,
1560
    1107,  1128, -1373, -1373, -1373, -1373, -1373, -1373, -1373,  7336,
1561
    5353,  5457, -1373,  1441,  1786, -1373, -1373, -1373, -1373, -1373,
1562
   -1373,  7516,  7730,  7910,  1797, -1373,  1818,  1842,  1843,  1844,
1563
    1337,  1801,  1799,  4485, -1373,  7999, -1373, -1373, -1373, -1373,
1564
   -1373,  8124,  8393, -1373,  3152,  1817, -1373, -1373,  8518,  8607,
1565
    8787,  9001, 10933, 10933, 10933, -1373, -1373, -1373, -1373, -1373,
1566
   -1373, -1373, -1373, -1373, -1373, -1373,  9181,  9270,  9395,  9664,
1567
    9789,  9878, 10058, -1373, -1373,  1803,  1825,  1826,  1827,  1830,
1568
    1839,    48,  1778,  1840,  1845,  1846,  1854,  1863,  1868,  1869,
1569
    1870,  1871,  1872,  1873,  1874,  1892, -1373,  1894, -1373,  1896,
1570
   -1373,  1897,  1898,  1899,  1901,  1910,  1911,  1915,  1916, -1373,
1571
   -1373, -1373,  1917,  1925, -1373,  1934,  1939, 11531,  1736, -1373,
1572
    1940,  1941,  1942,  1943,  1944,  1823,  1837,  1945, -1373, -1373,
1573
   -1373, -1373,    99, -1373,  1963,  1967,  1968,  1969,  1970,  1972,
1574
    1981,  1982,  1986,  1987, 10933,  1834,  1962,  4001,  1108, -1373,
1575
    1192, -1373,  1990, -1373, 11531, 11531, 11531, 11531,  2003,  2012,
1576
    2054,  4567,  2025, -1373,  1655,   246,  2005,  2006,  2007, -1373,
1577
   -1373, -1373, -1373, -1373, -1373, -1373, -1373,  2008,  2009, -1373,
1578
   -1373,  2034,  2036,  2038,  2039,  2040,  4649, -1373,   -36, -1373,
1579
    2051, -1373,  2053, -1373,   166,   205,  2062, -1373, -1373,   -34,
1580
   -1373,  2063, -1373,  2067, -1373,  2068, -1373, -1373,   -31, -1373,
1581
    2069, -1373,  2120, -1373,  2121, -1373, -1373,   -11, -1373,  2122,
1582
   -1373,  2123, -1373,  2125, -1373, -1373,   731, -1373,  2126, -1373,
1583
    2127, -1373,  2128, -1373, -1373,  2244,  1233, -1373, -1373, -1373,
1584
   -1373, -1373, -1373, -1373, -1373, -1373,  1233, -1373, -1373,  1233,
1585
   -1373, -1373, -1373,  2115, -1373,  2134,  2124,  2109,  2153,  2491,
1586
    2154,  3297, -1373, -1373, -1373, -1373, -1373, -1373,  2315,  1233,
1587
   -1373,  1233, -1373,  1200, -1373,  2386,  1450,  2173,  1412, -1373,
1588
    -150,  1233,  -301, -1373,  4023, -1373,  3148, -1373,  2129, -1373,
1589
    4068,  3315,  1223,  3384, -1373,   502, -1373,   502, -1373, -1373,
1590
   -1373, -1373, -1373, -1373, -1373,  1233, -1373,  1200, -1373,  2130,
1591
   -1373, -1373,  2132, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1592
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1593
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1594
   -1373, -1373, -1373,  4720, 11220, -1373, -1373, -1373, -1373, -1373,
1595
     356,  1169, -1373,  2118,  6065,  2119, -1373, -1373,  1050, -1373,
1596
   11125, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,  4001,
1597
    1115, -1373, -1373, -1373,   654, -1373, -1373,   293,  4796,  4878,
1598
    4960,  5189, -1373, -1373,  -245, -1373,  2137, -1373, -1373,  2135,
1599
    2139,  2165,  1169,  -277,  1169, -1373, -1373, -1373, -1373, -1373,
1600
   -1373,  2156,  2157,  2158,  2160, -1373, -1373, -1373, -1373,  2161,
1601
    2162,  2163,  2166,  2167,  2170,  2176,  2177,  2178,  2179,  2181,
1602
    2182,  2183,  2184,  2186,  2187,  2188,  2189,  2190,  2191,  2192,
1603
     635,  1786, -1373, -1373, -1373, -1373, -1373, 10933,    30,  2117,
1604
    2193,  2194, -1373, -1373, -1373, -1373,  2217, -1373,  2218, 10272,
1605
    2219,  4001, 11531, -1373, -1373,  2195,  2772, 10933, -1373,  2196,
1606
    2197,  2198, -1373, -1373, -1373, -1373, -1373, -1373, -1373,  1661,
1607
    1662, -1373,  2220,  2223,  2221, -1373, -1373, -1373, -1373, -1373,
1608
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1609
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1610
    2224,  2225, -1373,  3368, -1373,  1450, -1373, -1373, -1373, -1373,
1611
    -277, 11531,  2226,  2227,  3241,  3312, -1373, -1373, -1373, -1373,
1612
   -1373, -1373, -1373,  2172,  2210,  -277,  -277, -1373, -1373, 10933,
1613
   -1373,  3383, 11531, 11531, -1373,  3552,  1673, -1373, -1373,  2255,
1614
    3106,  3776,  3863, -1373,  -277, -1373, -1373
1615
};
1616
1617
  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1618
     Performed when YYTABLE does not specify something else to do.  Zero
1619
     means the default is an error.  */
1620
static const yytype_int16 yydefact[] =
1621
{
1622
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1623
       0,     0,     0,   578,     0,     0,     0,     0,     0,     0,
1624
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1625
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1626
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1627
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1628
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1629
       0,     0,     0,     0,     0,     0,     0,   237,     0,     0,
1630
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1631
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1632
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1633
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1634
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1635
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1636
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1637
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1638
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1639
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1640
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1641
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1642
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1643
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1644
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1645
       0,     0,     0,     0,     0,   577,    22,    23,     0,     0,
1646
       4,     0,     0,     0,     0,     0,     8,     9,     6,     0,
1647
     575,    10,     0,    15,     7,   576,     0,   635,     0,   636,
1648
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1649
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1650
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1651
     134,     0,   136,     0,   138,     0,   140,     0,   142,     0,
1652
     144,     0,   146,     0,   148,     0,   150,     0,   152,     0,
1653
     154,     0,   156,     0,   158,     0,   160,     0,   162,     0,
1654
     164,     0,   166,     0,   168,     0,   170,     0,   174,     0,
1655
     172,     0,   176,     0,   178,     0,   180,     0,   182,     0,
1656
     184,     0,   188,     0,   186,     0,   190,     0,   192,     0,
1657
     194,     0,   196,     0,   198,     0,   200,     0,   202,     0,
1658
     204,     0,   206,     0,     0,     0,     0,     0,     0,     0,
1659
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1660
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1661
       0,     0,     0,     0,     0,   592,   589,     0,   596,   593,
1662
       0,   598,     0,   597,   603,     0,   607,     0,   609,     0,
1663
     608,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1664
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1665
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1666
       0,     0,     0,     0,   334,     0,   336,     0,   338,     0,
1667
     340,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1668
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1669
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1670
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1671
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1672
       0,     0,     0,     0,     0,     0,   492,     0,     0,     0,
1673
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1674
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1675
       0,     0,     0,     0,     0,     0,    66,    72,    71,    65,
1676
      67,    69,    74,    77,    73,    75,   652,   651,   654,   653,
1677
     656,   655,     1,     5,     3,     0,     0,     0,    12,     0,
1678
       0,    14,     0,     0,    17,     0,     0,    19,     0,     0,
1679
      21,     0,     0,   633,   520,   519,   618,   619,   620,     0,
1680
     558,   557,   560,   559,   554,   553,   562,    31,    32,    33,
1681
      34,    35,   561,   556,   555,   564,     0,    63,   563,   566,
1682
     565,   568,   567,   100,    99,   102,   101,   104,   103,   106,
1683
     105,   108,   107,   110,   109,   112,   111,   114,   113,   116,
1684
     115,   118,   117,   120,   119,   122,   121,   124,   123,   126,
1685
     125,   128,   127,   444,   734,   732,   733,    25,   615,     0,
1686
       0,    30,    56,     0,    61,   429,    24,   612,   616,   613,
1687
     735,    26,   446,   445,   450,   449,   448,   447,   452,   451,
1688
     130,   129,   132,   131,   133,   135,   137,   139,   141,   143,
1689
     145,   147,   149,   151,   153,   155,   157,   159,   161,   163,
1690
     165,   167,   169,   173,   171,   175,   177,   179,   181,   183,
1691
     187,   185,   189,   191,   193,   195,   197,   199,   201,   203,
1692
     205,   208,   207,   210,   209,   236,   235,   234,   233,     0,
1693
     240,   239,   242,   241,   244,   243,   246,   245,   248,   247,
1694
     250,   249,   252,   251,   254,   253,   256,   255,   258,   257,
1695
     260,   259,   262,   261,   264,   263,   266,   265,   268,   267,
1696
     270,   269,   272,   271,   274,   273,   276,   275,   278,   277,
1697
       0,     0,   280,   279,   418,   417,   420,   419,   422,   421,
1698
     428,   427,     0,     0,   600,   599,     0,     0,   611,   610,
1699
     212,   211,   214,   213,   216,   215,   218,   217,   220,   219,
1700
     222,   221,   224,   223,   226,   225,   228,   227,   230,   229,
1701
     232,   231,   285,   284,   283,   288,   287,   286,   291,   290,
1702
     289,   294,   293,   292,   297,   296,   295,   299,   298,   301,
1703
     300,   303,   302,   305,   304,   307,   306,   309,   308,   311,
1704
     310,   313,   312,   315,   314,   318,   316,   317,   320,   319,
1705
     322,   321,   324,   323,   326,     0,   325,   328,   327,   330,
1706
     329,   332,   331,   333,   335,   337,   339,   342,   341,   344,
1707
     343,   346,   345,   348,   347,   350,   349,   352,   351,   354,
1708
     353,   356,   355,   358,   357,   360,   359,   362,   361,   364,
1709
     363,   366,   365,   369,   367,   368,   371,   370,   373,   372,
1710
     375,   374,   377,   376,   379,   378,   381,   380,   383,   382,
1711
     385,   384,   387,   386,   389,   388,   391,   390,   396,   392,
1712
     393,   394,   395,   408,   407,   410,   409,   398,   397,   400,
1713
     399,   402,   401,   404,   403,   406,   405,   412,   411,   414,
1714
     413,   416,   415,   454,   453,   456,   455,   458,   457,   460,
1715
     459,   462,   461,   464,   463,   466,   465,   468,   467,   470,
1716
     469,   472,   471,   474,   473,   476,   475,   478,   477,   480,
1717
     479,   482,   481,   484,   483,   487,   485,   486,   490,   488,
1718
     489,   491,   494,   493,   496,   495,   498,   497,   500,   499,
1719
     502,   501,   504,   503,   506,   505,   282,   281,   508,   507,
1720
     510,   509,   512,   511,   514,   513,   516,   515,   518,   517,
1721
       0,     0,     0,     0,     0,     0,   534,   533,   535,   536,
1722
     540,   539,   538,   537,   542,   541,   544,   543,   546,   545,
1723
     548,   547,   550,   549,   552,   551,   424,   423,   426,   425,
1724
       0,     0,     0,   625,     0,   626,     0,   630,     0,     0,
1725
     643,     0,     0,   647,     0,     0,   650,     0,   580,   581,
1726
     579,     0,     0,     0,     0,    64,     0,    27,     0,     0,
1727
       0,     0,    62,     0,   430,     0,     0,     0,     0,     0,
1728
       0,     0,   590,     0,   594,     0,     0,     0,     0,     0,
1729
       0,     0,     0,    68,    70,    76,     0,     0,     0,     0,
1730
       0,     0,  1039,  1036,  1040,  1043,     0,     0,     0,     0,
1731
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1732
       0,     0,     0,   992,   994,   996,   999,     0,     0,     0,
1733
       0,     0,  1013,  1015,  1017,  1019,     0,     0,     0,     0,
1734
       0,     0,     0,   869,   870,   871,   794,     0,   806,   807,
1735
     752,     0,     0,   744,   747,   748,   749,     0,   798,   799,
1736
     809,   810,   811,     0,     0,     0,   740,     0,     0,     0,
1737
       0,     0,     0,     0,     0,     0,     0,     0,   639,     0,
1738
       0,     0,    29,   617,    60,    50,    49,    57,    58,    43,
1739
      44,    45,    46,    47,    48,   440,     0,   431,   739,   734,
1740
     737,   738,   736,     0,     0,     0,     0,     0,     0,     0,
1741
      96,    98,     0,     0,     0,     0,     0,     0,     0,   522,
1742
     521,   524,   523,   526,   525,   528,   527,   530,   529,   532,
1743
     531,     0,   882,     0,   904,     0,   915,     0,   926,     0,
1744
     893,     0,     0,   678,   679,   680,   691,   684,   692,   685,
1745
     690,   682,   689,   681,     0,   683,     0,   686,     0,   687,
1746
     780,   826,   824,   825,     0,     0,     0,     0,     0,     0,
1747
     813,     0,     0,   812,     0,   688,     0,   693,     0,   819,
1748
     818,   817,     0,   800,   802,   801,   814,   815,   816,   827,
1749
       0,  1038,     0,  1035,     0,  1042,   930,     0,   947,     0,
1750
     951,     0,     0,   955,     0,   974,     0,   977,     0,   958,
1751
       0,   964,     0,   961,     0,   967,     0,   970,     0,     0,
1752
     983,     0,   986,     0,   980,     0,   989,     0,     0,     0,
1753
       0,     0,     0,     0,     0,  1005,     0,  1008,     0,  1011,
1754
       0,     0,     0,     0,     0,   772,     0,     0,  1022,     0,
1755
    1025,     0,   934,     0,   937,     0,   940,     0,  1029,     0,
1756
     753,   746,   745,   623,   743,   782,   783,   784,   785,   786,
1757
     787,   788,   789,   790,   791,     0,   792,   795,   808,     0,
1758
     751,   945,     0,   750,     0,   628,     0,   641,     0,   645,
1759
       0,   586,   582,   583,     0,   634,     0,     0,    28,     0,
1760
     441,     0,     0,     0,   432,     0,     0,     0,     0,     0,
1761
       0,     0,   238,    97,   571,   569,   570,   574,   572,   573,
1762
     591,   595,     0,     0,     0,     0,     0,   727,     0,   872,
1763
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1764
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1765
       0,     0,   697,   657,   658,   666,   659,   660,   665,     0,
1766
       0,     0,   722,     0,     0,   867,   848,   851,   829,   852,
1767
     830,     0,     0,     0,     0,  1037,   800,   801,   815,   816,
1768
       0,     0,     0,     0,   701,     0,   706,   661,   662,   663,
1769
     664,     0,     0,   718,     0,   795,   850,   828,     0,     0,
1770
       0,     0,     0,     0,     0,   667,   668,   673,   669,   670,
1771
     671,   672,   674,   675,   676,   677,     0,     0,     0,     0,
1772
       0,     0,     0,  1034,  1041,     0,     0,     0,     0,     0,
1773
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1774
       0,     0,     0,     0,     0,     0,   966,     0,   969,     0,
1775
     972,     0,     0,     0,     0,     0,     0,     0,     0,   991,
1776
     993,   995,     0,     0,   998,     0,     0,     0,   754,   741,
1777
       0,     0,     0,     0,     0,    51,     0,     0,  1012,  1014,
1778
    1016,  1018,     0,   774,     0,     0,     0,     0,     0,     0,
1779
       0,     0,     0,     0,  1030,     0,     0,   868,     0,   805,
1780
       0,   803,     0,   804,     0,     0,     0,     0,     0,     0,
1781
       0,     0,     0,    59,   442,   433,     0,     0,     0,    94,
1782
      93,    86,    85,    90,    89,    95,    84,    83,     0,    92,
1783
      91,     0,     0,     0,     0,     0,     0,   883,     0,   881,
1784
       0,   874,     0,   875,     0,     0,     0,   873,   905,     0,
1785
     903,     0,   896,     0,   897,     0,   895,   916,     0,   914,
1786
       0,   907,     0,   908,     0,   906,   927,     0,   925,     0,
1787
     918,     0,   919,     0,   917,   894,     0,   892,     0,   885,
1788
       0,   886,     0,   884,   696,     0,   694,   712,    36,    37,
1789
      38,    39,    40,    41,    42,   710,   711,   709,   707,   708,
1790
     721,   719,   720,   775,   779,   781,     0,     0,     0,     0,
1791
       0,     0,   823,   845,   822,   821,   820,   700,     0,   698,
1792
     705,   703,   704,   702,   717,     0,    63,     0,   725,   713,
1793
     715,   714,     0,   863,   844,   862,   843,   858,   836,   859,
1794
     837,   838,   839,   840,   853,   831,   854,   832,   855,   833,
1795
     856,   834,   857,   835,   861,   842,   860,   841,   931,     0,
1796
     928,   948,     0,   952,   950,   949,   953,   956,   954,   975,
1797
     973,   978,   976,   959,   957,   965,   963,   962,   960,   971,
1798
     968,   984,   982,   987,   985,   981,   979,   990,   988,  1000,
1799
     997,  1002,  1001,     0,     0,  1004,  1003,  1007,  1006,  1010,
1800
       0,     0,  1009,     0,     0,     0,   771,   769,     0,  1023,
1801
       0,  1026,  1024,   932,   933,   935,   936,   938,   939,  1033,
1802
       0,  1032,   793,   797,     0,   944,   795,     0,     0,     0,
1803
       0,     0,   584,   585,     0,   638,     0,   443,   435,     0,
1804
       0,     0,     0,     0,     0,   601,   602,   604,   606,   605,
1805
     624,     0,     0,     0,     0,   731,   729,   730,   728,     0,
1806
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1807
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1808
       0,     0,   864,   846,   865,   847,   866,     0,     0,     0,
1809
       0,     0,   742,   755,    55,    52,    53,   773,     0,     0,
1810
       0,   756,   762,   770,   768,    63,     0,     0,  1028,     0,
1811
       0,     0,   629,   642,   646,   649,   587,   588,   614,   436,
1812
     434,    87,     0,    79,    82,   879,   880,   877,   878,   876,
1813
     901,   902,   899,   900,   898,   912,   913,   910,   911,   909,
1814
     923,   924,   921,   922,   920,   890,   891,   888,   889,   887,
1815
       0,     0,   778,     0,   726,   724,   723,   796,   929,   946,
1816
       0,   765,     0,     0,     0,     0,  1020,  1021,  1031,   943,
1817
     942,   941,   438,     0,     0,     0,     0,   777,   776,     0,
1818
      54,     0,   766,   760,   767,     0,   437,    88,    81,    78,
1819
       0,     0,     0,   439,     0,   849,    80
1820
};
1821
1822
  /* YYPGOTO[NTERM-NUM].  */
1823
static const yytype_int16 yypgoto[] =
1824
{
1825
   -1373, -1373, -1373,  2385, -1373, -1373, -1373, -1373, -1373,  -486,
1826
    1479,  1577,  -259,  1188, -1373, -1372, -1373, -1373,   489,  -265,
1827
   -1373,  1610, -1373,  -230, -1373,  1611, -1373,  1449, -1373, -1373,
1828
   -1373, -1373,  1280, -1373, -1373, -1174,  2199,  2002,  2203,   374,
1829
   -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373, -1373,
1830
   -1373, -1373, -1373, -1373, -1373, -1221, -1373, -1020, -1373, -1373,
1831
    1202, -1373, -1373, -1373,  1203, -1373, -1373,   197,  -809, -1373,
1832
    -333, -1321,  -971, -1105, -1373,   772,   859, -1373, -1373, -1373,
1833
     789, -1373, -1373, -1373, -1373,  1077, -1068,  -598, -1021, -1373,
1834
    -961, -1373, -1373, -1373,  -654, -1006, -1373, -1373, -1373, -1373,
1835
     -15, -1030, -1373, -1373, -1373, -1373,   762, -1373
1836
};
1837
1838
  /* YYDEFGOTO[NTERM-NUM].  */
1839
static const yytype_int16 yydefgoto[] =
1840
{
1841
      -1,   238,   239,   240,   241,   242,   243,   244,   245,   641,
1842
    1048,   642,   643,  1675,  1176,  1167,  1557,   644,   645,  1253,
1843
     246,   539,   540,   541,   247,   544,   545,  1191,  1192,   248,
1844
     368,   249,  1041,   250,   251,   646,   647,   648,   649,   579,
1845
     557,   558,   560,   561,   252,   253,  1043,  1159,   563,   564,
1846
     566,   567,   569,   570,   254,  1438,  1472,  1439,  1501,  1502,
1847
    1254,  1255,  1256,  1257,  1258,  1259,  1709,  1411,   650,   651,
1848
    1260,  1548,  1132,  1133,  1134,  1880,  1787,  1788,  1135,  1136,
1849
    1684,  1685,  1261,  1444,  1355,  1356,  1357,  1262,  1263,  1264,
1850
    1265,  1140,  1266,  1582,  1267,  1268,  1359,  1143,  1269,  1270,
1851
    1460,  1144,  1145,  1146,  1339,  1800,  1801,  1147
1852
};
1853
1854
  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1855
     positive, shift that token.  If negative, reduce the rule whose
1856
     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1857
static const yytype_int16 yytable[] =
1858
{
1859
     598,   543,   924,   604,   592,  1138,  1563,  1593,  1138,  1178,
1860
     255,  1138,   633,  1440,  1138,  1441,   257,  1443,   652,  1036,
1861
    1142,   256,  1138,  1142,  1023,  1027,  1142,  1344,  1831,  1142,
1862
    1840,  1934,   667,  1845,   668,  1471,   669,  1142,   670,  1410,
1863
     923,  1415,  1340,  1420,  1344,  1425,  1344,  1430,  1344,  1338,
1864
     260,   837,  1344,  1850,  1030,  1033,   261,   958,  1149,   290,
1865
     546,  1151,   259,  1025,  1153,  1139,  1158,   596,  1139,   404,
1866
     395,  1139,  1157,  1624,  1139,   571,  1380,  1381,   406,   873,
1867
     401,   597,  1139,  1625,   656,  1053,  1054,  1055,  1212,  1214,
1868
    1554,  1216,  1165,   572,   262,  1626,  1803,  1627,   548,   702,
1869
    1783,   587,   588,   589,   590,  1166,  1550,   587,   588,   589,
1870
     590,  1138,   398,   729,   731,   733,   735,   737,   739,   741,
1871
     743,   745,   747,   749,  1606,   263,  1142,   596,  1138,  1218,
1872
    1138,  1220,  1138,  1405,   613,  1276,  1138,  1896,   536,  1278,
1873
    1897,   597,   596,  1142,  1542,  1142,  1280,  1142,  1412,   264,
1874
    1283,  1142,   265,  1047,  1285,  1417,   597,  1784,  1785,  1613,
1875
    1287,  1614,  1289,  1422,  1291,  1293,   266,  1835,   820,   822,
1876
     824,  1139,   267,   587,   588,   589,   590,  1295,   542,   587,
1877
     588,   589,   590,  1297,   596,  1300,   268,  1056,  1139,   550,
1878
    1139,   574,  1139,  1164,  1475,  1406,  1139,  1057,   597,  1302,
1879
     269,  1611,  1304,   615,   883,   885,  1837,  1306,  1427,  1549,
1880
    1413,   270,  1315,   587,   588,   589,   590,  1418,  1624,  1317,
1881
    1319,  1461,  1549,   792,   408,  1423,   271,  1328,  1625,  1330,
1882
    1456,  1138,   272,   619,  1465,  1332,  1334,  1336,  1474,  1338,
1883
    1361,   750,  1461,   751,  1461,  1459,  1142,  1180,  1182,   623,
1884
    1578,  1456,   273,  1456,   580,  1527,   795,   798,   997,   625,
1885
     801,  1001,  1003,   804,   627,   274,  1459,   825,  1459,  1371,
1886
    1428,   582,   275,   629,   955,   276,   576,   577,   631,   578,
1887
    1394,  1463,  1397,  1461,   555,   556,  1505,   705,   718,   277,
1888
    1457,  1139,  1456,  1138,  1890,   720,   722,   756,   758,   764,
1889
    1708,   768,   911,   913,   915,   976,  1138,  1459,  1142,  1181,
1890
    1061,  1457,  1062,  1457,  1016,   278,  1018,  1199,   279,  1568,
1891
     537,  1142,   538,  1201,  1203,  1205,   280,  1207,  1209,  1508,
1892
    1514,  1516,   281,  1518,  1520,  1531,  1533,  1535,   282,  1537,
1893
    1564,  1581,  1566,  1601,  1603,  1063,  1832,  1064,  1841,   283,
1894
     284,  1846,  1457,  1139,   285,  1138,  1583,  1874,  1344,  1818,
1895
    1819,   584,  1382,   595,   603,   701,  1139,   728,   730,   286,
1896
    1142,  1851,  1141,   732,   734,  1141,   736,   593,  1141,   599,
1897
     591,  1141,   601,  1138,   738,   605,   591,   389,   607,  1141,
1898
    1179,   635,   636,   634,   635,   636,   637,   638,  1142,   634,
1899
     635,   636,   637,   638,   639,  1591,   291,   640,  1875,  -631,
1900
     639,   258,  1935,   640,  -648,  1139,   638,  -621,  -627,  1024,
1901
    1028,   634,   635,   636,   637,   638,   640,   402,  1137,   740,
1902
     742,  1137,  1341,  1616,  1137,   640,   638,  1137,   959,   960,
1903
    1744, -1027,  1138,  1139,   547,  1137,   640,  -640,  -644,  1031,
1904
    1034,  1903,   591,  1873,   396,  -632,  -622,  1142,   591,  -637,
1905
     874,   405,   397,   875,   403,   634,   635,   636,   637,   638,
1906
     407,   634,   635,   636,   637,   638,   639,  1443,  1141,   640,
1907
    1213,  1215,   549,  1217,  1443,   640,  1344,   634,   635,   636,
1908
     637,   638,   591,   609,  1786,  1141,   399,  1141,   611,  1141,
1909
     617,   640,  1139,  1141,   400,   634,   635,   636,   637,   638,
1910
     744,  1344,  1806,   746,   835,  1407,   614,  1408,   638,   640,
1911
     537,  1219,   538,  1221,  1409,  1543,  1138,  1277,   640,   835,
1912
    1407,  1279,  1414,   638,  1137,  1544,   835,  1407,  1281,  1419,
1913
     638,  1142,  1284,   640,   835,  1407,  1286,  1424,   638,  1836,
1914
     640,  1137,  1288,  1137,  1290,  1137,  1292,  1294,   640,  1137,
1915
     537,  1165,   538,  1138,  1138,  1138,  1138,  1175,  1960,  1296,
1916
    1138,   409,   575,   551,  1166,  1298,  1773,  1301,  1142,  1142,
1917
    1142,  1142,  1126,  1968,  1969,  1142,  1139,   616,  1838,   835,
1918
    1407,  1303,  1429,   638,  1305,  1138,   748,  1458,  1141,  1307,
1919
     287,   819,  1976,   640,  1316,   793,   552,   794,   410,   821,
1920
    1142,  1318,  1320,  1808,  1809,  1810,  1811,   620,  1458,  1329,
1921
    1458,  1331,   596,  1139,  1139,  1139,  1139,  1333,  1335,  1337,
1922
    1139, -1027,  1362,   624,  1579,   581,   597,  1129,   796,   799,
1923
     797,   800,   802,   626,   803,   805,  1528,   806,   628,   826,
1924
    1372,   827,   583,  1373,  1137,  1139,   956,   630,   957,  1458,
1925
    1141,  1395,   632,  1398,  1396,   823,  1399,  1506,  1344,  1549,
1926
    1507,   706,   719,  1141,   882,  1047,   537,   884,   538,   721,
1927
     723,   757,   759,   765,   996,   769,   912,   914,   916,   977,
1928
    1179,   635,   636,  1131,  1936,  1000,  1131,  1002,  1017,  1131,
1929
    1019,  1200,  1131,  1344,  1344,  1344,  1344,  1202,  1204,  1206,
1930
    1131,  1208,  1210,  1509,  1515,  1517,  1137,  1519,  1521,  1532,
1931
    1534,  1536,  1141,  1538,  1565,  1165,  1567,  1602,  1604,  1137,
1932
     596,   596,   596,   621,   596,   596,   654,   658,  1166,  1432,
1933
     596,   596,   585,   596,   597,   597,   597,   660,   597,   597,
1934
    1141,   596,  1138,  1138,   597,   597,   288,   597,   594,   662,
1935
     600,   703,   707,   602,  1580,   597,   606,  1142,  1142,   608,
1936
     710,   712,   714,   653,   292,   657,   294,   716,  1137,   724,
1937
     726,   752,   754,   760,   770,   772,   774,  1138,  1138,  1138,
1938
    1138,   776,   543,   778,   296,  1855,   596,   596,   780,  1131,
1939
     782,   784,  1142,  1142,  1142,  1142,  1137,   786,   788,  1141,
1940
     597,   597,  1139,  1139,   790,   807,  1131,   809,  1131,   811,
1941
    1131,   813,   815,   817,  1131,   828,   830,   832,   834,   289,
1942
    1551,  1442,   364,   298,  1555,   839,   841,   847,   849,   851,
1943
    1344,   853,   855,   857,   859,   861,   863,  1139,  1139,  1139,
1944
    1139,   865,   867,   869,   871,   876,  1344,   878,   880,   886,
1945
    1344,  1138,   888,   890,   892,  1137,  1344,  1344,   894,   896,
1946
    1038,  1498,  1499,  1500,   610,   903,  1142,   596,   905,   612,
1947
     596,   618,   907,   909,   917,   365,   919,   921,   925,   927,
1948
     929,   597,   931,  1141,   597,   933,   935,  1596,   937,  1597,
1949
     939,   941,   366,   367,  1607,   943,   586,   945,   947,   369,
1950
     300,  1945,   949,   951,   302,   953,   962,   964,   966,  1131,
1951
    1138,  1139,   968,  1138,  1138,   970,   370,   371,   304,   972,
1952
    1141,  1141,  1141,  1141,   974,  1142,  1545,  1141,  1142,  1142,
1953
    1138,  1138,  1138,   978,  1138,   980,   982,   984,   986,  1137,
1954
    1138,  1138,   988,  1004,  1006,  1142,  1142,  1142,  1008,  1142,
1955
    1010,  1012,  1141,   596,  1014,  1142,  1142,  1522,   596,  1524,
1956
    1961,  1552,  1599,  1965,  1609,   306,   596,   597,   308,   372,
1957
    1139,  1131,   597,  1139,  1139,   310,  1137,  1137,  1137,  1137,
1958
     597,  1971,  1972,  1137,  1131,   587,   588,   589,   590,   373,
1959
    1139,  1139,  1139,   596,  1139,  1570,   537,   312,   538,   314,
1960
    1139,  1139,   316,   318,   320,  1466,   374,   597,  1137,   322,
1961
    1930,   324,   326,   375,   522,   587,   588,   589,   590,  1464,
1962
     376,   573,   596,  1529,   328,   330,  1473,   537,   377,   538,
1963
     332,   596,   559,  1131,   596,   568,   597,   334,   336,   378,
1964
     379,   596,   338,  1546,   340,   597,   342,   344,   597,   346,
1965
     348,  1556,   596,   350,   596,   597,   352,  1271,  1273,  1275,
1966
     354,  1131,   356,   358,   360,   362,   597,  1618,   597,  1619,
1967
     444,   446,   448,   450,   506,  1433,  1434,  1620,  1624,  1621,
1968
    1436,  1437,   664,  1314,  1433,  1434,  1435,   380,  1625,  1436,
1969
    1437,  1326,  1327,  1569,  1622,  1571,  1623,  1573,  1784,  1785,
1970
    1635,   381,  1636,  1856,   622,   382,   383,   655,   659,  1141,
1971
    1141,   293,  1624,   295,   562,  1624,  1598,  1629,   661,  1630,
1972
    1131,  1608,  1625,  1052,  1631,  1625,  1632,  1612,  1615,   384,
1973
     663,   297,   704,   708,  1644,   565,  1645,  1653,   665,  1654,
1974
     385,   711,   713,   715,  1141,  1141,  1141,  1141,   717,   666,
1975
     725,   727,   753,   755,   761,   771,   773,   775,  1572,   537,
1976
     671,   538,   777,  1021,   779,  1137,  1137,   386,   672,   781,
1977
     299,   783,   785,   673,  1020,   674,  1433,  1434,   787,   789,
1978
     675,  1436,  1437,  1039,  1040,   791,   808,   387,   810,  1633,
1979
     812,  1634,   814,   816,   818,   676,   829,   831,   833,   835,
1980
    1137,  1137,  1137,  1137,  1131,   677,   840,   842,   848,   850,
1981
     852,   388,   854,   856,   858,   860,   862,   864,  1141,  1446,
1982
    1448,  1450,   866,   868,   870,   872,   877,   898,   879,   881,
1983
     887,   390,   678,   889,   891,   893,   391,   679,   680,   895,
1984
     897,  1131,  1131,  1131,  1131,  1477,   904,   301,  1131,   906,
1985
    1638,   303,  1639,   908,   910,   918,  1512,   920,   922,   926,
1986
     928,   930,   681,   932,   591,   305,   934,   936,   392,   938,
1987
     393,   940,   942,  1131,  1137,   394,   944,  1141,   946,   948,
1988
    1141,  1141,  1022,   950,   952,  1876,   954,   963,   965,   967,
1989
    1640,   682,  1641,   969,   591,   683,   971,  1141,  1141,  1141,
1990
     973,  1141,  1642,   411,  1643,   975,   684,  1141,  1141,  1647,
1991
     412,  1648,   307,   413,   979,   309,   981,   983,   985,   987,
1992
     414,   415,   311,   989,  1005,  1007,  1902,   416,  1904,  1009,
1993
     417,  1011,  1013,  1137,  1577,  1015,  1137,  1137,  1523,   418,
1994
    1525,   419,  1553,  1600,   313,  1610,   315,   420,   421,   317,
1995
     319,   321,   685,  1137,  1137,  1137,   323,  1137,   325,   327,
1996
    1433,  1434,   422,  1137,  1137,  1436,  1437,  1467,  1468,  1469,
1997
    1470,   329,   331,   691,  1433,  1434,  1435,   333,   423,  1436,
1998
    1437,  1433,  1434,  1435,   335,   337,  1436,  1437,  1076,   339,
1999
     424,   341,  1148,   343,   345,  1150,   347,   349,  1152,  1649,
2000
     351,  1650,  1416,   353,  1421,   425,  1426,   355,  1431,   357,
2001
     359,   361,   363,   426,  1666,  1676,  1679,   445,   447,   449,
2002
     451,   507,   587,   588,   589,   590,  1687,  1689,  1691,   427,
2003
    1131,  1131,  1680,   428,  1651,  1883,  1652,  1869,   429,   430,
2004
    1699,   587,   588,   589,   590,   762,  1701,  1703,  1656,  1711,
2005
    1657,   431,   432,  1714,  1716,  1718,  1720,  1721,  1722,  1723,
2006
    1183,  1184,  1185,  1186,  1187,  1131,  1131,  1131,  1131,   433,
2007
     434,  1725,  1727,  1729,  1731,  1733,  1735,  1737,  1183,  1184,
2008
    1185,  1186,  1187,  1658,   435,  1659,  1624,  1660,  1804,  1661,
2009
    1805,   899,   900,   901,   902,  1887,  1625,  1888,  1169,  1170,
2010
    1171,  1172,  1173,  1174,  1223,  1224,  1225,  1226,  1662,  1228,
2011
    1663,  1230,   436,  1232,  1188,  1189,   437,  1345,  1346,  1347,
2012
    1348,  1349,  1350,  1351,  1352,  1353,   634,   635,   636,   637,
2013
     638,   438,  1188,  1189,   439,   440,   441,   639,   686,  1131,
2014
     640,   634,   635,   636,   637,   638,   442,   443,   452,  1799,
2015
     990,   991,   992,   993,   994,   640,   995,  1496,  1497,  1498,
2016
    1499,  1500,   453,   454,  1889,  1354,   455,  1891,  1484,  1485,
2017
    1486,  1487,  1488,  1489,  1490,  1491,  1492,  1493,  1494,  1495,
2018
    1496,  1497,  1498,  1499,  1500,  1931,  1492,  1493,  1494,  1495,
2019
    1496,  1497,  1498,  1499,  1500,   456,   457,   458,  1131,   459,
2020
     460,  1131,  1131,   461,   462,   463,   464,   465,   466,   467,
2021
     468,   469,   470,   471,   472,   473,   474,   475,  1131,  1131,
2022
    1131,   476,  1131,   477,   478,   479,   480,   481,  1131,  1131,
2023
    1478,  1479,  1480,  1481,  1482,  1483,  1484,  1485,  1486,  1487,
2024
    1488,  1489,  1490,  1491,  1492,  1493,  1494,  1495,  1496,  1497,
2025
    1498,  1499,  1500,   482,   483,   484,   485,   486,   487,   488,
2026
     489,  1710,   490,   491,   492,   493,   494,   495,   496,   497,
2027
     498,   499,   500,   501,   502,  1562,  1478,  1479,  1480,  1481,
2028
    1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,  1490,  1491,
2029
    1492,  1493,  1494,  1495,  1496,  1497,  1498,  1499,  1500,  1037,
2030
     503,   591,   504,   505,   508,   509,   510,   511,   512,   513,
2031
     514,   515,   516,   517,   634,   635,   636,   637,   638,  1693,
2032
     591,   518,   519,   520,   521,   639,   523,   524,   640,   525,
2033
     526,   527,   528,   634,   635,   636,   637,   638,   529,  1190,
2034
     530,   531,   532,  1392,   533,   534,   535,   640,   709,   687,
2035
     688,   689,   690,   692,   693,  1067,  1384,  1190,  1817,  1881,
2036
    1588,  1068,   694,  1069,  1952,  1886,  1953,    -2,   553,   695,
2037
     696,   697,  1868,   698,  1044,  1774,  1973,   699,     2,  1026,
2038
    1029,   700,   -11,   -11,   -13,     3,     4,   -16,   -18,   -20,
2039
     634,   635,   636,   637,   638,   763,   766,   767,   843,   844,
2040
     845,   846,   961,   998,   640,     5,   999,     6,  1032,     7,
2041
       8,     9,    10,    11,    12,  1042,  1035,  1045,  1046,  1065,
2042
     638,  1058,  1050,  1059,  1051,  1060,    13,  1066,  1070,  1071,
2043
    1072,  1074,  1154,  1155,  1160,  1156,  1161,  1162,  1163,  1177,
2044
    1193,  1194,  1933,  1195,  1196,  1197,  1198,  1211,  1282,  1299,
2045
    1308,  1358,  1374,  1377,  1881,  1309,  1310,  1311,  1312,  1321,
2046
    1322,  1323,  1799,    14,    15,    16,    17,    18,    19,    20,
2047
      21,    22,    23,    24,    25,    26,    27,    28,    29,  1324,
2048
    1360,  1363,  1376,  1379,    30,    31,    32,    33,    34,    35,
2049
      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2050
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2051
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2052
      66,    67,    68,    69,    70,    71,    72,    73,    74,  1364,
2053
      75,    76,    77,  1366,  1970,    78,    79,    80,    81,    82,
2054
      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2055
      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2056
     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2057
     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2058
     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2059
     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2060
     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2061
     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2062
     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2063
     173,   174,  1368,  1370,  1385,  1386,   175,   176,   177,   178,
2064
     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
2065
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2066
     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2067
     209,   210,   211,   212,   213,   214,  1383,   215,   216,  1387,
2068
    1388,  1389,  1390,  1391,   217,  1400,   218,   219,   220,   221,
2069
     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
2070
    1401,  1402,  1403,  1404,  1513,  1575,  1451,  1452,  1453,  1526,
2071
    1530,  1589,   232,   233,   234,  1539,  1540,  1478,  1479,  1480,
2072
    1481,  1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,  1490,
2073
    1491,  1492,  1493,  1494,  1495,  1496,  1497,  1498,  1499,  1500,
2074
    1541,  1558,  1559,  1560,  1561,  1592,  1574,  1594,  1584,  1605,
2075
     235,  1576,  1585,  1586,  1587,  1595,  -798,  1617,   236,  1683,
2076
    1745,  1628,  1637,  1646,  1338,   237,  -727,  -727,  -727,  -727,
2077
    -727,  -727,  -727,  -727,  1655,  -727,  -727,  -727,  -727,  1692,
2078
    -799,  -810,  -811,  1694,  1695,  1738,  -727,  -727,  -727,  -727,
2079
    -727,  -727,  -727,  -727,  -727,  -727,  -727,  -727,  -727,  -727,
2080
    -727,  -727,  -727,  1712,  -727,  1739,  -727,  1354,  1740,  1741,
2081
    1742,  -727,  1780,  -727,  -727,  -727,  -727,  -727,  -727,  -727,
2082
    -727,  1743,  1746,  -727,  -727,  -727,  1781,  1747,  1748,  -727,
2083
    -727,  -727,  -727,  -727,  -727,  1338,  1749,  -695,  -695,  -695,
2084
    -695,  -695,  -695,  -695,  -695,  1750,  -695,  -695,  -695,  -695,
2085
    1751,  1752,  1753,  1754,  1755,  1756,  1757,  -695,  -695,  -695,
2086
    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
2087
    -695,  -695,  -695,  -695,  1758,  -695,  1759,  -695,  1760,  1761,
2088
    1762,  1763,  -695,  1764,  -695,  -695,  -695,  -695,  -695,  -695,
2089
    -695,  -695,  1765,  1766,  -695,  -695,  -695,  1767,  1768,  1769,
2090
    -695,  -695,  -695,  -695,  -695,  -695,  1442,  1770,  -699,  -699,
2091
    -699,  -699,  -699,  -699,  -699,  -699,  1771,  -699,  -699,  -699,
2092
    -699,  1772,  1775,  1776,  1777,  1778,  1779,  1782,  -699,  -699,
2093
    -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,
2094
    -699,  -699,  -699,  -699,  -699,  1789,  -699,  1790,  -699,  1803,
2095
    1791,  1792,  1793,  -699,  1794,  -699,  -699,  -699,  -699,  -699,
2096
    -699,  -699,  -699,  1795,  1796,  -699,  -699,  -699,  1797,  1798,
2097
    1807,  -699,  -699,  -699,  -699,  -699,  -699,  1442,  1812,  -716,
2098
    -716,  -716,  -716,  -716,  -716,  -716,  -716,  1813,  -716,  -716,
2099
    -716,  -716,  1814,  1816,  1820,  1821,  1822,  1823,  1824,  -716,
2100
    -716,  -716,  -716,  -716,  -716,  -716,  -716,  -716,  -716,  -716,
2101
    -716,  -716,  -716,  -716,  -716,  -716,  1825,  -716,  1826,  -716,
2102
    1827,  1828,  1829,  1833,  -716,  1834,  -716,  -716,  -716,  -716,
2103
    -716,  -716,  -716,  -716,  1839,  1842,  -716,  -716,  -716,  1843,
2104
    1844,  1847,  -716,  -716,  -716,  -716,  -716,  -716,  1478,  1479,
2105
    1480,  1481,  1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,
2106
    1490,  1491,  1492,  1493,  1494,  1495,  1496,  1497,  1498,  1499,
2107
    1500,  1481,  1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,
2108
    1490,  1491,  1492,  1493,  1494,  1495,  1496,  1497,  1498,  1499,
2109
    1500,  1863,  1848,  1849,  1852,  1853,  -727,  1854,  1857,  1858,
2110
    1859,  1860,  1861,  1877,  1937,  1870,  1862,  1871,  1882,  1898,
2111
    1899,  1900,  -727,  -727,  -727,  -727,  -727,  -727,  -727,  -727,
2112
    -727,  -727,  -727,  -727,  -727,  -727,  -727,  -727,  -727,  -727,
2113
    -727,  -727,  -727,  -727,  -727,  1864,  1866,  1901,  1905,  1906,
2114
    1907,  -727,  1908,  1909,  1910,  1911,  -727,  1966,  1912,  1913,
2115
    -727,  -727,  1914,  -727,  -727,  -727, -1027,  -727,  1915,  1916,
2116
    1917,  1918,  -727,  1919,  1920,  1921,  1922,  -695,  1923,  1924,
2117
    1925,  1926,  1927,  1928,  1929,  1938,  1939,  1946,  1949,  1950,
2118
    1951,  1955,  1967,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
2119
    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
2120
    -695,  -695,  -695,  -695,  -695,  -695,  1940,  1941,  1944,  1954,
2121
    1956,  1957,  1958,  1974,   554,  1962,  1963,  -695,  1168,  1678,
2122
    1073,  -695,  -695,  1075,  -695,  -695,  -695, -1027,  -695,   836,
2123
    1378,  1393,  1049,  -695,   838,  1681,  1682,  1884,  -699,  1948,
2124
    1932,  1943,  1802,     0,  1590,     0,     0,     0,     0,     0,
2125
       0,     0,     0,     0,  -699,  -699,  -699,  -699,  -699,  -699,
2126
    -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,
2127
    -699,  -699,  -699,  -699,  -699,  -699,  -699,     0,     0,     0,
2128
       0,     0,     0,     0,     0,     0,     0,     0,  -699,     0,
2129
       0,     0,  -699,  -699,     0,  -699,  -699,  -699,     0,  -699,
2130
       0,     0,     0,     0,  -699,     0,     0,     0,     0,  -716,
2131
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2132
       0,     0,     0,     0,     0,  -716,  -716,  -716,  -716,  -716,
2133
    -716,  -716,  -716,  -716,  -716,  -716,  -716,  -716,  -716,  -716,
2134
    -716,  -716,  -716,  -716,  -716,  -716,  -716,  -716,     0,     0,
2135
       0,     0,     0,     0,     0,     0,     0,     0,     0,  -716,
2136
       0,     0,     1,  -716,  -716,     0,  -716,  -716,  -716,     0,
2137
    -716,     0,     2,     0,     0,  -716,   -11,   -11,   -13,     3,
2138
       4,   -16,   -18,   -20,     0,     0,     0,     0,     0,     0,
2139
       0,     0,     0,     0,     0,     0,     0,     0,     0,     5,
2140
       0,     6,     0,     7,     8,     9,    10,    11,    12,     0,
2141
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2142
      13,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2143
    1478,  1479,  1480,  1481,  1482,  1483,  1484,  1485,  1486,  1487,
2144
    1488,  1489,  1490,  1491,  1492,  1493,  1494,  1495,  1496,  1497,
2145
    1498,  1499,  1500,     0,     0,     0,     0,    14,    15,    16,
2146
      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2147
      27,    28,    29,  1865,     0,     0,     0,     0,    30,    31,
2148
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2149
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2150
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2151
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2152
      72,    73,    74,     0,    75,    76,    77,     0,     0,    78,
2153
      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2154
      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
2155
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2156
     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
2157
     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2158
     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2159
     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2160
     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2161
     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2162
     169,   170,   171,   172,   173,   174,     0,     0,     0,     0,
2163
     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2164
     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2165
     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2166
     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2167
       0,   215,   216,     0,     0,     0,     0,     0,   217,     0,
2168
     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
2169
     228,   229,   230,   231,     0,     0,     0,     0,     0,     0,
2170
       0,     0,     0,     0,     0,     0,   232,   233,   234,     0,
2171
       0,  1478,  1479,  1480,  1481,  1482,  1483,  1484,  1485,  1486,
2172
    1487,  1488,  1489,  1490,  1491,  1492,  1493,  1494,  1495,  1496,
2173
    1497,  1498,  1499,  1500,     0,     0,     0,     0,     0,     0,
2174
       0,     0,     0,  1704,   235,  1077,  1078,  1079,  1080,  1081,
2175
       0,     0,   236,     0,  1947,  1086,  1087,  1088,     0,   237,
2176
       0,     0,     0,     0,     0,  1089,  1090,  1091,  1092,  1093,
2177
    1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,
2178
    1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,     0,
2179
       0,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,
2180
       0,     0,     0,  1118,  1119,     0,     0,     0,  1120,  1121,
2181
    1122,  1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,
2182
    1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,
2183
    1705,  1239,  1964,     0,  1077,  1078,  1079,  1080,  1081,  1082,
2184
    1083,  1084,     0,  1085,  1086,  1087,  1088,     0,     0,     0,
2185
       0,     0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,
2186
    1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,
2187
    1105,     0,  1106,     0,  1107,     0,     0,     0,     0,  1108,
2188
       0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,  -759,
2189
    -759,  1117,  1118,  1119,     0,     0,     0,  1120,  1121,  1122,
2190
    1123,  1124,  1125,  1342,     0,  1077,  1078,  1079,  1080,  1081,
2191
    1082,  1083,  1084,     0,  1085,  1086,  1087,  1088,     0,     0,
2192
       0,     0,     0,     0,     0,  1089,  1090,  1091,  1092,  1093,
2193
    1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,
2194
    1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,     0,
2195
    1108,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,
2196
    -761,  -761,  1117,  1118,  1119,     0,     0,     0,  1120,  1121,
2197
    1122,  1123,  1124,  1125,  1342,     0,  1077,  1078,  1079,  1080,
2198
    1081,  1082,  1083,  1084,     0,  1085,  1086,  1087,  1088,     0,
2199
       0,     0,     0,     0,     0,     0,  1089,  1090,  1091,  1092,
2200
    1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,
2201
    1103,  1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,
2202
       0,  1108,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,
2203
    1116,  -763,  -763,  1117,  1118,  1119,     0,     0,     0,  1120,
2204
    1121,  1122,  1123,  1124,  1125,  1478,  1479,  1480,  1481,  1482,
2205
    1483,  1484,  1485,  1486,  1487,  1488,  1489,  1490,  1491,  1492,
2206
    1493,  1494,  1495,  1496,  1497,  1498,  1499,  1500,     0,     0,
2207
       0,     0,     0,     0,     0,  1126,  1240,     0,     0,     0,
2208
       0,     0,     0,     0,     0,     0,     0,     0,  1975,  1480,
2209
    1481,  1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,  1490,
2210
    1491,  1492,  1493,  1494,  1495,  1496,  1497,  1498,  1499,  1500,
2211
    1241,     0,     0,     0,  1242,     0,  1243,  1244,  1245,  1246,
2212
       0,  1247,  1248,  1249,  1706,  1707,     0,  1250,   638,  1128,
2213
    1129,     0,     0,     0,     0,  1313,  1252,     0,   640,     0,
2214
       0,     0,     0,  1342,     0,  1077,  1078,  1079,  1080,  1081,
2215
    1082,  1083,  1084,     0,  1085,  1086,  1087,  1088,     0,     0,
2216
       0,     0,     0,     0,  1126,  1089,  1090,  1091,  1092,  1093,
2217
    1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,
2218
    1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,     0,
2219
    1108,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,
2220
    -757,  -757,  1117,  1118,  1119,     0,     0,     0,  1120,  1121,
2221
    1122,  1123,  1124,  1125,  1127,     0,     0,     0,  1128,  1129,
2222
       0,     0,  1130,     0,     0,     0,  -759,     0,     0,     0,
2223
       0,     0,     0,     0,     0,  1126,  1478,  1479,  1480,  1481,
2224
    1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,  1490,  1491,
2225
    1492,  1493,  1494,  1495,  1496,  1497,  1498,  1499,  1500,  1483,
2226
    1484,  1485,  1486,  1487,  1488,  1489,  1490,  1491,  1492,  1493,
2227
    1494,  1495,  1496,  1497,  1498,  1499,  1500,  1867,     0,     0,
2228
       0,     0,     0,     0,     0,  1127,     0,     0,     0,  1128,
2229
    1129,     0,     0,  1130,     0,     0,     0,  -761,     0,     0,
2230
       0,     0,     0,     0,     0,     0,  1126,  1478,  1479,  1480,
2231
    1481,  1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,  1490,
2232
    1491,  1492,  1493,  1494,  1495,  1496,  1497,  1498,  1499,  1500,
2233
    1485,  1486,  1487,  1488,  1489,  1490,  1491,  1492,  1493,  1494,
2234
    1495,  1496,  1497,  1498,  1499,  1500,     0,     0,  1959,     0,
2235
       0,     0,     0,     0,     0,     0,  1127,     0,     0,     0,
2236
    1128,  1129,     0,     0,  1130,     0,     0,  1342,  -763,  1077,
2237
    1078,  1079,  1080,  1081,  1082,  1083,  1084,     0,  1085,  1086,
2238
    1087,  1088,     0,     0,     0,     0,     0,     0,     0,  1089,
2239
    1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,
2240
    1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,
2241
       0,     0,     0,     0,  1108,     0,  1109,  1110,  1111,  1112,
2242
    1113,  1114,  1115,  1116,  -764,  -764,  1117,  1118,  1119,     0,
2243
       0,     0,  1120,  1121,  1122,  1123,  1124,  1125,     0,     0,
2244
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2245
       0,     0,     0,     0,  1342,     0,  1077,  1078,  1079,  1080,
2246
    1081,  1082,  1083,  1084,     0,  1085,  1086,  1087,  1088,     0,
2247
       0,     0,     0,     0,     0,  1126,  1089,  1090,  1091,  1092,
2248
    1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,
2249
    1103,  1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,
2250
       0,  1108,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,
2251
    1116,  -758,  -758,  1117,  1118,  1119,     0,     0,     0,  1120,
2252
    1121,  1122,  1123,  1124,  1125,  1127,     0,     0,     0,  1128,
2253
    1129,     0,     0,  1130,     0,     0,  1342,  -757,  1077,  1078,
2254
    1079,  1080,  1081,  1082,  1083,  1084,     0,  1085,  1086,  1087,
2255
    1088,     0,     0,     0,     0,     0,     0,     0,  1089,  1090,
2256
    1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
2257
    1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,     0,
2258
       0,     0,     0,  1108,     0,  1109,  1110,  1111,  1112,  1113,
2259
    1114,  1115,  1116,     0,     0,  1117,  1118,  1119,     0,     0,
2260
       0,  1120,  1121,  1122,  1123,  1124,  1125,  1342,     0,  1077,
2261
    1078,  1079,  1080,  1081,  1082,  1083,  1084,     0,  1085,  1086,
2262
    1087,  1088,     0,     0,     0,     0,     0,     0,     0,  1089,
2263
    1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,
2264
    1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,
2265
       0,     0,     0,     0,  1108,     0,  1109,  1110,  1111,  1112,
2266
    1113,  1114,  1115,  1116,     0,     0,  1117,  1118,  1119,     0,
2267
       0,     0,  1120,  1121,  1122,  1123,  1124,  1125,  1342,     0,
2268
    1077,  1078,  1079,  1080,  1081,  1082,  1083,  1084,     0,  1085,
2269
    1086,  1087,  1088,     0,     0,     0,     0,     0,     0,  1126,
2270
    1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,
2271
    1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,
2272
    1107,     0,     0,     0,     0,  1108,     0,  1109,  1110,  1111,
2273
    1112,  1113,  1114,  1115,  1116,     0,     0,  1117,  1118,  1119,
2274
       0,     0,     0,  1120,  1121,  1122,  1123,  1124,  1125,  1127,
2275
       0,     0,     0,  1128,  1129,     0,     0,  1130,     0,     0,
2276
       0,  -764,     0,     0,     0,  1342,     0,  1077,  1078,  1079,
2277
    1080,  1081,  1082,  1083,  1084,     0,  1085,  1086,  1087,  1088,
2278
       0,     0,     0,     0,     0,     0,  1126,  1089,  1090,  1091,
2279
    1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,
2280
    1102,  1103,  1104,  1105,     0,  1106,     0,  1107,     0,     0,
2281
       0,     0,  1108,     0,  1109,  1110,  1111,  1112,  1113,  1114,
2282
    1115,  1116,     0,     0,  1117,  1118,  1119,     0,     0,     0,
2283
    1120,  1121,  1122,  1123,  1124,  1125,  1127,     0,     0,     0,
2284
    1128,  1129,     0,     0,  1130,     0,     0,  1342,  -758,  1077,
2285
    1078,  1079,  1080,  1081,  1082,  1083,  1084,     0,  1085,  1086,
2286
    1087,  1088,     0,     0,     0,     0,     0,     0,  1126,  1089,
2287
    1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,
2288
    1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,
2289
       0,     0,     0,     0,  1108,     0,  1109,  1110,  1111,  1112,
2290
    1113,  1114,  1115,  1116,     0,     0,  1117,  1118,  1119,     0,
2291
       0,     0,  1120,  1121,  1122,  1123,  1124,  1125,  1127,     0,
2292
       0,     0,  1128,  1129,     0,     0,  1130,     0,     0,     0,
2293
    1343,     0,     0,     0,     0,     0,     0,     0,     0,  1126,
2294
    1478,  1479,  1480,  1481,  1482,  1483,  1484,  1485,  1486,  1487,
2295
    1488,  1489,  1490,  1491,  1492,  1493,  1494,  1495,  1496,  1497,
2296
    1498,  1499,  1500,  1479,  1480,  1481,  1482,  1483,  1484,  1485,
2297
    1486,  1487,  1488,  1489,  1490,  1491,  1492,  1493,  1494,  1495,
2298
    1496,  1497,  1498,  1499,  1500,     0,     0,     0,     0,  1127,
2299
       0,     0,     0,  1128,  1129,     0,     0,  1130,     0,     0,
2300
       0,  1365,     0,     0,     0,     0,     0,     0,     0,     0,
2301
    1126,  1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,  1490,
2302
    1491,  1492,  1493,  1494,  1495,  1496,  1497,  1498,  1499,  1500,
2303
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2304
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2305
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2306
    1127,     0,     0,     0,  1128,  1129,     0,     0,  1130,     0,
2307
       0,     0,  1367,     0,     0,     0,  1342,     0,  1077,  1078,
2308
    1079,  1080,  1081,  1082,  1083,  1084,     0,  1085,  1086,  1087,
2309
    1088,     0,     0,     0,     0,     0,     0,  1126,  1089,  1090,
2310
    1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
2311
    1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,     0,
2312
       0,     0,     0,  1108,     0,  1109,  1110,  1111,  1112,  1113,
2313
    1114,  1115,  1116,     0,     0,  1117,  1118,  1119,     0,     0,
2314
       0,  1120,  1121,  1122,  1123,  1124,  1125,  1127,     0,     0,
2315
       0,  1128,  1129,     0,     0,  1130,     0,     0,  1342,  1369,
2316
    1077,  1078,  1079,  1080,  1081,  1082,  1083,  1084,     0,  1085,
2317
    1086,  1087,  1088,     0,     0,     0,     0,     0,     0,  1126,
2318
    1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,
2319
    1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,
2320
    1107,     0,     0,     0,     0,  1108,     0,  1109,  1110,  1111,
2321
    1112,  1113,  1114,  1115,  1116,     0,     0,  1117,  1118,  1119,
2322
       0,     0,     0,  1120,  1121,  1122,  1123,  1124,  1125,  1127,
2323
       0,     0,     0,  1128,  1129,     0,     0,  1130,     0,     0,
2324
    1342,  1375,  1077,  1078,  1079,  1080,  1081,  1082,  1083,  1084,
2325
       0,  1085,  1086,  1087,  1088,     0,     0,     0,     0,     0,
2326
       0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,
2327
    1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,
2328
    1106,     0,  1107,     0,     0,     0,     0,  1108,     0,  1109,
2329
    1110,  1111,  1112,  1113,  1114,  1115,  1116,     0,     0,  1117,
2330
    1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,  1124,
2331
    1125,  1342,     0,  1077,  1078,  1079,  1080,  1081,  1082,  1083,
2332
    1084,     0,  1085,  1086,  1087,  1088,     0,     0,     0,     0,
2333
       0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,
2334
    1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,
2335
       0,  1106,     0,  1107,     0,     0,     0,     0,  1108,     0,
2336
    1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,     0,     0,
2337
    1117,  1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,
2338
    1124,  1125,     0,     0,     0,     0,     0,  1342,     0,  1077,
2339
    1078,  1079,  1080,  1081,  1082,  1083,  1084,     0,  1085,  1086,
2340
    1087,  1088,     0,     0,     0,     0,     0,     0,  1126,  1089,
2341
    1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,
2342
    1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,
2343
       0,     0,     0,     0,  1108,     0,  1109,  1110,  1111,  1112,
2344
    1113,  1114,  1115,  1116,     0,     0,  1117,  1118,  1119,     0,
2345
       0,     0,  1120,  1121,  1122,  1123,  1124,  1125,  1127,     0,
2346
       0,     0,  1128,  1129,     0,     0,  1130,     0,     0,  1342,
2347
    1696,  1077,  1078,  1079,  1080,  1081,  1082,  1083,  1084,     0,
2348
    1085,  1086,  1087,  1088,     0,     0,     0,     0,     0,     0,
2349
    1126,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,
2350
    1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,
2351
       0,  1107,     0,     0,     0,     0,  1108,     0,  1109,  1110,
2352
    1111,  1112,  1113,  1114,  1115,  1116,     0,     0,  1117,  1118,
2353
    1119,     0,     0,     0,  1120,  1121,  1122,  1123,  1124,  1125,
2354
    1127,     0,     0,     0,  1128,  1129,     0,     0,  1130,     0,
2355
       0,  1342,  1815,  1077,  1078,  1079,  1080,  1081,  1082,  1083,
2356
    1084,     0,  1085,  1086,  1087,  1088,     0,     0,     0,     0,
2357
       0,     0,  1126,  1089,  1090,  1091,  1092,  1093,  1094,  1095,
2358
    1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,
2359
       0,  1106,     0,  1107,     0,     0,     0,     0,  1108,     0,
2360
    1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,     0,     0,
2361
    1117,  1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,
2362
    1124,  1125,  1127,     0,     0,     0,  1128,  1129,     0,     0,
2363
    1130,     0,     0,     0,  1830,     0,     0,     0,     0,     0,
2364
       0,     0,     0,  1126,     0,     0,     0,     0,     0,     0,
2365
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2366
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2367
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2368
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2369
       0,     0,     0,  1127,     0,     0,     0,  1128,  1129,     0,
2370
       0,  1130,     0,     0,     0,  1872,     0,     0,     0,     0,
2371
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1126,
2372
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2373
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2374
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2375
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2376
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1127,
2377
       0,     0,     0,  1128,  1129,     0,     0,  1130,     0,     0,
2378
    1342,  1892,  1077,  1078,  1079,  1080,  1081,  1082,  1083,  1084,
2379
       0,  1085,  1086,  1087,  1088,     0,     0,     0,     0,     0,
2380
       0,  1126,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,
2381
    1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,
2382
    1106,     0,  1107,     0,     0,     0,     0,  1108,     0,  1109,
2383
    1110,  1111,  1112,  1113,  1114,  1115,  1116,     0,     0,  1117,
2384
    1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,  1124,
2385
    1125,  1127,     0,     0,     0,  1128,  1129,     0,     0,  1130,
2386
       0,     0,     0,  1893,     0,     0,     0,     0,     0,     0,
2387
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2388
       0,     0,     0,  1126,     0,     0,     0,     0,     0,     0,
2389
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2390
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2391
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2392
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2393
       0,     0,     0,  1127,     0,     0,     0,  1128,  1129,     0,
2394
       0,  1130,     0,     0,  1667,  1894,  1077,  1078,  1079,  1080,
2395
    1081,     0,     0,     0,     0,     0,  1086,  1087,  1088,     0,
2396
       0,     0,     0,     0,     0,     0,  1089,  1090,  1091,  1092,
2397
    1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,
2398
    1103,  1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,
2399
       0,     0,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,
2400
       0,     0,     0,     0,  1118,  1119,     0,     0,     0,  1120,
2401
    1121,  1122,  1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,
2402
    1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,
2403
    1237,  1238,  1239,  1668,  1669,  1670,  1671,  1672,  1673,     0,
2404
       0,     0,     0,     0,     0,     0,     0,     0,  1677,     0,
2405
    1077,  1078,  1079,  1080,  1081,     0,     0,     0,     0,     0,
2406
    1086,  1087,  1088,     0,     0,     0,     0,     0,     0,     0,
2407
    1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,
2408
    1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,
2409
    1107,     0,     0,     0,     0,     0,     0,  1109,  1110,  1111,
2410
    1112,  1113,  1114,  1115,     0,     0,     0,     0,  1118,  1119,
2411
       0,     0,  1126,  1120,  1121,  1122,  1123,  1124,  1125,  1222,
2412
    1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,
2413
    1233,  1234,  1235,  1236,  1237,  1238,  1239,  1668,  1669,  1670,
2414
    1671,  1672,  1673,     0,     0,     0,     0,     0,     0,     0,
2415
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2416
       0,     0,  1127,     0,     0,     0,  1128,  1129,     0,     0,
2417
    1130,     0,     0,  1454,  1895,  1077,  1078,  1079,  1080,  1081,
2418
       0,     0,     0,     0,     0,  1086,  1087,  1088,     0,     0,
2419
       0,     0,     0,     0,     0,  1089,  1090,  1091,  1092,  1093,
2420
    1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,
2421
    1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,     0,
2422
       0,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,
2423
       0,     0,     0,  1118,  1119,     0,     0,     0,  1120,  1121,
2424
    1122,  1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,
2425
    1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,
2426
    1238,  1239,     0,     0,     0,     0,     0,     0,     0,     0,
2427
       0,     0,     0,     0,     0,     0,  1126,  1240,     0,     0,
2428
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2429
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2430
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2431
       0,  1241,  1674,     0,     0,  1242,     0,  1243,  1244,  1245,
2432
    1246,     0,  1247,  1248,  1249,   597,  1127,     0,  1250,     0,
2433
    1128,  1129,     0,     0,     0,     0,  1313,  1252,     0,     0,
2434
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2435
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2436
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2437
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2438
    1126,  1240,     0,     0,     0,     0,     0,     0,     0,     0,
2439
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2440
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2441
       0,     0,     0,     0,     0,  1241,  1674,     0,     0,  1242,
2442
       0,  1243,  1244,  1245,  1246,     0,  1247,  1248,  1249,   597,
2443
    1127,     0,  1250,     0,  1128,  1129,     0,     0,     0,     0,
2444
    1313,  1252,  1454,     0,  1077,  1078,  1079,  1080,  1081,     0,
2445
       0,     0,     0,     0,  1086,  1087,  1088,     0,     0,     0,
2446
       0,     0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,
2447
    1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,
2448
    1105,     0,  1106,     0,  1107,     0,     0,     0,     0,     0,
2449
       0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,     0,
2450
       0,     0,  1118,  1119,     0,  1126,  1240,  1120,  1121,  1122,
2451
    1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,
2452
    1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,
2453
    1239,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2454
    1241,     0,     0,     0,  1242,     0,  1243,  1244,  1245,  1246,
2455
       0,  1247,  1248,  1249,   597,  1127,     0,  1250,     0,  1128,
2456
    1129,     0,     0,     0,  1455,  1313,  1252,  1454,     0,  1077,
2457
    1078,  1079,  1080,  1081,     0,     0,     0,     0,     0,  1086,
2458
    1087,  1088,     0,     0,     0,     0,     0,     0,     0,  1089,
2459
    1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,
2460
    1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,
2461
       0,     0,     0,     0,     0,     0,  1109,  1110,  1111,  1112,
2462
    1113,  1114,  1115,     0,     0,     0,     0,  1118,  1119,     0,
2463
       0,     0,  1120,  1121,  1122,  1123,  1124,  1125,  1222,  1223,
2464
    1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,  1233,
2465
    1234,  1235,  1236,  1237,  1238,  1239,  1878,     0,  1077,  1078,
2466
    1079,  1080,  1081,     0,     0,     0,     0,     0,  1086,  1087,
2467
    1088,     0,     0,     0,     0,     0,     0,     0,  1089,  1090,
2468
    1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
2469
    1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,     0,
2470
       0,     0,     0,     0,     0,  1109,  1110,  1111,  1112,  1113,
2471
    1114,  1115,     0,     0,     0,     0,  1118,  1119,     0,     0,
2472
       0,  1120,  1121,  1122,  1123,  1124,  1125,  1222,  1223,  1224,
2473
    1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,
2474
    1235,  1236,  1237,  1238,  1239,     0,     0,     0,     0,     0,
2475
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2476
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2477
       0,     0,     0,     0,  1126,  1240,     0,     0,     0,     0,
2478
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2479
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2480
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1241,
2481
       0,     0,     0,  1242,     0,  1243,  1244,  1245,  1246,     0,
2482
    1247,  1248,  1249,   597,  1127,     0,  1250,     0,  1128,  1129,
2483
       0,     0,     0,  1503,  1313,  1252,  1325,     0,  1077,  1078,
2484
    1079,  1080,  1081,     0,     0,     0,     0,     0,  1086,  1087,
2485
    1088,     0,     0,     0,     0,     0,     0,     0,  1089,  1090,
2486
    1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
2487
    1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,     0,
2488
       0,     0,     0,     0,     0,  1109,  1110,  1111,  1112,  1113,
2489
    1114,  1115,     0,     0,     0,     0,  1118,  1119,     0,  1126,
2490
    1240,  1120,  1121,  1122,  1123,  1124,  1125,  1222,  1223,  1224,
2491
    1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,
2492
    1235,  1236,  1237,  1238,  1239,     0,     0,     0,     0,     0,
2493
       0,     0,     0,     0,  1241,     0,     0,     0,  1242,     0,
2494
    1243,  1244,  1245,  1246,     0,  1247,  1248,  1249,   597,  1127,
2495
       0,  1250,     0,  1128,  1129,     0,     0,     0,  1504,  1313,
2496
    1252,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2497
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2498
       0,     0,     0,     0,     0,     0,     0,     0,  1126,  1240,
2499
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2500
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2501
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2502
       0,     0,     0,  1241,     0,  1879,     0,  1242,     0,  1243,
2503
    1244,  1245,  1246,     0,  1247,  1248,  1249,   597,  1127,     0,
2504
    1250,     0,  1128,  1129,     0,     0,     0,     0,  1313,  1252,
2505
    1445,     0,  1077,  1078,  1079,  1080,  1081,     0,     0,     0,
2506
       0,     0,  1086,  1087,  1088,     0,     0,     0,     0,     0,
2507
       0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,
2508
    1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,
2509
    1106,     0,  1107,     0,     0,     0,     0,     0,     0,  1109,
2510
    1110,  1111,  1112,  1113,  1114,  1115,     0,     0,     0,     0,
2511
    1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,  1124,
2512
    1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,
2513
    1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,     0,
2514
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2515
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2516
       0,     0,     0,     0,     0,     0,     0,     0,  1126,  1240,
2517
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2518
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2519
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2520
       0,     0,     0,  1241,     0,     0,     0,  1242,     0,  1243,
2521
    1244,  1245,  1246,     0,  1247,  1248,  1249,   597,  1127,     0,
2522
    1250,     0,  1128,  1129,     0,     0,     0,     0,  1313,  1252,
2523
    1447,     0,  1077,  1078,  1079,  1080,  1081,     0,     0,     0,
2524
       0,     0,  1086,  1087,  1088,     0,     0,     0,     0,     0,
2525
       0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,
2526
    1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,
2527
    1106,     0,  1107,     0,     0,     0,     0,     0,     0,  1109,
2528
    1110,  1111,  1112,  1113,  1114,  1115,     0,     0,     0,     0,
2529
    1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,  1124,
2530
    1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,
2531
    1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,  1449,
2532
       0,  1077,  1078,  1079,  1080,  1081,     0,     0,     0,     0,
2533
       0,  1086,  1087,  1088,     0,     0,     0,     0,     0,     0,
2534
       0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,
2535
    1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,
2536
       0,  1107,     0,     0,     0,     0,     0,     0,  1109,  1110,
2537
    1111,  1112,  1113,  1114,  1115,     0,     0,     0,     0,  1118,
2538
    1119,     0,  1126,  1240,  1120,  1121,  1122,  1123,  1124,  1125,
2539
    1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,
2540
    1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,     0,     0,
2541
       0,     0,     0,     0,     0,     0,     0,  1241,     0,     0,
2542
       0,  1242,     0,  1243,  1244,  1245,  1246,     0,  1247,  1248,
2543
    1249,   597,  1127,     0,  1250,     0,  1128,  1129,     0,     0,
2544
       0,     0,  1313,  1252,  1476,     0,  1077,  1078,  1079,  1080,
2545
    1081,     0,     0,     0,     0,     0,  1086,  1087,  1088,     0,
2546
       0,     0,     0,     0,     0,     0,  1089,  1090,  1091,  1092,
2547
    1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,
2548
    1103,  1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,
2549
       0,     0,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,
2550
       0,     0,     0,     0,  1118,  1119,     0,     0,     0,  1120,
2551
    1121,  1122,  1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,
2552
    1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,
2553
    1237,  1238,  1239,     0,     0,     0,     0,     0,     0,     0,
2554
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2555
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2556
       0,     0,  1126,  1240,     0,     0,     0,     0,     0,     0,
2557
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2558
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2559
       0,     0,     0,     0,     0,     0,     0,  1241,     0,     0,
2560
       0,  1242,     0,  1243,  1244,  1245,  1246,     0,  1247,  1248,
2561
    1249,   597,  1127,     0,  1250,     0,  1128,  1129,     0,     0,
2562
       0,     0,  1313,  1252,     0,     0,     0,     0,     0,     0,
2563
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2564
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2565
       0,  1126,  1240,     0,     0,     0,     0,     0,     0,     0,
2566
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2567
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2568
       0,     0,     0,     0,     0,     0,  1241,     0,     0,     0,
2569
    1242,     0,  1243,  1244,  1245,  1246,     0,  1247,  1248,  1249,
2570
     597,  1127,     0,  1250,     0,  1128,  1129,     0,     0,     0,
2571
       0,  1313,  1252,  1510,     0,  1077,  1078,  1079,  1080,  1081,
2572
       0,     0,     0,     0,     0,  1086,  1087,  1088,     0,     0,
2573
       0,     0,     0,     0,     0,  1089,  1090,  1091,  1092,  1093,
2574
    1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,
2575
    1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,     0,
2576
       0,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,
2577
       0,     0,     0,  1118,  1119,     0,  1126,  1240,  1120,  1121,
2578
    1122,  1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,
2579
    1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,
2580
    1238,  1239,     0,     0,     0,     0,     0,     0,     0,     0,
2581
       0,  1241,     0,     0,     0,  1242,     0,  1243,  1244,  1245,
2582
    1246,     0,  1247,  1248,  1249,   597,  1127,     0,  1250,     0,
2583
    1128,  1129,     0,     0,     0,     0,  1313,  1252,  1454,     0,
2584
    1077,  1078,  1079,  1080,  1081,     0,     0,     0,     0,     0,
2585
    1086,  1087,  1088,     0,     0,     0,     0,     0,     0,     0,
2586
    1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,
2587
    1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,
2588
    1107,     0,     0,     0,     0,     0,     0,  1109,  1110,  1111,
2589
    1112,  1113,  1114,  1115,     0,     0,     0,     0,  1118,  1119,
2590
       0,     0,     0,  1120,  1121,  1122,  1123,  1124,  1125,  1222,
2591
    1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,
2592
    1233,  1234,  1235,  1236,  1237,  1238,  1239,  1664,     0,  1077,
2593
    1078,  1079,  1080,  1081,     0,     0,     0,     0,     0,  1086,
2594
    1087,  1088,     0,     0,     0,     0,     0,     0,     0,  1089,
2595
    1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,
2596
    1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,
2597
       0,     0,     0,     0,     0,     0,  1109,  1110,  1111,  1112,
2598
    1113,  1114,  1115,     0,     0,     0,     0,  1118,  1119,     0,
2599
       0,     0,  1120,  1121,  1122,  1123,  1124,  1125,  1222,  1223,
2600
    1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,  1233,
2601
    1234,  1235,  1236,  1237,  1238,  1239,     0,     0,     0,     0,
2602
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2603
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2604
       0,     0,     0,     0,     0,  1126,  1240,     0,     0,     0,
2605
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2606
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2607
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2608
    1241,     0,     0,     0,  1242,     0,  1243,  1244,  1245,  1246,
2609
       0,  1247,  1248,  1249,   597,  1511,     0,  1250,     0,  1128,
2610
    1129,     0,     0,     0,     0,  1313,  1252,  1686,     0,  1077,
2611
    1078,  1079,  1080,  1081,     0,     0,     0,     0,     0,  1086,
2612
    1087,  1088,     0,     0,     0,     0,     0,     0,     0,  1089,
2613
    1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,
2614
    1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,
2615
       0,     0,     0,     0,     0,     0,  1109,  1110,  1111,  1112,
2616
    1113,  1114,  1115,     0,     0,     0,     0,  1118,  1119,     0,
2617
    1126,  1240,  1120,  1121,  1122,  1123,  1124,  1125,  1222,  1223,
2618
    1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,  1233,
2619
    1234,  1235,  1236,  1237,  1238,  1239,     0,     0,     0,     0,
2620
       0,     0,     0,     0,     0,  1241,     0,     0,     0,  1242,
2621
       0,  1243,  1244,  1245,  1246,     0,  1247,  1248,  1249,   597,
2622
    1127,     0,  1250,     0,  1128,  1129,     0,     0,     0,     0,
2623
    1313,  1252,     0,     0,     0,     0,     0,     0,     0,     0,
2624
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2625
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1126,
2626
    1240,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2627
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2628
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2629
       0,     0,     0,     0,  1241,     0,     0,     0,  1242,     0,
2630
    1243,  1244,  1245,  1246,     0,  1247,  1248,  1249,   597,  1665,
2631
       0,  1250,     0,  1128,  1129,     0,     0,     0,     0,  1313,
2632
    1252,  1688,     0,  1077,  1078,  1079,  1080,  1081,     0,     0,
2633
       0,     0,     0,  1086,  1087,  1088,     0,     0,     0,     0,
2634
       0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,
2635
    1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,
2636
       0,  1106,     0,  1107,     0,     0,     0,     0,     0,     0,
2637
    1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,     0,     0,
2638
       0,  1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,
2639
    1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,
2640
    1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,
2641
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2642
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2643
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1126,
2644
    1240,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2645
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2646
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2647
       0,     0,     0,     0,  1241,     0,     0,     0,  1242,     0,
2648
    1243,  1244,  1245,  1246,     0,  1247,  1248,  1249,   597,  1127,
2649
       0,  1250,     0,  1128,  1129,     0,     0,     0,     0,  1313,
2650
    1252,  1690,     0,  1077,  1078,  1079,  1080,  1081,     0,     0,
2651
       0,     0,     0,  1086,  1087,  1088,     0,     0,     0,     0,
2652
       0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,
2653
    1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,
2654
       0,  1106,     0,  1107,     0,     0,     0,     0,     0,     0,
2655
    1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,     0,     0,
2656
       0,  1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,
2657
    1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,
2658
    1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,
2659
    1697,     0,  1077,  1078,  1079,  1080,  1081,     0,     0,     0,
2660
       0,     0,  1086,  1087,  1088,     0,     0,     0,     0,     0,
2661
       0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,
2662
    1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,
2663
    1106,     0,  1107,     0,     0,     0,     0,     0,     0,  1109,
2664
    1110,  1111,  1112,  1113,  1114,  1115,     0,     0,     0,     0,
2665
    1118,  1119,     0,  1126,  1240,  1120,  1121,  1122,  1123,  1124,
2666
    1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,
2667
    1231,  1232,  1233,  1234,  1235,  1236,  1237,  1698,  1239,     0,
2668
       0,     0,     0,     0,     0,     0,     0,     0,  1241,     0,
2669
       0,     0,  1242,     0,  1243,  1244,  1245,  1246,     0,  1247,
2670
    1248,  1249,   597,  1127,     0,  1250,     0,  1128,  1129,     0,
2671
       0,     0,     0,  1313,  1252,  1700,     0,  1077,  1078,  1079,
2672
    1080,  1081,     0,     0,     0,     0,     0,  1086,  1087,  1088,
2673
       0,     0,     0,     0,     0,     0,     0,  1089,  1090,  1091,
2674
    1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,
2675
    1102,  1103,  1104,  1105,     0,  1106,     0,  1107,     0,     0,
2676
       0,     0,     0,     0,  1109,  1110,  1111,  1112,  1113,  1114,
2677
    1115,     0,     0,     0,     0,  1118,  1119,     0,     0,     0,
2678
    1120,  1121,  1122,  1123,  1124,  1125,  1222,  1223,  1224,  1225,
2679
    1226,  1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,
2680
    1236,  1237,  1238,  1239,     0,     0,     0,     0,     0,     0,
2681
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2682
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2683
       0,     0,     0,  1126,  1240,     0,     0,     0,     0,     0,
2684
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2685
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2686
       0,     0,     0,     0,     0,     0,     0,     0,  1241,     0,
2687
       0,     0,  1242,     0,  1243,  1244,  1245,  1246,     0,  1247,
2688
    1248,  1249,   597,  1127,     0,  1250,     0,  1128,  1129,     0,
2689
       0,     0,     0,  1313,  1252,     0,     0,     0,     0,     0,
2690
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2691
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2692
       0,     0,  1126,  1240,     0,     0,     0,     0,     0,     0,
2693
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2694
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2695
       0,     0,     0,     0,     0,     0,     0,  1241,     0,     0,
2696
       0,  1242,     0,  1243,  1244,  1245,  1246,     0,  1247,  1248,
2697
    1249,   597,  1127,     0,  1250,     0,  1128,  1129,     0,     0,
2698
       0,     0,  1313,  1252,  1702,     0,  1077,  1078,  1079,  1080,
2699
    1081,     0,     0,     0,     0,     0,  1086,  1087,  1088,     0,
2700
       0,     0,     0,     0,     0,     0,  1089,  1090,  1091,  1092,
2701
    1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,
2702
    1103,  1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,
2703
       0,     0,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,
2704
       0,     0,     0,     0,  1118,  1119,     0,  1126,  1240,  1120,
2705
    1121,  1122,  1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,
2706
    1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,
2707
    1237,  1238,  1239,     0,     0,     0,     0,     0,     0,     0,
2708
       0,     0,  1241,     0,     0,     0,  1242,     0,  1243,  1244,
2709
    1245,  1246,     0,  1247,  1248,  1249,   597,  1127,     0,  1250,
2710
       0,  1128,  1129,     0,     0,     0,     0,  1313,  1252,  1713,
2711
       0,  1077,  1078,  1079,  1080,  1081,     0,     0,     0,     0,
2712
       0,  1086,  1087,  1088,     0,     0,     0,     0,     0,     0,
2713
       0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,
2714
    1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,
2715
       0,  1107,     0,     0,     0,     0,     0,     0,  1109,  1110,
2716
    1111,  1112,  1113,  1114,  1115,     0,     0,     0,     0,  1118,
2717
    1119,     0,     0,     0,  1120,  1121,  1122,  1123,  1124,  1125,
2718
    1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,
2719
    1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,  1715,     0,
2720
    1077,  1078,  1079,  1080,  1081,     0,     0,     0,     0,     0,
2721
    1086,  1087,  1088,     0,     0,     0,     0,     0,     0,     0,
2722
    1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,
2723
    1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,
2724
    1107,     0,     0,     0,     0,     0,     0,  1109,  1110,  1111,
2725
    1112,  1113,  1114,  1115,     0,     0,     0,     0,  1118,  1119,
2726
       0,     0,     0,  1120,  1121,  1122,  1123,  1124,  1125,  1222,
2727
    1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,
2728
    1233,  1234,  1235,  1236,  1237,  1238,  1239,     0,     0,     0,
2729
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2730
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2731
       0,     0,     0,     0,     0,     0,  1126,  1240,     0,     0,
2732
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2733
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2734
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2735
       0,  1241,     0,     0,     0,  1242,     0,  1243,  1244,  1245,
2736
    1246,     0,  1247,  1248,  1249,   597,  1127,     0,  1250,     0,
2737
    1128,  1129,     0,     0,     0,     0,  1313,  1252,  1717,     0,
2738
    1077,  1078,  1079,  1080,  1081,     0,     0,     0,     0,     0,
2739
    1086,  1087,  1088,     0,     0,     0,     0,     0,     0,     0,
2740
    1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,
2741
    1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,
2742
    1107,     0,     0,     0,     0,     0,     0,  1109,  1110,  1111,
2743
    1112,  1113,  1114,  1115,     0,     0,     0,     0,  1118,  1119,
2744
       0,  1126,  1240,  1120,  1121,  1122,  1123,  1124,  1125,  1222,
2745
    1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,
2746
    1233,  1234,  1235,  1236,  1237,  1238,  1239,     0,     0,     0,
2747
       0,     0,     0,     0,     0,     0,  1241,     0,     0,     0,
2748
    1242,     0,  1243,  1244,  1245,  1246,     0,  1247,  1248,  1249,
2749
     597,  1127,     0,  1250,     0,  1128,  1129,     0,     0,     0,
2750
       0,  1313,  1252,     0,     0,     0,     0,     0,     0,     0,
2751
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2752
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2753
    1126,  1240,     0,     0,     0,     0,     0,     0,     0,     0,
2754
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2755
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2756
       0,     0,     0,     0,     0,  1241,     0,     0,     0,  1242,
2757
       0,  1243,  1244,  1245,  1246,     0,  1247,  1248,  1249,   597,
2758
    1127,     0,  1250,     0,  1128,  1129,     0,     0,     0,     0,
2759
    1313,  1252,  1719,     0,  1077,  1078,  1079,  1080,  1081,     0,
2760
       0,     0,     0,     0,  1086,  1087,  1088,     0,     0,     0,
2761
       0,     0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,
2762
    1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,
2763
    1105,     0,  1106,     0,  1107,     0,     0,     0,     0,     0,
2764
       0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,     0,
2765
       0,     0,  1118,  1119,     0,     0,     0,  1120,  1121,  1122,
2766
    1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,
2767
    1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,
2768
    1239,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2769
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2770
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2771
    1126,  1240,     0,     0,     0,     0,     0,     0,     0,     0,
2772
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2773
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2774
       0,     0,     0,     0,     0,  1241,     0,     0,     0,  1242,
2775
       0,  1243,  1244,  1245,  1246,     0,  1247,  1248,  1249,   597,
2776
    1127,     0,  1250,     0,  1128,  1129,     0,     0,     0,     0,
2777
    1313,  1252,  1724,     0,  1077,  1078,  1079,  1080,  1081,     0,
2778
       0,     0,     0,     0,  1086,  1087,  1088,     0,     0,     0,
2779
       0,     0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,
2780
    1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,
2781
    1105,     0,  1106,     0,  1107,     0,     0,     0,     0,     0,
2782
       0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,     0,
2783
       0,     0,  1118,  1119,     0,     0,     0,  1120,  1121,  1122,
2784
    1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,
2785
    1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,
2786
    1239,  1726,     0,  1077,  1078,  1079,  1080,  1081,     0,     0,
2787
       0,     0,     0,  1086,  1087,  1088,     0,     0,     0,     0,
2788
       0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,
2789
    1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,
2790
       0,  1106,     0,  1107,     0,     0,     0,     0,     0,     0,
2791
    1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,     0,     0,
2792
       0,  1118,  1119,     0,  1126,  1240,  1120,  1121,  1122,  1123,
2793
    1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,
2794
    1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,
2795
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1241,
2796
       0,     0,     0,  1242,     0,  1243,  1244,  1245,  1246,     0,
2797
    1247,  1248,  1249,   597,  1127,     0,  1250,     0,  1128,  1129,
2798
       0,     0,     0,     0,  1313,  1252,  1728,     0,  1077,  1078,
2799
    1079,  1080,  1081,     0,     0,     0,     0,     0,  1086,  1087,
2800
    1088,     0,     0,     0,     0,     0,     0,     0,  1089,  1090,
2801
    1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
2802
    1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,     0,
2803
       0,     0,     0,     0,     0,  1109,  1110,  1111,  1112,  1113,
2804
    1114,  1115,     0,     0,     0,     0,  1118,  1119,     0,     0,
2805
       0,  1120,  1121,  1122,  1123,  1124,  1125,  1222,  1223,  1224,
2806
    1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,
2807
    1235,  1236,  1237,  1238,  1239,     0,     0,     0,     0,     0,
2808
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2809
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2810
       0,     0,     0,     0,  1126,  1240,     0,     0,     0,     0,
2811
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2812
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2813
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1241,
2814
       0,     0,     0,  1242,     0,  1243,  1244,  1245,  1246,     0,
2815
    1247,  1248,  1249,   597,  1127,     0,  1250,     0,  1128,  1129,
2816
       0,     0,     0,     0,  1313,  1252,     0,     0,     0,     0,
2817
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2818
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2819
       0,     0,     0,  1126,  1240,     0,     0,     0,     0,     0,
2820
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2821
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2822
       0,     0,     0,     0,     0,     0,     0,     0,  1241,     0,
2823
       0,     0,  1242,     0,  1243,  1244,  1245,  1246,     0,  1247,
2824
    1248,  1249,   597,  1127,     0,  1250,     0,  1128,  1129,     0,
2825
       0,     0,     0,  1313,  1252,  1730,     0,  1077,  1078,  1079,
2826
    1080,  1081,     0,     0,     0,     0,     0,  1086,  1087,  1088,
2827
       0,     0,     0,     0,     0,     0,     0,  1089,  1090,  1091,
2828
    1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,
2829
    1102,  1103,  1104,  1105,     0,  1106,     0,  1107,     0,     0,
2830
       0,     0,     0,     0,  1109,  1110,  1111,  1112,  1113,  1114,
2831
    1115,     0,     0,     0,     0,  1118,  1119,     0,  1126,  1240,
2832
    1120,  1121,  1122,  1123,  1124,  1125,  1222,  1223,  1224,  1225,
2833
    1226,  1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,
2834
    1236,  1237,  1238,  1239,     0,     0,     0,     0,     0,     0,
2835
       0,     0,     0,  1241,     0,     0,     0,  1242,     0,  1243,
2836
    1244,  1245,  1246,     0,  1247,  1248,  1249,   597,  1127,     0,
2837
    1250,     0,  1128,  1129,     0,     0,     0,     0,  1313,  1252,
2838
    1732,     0,  1077,  1078,  1079,  1080,  1081,     0,     0,     0,
2839
       0,     0,  1086,  1087,  1088,     0,     0,     0,     0,     0,
2840
       0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,
2841
    1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,
2842
    1106,     0,  1107,     0,     0,     0,     0,     0,     0,  1109,
2843
    1110,  1111,  1112,  1113,  1114,  1115,     0,     0,     0,     0,
2844
    1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,  1124,
2845
    1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,
2846
    1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,  1734,
2847
       0,  1077,  1078,  1079,  1080,  1081,     0,     0,     0,     0,
2848
       0,  1086,  1087,  1088,     0,     0,     0,     0,     0,     0,
2849
       0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,
2850
    1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,
2851
       0,  1107,     0,     0,     0,     0,     0,     0,  1109,  1110,
2852
    1111,  1112,  1113,  1114,  1115,     0,     0,     0,     0,  1118,
2853
    1119,     0,     0,     0,  1120,  1121,  1122,  1123,  1124,  1125,
2854
    1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,
2855
    1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,     0,     0,
2856
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2857
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2858
       0,     0,     0,     0,     0,     0,     0,  1126,  1240,     0,
2859
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2860
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2861
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2862
       0,     0,  1241,     0,     0,     0,  1242,     0,  1243,  1244,
2863
    1245,  1246,     0,  1247,  1248,  1249,   597,  1127,     0,  1250,
2864
       0,  1128,  1129,     0,     0,     0,     0,  1313,  1252,  1736,
2865
       0,  1077,  1078,  1079,  1080,  1081,     0,     0,     0,     0,
2866
       0,  1086,  1087,  1088,     0,     0,     0,     0,     0,     0,
2867
       0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,
2868
    1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,
2869
       0,  1107,     0,     0,     0,     0,     0,     0,  1109,  1110,
2870
    1111,  1112,  1113,  1114,  1115,     0,     0,     0,     0,  1118,
2871
    1119,     0,  1126,  1240,  1120,  1121,  1122,  1123,  1124,  1125,
2872
    1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,
2873
    1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,     0,     0,
2874
       0,     0,     0,     0,     0,     0,     0,  1241,     0,     0,
2875
       0,  1242,     0,  1243,  1244,  1245,  1246,     0,  1247,  1248,
2876
    1249,   597,  1127,     0,  1250,     0,  1128,  1129,     0,     0,
2877
       0,     0,  1313,  1252,     0,     0,     0,     0,     0,     0,
2878
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2879
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2880
       0,  1126,  1240,     0,     0,     0,     0,     0,     0,     0,
2881
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2882
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2883
       0,     0,     0,     0,     0,     0,  1241,     0,     0,     0,
2884
    1242,     0,  1243,  1244,  1245,  1246,     0,  1247,  1248,  1249,
2885
     597,  1127,     0,  1250,     0,  1128,  1129,     0,     0,     0,
2886
       0,  1313,  1252,  1942,     0,  1077,  1078,  1079,  1080,  1081,
2887
       0,     0,     0,     0,     0,  1086,  1087,  1088,     0,     0,
2888
       0,     0,     0,     0,     0,  1089,  1090,  1091,  1092,  1093,
2889
    1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,
2890
    1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,     0,
2891
       0,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,
2892
       0,     0,     0,  1118,  1119,     0,     0,     0,  1120,  1121,
2893
    1122,  1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,
2894
    1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,
2895
    1238,  1239,     0,     0,     0,     0,     0,     0,     0,     0,
2896
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2897
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2898
       0,  1126,  1240,     0,     0,     0,     0,     0,     0,     0,
2899
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2900
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2901
       0,     0,     0,     0,     0,     0,  1241,     0,     0,     0,
2902
    1242,     0,  1243,  1244,  1245,  1246,     0,  1247,  1248,  1249,
2903
     597,  1127,     0,  1250,     0,  1128,  1129,     0,     0,     0,
2904
       0,  1313,  1252,  1077,  1078,  1079,  1080,  1081,     0,     0,
2905
       0,     0,     0,  1086,  1087,  1088,     0,     0,     0,     0,
2906
       0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,
2907
    1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,
2908
       0,  1106,     0,  1107,     0,     0,     0,     0,     0,     0,
2909
    1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,     0,     0,
2910
       0,  1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,
2911
    1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,
2912
    1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,
2913
       0,     0,     0,     0,  1077,  1078,  1079,  1080,  1081,     0,
2914
       0,     0,     0,     0,  1086,  1087,  1088,     0,     0,     0,
2915
       0,     0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,
2916
    1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,
2917
    1105,     0,  1106,     0,  1107,     0,     0,     0,     0,     0,
2918
       0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,     0,     0,
2919
       0,     0,  1118,  1119,     0,  1126,  1240,  1120,  1121,  1122,
2920
    1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,  1227,  1228,
2921
    1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,
2922
    1239,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2923
    1241,     0,     0,     0,  1242,     0,  1243,  1244,  1245,  1246,
2924
       0,  1247,  1248,  1249,   597,  1127,     0,  1250,     0,  1128,
2925
    1129,     0,     0,     0,     0,  1313,  1252,  1077,  1078,  1079,
2926
    1080,  1081,     0,     0,     0,     0,     0,  1086,  1087,  1088,
2927
       0,     0,     0,     0,     0,     0,     0,  1089,  1090,  1091,
2928
    1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,
2929
    1102,  1103,  1104,  1105,     0,  1106,     0,  1107,     0,     0,
2930
       0,     0,     0,     0,  1109,  1110,  1111,  1112,  1113,  1114,
2931
    1115,     0,     0,     0,     0,  1118,  1119,     0,     0,     0,
2932
    1120,  1121,  1122,  1123,  1124,  1125,  1222,  1223,  1224,  1225,
2933
    1226,  1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,
2934
    1236,  1237,  1238,  1239,     0,     0,     0,     0,     0,     0,
2935
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2936
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2937
       0,     0,     0,  1126,  1240,     0,     0,     0,     0,     0,
2938
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2939
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2940
       0,     0,     0,     0,     0,     0,     0,     0,  1241,     0,
2941
       0,     0,  1242,     0,  1243,  1244,  1245,  1246,     0,  1247,
2942
    1248,  1249,   597,  1127,     0,  1250,     0,  1128,  1129,     0,
2943
       0,     0,     0,  1251,  1252,     0,     0,     0,     0,     0,
2944
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2945
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2946
       0,     0,     0,     0,  1126,  1240,     0,     0,     0,     0,
2947
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2948
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2949
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1241,
2950
       0,     0,     0,  1242,     0,  1243,  1244,  1245,  1246,     0,
2951
    1247,  1248,  1249,   597,  1127,     0,  1250,     0,  1128,  1129,
2952
       0,     0,     0,     0,  1272,  1252,  1077,  1078,  1079,  1080,
2953
    1081,     0,     0,     0,     0,     0,  1086,  1087,  1088,     0,
2954
       0,     0,     0,     0,     0,     0,  1089,  1090,  1091,  1092,
2955
    1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,
2956
    1103,  1104,  1105,     0,  1106,     0,  1107,     0,     0,     0,
2957
       0,     0,     0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,
2958
       0,     0,     0,     0,  1118,  1119,     0,  1126,  1240,  1120,
2959
    1121,  1122,  1123,  1124,  1125,  1222,  1223,  1224,  1225,  1226,
2960
    1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,
2961
    1237,  1238,  1239,     0,     0,     0,     0,     0,     0,     0,
2962
       0,     0,  1241,     0,     0,     0,  1242,     0,  1243,  1244,
2963
    1245,  1246,     0,  1247,  1248,  1249,   597,  1127,     0,  1250,
2964
       0,  1128,  1129,     0,     0,     0,     0,  1274,  1252,  1077,
2965
    1078,  1079,  1080,  1081,  1082,  1083,  1084,     0,  1085,  1086,
2966
    1087,  1088,     0,     0,     0,     0,     0,     0,     0,  1089,
2967
    1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,
2968
    1100,  1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,
2969
       0,     0,     0,     0,  1108,     0,  1109,  1110,  1111,  1112,
2970
    1113,  1114,  1115,  1116,     0,     0,  1117,  1118,  1119,     0,
2971
       0,     0,  1120,  1121,  1122,  1123,  1124,  1125,  1077,  1078,
2972
    1079,  1080,  1081,     0,     0,     0,     0,     0,  1086,  1087,
2973
    1088,     0,     0,     0,     0,     0,     0,     0,  1089,  1090,
2974
    1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
2975
    1101,  1102,  1103,  1104,  1105,     0,  1106,     0,  1107,     0,
2976
       0,     0,     0,     0,     0,  1109,  1110,  1111,  1112,  1113,
2977
    1114,  1115,     0,     0,     0,     0,  1118,  1119,     0,     0,
2978
       0,  1120,  1121,  1122,  1123,  1124,  1125,  1222,  1223,  1224,
2979
    1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,
2980
    1235,  1236,  1237,  1238,  1239,     0,     0,     0,     0,     0,
2981
       0,     0,     0,  1077,  1078,  1079,  1080,  1081,  1082,  1083,
2982
    1084,     0,  1085,  1086,  1087,  1088,     0,     0,     0,     0,
2983
       0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,
2984
    1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,
2985
       0,  1106,     0,  1107,     0,     0,  1126,  1240,  1108,     0,
2986
    1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,     0,     0,
2987
    1117,  1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,
2988
    1124,  1125,     0,     0,     0,     0,     0,     0,     0,     0,
2989
       0,  1241,     0,     0,     0,  1242,     0,  1243,  1244,  1245,
2990
    1246,     0,  1247,  1248,  1249,   597,  1127,     0,  1250,     0,
2991
    1128,  1129,     0,     0,     0,     0,  1313,  1252,     0,     0,
2992
       0,  1462,     0,  1077,  1078,  1079,  1080,  1081,  1082,  1083,
2993
    1084,     0,  1085,  1086,  1087,  1088,     0,     0,     0,     0,
2994
       0,     0,     0,  1089,  1090,  1091,  1092,  1093,  1094,  1095,
2995
    1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,
2996
       0,  1106,     0,  1107,     0,     0,     0,     0,  1108,     0,
2997
    1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,     0,  1126,
2998
    1117,  1118,  1119,     0,     0,     0,  1120,  1121,  1122,  1123,
2999
    1124,  1125,     0,     0,     0,  1478,  1479,  1480,  1481,  1482,
3000
    1483,  1484,  1485,  1486,  1487,  1488,  1489,  1490,  1491,  1492,
3001
    1493,  1494,  1495,  1496,  1497,  1498,  1499,  1500,     0,     0,
3002
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1127,
3003
       0,     0,     0,  1128,  1129,     0,     0,  1130,     0,     0,
3004
    1547,     0,     0,     0,     0,     0,     0,     0,  1126,  1240,
3005
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3006
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3007
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3008
       0,     0,     0,  1241,     0,     0,     0,  1242,     0,  1243,
3009
    1244,  1245,  1246,     0,  1247,  1248,  1249,  1885,  1127,     0,
3010
    1250,     0,  1128,  1129,     0,     0,     0,     0,  1313,  1252,
3011
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3012
       0,     0,     0,     0,  1077,  1078,  1079,  1080,  1081,  1082,
3013
    1083,  1084,     0,  1085,  1086,  1087,  1088,     0,     0,     0,
3014
       0,     0,     0,  1126,  1089,  1090,  1091,  1092,  1093,  1094,
3015
    1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,  1104,
3016
    1105,     0,  1106,     0,  1107,     0,     0,     0,     0,  1108,
3017
       0,  1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,     0,
3018
       0,  1117,  1118,  1119,     0,     0,     0,  1120,  1121,  1122,
3019
    1123,  1124,  1125,  1127,     0,     0,     0,  1128,  1129,     0,
3020
       0,  1130,     0,     0,  1547,     0,     0,     0,     0,     0,
3021
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3022
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3023
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3024
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3025
       0,     0,     0,  1126,     0,     0,     0,     0,     0,     0,
3026
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3027
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3028
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3029
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3030
       0,     0,     0,  1127,     0,     0,     0,  1128,  1129,     0,
3031
       0,  1130,     0,     0,     0,     0,     0,     0,     0,     0,
3032
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3033
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3034
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3035
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3036
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3037
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3038
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3039
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3040
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3041
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3042
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3043
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3044
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3045
       0,     0,     0,     0,  1126,     0,     0,     0,     0,     0,
3046
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3047
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3048
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3049
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3050
       0,     0,     0,     0,  1127,     0,     0,     0,  1128,  1129,
3051
       0,     0,  1130
3052
};
3053
3054
static const yytype_int16 yycheck[] =
3055
{
3056
     265,   231,   488,   268,   263,  1026,  1327,  1379,  1029,     1,
3057
     348,  1032,     1,  1234,  1035,  1236,     1,  1238,     1,     1,
3058
    1026,   348,  1043,  1029,     1,     1,  1032,  1132,    64,  1035,
3059
      64,     1,   297,    64,   299,  1256,   301,  1043,   303,  1213,
3060
       1,  1215,     1,  1217,  1149,  1219,  1151,  1221,  1153,     1,
3061
     348,     1,  1157,    64,     1,     1,   348,     1,  1029,     1,
3062
       1,  1032,     1,     1,  1035,  1026,     1,   368,  1029,     1,
3063
       1,  1032,  1043,   368,  1035,   378,   113,   114,     1,     1,
3064
       1,   382,  1043,   378,     1,   112,   113,   114,     1,     1,
3065
       1,     1,   369,   396,   348,   390,   397,   392,     1,   364,
3066
       1,    90,    91,    92,    93,   382,     1,    90,    91,    92,
3067
      93,  1132,     1,   378,   379,   380,   381,   382,   383,   384,
3068
     385,   386,   387,   388,     1,   348,  1132,   368,  1149,     1,
3069
    1151,     1,  1153,     1,     1,     1,  1157,   382,     1,     1,
3070
     385,   382,   368,  1149,     1,  1151,     1,  1153,     1,   348,
3071
       1,  1157,   348,   639,     1,     1,   382,    58,    59,   385,
3072
       1,   387,     1,     1,     1,     1,   348,     1,   433,   434,
3073
     435,  1132,   348,    90,    91,    92,    93,     1,     1,    90,
3074
      91,    92,    93,     1,   368,     1,   348,   368,  1149,     1,
3075
    1151,     1,  1153,     1,  1262,    63,  1157,   378,   382,     1,
3076
     348,   385,     1,     1,   469,   470,     1,     1,     1,  1314,
3077
      63,   348,     1,    90,    91,    92,    93,    63,   368,     1,
3078
       1,  1251,  1327,     1,     1,    63,   348,     1,   378,     1,
3079
    1251,  1252,   348,     1,  1254,     1,     1,     1,  1258,     1,
3080
       1,   383,  1272,   385,  1274,  1251,  1252,  1056,  1057,     1,
3081
       1,  1272,   348,  1274,     1,     1,     1,     1,   523,     1,
3082
       1,   526,   527,     1,     1,   348,  1272,     1,  1274,     1,
3083
      63,     1,   348,     1,     1,   348,   382,   383,     1,   385,
3084
       1,  1252,     1,  1313,    15,    16,     1,     1,     1,   348,
3085
    1251,  1252,  1313,  1314,     1,     1,     1,     1,     1,     1,
3086
    1474,     1,     1,     1,     1,     1,  1327,  1313,  1314,     1,
3087
     390,  1272,   392,  1274,     1,   348,     1,     1,   348,   382,
3088
     383,  1327,   385,     1,     1,     1,   348,     1,     1,     1,
3089
       1,     1,   348,     1,     1,     1,     1,     1,   348,     1,
3090
       1,  1362,     1,     1,     1,   390,   382,   392,   382,   348,
3091
     348,   382,  1313,  1314,   348,  1376,  1362,     1,  1463,   113,
3092
     114,     1,   399,     1,     1,     1,  1327,     1,     1,   348,
3093
    1376,   382,  1026,     1,     1,  1029,     1,     1,  1032,     1,
3094
     369,  1035,     1,  1404,     1,     1,   369,   396,     1,  1043,
3095
     382,   383,   384,   382,   383,   384,   385,   386,  1404,   382,
3096
     383,   384,   385,   386,   393,  1376,   348,   396,  1780,   394,
3097
     393,   396,   382,   396,   396,  1376,   386,   394,   394,   396,
3098
     396,   382,   383,   384,   385,   386,   396,   348,  1026,     1,
3099
       1,  1029,   391,  1404,  1032,   396,   386,  1035,   382,   383,
3100
     392,   393,  1463,  1404,   385,  1043,   396,   394,   394,   396,
3101
     396,  1823,   369,  1774,   385,   394,   394,  1463,   369,   394,
3102
     382,   393,   393,   385,   385,   382,   383,   384,   385,   386,
3103
     393,   382,   383,   384,   385,   386,   393,  1698,  1132,   396,
3104
     393,   393,   385,   393,  1705,   396,  1591,   382,   383,   384,
3105
     385,   386,   369,     1,   395,  1149,   385,  1151,     1,  1153,
3106
       1,   396,  1463,  1157,   393,   382,   383,   384,   385,   386,
3107
       1,  1616,  1580,     1,   382,   383,   383,   385,   386,   396,
3108
     383,   393,   385,   393,   392,   382,  1547,   393,   396,   382,
3109
     383,   393,   385,   386,  1132,   392,   382,   383,   393,   385,
3110
     386,  1547,   393,   396,   382,   383,   393,   385,   386,   383,
3111
     396,  1149,   393,  1151,   393,  1153,   393,   393,   396,  1157,
3112
     383,   369,   385,  1584,  1585,  1586,  1587,  1053,  1940,   393,
3113
    1591,   348,   382,   385,   382,   393,  1547,   393,  1584,  1585,
3114
    1586,  1587,   333,  1955,  1956,  1591,  1547,   385,   383,   382,
3115
     383,   393,   385,   386,   393,  1616,     1,  1251,  1252,   393,
3116
     348,     1,  1974,   396,   393,   383,     0,   385,   385,     1,
3117
    1616,   393,   393,  1584,  1585,  1586,  1587,   385,  1272,   393,
3118
    1274,   393,   368,  1584,  1585,  1586,  1587,   393,   393,   393,
3119
    1591,   393,   393,   385,   385,   382,   382,   388,   383,   383,
3120
     385,   385,   383,   385,   385,   383,   392,   385,   385,   383,
3121
     382,   385,   382,   385,  1252,  1616,   383,   385,   385,  1313,
3122
    1314,   382,   385,   382,   385,     1,   385,   382,  1773,  1774,
3123
     385,   385,   385,  1327,     1,  1161,   383,     1,   385,   385,
3124
     385,   385,   385,   385,     1,   385,   385,   385,   385,   385,
3125
     382,   383,   384,  1026,  1868,     1,  1029,     1,   385,  1032,
3126
     385,   385,  1035,  1808,  1809,  1810,  1811,   385,   385,   385,
3127
    1043,   385,   385,   385,   385,   385,  1314,   385,   385,   385,
3128
     385,   385,  1376,   385,   385,   369,   385,   385,   385,  1327,
3129
     368,   368,   368,     1,   368,   368,     1,     1,   382,     1,
3130
     368,   368,   382,   368,   382,   382,   382,     1,   382,   382,
3131
    1404,   368,  1773,  1774,   382,   382,   348,   382,   382,     1,
3132
     382,     1,     1,   382,  1362,   382,   382,  1773,  1774,   382,
3133
       1,     1,     1,   284,     1,   286,     1,     1,  1376,     1,
3134
       1,     1,     1,     1,     1,     1,     1,  1808,  1809,  1810,
3135
    1811,     1,  1022,     1,     1,    64,   368,   368,     1,  1132,
3136
       1,     1,  1808,  1809,  1810,  1811,  1404,     1,     1,  1463,
3137
     382,   382,  1773,  1774,     1,     1,  1149,     1,  1151,     1,
3138
    1153,     1,     1,     1,  1157,     1,     1,     1,     1,   348,
3139
    1316,     1,   348,     1,  1320,     1,     1,     1,     1,     1,
3140
    1945,     1,     1,     1,     1,     1,     1,  1808,  1809,  1810,
3141
    1811,     1,     1,     1,     1,     1,  1961,     1,     1,     1,
3142
    1965,  1882,     1,     1,     1,  1463,  1971,  1972,     1,     1,
3143
      59,   369,   370,   371,   382,     1,  1882,   368,     1,   382,
3144
     368,   382,     1,     1,     1,   348,     1,     1,     1,     1,
3145
       1,   382,     1,  1547,   382,     1,     1,  1383,     1,  1385,
3146
       1,     1,   348,   348,  1390,     1,     1,     1,     1,   348,
3147
       1,  1882,     1,     1,     1,     1,     1,     1,     1,  1252,
3148
    1941,  1882,     1,  1944,  1945,     1,   348,   348,     1,     1,
3149
    1584,  1585,  1586,  1587,     1,  1941,     1,  1591,  1944,  1945,
3150
    1961,  1962,  1963,     1,  1965,     1,     1,     1,     1,  1547,
3151
    1971,  1972,     1,     1,     1,  1961,  1962,  1963,     1,  1965,
3152
       1,     1,  1616,   368,     1,  1971,  1972,     1,   368,     1,
3153
    1941,     1,     1,  1944,     1,     1,   368,   382,     1,   348,
3154
    1941,  1314,   382,  1944,  1945,     1,  1584,  1585,  1586,  1587,
3155
     382,  1962,  1963,  1591,  1327,    90,    91,    92,    93,   348,
3156
    1961,  1962,  1963,   368,  1965,   382,   383,     1,   385,     1,
3157
    1971,  1972,     1,     1,     1,     1,   348,   382,  1616,     1,
3158
     385,     1,     1,   348,   378,    90,    91,    92,    93,     1,
3159
     348,   394,   368,  1298,     1,     1,     1,   383,   348,   385,
3160
       1,   368,    17,  1376,   368,    22,   382,     1,     1,   348,
3161
     348,   368,     1,  1312,     1,   382,     1,     1,   382,     1,
3162
       1,  1320,   368,     1,   368,   382,     1,  1082,  1083,  1084,
3163
       1,  1404,     1,     1,     1,     1,   382,   390,   382,   392,
3164
       1,     1,     1,     1,     1,   356,   357,   390,   368,   392,
3165
     361,   362,   382,  1108,   356,   357,   358,   348,   378,   361,
3166
     362,  1116,  1117,  1333,   390,  1335,   392,  1337,    58,    59,
3167
     390,   348,   392,   382,   382,   348,   348,   382,   382,  1773,
3168
    1774,   348,   368,   348,    20,   368,  1385,   390,   382,   392,
3169
    1463,  1390,   378,   644,   390,   378,   392,  1402,  1403,   348,
3170
     382,   348,   382,   382,   390,    21,   392,   390,   382,   392,
3171
     348,   382,   382,   382,  1808,  1809,  1810,  1811,   382,   382,
3172
     382,   382,   382,   382,   382,   382,   382,   382,   382,   383,
3173
     382,   385,   382,   399,   382,  1773,  1774,   348,   382,   382,
3174
     348,   382,   382,   382,   390,   382,   356,   357,   382,   382,
3175
     382,   361,   362,   382,   383,   382,   382,   348,   382,   390,
3176
     382,   392,   382,   382,   382,   382,   382,   382,   382,   382,
3177
    1808,  1809,  1810,  1811,  1547,   382,   382,   382,   382,   382,
3178
     382,   348,   382,   382,   382,   382,   382,   382,  1882,  1244,
3179
    1245,  1246,   382,   382,   382,   382,   382,     1,   382,   382,
3180
     382,   348,   382,   382,   382,   382,   348,   382,   382,   382,
3181
     382,  1584,  1585,  1586,  1587,  1270,   382,   348,  1591,   382,
3182
     390,   348,   392,   382,   382,   382,  1281,   382,   382,   382,
3183
     382,   382,   382,   382,   369,   348,   382,   382,   348,   382,
3184
     348,   382,   382,  1616,  1882,   348,   382,  1941,   382,   382,
3185
    1944,  1945,   390,   382,   382,  1781,   382,   382,   382,   382,
3186
     390,   382,   392,   382,   369,   382,   382,  1961,  1962,  1963,
3187
     382,  1965,   390,   348,   392,   382,   382,  1971,  1972,   390,
3188
     348,   392,   348,   348,   382,   348,   382,   382,   382,   382,
3189
     348,   348,   348,   382,   382,   382,  1822,   348,  1824,   382,
3190
     348,   382,   382,  1941,  1359,   382,  1944,  1945,   382,   348,
3191
     382,   348,   382,   382,   348,   382,   348,   348,   348,   348,
3192
     348,   348,   382,  1961,  1962,  1963,   348,  1965,   348,   348,
3193
     356,   357,   348,  1971,  1972,   361,   362,   363,   364,   365,
3194
     366,   348,   348,   385,   356,   357,   358,   348,   348,   361,
3195
     362,   356,   357,   358,   348,   348,   361,   362,  1024,   348,
3196
     348,   348,  1028,   348,   348,  1031,   348,   348,  1034,   390,
3197
     348,   392,  1215,   348,  1217,   348,  1219,   348,  1221,   348,
3198
     348,   348,   348,   348,  1439,  1440,  1441,   348,   348,   348,
3199
     348,   348,    90,    91,    92,    93,  1451,  1452,  1453,   348,
3200
    1773,  1774,     1,   348,   390,   395,   392,  1712,   348,   348,
3201
    1465,    90,    91,    92,    93,   385,  1471,  1472,   390,  1474,
3202
     392,   348,   348,  1478,  1479,  1480,  1481,  1482,  1483,  1484,
3203
     112,   113,   114,   115,   116,  1808,  1809,  1810,  1811,   348,
3204
     348,  1496,  1497,  1498,  1499,  1500,  1501,  1502,   112,   113,
3205
     114,   115,   116,   390,   348,   392,   368,   390,   390,   392,
3206
     392,   265,   266,   267,   268,   390,   378,   392,    90,    91,
3207
      92,    93,    94,    95,    73,    74,    75,    76,   390,    78,
3208
     392,    80,   348,    82,   166,   167,   348,   335,   336,   337,
3209
     338,   339,   340,   341,   342,   343,   382,   383,   384,   385,
3210
     386,   348,   166,   167,   348,   348,   348,   393,   382,  1882,
3211
     396,   382,   383,   384,   385,   386,   348,   348,   348,  1574,
3212
     312,   313,   314,   315,   316,   396,   318,   367,   368,   369,
3213
     370,   371,   348,   348,  1804,   383,   348,  1807,   355,   356,
3214
     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
3215
     367,   368,   369,   370,   371,  1860,   363,   364,   365,   366,
3216
     367,   368,   369,   370,   371,   348,   348,   348,  1941,   348,
3217
     348,  1944,  1945,   348,   348,   348,   348,   348,   348,   348,
3218
     348,   348,   348,   348,   348,   348,   348,   348,  1961,  1962,
3219
    1963,   348,  1965,   348,   348,   348,   348,   348,  1971,  1972,
3220
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
3221
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
3222
     369,   370,   371,   348,   348,   348,   348,   348,   348,   348,
3223
     348,  1474,   348,   348,   348,   348,   348,   348,   348,   348,
3224
     348,   348,   348,   348,   348,   394,   349,   350,   351,   352,
3225
     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
3226
     363,   364,   365,   366,   367,   368,   369,   370,   371,   396,
3227
     348,   369,   348,   348,   348,   348,   348,   348,   348,   348,
3228
     348,   348,   348,   348,   382,   383,   384,   385,   386,   392,
3229
     369,   348,   348,   348,   348,   393,   348,   348,   396,   348,
3230
     348,   348,   348,   382,   383,   384,   385,   386,   348,   391,
3231
     348,   348,   348,   395,   348,   348,   348,   396,   348,   382,
3232
     382,   382,   382,   382,   382,   348,   113,   391,   113,  1784,
3233
     309,   348,   382,   348,   113,  1790,   114,     0,     1,   382,
3234
     382,   382,   370,   382,   397,    49,   113,   382,    11,   394,
3235
     394,   382,    15,    16,    17,    18,    19,    20,    21,    22,
3236
     382,   383,   384,   385,   386,   385,   385,   385,   382,   382,
3237
     382,   382,   382,   382,   396,    38,   382,    40,   394,    42,
3238
      43,    44,    45,    46,    47,   382,   394,   382,   378,   390,
3239
     386,   394,   399,   397,   399,   397,    59,   390,   348,   348,
3240
     348,   382,   389,   348,   382,   397,   390,   392,   397,   385,
3241
     348,   348,  1867,   385,   385,   385,   385,   397,   393,   393,
3242
     393,   348,   378,   378,  1879,   393,   393,   393,   393,   393,
3243
     393,   393,  1887,    96,    97,    98,    99,   100,   101,   102,
3244
     103,   104,   105,   106,   107,   108,   109,   110,   111,   393,
3245
     391,   391,   394,   399,   117,   118,   119,   120,   121,   122,
3246
     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
3247
     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
3248
     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
3249
     153,   154,   155,   156,   157,   158,   159,   160,   161,   397,
3250
     163,   164,   165,   397,  1959,   168,   169,   170,   171,   172,
3251
     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
3252
     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
3253
     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
3254
     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
3255
     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
3256
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
3257
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
3258
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
3259
     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
3260
     263,   264,   397,   397,   348,   348,   269,   270,   271,   272,
3261
     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
3262
     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
3263
     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
3264
     303,   304,   305,   306,   307,   308,   399,   310,   311,   348,
3265
     348,   348,   348,   348,   317,   392,   319,   320,   321,   322,
3266
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
3267
     392,   390,   390,   394,   385,   378,   393,   393,   393,   392,
3268
     392,   309,   345,   346,   347,   392,   392,   349,   350,   351,
3269
     352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
3270
     362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
3271
     392,   392,   392,   392,   392,   382,   393,   385,   394,   385,
3272
     383,   396,   394,   394,   394,   382,   348,   392,   391,   383,
3273
     392,   392,   392,   392,     1,   398,     3,     4,     5,     6,
3274
       7,     8,     9,    10,   392,    12,    13,    14,    15,   392,
3275
     348,   348,   348,   392,   395,   392,    23,    24,    25,    26,
3276
      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
3277
      37,    38,    39,   396,    41,   390,    43,   383,   392,   392,
3278
     390,    48,   399,    50,    51,    52,    53,    54,    55,    56,
3279
      57,   392,   392,    60,    61,    62,   399,   392,   392,    66,
3280
      67,    68,    69,    70,    71,     1,   392,     3,     4,     5,
3281
       6,     7,     8,     9,    10,   392,    12,    13,    14,    15,
3282
     392,   392,   392,   392,   392,   392,   392,    23,    24,    25,
3283
      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
3284
      36,    37,    38,    39,   392,    41,   392,    43,   392,   392,
3285
     392,   392,    48,   392,    50,    51,    52,    53,    54,    55,
3286
      56,    57,   392,   392,    60,    61,    62,   392,   392,   392,
3287
      66,    67,    68,    69,    70,    71,     1,   392,     3,     4,
3288
       5,     6,     7,     8,     9,    10,   392,    12,    13,    14,
3289
      15,   392,   392,   392,   392,   392,   392,   392,    23,    24,
3290
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
3291
      35,    36,    37,    38,    39,   392,    41,   390,    43,   397,
3292
     392,   392,   392,    48,   392,    50,    51,    52,    53,    54,
3293
      55,    56,    57,   392,   392,    60,    61,    62,   392,   392,
3294
     390,    66,    67,    68,    69,    70,    71,     1,   385,     3,
3295
       4,     5,     6,     7,     8,     9,    10,   385,    12,    13,
3296
      14,    15,   348,   378,   399,   399,   399,   399,   399,    23,
3297
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
3298
      34,    35,    36,    37,    38,    39,   392,    41,   392,    43,
3299
     392,   392,   392,   382,    48,   382,    50,    51,    52,    53,
3300
      54,    55,    56,    57,   382,   382,    60,    61,    62,   382,
3301
     382,   382,    66,    67,    68,    69,    70,    71,   349,   350,
3302
     351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
3303
     361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
3304
     371,   352,   353,   354,   355,   356,   357,   358,   359,   360,
3305
     361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
3306
     371,   392,   382,   382,   382,   382,   333,   382,   382,   382,
3307
     382,   396,   378,   395,   397,   385,   392,   385,   399,   382,
3308
     385,   382,   349,   350,   351,   352,   353,   354,   355,   356,
3309
     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
3310
     367,   368,   369,   370,   371,   392,   392,   382,   392,   392,
3311
     392,   378,   392,   392,   392,   392,   383,   385,   392,   392,
3312
     387,   388,   392,   390,   391,   392,   393,   394,   392,   392,
3313
     392,   392,   399,   392,   392,   392,   392,   333,   392,   392,
3314
     392,   392,   392,   392,   392,   392,   392,   392,   392,   392,
3315
     392,   368,   382,   349,   350,   351,   352,   353,   354,   355,
3316
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
3317
     366,   367,   368,   369,   370,   371,   399,   399,   399,   399,
3318
     399,   397,   397,   368,   239,   399,   399,   383,  1051,  1441,
3319
    1020,   387,   388,  1022,   390,   391,   392,   393,   394,   440,
3320
    1161,  1192,   640,   399,   441,  1443,  1443,  1788,   333,  1887,
3321
    1861,  1879,  1575,    -1,  1374,    -1,    -1,    -1,    -1,    -1,
3322
      -1,    -1,    -1,    -1,   349,   350,   351,   352,   353,   354,
3323
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
3324
     365,   366,   367,   368,   369,   370,   371,    -1,    -1,    -1,
3325
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   383,    -1,
3326
      -1,    -1,   387,   388,    -1,   390,   391,   392,    -1,   394,
3327
      -1,    -1,    -1,    -1,   399,    -1,    -1,    -1,    -1,   333,
3328
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3329
      -1,    -1,    -1,    -1,    -1,   349,   350,   351,   352,   353,
3330
     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
3331
     364,   365,   366,   367,   368,   369,   370,   371,    -1,    -1,
3332
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   383,
3333
      -1,    -1,     1,   387,   388,    -1,   390,   391,   392,    -1,
3334
     394,    -1,    11,    -1,    -1,   399,    15,    16,    17,    18,
3335
      19,    20,    21,    22,    -1,    -1,    -1,    -1,    -1,    -1,
3336
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,
3337
      -1,    40,    -1,    42,    43,    44,    45,    46,    47,    -1,
3338
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3339
      59,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3340
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
3341
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
3342
     369,   370,   371,    -1,    -1,    -1,    -1,    96,    97,    98,
3343
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
3344
     109,   110,   111,   392,    -1,    -1,    -1,    -1,   117,   118,
3345
     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
3346
     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
3347
     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
3348
     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
3349
     159,   160,   161,    -1,   163,   164,   165,    -1,    -1,   168,
3350
     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
3351
     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
3352
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
3353
     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
3354
     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
3355
     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
3356
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
3357
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
3358
     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
3359
     259,   260,   261,   262,   263,   264,    -1,    -1,    -1,    -1,
3360
     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
3361
     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
3362
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
3363
     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
3364
      -1,   310,   311,    -1,    -1,    -1,    -1,    -1,   317,    -1,
3365
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
3366
     329,   330,   331,   332,    -1,    -1,    -1,    -1,    -1,    -1,
3367
      -1,    -1,    -1,    -1,    -1,    -1,   345,   346,   347,    -1,
3368
      -1,   349,   350,   351,   352,   353,   354,   355,   356,   357,
3369
     358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
3370
     368,   369,   370,   371,    -1,    -1,    -1,    -1,    -1,    -1,
3371
      -1,    -1,    -1,     1,   383,     3,     4,     5,     6,     7,
3372
      -1,    -1,   391,    -1,   392,    13,    14,    15,    -1,   398,
3373
      -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,
3374
      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
3375
      38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,
3376
      -1,    -1,    50,    51,    52,    53,    54,    55,    56,    -1,
3377
      -1,    -1,    -1,    61,    62,    -1,    -1,    -1,    66,    67,
3378
      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
3379
      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
3380
      88,    89,     1,    -1,     3,     4,     5,     6,     7,     8,
3381
       9,    10,    -1,    12,    13,    14,    15,    -1,    -1,    -1,
3382
      -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,    28,
3383
      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
3384
      39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    48,
3385
      -1,    50,    51,    52,    53,    54,    55,    56,    57,    58,
3386
      59,    60,    61,    62,    -1,    -1,    -1,    66,    67,    68,
3387
      69,    70,    71,     1,    -1,     3,     4,     5,     6,     7,
3388
       8,     9,    10,    -1,    12,    13,    14,    15,    -1,    -1,
3389
      -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,
3390
      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
3391
      38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,
3392
      48,    -1,    50,    51,    52,    53,    54,    55,    56,    57,
3393
      58,    59,    60,    61,    62,    -1,    -1,    -1,    66,    67,
3394
      68,    69,    70,    71,     1,    -1,     3,     4,     5,     6,
3395
       7,     8,     9,    10,    -1,    12,    13,    14,    15,    -1,
3396
      -1,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,
3397
      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
3398
      37,    38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,
3399
      -1,    48,    -1,    50,    51,    52,    53,    54,    55,    56,
3400
      57,    58,    59,    60,    61,    62,    -1,    -1,    -1,    66,
3401
      67,    68,    69,    70,    71,   349,   350,   351,   352,   353,
3402
     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
3403
     364,   365,   366,   367,   368,   369,   370,   371,    -1,    -1,
3404
      -1,    -1,    -1,    -1,    -1,   333,   334,    -1,    -1,    -1,
3405
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   392,   351,
3406
     352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
3407
     362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
3408
     368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,   377,
3409
      -1,   379,   380,   381,   382,   383,    -1,   385,   386,   387,
3410
     388,    -1,    -1,    -1,    -1,   393,   394,    -1,   396,    -1,
3411
      -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,     7,
3412
       8,     9,    10,    -1,    12,    13,    14,    15,    -1,    -1,
3413
      -1,    -1,    -1,    -1,   333,    23,    24,    25,    26,    27,
3414
      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
3415
      38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,
3416
      48,    -1,    50,    51,    52,    53,    54,    55,    56,    57,
3417
      58,    59,    60,    61,    62,    -1,    -1,    -1,    66,    67,
3418
      68,    69,    70,    71,   383,    -1,    -1,    -1,   387,   388,
3419
      -1,    -1,   391,    -1,    -1,    -1,   395,    -1,    -1,    -1,
3420
      -1,    -1,    -1,    -1,    -1,   333,   349,   350,   351,   352,
3421
     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
3422
     363,   364,   365,   366,   367,   368,   369,   370,   371,   354,
3423
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
3424
     365,   366,   367,   368,   369,   370,   371,   390,    -1,    -1,
3425
      -1,    -1,    -1,    -1,    -1,   383,    -1,    -1,    -1,   387,
3426
     388,    -1,    -1,   391,    -1,    -1,    -1,   395,    -1,    -1,
3427
      -1,    -1,    -1,    -1,    -1,    -1,   333,   349,   350,   351,
3428
     352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
3429
     362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
3430
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
3431
     366,   367,   368,   369,   370,   371,    -1,    -1,   390,    -1,
3432
      -1,    -1,    -1,    -1,    -1,    -1,   383,    -1,    -1,    -1,
3433
     387,   388,    -1,    -1,   391,    -1,    -1,     1,   395,     3,
3434
       4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
3435
      14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,
3436
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
3437
      34,    35,    36,    37,    38,    39,    -1,    41,    -1,    43,
3438
      -1,    -1,    -1,    -1,    48,    -1,    50,    51,    52,    53,
3439
      54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
3440
      -1,    -1,    66,    67,    68,    69,    70,    71,    -1,    -1,
3441
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3442
      -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,
3443
       7,     8,     9,    10,    -1,    12,    13,    14,    15,    -1,
3444
      -1,    -1,    -1,    -1,    -1,   333,    23,    24,    25,    26,
3445
      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
3446
      37,    38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,
3447
      -1,    48,    -1,    50,    51,    52,    53,    54,    55,    56,
3448
      57,    58,    59,    60,    61,    62,    -1,    -1,    -1,    66,
3449
      67,    68,    69,    70,    71,   383,    -1,    -1,    -1,   387,
3450
     388,    -1,    -1,   391,    -1,    -1,     1,   395,     3,     4,
3451
       5,     6,     7,     8,     9,    10,    -1,    12,    13,    14,
3452
      15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,
3453
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
3454
      35,    36,    37,    38,    39,    -1,    41,    -1,    43,    -1,
3455
      -1,    -1,    -1,    48,    -1,    50,    51,    52,    53,    54,
3456
      55,    56,    57,    -1,    -1,    60,    61,    62,    -1,    -1,
3457
      -1,    66,    67,    68,    69,    70,    71,     1,    -1,     3,
3458
       4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
3459
      14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,
3460
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
3461
      34,    35,    36,    37,    38,    39,    -1,    41,    -1,    43,
3462
      -1,    -1,    -1,    -1,    48,    -1,    50,    51,    52,    53,
3463
      54,    55,    56,    57,    -1,    -1,    60,    61,    62,    -1,
3464
      -1,    -1,    66,    67,    68,    69,    70,    71,     1,    -1,
3465
       3,     4,     5,     6,     7,     8,     9,    10,    -1,    12,
3466
      13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,   333,
3467
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3468
      33,    34,    35,    36,    37,    38,    39,    -1,    41,    -1,
3469
      43,    -1,    -1,    -1,    -1,    48,    -1,    50,    51,    52,
3470
      53,    54,    55,    56,    57,    -1,    -1,    60,    61,    62,
3471
      -1,    -1,    -1,    66,    67,    68,    69,    70,    71,   383,
3472
      -1,    -1,    -1,   387,   388,    -1,    -1,   391,    -1,    -1,
3473
      -1,   395,    -1,    -1,    -1,     1,    -1,     3,     4,     5,
3474
       6,     7,     8,     9,    10,    -1,    12,    13,    14,    15,
3475
      -1,    -1,    -1,    -1,    -1,    -1,   333,    23,    24,    25,
3476
      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
3477
      36,    37,    38,    39,    -1,    41,    -1,    43,    -1,    -1,
3478
      -1,    -1,    48,    -1,    50,    51,    52,    53,    54,    55,
3479
      56,    57,    -1,    -1,    60,    61,    62,    -1,    -1,    -1,
3480
      66,    67,    68,    69,    70,    71,   383,    -1,    -1,    -1,
3481
     387,   388,    -1,    -1,   391,    -1,    -1,     1,   395,     3,
3482
       4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
3483
      14,    15,    -1,    -1,    -1,    -1,    -1,    -1,   333,    23,
3484
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
3485
      34,    35,    36,    37,    38,    39,    -1,    41,    -1,    43,
3486
      -1,    -1,    -1,    -1,    48,    -1,    50,    51,    52,    53,
3487
      54,    55,    56,    57,    -1,    -1,    60,    61,    62,    -1,
3488
      -1,    -1,    66,    67,    68,    69,    70,    71,   383,    -1,
3489
      -1,    -1,   387,   388,    -1,    -1,   391,    -1,    -1,    -1,
3490
     395,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   333,
3491
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
3492
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
3493
     369,   370,   371,   350,   351,   352,   353,   354,   355,   356,
3494
     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
3495
     367,   368,   369,   370,   371,    -1,    -1,    -1,    -1,   383,
3496
      -1,    -1,    -1,   387,   388,    -1,    -1,   391,    -1,    -1,
3497
      -1,   395,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3498
     333,   353,   354,   355,   356,   357,   358,   359,   360,   361,
3499
     362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
3500
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3501
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3502
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3503
     383,    -1,    -1,    -1,   387,   388,    -1,    -1,   391,    -1,
3504
      -1,    -1,   395,    -1,    -1,    -1,     1,    -1,     3,     4,
3505
       5,     6,     7,     8,     9,    10,    -1,    12,    13,    14,
3506
      15,    -1,    -1,    -1,    -1,    -1,    -1,   333,    23,    24,
3507
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
3508
      35,    36,    37,    38,    39,    -1,    41,    -1,    43,    -1,
3509
      -1,    -1,    -1,    48,    -1,    50,    51,    52,    53,    54,
3510
      55,    56,    57,    -1,    -1,    60,    61,    62,    -1,    -1,
3511
      -1,    66,    67,    68,    69,    70,    71,   383,    -1,    -1,
3512
      -1,   387,   388,    -1,    -1,   391,    -1,    -1,     1,   395,
3513
       3,     4,     5,     6,     7,     8,     9,    10,    -1,    12,
3514
      13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,   333,
3515
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3516
      33,    34,    35,    36,    37,    38,    39,    -1,    41,    -1,
3517
      43,    -1,    -1,    -1,    -1,    48,    -1,    50,    51,    52,
3518
      53,    54,    55,    56,    57,    -1,    -1,    60,    61,    62,
3519
      -1,    -1,    -1,    66,    67,    68,    69,    70,    71,   383,
3520
      -1,    -1,    -1,   387,   388,    -1,    -1,   391,    -1,    -1,
3521
       1,   395,     3,     4,     5,     6,     7,     8,     9,    10,
3522
      -1,    12,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,
3523
      -1,    -1,    23,    24,    25,    26,    27,    28,    29,    30,
3524
      31,    32,    33,    34,    35,    36,    37,    38,    39,    -1,
3525
      41,    -1,    43,    -1,    -1,    -1,    -1,    48,    -1,    50,
3526
      51,    52,    53,    54,    55,    56,    57,    -1,    -1,    60,
3527
      61,    62,    -1,    -1,    -1,    66,    67,    68,    69,    70,
3528
      71,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
3529
      10,    -1,    12,    13,    14,    15,    -1,    -1,    -1,    -1,
3530
      -1,    -1,    -1,    23,    24,    25,    26,    27,    28,    29,
3531
      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
3532
      -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    48,    -1,
3533
      50,    51,    52,    53,    54,    55,    56,    57,    -1,    -1,
3534
      60,    61,    62,    -1,    -1,    -1,    66,    67,    68,    69,
3535
      70,    71,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
3536
       4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
3537
      14,    15,    -1,    -1,    -1,    -1,    -1,    -1,   333,    23,
3538
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
3539
      34,    35,    36,    37,    38,    39,    -1,    41,    -1,    43,
3540
      -1,    -1,    -1,    -1,    48,    -1,    50,    51,    52,    53,
3541
      54,    55,    56,    57,    -1,    -1,    60,    61,    62,    -1,
3542
      -1,    -1,    66,    67,    68,    69,    70,    71,   383,    -1,
3543
      -1,    -1,   387,   388,    -1,    -1,   391,    -1,    -1,     1,
3544
     395,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
3545
      12,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,
3546
     333,    23,    24,    25,    26,    27,    28,    29,    30,    31,
3547
      32,    33,    34,    35,    36,    37,    38,    39,    -1,    41,
3548
      -1,    43,    -1,    -1,    -1,    -1,    48,    -1,    50,    51,
3549
      52,    53,    54,    55,    56,    57,    -1,    -1,    60,    61,
3550
      62,    -1,    -1,    -1,    66,    67,    68,    69,    70,    71,
3551
     383,    -1,    -1,    -1,   387,   388,    -1,    -1,   391,    -1,
3552
      -1,     1,   395,     3,     4,     5,     6,     7,     8,     9,
3553
      10,    -1,    12,    13,    14,    15,    -1,    -1,    -1,    -1,
3554
      -1,    -1,   333,    23,    24,    25,    26,    27,    28,    29,
3555
      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
3556
      -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    48,    -1,
3557
      50,    51,    52,    53,    54,    55,    56,    57,    -1,    -1,
3558
      60,    61,    62,    -1,    -1,    -1,    66,    67,    68,    69,
3559
      70,    71,   383,    -1,    -1,    -1,   387,   388,    -1,    -1,
3560
     391,    -1,    -1,    -1,   395,    -1,    -1,    -1,    -1,    -1,
3561
      -1,    -1,    -1,   333,    -1,    -1,    -1,    -1,    -1,    -1,
3562
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3563
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3564
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3565
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3566
      -1,    -1,    -1,   383,    -1,    -1,    -1,   387,   388,    -1,
3567
      -1,   391,    -1,    -1,    -1,   395,    -1,    -1,    -1,    -1,
3568
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   333,
3569
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3570
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3571
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3572
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3573
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   383,
3574
      -1,    -1,    -1,   387,   388,    -1,    -1,   391,    -1,    -1,
3575
       1,   395,     3,     4,     5,     6,     7,     8,     9,    10,
3576
      -1,    12,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,
3577
      -1,   333,    23,    24,    25,    26,    27,    28,    29,    30,
3578
      31,    32,    33,    34,    35,    36,    37,    38,    39,    -1,
3579
      41,    -1,    43,    -1,    -1,    -1,    -1,    48,    -1,    50,
3580
      51,    52,    53,    54,    55,    56,    57,    -1,    -1,    60,
3581
      61,    62,    -1,    -1,    -1,    66,    67,    68,    69,    70,
3582
      71,   383,    -1,    -1,    -1,   387,   388,    -1,    -1,   391,
3583
      -1,    -1,    -1,   395,    -1,    -1,    -1,    -1,    -1,    -1,
3584
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3585
      -1,    -1,    -1,   333,    -1,    -1,    -1,    -1,    -1,    -1,
3586
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3587
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3588
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3589
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3590
      -1,    -1,    -1,   383,    -1,    -1,    -1,   387,   388,    -1,
3591
      -1,   391,    -1,    -1,     1,   395,     3,     4,     5,     6,
3592
       7,    -1,    -1,    -1,    -1,    -1,    13,    14,    15,    -1,
3593
      -1,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,
3594
      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
3595
      37,    38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,
3596
      -1,    -1,    -1,    50,    51,    52,    53,    54,    55,    56,
3597
      -1,    -1,    -1,    -1,    61,    62,    -1,    -1,    -1,    66,
3598
      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
3599
      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
3600
      87,    88,    89,    90,    91,    92,    93,    94,    95,    -1,
3601
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
3602
       3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,
3603
      13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3604
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3605
      33,    34,    35,    36,    37,    38,    39,    -1,    41,    -1,
3606
      43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    51,    52,
3607
      53,    54,    55,    56,    -1,    -1,    -1,    -1,    61,    62,
3608
      -1,    -1,   333,    66,    67,    68,    69,    70,    71,    72,
3609
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
3610
      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
3611
      93,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3612
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3613
      -1,    -1,   383,    -1,    -1,    -1,   387,   388,    -1,    -1,
3614
     391,    -1,    -1,     1,   395,     3,     4,     5,     6,     7,
3615
      -1,    -1,    -1,    -1,    -1,    13,    14,    15,    -1,    -1,
3616
      -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,
3617
      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
3618
      38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,
3619
      -1,    -1,    50,    51,    52,    53,    54,    55,    56,    -1,
3620
      -1,    -1,    -1,    61,    62,    -1,    -1,    -1,    66,    67,
3621
      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
3622
      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
3623
      88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3624
      -1,    -1,    -1,    -1,    -1,    -1,   333,   334,    -1,    -1,
3625
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3626
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3627
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3628
      -1,   368,   369,    -1,    -1,   372,    -1,   374,   375,   376,
3629
     377,    -1,   379,   380,   381,   382,   383,    -1,   385,    -1,
3630
     387,   388,    -1,    -1,    -1,    -1,   393,   394,    -1,    -1,
3631
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3632
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3633
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3634
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3635
     333,   334,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3636
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3637
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3638
      -1,    -1,    -1,    -1,    -1,   368,   369,    -1,    -1,   372,
3639
      -1,   374,   375,   376,   377,    -1,   379,   380,   381,   382,
3640
     383,    -1,   385,    -1,   387,   388,    -1,    -1,    -1,    -1,
3641
     393,   394,     1,    -1,     3,     4,     5,     6,     7,    -1,
3642
      -1,    -1,    -1,    -1,    13,    14,    15,    -1,    -1,    -1,
3643
      -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,    28,
3644
      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
3645
      39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,
3646
      -1,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
3647
      -1,    -1,    61,    62,    -1,   333,   334,    66,    67,    68,
3648
      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
3649
      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
3650
      89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3651
     368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,   377,
3652
      -1,   379,   380,   381,   382,   383,    -1,   385,    -1,   387,
3653
     388,    -1,    -1,    -1,   392,   393,   394,     1,    -1,     3,
3654
       4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,    13,
3655
      14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,
3656
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
3657
      34,    35,    36,    37,    38,    39,    -1,    41,    -1,    43,
3658
      -1,    -1,    -1,    -1,    -1,    -1,    50,    51,    52,    53,
3659
      54,    55,    56,    -1,    -1,    -1,    -1,    61,    62,    -1,
3660
      -1,    -1,    66,    67,    68,    69,    70,    71,    72,    73,
3661
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
3662
      84,    85,    86,    87,    88,    89,     1,    -1,     3,     4,
3663
       5,     6,     7,    -1,    -1,    -1,    -1,    -1,    13,    14,
3664
      15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,
3665
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
3666
      35,    36,    37,    38,    39,    -1,    41,    -1,    43,    -1,
3667
      -1,    -1,    -1,    -1,    -1,    50,    51,    52,    53,    54,
3668
      55,    56,    -1,    -1,    -1,    -1,    61,    62,    -1,    -1,
3669
      -1,    66,    67,    68,    69,    70,    71,    72,    73,    74,
3670
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
3671
      85,    86,    87,    88,    89,    -1,    -1,    -1,    -1,    -1,
3672
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3673
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3674
      -1,    -1,    -1,    -1,   333,   334,    -1,    -1,    -1,    -1,
3675
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3676
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3677
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,
3678
      -1,    -1,    -1,   372,    -1,   374,   375,   376,   377,    -1,
3679
     379,   380,   381,   382,   383,    -1,   385,    -1,   387,   388,
3680
      -1,    -1,    -1,   392,   393,   394,     1,    -1,     3,     4,
3681
       5,     6,     7,    -1,    -1,    -1,    -1,    -1,    13,    14,
3682
      15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,
3683
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
3684
      35,    36,    37,    38,    39,    -1,    41,    -1,    43,    -1,
3685
      -1,    -1,    -1,    -1,    -1,    50,    51,    52,    53,    54,
3686
      55,    56,    -1,    -1,    -1,    -1,    61,    62,    -1,   333,
3687
     334,    66,    67,    68,    69,    70,    71,    72,    73,    74,
3688
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
3689
      85,    86,    87,    88,    89,    -1,    -1,    -1,    -1,    -1,
3690
      -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,   372,    -1,
3691
     374,   375,   376,   377,    -1,   379,   380,   381,   382,   383,
3692
      -1,   385,    -1,   387,   388,    -1,    -1,    -1,   392,   393,
3693
     394,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3694
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3695
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   333,   334,
3696
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3697
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3698
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3699
      -1,    -1,    -1,   368,    -1,   370,    -1,   372,    -1,   374,
3700
     375,   376,   377,    -1,   379,   380,   381,   382,   383,    -1,
3701
     385,    -1,   387,   388,    -1,    -1,    -1,    -1,   393,   394,
3702
       1,    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,
3703
      -1,    -1,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,
3704
      -1,    -1,    23,    24,    25,    26,    27,    28,    29,    30,
3705
      31,    32,    33,    34,    35,    36,    37,    38,    39,    -1,
3706
      41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,
3707
      51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    -1,
3708
      61,    62,    -1,    -1,    -1,    66,    67,    68,    69,    70,
3709
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
3710
      81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
3711
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3712
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3713
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   333,   334,
3714
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3715
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3716
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3717
      -1,    -1,    -1,   368,    -1,    -1,    -1,   372,    -1,   374,
3718
     375,   376,   377,    -1,   379,   380,   381,   382,   383,    -1,
3719
     385,    -1,   387,   388,    -1,    -1,    -1,    -1,   393,   394,
3720
       1,    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,
3721
      -1,    -1,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,
3722
      -1,    -1,    23,    24,    25,    26,    27,    28,    29,    30,
3723
      31,    32,    33,    34,    35,    36,    37,    38,    39,    -1,
3724
      41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,
3725
      51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    -1,
3726
      61,    62,    -1,    -1,    -1,    66,    67,    68,    69,    70,
3727
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
3728
      81,    82,    83,    84,    85,    86,    87,    88,    89,     1,
3729
      -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
3730
      -1,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,
3731
      -1,    23,    24,    25,    26,    27,    28,    29,    30,    31,
3732
      32,    33,    34,    35,    36,    37,    38,    39,    -1,    41,
3733
      -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    51,
3734
      52,    53,    54,    55,    56,    -1,    -1,    -1,    -1,    61,
3735
      62,    -1,   333,   334,    66,    67,    68,    69,    70,    71,
3736
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
3737
      82,    83,    84,    85,    86,    87,    88,    89,    -1,    -1,
3738
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,
3739
      -1,   372,    -1,   374,   375,   376,   377,    -1,   379,   380,
3740
     381,   382,   383,    -1,   385,    -1,   387,   388,    -1,    -1,
3741
      -1,    -1,   393,   394,     1,    -1,     3,     4,     5,     6,
3742
       7,    -1,    -1,    -1,    -1,    -1,    13,    14,    15,    -1,
3743
      -1,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,
3744
      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
3745
      37,    38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,
3746
      -1,    -1,    -1,    50,    51,    52,    53,    54,    55,    56,
3747
      -1,    -1,    -1,    -1,    61,    62,    -1,    -1,    -1,    66,
3748
      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
3749
      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
3750
      87,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3751
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3752
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3753
      -1,    -1,   333,   334,    -1,    -1,    -1,    -1,    -1,    -1,
3754
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3755
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3756
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,
3757
      -1,   372,    -1,   374,   375,   376,   377,    -1,   379,   380,
3758
     381,   382,   383,    -1,   385,    -1,   387,   388,    -1,    -1,
3759
      -1,    -1,   393,   394,    -1,    -1,    -1,    -1,    -1,    -1,
3760
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3761
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3762
      -1,   333,   334,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3763
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3764
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3765
      -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,
3766
     372,    -1,   374,   375,   376,   377,    -1,   379,   380,   381,
3767
     382,   383,    -1,   385,    -1,   387,   388,    -1,    -1,    -1,
3768
      -1,   393,   394,     1,    -1,     3,     4,     5,     6,     7,
3769
      -1,    -1,    -1,    -1,    -1,    13,    14,    15,    -1,    -1,
3770
      -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,
3771
      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
3772
      38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,
3773
      -1,    -1,    50,    51,    52,    53,    54,    55,    56,    -1,
3774
      -1,    -1,    -1,    61,    62,    -1,   333,   334,    66,    67,
3775
      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
3776
      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
3777
      88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3778
      -1,   368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,
3779
     377,    -1,   379,   380,   381,   382,   383,    -1,   385,    -1,
3780
     387,   388,    -1,    -1,    -1,    -1,   393,   394,     1,    -1,
3781
       3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,
3782
      13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3783
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3784
      33,    34,    35,    36,    37,    38,    39,    -1,    41,    -1,
3785
      43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    51,    52,
3786
      53,    54,    55,    56,    -1,    -1,    -1,    -1,    61,    62,
3787
      -1,    -1,    -1,    66,    67,    68,    69,    70,    71,    72,
3788
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
3789
      83,    84,    85,    86,    87,    88,    89,     1,    -1,     3,
3790
       4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,    13,
3791
      14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,
3792
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
3793
      34,    35,    36,    37,    38,    39,    -1,    41,    -1,    43,
3794
      -1,    -1,    -1,    -1,    -1,    -1,    50,    51,    52,    53,
3795
      54,    55,    56,    -1,    -1,    -1,    -1,    61,    62,    -1,
3796
      -1,    -1,    66,    67,    68,    69,    70,    71,    72,    73,
3797
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
3798
      84,    85,    86,    87,    88,    89,    -1,    -1,    -1,    -1,
3799
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3800
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3801
      -1,    -1,    -1,    -1,    -1,   333,   334,    -1,    -1,    -1,
3802
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3803
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3804
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3805
     368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,   377,
3806
      -1,   379,   380,   381,   382,   383,    -1,   385,    -1,   387,
3807
     388,    -1,    -1,    -1,    -1,   393,   394,     1,    -1,     3,
3808
       4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,    13,
3809
      14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,
3810
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
3811
      34,    35,    36,    37,    38,    39,    -1,    41,    -1,    43,
3812
      -1,    -1,    -1,    -1,    -1,    -1,    50,    51,    52,    53,
3813
      54,    55,    56,    -1,    -1,    -1,    -1,    61,    62,    -1,
3814
     333,   334,    66,    67,    68,    69,    70,    71,    72,    73,
3815
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
3816
      84,    85,    86,    87,    88,    89,    -1,    -1,    -1,    -1,
3817
      -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,   372,
3818
      -1,   374,   375,   376,   377,    -1,   379,   380,   381,   382,
3819
     383,    -1,   385,    -1,   387,   388,    -1,    -1,    -1,    -1,
3820
     393,   394,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3821
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3822
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   333,
3823
     334,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3824
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3825
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3826
      -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,   372,    -1,
3827
     374,   375,   376,   377,    -1,   379,   380,   381,   382,   383,
3828
      -1,   385,    -1,   387,   388,    -1,    -1,    -1,    -1,   393,
3829
     394,     1,    -1,     3,     4,     5,     6,     7,    -1,    -1,
3830
      -1,    -1,    -1,    13,    14,    15,    -1,    -1,    -1,    -1,
3831
      -1,    -1,    -1,    23,    24,    25,    26,    27,    28,    29,
3832
      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
3833
      -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,
3834
      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
3835
      -1,    61,    62,    -1,    -1,    -1,    66,    67,    68,    69,
3836
      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
3837
      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
3838
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3839
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3840
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   333,
3841
     334,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3842
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3843
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3844
      -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,   372,    -1,
3845
     374,   375,   376,   377,    -1,   379,   380,   381,   382,   383,
3846
      -1,   385,    -1,   387,   388,    -1,    -1,    -1,    -1,   393,
3847
     394,     1,    -1,     3,     4,     5,     6,     7,    -1,    -1,
3848
      -1,    -1,    -1,    13,    14,    15,    -1,    -1,    -1,    -1,
3849
      -1,    -1,    -1,    23,    24,    25,    26,    27,    28,    29,
3850
      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
3851
      -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,
3852
      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
3853
      -1,    61,    62,    -1,    -1,    -1,    66,    67,    68,    69,
3854
      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
3855
      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
3856
       1,    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,
3857
      -1,    -1,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,
3858
      -1,    -1,    23,    24,    25,    26,    27,    28,    29,    30,
3859
      31,    32,    33,    34,    35,    36,    37,    38,    39,    -1,
3860
      41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,
3861
      51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    -1,
3862
      61,    62,    -1,   333,   334,    66,    67,    68,    69,    70,
3863
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
3864
      81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
3865
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,
3866
      -1,    -1,   372,    -1,   374,   375,   376,   377,    -1,   379,
3867
     380,   381,   382,   383,    -1,   385,    -1,   387,   388,    -1,
3868
      -1,    -1,    -1,   393,   394,     1,    -1,     3,     4,     5,
3869
       6,     7,    -1,    -1,    -1,    -1,    -1,    13,    14,    15,
3870
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,
3871
      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
3872
      36,    37,    38,    39,    -1,    41,    -1,    43,    -1,    -1,
3873
      -1,    -1,    -1,    -1,    50,    51,    52,    53,    54,    55,
3874
      56,    -1,    -1,    -1,    -1,    61,    62,    -1,    -1,    -1,
3875
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
3876
      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
3877
      86,    87,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
3878
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3879
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3880
      -1,    -1,    -1,   333,   334,    -1,    -1,    -1,    -1,    -1,
3881
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3882
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3883
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,
3884
      -1,    -1,   372,    -1,   374,   375,   376,   377,    -1,   379,
3885
     380,   381,   382,   383,    -1,   385,    -1,   387,   388,    -1,
3886
      -1,    -1,    -1,   393,   394,    -1,    -1,    -1,    -1,    -1,
3887
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3888
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3889
      -1,    -1,   333,   334,    -1,    -1,    -1,    -1,    -1,    -1,
3890
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3891
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3892
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,
3893
      -1,   372,    -1,   374,   375,   376,   377,    -1,   379,   380,
3894
     381,   382,   383,    -1,   385,    -1,   387,   388,    -1,    -1,
3895
      -1,    -1,   393,   394,     1,    -1,     3,     4,     5,     6,
3896
       7,    -1,    -1,    -1,    -1,    -1,    13,    14,    15,    -1,
3897
      -1,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,
3898
      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
3899
      37,    38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,
3900
      -1,    -1,    -1,    50,    51,    52,    53,    54,    55,    56,
3901
      -1,    -1,    -1,    -1,    61,    62,    -1,   333,   334,    66,
3902
      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
3903
      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
3904
      87,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3905
      -1,    -1,   368,    -1,    -1,    -1,   372,    -1,   374,   375,
3906
     376,   377,    -1,   379,   380,   381,   382,   383,    -1,   385,
3907
      -1,   387,   388,    -1,    -1,    -1,    -1,   393,   394,     1,
3908
      -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
3909
      -1,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,
3910
      -1,    23,    24,    25,    26,    27,    28,    29,    30,    31,
3911
      32,    33,    34,    35,    36,    37,    38,    39,    -1,    41,
3912
      -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    51,
3913
      52,    53,    54,    55,    56,    -1,    -1,    -1,    -1,    61,
3914
      62,    -1,    -1,    -1,    66,    67,    68,    69,    70,    71,
3915
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
3916
      82,    83,    84,    85,    86,    87,    88,    89,     1,    -1,
3917
       3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,
3918
      13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3919
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3920
      33,    34,    35,    36,    37,    38,    39,    -1,    41,    -1,
3921
      43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    51,    52,
3922
      53,    54,    55,    56,    -1,    -1,    -1,    -1,    61,    62,
3923
      -1,    -1,    -1,    66,    67,    68,    69,    70,    71,    72,
3924
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
3925
      83,    84,    85,    86,    87,    88,    89,    -1,    -1,    -1,
3926
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3927
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3928
      -1,    -1,    -1,    -1,    -1,    -1,   333,   334,    -1,    -1,
3929
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3930
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3931
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3932
      -1,   368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,
3933
     377,    -1,   379,   380,   381,   382,   383,    -1,   385,    -1,
3934
     387,   388,    -1,    -1,    -1,    -1,   393,   394,     1,    -1,
3935
       3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,
3936
      13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3937
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3938
      33,    34,    35,    36,    37,    38,    39,    -1,    41,    -1,
3939
      43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    51,    52,
3940
      53,    54,    55,    56,    -1,    -1,    -1,    -1,    61,    62,
3941
      -1,   333,   334,    66,    67,    68,    69,    70,    71,    72,
3942
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
3943
      83,    84,    85,    86,    87,    88,    89,    -1,    -1,    -1,
3944
      -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,
3945
     372,    -1,   374,   375,   376,   377,    -1,   379,   380,   381,
3946
     382,   383,    -1,   385,    -1,   387,   388,    -1,    -1,    -1,
3947
      -1,   393,   394,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3948
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3949
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3950
     333,   334,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3951
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3952
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3953
      -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,   372,
3954
      -1,   374,   375,   376,   377,    -1,   379,   380,   381,   382,
3955
     383,    -1,   385,    -1,   387,   388,    -1,    -1,    -1,    -1,
3956
     393,   394,     1,    -1,     3,     4,     5,     6,     7,    -1,
3957
      -1,    -1,    -1,    -1,    13,    14,    15,    -1,    -1,    -1,
3958
      -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,    28,
3959
      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
3960
      39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,
3961
      -1,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
3962
      -1,    -1,    61,    62,    -1,    -1,    -1,    66,    67,    68,
3963
      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
3964
      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
3965
      89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3966
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3967
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3968
     333,   334,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3969
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3970
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3971
      -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,   372,
3972
      -1,   374,   375,   376,   377,    -1,   379,   380,   381,   382,
3973
     383,    -1,   385,    -1,   387,   388,    -1,    -1,    -1,    -1,
3974
     393,   394,     1,    -1,     3,     4,     5,     6,     7,    -1,
3975
      -1,    -1,    -1,    -1,    13,    14,    15,    -1,    -1,    -1,
3976
      -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,    28,
3977
      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
3978
      39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,
3979
      -1,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
3980
      -1,    -1,    61,    62,    -1,    -1,    -1,    66,    67,    68,
3981
      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
3982
      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
3983
      89,     1,    -1,     3,     4,     5,     6,     7,    -1,    -1,
3984
      -1,    -1,    -1,    13,    14,    15,    -1,    -1,    -1,    -1,
3985
      -1,    -1,    -1,    23,    24,    25,    26,    27,    28,    29,
3986
      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
3987
      -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,
3988
      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
3989
      -1,    61,    62,    -1,   333,   334,    66,    67,    68,    69,
3990
      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
3991
      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
3992
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,
3993
      -1,    -1,    -1,   372,    -1,   374,   375,   376,   377,    -1,
3994
     379,   380,   381,   382,   383,    -1,   385,    -1,   387,   388,
3995
      -1,    -1,    -1,    -1,   393,   394,     1,    -1,     3,     4,
3996
       5,     6,     7,    -1,    -1,    -1,    -1,    -1,    13,    14,
3997
      15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,
3998
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
3999
      35,    36,    37,    38,    39,    -1,    41,    -1,    43,    -1,
4000
      -1,    -1,    -1,    -1,    -1,    50,    51,    52,    53,    54,
4001
      55,    56,    -1,    -1,    -1,    -1,    61,    62,    -1,    -1,
4002
      -1,    66,    67,    68,    69,    70,    71,    72,    73,    74,
4003
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
4004
      85,    86,    87,    88,    89,    -1,    -1,    -1,    -1,    -1,
4005
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4006
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4007
      -1,    -1,    -1,    -1,   333,   334,    -1,    -1,    -1,    -1,
4008
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4009
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4010
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,
4011
      -1,    -1,    -1,   372,    -1,   374,   375,   376,   377,    -1,
4012
     379,   380,   381,   382,   383,    -1,   385,    -1,   387,   388,
4013
      -1,    -1,    -1,    -1,   393,   394,    -1,    -1,    -1,    -1,
4014
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4015
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4016
      -1,    -1,    -1,   333,   334,    -1,    -1,    -1,    -1,    -1,
4017
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4018
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4019
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,
4020
      -1,    -1,   372,    -1,   374,   375,   376,   377,    -1,   379,
4021
     380,   381,   382,   383,    -1,   385,    -1,   387,   388,    -1,
4022
      -1,    -1,    -1,   393,   394,     1,    -1,     3,     4,     5,
4023
       6,     7,    -1,    -1,    -1,    -1,    -1,    13,    14,    15,
4024
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,
4025
      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
4026
      36,    37,    38,    39,    -1,    41,    -1,    43,    -1,    -1,
4027
      -1,    -1,    -1,    -1,    50,    51,    52,    53,    54,    55,
4028
      56,    -1,    -1,    -1,    -1,    61,    62,    -1,   333,   334,
4029
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
4030
      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
4031
      86,    87,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
4032
      -1,    -1,    -1,   368,    -1,    -1,    -1,   372,    -1,   374,
4033
     375,   376,   377,    -1,   379,   380,   381,   382,   383,    -1,
4034
     385,    -1,   387,   388,    -1,    -1,    -1,    -1,   393,   394,
4035
       1,    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,
4036
      -1,    -1,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,
4037
      -1,    -1,    23,    24,    25,    26,    27,    28,    29,    30,
4038
      31,    32,    33,    34,    35,    36,    37,    38,    39,    -1,
4039
      41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,
4040
      51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    -1,
4041
      61,    62,    -1,    -1,    -1,    66,    67,    68,    69,    70,
4042
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
4043
      81,    82,    83,    84,    85,    86,    87,    88,    89,     1,
4044
      -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
4045
      -1,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,
4046
      -1,    23,    24,    25,    26,    27,    28,    29,    30,    31,
4047
      32,    33,    34,    35,    36,    37,    38,    39,    -1,    41,
4048
      -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    51,
4049
      52,    53,    54,    55,    56,    -1,    -1,    -1,    -1,    61,
4050
      62,    -1,    -1,    -1,    66,    67,    68,    69,    70,    71,
4051
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
4052
      82,    83,    84,    85,    86,    87,    88,    89,    -1,    -1,
4053
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4054
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4055
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   333,   334,    -1,
4056
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4057
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4058
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4059
      -1,    -1,   368,    -1,    -1,    -1,   372,    -1,   374,   375,
4060
     376,   377,    -1,   379,   380,   381,   382,   383,    -1,   385,
4061
      -1,   387,   388,    -1,    -1,    -1,    -1,   393,   394,     1,
4062
      -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
4063
      -1,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,
4064
      -1,    23,    24,    25,    26,    27,    28,    29,    30,    31,
4065
      32,    33,    34,    35,    36,    37,    38,    39,    -1,    41,
4066
      -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    51,
4067
      52,    53,    54,    55,    56,    -1,    -1,    -1,    -1,    61,
4068
      62,    -1,   333,   334,    66,    67,    68,    69,    70,    71,
4069
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
4070
      82,    83,    84,    85,    86,    87,    88,    89,    -1,    -1,
4071
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,
4072
      -1,   372,    -1,   374,   375,   376,   377,    -1,   379,   380,
4073
     381,   382,   383,    -1,   385,    -1,   387,   388,    -1,    -1,
4074
      -1,    -1,   393,   394,    -1,    -1,    -1,    -1,    -1,    -1,
4075
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4076
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4077
      -1,   333,   334,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4078
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4079
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4080
      -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,
4081
     372,    -1,   374,   375,   376,   377,    -1,   379,   380,   381,
4082
     382,   383,    -1,   385,    -1,   387,   388,    -1,    -1,    -1,
4083
      -1,   393,   394,     1,    -1,     3,     4,     5,     6,     7,
4084
      -1,    -1,    -1,    -1,    -1,    13,    14,    15,    -1,    -1,
4085
      -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,
4086
      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
4087
      38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,
4088
      -1,    -1,    50,    51,    52,    53,    54,    55,    56,    -1,
4089
      -1,    -1,    -1,    61,    62,    -1,    -1,    -1,    66,    67,
4090
      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
4091
      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
4092
      88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4093
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4094
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4095
      -1,   333,   334,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4096
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4097
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4098
      -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,
4099
     372,    -1,   374,   375,   376,   377,    -1,   379,   380,   381,
4100
     382,   383,    -1,   385,    -1,   387,   388,    -1,    -1,    -1,
4101
      -1,   393,   394,     3,     4,     5,     6,     7,    -1,    -1,
4102
      -1,    -1,    -1,    13,    14,    15,    -1,    -1,    -1,    -1,
4103
      -1,    -1,    -1,    23,    24,    25,    26,    27,    28,    29,
4104
      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
4105
      -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,
4106
      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
4107
      -1,    61,    62,    -1,    -1,    -1,    66,    67,    68,    69,
4108
      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
4109
      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
4110
      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,    -1,
4111
      -1,    -1,    -1,    -1,    13,    14,    15,    -1,    -1,    -1,
4112
      -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,    28,
4113
      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
4114
      39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,
4115
      -1,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
4116
      -1,    -1,    61,    62,    -1,   333,   334,    66,    67,    68,
4117
      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
4118
      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
4119
      89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4120
     368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,   377,
4121
      -1,   379,   380,   381,   382,   383,    -1,   385,    -1,   387,
4122
     388,    -1,    -1,    -1,    -1,   393,   394,     3,     4,     5,
4123
       6,     7,    -1,    -1,    -1,    -1,    -1,    13,    14,    15,
4124
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,
4125
      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
4126
      36,    37,    38,    39,    -1,    41,    -1,    43,    -1,    -1,
4127
      -1,    -1,    -1,    -1,    50,    51,    52,    53,    54,    55,
4128
      56,    -1,    -1,    -1,    -1,    61,    62,    -1,    -1,    -1,
4129
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
4130
      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
4131
      86,    87,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
4132
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4133
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4134
      -1,    -1,    -1,   333,   334,    -1,    -1,    -1,    -1,    -1,
4135
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4136
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4137
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,
4138
      -1,    -1,   372,    -1,   374,   375,   376,   377,    -1,   379,
4139
     380,   381,   382,   383,    -1,   385,    -1,   387,   388,    -1,
4140
      -1,    -1,    -1,   393,   394,    -1,    -1,    -1,    -1,    -1,
4141
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4142
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4143
      -1,    -1,    -1,    -1,   333,   334,    -1,    -1,    -1,    -1,
4144
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4145
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4146
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,
4147
      -1,    -1,    -1,   372,    -1,   374,   375,   376,   377,    -1,
4148
     379,   380,   381,   382,   383,    -1,   385,    -1,   387,   388,
4149
      -1,    -1,    -1,    -1,   393,   394,     3,     4,     5,     6,
4150
       7,    -1,    -1,    -1,    -1,    -1,    13,    14,    15,    -1,
4151
      -1,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,
4152
      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
4153
      37,    38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,
4154
      -1,    -1,    -1,    50,    51,    52,    53,    54,    55,    56,
4155
      -1,    -1,    -1,    -1,    61,    62,    -1,   333,   334,    66,
4156
      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
4157
      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
4158
      87,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4159
      -1,    -1,   368,    -1,    -1,    -1,   372,    -1,   374,   375,
4160
     376,   377,    -1,   379,   380,   381,   382,   383,    -1,   385,
4161
      -1,   387,   388,    -1,    -1,    -1,    -1,   393,   394,     3,
4162
       4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
4163
      14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,
4164
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
4165
      34,    35,    36,    37,    38,    39,    -1,    41,    -1,    43,
4166
      -1,    -1,    -1,    -1,    48,    -1,    50,    51,    52,    53,
4167
      54,    55,    56,    57,    -1,    -1,    60,    61,    62,    -1,
4168
      -1,    -1,    66,    67,    68,    69,    70,    71,     3,     4,
4169
       5,     6,     7,    -1,    -1,    -1,    -1,    -1,    13,    14,
4170
      15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,
4171
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
4172
      35,    36,    37,    38,    39,    -1,    41,    -1,    43,    -1,
4173
      -1,    -1,    -1,    -1,    -1,    50,    51,    52,    53,    54,
4174
      55,    56,    -1,    -1,    -1,    -1,    61,    62,    -1,    -1,
4175
      -1,    66,    67,    68,    69,    70,    71,    72,    73,    74,
4176
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
4177
      85,    86,    87,    88,    89,    -1,    -1,    -1,    -1,    -1,
4178
      -1,    -1,    -1,     3,     4,     5,     6,     7,     8,     9,
4179
      10,    -1,    12,    13,    14,    15,    -1,    -1,    -1,    -1,
4180
      -1,    -1,    -1,    23,    24,    25,    26,    27,    28,    29,
4181
      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
4182
      -1,    41,    -1,    43,    -1,    -1,   333,   334,    48,    -1,
4183
      50,    51,    52,    53,    54,    55,    56,    57,    -1,    -1,
4184
      60,    61,    62,    -1,    -1,    -1,    66,    67,    68,    69,
4185
      70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4186
      -1,   368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,
4187
     377,    -1,   379,   380,   381,   382,   383,    -1,   385,    -1,
4188
     387,   388,    -1,    -1,    -1,    -1,   393,   394,    -1,    -1,
4189
      -1,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
4190
      10,    -1,    12,    13,    14,    15,    -1,    -1,    -1,    -1,
4191
      -1,    -1,    -1,    23,    24,    25,    26,    27,    28,    29,
4192
      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
4193
      -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    48,    -1,
4194
      50,    51,    52,    53,    54,    55,    56,    57,    -1,   333,
4195
      60,    61,    62,    -1,    -1,    -1,    66,    67,    68,    69,
4196
      70,    71,    -1,    -1,    -1,   349,   350,   351,   352,   353,
4197
     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
4198
     364,   365,   366,   367,   368,   369,   370,   371,    -1,    -1,
4199
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   383,
4200
      -1,    -1,    -1,   387,   388,    -1,    -1,   391,    -1,    -1,
4201
     394,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   333,   334,
4202
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4203
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4204
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4205
      -1,    -1,    -1,   368,    -1,    -1,    -1,   372,    -1,   374,
4206
     375,   376,   377,    -1,   379,   380,   381,   382,   383,    -1,
4207
     385,    -1,   387,   388,    -1,    -1,    -1,    -1,   393,   394,
4208
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4209
      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
4210
       9,    10,    -1,    12,    13,    14,    15,    -1,    -1,    -1,
4211
      -1,    -1,    -1,   333,    23,    24,    25,    26,    27,    28,
4212
      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
4213
      39,    -1,    41,    -1,    43,    -1,    -1,    -1,    -1,    48,
4214
      -1,    50,    51,    52,    53,    54,    55,    56,    57,    -1,
4215
      -1,    60,    61,    62,    -1,    -1,    -1,    66,    67,    68,
4216
      69,    70,    71,   383,    -1,    -1,    -1,   387,   388,    -1,
4217
      -1,   391,    -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,
4218
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4219
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4220
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4221
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4222
      -1,    -1,    -1,   333,    -1,    -1,    -1,    -1,    -1,    -1,
4223
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4224
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4225
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4226
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4227
      -1,    -1,    -1,   383,    -1,    -1,    -1,   387,   388,    -1,
4228
      -1,   391,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4229
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4230
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4231
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4232
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4233
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4234
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4235
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4236
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4237
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4238
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4239
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4240
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4241
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4242
      -1,    -1,    -1,    -1,   333,    -1,    -1,    -1,    -1,    -1,
4243
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4244
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4245
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4246
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4247
      -1,    -1,    -1,    -1,   383,    -1,    -1,    -1,   387,   388,
4248
      -1,    -1,   391
4249
};
4250
4251
  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
4252
     symbol of state STATE-NUM.  */
4253
static const yytype_int16 yystos[] =
4254
{
4255
       0,     1,    11,    18,    19,    38,    40,    42,    43,    44,
4256
      45,    46,    47,    59,    96,    97,    98,    99,   100,   101,
4257
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
4258
     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
4259
     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
4260
     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
4261
     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
4262
     157,   158,   159,   160,   161,   163,   164,   165,   168,   169,
4263
     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
4264
     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
4265
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
4266
     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
4267
     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
4268
     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
4269
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
4270
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
4271
     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
4272
     260,   261,   262,   263,   264,   269,   270,   271,   272,   273,
4273
     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
4274
     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
4275
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
4276
     304,   305,   306,   307,   308,   310,   311,   317,   319,   320,
4277
     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
4278
     331,   332,   345,   346,   347,   383,   391,   398,   401,   402,
4279
     403,   404,   405,   406,   407,   408,   420,   424,   429,   431,
4280
     433,   434,   444,   445,   454,   348,   348,     1,   396,     1,
4281
     348,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4282
     348,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4283
     348,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4284
       1,   348,     1,   348,     1,   348,     1,   348,     1,   348,
4285
       1,   348,     1,   348,     1,   348,     1,   348,     1,   348,
4286
       1,   348,     1,   348,     1,   348,     1,   348,     1,   348,
4287
       1,   348,     1,   348,     1,   348,     1,   348,     1,   348,
4288
       1,   348,     1,   348,     1,   348,     1,   348,     1,   348,
4289
       1,   348,     1,   348,     1,   348,     1,   348,     1,   348,
4290
       1,   348,     1,   348,     1,   348,     1,   348,     1,   348,
4291
       1,   348,     1,   348,   348,   348,   348,   348,   430,   348,
4292
     348,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4293
     348,   348,   348,   348,   348,   348,   348,   348,   348,   396,
4294
     348,   348,   348,   348,   348,     1,   385,   393,     1,   385,
4295
     393,     1,   348,   385,     1,   393,     1,   393,     1,   348,
4296
     385,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4297
     348,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4298
     348,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4299
     348,   348,   348,   348,     1,   348,     1,   348,     1,   348,
4300
       1,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4301
     348,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4302
     348,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4303
     348,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4304
     348,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4305
     348,   348,   348,   348,   348,   348,     1,   348,   348,   348,
4306
     348,   348,   348,   348,   348,   348,   348,   348,   348,   348,
4307
     348,   348,   378,   348,   348,   348,   348,   348,   348,   348,
4308
     348,   348,   348,   348,   348,   348,     1,   383,   385,   421,
4309
     422,   423,     1,   423,   425,   426,     1,   385,     1,   385,
4310
       1,   385,     0,     1,   403,    15,    16,   440,   441,    17,
4311
     442,   443,    20,   448,   449,    21,   450,   451,    22,   452,
4312
     453,   378,   396,   394,     1,   382,   382,   383,   385,   439,
4313
       1,   382,     1,   382,     1,   382,     1,    90,    91,    92,
4314
      93,   369,   412,     1,   382,     1,   368,   382,   419,     1,
4315
     382,     1,   382,     1,   419,     1,   382,     1,   382,     1,
4316
     382,     1,   382,     1,   383,     1,   385,     1,   382,     1,
4317
     385,     1,   382,     1,   385,     1,   385,     1,   385,     1,
4318
     385,     1,   385,     1,   382,   383,   384,   385,   386,   393,
4319
     396,   409,   411,   412,   417,   418,   435,   436,   437,   438,
4320
     468,   469,     1,   418,     1,   382,     1,   418,     1,   382,
4321
       1,   382,     1,   382,   382,   382,   382,   419,   419,   419,
4322
     419,   382,   382,   382,   382,   382,   382,   382,   382,   382,
4323
     382,   382,   382,   382,   382,   382,   382,   382,   382,   382,
4324
     382,   385,   382,   382,   382,   382,   382,   382,   382,   382,
4325
     382,     1,   419,     1,   382,     1,   385,     1,   382,   348,
4326
       1,   382,     1,   382,     1,   382,     1,   382,     1,   385,
4327
       1,   385,     1,   385,     1,   382,     1,   382,     1,   419,
4328
       1,   419,     1,   419,     1,   419,     1,   419,     1,   419,
4329
       1,   419,     1,   419,     1,   419,     1,   419,     1,   419,
4330
     383,   385,     1,   382,     1,   382,     1,   385,     1,   385,
4331
       1,   382,   385,   385,     1,   385,   385,   385,     1,   385,
4332
       1,   382,     1,   382,     1,   382,     1,   382,     1,   382,
4333
       1,   382,     1,   382,     1,   382,     1,   382,     1,   382,
4334
       1,   382,     1,   383,   385,     1,   383,   385,     1,   383,
4335
     385,     1,   383,   385,     1,   383,   385,     1,   382,     1,
4336
     382,     1,   382,     1,   382,     1,   382,     1,   382,     1,
4337
     419,     1,   419,     1,   419,     1,   383,   385,     1,   382,
4338
       1,   382,     1,   382,     1,   382,   436,     1,   438,     1,
4339
     382,     1,   382,   382,   382,   382,   382,     1,   382,     1,
4340
     382,     1,   382,     1,   382,     1,   382,     1,   382,     1,
4341
     382,     1,   382,     1,   382,     1,   382,     1,   382,     1,
4342
     382,     1,   382,     1,   382,   385,     1,   382,     1,   382,
4343
       1,   382,     1,   419,     1,   419,     1,   382,     1,   382,
4344
       1,   382,     1,   382,     1,   382,     1,   382,     1,   265,
4345
     266,   267,   268,     1,   382,     1,   382,     1,   382,     1,
4346
     382,     1,   385,     1,   385,     1,   385,     1,   382,     1,
4347
     382,     1,   382,     1,   409,     1,   382,     1,   382,     1,
4348
     382,     1,   382,     1,   382,     1,   382,     1,   382,     1,
4349
     382,     1,   382,     1,   382,     1,   382,     1,   382,     1,
4350
     382,     1,   382,     1,   382,     1,   383,   385,     1,   382,
4351
     383,   382,     1,   382,     1,   382,     1,   382,     1,   382,
4352
       1,   382,     1,   382,     1,   382,     1,   385,     1,   382,
4353
       1,   382,     1,   382,     1,   382,     1,   382,     1,   382,
4354
     312,   313,   314,   315,   316,   318,     1,   419,   382,   382,
4355
       1,   419,     1,   419,     1,   382,     1,   382,     1,   382,
4356
       1,   382,     1,   382,     1,   382,     1,   385,     1,   385,
4357
     390,   399,   390,     1,   396,     1,   394,     1,   396,   394,
4358
       1,   396,   394,     1,   396,   394,     1,   396,    59,   382,
4359
     383,   432,   382,   446,   397,   382,   378,   409,   410,   437,
4360
     399,   399,   418,   112,   113,   114,   368,   378,   394,   397,
4361
     397,   390,   392,   390,   392,   390,   390,   348,   348,   348,
4362
     348,   348,   348,   421,   382,   425,   439,     3,     4,     5,
4363
       6,     7,     8,     9,    10,    12,    13,    14,    15,    23,
4364
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
4365
      34,    35,    36,    37,    38,    39,    41,    43,    48,    50,
4366
      51,    52,    53,    54,    55,    56,    57,    60,    61,    62,
4367
      66,    67,    68,    69,    70,    71,   333,   383,   387,   388,
4368
     391,   470,   472,   473,   474,   478,   479,   487,   488,   490,
4369
     491,   494,   495,   497,   501,   502,   503,   507,   439,   472,
4370
     439,   472,   439,   472,   389,   348,   397,   472,     1,   447,
4371
     382,   390,   392,   397,     1,   369,   382,   415,   411,    90,
4372
      91,    92,    93,    94,    95,   409,   414,   385,     1,   382,
4373
     468,     1,   468,   112,   113,   114,   115,   116,   166,   167,
4374
     391,   427,   428,   348,   348,   385,   385,   385,   385,     1,
4375
     385,     1,   385,     1,   385,     1,   385,     1,   385,     1,
4376
     385,   397,     1,   393,     1,   393,     1,   393,     1,   393,
4377
       1,   393,    72,    73,    74,    75,    76,    77,    78,    79,
4378
      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
4379
     334,   368,   372,   374,   375,   376,   377,   379,   380,   381,
4380
     385,   393,   394,   419,   460,   461,   462,   463,   464,   465,
4381
     470,   482,   487,   488,   489,   490,   492,   494,   495,   498,
4382
     499,   500,   393,   500,   393,   500,     1,   393,     1,   393,
4383
       1,   393,   393,     1,   393,     1,   393,     1,   393,     1,
4384
     393,     1,   393,     1,   393,     1,   393,     1,   393,   393,
4385
       1,   393,     1,   393,     1,   393,     1,   393,   393,   393,
4386
     393,   393,   393,   393,   500,     1,   393,     1,   393,     1,
4387
     393,   393,   393,   393,   393,     1,   500,   500,     1,   393,
4388
       1,   393,     1,   393,     1,   393,     1,   393,     1,   504,
4389
       1,   391,     1,   395,   473,   335,   336,   337,   338,   339,
4390
     340,   341,   342,   343,   383,   484,   485,   486,   348,   496,
4391
     391,     1,   393,   391,   397,   395,   397,   395,   397,   395,
4392
     397,     1,   382,   385,   378,   395,   394,   378,   410,   399,
4393
     113,   114,   399,   399,   113,   348,   348,   348,   348,   348,
4394
     348,   348,   395,   427,     1,   382,   385,     1,   382,   385,
4395
     392,   392,   390,   390,   394,     1,    63,   383,   385,   392,
4396
     435,   467,     1,    63,   385,   435,   467,     1,    63,   385,
4397
     435,   467,     1,    63,   385,   435,   467,     1,    63,   385,
4398
     435,   467,     1,   356,   357,   358,   361,   362,   455,   457,
4399
     455,   455,     1,   455,   483,     1,   500,     1,   500,     1,
4400
     500,   393,   393,   393,     1,   392,   488,   490,   494,   495,
4401
     500,   501,     1,   472,     1,   457,     1,   363,   364,   365,
4402
     366,   455,   456,     1,   457,   486,     1,   500,   349,   350,
4403
     351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
4404
     361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
4405
     371,   458,   459,   392,   392,     1,   382,   385,     1,   385,
4406
       1,   383,   500,   385,     1,   385,     1,   385,     1,   385,
4407
       1,   385,     1,   382,     1,   382,   392,     1,   392,   419,
4408
     392,     1,   385,     1,   385,     1,   385,     1,   385,   392,
4409
     392,   392,     1,   382,   392,     1,   412,   394,   471,   473,
4410
       1,   409,     1,   382,     1,   409,   412,   416,   392,   392,
4411
     392,   392,   394,   471,     1,   385,     1,   385,   382,   423,
4412
     382,   423,   382,   423,   393,   378,   396,   500,     1,   385,
4413
     487,   488,   493,   495,   394,   394,   394,   394,   309,   309,
4414
     432,   472,   382,   415,   385,   382,   409,   409,   412,     1,
4415
     382,     1,   385,     1,   385,   385,     1,   409,   412,     1,
4416
     382,   385,   419,   385,   387,   419,   472,   392,   390,   392,
4417
     390,   392,   390,   392,   368,   378,   390,   392,   392,   390,
4418
     392,   390,   392,   390,   392,   390,   392,   392,   390,   392,
4419
     390,   392,   390,   392,   390,   392,   392,   390,   392,   390,
4420
     392,   390,   392,   390,   392,   392,   390,   392,   390,   392,
4421
     390,   392,   390,   392,     1,   383,   500,     1,    90,    91,
4422
      92,    93,    94,    95,   369,   413,   500,     1,   413,   500,
4423
       1,   460,   464,   383,   480,   481,     1,   500,     1,   500,
4424
       1,   500,   392,   392,   392,   395,   395,     1,    88,   500,
4425
       1,   500,     1,   500,     1,    88,   382,   383,   435,   466,
4426
     467,   500,   396,     1,   500,     1,   500,     1,   500,     1,
4427
     500,   500,   500,   500,     1,   500,     1,   500,     1,   500,
4428
       1,   500,     1,   500,     1,   500,     1,   500,   392,   390,
4429
     392,   392,   390,   392,   392,   392,   392,   392,   392,   392,
4430
     392,   392,   392,   392,   392,   392,   392,   392,   392,   392,
4431
     392,   392,   392,   392,   392,   392,   392,   392,   392,   392,
4432
     392,   392,   392,   472,    49,   392,   392,   392,   392,   392,
4433
     399,   399,   392,     1,    58,    59,   395,   476,   477,   392,
4434
     390,   392,   392,   392,   392,   392,   392,   392,   392,   500,
4435
     505,   506,   485,   397,   390,   392,   486,   390,   472,   472,
4436
     472,   472,   385,   385,   348,   395,   378,   113,   113,   114,
4437
     399,   399,   399,   399,   399,   392,   392,   392,   392,   392,
4438
     395,    64,   382,   382,   382,     1,   383,     1,   383,   382,
4439
      64,   382,   382,   382,   382,    64,   382,   382,   382,   382,
4440
      64,   382,   382,   382,   382,    64,   382,   382,   382,   382,
4441
     396,   378,   392,   392,   392,   392,   392,   390,   370,   419,
4442
     385,   385,   395,   471,     1,   415,   409,   395,     1,   370,
4443
     475,   500,   399,   395,   476,   382,   500,   390,   392,   423,
4444
       1,   423,   395,   395,   395,   395,   382,   385,   382,   385,
4445
     382,   382,   409,   415,   409,   392,   392,   392,   392,   392,
4446
     392,   392,   392,   392,   392,   392,   392,   392,   392,   392,
4447
     392,   392,   392,   392,   392,   392,   392,   392,   392,   392,
4448
     385,   419,   480,   500,     1,   382,   435,   397,   392,   392,
4449
     399,   399,     1,   475,   399,   472,   392,   392,   506,   392,
4450
     392,   392,   113,   114,   399,   368,   399,   397,   397,   390,
4451
     415,   472,   399,   399,     1,   472,   385,   382,   415,   415,
4452
     500,   472,   472,   113,   368,   392,   415
4453
};
4454
4455
  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
4456
static const yytype_int16 yyr1[] =
4457
{
4458
       0,   400,   401,   402,   402,   402,   403,   403,   403,   403,
4459
     403,   404,   403,   405,   403,   403,   406,   403,   407,   403,
4460
     408,   403,   403,   403,   409,   409,   409,   410,   410,   411,
4461
     411,   412,   412,   412,   412,   412,   413,   413,   413,   413,
4462
     413,   413,   413,   414,   414,   414,   414,   414,   414,   415,
4463
     415,   416,   416,   416,   416,   416,   417,   417,   417,   417,
4464
     417,   418,   418,   419,   419,   420,   420,   421,   421,   422,
4465
     422,   423,   423,   424,   424,   425,   425,   426,   427,   427,
4466
     427,   427,   427,   427,   427,   427,   427,   427,   427,   427,
4467
     427,   427,   427,   427,   427,   427,   427,   428,   428,   429,
4468
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4469
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4470
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4471
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4472
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4473
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4474
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4475
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4476
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4477
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4478
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4479
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4480
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4481
     429,   429,   429,   429,   429,   429,   429,   430,   429,   429,
4482
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4483
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4484
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4485
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4486
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4487
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4488
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4489
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4490
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4491
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4492
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4493
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4494
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4495
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4496
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4497
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4498
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4499
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4500
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4501
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4502
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4503
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4504
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4505
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4506
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4507
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4508
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4509
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4510
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4511
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4512
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4513
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4514
     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
4515
     429,   429,   429,   429,   429,   429,   429,   431,   431,   432,
4516
     432,   432,   433,   433,   433,   433,   433,   433,   433,   434,
4517
     434,   434,   434,   434,   434,   434,   434,   434,   434,   434,
4518
     434,   434,   434,   434,   434,   434,   434,   434,   434,   434,
4519
     434,   434,   435,   435,   436,   437,   438,   438,   439,   439,
4520
     439,   440,   440,   441,   441,   441,   441,   442,   443,   443,
4521
     443,   444,   444,   446,   445,   445,   445,   447,   445,   445,
4522
     448,   449,   449,   449,   450,   451,   451,   451,   452,   453,
4523
     453,   454,   454,   454,   454,   454,   454,   455,   455,   455,
4524
     455,   456,   456,   456,   456,   457,   457,   458,   458,   458,
4525
     458,   458,   458,   458,   459,   459,   459,   459,   460,   460,
4526
     460,   461,   461,   461,   462,   462,   462,   462,   462,   463,
4527
     463,   464,   464,   464,   465,   465,   465,   465,   465,   465,
4528
     465,   465,   465,   465,   465,   465,   465,   465,   465,   465,
4529
     465,   465,   465,   465,   465,   465,   465,   465,   465,   465,
4530
     465,   465,   465,   466,   466,   466,   466,   467,   467,   467,
4531
     467,   467,   468,   468,   468,   469,   469,   469,   469,   469,
4532
     470,   471,   471,   472,   472,   472,   473,   473,   473,   473,
4533
     473,   473,   473,   473,   474,   474,   475,   476,   476,   476,
4534
     476,   476,   476,   476,   476,   476,   476,   476,   477,   477,
4535
     478,   478,   478,   478,   479,   480,   480,   480,   481,   481,
4536
     483,   482,   484,   484,   484,   484,   484,   484,   484,   484,
4537
     484,   485,   486,   486,   487,   488,   489,   490,   491,   491,
4538
     492,   492,   492,   493,   493,   493,   494,   495,   496,   497,
4539
     497,   497,   498,   498,   498,   498,   498,   498,   498,   498,
4540
     498,   498,   498,   498,   499,   499,   499,   500,   500,   500,
4541
     500,   500,   500,   500,   500,   500,   500,   500,   500,   500,
4542
     500,   500,   500,   500,   500,   500,   500,   500,   500,   500,
4543
     500,   500,   500,   500,   500,   500,   500,   500,   500,   500,
4544
     500,   500,   500,   500,   500,   500,   500,   500,   501,   502,
4545
     502,   502,   503,   503,   503,   503,   503,   503,   503,   503,
4546
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4547
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4548
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4549
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4550
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4551
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4552
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4553
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4554
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4555
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4556
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4557
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4558
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4559
     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
4560
     503,   503,   503,   503,   503,   503,   503,   504,   503,   503,
4561
     505,   505,   505,   506,   507,   507,   507,   507,   507,   507,
4562
     507,   507,   507,   507
4563
};
4564
4565
  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
4566
static const yytype_int8 yyr2[] =
4567
{
4568
       0,     2,     1,     2,     1,     2,     1,     1,     1,     1,
4569
       1,     0,     2,     0,     2,     1,     0,     2,     0,     2,
4570
       0,     2,     1,     1,     1,     1,     1,     1,     3,     3,
4571
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4572
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4573
       1,     1,     3,     3,     5,     3,     1,     3,     3,     5,
4574
       3,     1,     2,     1,     2,     2,     2,     1,     3,     1,
4575
       3,     1,     1,     2,     2,     1,     3,     1,     7,     5,
4576
       9,     7,     5,     3,     3,     3,     3,     5,     7,     3,
4577
       3,     3,     3,     3,     3,     3,     1,     2,     1,     3,
4578
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4579
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4580
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4581
       3,     3,     3,     3,     2,     3,     2,     3,     2,     3,
4582
       2,     3,     2,     3,     2,     3,     2,     3,     2,     3,
4583
       2,     3,     2,     3,     2,     3,     2,     3,     2,     3,
4584
       2,     3,     2,     3,     2,     3,     2,     3,     2,     3,
4585
       2,     3,     2,     3,     2,     3,     2,     3,     2,     3,
4586
       2,     3,     2,     3,     2,     3,     2,     3,     2,     3,
4587
       2,     3,     2,     3,     2,     3,     2,     3,     2,     3,
4588
       2,     3,     2,     3,     2,     3,     2,     3,     3,     3,
4589
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4590
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4591
       3,     3,     3,     3,     3,     3,     3,     0,     6,     3,
4592
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4593
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4594
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4595
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4596
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4597
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4598
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4599
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4600
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4601
       3,     3,     3,     3,     2,     3,     2,     3,     2,     3,
4602
       2,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4603
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4604
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4605
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4606
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4607
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4608
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4609
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4610
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4611
       4,     5,     6,     7,     9,     8,     9,    11,    10,    12,
4612
       5,     6,     7,     8,     3,     3,     3,     3,     3,     3,
4613
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4614
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4615
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4616
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4617
       3,     3,     2,     3,     3,     3,     3,     3,     3,     3,
4618
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4619
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4620
       3,     5,     5,     5,     5,     5,     5,     5,     5,     5,
4621
       5,     5,     5,     3,     3,     3,     3,     3,     3,     3,
4622
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4623
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4624
       3,     3,     3,     3,     3,     3,     3,     3,     3,     6,
4625
       6,     6,     6,     6,     6,     1,     2,     1,     1,     1,
4626
       1,     1,     5,     5,     7,     7,     5,     8,     8,     2,
4627
       4,     6,     2,     2,     4,     6,     2,     2,     2,     3,
4628
       3,     8,     8,     2,     8,     8,     8,     2,     2,     2,
4629
       3,     3,     1,     1,     7,     1,     1,     3,     1,     1,
4630
       1,     1,     1,     4,     7,     2,     2,     1,     4,     7,
4631
       2,     1,     1,     0,     5,     2,     2,     0,     8,     5,
4632
       1,     4,     7,     2,     1,     4,     7,     2,     1,     7,
4633
       2,     2,     2,     2,     2,     2,     2,     1,     1,     1,
4634
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4635
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4636
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4637
       1,     1,     1,     1,     3,     3,     3,     2,     3,     3,
4638
       3,     2,     3,     3,     3,     3,     2,     3,     3,     3,
4639
       3,     3,     3,     3,     3,     3,     3,     3,     2,     3,
4640
       3,     3,     2,     3,     3,     1,     3,     1,     3,     3,
4641
       3,     3,     1,     1,     1,     1,     3,     3,     3,     3,
4642
       1,     1,     3,     2,     1,     2,     2,     1,     1,     1,
4643
       2,     2,     1,     2,     3,     5,     1,     4,     5,     3,
4644
       4,     3,     2,     4,     5,     3,     4,     4,     2,     1,
4645
       5,     4,     2,     5,     3,     1,     4,     4,     3,     1,
4646
       0,     3,     1,     1,     1,     1,     1,     1,     1,     1,
4647
       1,     1,     1,     3,     1,     2,     5,     4,     1,     1,
4648
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4649
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4650
       3,     3,     3,     3,     1,     1,     1,     1,     2,     2,
4651
       2,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4652
       3,     3,     3,     3,     3,     3,     4,     4,     2,     8,
4653
       2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
4654
       3,     3,     3,     3,     4,     4,     4,     2,     3,     1,
4655
       1,     1,     3,     4,     4,     4,     6,     6,     6,     6,
4656
       6,     4,     2,     4,     4,     4,     4,     6,     6,     6,
4657
       6,     6,     4,     2,     4,     4,     4,     4,     6,     6,
4658
       6,     6,     6,     4,     2,     4,     4,     4,     4,     6,
4659
       6,     6,     6,     6,     4,     2,     4,     4,     4,     4,
4660
       6,     6,     6,     6,     6,     4,     2,     4,     4,     6,
4661
       2,     4,     4,     4,     2,     4,     4,     2,     4,     4,
4662
       2,     6,     6,     6,     4,     2,     6,     2,     4,     4,
4663
       4,     2,     4,     4,     4,     2,     4,     4,     2,     4,
4664
       4,     2,     4,     4,     2,     4,     3,     2,     4,     3,
4665
       2,     4,     3,     4,     2,     4,     4,     2,     4,     4,
4666
       2,     4,     4,     2,     4,     4,     2,     4,     4,     2,
4667
       4,     3,     1,     3,     1,     3,     1,     4,     3,     1,
4668
       4,     4,     4,     4,     4,     2,     4,     4,     2,     4,
4669
       4,     2,     3,     1,     3,     1,     3,     1,     3,     1,
4670
       6,     6,     2,     4,     4,     2,     4,     0,     5,     2,
4671
       0,     3,     1,     1,     3,     2,     1,     3,     2,     1,
4672
       1,     3,     2,     1
4673
};
4674
4675
4676
#define yyerrok         (yyerrstatus = 0)
4677
#define yyclearin       (yychar = YYEMPTY)
4678
0
#define YYEMPTY         (-2)
4679
0
#define YYEOF           0
4680
4681
0
#define YYACCEPT        goto yyacceptlab
4682
0
#define YYABORT         goto yyabortlab
4683
0
#define YYERROR         goto yyerrorlab
4684
4685
4686
#define YYRECOVERING()  (!!yyerrstatus)
4687
4688
#define YYBACKUP(Token, Value)                                    \
4689
  do                                                              \
4690
    if (yychar == YYEMPTY)                                        \
4691
      {                                                           \
4692
        yychar = (Token);                                         \
4693
        yylval = (Value);                                         \
4694
        YYPOPSTACK (yylen);                                       \
4695
        yystate = *yyssp;                                         \
4696
        goto yybackup;                                            \
4697
      }                                                           \
4698
    else                                                          \
4699
      {                                                           \
4700
        yyerror (YY_("syntax error: cannot back up")); \
4701
        YYERROR;                                                  \
4702
      }                                                           \
4703
  while (0)
4704
4705
/* Error token number */
4706
0
#define YYTERROR        1
4707
#define YYERRCODE       256
4708
4709
4710
4711
/* Enable debugging if requested.  */
4712
#if YYDEBUG
4713
4714
# ifndef YYFPRINTF
4715
#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
4716
#  define YYFPRINTF fprintf
4717
# endif
4718
4719
# define YYDPRINTF(Args)                        \
4720
do {                                            \
4721
  if (yydebug)                                  \
4722
    YYFPRINTF Args;                             \
4723
} while (0)
4724
4725
/* This macro is provided for backward compatibility. */
4726
#ifndef YY_LOCATION_PRINT
4727
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
4728
#endif
4729
4730
4731
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
4732
do {                                                                      \
4733
  if (yydebug)                                                            \
4734
    {                                                                     \
4735
      YYFPRINTF (stderr, "%s ", Title);                                   \
4736
      yy_symbol_print (stderr,                                            \
4737
                  Type, Value); \
4738
      YYFPRINTF (stderr, "\n");                                           \
4739
    }                                                                     \
4740
} while (0)
4741
4742
4743
/*-----------------------------------.
4744
| Print this symbol's value on YYO.  |
4745
`-----------------------------------*/
4746
4747
static void
4748
yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
4749
{
4750
  FILE *yyoutput = yyo;
4751
  YYUSE (yyoutput);
4752
  if (!yyvaluep)
4753
    return;
4754
# ifdef YYPRINT
4755
  if (yytype < YYNTOKENS)
4756
    YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
4757
# endif
4758
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4759
  YYUSE (yytype);
4760
  YY_IGNORE_MAYBE_UNINITIALIZED_END
4761
}
4762
4763
4764
/*---------------------------.
4765
| Print this symbol on YYO.  |
4766
`---------------------------*/
4767
4768
static void
4769
yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
4770
{
4771
  YYFPRINTF (yyo, "%s %s (",
4772
             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
4773
4774
  yy_symbol_value_print (yyo, yytype, yyvaluep);
4775
  YYFPRINTF (yyo, ")");
4776
}
4777
4778
/*------------------------------------------------------------------.
4779
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
4780
| TOP (included).                                                   |
4781
`------------------------------------------------------------------*/
4782
4783
static void
4784
yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
4785
{
4786
  YYFPRINTF (stderr, "Stack now");
4787
  for (; yybottom <= yytop; yybottom++)
4788
    {
4789
      int yybot = *yybottom;
4790
      YYFPRINTF (stderr, " %d", yybot);
4791
    }
4792
  YYFPRINTF (stderr, "\n");
4793
}
4794
4795
# define YY_STACK_PRINT(Bottom, Top)                            \
4796
do {                                                            \
4797
  if (yydebug)                                                  \
4798
    yy_stack_print ((Bottom), (Top));                           \
4799
} while (0)
4800
4801
4802
/*------------------------------------------------.
4803
| Report that the YYRULE is going to be reduced.  |
4804
`------------------------------------------------*/
4805
4806
static void
4807
yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule)
4808
{
4809
  int yylno = yyrline[yyrule];
4810
  int yynrhs = yyr2[yyrule];
4811
  int yyi;
4812
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
4813
             yyrule - 1, yylno);
4814
  /* The symbols being reduced.  */
4815
  for (yyi = 0; yyi < yynrhs; yyi++)
4816
    {
4817
      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
4818
      yy_symbol_print (stderr,
4819
                       yystos[+yyssp[yyi + 1 - yynrhs]],
4820
                       &yyvsp[(yyi + 1) - (yynrhs)]
4821
                                              );
4822
      YYFPRINTF (stderr, "\n");
4823
    }
4824
}
4825
4826
# define YY_REDUCE_PRINT(Rule)          \
4827
do {                                    \
4828
  if (yydebug)                          \
4829
    yy_reduce_print (yyssp, yyvsp, Rule); \
4830
} while (0)
4831
4832
/* Nonzero means print parse trace.  It is left uninitialized so that
4833
   multiple parsers can coexist.  */
4834
int yydebug;
4835
#else /* !YYDEBUG */
4836
# define YYDPRINTF(Args)
4837
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
4838
# define YY_STACK_PRINT(Bottom, Top)
4839
# define YY_REDUCE_PRINT(Rule)
4840
#endif /* !YYDEBUG */
4841
4842
4843
/* YYINITDEPTH -- initial size of the parser's stacks.  */
4844
#ifndef YYINITDEPTH
4845
0
# define YYINITDEPTH 200
4846
#endif
4847
4848
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
4849
   if the built-in stack extension method is used).
4850
4851
   Do not make this value too large; the results are undefined if
4852
   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
4853
   evaluated with infinite-precision integer arithmetic.  */
4854
4855
#ifndef YYMAXDEPTH
4856
0
# define YYMAXDEPTH 10000
4857
#endif
4858
4859
4860
#if YYERROR_VERBOSE
4861
4862
# ifndef yystrlen
4863
#  if defined __GLIBC__ && defined _STRING_H
4864
#   define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
4865
#  else
4866
/* Return the length of YYSTR.  */
4867
static YYPTRDIFF_T
4868
yystrlen (const char *yystr)
4869
{
4870
  YYPTRDIFF_T yylen;
4871
  for (yylen = 0; yystr[yylen]; yylen++)
4872
    continue;
4873
  return yylen;
4874
}
4875
#  endif
4876
# endif
4877
4878
# ifndef yystpcpy
4879
#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4880
#   define yystpcpy stpcpy
4881
#  else
4882
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4883
   YYDEST.  */
4884
static char *
4885
yystpcpy (char *yydest, const char *yysrc)
4886
{
4887
  char *yyd = yydest;
4888
  const char *yys = yysrc;
4889
4890
  while ((*yyd++ = *yys++) != '\0')
4891
    continue;
4892
4893
  return yyd - 1;
4894
}
4895
#  endif
4896
# endif
4897
4898
# ifndef yytnamerr
4899
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4900
   quotes and backslashes, so that it's suitable for yyerror.  The
4901
   heuristic is that double-quoting is unnecessary unless the string
4902
   contains an apostrophe, a comma, or backslash (other than
4903
   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
4904
   null, do not copy; instead, return the length of what the result
4905
   would have been.  */
4906
static YYPTRDIFF_T
4907
yytnamerr (char *yyres, const char *yystr)
4908
{
4909
  if (*yystr == '"')
4910
    {
4911
      YYPTRDIFF_T yyn = 0;
4912
      char const *yyp = yystr;
4913
4914
      for (;;)
4915
        switch (*++yyp)
4916
          {
4917
          case '\'':
4918
          case ',':
4919
            goto do_not_strip_quotes;
4920
4921
          case '\\':
4922
            if (*++yyp != '\\')
4923
              goto do_not_strip_quotes;
4924
            else
4925
              goto append;
4926
4927
          append:
4928
          default:
4929
            if (yyres)
4930
              yyres[yyn] = *yyp;
4931
            yyn++;
4932
            break;
4933
4934
          case '"':
4935
            if (yyres)
4936
              yyres[yyn] = '\0';
4937
            return yyn;
4938
          }
4939
    do_not_strip_quotes: ;
4940
    }
4941
4942
  if (yyres)
4943
    return yystpcpy (yyres, yystr) - yyres;
4944
  else
4945
    return yystrlen (yystr);
4946
}
4947
# endif
4948
4949
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
4950
   about the unexpected token YYTOKEN for the state stack whose top is
4951
   YYSSP.
4952
4953
   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
4954
   not large enough to hold the message.  In that case, also set
4955
   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
4956
   required number of bytes is too large to store.  */
4957
static int
4958
yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
4959
                yy_state_t *yyssp, int yytoken)
4960
{
4961
  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
4962
  /* Internationalized format string. */
4963
  const char *yyformat = YY_NULLPTR;
4964
  /* Arguments of yyformat: reported tokens (one for the "unexpected",
4965
     one per "expected"). */
4966
  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
4967
  /* Actual size of YYARG. */
4968
  int yycount = 0;
4969
  /* Cumulated lengths of YYARG.  */
4970
  YYPTRDIFF_T yysize = 0;
4971
4972
  /* There are many possibilities here to consider:
4973
     - If this state is a consistent state with a default action, then
4974
       the only way this function was invoked is if the default action
4975
       is an error action.  In that case, don't check for expected
4976
       tokens because there are none.
4977
     - The only way there can be no lookahead present (in yychar) is if
4978
       this state is a consistent state with a default action.  Thus,
4979
       detecting the absence of a lookahead is sufficient to determine
4980
       that there is no unexpected or expected token to report.  In that
4981
       case, just report a simple "syntax error".
4982
     - Don't assume there isn't a lookahead just because this state is a
4983
       consistent state with a default action.  There might have been a
4984
       previous inconsistent state, consistent state with a non-default
4985
       action, or user semantic action that manipulated yychar.
4986
     - Of course, the expected token list depends on states to have
4987
       correct lookahead information, and it depends on the parser not
4988
       to perform extra reductions after fetching a lookahead from the
4989
       scanner and before detecting a syntax error.  Thus, state merging
4990
       (from LALR or IELR) and default reductions corrupt the expected
4991
       token list.  However, the list is correct for canonical LR with
4992
       one exception: it will still contain any token that will not be
4993
       accepted due to an error action in a later state.
4994
  */
4995
  if (yytoken != YYEMPTY)
4996
    {
4997
      int yyn = yypact[+*yyssp];
4998
      YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
4999
      yysize = yysize0;
5000
      yyarg[yycount++] = yytname[yytoken];
5001
      if (!yypact_value_is_default (yyn))
5002
        {
5003
          /* Start YYX at -YYN if negative to avoid negative indexes in
5004
             YYCHECK.  In other words, skip the first -YYN actions for
5005
             this state because they are default actions.  */
5006
          int yyxbegin = yyn < 0 ? -yyn : 0;
5007
          /* Stay within bounds of both yycheck and yytname.  */
5008
          int yychecklim = YYLAST - yyn + 1;
5009
          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
5010
          int yyx;
5011
5012
          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
5013
            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
5014
                && !yytable_value_is_error (yytable[yyx + yyn]))
5015
              {
5016
                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
5017
                  {
5018
                    yycount = 1;
5019
                    yysize = yysize0;
5020
                    break;
5021
                  }
5022
                yyarg[yycount++] = yytname[yyx];
5023
                {
5024
                  YYPTRDIFF_T yysize1
5025
                    = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
5026
                  if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
5027
                    yysize = yysize1;
5028
                  else
5029
                    return 2;
5030
                }
5031
              }
5032
        }
5033
    }
5034
5035
  switch (yycount)
5036
    {
5037
# define YYCASE_(N, S)                      \
5038
      case N:                               \
5039
        yyformat = S;                       \
5040
      break
5041
    default: /* Avoid compiler warnings. */
5042
      YYCASE_(0, YY_("syntax error"));
5043
      YYCASE_(1, YY_("syntax error, unexpected %s"));
5044
      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
5045
      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
5046
      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
5047
      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
5048
# undef YYCASE_
5049
    }
5050
5051
  {
5052
    /* Don't count the "%s"s in the final size, but reserve room for
5053
       the terminator.  */
5054
    YYPTRDIFF_T yysize1 = yysize + (yystrlen (yyformat) - 2 * yycount) + 1;
5055
    if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
5056
      yysize = yysize1;
5057
    else
5058
      return 2;
5059
  }
5060
5061
  if (*yymsg_alloc < yysize)
5062
    {
5063
      *yymsg_alloc = 2 * yysize;
5064
      if (! (yysize <= *yymsg_alloc
5065
             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
5066
        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
5067
      return 1;
5068
    }
5069
5070
  /* Avoid sprintf, as that infringes on the user's name space.
5071
     Don't have undefined behavior even if the translation
5072
     produced a string with the wrong number of "%s"s.  */
5073
  {
5074
    char *yyp = *yymsg;
5075
    int yyi = 0;
5076
    while ((*yyp = *yyformat) != '\0')
5077
      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
5078
        {
5079
          yyp += yytnamerr (yyp, yyarg[yyi++]);
5080
          yyformat += 2;
5081
        }
5082
      else
5083
        {
5084
          ++yyp;
5085
          ++yyformat;
5086
        }
5087
  }
5088
  return 0;
5089
}
5090
#endif /* YYERROR_VERBOSE */
5091
5092
/*-----------------------------------------------.
5093
| Release the memory associated to this symbol.  |
5094
`-----------------------------------------------*/
5095
5096
static void
5097
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
5098
0
{
5099
0
  YYUSE (yyvaluep);
5100
0
  if (!yymsg)
5101
0
    yymsg = "Deleting";
5102
0
  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
5103
5104
0
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5105
0
  YYUSE (yytype);
5106
0
  YY_IGNORE_MAYBE_UNINITIALIZED_END
5107
0
}
5108
5109
5110
5111
5112
/* The lookahead symbol.  */
5113
int yychar;
5114
5115
/* The semantic value of the lookahead symbol.  */
5116
YYSTYPE yylval;
5117
/* Number of syntax errors so far.  */
5118
int yynerrs;
5119
5120
5121
/*----------.
5122
| yyparse.  |
5123
`----------*/
5124
5125
int
5126
yyparse (void)
5127
0
{
5128
0
    yy_state_fast_t yystate;
5129
    /* Number of tokens to shift before error messages enabled.  */
5130
0
    int yyerrstatus;
5131
5132
    /* The stacks and their tools:
5133
       'yyss': related to states.
5134
       'yyvs': related to semantic values.
5135
5136
       Refer to the stacks through separate pointers, to allow yyoverflow
5137
       to reallocate them elsewhere.  */
5138
5139
    /* The state stack.  */
5140
0
    yy_state_t yyssa[YYINITDEPTH];
5141
0
    yy_state_t *yyss;
5142
0
    yy_state_t *yyssp;
5143
5144
    /* The semantic value stack.  */
5145
0
    YYSTYPE yyvsa[YYINITDEPTH];
5146
0
    YYSTYPE *yyvs;
5147
0
    YYSTYPE *yyvsp;
5148
5149
0
    YYPTRDIFF_T yystacksize;
5150
5151
0
  int yyn;
5152
0
  int yyresult;
5153
  /* Lookahead token as an internal (translated) token number.  */
5154
0
  int yytoken = 0;
5155
  /* The variables used to return semantic value and location from the
5156
     action routines.  */
5157
0
  YYSTYPE yyval;
5158
5159
#if YYERROR_VERBOSE
5160
  /* Buffer for error messages, and its allocated size.  */
5161
  char yymsgbuf[128];
5162
  char *yymsg = yymsgbuf;
5163
  YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
5164
#endif
5165
5166
0
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
5167
5168
  /* The number of symbols on the RHS of the reduced rule.
5169
     Keep to zero when no symbol should be popped.  */
5170
0
  int yylen = 0;
5171
5172
0
  yyssp = yyss = yyssa;
5173
0
  yyvsp = yyvs = yyvsa;
5174
0
  yystacksize = YYINITDEPTH;
5175
5176
0
  YYDPRINTF ((stderr, "Starting parse\n"));
5177
5178
0
  yystate = 0;
5179
0
  yyerrstatus = 0;
5180
0
  yynerrs = 0;
5181
0
  yychar = YYEMPTY; /* Cause a token to be read.  */
5182
0
  goto yysetstate;
5183
5184
5185
/*------------------------------------------------------------.
5186
| yynewstate -- push a new state, which is found in yystate.  |
5187
`------------------------------------------------------------*/
5188
0
yynewstate:
5189
  /* In all cases, when you get here, the value and location stacks
5190
     have just been pushed.  So pushing a state here evens the stacks.  */
5191
0
  yyssp++;
5192
5193
5194
/*--------------------------------------------------------------------.
5195
| yysetstate -- set current state (the top of the stack) to yystate.  |
5196
`--------------------------------------------------------------------*/
5197
0
yysetstate:
5198
0
  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
5199
0
  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
5200
0
  YY_IGNORE_USELESS_CAST_BEGIN
5201
0
  *yyssp = YY_CAST (yy_state_t, yystate);
5202
0
  YY_IGNORE_USELESS_CAST_END
5203
5204
0
  if (yyss + yystacksize - 1 <= yyssp)
5205
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
5206
    goto yyexhaustedlab;
5207
#else
5208
0
    {
5209
      /* Get the current used size of the three stacks, in elements.  */
5210
0
      YYPTRDIFF_T yysize = yyssp - yyss + 1;
5211
5212
# if defined yyoverflow
5213
      {
5214
        /* Give user a chance to reallocate the stack.  Use copies of
5215
           these so that the &'s don't force the real ones into
5216
           memory.  */
5217
        yy_state_t *yyss1 = yyss;
5218
        YYSTYPE *yyvs1 = yyvs;
5219
5220
        /* Each stack pointer address is followed by the size of the
5221
           data in use in that stack, in bytes.  This used to be a
5222
           conditional around just the two extra args, but that might
5223
           be undefined if yyoverflow is a macro.  */
5224
        yyoverflow (YY_("memory exhausted"),
5225
                    &yyss1, yysize * YYSIZEOF (*yyssp),
5226
                    &yyvs1, yysize * YYSIZEOF (*yyvsp),
5227
                    &yystacksize);
5228
        yyss = yyss1;
5229
        yyvs = yyvs1;
5230
      }
5231
# else /* defined YYSTACK_RELOCATE */
5232
      /* Extend the stack our own way.  */
5233
0
      if (YYMAXDEPTH <= yystacksize)
5234
0
        goto yyexhaustedlab;
5235
0
      yystacksize *= 2;
5236
0
      if (YYMAXDEPTH < yystacksize)
5237
0
        yystacksize = YYMAXDEPTH;
5238
5239
0
      {
5240
0
        yy_state_t *yyss1 = yyss;
5241
0
        union yyalloc *yyptr =
5242
0
          YY_CAST (union yyalloc *,
5243
0
                   YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
5244
0
        if (! yyptr)
5245
0
          goto yyexhaustedlab;
5246
0
        YYSTACK_RELOCATE (yyss_alloc, yyss);
5247
0
        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
5248
0
# undef YYSTACK_RELOCATE
5249
0
        if (yyss1 != yyssa)
5250
0
          YYSTACK_FREE (yyss1);
5251
0
      }
5252
0
# endif
5253
5254
0
      yyssp = yyss + yysize - 1;
5255
0
      yyvsp = yyvs + yysize - 1;
5256
5257
0
      YY_IGNORE_USELESS_CAST_BEGIN
5258
0
      YYDPRINTF ((stderr, "Stack size increased to %ld\n",
5259
0
                  YY_CAST (long, yystacksize)));
5260
0
      YY_IGNORE_USELESS_CAST_END
5261
5262
0
      if (yyss + yystacksize - 1 <= yyssp)
5263
0
        YYABORT;
5264
0
    }
5265
0
#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
5266
5267
0
  if (yystate == YYFINAL)
5268
0
    YYACCEPT;
5269
5270
0
  goto yybackup;
5271
5272
5273
/*-----------.
5274
| yybackup.  |
5275
`-----------*/
5276
0
yybackup:
5277
  /* Do appropriate processing given the current state.  Read a
5278
     lookahead token if we need one and don't already have one.  */
5279
5280
  /* First try to decide what to do without reference to lookahead token.  */
5281
0
  yyn = yypact[yystate];
5282
0
  if (yypact_value_is_default (yyn))
5283
0
    goto yydefault;
5284
5285
  /* Not known => get a lookahead token if don't already have one.  */
5286
5287
  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
5288
0
  if (yychar == YYEMPTY)
5289
0
    {
5290
0
      YYDPRINTF ((stderr, "Reading a token: "));
5291
0
      yychar = yylex ();
5292
0
    }
5293
5294
0
  if (yychar <= YYEOF)
5295
0
    {
5296
0
      yychar = yytoken = YYEOF;
5297
0
      YYDPRINTF ((stderr, "Now at end of input.\n"));
5298
0
    }
5299
0
  else
5300
0
    {
5301
0
      yytoken = YYTRANSLATE (yychar);
5302
0
      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
5303
0
    }
5304
5305
  /* If the proper action on seeing token YYTOKEN is to reduce or to
5306
     detect an error, take that action.  */
5307
0
  yyn += yytoken;
5308
0
  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
5309
0
    goto yydefault;
5310
0
  yyn = yytable[yyn];
5311
0
  if (yyn <= 0)
5312
0
    {
5313
0
      if (yytable_value_is_error (yyn))
5314
0
        goto yyerrlab;
5315
0
      yyn = -yyn;
5316
0
      goto yyreduce;
5317
0
    }
5318
5319
  /* Count tokens shifted since error; after three, turn off error
5320
     status.  */
5321
0
  if (yyerrstatus)
5322
0
    yyerrstatus--;
5323
5324
  /* Shift the lookahead token.  */
5325
0
  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
5326
0
  yystate = yyn;
5327
0
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5328
0
  *++yyvsp = yylval;
5329
0
  YY_IGNORE_MAYBE_UNINITIALIZED_END
5330
5331
  /* Discard the shifted token.  */
5332
0
  yychar = YYEMPTY;
5333
0
  goto yynewstate;
5334
5335
5336
/*-----------------------------------------------------------.
5337
| yydefault -- do the default action for the current state.  |
5338
`-----------------------------------------------------------*/
5339
0
yydefault:
5340
0
  yyn = yydefact[yystate];
5341
0
  if (yyn == 0)
5342
0
    goto yyerrlab;
5343
0
  goto yyreduce;
5344
5345
5346
/*-----------------------------.
5347
| yyreduce -- do a reduction.  |
5348
`-----------------------------*/
5349
0
yyreduce:
5350
  /* yyn is the number of a rule to reduce with.  */
5351
0
  yylen = yyr2[yyn];
5352
5353
  /* If YYLEN is nonzero, implement the default value of the action:
5354
     '$$ = $1'.
5355
5356
     Otherwise, the following line sets YYVAL to garbage.
5357
     This behavior is undocumented and Bison
5358
     users should not rely upon it.  Assigning to YYVAL
5359
     unconditionally makes the parser a bit smaller, and it avoids a
5360
     GCC warning that YYVAL may be used uninitialized.  */
5361
0
  yyval = yyvsp[1-yylen];
5362
5363
5364
0
  YY_REDUCE_PRINT (yyn);
5365
0
  switch (yyn)
5366
0
    {
5367
0
  case 3:
5368
0
#line 685 "core/cfg.y"
5369
0
                             {}
5370
0
#line 5371 "core/cfg.tab.c"
5371
0
    break;
5372
5373
0
  case 4:
5374
0
#line 686 "core/cfg.y"
5375
0
                    {}
5376
0
#line 5377 "core/cfg.tab.c"
5377
0
    break;
5378
5379
0
  case 5:
5380
0
#line 687 "core/cfg.y"
5381
0
                           { yyerror(""); YYABORT;}
5382
0
#line 5383 "core/cfg.tab.c"
5383
0
    break;
5384
5385
0
  case 11:
5386
0
#line 695 "core/cfg.y"
5387
0
          {rt=REQUEST_ROUTE;}
5388
0
#line 5389 "core/cfg.tab.c"
5389
0
    break;
5390
5391
0
  case 13:
5392
0
#line 696 "core/cfg.y"
5393
0
          {rt=FAILURE_ROUTE;}
5394
0
#line 5395 "core/cfg.tab.c"
5395
0
    break;
5396
5397
0
  case 16:
5398
0
#line 698 "core/cfg.y"
5399
0
          {rt=BRANCH_ROUTE;}
5400
0
#line 5401 "core/cfg.tab.c"
5401
0
    break;
5402
5403
0
  case 18:
5404
0
#line 699 "core/cfg.y"
5405
0
          {rt=ONSEND_ROUTE;}
5406
0
#line 5407 "core/cfg.tab.c"
5407
0
    break;
5408
5409
0
  case 20:
5410
0
#line 700 "core/cfg.y"
5411
0
          {rt=EVENT_ROUTE;}
5412
0
#line 5413 "core/cfg.tab.c"
5413
0
    break;
5414
5415
0
  case 24:
5416
0
#line 705 "core/cfg.y"
5417
0
           {
5418
0
    if ((yyvsp[0].ipaddr)){
5419
0
      tmp=ip_addr2a((yyvsp[0].ipaddr));
5420
0
      if (tmp==0) {
5421
0
        LM_CRIT("cfg. parser: bad ip address.\n");
5422
0
        (yyval.strval)=0;
5423
0
      } else {
5424
0
        i_tmp=strlen(tmp)+1;
5425
0
        (yyval.strval)=pkg_malloc(i_tmp);
5426
0
        if ((yyval.strval)==0) {
5427
0
          PKG_MEM_CRITICAL;
5428
0
        } else {
5429
0
          strncpy((yyval.strval), tmp, i_tmp);
5430
0
        }
5431
0
      }
5432
0
    }
5433
0
  }
5434
0
#line 5435 "core/cfg.tab.c"
5435
0
    break;
5436
5437
0
  case 25:
5438
0
#line 722 "core/cfg.y"
5439
0
                 {
5440
0
    (yyval.strval)=pkg_malloc(strlen((yyvsp[0].strval))+1);
5441
0
    if ((yyval.strval)==0) {
5442
0
        PKG_MEM_CRITICAL;
5443
0
    } else {
5444
0
        i_tmp=strlen((yyvsp[0].strval))+1;
5445
0
        strncpy((yyval.strval), (yyvsp[0].strval), i_tmp);
5446
0
    }
5447
0
  }
5448
0
#line 5449 "core/cfg.tab.c"
5449
0
    break;
5450
5451
0
  case 26:
5452
0
#line 731 "core/cfg.y"
5453
0
                     {
5454
0
    if ((yyvsp[0].strval)){
5455
0
      (yyval.strval)=pkg_malloc(strlen((yyvsp[0].strval))+1);
5456
0
      if ((yyval.strval)==0) {
5457
0
          PKG_MEM_CRITICAL;
5458
0
      } else {
5459
0
          i_tmp=strlen((yyvsp[0].strval))+1;
5460
0
          strncpy((yyval.strval), (yyvsp[0].strval), i_tmp);
5461
0
      }
5462
0
    }
5463
0
  }
5464
0
#line 5465 "core/cfg.tab.c"
5465
0
    break;
5466
5467
0
  case 27:
5468
0
#line 746 "core/cfg.y"
5469
0
                        { (yyval.name_l)=mk_name_lst((yyvsp[0].strval), SI_IS_MHOMED); }
5470
0
#line 5471 "core/cfg.tab.c"
5471
0
    break;
5472
5473
0
  case 28:
5474
0
#line 747 "core/cfg.y"
5475
0
                                        { (yyval.name_l)=mk_name_lst((yyvsp[-2].strval), SI_IS_MHOMED);
5476
0
                    if ((yyval.name_l)) (yyval.name_l)->next=(yyvsp[0].name_l);
5477
0
                  }
5478
0
#line 5479 "core/cfg.tab.c"
5479
0
    break;
5480
5481
0
  case 29:
5482
0
#line 753 "core/cfg.y"
5483
0
                                    { (yyval.name_l)=(yyvsp[-1].name_l); }
5484
0
#line 5485 "core/cfg.tab.c"
5485
0
    break;
5486
5487
0
  case 30:
5488
0
#line 754 "core/cfg.y"
5489
0
                        { (yyval.name_l)=mk_name_lst((yyvsp[0].strval), 0); }
5490
0
#line 5491 "core/cfg.tab.c"
5491
0
    break;
5492
5493
0
  case 31:
5494
0
#line 758 "core/cfg.y"
5495
0
                { (yyval.intval)=PROTO_UDP; }
5496
0
#line 5497 "core/cfg.tab.c"
5497
0
    break;
5498
5499
0
  case 32:
5500
0
#line 759 "core/cfg.y"
5501
0
                { (yyval.intval)=PROTO_TCP; }
5502
0
#line 5503 "core/cfg.tab.c"
5503
0
    break;
5504
5505
0
  case 33:
5506
0
#line 760 "core/cfg.y"
5507
0
                { (yyval.intval)=PROTO_TLS; }
5508
0
#line 5509 "core/cfg.tab.c"
5509
0
    break;
5510
5511
0
  case 34:
5512
0
#line 761 "core/cfg.y"
5513
0
                { (yyval.intval)=PROTO_SCTP; }
5514
0
#line 5515 "core/cfg.tab.c"
5515
0
    break;
5516
5517
0
  case 35:
5518
0
#line 762 "core/cfg.y"
5519
0
                { (yyval.intval)=0; }
5520
0
#line 5521 "core/cfg.tab.c"
5521
0
    break;
5522
5523
0
  case 36:
5524
0
#line 765 "core/cfg.y"
5525
0
                { (yyval.intval)=PROTO_UDP; }
5526
0
#line 5527 "core/cfg.tab.c"
5527
0
    break;
5528
5529
0
  case 37:
5530
0
#line 766 "core/cfg.y"
5531
0
                { (yyval.intval)=PROTO_TCP; }
5532
0
#line 5533 "core/cfg.tab.c"
5533
0
    break;
5534
5535
0
  case 38:
5536
0
#line 767 "core/cfg.y"
5537
0
                { (yyval.intval)=PROTO_TLS; }
5538
0
#line 5539 "core/cfg.tab.c"
5539
0
    break;
5540
5541
0
  case 39:
5542
0
#line 768 "core/cfg.y"
5543
0
                { (yyval.intval)=PROTO_SCTP; }
5544
0
#line 5545 "core/cfg.tab.c"
5545
0
    break;
5546
5547
0
  case 40:
5548
0
#line 769 "core/cfg.y"
5549
0
                { (yyval.intval)=PROTO_WS; }
5550
0
#line 5551 "core/cfg.tab.c"
5551
0
    break;
5552
5553
0
  case 41:
5554
0
#line 770 "core/cfg.y"
5555
0
                { (yyval.intval)=PROTO_WSS; }
5556
0
#line 5557 "core/cfg.tab.c"
5557
0
    break;
5558
5559
0
  case 42:
5560
0
#line 771 "core/cfg.y"
5561
0
                { (yyval.intval)=0; }
5562
0
#line 5563 "core/cfg.tab.c"
5563
0
    break;
5564
5565
0
  case 43:
5566
0
#line 774 "core/cfg.y"
5567
0
                { (yyval.intval)=PROTO_UDP; }
5568
0
#line 5569 "core/cfg.tab.c"
5569
0
    break;
5570
5571
0
  case 44:
5572
0
#line 775 "core/cfg.y"
5573
0
                { (yyval.intval)=PROTO_TCP; }
5574
0
#line 5575 "core/cfg.tab.c"
5575
0
    break;
5576
5577
0
  case 45:
5578
0
#line 776 "core/cfg.y"
5579
0
                { (yyval.intval)=PROTO_TLS; }
5580
0
#line 5581 "core/cfg.tab.c"
5581
0
    break;
5582
5583
0
  case 46:
5584
0
#line 777 "core/cfg.y"
5585
0
                { (yyval.intval)=PROTO_SCTP; }
5586
0
#line 5587 "core/cfg.tab.c"
5587
0
    break;
5588
5589
0
  case 47:
5590
0
#line 778 "core/cfg.y"
5591
0
                { (yyval.intval)=PROTO_WS; }
5592
0
#line 5593 "core/cfg.tab.c"
5593
0
    break;
5594
5595
0
  case 48:
5596
0
#line 779 "core/cfg.y"
5597
0
                { (yyval.intval)=PROTO_WSS; }
5598
0
#line 5599 "core/cfg.tab.c"
5599
0
    break;
5600
5601
0
  case 49:
5602
0
#line 783 "core/cfg.y"
5603
0
                { (yyval.intval)=(yyvsp[0].intval); }
5604
0
#line 5605 "core/cfg.tab.c"
5605
0
    break;
5606
5607
0
  case 50:
5608
0
#line 784 "core/cfg.y"
5609
0
                { (yyval.intval)=0; }
5610
0
#line 5611 "core/cfg.tab.c"
5611
0
    break;
5612
5613
0
  case 51:
5614
0
#line 787 "core/cfg.y"
5615
0
                                { (yyval.sockid)=mk_listen_id((yyvsp[0].strval), 0, 0); }
5616
0
#line 5617 "core/cfg.tab.c"
5617
0
    break;
5618
5619
0
  case 52:
5620
0
#line 788 "core/cfg.y"
5621
0
                                { (yyval.sockid)=mk_listen_id((yyvsp[-2].strval), 0, (yyvsp[0].intval)); }
5622
0
#line 5623 "core/cfg.tab.c"
5623
0
    break;
5624
5625
0
  case 53:
5626
0
#line 789 "core/cfg.y"
5627
0
                                { (yyval.sockid)=mk_listen_id((yyvsp[0].strval), (yyvsp[-2].intval), 0); }
5628
0
#line 5629 "core/cfg.tab.c"
5629
0
    break;
5630
5631
0
  case 54:
5632
0
#line 790 "core/cfg.y"
5633
0
                                                { (yyval.sockid)=mk_listen_id((yyvsp[-2].strval), (yyvsp[-4].intval), (yyvsp[0].intval));}
5634
0
#line 5635 "core/cfg.tab.c"
5635
0
    break;
5636
5637
0
  case 55:
5638
0
#line 791 "core/cfg.y"
5639
0
                                { (yyval.sockid)=0; yyerror("port number expected"); }
5640
0
#line 5641 "core/cfg.tab.c"
5641
0
    break;
5642
5643
0
  case 56:
5644
0
#line 795 "core/cfg.y"
5645
0
                                { (yyval.sockid)=mk_listen_id2((yyvsp[0].name_l), 0, 0); }
5646
0
#line 5647 "core/cfg.tab.c"
5647
0
    break;
5648
5649
0
  case 57:
5650
0
#line 796 "core/cfg.y"
5651
0
                                { (yyval.sockid)=mk_listen_id2((yyvsp[-2].name_l), 0, (yyvsp[0].intval)); }
5652
0
#line 5653 "core/cfg.tab.c"
5653
0
    break;
5654
5655
0
  case 58:
5656
0
#line 797 "core/cfg.y"
5657
0
                                        { (yyval.sockid)=mk_listen_id2((yyvsp[0].name_l), (yyvsp[-2].intval), 0); }
5658
0
#line 5659 "core/cfg.tab.c"
5659
0
    break;
5660
5661
0
  case 59:
5662
0
#line 798 "core/cfg.y"
5663
0
                                                { (yyval.sockid)=mk_listen_id2((yyvsp[-2].name_l), (yyvsp[-4].intval), (yyvsp[0].intval));}
5664
0
#line 5665 "core/cfg.tab.c"
5665
0
    break;
5666
5667
0
  case 60:
5668
0
#line 799 "core/cfg.y"
5669
0
                                 { (yyval.sockid)=0; yyerror("port number expected"); }
5670
0
#line 5671 "core/cfg.tab.c"
5671
0
    break;
5672
5673
0
  case 61:
5674
0
#line 803 "core/cfg.y"
5675
0
                                        {  (yyval.sockid)=(yyvsp[0].sockid) ; }
5676
0
#line 5677 "core/cfg.tab.c"
5677
0
    break;
5678
5679
0
  case 62:
5680
0
#line 804 "core/cfg.y"
5681
0
                                        { (yyval.sockid)=(yyvsp[-1].sockid);  if ((yyval.sockid)) (yyval.sockid)->next=(yyvsp[0].sockid); }
5682
0
#line 5683 "core/cfg.tab.c"
5683
0
    break;
5684
5685
0
  case 64:
5686
0
#line 808 "core/cfg.y"
5687
0
                                    { (yyval.intval)=-(yyvsp[0].intval); }
5688
0
#line 5689 "core/cfg.tab.c"
5689
0
    break;
5690
5691
0
  case 66:
5692
0
#line 812 "core/cfg.y"
5693
0
                                                 { yyerror("flag list expected\n"); }
5694
0
#line 5695 "core/cfg.tab.c"
5695
0
    break;
5696
5697
0
  case 69:
5698
0
#line 818 "core/cfg.y"
5699
0
                                        { if (register_flag((yyvsp[0].strval),-1)<0)
5700
0
                yyerror("register flag failed");
5701
0
            }
5702
0
#line 5703 "core/cfg.tab.c"
5703
0
    break;
5704
5705
0
  case 70:
5706
0
#line 821 "core/cfg.y"
5707
0
                                                       {
5708
0
            if (register_flag((yyvsp[-2].strval), (yyvsp[0].intval))<0)
5709
0
                yyerror("register flag failed");
5710
0
                    }
5711
0
#line 5712 "core/cfg.tab.c"
5712
0
    break;
5713
5714
0
  case 71:
5715
0
#line 827 "core/cfg.y"
5716
0
                                { (yyval.strval)=(yyvsp[0].strval); }
5717
0
#line 5718 "core/cfg.tab.c"
5718
0
    break;
5719
5720
0
  case 72:
5721
0
#line 828 "core/cfg.y"
5722
0
                                                { (yyval.strval)=(yyvsp[0].strval); }
5723
0
#line 5724 "core/cfg.tab.c"
5724
0
    break;
5725
5726
0
  case 74:
5727
0
#line 833 "core/cfg.y"
5728
0
                              { yyerror("avpflag list expected\n"); }
5729
0
#line 5730 "core/cfg.tab.c"
5730
0
    break;
5731
5732
0
  case 77:
5733
0
#line 840 "core/cfg.y"
5734
0
                  {
5735
0
    if (register_avpflag((yyvsp[0].strval))==0)
5736
0
      yyerror("cannot declare avpflag");
5737
0
  }
5738
0
#line 5739 "core/cfg.tab.c"
5739
0
    break;
5740
5741
0
  case 78:
5742
0
#line 846 "core/cfg.y"
5743
0
                                                        {
5744
0
      tmp_sa.bindproto = (yyvsp[-4].intval);
5745
0
      tmp_sa.bindaddr.s = (yyvsp[-2].strval);
5746
0
      tmp_sa.bindaddr.len = strlen(tmp_sa.bindaddr.s);
5747
0
      tmp_sa.bindport = (yyvsp[0].intval);
5748
0
    }
5749
0
#line 5750 "core/cfg.tab.c"
5750
0
    break;
5751
5752
0
  case 79:
5753
0
#line 852 "core/cfg.y"
5754
0
                                                {
5755
0
      tmp_sa.bindaddr.s = (yyvsp[-2].strval);
5756
0
      tmp_sa.bindaddr.len = strlen(tmp_sa.bindaddr.s);
5757
0
      tmp_sa.bindport = (yyvsp[0].intval);
5758
0
    }
5759
0
#line 5760 "core/cfg.tab.c"
5760
0
    break;
5761
5762
0
  case 80:
5763
0
#line 857 "core/cfg.y"
5764
0
                                                                        {
5765
0
      tmp_sa.bindproto = (yyvsp[-6].intval);
5766
0
      tmp_sa.bindaddr.s = (yyvsp[-4].strval);
5767
0
      tmp_sa.bindaddr.len = strlen(tmp_sa.bindaddr.s);
5768
0
      tmp_sa.bindport = (yyvsp[-2].intval);
5769
0
      tmp_sa.bindportend = (yyvsp[0].intval);
5770
0
    }
5771
0
#line 5772 "core/cfg.tab.c"
5772
0
    break;
5773
5774
0
  case 81:
5775
0
#line 864 "core/cfg.y"
5776
0
                                                        {
5777
0
      tmp_sa.bindaddr.s = (yyvsp[-4].strval);
5778
0
      tmp_sa.bindaddr.len = strlen(tmp_sa.bindaddr.s);
5779
0
      tmp_sa.bindport = (yyvsp[-2].intval);
5780
0
      tmp_sa.bindportend = (yyvsp[0].intval);
5781
0
    }
5782
0
#line 5783 "core/cfg.tab.c"
5783
0
    break;
5784
5785
0
  case 82:
5786
0
#line 870 "core/cfg.y"
5787
0
                                                {
5788
0
      tmp_sa.bindproto = (yyvsp[-2].intval);
5789
0
      tmp_sa.bindaddr.s = (yyvsp[0].strval);
5790
0
      tmp_sa.bindaddr.len = strlen(tmp_sa.bindaddr.s);
5791
0
    }
5792
0
#line 5793 "core/cfg.tab.c"
5793
0
    break;
5794
5795
0
  case 83:
5796
0
#line 875 "core/cfg.y"
5797
0
                                {
5798
0
      tmp_sa.bindaddr.s = (yyvsp[0].strval);
5799
0
      tmp_sa.bindaddr.len = strlen(tmp_sa.bindaddr.s);
5800
0
    }
5801
0
#line 5802 "core/cfg.tab.c"
5802
0
    break;
5803
5804
0
  case 84:
5805
0
#line 879 "core/cfg.y"
5806
0
                           { yyerror("string value expected"); }
5807
0
#line 5808 "core/cfg.tab.c"
5808
0
    break;
5809
5810
0
  case 85:
5811
0
#line 880 "core/cfg.y"
5812
0
                               {
5813
0
      tmp_sa.sockname.s = (yyvsp[0].strval);
5814
0
      tmp_sa.sockname.len = strlen(tmp_sa.sockname.s);
5815
0
    }
5816
0
#line 5817 "core/cfg.tab.c"
5817
0
    break;
5818
5819
0
  case 86:
5820
0
#line 884 "core/cfg.y"
5821
0
                              { yyerror("string value expected"); }
5822
0
#line 5823 "core/cfg.tab.c"
5823
0
    break;
5824
5825
0
  case 87:
5826
0
#line 885 "core/cfg.y"
5827
0
                                                 {
5828
0
      tmp_sa.useaddr.s = (yyvsp[-2].strval);
5829
0
      tmp_sa.useaddr.len = strlen(tmp_sa.useaddr.s);
5830
0
      tmp_sa.useport = (yyvsp[0].intval);
5831
0
    }
5832
0
#line 5833 "core/cfg.tab.c"
5833
0
    break;
5834
5835
0
  case 88:
5836
0
#line 890 "core/cfg.y"
5837
0
                                                             {
5838
0
      tmp_sa.useproto = (yyvsp[-4].intval);
5839
0
      tmp_sa.useaddr.s = (yyvsp[-2].strval);
5840
0
      tmp_sa.useaddr.len = strlen(tmp_sa.useaddr.s);
5841
0
      tmp_sa.useport = (yyvsp[0].intval);
5842
0
    }
5843
0
#line 5844 "core/cfg.tab.c"
5844
0
    break;
5845
5846
0
  case 89:
5847
0
#line 896 "core/cfg.y"
5848
0
                              {
5849
0
      tmp_sa.agname.s = (yyvsp[0].strval);
5850
0
      tmp_sa.agname.len = strlen(tmp_sa.agname.s);
5851
0
    }
5852
0
#line 5853 "core/cfg.tab.c"
5853
0
    break;
5854
5855
0
  case 90:
5856
0
#line 900 "core/cfg.y"
5857
0
                             { yyerror("string value expected"); }
5858
0
#line 5859 "core/cfg.tab.c"
5859
0
    break;
5860
5861
0
  case 91:
5862
0
#line 901 "core/cfg.y"
5863
0
                               { tmp_sa.workers=(yyvsp[0].intval); }
5864
0
#line 5865 "core/cfg.tab.c"
5865
0
    break;
5866
5867
0
  case 92:
5868
0
#line 902 "core/cfg.y"
5869
0
                              { yyerror("number expected"); }
5870
0
#line 5871 "core/cfg.tab.c"
5871
0
    break;
5872
5873
0
  case 93:
5874
0
#line 903 "core/cfg.y"
5875
0
                               { if((yyvsp[0].intval)!=0) { tmp_sa.sflags |= SI_IS_VIRTUAL; } }
5876
0
#line 5877 "core/cfg.tab.c"
5877
0
    break;
5878
5879
0
  case 94:
5880
0
#line 904 "core/cfg.y"
5881
0
                              { yyerror("number expected"); }
5882
0
#line 5883 "core/cfg.tab.c"
5883
0
    break;
5884
5885
0
  case 95:
5886
0
#line 905 "core/cfg.y"
5887
0
                           {
5888
0
      tmp_sa.vrf.s = (yyvsp[0].strval);
5889
0
      tmp_sa.vrf.len = strlen(tmp_sa.vrf.s);
5890
0
  }
5891
0
#line 5892 "core/cfg.tab.c"
5892
0
    break;
5893
5894
0
  case 96:
5895
0
#line 909 "core/cfg.y"
5896
0
                    {}
5897
0
#line 5898 "core/cfg.tab.c"
5898
0
    break;
5899
5900
0
  case 97:
5901
0
#line 912 "core/cfg.y"
5902
0
                                   {}
5903
0
#line 5904 "core/cfg.tab.c"
5904
0
    break;
5905
5906
0
  case 98:
5907
0
#line 913 "core/cfg.y"
5908
0
                       {}
5909
0
#line 5910 "core/cfg.tab.c"
5910
0
    break;
5911
5912
0
  case 99:
5913
0
#line 916 "core/cfg.y"
5914
0
                            { default_core_cfg.debug=(yyvsp[0].intval); }
5915
0
#line 5916 "core/cfg.tab.c"
5916
0
    break;
5917
5918
0
  case 100:
5919
0
#line 917 "core/cfg.y"
5920
0
                               { yyerror("number  expected"); }
5921
0
#line 5922 "core/cfg.tab.c"
5922
0
    break;
5923
5924
0
  case 101:
5925
0
#line 918 "core/cfg.y"
5926
0
                             { dont_fork= ! (yyvsp[0].intval); }
5927
0
#line 5928 "core/cfg.tab.c"
5928
0
    break;
5929
5930
0
  case 102:
5931
0
#line 919 "core/cfg.y"
5932
0
                             { yyerror("boolean value expected"); }
5933
0
#line 5934 "core/cfg.tab.c"
5934
0
    break;
5935
5936
0
  case 103:
5937
0
#line 920 "core/cfg.y"
5938
0
                                   { set_fork_delay((yyvsp[0].intval)); }
5939
0
#line 5940 "core/cfg.tab.c"
5940
0
    break;
5941
5942
0
  case 104:
5943
0
#line 921 "core/cfg.y"
5944
0
                                   { yyerror("number expected"); }
5945
0
#line 5946 "core/cfg.tab.c"
5946
0
    break;
5947
5948
0
  case 105:
5949
0
#line 922 "core/cfg.y"
5950
0
                                      { set_modinit_delay((yyvsp[0].intval)); }
5951
0
#line 5952 "core/cfg.tab.c"
5952
0
    break;
5953
5954
0
  case 106:
5955
0
#line 923 "core/cfg.y"
5956
0
                                      { yyerror("number expected"); }
5957
0
#line 5958 "core/cfg.tab.c"
5958
0
    break;
5959
5960
0
  case 107:
5961
0
#line 924 "core/cfg.y"
5962
0
                                   { if (!config_check)  /* if set from cmd line, don't overwrite from yyparse()*/
5963
0
          if(log_stderr == 0) log_stderr=(yyvsp[0].intval);
5964
0
           }
5965
0
#line 5966 "core/cfg.tab.c"
5966
0
    break;
5967
5968
0
  case 108:
5969
0
#line 927 "core/cfg.y"
5970
0
                                  { yyerror("boolean value expected"); }
5971
0
#line 5972 "core/cfg.tab.c"
5972
0
    break;
5973
5974
0
  case 109:
5975
0
#line 928 "core/cfg.y"
5976
0
                               {
5977
0
    if ( (i_tmp=str2facility((yyvsp[0].strval)))==-1)
5978
0
      yyerror("bad facility (see syslog(3) man page)");
5979
0
    if (!config_check)
5980
0
      default_core_cfg.log_facility=i_tmp;
5981
0
  }
5982
0
#line 5983 "core/cfg.tab.c"
5983
0
    break;
5984
5985
0
  case 110:
5986
0
#line 934 "core/cfg.y"
5987
0
                                  { yyerror("ID expected"); }
5988
0
#line 5989 "core/cfg.tab.c"
5989
0
    break;
5990
5991
0
  case 111:
5992
0
#line 935 "core/cfg.y"
5993
0
                               { log_name=(yyvsp[0].strval); }
5994
0
#line 5995 "core/cfg.tab.c"
5995
0
    break;
5996
5997
0
  case 112:
5998
0
#line 936 "core/cfg.y"
5999
0
                              { yyerror("string value expected"); }
6000
0
#line 6001 "core/cfg.tab.c"
6001
0
    break;
6002
6003
0
  case 113:
6004
0
#line 937 "core/cfg.y"
6005
0
                                { log_color=(yyvsp[0].intval); }
6006
0
#line 6007 "core/cfg.tab.c"
6007
0
    break;
6008
6009
0
  case 114:
6010
0
#line 938 "core/cfg.y"
6011
0
                               { yyerror("boolean value expected"); }
6012
0
#line 6013 "core/cfg.tab.c"
6013
0
    break;
6014
6015
0
  case 115:
6016
0
#line 939 "core/cfg.y"
6017
0
                                 { log_prefix_fmt=(yyvsp[0].strval); }
6018
0
#line 6019 "core/cfg.tab.c"
6019
0
    break;
6020
6021
0
  case 116:
6022
0
#line 940 "core/cfg.y"
6023
0
                                { yyerror("string value expected"); }
6024
0
#line 6025 "core/cfg.tab.c"
6025
0
    break;
6026
6027
0
  case 117:
6028
0
#line 941 "core/cfg.y"
6029
0
                                     { log_prefix_mode=(yyvsp[0].intval); }
6030
0
#line 6031 "core/cfg.tab.c"
6031
0
    break;
6032
6033
0
  case 118:
6034
0
#line 942 "core/cfg.y"
6035
0
                                    { yyerror("number expected"); }
6036
0
#line 6037 "core/cfg.tab.c"
6037
0
    break;
6038
6039
0
  case 119:
6040
0
#line 943 "core/cfg.y"
6041
0
                                     { _km_log_engine_type=(yyvsp[0].strval); }
6042
0
#line 6043 "core/cfg.tab.c"
6043
0
    break;
6044
6045
0
  case 120:
6046
0
#line 944 "core/cfg.y"
6047
0
                                    { yyerror("string value expected"); }
6048
0
#line 6049 "core/cfg.tab.c"
6049
0
    break;
6050
6051
0
  case 121:
6052
0
#line 945 "core/cfg.y"
6053
0
                                     { _km_log_engine_data=(yyvsp[0].strval); }
6054
0
#line 6055 "core/cfg.tab.c"
6055
0
    break;
6056
6057
0
  case 122:
6058
0
#line 946 "core/cfg.y"
6059
0
                                    { yyerror("string value expected"); }
6060
0
#line 6061 "core/cfg.tab.c"
6061
0
    break;
6062
6063
0
  case 123:
6064
0
#line 947 "core/cfg.y"
6065
0
                                     { _ksr_xavp_via_params.s=(yyvsp[0].strval);
6066
0
      _ksr_xavp_via_params.len=strlen((yyvsp[0].strval));
6067
0
    }
6068
0
#line 6069 "core/cfg.tab.c"
6069
0
    break;
6070
6071
0
  case 124:
6072
0
#line 950 "core/cfg.y"
6073
0
                                    { yyerror("string value expected"); }
6074
0
#line 6075 "core/cfg.tab.c"
6075
0
    break;
6076
6077
0
  case 125:
6078
0
#line 951 "core/cfg.y"
6079
0
                                     { _ksr_xavp_via_fields.s=(yyvsp[0].strval);
6080
0
      _ksr_xavp_via_fields.len=strlen((yyvsp[0].strval));
6081
0
    }
6082
0
#line 6083 "core/cfg.tab.c"
6083
0
    break;
6084
6085
0
  case 126:
6086
0
#line 954 "core/cfg.y"
6087
0
                                    { yyerror("string value expected"); }
6088
0
#line 6089 "core/cfg.tab.c"
6089
0
    break;
6090
6091
0
  case 127:
6092
0
#line 955 "core/cfg.y"
6093
0
                                          { _ksr_xavp_via_reply_params.s=(yyvsp[0].strval);
6094
0
      _ksr_xavp_via_reply_params.len=strlen((yyvsp[0].strval));
6095
0
    }
6096
0
#line 6097 "core/cfg.tab.c"
6097
0
    break;
6098
6099
0
  case 128:
6100
0
#line 958 "core/cfg.y"
6101
0
                                         { yyerror("string value expected"); }
6102
0
#line 6103 "core/cfg.tab.c"
6103
0
    break;
6104
6105
0
  case 129:
6106
0
#line 959 "core/cfg.y"
6107
0
                             { received_dns|= ((yyvsp[0].intval))?DO_DNS:0; }
6108
0
#line 6109 "core/cfg.tab.c"
6109
0
    break;
6110
6111
0
  case 130:
6112
0
#line 960 "core/cfg.y"
6113
0
                          { yyerror("boolean value expected"); }
6114
0
#line 6115 "core/cfg.tab.c"
6115
0
    break;
6116
6117
0
  case 131:
6118
0
#line 961 "core/cfg.y"
6119
0
                               { received_dns|= ((yyvsp[0].intval))?DO_REV_DNS:0; }
6120
0
#line 6121 "core/cfg.tab.c"
6121
0
    break;
6122
6123
0
  case 132:
6124
0
#line 962 "core/cfg.y"
6125
0
                              { yyerror("boolean value expected"); }
6126
0
#line 6127 "core/cfg.tab.c"
6127
0
    break;
6128
6129
0
  case 133:
6130
0
#line 963 "core/cfg.y"
6131
0
                                      { default_core_cfg.dns_try_ipv6=(yyvsp[0].intval); }
6132
0
#line 6133 "core/cfg.tab.c"
6133
0
    break;
6134
6135
0
  case 134:
6136
0
#line 964 "core/cfg.y"
6137
0
                             { yyerror("boolean value expected"); }
6138
0
#line 6139 "core/cfg.tab.c"
6139
0
    break;
6140
6141
0
  case 135:
6142
0
#line 965 "core/cfg.y"
6143
0
                                       { IF_NAPTR(default_core_cfg.dns_try_naptr=(yyvsp[0].intval)); }
6144
0
#line 6145 "core/cfg.tab.c"
6145
0
    break;
6146
6147
0
  case 136:
6148
0
#line 966 "core/cfg.y"
6149
0
                              { yyerror("boolean value expected"); }
6150
0
#line 6151 "core/cfg.tab.c"
6151
0
    break;
6152
6153
0
  case 137:
6154
0
#line 967 "core/cfg.y"
6155
0
                                    { IF_DNS_FAILOVER(default_core_cfg.dns_srv_lb=(yyvsp[0].intval)); }
6156
0
#line 6157 "core/cfg.tab.c"
6157
0
    break;
6158
6159
0
  case 138:
6160
0
#line 968 "core/cfg.y"
6161
0
                           { yyerror("boolean value expected"); }
6162
0
#line 6163 "core/cfg.tab.c"
6163
0
    break;
6164
6165
0
  case 139:
6166
0
#line 969 "core/cfg.y"
6167
0
                                   { IF_NAPTR(default_core_cfg.dns_udp_pref=(yyvsp[0].intval));}
6168
0
#line 6169 "core/cfg.tab.c"
6169
0
    break;
6170
6171
0
  case 140:
6172
0
#line 970 "core/cfg.y"
6173
0
                             { yyerror("number expected"); }
6174
0
#line 6175 "core/cfg.tab.c"
6175
0
    break;
6176
6177
0
  case 141:
6178
0
#line 971 "core/cfg.y"
6179
0
                                   { IF_NAPTR(default_core_cfg.dns_tcp_pref=(yyvsp[0].intval));}
6180
0
#line 6181 "core/cfg.tab.c"
6181
0
    break;
6182
6183
0
  case 142:
6184
0
#line 972 "core/cfg.y"
6185
0
                             { yyerror("number expected"); }
6186
0
#line 6187 "core/cfg.tab.c"
6187
0
    break;
6188
6189
0
  case 143:
6190
0
#line 973 "core/cfg.y"
6191
0
                                   { IF_NAPTR(default_core_cfg.dns_tls_pref=(yyvsp[0].intval));}
6192
0
#line 6193 "core/cfg.tab.c"
6193
0
    break;
6194
6195
0
  case 144:
6196
0
#line 974 "core/cfg.y"
6197
0
                             { yyerror("number expected"); }
6198
0
#line 6199 "core/cfg.tab.c"
6199
0
    break;
6200
6201
0
  case 145:
6202
0
#line 975 "core/cfg.y"
6203
0
                                    {
6204
0
                IF_NAPTR(default_core_cfg.dns_sctp_pref=(yyvsp[0].intval)); }
6205
0
#line 6206 "core/cfg.tab.c"
6206
0
    break;
6207
6208
0
  case 146:
6209
0
#line 977 "core/cfg.y"
6210
0
                              { yyerror("number expected"); }
6211
0
#line 6212 "core/cfg.tab.c"
6212
0
    break;
6213
6214
0
  case 147:
6215
0
#line 978 "core/cfg.y"
6216
0
                                       { default_core_cfg.dns_retr_time=(yyvsp[0].intval); }
6217
0
#line 6218 "core/cfg.tab.c"
6218
0
    break;
6219
6220
0
  case 148:
6221
0
#line 979 "core/cfg.y"
6222
0
                              { yyerror("number expected"); }
6223
0
#line 6224 "core/cfg.tab.c"
6224
0
    break;
6225
6226
0
  case 149:
6227
0
#line 980 "core/cfg.y"
6228
0
                                           { default_core_cfg.dns_slow_query_ms=(yyvsp[0].intval); }
6229
0
#line 6230 "core/cfg.tab.c"
6230
0
    break;
6231
6232
0
  case 150:
6233
0
#line 981 "core/cfg.y"
6234
0
                                  { yyerror("number expected"); }
6235
0
#line 6236 "core/cfg.tab.c"
6236
0
    break;
6237
6238
0
  case 151:
6239
0
#line 982 "core/cfg.y"
6240
0
                                     { default_core_cfg.dns_retr_no=(yyvsp[0].intval); }
6241
0
#line 6242 "core/cfg.tab.c"
6242
0
    break;
6243
6244
0
  case 152:
6245
0
#line 983 "core/cfg.y"
6246
0
                            { yyerror("number expected"); }
6247
0
#line 6248 "core/cfg.tab.c"
6248
0
    break;
6249
6250
0
  case 153:
6251
0
#line 984 "core/cfg.y"
6252
0
                                        { default_core_cfg.dns_servers_no=(yyvsp[0].intval); }
6253
0
#line 6254 "core/cfg.tab.c"
6254
0
    break;
6255
6256
0
  case 154:
6257
0
#line 985 "core/cfg.y"
6258
0
                               { yyerror("number expected"); }
6259
0
#line 6260 "core/cfg.tab.c"
6260
0
    break;
6261
6262
0
  case 155:
6263
0
#line 986 "core/cfg.y"
6264
0
                                        { default_core_cfg.dns_search_list=(yyvsp[0].intval); }
6265
0
#line 6266 "core/cfg.tab.c"
6266
0
    break;
6267
6268
0
  case 156:
6269
0
#line 987 "core/cfg.y"
6270
0
                               { yyerror("boolean value expected"); }
6271
0
#line 6272 "core/cfg.tab.c"
6272
0
    break;
6273
6274
0
  case 157:
6275
0
#line 988 "core/cfg.y"
6276
0
                                           { default_core_cfg.dns_search_fmatch=(yyvsp[0].intval); }
6277
0
#line 6278 "core/cfg.tab.c"
6278
0
    break;
6279
6280
0
  case 158:
6281
0
#line 989 "core/cfg.y"
6282
0
                                  { yyerror("boolean value expected"); }
6283
0
#line 6284 "core/cfg.tab.c"
6284
0
    break;
6285
6286
0
  case 159:
6287
0
#line 990 "core/cfg.y"
6288
0
                                              { default_core_cfg.dns_naptr_ignore_rfc=(yyvsp[0].intval); }
6289
0
#line 6290 "core/cfg.tab.c"
6290
0
    break;
6291
6292
0
  case 160:
6293
0
#line 991 "core/cfg.y"
6294
0
                                     { yyerror("boolean value expected"); }
6295
0
#line 6296 "core/cfg.tab.c"
6296
0
    break;
6297
6298
0
  case 161:
6299
0
#line 992 "core/cfg.y"
6300
0
                                        { IF_DNS_CACHE(dns_cache_init=(yyvsp[0].intval)); }
6301
0
#line 6302 "core/cfg.tab.c"
6302
0
    break;
6303
6304
0
  case 162:
6305
0
#line 993 "core/cfg.y"
6306
0
                               { yyerror("boolean value expected"); }
6307
0
#line 6308 "core/cfg.tab.c"
6308
0
    break;
6309
6310
0
  case 163:
6311
0
#line 994 "core/cfg.y"
6312
0
                                       { IF_DNS_CACHE(default_core_cfg.use_dns_cache=(yyvsp[0].intval)); }
6313
0
#line 6314 "core/cfg.tab.c"
6314
0
    break;
6315
6316
0
  case 164:
6317
0
#line 995 "core/cfg.y"
6318
0
                              { yyerror("boolean value expected"); }
6319
0
#line 6320 "core/cfg.tab.c"
6320
0
    break;
6321
6322
0
  case 165:
6323
0
#line 996 "core/cfg.y"
6324
0
                                          { IF_DNS_FAILOVER(default_core_cfg.use_dns_failover=(yyvsp[0].intval));}
6325
0
#line 6326 "core/cfg.tab.c"
6326
0
    break;
6327
6328
0
  case 166:
6329
0
#line 997 "core/cfg.y"
6330
0
                                 { yyerror("boolean value expected"); }
6331
0
#line 6332 "core/cfg.tab.c"
6332
0
    break;
6333
6334
0
  case 167:
6335
0
#line 998 "core/cfg.y"
6336
0
                                         { IF_DNS_CACHE(default_core_cfg.dns_cache_flags=(yyvsp[0].intval)); }
6337
0
#line 6338 "core/cfg.tab.c"
6338
0
    break;
6339
6340
0
  case 168:
6341
0
#line 999 "core/cfg.y"
6342
0
                                { yyerror("boolean value expected"); }
6343
0
#line 6344 "core/cfg.tab.c"
6344
0
    break;
6345
6346
0
  case 169:
6347
0
#line 1000 "core/cfg.y"
6348
0
                                           { IF_DNS_CACHE(default_core_cfg.dns_neg_cache_ttl=(yyvsp[0].intval)); }
6349
0
#line 6350 "core/cfg.tab.c"
6350
0
    break;
6351
6352
0
  case 170:
6353
0
#line 1001 "core/cfg.y"
6354
0
                                  { yyerror("boolean value expected"); }
6355
0
#line 6356 "core/cfg.tab.c"
6356
0
    break;
6357
6358
0
  case 171:
6359
0
#line 1002 "core/cfg.y"
6360
0
                                           { IF_DNS_CACHE(default_core_cfg.dns_cache_max_ttl=(yyvsp[0].intval)); }
6361
0
#line 6362 "core/cfg.tab.c"
6362
0
    break;
6363
6364
0
  case 172:
6365
0
#line 1003 "core/cfg.y"
6366
0
                                  { yyerror("boolean value expected"); }
6367
0
#line 6368 "core/cfg.tab.c"
6368
0
    break;
6369
6370
0
  case 173:
6371
0
#line 1004 "core/cfg.y"
6372
0
                                           { IF_DNS_CACHE(default_core_cfg.dns_cache_min_ttl=(yyvsp[0].intval)); }
6373
0
#line 6374 "core/cfg.tab.c"
6374
0
    break;
6375
6376
0
  case 174:
6377
0
#line 1005 "core/cfg.y"
6378
0
                                  { yyerror("boolean value expected"); }
6379
0
#line 6380 "core/cfg.tab.c"
6380
0
    break;
6381
6382
0
  case 175:
6383
0
#line 1006 "core/cfg.y"
6384
0
                                       { IF_DNS_CACHE(default_core_cfg.dns_cache_max_mem=(yyvsp[0].intval)); }
6385
0
#line 6386 "core/cfg.tab.c"
6386
0
    break;
6387
6388
0
  case 176:
6389
0
#line 1007 "core/cfg.y"
6390
0
                              { yyerror("boolean value expected"); }
6391
0
#line 6392 "core/cfg.tab.c"
6392
0
    break;
6393
6394
0
  case 177:
6395
0
#line 1008 "core/cfg.y"
6396
0
                                          { IF_DNS_CACHE(dns_timer_interval=(yyvsp[0].intval)); }
6397
0
#line 6398 "core/cfg.tab.c"
6398
0
    break;
6399
6400
0
  case 178:
6401
0
#line 1009 "core/cfg.y"
6402
0
                                 { yyerror("boolean value expected"); }
6403
0
#line 6404 "core/cfg.tab.c"
6404
0
    break;
6405
6406
0
  case 179:
6407
0
#line 1010 "core/cfg.y"
6408
0
                                              { IF_DNS_CACHE(default_core_cfg.dns_cache_del_nonexp=(yyvsp[0].intval)); }
6409
0
#line 6410 "core/cfg.tab.c"
6410
0
    break;
6411
6412
0
  case 180:
6413
0
#line 1011 "core/cfg.y"
6414
0
                                     { yyerror("boolean value expected"); }
6415
0
#line 6416 "core/cfg.tab.c"
6416
0
    break;
6417
6418
0
  case 181:
6419
0
#line 1012 "core/cfg.y"
6420
0
                                            { IF_DNS_CACHE(default_core_cfg.dns_cache_rec_pref=(yyvsp[0].intval)); }
6421
0
#line 6422 "core/cfg.tab.c"
6422
0
    break;
6423
6424
0
  case 182:
6425
0
#line 1013 "core/cfg.y"
6426
0
                                   { yyerror("boolean value expected"); }
6427
0
#line 6428 "core/cfg.tab.c"
6428
0
    break;
6429
6430
0
  case 183:
6431
0
#line 1014 "core/cfg.y"
6432
0
                                      {IF_AUTO_BIND_IPV6(auto_bind_ipv6 = (yyvsp[0].intval));}
6433
0
#line 6434 "core/cfg.tab.c"
6434
0
    break;
6435
6436
0
  case 184:
6437
0
#line 1015 "core/cfg.y"
6438
0
                               { yyerror("boolean value expected"); }
6439
0
#line 6440 "core/cfg.tab.c"
6440
0
    break;
6441
6442
0
  case 185:
6443
0
#line 1016 "core/cfg.y"
6444
0
                                      {
6445
0
    ksr_ipv6_hex_style.s = (yyvsp[0].strval);
6446
0
    if(ksr_ipv6_hex_style.s[0]!='a' && ksr_ipv6_hex_style.s[0]!='A'
6447
0
        && ksr_ipv6_hex_style.s[0]!='c') {
6448
0
      yyerror("expected \"a\", \"A\" or \"c\" value");
6449
0
    }
6450
0
    ksr_ipv6_hex_style.len = strlen(ksr_ipv6_hex_style.s);
6451
0
  }
6452
0
#line 6453 "core/cfg.tab.c"
6453
0
    break;
6454
6455
0
  case 186:
6456
0
#line 1024 "core/cfg.y"
6457
0
                               { yyerror("string value expected"); }
6458
0
#line 6459 "core/cfg.tab.c"
6459
0
    break;
6460
6461
0
  case 187:
6462
0
#line 1025 "core/cfg.y"
6463
0
                                            {
6464
0
    sr_bind_ipv6_link_local = (yyvsp[0].intval);
6465
0
    if((sr_bind_ipv6_link_local & KSR_IPV6_LINK_LOCAL_BIND)
6466
0
        && (sr_bind_ipv6_link_local & KSR_IPV6_LINK_LOCAL_SKIP)) {
6467
0
      yyerror("incompatible modes set");
6468
0
    }
6469
0
  }
6470
0
#line 6471 "core/cfg.tab.c"
6471
0
    break;
6472
6473
0
  case 188:
6474
0
#line 1032 "core/cfg.y"
6475
0
                                     { yyerror("number expected"); }
6476
0
#line 6477 "core/cfg.tab.c"
6477
0
    break;
6478
6479
0
  case 189:
6480
0
#line 1033 "core/cfg.y"
6481
0
                                       { IF_DST_BLOCKLIST(dst_blocklist_init=(yyvsp[0].intval)); }
6482
0
#line 6483 "core/cfg.tab.c"
6483
0
    break;
6484
6485
0
  case 190:
6486
0
#line 1034 "core/cfg.y"
6487
0
                              { yyerror("boolean value expected"); }
6488
0
#line 6489 "core/cfg.tab.c"
6489
0
    break;
6490
6491
0
  case 191:
6492
0
#line 1035 "core/cfg.y"
6493
0
                                    {
6494
0
    IF_DST_BLOCKLIST(default_core_cfg.use_dst_blocklist=(yyvsp[0].intval));
6495
0
  }
6496
0
#line 6497 "core/cfg.tab.c"
6497
0
    break;
6498
6499
0
  case 192:
6500
0
#line 1038 "core/cfg.y"
6501
0
                             { yyerror("boolean value expected"); }
6502
0
#line 6503 "core/cfg.tab.c"
6503
0
    break;
6504
6505
0
  case 193:
6506
0
#line 1039 "core/cfg.y"
6507
0
                                    {
6508
0
    IF_DST_BLOCKLIST(default_core_cfg.blst_max_mem=(yyvsp[0].intval));
6509
0
  }
6510
0
#line 6511 "core/cfg.tab.c"
6511
0
    break;
6512
6513
0
  case 194:
6514
0
#line 1042 "core/cfg.y"
6515
0
                             { yyerror("boolean value expected"); }
6516
0
#line 6517 "core/cfg.tab.c"
6517
0
    break;
6518
6519
0
  case 195:
6520
0
#line 1043 "core/cfg.y"
6521
0
                                    {
6522
0
    IF_DST_BLOCKLIST(default_core_cfg.blst_timeout=(yyvsp[0].intval));
6523
0
  }
6524
0
#line 6525 "core/cfg.tab.c"
6525
0
    break;
6526
6527
0
  case 196:
6528
0
#line 1046 "core/cfg.y"
6529
0
                             { yyerror("boolean value expected"); }
6530
0
#line 6531 "core/cfg.tab.c"
6531
0
    break;
6532
6533
0
  case 197:
6534
0
#line 1047 "core/cfg.y"
6535
0
                                       { IF_DST_BLOCKLIST(blst_timer_interval=(yyvsp[0].intval));}
6536
0
#line 6537 "core/cfg.tab.c"
6537
0
    break;
6538
6539
0
  case 198:
6540
0
#line 1048 "core/cfg.y"
6541
0
                                { yyerror("boolean value expected"); }
6542
0
#line 6543 "core/cfg.tab.c"
6543
0
    break;
6544
6545
0
  case 199:
6546
0
#line 1049 "core/cfg.y"
6547
0
                                          {
6548
0
    IF_DST_BLOCKLIST(default_core_cfg.blst_udp_imask=(yyvsp[0].intval));
6549
0
  }
6550
0
#line 6551 "core/cfg.tab.c"
6551
0
    break;
6552
6553
0
  case 200:
6554
0
#line 1052 "core/cfg.y"
6555
0
                                   { yyerror("number(flags) expected"); }
6556
0
#line 6557 "core/cfg.tab.c"
6557
0
    break;
6558
6559
0
  case 201:
6560
0
#line 1053 "core/cfg.y"
6561
0
                                          {
6562
0
    IF_DST_BLOCKLIST(default_core_cfg.blst_tcp_imask=(yyvsp[0].intval));
6563
0
  }
6564
0
#line 6565 "core/cfg.tab.c"
6565
0
    break;
6566
6567
0
  case 202:
6568
0
#line 1056 "core/cfg.y"
6569
0
                                   { yyerror("number(flags) expected"); }
6570
0
#line 6571 "core/cfg.tab.c"
6571
0
    break;
6572
6573
0
  case 203:
6574
0
#line 1057 "core/cfg.y"
6575
0
                                          {
6576
0
    IF_DST_BLOCKLIST(default_core_cfg.blst_tls_imask=(yyvsp[0].intval));
6577
0
  }
6578
0
#line 6579 "core/cfg.tab.c"
6579
0
    break;
6580
6581
0
  case 204:
6582
0
#line 1060 "core/cfg.y"
6583
0
                                   { yyerror("number(flags) expected"); }
6584
0
#line 6585 "core/cfg.tab.c"
6585
0
    break;
6586
6587
0
  case 205:
6588
0
#line 1061 "core/cfg.y"
6589
0
                                           {
6590
0
    IF_DST_BLOCKLIST(default_core_cfg.blst_sctp_imask=(yyvsp[0].intval));
6591
0
  }
6592
0
#line 6593 "core/cfg.tab.c"
6593
0
    break;
6594
6595
0
  case 206:
6596
0
#line 1064 "core/cfg.y"
6597
0
                                    { yyerror("number(flags) expected"); }
6598
0
#line 6599 "core/cfg.tab.c"
6599
0
    break;
6600
6601
0
  case 207:
6602
0
#line 1065 "core/cfg.y"
6603
0
                                   { _sr_ip_free_bind=(yyvsp[0].intval); }
6604
0
#line 6605 "core/cfg.tab.c"
6605
0
    break;
6606
6607
0
  case 208:
6608
0
#line 1066 "core/cfg.y"
6609
0
                                   { yyerror("int value expected"); }
6610
0
#line 6611 "core/cfg.tab.c"
6611
0
    break;
6612
6613
0
  case 209:
6614
0
#line 1067 "core/cfg.y"
6615
0
                              { port_no=(yyvsp[0].intval); }
6616
0
#line 6617 "core/cfg.tab.c"
6617
0
    break;
6618
6619
0
  case 210:
6620
0
#line 1068 "core/cfg.y"
6621
0
                              { yyerror("number expected"); }
6622
0
#line 6623 "core/cfg.tab.c"
6623
0
    break;
6624
6625
0
  case 211:
6626
0
#line 1069 "core/cfg.y"
6627
0
                                 { maxbuffer=(yyvsp[0].intval); }
6628
0
#line 6629 "core/cfg.tab.c"
6629
0
    break;
6630
6631
0
  case 212:
6632
0
#line 1070 "core/cfg.y"
6633
0
                                { yyerror("number expected"); }
6634
0
#line 6635 "core/cfg.tab.c"
6635
0
    break;
6636
6637
0
  case 213:
6638
0
#line 1071 "core/cfg.y"
6639
0
                                    { maxsndbuffer=(yyvsp[0].intval); }
6640
0
#line 6641 "core/cfg.tab.c"
6641
0
    break;
6642
6643
0
  case 214:
6644
0
#line 1072 "core/cfg.y"
6645
0
                                   { yyerror("number expected"); }
6646
0
#line 6647 "core/cfg.tab.c"
6647
0
    break;
6648
6649
0
  case 215:
6650
0
#line 1073 "core/cfg.y"
6651
0
                                       { sql_buffer_size=(yyvsp[0].intval); }
6652
0
#line 6653 "core/cfg.tab.c"
6653
0
    break;
6654
6655
0
  case 216:
6656
0
#line 1074 "core/cfg.y"
6657
0
                                      { yyerror("number expected"); }
6658
0
#line 6659 "core/cfg.tab.c"
6659
0
    break;
6660
6661
0
  case 217:
6662
0
#line 1075 "core/cfg.y"
6663
0
                                            { ksr_msg_clone_extra_size=(yyvsp[0].intval); }
6664
0
#line 6665 "core/cfg.tab.c"
6665
0
    break;
6666
6667
0
  case 218:
6668
0
#line 1076 "core/cfg.y"
6669
0
                                           { yyerror("number expected"); }
6670
0
#line 6671 "core/cfg.tab.c"
6671
0
    break;
6672
6673
0
  case 219:
6674
0
#line 1077 "core/cfg.y"
6675
0
                                              { ksr_msg_apply_changes_mode=(yyvsp[0].intval); }
6676
0
#line 6677 "core/cfg.tab.c"
6677
0
    break;
6678
6679
0
  case 220:
6680
0
#line 1078 "core/cfg.y"
6681
0
                                             { yyerror("boolean expected"); }
6682
0
#line 6683 "core/cfg.tab.c"
6683
0
    break;
6684
6685
0
  case 221:
6686
0
#line 1079 "core/cfg.y"
6687
0
                                         { ksr_msg_recv_max_size=(yyvsp[0].intval); }
6688
0
#line 6689 "core/cfg.tab.c"
6689
0
    break;
6690
6691
0
  case 222:
6692
0
#line 1080 "core/cfg.y"
6693
0
                                        { yyerror("number expected"); }
6694
0
#line 6695 "core/cfg.tab.c"
6695
0
    break;
6696
6697
0
  case 223:
6698
0
#line 1081 "core/cfg.y"
6699
0
                                            { ksr_tcp_msg_read_timeout=(yyvsp[0].intval); }
6700
0
#line 6701 "core/cfg.tab.c"
6701
0
    break;
6702
6703
0
  case 224:
6704
0
#line 1082 "core/cfg.y"
6705
0
                                           { yyerror("number expected"); }
6706
0
#line 6707 "core/cfg.tab.c"
6707
0
    break;
6708
6709
0
  case 225:
6710
0
#line 1083 "core/cfg.y"
6711
0
                                            { ksr_tcp_msg_data_timeout=(yyvsp[0].intval); }
6712
0
#line 6713 "core/cfg.tab.c"
6713
0
    break;
6714
6715
0
  case 226:
6716
0
#line 1084 "core/cfg.y"
6717
0
                                           { yyerror("number expected"); }
6718
0
#line 6719 "core/cfg.tab.c"
6719
0
    break;
6720
6721
0
  case 227:
6722
0
#line 1085 "core/cfg.y"
6723
0
                                          { ksr_tcp_accept_iplimit=(yyvsp[0].intval); }
6724
0
#line 6725 "core/cfg.tab.c"
6725
0
    break;
6726
6727
0
  case 228:
6728
0
#line 1086 "core/cfg.y"
6729
0
                                         { yyerror("number expected"); }
6730
0
#line 6731 "core/cfg.tab.c"
6731
0
    break;
6732
6733
0
  case 229:
6734
0
#line 1087 "core/cfg.y"
6735
0
                                        { ksr_tcp_main_threads=(yyvsp[0].intval); }
6736
0
#line 6737 "core/cfg.tab.c"
6737
0
    break;
6738
6739
0
  case 230:
6740
0
#line 1088 "core/cfg.y"
6741
0
                                       { yyerror("number expected"); }
6742
0
#line 6743 "core/cfg.tab.c"
6743
0
    break;
6744
6745
0
  case 231:
6746
0
#line 1089 "core/cfg.y"
6747
0
                                       { ksr_tcp_check_timer=(yyvsp[0].intval); }
6748
0
#line 6749 "core/cfg.tab.c"
6749
0
    break;
6750
6751
0
  case 232:
6752
0
#line 1090 "core/cfg.y"
6753
0
                                      { yyerror("number expected"); }
6754
0
#line 6755 "core/cfg.tab.c"
6755
0
    break;
6756
6757
0
  case 233:
6758
0
#line 1091 "core/cfg.y"
6759
0
                                { children_no=(yyvsp[0].intval); }
6760
0
#line 6761 "core/cfg.tab.c"
6761
0
    break;
6762
6763
0
  case 234:
6764
0
#line 1092 "core/cfg.y"
6765
0
                               { yyerror("number expected"); }
6766
0
#line 6767 "core/cfg.tab.c"
6767
0
    break;
6768
6769
0
  case 235:
6770
0
#line 1093 "core/cfg.y"
6771
0
                                     { ksr_stats_namesep=(yyvsp[0].strval); }
6772
0
#line 6773 "core/cfg.tab.c"
6773
0
    break;
6774
6775
0
  case 236:
6776
0
#line 1094 "core/cfg.y"
6777
0
                                    { yyerror("string value expected"); }
6778
0
#line 6779 "core/cfg.tab.c"
6779
0
    break;
6780
6781
0
  case 237:
6782
0
#line 1095 "core/cfg.y"
6783
0
                 {
6784
0
        memset(&tmp_sa, 0, sizeof(socket_attrs_t));
6785
0
      }
6786
0
#line 6787 "core/cfg.tab.c"
6787
0
    break;
6788
6789
0
  case 238:
6790
0
#line 1097 "core/cfg.y"
6791
0
                                                            {
6792
0
        if(add_listen_socket(&tmp_sa)<0) {
6793
0
          LM_ERR("failed to add listen socket\n");
6794
0
          yyerror("failed to add listen socket");
6795
0
          ksr_exit(-1);
6796
0
        }
6797
0
  }
6798
0
#line 6799 "core/cfg.tab.c"
6799
0
    break;
6800
6801
0
  case 239:
6802
0
#line 1104 "core/cfg.y"
6803
0
                                      { socket_workers=(yyvsp[0].intval); }
6804
0
#line 6805 "core/cfg.tab.c"
6805
0
    break;
6806
6807
0
  case 240:
6808
0
#line 1105 "core/cfg.y"
6809
0
                                     { yyerror("number expected"); }
6810
0
#line 6811 "core/cfg.tab.c"
6811
0
    break;
6812
6813
0
  case 241:
6814
0
#line 1106 "core/cfg.y"
6815
0
                                     { async_task_set_workers((yyvsp[0].intval)); }
6816
0
#line 6817 "core/cfg.tab.c"
6817
0
    break;
6818
6819
0
  case 242:
6820
0
#line 1107 "core/cfg.y"
6821
0
                                    { yyerror("number expected"); }
6822
0
#line 6823 "core/cfg.tab.c"
6823
0
    break;
6824
6825
0
  case 243:
6826
0
#line 1108 "core/cfg.y"
6827
0
                                    { async_task_set_usleep((yyvsp[0].intval)); }
6828
0
#line 6829 "core/cfg.tab.c"
6829
0
    break;
6830
6831
0
  case 244:
6832
0
#line 1109 "core/cfg.y"
6833
0
                                   { yyerror("number expected"); }
6834
0
#line 6835 "core/cfg.tab.c"
6835
0
    break;
6836
6837
0
  case 245:
6838
0
#line 1110 "core/cfg.y"
6839
0
                                      { async_task_set_nonblock((yyvsp[0].intval)); }
6840
0
#line 6841 "core/cfg.tab.c"
6841
0
    break;
6842
6843
0
  case 246:
6844
0
#line 1111 "core/cfg.y"
6845
0
                                     { yyerror("number expected"); }
6846
0
#line 6847 "core/cfg.tab.c"
6847
0
    break;
6848
6849
0
  case 247:
6850
0
#line 1112 "core/cfg.y"
6851
0
                                           { async_task_set_workers_group((yyvsp[0].strval)); }
6852
0
#line 6853 "core/cfg.tab.c"
6853
0
    break;
6854
6855
0
  case 248:
6856
0
#line 1113 "core/cfg.y"
6857
0
                                          { yyerror("string expected"); }
6858
0
#line 6859 "core/cfg.tab.c"
6859
0
    break;
6860
6861
0
  case 249:
6862
0
#line 1114 "core/cfg.y"
6863
0
                                       { async_tkv_gname_set((yyvsp[0].strval)); }
6864
0
#line 6865 "core/cfg.tab.c"
6865
0
    break;
6866
6867
0
  case 250:
6868
0
#line 1115 "core/cfg.y"
6869
0
                                      { yyerror("string expected"); }
6870
0
#line 6871 "core/cfg.tab.c"
6871
0
    break;
6872
6873
0
  case 251:
6874
0
#line 1116 "core/cfg.y"
6875
0
                                      { async_tkv_evcb_set((yyvsp[0].strval)); }
6876
0
#line 6877 "core/cfg.tab.c"
6877
0
    break;
6878
6879
0
  case 252:
6880
0
#line 1117 "core/cfg.y"
6881
0
                                     { yyerror("string expected"); }
6882
0
#line 6883 "core/cfg.tab.c"
6883
0
    break;
6884
6885
0
  case 253:
6886
0
#line 1118 "core/cfg.y"
6887
0
                                 { check_via=(yyvsp[0].intval); }
6888
0
#line 6889 "core/cfg.tab.c"
6889
0
    break;
6890
6891
0
  case 254:
6892
0
#line 1119 "core/cfg.y"
6893
0
                                { yyerror("boolean value expected"); }
6894
0
#line 6895 "core/cfg.tab.c"
6895
0
    break;
6896
6897
0
  case 255:
6898
0
#line 1120 "core/cfg.y"
6899
0
                                 { phone2tel=(yyvsp[0].intval); }
6900
0
#line 6901 "core/cfg.tab.c"
6901
0
    break;
6902
6903
0
  case 256:
6904
0
#line 1121 "core/cfg.y"
6905
0
                                { yyerror("boolean value expected"); }
6906
0
#line 6907 "core/cfg.tab.c"
6907
0
    break;
6908
6909
0
  case 257:
6910
0
#line 1122 "core/cfg.y"
6911
0
                             { default_core_cfg.memlog=(yyvsp[0].intval); }
6912
0
#line 6913 "core/cfg.tab.c"
6913
0
    break;
6914
6915
0
  case 258:
6916
0
#line 1123 "core/cfg.y"
6917
0
                             { yyerror("int value expected"); }
6918
0
#line 6919 "core/cfg.tab.c"
6919
0
    break;
6920
6921
0
  case 259:
6922
0
#line 1124 "core/cfg.y"
6923
0
                             { default_core_cfg.memdbg=(yyvsp[0].intval); }
6924
0
#line 6925 "core/cfg.tab.c"
6925
0
    break;
6926
6927
0
  case 260:
6928
0
#line 1125 "core/cfg.y"
6929
0
                             { yyerror("int value expected"); }
6930
0
#line 6931 "core/cfg.tab.c"
6931
0
    break;
6932
6933
0
  case 261:
6934
0
#line 1126 "core/cfg.y"
6935
0
                             { default_core_cfg.mem_summary=(yyvsp[0].intval); }
6936
0
#line 6937 "core/cfg.tab.c"
6937
0
    break;
6938
6939
0
  case 262:
6940
0
#line 1127 "core/cfg.y"
6941
0
                             { yyerror("int value expected"); }
6942
0
#line 6943 "core/cfg.tab.c"
6943
0
    break;
6944
6945
0
  case 263:
6946
0
#line 1128 "core/cfg.y"
6947
0
                                { default_core_cfg.mem_safety=(yyvsp[0].intval); }
6948
0
#line 6949 "core/cfg.tab.c"
6949
0
    break;
6950
6951
0
  case 264:
6952
0
#line 1129 "core/cfg.y"
6953
0
                                { yyerror("int value expected"); }
6954
0
#line 6955 "core/cfg.tab.c"
6955
0
    break;
6956
6957
0
  case 265:
6958
0
#line 1130 "core/cfg.y"
6959
0
                                 { ksr_mem_add_size=(yyvsp[0].intval); }
6960
0
#line 6961 "core/cfg.tab.c"
6961
0
    break;
6962
6963
0
  case 266:
6964
0
#line 1131 "core/cfg.y"
6965
0
                                 { yyerror("int value expected"); }
6966
0
#line 6967 "core/cfg.tab.c"
6967
0
    break;
6968
6969
0
  case 267:
6970
0
#line 1132 "core/cfg.y"
6971
0
                              { default_core_cfg.mem_join=(yyvsp[0].intval); }
6972
0
#line 6973 "core/cfg.tab.c"
6973
0
    break;
6974
6975
0
  case 268:
6976
0
#line 1133 "core/cfg.y"
6977
0
                              { yyerror("int value expected"); }
6978
0
#line 6979 "core/cfg.tab.c"
6979
0
    break;
6980
6981
0
  case 269:
6982
0
#line 1134 "core/cfg.y"
6983
0
                                    { default_core_cfg.mem_status_mode=(yyvsp[0].intval); }
6984
0
#line 6985 "core/cfg.tab.c"
6985
0
    break;
6986
6987
0
  case 270:
6988
0
#line 1135 "core/cfg.y"
6989
0
                                    { yyerror("int value expected"); }
6990
0
#line 6991 "core/cfg.tab.c"
6991
0
    break;
6992
6993
0
  case 271:
6994
0
#line 1136 "core/cfg.y"
6995
0
                                             { default_core_cfg.sip_parser_log_oneline=(yyvsp[0].intval); }
6996
0
#line 6997 "core/cfg.tab.c"
6997
0
    break;
6998
6999
0
  case 272:
7000
0
#line 1137 "core/cfg.y"
7001
0
                                             { yyerror("int value expected"); }
7002
0
#line 7003 "core/cfg.tab.c"
7003
0
    break;
7004
7005
0
  case 273:
7006
0
#line 1138 "core/cfg.y"
7007
0
                                     { default_core_cfg.sip_parser_log=(yyvsp[0].intval); }
7008
0
#line 7009 "core/cfg.tab.c"
7009
0
    break;
7010
7011
0
  case 274:
7012
0
#line 1139 "core/cfg.y"
7013
0
                                     { yyerror("int value expected"); }
7014
0
#line 7015 "core/cfg.tab.c"
7015
0
    break;
7016
7017
0
  case 275:
7018
0
#line 1140 "core/cfg.y"
7019
0
                                      { ksr_sip_parser_mode=(yyvsp[0].intval); }
7020
0
#line 7021 "core/cfg.tab.c"
7021
0
    break;
7022
7023
0
  case 276:
7024
0
#line 1141 "core/cfg.y"
7025
0
                                      { yyerror("int value expected"); }
7026
0
#line 7027 "core/cfg.tab.c"
7027
0
    break;
7028
7029
0
  case 277:
7030
0
#line 1142 "core/cfg.y"
7031
0
                              { default_core_cfg.corelog=(yyvsp[0].intval); }
7032
0
#line 7033 "core/cfg.tab.c"
7033
0
    break;
7034
7035
0
  case 278:
7036
0
#line 1143 "core/cfg.y"
7037
0
                              { yyerror("int value expected"); }
7038
0
#line 7039 "core/cfg.tab.c"
7039
0
    break;
7040
7041
0
  case 279:
7042
0
#line 1144 "core/cfg.y"
7043
0
                                   { sip_warning=(yyvsp[0].intval); }
7044
0
#line 7045 "core/cfg.tab.c"
7045
0
    break;
7046
7047
0
  case 280:
7048
0
#line 1145 "core/cfg.y"
7049
0
                                  { yyerror("boolean value expected"); }
7050
0
#line 7051 "core/cfg.tab.c"
7051
0
    break;
7052
7053
0
  case 281:
7054
0
#line 1146 "core/cfg.y"
7055
0
                                         { version_table.s=(yyvsp[0].strval);
7056
0
      version_table.len=strlen(version_table.s);
7057
0
  }
7058
0
#line 7059 "core/cfg.tab.c"
7059
0
    break;
7060
7061
0
  case 282:
7062
0
#line 1149 "core/cfg.y"
7063
0
                                        { yyerror("string value expected"); }
7064
0
#line 7065 "core/cfg.tab.c"
7065
0
    break;
7066
7067
0
  case 283:
7068
0
#line 1150 "core/cfg.y"
7069
0
                                {
7070
0
    if (shm_initialized())
7071
0
      yyerror("user must be before any modparam or the"
7072
0
          " route blocks");
7073
0
    else if (user==0)
7074
0
      user=(yyvsp[0].strval);
7075
0
  }
7076
0
#line 7077 "core/cfg.tab.c"
7077
0
    break;
7078
7079
0
  case 284:
7080
0
#line 1157 "core/cfg.y"
7081
0
                                {
7082
0
    if (shm_initialized())
7083
0
      yyerror("user must be before any modparam or the"
7084
0
          " route blocks");
7085
0
    else if (user==0)
7086
0
      user=(yyvsp[0].strval);
7087
0
  }
7088
0
#line 7089 "core/cfg.tab.c"
7089
0
    break;
7090
7091
0
  case 285:
7092
0
#line 1164 "core/cfg.y"
7093
0
                                { yyerror("string value expected"); }
7094
0
#line 7095 "core/cfg.tab.c"
7095
0
    break;
7096
7097
0
  case 286:
7098
0
#line 1165 "core/cfg.y"
7099
0
                                 { group=(yyvsp[0].strval); }
7100
0
#line 7101 "core/cfg.tab.c"
7101
0
    break;
7102
7103
0
  case 287:
7104
0
#line 1166 "core/cfg.y"
7105
0
                                 { group=(yyvsp[0].strval); }
7106
0
#line 7107 "core/cfg.tab.c"
7107
0
    break;
7108
7109
0
  case 288:
7110
0
#line 1167 "core/cfg.y"
7111
0
                                 { yyerror("string value expected"); }
7112
0
#line 7113 "core/cfg.tab.c"
7113
0
    break;
7114
7115
0
  case 289:
7116
0
#line 1168 "core/cfg.y"
7117
0
                                  { chroot_dir=(yyvsp[0].strval); }
7118
0
#line 7119 "core/cfg.tab.c"
7119
0
    break;
7120
7121
0
  case 290:
7122
0
#line 1169 "core/cfg.y"
7123
0
                                  { chroot_dir=(yyvsp[0].strval); }
7124
0
#line 7125 "core/cfg.tab.c"
7125
0
    break;
7126
7127
0
  case 291:
7128
0
#line 1170 "core/cfg.y"
7129
0
                                  { yyerror("string value expected"); }
7130
0
#line 7131 "core/cfg.tab.c"
7131
0
    break;
7132
7133
0
  case 292:
7134
0
#line 1171 "core/cfg.y"
7135
0
                                { working_dir=(yyvsp[0].strval); }
7136
0
#line 7137 "core/cfg.tab.c"
7137
0
    break;
7138
7139
0
  case 293:
7140
0
#line 1172 "core/cfg.y"
7141
0
                                { working_dir=(yyvsp[0].strval); }
7142
0
#line 7143 "core/cfg.tab.c"
7143
0
    break;
7144
7145
0
  case 294:
7146
0
#line 1173 "core/cfg.y"
7147
0
                                { yyerror("string value expected"); }
7148
0
#line 7149 "core/cfg.tab.c"
7149
0
    break;
7150
7151
0
  case 295:
7152
0
#line 1174 "core/cfg.y"
7153
0
                                  { runtime_dir=(yyvsp[0].strval); }
7154
0
#line 7155 "core/cfg.tab.c"
7155
0
    break;
7156
7157
0
  case 296:
7158
0
#line 1175 "core/cfg.y"
7159
0
                                  { runtime_dir=(yyvsp[0].strval); }
7160
0
#line 7161 "core/cfg.tab.c"
7161
0
    break;
7162
7163
0
  case 297:
7164
0
#line 1176 "core/cfg.y"
7165
0
                                  { yyerror("string value expected"); }
7166
0
#line 7167 "core/cfg.tab.c"
7167
0
    break;
7168
7169
0
  case 298:
7170
0
#line 1177 "core/cfg.y"
7171
0
                              { mhomed=(yyvsp[0].intval); }
7172
0
#line 7173 "core/cfg.tab.c"
7173
0
    break;
7174
7175
0
  case 299:
7176
0
#line 1178 "core/cfg.y"
7177
0
                             { yyerror("boolean value expected"); }
7178
0
#line 7179 "core/cfg.tab.c"
7179
0
    break;
7180
7181
0
  case 300:
7182
0
#line 1179 "core/cfg.y"
7183
0
                                   {
7184
0
    #ifdef USE_TCP
7185
0
      tcp_disable=(yyvsp[0].intval);
7186
    #else
7187
      warn("tcp support not compiled in");
7188
    #endif
7189
0
  }
7190
0
#line 7191 "core/cfg.tab.c"
7191
0
    break;
7192
7193
0
  case 301:
7194
0
#line 1186 "core/cfg.y"
7195
0
                                  { yyerror("boolean value expected"); }
7196
0
#line 7197 "core/cfg.tab.c"
7197
0
    break;
7198
7199
0
  case 302:
7200
0
#line 1187 "core/cfg.y"
7201
0
                                          {
7202
0
    #ifdef USE_TCP
7203
0
      tcp_default_cfg.accept_aliases=(yyvsp[0].intval);
7204
    #else
7205
      warn("tcp support not compiled in");
7206
    #endif
7207
0
  }
7208
0
#line 7209 "core/cfg.tab.c"
7209
0
    break;
7210
7211
0
  case 303:
7212
0
#line 1194 "core/cfg.y"
7213
0
                                         { yyerror("boolean value expected"); }
7214
0
#line 7215 "core/cfg.tab.c"
7215
0
    break;
7216
7217
0
  case 304:
7218
0
#line 1195 "core/cfg.y"
7219
0
                                         {
7220
0
    #ifdef USE_TCP
7221
0
      tcp_accept_unique=(yyvsp[0].intval);
7222
    #else
7223
      warn("tcp support not compiled in");
7224
    #endif
7225
0
  }
7226
0
#line 7227 "core/cfg.tab.c"
7227
0
    break;
7228
7229
0
  case 305:
7230
0
#line 1202 "core/cfg.y"
7231
0
                                        { yyerror("number expected"); }
7232
0
#line 7233 "core/cfg.tab.c"
7233
0
    break;
7234
7235
0
  case 306:
7236
0
#line 1203 "core/cfg.y"
7237
0
                                            {
7238
0
    #ifdef USE_TCP
7239
0
      tcp_connection_match=(yyvsp[0].intval);
7240
    #else
7241
      warn("tcp support not compiled in");
7242
    #endif
7243
0
  }
7244
0
#line 7245 "core/cfg.tab.c"
7245
0
    break;
7246
7247
0
  case 307:
7248
0
#line 1210 "core/cfg.y"
7249
0
                                           { yyerror("number expected"); }
7250
0
#line 7251 "core/cfg.tab.c"
7251
0
    break;
7252
7253
0
  case 308:
7254
0
#line 1211 "core/cfg.y"
7255
0
                                    {
7256
0
    #ifdef USE_TCP
7257
0
      tcp_cfg_children_no=(yyvsp[0].intval);
7258
    #else
7259
      warn("tcp support not compiled in");
7260
    #endif
7261
0
  }
7262
0
#line 7263 "core/cfg.tab.c"
7263
0
    break;
7264
7265
0
  case 309:
7266
0
#line 1218 "core/cfg.y"
7267
0
                                   { yyerror("number expected"); }
7268
0
#line 7269 "core/cfg.tab.c"
7269
0
    break;
7270
7271
0
  case 310:
7272
0
#line 1219 "core/cfg.y"
7273
0
                                          {
7274
0
    #ifdef USE_TCP
7275
0
      tcp_default_cfg.connect_timeout_s=(yyvsp[0].intval);
7276
    #else
7277
      warn("tcp support not compiled in");
7278
    #endif
7279
0
  }
7280
0
#line 7281 "core/cfg.tab.c"
7281
0
    break;
7282
7283
0
  case 311:
7284
0
#line 1226 "core/cfg.y"
7285
0
                                          { yyerror("number expected"); }
7286
0
#line 7287 "core/cfg.tab.c"
7287
0
    break;
7288
7289
0
  case 312:
7290
0
#line 1227 "core/cfg.y"
7291
0
                                       {
7292
0
    #ifdef USE_TCP
7293
0
      tcp_default_cfg.send_timeout=S_TO_TICKS((yyvsp[0].intval));
7294
    #else
7295
      warn("tcp support not compiled in");
7296
    #endif
7297
0
  }
7298
0
#line 7299 "core/cfg.tab.c"
7299
0
    break;
7300
7301
0
  case 313:
7302
0
#line 1234 "core/cfg.y"
7303
0
                                       { yyerror("number expected"); }
7304
0
#line 7305 "core/cfg.tab.c"
7305
0
    break;
7306
7307
0
  case 314:
7308
0
#line 1235 "core/cfg.y"
7309
0
                                       {
7310
0
    #ifdef USE_TCP
7311
0
      if ((yyvsp[0].intval)<0)
7312
0
        tcp_default_cfg.con_lifetime=-1;
7313
0
      else
7314
0
        tcp_default_cfg.con_lifetime=S_TO_TICKS((yyvsp[0].intval));
7315
    #else
7316
      warn("tcp support not compiled in");
7317
    #endif
7318
0
  }
7319
0
#line 7320 "core/cfg.tab.c"
7320
0
    break;
7321
7322
0
  case 315:
7323
0
#line 1245 "core/cfg.y"
7324
0
                                       { yyerror("number expected"); }
7325
0
#line 7326 "core/cfg.tab.c"
7326
0
    break;
7327
7328
0
  case 316:
7329
0
#line 1246 "core/cfg.y"
7330
0
                                   {
7331
0
    #ifdef USE_TCP
7332
0
      tcp_poll_method=get_poll_type((yyvsp[0].strval));
7333
0
      if (tcp_poll_method==POLL_NONE) {
7334
0
        LOG(L_CRIT, "bad poll method name:"
7335
0
            " %s\n, try one of %s.\n",
7336
0
            (yyvsp[0].strval), poll_support);
7337
0
        yyerror("bad tcp_poll_method "
7338
0
            "value");
7339
0
      }
7340
    #else
7341
      warn("tcp support not compiled in");
7342
    #endif
7343
0
  }
7344
0
#line 7345 "core/cfg.tab.c"
7345
0
    break;
7346
7347
0
  case 317:
7348
0
#line 1260 "core/cfg.y"
7349
0
                                       {
7350
0
    #ifdef USE_TCP
7351
0
      tcp_poll_method=get_poll_type((yyvsp[0].strval));
7352
0
      if (tcp_poll_method==POLL_NONE) {
7353
0
        LOG(L_CRIT, "bad poll method name:"
7354
0
            " %s\n, try one of %s.\n",
7355
0
            (yyvsp[0].strval), poll_support);
7356
0
        yyerror("bad tcp_poll_method "
7357
0
            "value");
7358
0
      }
7359
    #else
7360
      warn("tcp support not compiled in");
7361
    #endif
7362
0
  }
7363
0
#line 7364 "core/cfg.tab.c"
7364
0
    break;
7365
7366
0
  case 318:
7367
0
#line 1274 "core/cfg.y"
7368
0
                                      { yyerror("poll method name expected"); }
7369
0
#line 7370 "core/cfg.tab.c"
7370
0
    break;
7371
7372
0
  case 319:
7373
0
#line 1275 "core/cfg.y"
7374
0
                                           {
7375
0
    #ifdef USE_TCP
7376
0
      tcp_max_connections=(yyvsp[0].intval);
7377
    #else
7378
      warn("tcp support not compiled in");
7379
    #endif
7380
0
  }
7381
0
#line 7382 "core/cfg.tab.c"
7382
0
    break;
7383
7384
0
  case 320:
7385
0
#line 1282 "core/cfg.y"
7386
0
                                          { yyerror("number expected"); }
7387
0
#line 7388 "core/cfg.tab.c"
7388
0
    break;
7389
7390
0
  case 321:
7391
0
#line 1283 "core/cfg.y"
7392
0
                                           {
7393
0
    #ifdef USE_TLS
7394
0
      tls_max_connections=(yyvsp[0].intval);
7395
    #else
7396
      warn("tls support not compiled in");
7397
    #endif
7398
0
  }
7399
0
#line 7400 "core/cfg.tab.c"
7400
0
    break;
7401
7402
0
  case 322:
7403
0
#line 1290 "core/cfg.y"
7404
0
                                          { yyerror("number expected"); }
7405
0
#line 7406 "core/cfg.tab.c"
7406
0
    break;
7407
7408
0
  case 323:
7409
0
#line 1291 "core/cfg.y"
7410
0
                                      {
7411
0
    #ifdef USE_TCP
7412
0
      tcp_default_cfg.no_connect=(yyvsp[0].intval);
7413
    #else
7414
      warn("tcp support not compiled in");
7415
    #endif
7416
0
  }
7417
0
#line 7418 "core/cfg.tab.c"
7418
0
    break;
7419
7420
0
  case 324:
7421
0
#line 1298 "core/cfg.y"
7422
0
                                     { yyerror("boolean value expected"); }
7423
0
#line 7424 "core/cfg.tab.c"
7424
0
    break;
7425
7426
0
  case 325:
7427
0
#line 1299 "core/cfg.y"
7428
0
                                     {
7429
0
    #ifdef USE_TCP
7430
0
      if (tcp_set_src_addr((yyvsp[0].ipaddr))<0)
7431
0
        warn("tcp_source_ipv4 failed");
7432
    #else
7433
      warn("tcp support not compiled in");
7434
    #endif
7435
0
    pkg_free((yyvsp[0].ipaddr));
7436
0
  }
7437
0
#line 7438 "core/cfg.tab.c"
7438
0
    break;
7439
7440
0
  case 326:
7441
0
#line 1308 "core/cfg.y"
7442
0
                                      { yyerror("IPv4 address expected"); }
7443
0
#line 7444 "core/cfg.tab.c"
7444
0
    break;
7445
7446
0
  case 327:
7447
0
#line 1309 "core/cfg.y"
7448
0
                                     {
7449
0
    #ifdef USE_TCP
7450
0
        if (tcp_set_src_addr((yyvsp[0].ipaddr))<0)
7451
0
          warn("tcp_source_ipv6 failed");
7452
    #else
7453
      warn("tcp support not compiled in");
7454
    #endif
7455
0
    pkg_free((yyvsp[0].ipaddr));
7456
0
  }
7457
0
#line 7458 "core/cfg.tab.c"
7458
0
    break;
7459
7460
0
  case 328:
7461
0
#line 1318 "core/cfg.y"
7462
0
                                      { yyerror("IPv6 address expected"); }
7463
0
#line 7464 "core/cfg.tab.c"
7464
0
    break;
7465
7466
0
  case 329:
7467
0
#line 1319 "core/cfg.y"
7468
0
                                        {
7469
0
    #ifdef USE_TCP
7470
0
      tcp_default_cfg.fd_cache=(yyvsp[0].intval);
7471
    #else
7472
      warn("tcp support not compiled in");
7473
    #endif
7474
0
  }
7475
0
#line 7476 "core/cfg.tab.c"
7476
0
    break;
7477
7478
0
  case 330:
7479
0
#line 1326 "core/cfg.y"
7480
0
                                       { yyerror("boolean value expected"); }
7481
0
#line 7482 "core/cfg.tab.c"
7482
0
    break;
7483
7484
0
  case 331:
7485
0
#line 1327 "core/cfg.y"
7486
0
                                         {
7487
0
    #ifdef USE_TCP
7488
0
      tcp_default_cfg.async=(yyvsp[0].intval);
7489
    #else
7490
      warn("tcp support not compiled in");
7491
    #endif
7492
0
  }
7493
0
#line 7494 "core/cfg.tab.c"
7494
0
    break;
7495
7496
0
  case 332:
7497
0
#line 1334 "core/cfg.y"
7498
0
                                        { yyerror("boolean value expected"); }
7499
0
#line 7500 "core/cfg.tab.c"
7500
0
    break;
7501
7502
0
  case 333:
7503
0
#line 1335 "core/cfg.y"
7504
0
                                           {
7505
0
    #ifdef USE_TCP
7506
0
      tcp_default_cfg.tcpconn_wq_max=(yyvsp[0].intval);
7507
    #else
7508
      warn("tcp support not compiled in");
7509
    #endif
7510
0
  }
7511
0
#line 7512 "core/cfg.tab.c"
7512
0
    break;
7513
7514
0
  case 334:
7515
0
#line 1342 "core/cfg.y"
7516
0
                                    { yyerror("boolean value expected"); }
7517
0
#line 7518 "core/cfg.tab.c"
7518
0
    break;
7519
7520
0
  case 335:
7521
0
#line 1343 "core/cfg.y"
7522
0
                                      {
7523
0
    #ifdef USE_TCP
7524
0
      tcp_default_cfg.tcp_wq_max=(yyvsp[0].intval);
7525
    #else
7526
      warn("tcp support not compiled in");
7527
    #endif
7528
0
  }
7529
0
#line 7530 "core/cfg.tab.c"
7530
0
    break;
7531
7532
0
  case 336:
7533
0
#line 1350 "core/cfg.y"
7534
0
                               { yyerror("number expected"); }
7535
0
#line 7536 "core/cfg.tab.c"
7536
0
    break;
7537
7538
0
  case 337:
7539
0
#line 1351 "core/cfg.y"
7540
0
                                      {
7541
0
    #ifdef USE_TCP
7542
0
      tcp_default_cfg.rd_buf_size=(yyvsp[0].intval);
7543
    #else
7544
      warn("tcp support not compiled in");
7545
    #endif
7546
0
  }
7547
0
#line 7548 "core/cfg.tab.c"
7548
0
    break;
7549
7550
0
  case 338:
7551
0
#line 1358 "core/cfg.y"
7552
0
                               { yyerror("number expected"); }
7553
0
#line 7554 "core/cfg.tab.c"
7554
0
    break;
7555
7556
0
  case 339:
7557
0
#line 1359 "core/cfg.y"
7558
0
                                      {
7559
0
    #ifdef USE_TCP
7560
0
      tcp_default_cfg.wq_blk_size=(yyvsp[0].intval);
7561
    #else
7562
      warn("tcp support not compiled in");
7563
    #endif
7564
0
  }
7565
0
#line 7566 "core/cfg.tab.c"
7566
0
    break;
7567
7568
0
  case 340:
7569
0
#line 1366 "core/cfg.y"
7570
0
                               { yyerror("number expected"); }
7571
0
#line 7572 "core/cfg.tab.c"
7572
0
    break;
7573
7574
0
  case 341:
7575
0
#line 1367 "core/cfg.y"
7576
0
                                            {
7577
0
    #ifdef USE_TCP
7578
0
      tcp_default_cfg.defer_accept=(yyvsp[0].intval);
7579
    #else
7580
      warn("tcp support not compiled in");
7581
    #endif
7582
0
  }
7583
0
#line 7584 "core/cfg.tab.c"
7584
0
    break;
7585
7586
0
  case 342:
7587
0
#line 1374 "core/cfg.y"
7588
0
                                           { yyerror("boolean value expected"); }
7589
0
#line 7590 "core/cfg.tab.c"
7590
0
    break;
7591
7592
0
  case 343:
7593
0
#line 1375 "core/cfg.y"
7594
0
                                           {
7595
0
    #ifdef USE_TCP
7596
0
      tcp_default_cfg.delayed_ack=(yyvsp[0].intval);
7597
    #else
7598
      warn("tcp support not compiled in");
7599
    #endif
7600
0
  }
7601
0
#line 7602 "core/cfg.tab.c"
7602
0
    break;
7603
7604
0
  case 344:
7605
0
#line 1382 "core/cfg.y"
7606
0
                                          { yyerror("boolean value expected"); }
7607
0
#line 7608 "core/cfg.tab.c"
7608
0
    break;
7609
7610
0
  case 345:
7611
0
#line 1383 "core/cfg.y"
7612
0
                                      {
7613
0
    #ifdef USE_TCP
7614
0
      tcp_default_cfg.syncnt=(yyvsp[0].intval);
7615
    #else
7616
      warn("tcp support not compiled in");
7617
    #endif
7618
0
  }
7619
0
#line 7620 "core/cfg.tab.c"
7620
0
    break;
7621
7622
0
  case 346:
7623
0
#line 1390 "core/cfg.y"
7624
0
                                     { yyerror("number expected"); }
7625
0
#line 7626 "core/cfg.tab.c"
7626
0
    break;
7627
7628
0
  case 347:
7629
0
#line 1391 "core/cfg.y"
7630
0
                                       {
7631
0
    #ifdef USE_TCP
7632
0
      tcp_default_cfg.linger2=(yyvsp[0].intval);
7633
    #else
7634
      warn("tcp support not compiled in");
7635
    #endif
7636
0
  }
7637
0
#line 7638 "core/cfg.tab.c"
7638
0
    break;
7639
7640
0
  case 348:
7641
0
#line 1398 "core/cfg.y"
7642
0
                                      { yyerror("number expected"); }
7643
0
#line 7644 "core/cfg.tab.c"
7644
0
    break;
7645
7646
0
  case 349:
7647
0
#line 1399 "core/cfg.y"
7648
0
                                         {
7649
0
    #ifdef USE_TCP
7650
0
      tcp_default_cfg.keepalive=(yyvsp[0].intval);
7651
    #else
7652
      warn("tcp support not compiled in");
7653
    #endif
7654
0
  }
7655
0
#line 7656 "core/cfg.tab.c"
7656
0
    break;
7657
7658
0
  case 350:
7659
0
#line 1406 "core/cfg.y"
7660
0
                                        { yyerror("boolean value expected");}
7661
0
#line 7662 "core/cfg.tab.c"
7662
0
    break;
7663
7664
0
  case 351:
7665
0
#line 1407 "core/cfg.y"
7666
0
                                        {
7667
0
    #ifdef USE_TCP
7668
0
      tcp_default_cfg.keepidle=(yyvsp[0].intval);
7669
    #else
7670
      warn("tcp support not compiled in");
7671
    #endif
7672
0
  }
7673
0
#line 7674 "core/cfg.tab.c"
7674
0
    break;
7675
7676
0
  case 352:
7677
0
#line 1414 "core/cfg.y"
7678
0
                                       { yyerror("number expected"); }
7679
0
#line 7680 "core/cfg.tab.c"
7680
0
    break;
7681
7682
0
  case 353:
7683
0
#line 1415 "core/cfg.y"
7684
0
                                         {
7685
0
    #ifdef USE_TCP
7686
0
      tcp_default_cfg.keepintvl=(yyvsp[0].intval);
7687
    #else
7688
      warn("tcp support not compiled in");
7689
    #endif
7690
0
  }
7691
0
#line 7692 "core/cfg.tab.c"
7692
0
    break;
7693
7694
0
  case 354:
7695
0
#line 1422 "core/cfg.y"
7696
0
                                        { yyerror("number expected"); }
7697
0
#line 7698 "core/cfg.tab.c"
7698
0
    break;
7699
7700
0
  case 355:
7701
0
#line 1423 "core/cfg.y"
7702
0
                                       {
7703
0
    #ifdef USE_TCP
7704
0
      tcp_default_cfg.keepcnt=(yyvsp[0].intval);
7705
    #else
7706
      warn("tcp support not compiled in");
7707
    #endif
7708
0
  }
7709
0
#line 7710 "core/cfg.tab.c"
7710
0
    break;
7711
7712
0
  case 356:
7713
0
#line 1430 "core/cfg.y"
7714
0
                                      { yyerror("number expected"); }
7715
0
#line 7716 "core/cfg.tab.c"
7716
0
    break;
7717
7718
0
  case 357:
7719
0
#line 1431 "core/cfg.y"
7720
0
                                         {
7721
0
    #ifdef USE_TCP
7722
0
      tcp_default_cfg.crlf_ping=(yyvsp[0].intval);
7723
    #else
7724
      warn("tcp support not compiled in");
7725
    #endif
7726
0
  }
7727
0
#line 7728 "core/cfg.tab.c"
7728
0
    break;
7729
7730
0
  case 358:
7731
0
#line 1438 "core/cfg.y"
7732
0
                                        { yyerror("boolean value expected"); }
7733
0
#line 7734 "core/cfg.tab.c"
7734
0
    break;
7735
7736
0
  case 359:
7737
0
#line 1439 "core/cfg.y"
7738
0
                                              {
7739
0
    #ifdef USE_TCP
7740
0
      ksr_tcp_listen_backlog=(yyvsp[0].intval);
7741
    #else
7742
      warn("tcp support not compiled in");
7743
    #endif
7744
0
  }
7745
0
#line 7746 "core/cfg.tab.c"
7746
0
    break;
7747
7748
0
  case 360:
7749
0
#line 1446 "core/cfg.y"
7750
0
                                             { yyerror("number expected"); }
7751
0
#line 7752 "core/cfg.tab.c"
7752
0
    break;
7753
7754
0
  case 361:
7755
0
#line 1447 "core/cfg.y"
7756
0
                                            {
7757
0
    #ifdef USE_TCP
7758
0
      tcp_default_cfg.accept_no_cl=(yyvsp[0].intval);
7759
    #else
7760
      warn("tcp support not compiled in");
7761
    #endif
7762
0
  }
7763
0
#line 7764 "core/cfg.tab.c"
7764
0
    break;
7765
7766
0
  case 362:
7767
0
#line 1454 "core/cfg.y"
7768
0
                                           { yyerror("boolean value expected"); }
7769
0
#line 7770 "core/cfg.tab.c"
7770
0
    break;
7771
7772
0
  case 363:
7773
0
#line 1455 "core/cfg.y"
7774
0
                                           {
7775
0
    #ifdef USE_TCP
7776
0
      ksr_tcp_accept_hep3=(yyvsp[0].intval);
7777
    #else
7778
      warn("tcp support not compiled in");
7779
    #endif
7780
0
  }
7781
0
#line 7782 "core/cfg.tab.c"
7782
0
    break;
7783
7784
0
  case 364:
7785
0
#line 1462 "core/cfg.y"
7786
0
                                          { yyerror("boolean value expected"); }
7787
0
#line 7788 "core/cfg.tab.c"
7788
0
    break;
7789
7790
0
  case 365:
7791
0
#line 1463 "core/cfg.y"
7792
0
                                              {
7793
0
    #ifdef USE_TCP
7794
0
      ksr_tcp_accept_haproxy=(yyvsp[0].intval);
7795
    #else
7796
      warn("tcp support not compiled in");
7797
    #endif
7798
0
  }
7799
0
#line 7800 "core/cfg.tab.c"
7800
0
    break;
7801
7802
0
  case 366:
7803
0
#line 1470 "core/cfg.y"
7804
0
                                             { yyerror("boolean value expected"); }
7805
0
#line 7806 "core/cfg.tab.c"
7806
0
    break;
7807
7808
0
  case 367:
7809
0
#line 1471 "core/cfg.y"
7810
0
                                                {
7811
0
    #ifdef USE_TCP
7812
0
      ksr_tcp_accept_protocols=(yyvsp[0].intval);
7813
    #else
7814
      warn("tcp support not compiled in");
7815
    #endif
7816
0
  }
7817
0
#line 7818 "core/cfg.tab.c"
7818
0
    break;
7819
7820
0
  case 368:
7821
0
#line 1478 "core/cfg.y"
7822
0
                                                {
7823
0
    #ifdef USE_TCP
7824
0
      ksr_tcp_parse_accept_protocols((yyvsp[0].strval));
7825
    #else
7826
      warn("tcp support not compiled in");
7827
    #endif
7828
0
  }
7829
0
#line 7830 "core/cfg.tab.c"
7830
0
    break;
7831
7832
0
  case 369:
7833
0
#line 1485 "core/cfg.y"
7834
0
                                               { yyerror("number or string value expected"); }
7835
0
#line 7836 "core/cfg.tab.c"
7836
0
    break;
7837
7838
0
  case 370:
7839
0
#line 1486 "core/cfg.y"
7840
0
                                         {
7841
0
         #ifdef USE_TCP
7842
0
             tcp_default_cfg.close_rst=(yyvsp[0].intval);
7843
         #else
7844
             warn("tcp support not compiled in");
7845
         #endif
7846
0
     }
7847
0
#line 7848 "core/cfg.tab.c"
7848
0
    break;
7849
7850
0
  case 371:
7851
0
#line 1493 "core/cfg.y"
7852
0
                                     { yyerror("boolean value expected"); }
7853
0
#line 7854 "core/cfg.tab.c"
7854
0
    break;
7855
7856
0
  case 372:
7857
0
#line 1495 "core/cfg.y"
7858
0
                                        {
7859
0
    #ifdef USE_TCP
7860
0
      tcp_set_clone_rcvbuf((yyvsp[0].intval));
7861
    #else
7862
      warn("tcp support not compiled in");
7863
    #endif
7864
0
  }
7865
0
#line 7866 "core/cfg.tab.c"
7866
0
    break;
7867
7868
0
  case 373:
7869
0
#line 1502 "core/cfg.y"
7870
0
                                       { yyerror("number expected"); }
7871
0
#line 7872 "core/cfg.tab.c"
7872
0
    break;
7873
7874
0
  case 374:
7875
0
#line 1503 "core/cfg.y"
7876
0
                                      {
7877
0
    #ifdef USE_TCP
7878
0
    #ifdef SO_REUSEPORT
7879
0
      tcp_default_cfg.reuse_port=(yyvsp[0].intval);
7880
    #else
7881
      warn("support for SO_REUSEPORT not compiled in");
7882
    #endif
7883
    #else
7884
      warn("tcp support not compiled in");
7885
    #endif
7886
0
  }
7887
0
#line 7888 "core/cfg.tab.c"
7888
0
    break;
7889
7890
0
  case 375:
7891
0
#line 1514 "core/cfg.y"
7892
0
                                     { yyerror("boolean value expected"); }
7893
0
#line 7894 "core/cfg.tab.c"
7894
0
    break;
7895
7896
0
  case 376:
7897
0
#line 1515 "core/cfg.y"
7898
0
                                    {
7899
0
    #ifdef USE_TCP
7900
0
      tcp_default_cfg.wait_data_ms=(yyvsp[0].intval);
7901
    #else
7902
      warn("tcp support not compiled in");
7903
    #endif
7904
0
  }
7905
0
#line 7906 "core/cfg.tab.c"
7906
0
    break;
7907
7908
0
  case 377:
7909
0
#line 1522 "core/cfg.y"
7910
0
                                    { yyerror("number expected"); }
7911
0
#line 7912 "core/cfg.tab.c"
7912
0
    break;
7913
7914
0
  case 378:
7915
0
#line 1523 "core/cfg.y"
7916
0
                                      {
7917
0
    #ifdef USE_TCP
7918
0
      ksr_tcp_script_mode=(yyvsp[0].intval);
7919
    #else
7920
      warn("tcp support not compiled in");
7921
    #endif
7922
0
  }
7923
0
#line 7924 "core/cfg.tab.c"
7924
0
    break;
7925
7926
0
  case 379:
7927
0
#line 1530 "core/cfg.y"
7928
0
                                      { yyerror("number expected"); }
7929
0
#line 7930 "core/cfg.tab.c"
7930
0
    break;
7931
7932
0
  case 380:
7933
0
#line 1531 "core/cfg.y"
7934
0
                                                   {
7935
0
    #ifdef USE_TLS
7936
0
      tls_connection_match_domain=(yyvsp[0].intval);
7937
    #else
7938
      warn("tls support not compiled in");
7939
    #endif
7940
0
  }
7941
0
#line 7942 "core/cfg.tab.c"
7942
0
    break;
7943
7944
0
  case 381:
7945
0
#line 1538 "core/cfg.y"
7946
0
                                                  { yyerror("number expected"); }
7947
0
#line 7948 "core/cfg.tab.c"
7948
0
    break;
7949
7950
0
  case 382:
7951
0
#line 1539 "core/cfg.y"
7952
0
                                   {
7953
0
    #ifdef USE_TLS
7954
0
      tls_disable=(yyvsp[0].intval);
7955
    #else
7956
      warn("tls support not compiled in");
7957
    #endif
7958
0
  }
7959
0
#line 7960 "core/cfg.tab.c"
7960
0
    break;
7961
7962
0
  case 383:
7963
0
#line 1546 "core/cfg.y"
7964
0
                                  { yyerror("boolean value expected"); }
7965
0
#line 7966 "core/cfg.tab.c"
7966
0
    break;
7967
7968
0
  case 384:
7969
0
#line 1547 "core/cfg.y"
7970
0
                                  {
7971
0
    #ifdef USE_TLS
7972
0
      tls_disable=!((yyvsp[0].intval));
7973
    #else
7974
      warn("tls support not compiled in");
7975
    #endif
7976
0
  }
7977
0
#line 7978 "core/cfg.tab.c"
7978
0
    break;
7979
7980
0
  case 385:
7981
0
#line 1554 "core/cfg.y"
7982
0
                                 { yyerror("boolean value expected"); }
7983
0
#line 7984 "core/cfg.tab.c"
7984
0
    break;
7985
7986
0
  case 386:
7987
0
#line 1555 "core/cfg.y"
7988
0
                                        {
7989
0
    #ifdef USE_TLS
7990
0
      ksr_tls_threads_mode = (yyvsp[0].intval);
7991
    #else
7992
      warn("tls support not compiled in");
7993
    #endif
7994
0
  }
7995
0
#line 7996 "core/cfg.tab.c"
7996
0
    break;
7997
7998
0
  case 387:
7999
0
#line 1562 "core/cfg.y"
8000
0
                                       { yyerror("int value expected"); }
8001
0
#line 8002 "core/cfg.tab.c"
8002
0
    break;
8003
8004
0
  case 388:
8005
0
#line 1563 "core/cfg.y"
8006
0
                              {
8007
    #ifdef CORE_TLS
8008
      tls_log=(yyvsp[0].intval);
8009
    #else
8010
0
      warn("tls-in-core support not compiled in");
8011
0
    #endif
8012
0
  }
8013
0
#line 8014 "core/cfg.tab.c"
8014
0
    break;
8015
8016
0
  case 389:
8017
0
#line 1570 "core/cfg.y"
8018
0
                             { yyerror("int value expected"); }
8019
0
#line 8020 "core/cfg.tab.c"
8020
0
    break;
8021
8022
0
  case 390:
8023
0
#line 1571 "core/cfg.y"
8024
0
                                   {
8025
0
    #ifdef USE_TLS
8026
0
      tls_port_no=(yyvsp[0].intval);
8027
    #else
8028
      warn("tls support not compiled in");
8029
    #endif
8030
0
  }
8031
0
#line 8032 "core/cfg.tab.c"
8032
0
    break;
8033
8034
0
  case 391:
8035
0
#line 1578 "core/cfg.y"
8036
0
                                  { yyerror("number expected"); }
8037
0
#line 8038 "core/cfg.tab.c"
8038
0
    break;
8039
8040
0
  case 392:
8041
0
#line 1579 "core/cfg.y"
8042
0
                                  {
8043
    #ifdef CORE_TLS
8044
      tls_method=TLS_USE_SSLv23;
8045
    #else
8046
0
      warn("tls-in-core support not compiled in");
8047
0
    #endif
8048
0
  }
8049
0
#line 8050 "core/cfg.tab.c"
8050
0
    break;
8051
8052
0
  case 393:
8053
0
#line 1586 "core/cfg.y"
8054
0
                                 {
8055
    #ifdef CORE_TLS
8056
      tls_method=TLS_USE_SSLv2;
8057
    #else
8058
0
      warn("tls-in-core support not compiled in");
8059
0
    #endif
8060
0
  }
8061
0
#line 8062 "core/cfg.tab.c"
8062
0
    break;
8063
8064
0
  case 394:
8065
0
#line 1593 "core/cfg.y"
8066
0
                                 {
8067
    #ifdef CORE_TLS
8068
      tls_method=TLS_USE_SSLv3;
8069
    #else
8070
0
      warn("tls-in-core support not compiled in");
8071
0
    #endif
8072
0
  }
8073
0
#line 8074 "core/cfg.tab.c"
8074
0
    break;
8075
8076
0
  case 395:
8077
0
#line 1600 "core/cfg.y"
8078
0
                                 {
8079
    #ifdef CORE_TLS
8080
      tls_method=TLS_USE_TLSv1;
8081
    #else
8082
0
      warn("tls-in-core support not compiled in");
8083
0
    #endif
8084
0
  }
8085
0
#line 8086 "core/cfg.tab.c"
8086
0
    break;
8087
8088
0
  case 396:
8089
0
#line 1607 "core/cfg.y"
8090
0
                                 {
8091
    #ifdef CORE_TLS
8092
      yyerror("SSLv23, SSLv2, SSLv3 or TLSv1 expected");
8093
    #else
8094
0
      warn("tls-in-core support not compiled in");
8095
0
    #endif
8096
0
  }
8097
0
#line 8098 "core/cfg.tab.c"
8098
0
    break;
8099
8100
0
  case 397:
8101
0
#line 1614 "core/cfg.y"
8102
0
                                  {
8103
    #ifdef CORE_TLS
8104
      tls_verify_cert=(yyvsp[0].intval);
8105
    #else
8106
0
      warn("tls-in-core support not compiled in");
8107
0
    #endif
8108
0
  }
8109
0
#line 8110 "core/cfg.tab.c"
8110
0
    break;
8111
8112
0
  case 398:
8113
0
#line 1621 "core/cfg.y"
8114
0
                                 { yyerror("boolean value expected"); }
8115
0
#line 8116 "core/cfg.tab.c"
8116
0
    break;
8117
8118
0
  case 399:
8119
0
#line 1622 "core/cfg.y"
8120
0
                                               {
8121
    #ifdef CORE_TLS
8122
      tls_require_cert=(yyvsp[0].intval);
8123
    #else
8124
0
      warn( "tls-in-core support not compiled in");
8125
0
    #endif
8126
0
  }
8127
0
#line 8128 "core/cfg.tab.c"
8128
0
    break;
8129
8130
0
  case 400:
8131
0
#line 1629 "core/cfg.y"
8132
0
                                              { yyerror("boolean value expected"); }
8133
0
#line 8134 "core/cfg.tab.c"
8134
0
    break;
8135
8136
0
  case 401:
8137
0
#line 1630 "core/cfg.y"
8138
0
                                       {
8139
    #ifdef CORE_TLS
8140
      tls_cert_file=(yyvsp[0].strval);
8141
    #else
8142
0
      warn("tls-in-core support not compiled in");
8143
0
    #endif
8144
0
  }
8145
0
#line 8146 "core/cfg.tab.c"
8146
0
    break;
8147
8148
0
  case 402:
8149
0
#line 1637 "core/cfg.y"
8150
0
                                      { yyerror("string value expected"); }
8151
0
#line 8152 "core/cfg.tab.c"
8152
0
    break;
8153
8154
0
  case 403:
8155
0
#line 1638 "core/cfg.y"
8156
0
                                       {
8157
    #ifdef CORE_TLS
8158
      tls_pkey_file=(yyvsp[0].strval);
8159
    #else
8160
0
      warn("tls-in-core support not compiled in");
8161
0
    #endif
8162
0
  }
8163
0
#line 8164 "core/cfg.tab.c"
8164
0
    break;
8165
8166
0
  case 404:
8167
0
#line 1645 "core/cfg.y"
8168
0
                                      { yyerror("string value expected"); }
8169
0
#line 8170 "core/cfg.tab.c"
8170
0
    break;
8171
8172
0
  case 405:
8173
0
#line 1646 "core/cfg.y"
8174
0
                                   {
8175
    #ifdef CORE_TLS
8176
      tls_ca_file=(yyvsp[0].strval);
8177
    #else
8178
0
      warn("tls-in-core support not compiled in");
8179
0
    #endif
8180
0
  }
8181
0
#line 8182 "core/cfg.tab.c"
8182
0
    break;
8183
8184
0
  case 406:
8185
0
#line 1653 "core/cfg.y"
8186
0
                                  { yyerror("string value expected"); }
8187
0
#line 8188 "core/cfg.tab.c"
8188
0
    break;
8189
8190
0
  case 407:
8191
0
#line 1654 "core/cfg.y"
8192
0
                                             {
8193
    #ifdef CORE_TLS
8194
      tls_handshake_timeout=(yyvsp[0].intval);
8195
    #else
8196
0
      warn("tls-in-core support not compiled in");
8197
0
    #endif
8198
0
  }
8199
0
#line 8200 "core/cfg.tab.c"
8200
0
    break;
8201
8202
0
  case 408:
8203
0
#line 1661 "core/cfg.y"
8204
0
                                            { yyerror("number expected"); }
8205
0
#line 8206 "core/cfg.tab.c"
8206
0
    break;
8207
8208
0
  case 409:
8209
0
#line 1662 "core/cfg.y"
8210
0
                                        {
8211
    #ifdef CORE_TLS
8212
      tls_send_timeout=(yyvsp[0].intval);
8213
    #else
8214
0
      warn("tls-in-core support not compiled in");
8215
0
    #endif
8216
0
  }
8217
0
#line 8218 "core/cfg.tab.c"
8218
0
    break;
8219
8220
0
  case 410:
8221
0
#line 1669 "core/cfg.y"
8222
0
                                       { yyerror("number expected"); }
8223
0
#line 8224 "core/cfg.tab.c"
8224
0
    break;
8225
8226
0
  case 411:
8227
0
#line 1670 "core/cfg.y"
8228
0
                                    {
8229
0
    #ifdef USE_SCTP
8230
0
      sctp_disable=(yyvsp[0].intval);
8231
    #else
8232
      warn("sctp support not compiled in");
8233
    #endif
8234
0
  }
8235
0
#line 8236 "core/cfg.tab.c"
8236
0
    break;
8237
8238
0
  case 412:
8239
0
#line 1677 "core/cfg.y"
8240
0
                                   { yyerror("boolean value expected"); }
8241
0
#line 8242 "core/cfg.tab.c"
8242
0
    break;
8243
8244
0
  case 413:
8245
0
#line 1678 "core/cfg.y"
8246
0
                                   {
8247
0
    #ifdef USE_SCTP
8248
0
      sctp_disable=((yyvsp[0].intval)<=1)?!(yyvsp[0].intval):(yyvsp[0].intval);
8249
    #else
8250
      warn("sctp support not compiled in");
8251
    #endif
8252
0
  }
8253
0
#line 8254 "core/cfg.tab.c"
8254
0
    break;
8255
8256
0
  case 414:
8257
0
#line 1685 "core/cfg.y"
8258
0
                                  { yyerror("boolean or number expected"); }
8259
0
#line 8260 "core/cfg.tab.c"
8260
0
    break;
8261
8262
0
  case 415:
8263
0
#line 1686 "core/cfg.y"
8264
0
                                     {
8265
0
    #ifdef USE_SCTP
8266
0
      sctp_children_no=(yyvsp[0].intval);
8267
    #else
8268
      warn("sctp support not compiled in");
8269
    #endif
8270
0
  }
8271
0
#line 8272 "core/cfg.tab.c"
8272
0
    break;
8273
8274
0
  case 416:
8275
0
#line 1693 "core/cfg.y"
8276
0
                                    { yyerror("number expected"); }
8277
0
#line 8278 "core/cfg.tab.c"
8278
0
    break;
8279
8280
0
  case 417:
8281
0
#line 1694 "core/cfg.y"
8282
0
                                        { server_signature=(yyvsp[0].intval); }
8283
0
#line 8284 "core/cfg.tab.c"
8284
0
    break;
8285
8286
0
  case 418:
8287
0
#line 1695 "core/cfg.y"
8288
0
                                       { yyerror("boolean value expected"); }
8289
0
#line 8290 "core/cfg.tab.c"
8290
0
    break;
8291
8292
0
  case 419:
8293
0
#line 1696 "core/cfg.y"
8294
0
                                     { server_hdr.s=(yyvsp[0].strval);
8295
0
      server_hdr.len=strlen(server_hdr.s);
8296
0
  }
8297
0
#line 8298 "core/cfg.tab.c"
8298
0
    break;
8299
8300
0
  case 420:
8301
0
#line 1699 "core/cfg.y"
8302
0
                                    { yyerror("string value expected"); }
8303
0
#line 8304 "core/cfg.tab.c"
8304
0
    break;
8305
8306
0
  case 421:
8307
0
#line 1700 "core/cfg.y"
8308
0
                                         { user_agent_hdr.s=(yyvsp[0].strval);
8309
0
      user_agent_hdr.len=strlen(user_agent_hdr.s);
8310
0
  }
8311
0
#line 8312 "core/cfg.tab.c"
8312
0
    break;
8313
8314
0
  case 422:
8315
0
#line 1703 "core/cfg.y"
8316
0
                                        { yyerror("string value expected"); }
8317
0
#line 8318 "core/cfg.tab.c"
8318
0
    break;
8319
8320
0
  case 423:
8321
0
#line 1704 "core/cfg.y"
8322
0
                                            { _sr_uri_host_extra_chars=(yyvsp[0].strval); }
8323
0
#line 8324 "core/cfg.tab.c"
8324
0
    break;
8325
8326
0
  case 424:
8327
0
#line 1705 "core/cfg.y"
8328
0
                                           { yyerror("string value expected"); }
8329
0
#line 8330 "core/cfg.tab.c"
8330
0
    break;
8331
8332
0
  case 425:
8333
0
#line 1706 "core/cfg.y"
8334
0
                                            { _ksr_hname_extra_chars=(unsigned char*)(yyvsp[0].strval); }
8335
0
#line 8336 "core/cfg.tab.c"
8336
0
    break;
8337
8338
0
  case 426:
8339
0
#line 1707 "core/cfg.y"
8340
0
                                           { yyerror("string value expected"); }
8341
0
#line 8342 "core/cfg.tab.c"
8342
0
    break;
8343
8344
0
  case 427:
8345
0
#line 1708 "core/cfg.y"
8346
0
                                    { reply_to_via=(yyvsp[0].intval); }
8347
0
#line 8348 "core/cfg.tab.c"
8348
0
    break;
8349
8350
0
  case 428:
8351
0
#line 1709 "core/cfg.y"
8352
0
                                   { yyerror("boolean value expected"); }
8353
0
#line 8354 "core/cfg.tab.c"
8354
0
    break;
8355
8356
0
  case 429:
8357
0
#line 1710 "core/cfg.y"
8358
0
                              {
8359
0
    for(lst_tmp=(yyvsp[0].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8360
0
      if (add_listen_iface( lst_tmp->addr_lst->name,
8361
0
                  lst_tmp->addr_lst->next,
8362
0
                  lst_tmp->port, lst_tmp->proto,
8363
0
                  lst_tmp->flags)!=0) {
8364
0
        LM_CRIT("cfg. parser: failed to add listen address\n");
8365
0
        break;
8366
0
      }
8367
0
    }
8368
0
    free_socket_id_lst((yyvsp[0].sockid));
8369
0
  }
8370
0
#line 8371 "core/cfg.tab.c"
8371
0
    break;
8372
8373
0
  case 430:
8374
0
#line 1722 "core/cfg.y"
8375
0
                                      {
8376
0
                for(lst_tmp=(yyvsp[-1].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8377
0
      lst_tmp->flags |= SI_IS_VIRTUAL;
8378
0
                        if (add_listen_iface(   lst_tmp->addr_lst->name,
8379
0
                                                                        lst_tmp->addr_lst->next,
8380
0
                                                                        lst_tmp->port, lst_tmp->proto,
8381
0
                                                                        lst_tmp->flags)!=0) {
8382
0
                                LM_CRIT("cfg. parser: failed to add listen address\n");
8383
0
                                break;
8384
0
                        }
8385
0
                }
8386
0
                free_socket_id_lst((yyvsp[-1].sockid));
8387
0
        }
8388
0
#line 8389 "core/cfg.tab.c"
8389
0
    break;
8390
8391
0
  case 431:
8392
0
#line 1735 "core/cfg.y"
8393
0
                                             {
8394
0
    for(lst_tmp=(yyvsp[-2].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8395
0
      if (add_listen_iface_name(lst_tmp->addr_lst->name,
8396
0
                  lst_tmp->addr_lst->next,
8397
0
                  lst_tmp->port, lst_tmp->proto, (yyvsp[0].strval),
8398
0
                  lst_tmp->flags)!=0) {
8399
0
        LM_CRIT("cfg. parser: failed to add listen address\n");
8400
0
        break;
8401
0
      }
8402
0
    }
8403
0
    free_socket_id_lst((yyvsp[-2].sockid));
8404
0
  }
8405
0
#line 8406 "core/cfg.tab.c"
8406
0
    break;
8407
8408
0
  case 432:
8409
0
#line 1747 "core/cfg.y"
8410
0
                                                     {
8411
0
                for(lst_tmp=(yyvsp[-3].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8412
0
                        lst_tmp->flags |= SI_IS_VIRTUAL;
8413
0
                        if (add_listen_iface_name(lst_tmp->addr_lst->name,
8414
0
                                                                        lst_tmp->addr_lst->next,
8415
0
                                                                        lst_tmp->port, lst_tmp->proto, (yyvsp[-1].strval),
8416
0
                                                                        lst_tmp->flags)!=0) {
8417
0
                                LM_CRIT("cfg. parser: failed to add listen address\n");
8418
0
                                break;
8419
0
                        }
8420
0
                }
8421
0
                free_socket_id_lst((yyvsp[-3].sockid));
8422
0
        }
8423
0
#line 8424 "core/cfg.tab.c"
8424
0
    break;
8425
8426
0
  case 433:
8427
0
#line 1760 "core/cfg.y"
8428
0
                                                               {
8429
0
    for(lst_tmp=(yyvsp[-4].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8430
0
      if (add_listen_advertise_iface( lst_tmp->addr_lst->name,
8431
0
                  lst_tmp->addr_lst->next,
8432
0
                  lst_tmp->port, lst_tmp->proto,
8433
0
                  PROTO_NONE, (yyvsp[-2].strval), (yyvsp[0].intval),
8434
0
                  lst_tmp->flags)!=0) {
8435
0
        LM_CRIT("cfg. parser: failed to add listen address\n");
8436
0
        break;
8437
0
      }
8438
0
    }
8439
0
    free_socket_id_lst((yyvsp[-4].sockid));
8440
0
  }
8441
0
#line 8442 "core/cfg.tab.c"
8442
0
    break;
8443
8444
0
  case 434:
8445
0
#line 1773 "core/cfg.y"
8446
0
                                                                            {
8447
0
    for(lst_tmp=(yyvsp[-6].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8448
0
      if (add_listen_advertise_iface( lst_tmp->addr_lst->name,
8449
0
                  lst_tmp->addr_lst->next,
8450
0
                  lst_tmp->port, lst_tmp->proto,
8451
0
                  (yyvsp[-4].intval), (yyvsp[-2].strval), (yyvsp[0].intval),
8452
0
                  lst_tmp->flags)!=0) {
8453
0
        LM_CRIT("cfg. parser: failed to add listen address\n");
8454
0
        break;
8455
0
      }
8456
0
    }
8457
0
    free_socket_id_lst((yyvsp[-6].sockid));
8458
0
  }
8459
0
#line 8460 "core/cfg.tab.c"
8460
0
    break;
8461
8462
0
  case 435:
8463
0
#line 1786 "core/cfg.y"
8464
0
                                                                       {
8465
0
                for(lst_tmp=(yyvsp[-5].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8466
0
      lst_tmp->flags |= SI_IS_VIRTUAL;
8467
0
                        if (add_listen_advertise_iface( lst_tmp->addr_lst->name,
8468
0
                                                                        lst_tmp->addr_lst->next,
8469
0
                                                                        lst_tmp->port, lst_tmp->proto,
8470
0
                                                                        PROTO_NONE, (yyvsp[-3].strval), (yyvsp[-1].intval),
8471
0
                                                                        lst_tmp->flags)!=0) {
8472
0
                                LM_CRIT("cfg. parser: failed to add listen address\n");
8473
0
                                break;
8474
0
                        }
8475
0
                }
8476
0
                free_socket_id_lst((yyvsp[-5].sockid));
8477
0
        }
8478
0
#line 8479 "core/cfg.tab.c"
8479
0
    break;
8480
8481
0
  case 436:
8482
0
#line 1800 "core/cfg.y"
8483
0
                                                                              {
8484
0
    for(lst_tmp=(yyvsp[-6].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8485
0
      if (add_listen_advertise_iface_name(lst_tmp->addr_lst->name,
8486
0
                  lst_tmp->addr_lst->next,
8487
0
                  lst_tmp->port, lst_tmp->proto,
8488
0
                  PROTO_NONE, (yyvsp[-4].strval), (yyvsp[-2].intval), (yyvsp[0].strval),
8489
0
                  lst_tmp->flags)!=0) {
8490
0
        LM_CRIT("cfg. parser: failed to add listen address\n");
8491
0
        break;
8492
0
      }
8493
0
    }
8494
0
    free_socket_id_lst((yyvsp[-6].sockid));
8495
0
  }
8496
0
#line 8497 "core/cfg.tab.c"
8497
0
    break;
8498
8499
0
  case 437:
8500
0
#line 1813 "core/cfg.y"
8501
0
                                                                                           {
8502
0
    for(lst_tmp=(yyvsp[-8].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8503
0
      if (add_listen_advertise_iface_name(lst_tmp->addr_lst->name,
8504
0
                  lst_tmp->addr_lst->next,
8505
0
                  lst_tmp->port, lst_tmp->proto,
8506
0
                  (yyvsp[-6].intval), (yyvsp[-4].strval), (yyvsp[-2].intval), (yyvsp[0].strval),
8507
0
                  lst_tmp->flags)!=0) {
8508
0
        LM_CRIT("cfg. parser: failed to add listen address\n");
8509
0
        break;
8510
0
      }
8511
0
    }
8512
0
    free_socket_id_lst((yyvsp[-8].sockid));
8513
0
  }
8514
0
#line 8515 "core/cfg.tab.c"
8515
0
    break;
8516
8517
0
  case 438:
8518
0
#line 1826 "core/cfg.y"
8519
0
                                                                                      {
8520
0
                for(lst_tmp=(yyvsp[-7].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8521
0
      lst_tmp->flags |= SI_IS_VIRTUAL;
8522
0
                        if (add_listen_advertise_iface_name(lst_tmp->addr_lst->name,
8523
0
                                                                        lst_tmp->addr_lst->next,
8524
0
                                                                        lst_tmp->port, lst_tmp->proto,
8525
0
                                                                        PROTO_NONE, (yyvsp[-5].strval), (yyvsp[-3].intval), (yyvsp[-1].strval),
8526
0
                                                                        lst_tmp->flags)!=0) {
8527
0
                                LM_CRIT("cfg. parser: failed to add listen address\n");
8528
0
                                break;
8529
0
                        }
8530
0
                }
8531
0
                free_socket_id_lst((yyvsp[-7].sockid));
8532
0
        }
8533
0
#line 8534 "core/cfg.tab.c"
8534
0
    break;
8535
8536
0
  case 439:
8537
0
#line 1840 "core/cfg.y"
8538
0
                                                                                                   {
8539
0
                for(lst_tmp=(yyvsp[-9].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8540
0
      lst_tmp->flags |= SI_IS_VIRTUAL;
8541
0
                        if (add_listen_advertise_iface_name(lst_tmp->addr_lst->name,
8542
0
                                                                        lst_tmp->addr_lst->next,
8543
0
                                                                        lst_tmp->port, lst_tmp->proto,
8544
0
                                                                        (yyvsp[-7].intval), (yyvsp[-5].strval), (yyvsp[-3].intval), (yyvsp[-1].strval),
8545
0
                                                                        lst_tmp->flags)!=0) {
8546
0
                                LM_CRIT("cfg. parser: failed to add listen address\n");
8547
0
                                break;
8548
0
                        }
8549
0
                }
8550
0
                free_socket_id_lst((yyvsp[-9].sockid));
8551
0
        }
8552
0
#line 8553 "core/cfg.tab.c"
8553
0
    break;
8554
8555
0
  case 440:
8556
0
#line 1854 "core/cfg.y"
8557
0
                                                  {
8558
0
    for(lst_tmp=(yyvsp[-2].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8559
0
      if (add_listen_advertise_iface( lst_tmp->addr_lst->name,
8560
0
                  lst_tmp->addr_lst->next,
8561
0
                  lst_tmp->port, lst_tmp->proto,
8562
0
                  PROTO_NONE, (yyvsp[0].strval), 0,
8563
0
                  lst_tmp->flags)!=0) {
8564
0
        LM_CRIT("cfg. parser: failed to add listen address\n");
8565
0
        break;
8566
0
      }
8567
0
    }
8568
0
    free_socket_id_lst((yyvsp[-2].sockid));
8569
0
  }
8570
0
#line 8571 "core/cfg.tab.c"
8571
0
    break;
8572
8573
0
  case 441:
8574
0
#line 1867 "core/cfg.y"
8575
0
                                                          {
8576
0
                for(lst_tmp=(yyvsp[-3].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8577
0
      lst_tmp->flags |= SI_IS_VIRTUAL;
8578
0
                        if (add_listen_advertise_iface( lst_tmp->addr_lst->name,
8579
0
                                                                        lst_tmp->addr_lst->next,
8580
0
                                                                        lst_tmp->port, lst_tmp->proto,
8581
0
                                                                        PROTO_NONE, (yyvsp[-1].strval), 0,
8582
0
                                                                        lst_tmp->flags)!=0) {
8583
0
                                LM_CRIT("cfg. parser: failed to add listen address\n");
8584
0
                                break;
8585
0
                        }
8586
0
                }
8587
0
                free_socket_id_lst((yyvsp[-3].sockid));
8588
0
        }
8589
0
#line 8590 "core/cfg.tab.c"
8590
0
    break;
8591
8592
0
  case 442:
8593
0
#line 1881 "core/cfg.y"
8594
0
                                                                 {
8595
0
    for(lst_tmp=(yyvsp[-4].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8596
0
      if (add_listen_advertise_iface_name(lst_tmp->addr_lst->name,
8597
0
                  lst_tmp->addr_lst->next,
8598
0
                  lst_tmp->port, lst_tmp->proto,
8599
0
                  PROTO_NONE, (yyvsp[-2].strval), 0, (yyvsp[0].strval),
8600
0
                  lst_tmp->flags)!=0) {
8601
0
        LM_CRIT("cfg. parser: failed to add listen address\n");
8602
0
        break;
8603
0
      }
8604
0
    }
8605
0
    free_socket_id_lst((yyvsp[-4].sockid));
8606
0
  }
8607
0
#line 8608 "core/cfg.tab.c"
8608
0
    break;
8609
8610
0
  case 443:
8611
0
#line 1894 "core/cfg.y"
8612
0
                                                                         {
8613
0
                for(lst_tmp=(yyvsp[-5].sockid); lst_tmp; lst_tmp=lst_tmp->next) {
8614
0
      lst_tmp->flags |= SI_IS_VIRTUAL;
8615
0
                        if (add_listen_advertise_iface_name(lst_tmp->addr_lst->name,
8616
0
                                                                        lst_tmp->addr_lst->next,
8617
0
                                                                        lst_tmp->port, lst_tmp->proto,
8618
0
                                                                        PROTO_NONE, (yyvsp[-3].strval), 0, (yyvsp[-1].strval),
8619
0
                                                                        lst_tmp->flags)!=0) {
8620
0
                                LM_CRIT("cfg. parser: failed to add listen address\n");
8621
0
                                break;
8622
0
                        }
8623
0
                }
8624
0
                free_socket_id_lst((yyvsp[-5].sockid));
8625
0
        }
8626
0
#line 8627 "core/cfg.tab.c"
8627
0
    break;
8628
8629
0
  case 444:
8630
0
#line 1908 "core/cfg.y"
8631
0
                              { yyerror("ip address, interface name or"
8632
0
                  " hostname expected"); }
8633
0
#line 8634 "core/cfg.tab.c"
8634
0
    break;
8635
8636
0
  case 445:
8637
0
#line 1910 "core/cfg.y"
8638
0
                              {
8639
0
    for(lst_tmp=(yyvsp[0].sockid); lst_tmp; lst_tmp=lst_tmp->next){
8640
0
      add_alias(  lst_tmp->addr_lst->name,
8641
0
            strlen(lst_tmp->addr_lst->name),
8642
0
            lst_tmp->port, lst_tmp->proto);
8643
0
      for (nl_tmp=lst_tmp->addr_lst->next; nl_tmp; nl_tmp=nl_tmp->next)
8644
0
        add_alias(nl_tmp->name, strlen(nl_tmp->name),
8645
0
              lst_tmp->port, lst_tmp->proto);
8646
0
    }
8647
0
    free_socket_id_lst((yyvsp[0].sockid));
8648
0
  }
8649
0
#line 8650 "core/cfg.tab.c"
8650
0
    break;
8651
8652
0
  case 446:
8653
0
#line 1921 "core/cfg.y"
8654
0
                              { yyerror("hostname expected"); }
8655
0
#line 8656 "core/cfg.tab.c"
8656
0
    break;
8657
8658
0
  case 447:
8659
0
#line 1922 "core/cfg.y"
8660
0
                               {
8661
0
    for(lst_tmp=(yyvsp[0].sockid); lst_tmp; lst_tmp=lst_tmp->next){
8662
0
      add_alias(  lst_tmp->addr_lst->name,
8663
0
            strlen(lst_tmp->addr_lst->name),
8664
0
            lst_tmp->port, lst_tmp->proto);
8665
0
      for (nl_tmp=lst_tmp->addr_lst->next; nl_tmp; nl_tmp=nl_tmp->next)
8666
0
        add_alias(nl_tmp->name, strlen(nl_tmp->name),
8667
0
              lst_tmp->port, lst_tmp->proto);
8668
0
    }
8669
0
    free_socket_id_lst((yyvsp[0].sockid));
8670
0
  }
8671
0
#line 8672 "core/cfg.tab.c"
8672
0
    break;
8673
8674
0
  case 448:
8675
0
#line 1933 "core/cfg.y"
8676
0
                               { yyerror("hostname expected"); }
8677
0
#line 8678 "core/cfg.tab.c"
8678
0
    break;
8679
8680
0
  case 449:
8681
0
#line 1934 "core/cfg.y"
8682
0
                                       { sr_auto_aliases=(yyvsp[0].intval); }
8683
0
#line 8684 "core/cfg.tab.c"
8684
0
    break;
8685
8686
0
  case 450:
8687
0
#line 1935 "core/cfg.y"
8688
0
                                       { yyerror("boolean value expected"); }
8689
0
#line 8690 "core/cfg.tab.c"
8690
0
    break;
8691
8692
0
  case 451:
8693
0
#line 1936 "core/cfg.y"
8694
0
                                       { sr_auto_aliases=(yyvsp[0].intval); }
8695
0
#line 8696 "core/cfg.tab.c"
8696
0
    break;
8697
8698
0
  case 452:
8699
0
#line 1937 "core/cfg.y"
8700
0
                                       { yyerror("boolean value expected"); }
8701
0
#line 8702 "core/cfg.tab.c"
8702
0
    break;
8703
8704
0
  case 453:
8705
0
#line 1938 "core/cfg.y"
8706
0
                                             {
8707
0
    if ((yyvsp[0].strval)){
8708
0
      default_global_address.s=(yyvsp[0].strval);
8709
0
      default_global_address.len=strlen((yyvsp[0].strval));
8710
0
    }
8711
0
  }
8712
0
#line 8713 "core/cfg.tab.c"
8713
0
    break;
8714
8715
0
  case 454:
8716
0
#line 1944 "core/cfg.y"
8717
0
                                         {yyerror("ip address or hostname expected"); }
8718
0
#line 8719 "core/cfg.tab.c"
8719
0
    break;
8720
8721
0
  case 455:
8722
0
#line 1945 "core/cfg.y"
8723
0
                                       {
8724
0
    tmp=int2str((yyvsp[0].intval), &i_tmp);
8725
0
    if ((default_global_port.s=pkg_malloc(i_tmp))==0) {
8726
0
      PKG_MEM_CRITICAL;
8727
0
      default_global_port.len=0;
8728
0
    } else {
8729
0
      default_global_port.len=i_tmp;
8730
0
      memcpy(default_global_port.s, tmp, default_global_port.len);
8731
0
    };
8732
0
  }
8733
0
#line 8734 "core/cfg.tab.c"
8734
0
    break;
8735
8736
0
  case 456:
8737
0
#line 1955 "core/cfg.y"
8738
0
                                     {yyerror("ip address or hostname expected"); }
8739
0
#line 8740 "core/cfg.tab.c"
8740
0
    break;
8741
8742
0
  case 457:
8743
0
#line 1956 "core/cfg.y"
8744
0
                                    { disable_core_dump=(yyvsp[0].intval); }
8745
0
#line 8746 "core/cfg.tab.c"
8746
0
    break;
8747
8748
0
  case 458:
8749
0
#line 1957 "core/cfg.y"
8750
0
                                   { yyerror("boolean value expected"); }
8751
0
#line 8752 "core/cfg.tab.c"
8752
0
    break;
8753
8754
0
  case 459:
8755
0
#line 1958 "core/cfg.y"
8756
0
                                     { open_files_limit=(yyvsp[0].intval); }
8757
0
#line 8758 "core/cfg.tab.c"
8758
0
    break;
8759
8760
0
  case 460:
8761
0
#line 1959 "core/cfg.y"
8762
0
                                    { yyerror("number expected"); }
8763
0
#line 8764 "core/cfg.tab.c"
8764
0
    break;
8765
8766
0
  case 461:
8767
0
#line 1960 "core/cfg.y"
8768
0
                                  {
8769
0
    if (shm_initialized()) {
8770
0
      yyerror("shm/shm_mem_size must be before any modparam or the"
8771
0
          " route blocks");
8772
0
    } else if (shm_mem_size == 0 || shm_mem_size == SHM_MEM_POOL_SIZE) {
8773
      /* safety check for upper limit of 16TB */
8774
0
      if((yyvsp[0].intval) <= 0 || (yyvsp[0].intval) > 16L * 1024 * 1024) {
8775
0
        LM_ERR("out of limits shmem size number: %ld\n", (long int)(yyvsp[0].intval));
8776
0
        yyerror("invalid config option");
8777
0
        YYABORT;
8778
0
      }
8779
0
      shm_mem_size=(yyvsp[0].intval) * 1024 * 1024;
8780
0
    }
8781
0
  }
8782
0
#line 8783 "core/cfg.tab.c"
8783
0
    break;
8784
8785
0
  case 462:
8786
0
#line 1974 "core/cfg.y"
8787
0
                                 { yyerror("number expected"); }
8788
0
#line 8789 "core/cfg.tab.c"
8789
0
    break;
8790
8791
0
  case 463:
8792
0
#line 1975 "core/cfg.y"
8793
0
                                       {
8794
0
    if (shm_initialized())
8795
0
      yyerror("shm_force_alloc must be before any modparam or the"
8796
0
          " route blocks");
8797
0
    else
8798
0
      shm_force_alloc=(yyvsp[0].intval);
8799
0
  }
8800
0
#line 8801 "core/cfg.tab.c"
8801
0
    break;
8802
8803
0
  case 464:
8804
0
#line 1982 "core/cfg.y"
8805
0
                                      { yyerror("boolean value expected"); }
8806
0
#line 8807 "core/cfg.tab.c"
8807
0
    break;
8808
8809
0
  case 465:
8810
0
#line 1983 "core/cfg.y"
8811
0
                                   { mlock_pages=(yyvsp[0].intval); }
8812
0
#line 8813 "core/cfg.tab.c"
8813
0
    break;
8814
8815
0
  case 466:
8816
0
#line 1984 "core/cfg.y"
8817
0
                                  { yyerror("boolean value expected"); }
8818
0
#line 8819 "core/cfg.tab.c"
8819
0
    break;
8820
8821
0
  case 467:
8822
0
#line 1985 "core/cfg.y"
8823
0
                                 { real_time=(yyvsp[0].intval); }
8824
0
#line 8825 "core/cfg.tab.c"
8825
0
    break;
8826
8827
0
  case 468:
8828
0
#line 1986 "core/cfg.y"
8829
0
                                { yyerror("boolean value expected"); }
8830
0
#line 8831 "core/cfg.tab.c"
8831
0
    break;
8832
8833
0
  case 469:
8834
0
#line 1987 "core/cfg.y"
8835
0
                               { rt_prio=(yyvsp[0].intval); }
8836
0
#line 8837 "core/cfg.tab.c"
8837
0
    break;
8838
8839
0
  case 470:
8840
0
#line 1988 "core/cfg.y"
8841
0
                              { yyerror("boolean value expected"); }
8842
0
#line 8843 "core/cfg.tab.c"
8843
0
    break;
8844
8845
0
  case 471:
8846
0
#line 1989 "core/cfg.y"
8847
0
                                 { rt_policy=(yyvsp[0].intval); }
8848
0
#line 8849 "core/cfg.tab.c"
8849
0
    break;
8850
8851
0
  case 472:
8852
0
#line 1990 "core/cfg.y"
8853
0
                                { yyerror("boolean value expected"); }
8854
0
#line 8855 "core/cfg.tab.c"
8855
0
    break;
8856
8857
0
  case 473:
8858
0
#line 1991 "core/cfg.y"
8859
0
                                      { rt_timer1_prio=(yyvsp[0].intval); }
8860
0
#line 8861 "core/cfg.tab.c"
8861
0
    break;
8862
8863
0
  case 474:
8864
0
#line 1992 "core/cfg.y"
8865
0
                                     { yyerror("boolean value expected"); }
8866
0
#line 8867 "core/cfg.tab.c"
8867
0
    break;
8868
8869
0
  case 475:
8870
0
#line 1993 "core/cfg.y"
8871
0
                                        { rt_timer1_policy=(yyvsp[0].intval); }
8872
0
#line 8873 "core/cfg.tab.c"
8873
0
    break;
8874
8875
0
  case 476:
8876
0
#line 1994 "core/cfg.y"
8877
0
                                       { yyerror("boolean value expected"); }
8878
0
#line 8879 "core/cfg.tab.c"
8879
0
    break;
8880
8881
0
  case 477:
8882
0
#line 1995 "core/cfg.y"
8883
0
                                      { rt_timer2_prio=(yyvsp[0].intval); }
8884
0
#line 8885 "core/cfg.tab.c"
8885
0
    break;
8886
8887
0
  case 478:
8888
0
#line 1996 "core/cfg.y"
8889
0
                                     { yyerror("boolean value expected"); }
8890
0
#line 8891 "core/cfg.tab.c"
8891
0
    break;
8892
8893
0
  case 479:
8894
0
#line 1997 "core/cfg.y"
8895
0
                                        { rt_timer2_policy=(yyvsp[0].intval); }
8896
0
#line 8897 "core/cfg.tab.c"
8897
0
    break;
8898
8899
0
  case 480:
8900
0
#line 1998 "core/cfg.y"
8901
0
                                       { yyerror("boolean value expected"); }
8902
0
#line 8903 "core/cfg.tab.c"
8903
0
    break;
8904
8905
0
  case 481:
8906
0
#line 1999 "core/cfg.y"
8907
0
                                      {
8908
0
    #ifdef USE_MCAST
8909
0
      mcast_loopback=(yyvsp[0].intval);
8910
    #else
8911
      warn("no multicast support compiled in");
8912
    #endif
8913
0
  }
8914
0
#line 8915 "core/cfg.tab.c"
8915
0
    break;
8916
8917
0
  case 482:
8918
0
#line 2006 "core/cfg.y"
8919
0
                                     { yyerror("boolean value expected"); }
8920
0
#line 8921 "core/cfg.tab.c"
8921
0
    break;
8922
8923
0
  case 483:
8924
0
#line 2007 "core/cfg.y"
8925
0
                                 {
8926
0
    #ifdef USE_MCAST
8927
0
      mcast_ttl=(yyvsp[0].intval);
8928
    #else
8929
      warn("no multicast support compiled in");
8930
    #endif
8931
0
  }
8932
0
#line 8933 "core/cfg.tab.c"
8933
0
    break;
8934
8935
0
  case 484:
8936
0
#line 2014 "core/cfg.y"
8937
0
                                { yyerror("number expected"); }
8938
0
#line 8939 "core/cfg.tab.c"
8939
0
    break;
8940
8941
0
  case 485:
8942
0
#line 2015 "core/cfg.y"
8943
0
                         {
8944
0
    #ifdef USE_MCAST
8945
0
      mcast=(yyvsp[0].strval);
8946
    #else
8947
      warn("no multicast support compiled in");
8948
    #endif
8949
0
  }
8950
0
#line 8951 "core/cfg.tab.c"
8951
0
    break;
8952
8953
0
  case 486:
8954
0
#line 2022 "core/cfg.y"
8955
0
                             {
8956
0
    #ifdef USE_MCAST
8957
0
      mcast=(yyvsp[0].strval);
8958
    #else
8959
      warn("no multicast support compiled in");
8960
    #endif
8961
0
  }
8962
0
#line 8963 "core/cfg.tab.c"
8963
0
    break;
8964
8965
0
  case 487:
8966
0
#line 2029 "core/cfg.y"
8967
0
                            { yyerror("string expected"); }
8968
0
#line 8969 "core/cfg.tab.c"
8969
0
    break;
8970
8971
0
  case 488:
8972
0
#line 2030 "core/cfg.y"
8973
0
                           { tos=(yyvsp[0].intval); }
8974
0
#line 8975 "core/cfg.tab.c"
8975
0
    break;
8976
8977
0
  case 489:
8978
0
#line 2031 "core/cfg.y"
8979
0
                       { if (strcasecmp((yyvsp[0].strval),"IPTOS_LOWDELAY")) {
8980
0
      tos=IPTOS_LOWDELAY;
8981
0
    } else if (strcasecmp((yyvsp[0].strval),"IPTOS_THROUGHPUT")) {
8982
0
      tos=IPTOS_THROUGHPUT;
8983
0
    } else if (strcasecmp((yyvsp[0].strval),"IPTOS_RELIABILITY")) {
8984
0
      tos=IPTOS_RELIABILITY;
8985
0
#if defined(IPTOS_MINCOST)
8986
0
    } else if (strcasecmp((yyvsp[0].strval),"IPTOS_MINCOST")) {
8987
0
      tos=IPTOS_MINCOST;
8988
0
#endif
8989
0
#if defined(IPTOS_LOWCOST)
8990
0
    } else if (strcasecmp((yyvsp[0].strval),"IPTOS_LOWCOST")) {
8991
0
      tos=IPTOS_LOWCOST;
8992
0
#endif
8993
0
    } else {
8994
0
      yyerror("invalid tos value - allowed: "
8995
0
        "IPTOS_LOWDELAY,IPTOS_THROUGHPUT,"
8996
0
        "IPTOS_RELIABILITY"
8997
0
#if defined(IPTOS_LOWCOST)
8998
0
        ",IPTOS_LOWCOST"
8999
0
#endif
9000
#if !defined(IPTOS_MINCOST)
9001
        ",IPTOS_MINCOST"
9002
#endif
9003
0
        "\n");
9004
0
    }
9005
0
  }
9006
0
#line 9007 "core/cfg.tab.c"
9007
0
    break;
9008
9009
0
  case 490:
9010
0
#line 2058 "core/cfg.y"
9011
0
                          { yyerror("number expected"); }
9012
0
#line 9013 "core/cfg.tab.c"
9013
0
    break;
9014
9015
0
  case 491:
9016
0
#line 2059 "core/cfg.y"
9017
0
                                      { pmtu_discovery=(yyvsp[0].intval); }
9018
0
#line 9019 "core/cfg.tab.c"
9019
0
    break;
9020
9021
0
  case 492:
9022
0
#line 2060 "core/cfg.y"
9023
0
                               { yyerror("number expected"); }
9024
0
#line 9025 "core/cfg.tab.c"
9025
0
    break;
9026
9027
0
  case 493:
9028
0
#line 2061 "core/cfg.y"
9029
0
                                    { ser_kill_timeout=(yyvsp[0].intval); }
9030
0
#line 9031 "core/cfg.tab.c"
9031
0
    break;
9032
9033
0
  case 494:
9034
0
#line 2062 "core/cfg.y"
9035
0
                                   { yyerror("number expected"); }
9036
0
#line 9037 "core/cfg.tab.c"
9037
0
    break;
9038
9039
0
  case 495:
9040
0
#line 2063 "core/cfg.y"
9041
0
                                  { default_core_cfg.max_while_loops=(yyvsp[0].intval); }
9042
0
#line 9043 "core/cfg.tab.c"
9043
0
    break;
9044
9045
0
  case 496:
9046
0
#line 2064 "core/cfg.y"
9047
0
                                 { yyerror("number expected"); }
9048
0
#line 9049 "core/cfg.tab.c"
9049
0
    break;
9050
9051
0
  case 497:
9052
0
#line 2065 "core/cfg.y"
9053
0
                                 { pv_set_buffer_size((yyvsp[0].intval)); }
9054
0
#line 9055 "core/cfg.tab.c"
9055
0
    break;
9056
9057
0
  case 498:
9058
0
#line 2066 "core/cfg.y"
9059
0
                                { yyerror("number expected"); }
9060
0
#line 9061 "core/cfg.tab.c"
9061
0
    break;
9062
9063
0
  case 499:
9064
0
#line 2067 "core/cfg.y"
9065
0
                                  { pv_set_buffer_slots((yyvsp[0].intval)); }
9066
0
#line 9067 "core/cfg.tab.c"
9067
0
    break;
9068
9069
0
  case 500:
9070
0
#line 2068 "core/cfg.y"
9071
0
                                 { yyerror("number expected"); }
9072
0
#line 9073 "core/cfg.tab.c"
9073
0
    break;
9074
9075
0
  case 501:
9076
0
#line 2069 "core/cfg.y"
9077
0
                                    { default_core_cfg.pv_cache_limit=(yyvsp[0].intval); }
9078
0
#line 9079 "core/cfg.tab.c"
9079
0
    break;
9080
9081
0
  case 502:
9082
0
#line 2070 "core/cfg.y"
9083
0
                                   { yyerror("number expected"); }
9084
0
#line 9085 "core/cfg.tab.c"
9085
0
    break;
9086
9087
0
  case 503:
9088
0
#line 2071 "core/cfg.y"
9089
0
                                     { default_core_cfg.pv_cache_action=(yyvsp[0].intval); }
9090
0
#line 9091 "core/cfg.tab.c"
9091
0
    break;
9092
9093
0
  case 504:
9094
0
#line 2072 "core/cfg.y"
9095
0
                                    { yyerror("number expected"); }
9096
0
#line 9097 "core/cfg.tab.c"
9097
0
    break;
9098
9099
0
  case 505:
9100
0
#line 2073 "core/cfg.y"
9101
0
                                        { http_reply_parse=(yyvsp[0].intval); }
9102
0
#line 9103 "core/cfg.tab.c"
9103
0
    break;
9104
9105
0
  case 506:
9106
0
#line 2074 "core/cfg.y"
9107
0
                                       { yyerror("boolean value expected"); }
9108
0
#line 9109 "core/cfg.tab.c"
9109
0
    break;
9110
9111
0
  case 507:
9112
0
#line 2075 "core/cfg.y"
9113
0
                                       { ksr_verbose_startup=(yyvsp[0].intval); }
9114
0
#line 9115 "core/cfg.tab.c"
9115
0
    break;
9116
9117
0
  case 508:
9118
0
#line 2076 "core/cfg.y"
9119
0
                                      { yyerror("boolean value expected"); }
9120
0
#line 9121 "core/cfg.tab.c"
9121
0
    break;
9122
9123
0
  case 509:
9124
0
#line 2077 "core/cfg.y"
9125
0
                                        { ksr_route_locks_size=(yyvsp[0].intval); }
9126
0
#line 9127 "core/cfg.tab.c"
9127
0
    break;
9128
9129
0
  case 510:
9130
0
#line 2078 "core/cfg.y"
9131
0
                                       { yyerror("number expected"); }
9132
0
#line 9133 "core/cfg.tab.c"
9133
0
    break;
9134
9135
0
  case 511:
9136
0
#line 2079 "core/cfg.y"
9137
0
                                         { ksr_wait_worker1_mode=(yyvsp[0].intval); }
9138
0
#line 9139 "core/cfg.tab.c"
9139
0
    break;
9140
9141
0
  case 512:
9142
0
#line 2080 "core/cfg.y"
9143
0
                                        { yyerror("number expected"); }
9144
0
#line 9145 "core/cfg.tab.c"
9145
0
    break;
9146
9147
0
  case 513:
9148
0
#line 2081 "core/cfg.y"
9149
0
                                         { ksr_wait_worker1_time=(yyvsp[0].intval); }
9150
0
#line 9151 "core/cfg.tab.c"
9151
0
    break;
9152
9153
0
  case 514:
9154
0
#line 2082 "core/cfg.y"
9155
0
                                        { yyerror("number expected"); }
9156
0
#line 9157 "core/cfg.tab.c"
9157
0
    break;
9158
9159
0
  case 515:
9160
0
#line 2083 "core/cfg.y"
9161
0
                                           { ksr_wait_worker1_usleep=(yyvsp[0].intval); }
9162
0
#line 9163 "core/cfg.tab.c"
9163
0
    break;
9164
9165
0
  case 516:
9166
0
#line 2084 "core/cfg.y"
9167
0
                                          { yyerror("number expected"); }
9168
0
#line 9169 "core/cfg.tab.c"
9169
0
    break;
9170
9171
0
  case 517:
9172
0
#line 2085 "core/cfg.y"
9173
0
                             { server_id=(yyvsp[0].intval); }
9174
0
#line 9175 "core/cfg.tab.c"
9175
0
    break;
9176
9177
0
  case 518:
9178
0
#line 2086 "core/cfg.y"
9179
0
                                 { yyerror("number expected"); }
9180
0
#line 9181 "core/cfg.tab.c"
9181
0
    break;
9182
9183
0
  case 519:
9184
0
#line 2087 "core/cfg.y"
9185
0
                               { ksr_return_mode=(yyvsp[0].intval); }
9186
0
#line 9187 "core/cfg.tab.c"
9187
0
    break;
9188
9189
0
  case 520:
9190
0
#line 2088 "core/cfg.y"
9191
0
                                   { yyerror("number expected"); }
9192
0
#line 9193 "core/cfg.tab.c"
9193
0
    break;
9194
9195
0
  case 521:
9196
0
#line 2089 "core/cfg.y"
9197
0
                                                       {
9198
0
      kemi_request_route_callback.s = (yyvsp[0].strval);
9199
0
      kemi_request_route_callback.len = strlen((yyvsp[0].strval));
9200
0
      if(kemi_request_route_callback.len==0) {
9201
0
        yyerror("empty name for request route callback function");
9202
0
      }
9203
0
    }
9204
0
#line 9205 "core/cfg.tab.c"
9205
0
    break;
9206
9207
0
  case 522:
9208
0
#line 2096 "core/cfg.y"
9209
0
                                                      { yyerror("string expected"); }
9210
0
#line 9211 "core/cfg.tab.c"
9211
0
    break;
9212
9213
0
  case 523:
9214
0
#line 2097 "core/cfg.y"
9215
0
                                                      {
9216
0
      kemi_onsend_route_callback.s = (yyvsp[0].strval);
9217
0
      kemi_onsend_route_callback.len = strlen((yyvsp[0].strval));
9218
0
      if(kemi_onsend_route_callback.len==4
9219
0
          && strcasecmp(kemi_onsend_route_callback.s, "none")==0) {
9220
0
        kemi_onsend_route_callback.s = "";
9221
0
        kemi_onsend_route_callback.len = 0;
9222
0
      }
9223
0
    }
9224
0
#line 9225 "core/cfg.tab.c"
9225
0
    break;
9226
9227
0
  case 524:
9228
0
#line 2106 "core/cfg.y"
9229
0
                                                     { yyerror("string expected"); }
9230
0
#line 9231 "core/cfg.tab.c"
9231
0
    break;
9232
9233
0
  case 525:
9234
0
#line 2107 "core/cfg.y"
9235
0
                                                     {
9236
0
      kemi_reply_route_callback.s = (yyvsp[0].strval);
9237
0
      kemi_reply_route_callback.len = strlen((yyvsp[0].strval));
9238
0
      if(kemi_reply_route_callback.len==4
9239
0
          && strcasecmp(kemi_reply_route_callback.s, "none")==0) {
9240
0
        kemi_reply_route_callback.s = "";
9241
0
        kemi_reply_route_callback.len = 0;
9242
0
      }
9243
0
    }
9244
0
#line 9245 "core/cfg.tab.c"
9245
0
    break;
9246
9247
0
  case 526:
9248
0
#line 2116 "core/cfg.y"
9249
0
                                                    { yyerror("string expected"); }
9250
0
#line 9251 "core/cfg.tab.c"
9251
0
    break;
9252
9253
0
  case 527:
9254
0
#line 2117 "core/cfg.y"
9255
0
                                                     {
9256
0
      kemi_event_route_callback.s = (yyvsp[0].strval);
9257
0
      kemi_event_route_callback.len = strlen((yyvsp[0].strval));
9258
0
      if(kemi_event_route_callback.len==4
9259
0
          && strcasecmp(kemi_event_route_callback.s, "none")==0) {
9260
0
        kemi_event_route_callback.s = "";
9261
0
        kemi_event_route_callback.len = 0;
9262
0
      }
9263
0
    }
9264
0
#line 9265 "core/cfg.tab.c"
9265
0
    break;
9266
9267
0
  case 528:
9268
0
#line 2126 "core/cfg.y"
9269
0
                                                    { yyerror("string expected"); }
9270
0
#line 9271 "core/cfg.tab.c"
9271
0
    break;
9272
9273
0
  case 529:
9274
0
#line 2127 "core/cfg.y"
9275
0
                                                        {
9276
0
      kemi_received_route_callback.s = (yyvsp[0].strval);
9277
0
      kemi_received_route_callback.len = strlen((yyvsp[0].strval));
9278
0
      if(kemi_received_route_callback.len==4
9279
0
          && strcasecmp(kemi_received_route_callback.s, "none")==0) {
9280
0
        kemi_received_route_callback.s = "";
9281
0
        kemi_received_route_callback.len = 0;
9282
0
      }
9283
0
    }
9284
0
#line 9285 "core/cfg.tab.c"
9285
0
    break;
9286
9287
0
  case 530:
9288
0
#line 2136 "core/cfg.y"
9289
0
                                                       { yyerror("string expected"); }
9290
0
#line 9291 "core/cfg.tab.c"
9291
0
    break;
9292
9293
0
  case 531:
9294
0
#line 2137 "core/cfg.y"
9295
0
                                                     {
9296
0
      kemi_pre_routing_callback.s = (yyvsp[0].strval);
9297
0
      kemi_pre_routing_callback.len = strlen((yyvsp[0].strval));
9298
0
      if(kemi_pre_routing_callback.len==4
9299
0
          && strcasecmp(kemi_pre_routing_callback.s, "none")==0) {
9300
0
        kemi_pre_routing_callback.s = "";
9301
0
        kemi_pre_routing_callback.len = 0;
9302
0
      }
9303
0
    }
9304
0
#line 9305 "core/cfg.tab.c"
9305
0
    break;
9306
9307
0
  case 532:
9308
0
#line 2146 "core/cfg.y"
9309
0
                                                    { yyerror("string expected"); }
9310
0
#line 9311 "core/cfg.tab.c"
9311
0
    break;
9312
9313
0
  case 533:
9314
0
#line 2147 "core/cfg.y"
9315
0
                                      { ksr_evrt_received_mode=(yyvsp[0].intval); }
9316
0
#line 9317 "core/cfg.tab.c"
9317
0
    break;
9318
9319
0
  case 534:
9320
0
#line 2148 "core/cfg.y"
9321
0
                                           { yyerror("number  expected"); }
9322
0
#line 9323 "core/cfg.tab.c"
9323
0
    break;
9324
9325
0
  case 535:
9326
0
#line 2149 "core/cfg.y"
9327
0
                                       { set_max_recursive_level((yyvsp[0].intval)); }
9328
0
#line 9329 "core/cfg.tab.c"
9329
0
    break;
9330
9331
0
  case 536:
9332
0
#line 2150 "core/cfg.y"
9333
0
                                      { sr_dst_max_branches = (yyvsp[0].intval); }
9334
0
#line 9335 "core/cfg.tab.c"
9335
0
    break;
9336
9337
0
  case 537:
9338
0
#line 2151 "core/cfg.y"
9339
0
                              { default_core_cfg.latency_log=(yyvsp[0].intval); }
9340
0
#line 9341 "core/cfg.tab.c"
9341
0
    break;
9342
9343
0
  case 538:
9344
0
#line 2152 "core/cfg.y"
9345
0
                                   { yyerror("number  expected"); }
9346
0
#line 9347 "core/cfg.tab.c"
9347
0
    break;
9348
9349
0
  case 539:
9350
0
#line 2153 "core/cfg.y"
9351
0
                                  { default_core_cfg.latency_cfg_log=(yyvsp[0].intval); }
9352
0
#line 9353 "core/cfg.tab.c"
9353
0
    break;
9354
9355
0
  case 540:
9356
0
#line 2154 "core/cfg.y"
9357
0
                                       { yyerror("number  expected"); }
9358
0
#line 9359 "core/cfg.tab.c"
9359
0
    break;
9360
9361
0
  case 541:
9362
0
#line 2155 "core/cfg.y"
9363
0
                                    { default_core_cfg.latency_limit_db=(yyvsp[0].intval); }
9364
0
#line 9365 "core/cfg.tab.c"
9365
0
    break;
9366
9367
0
  case 542:
9368
0
#line 2156 "core/cfg.y"
9369
0
                                        { yyerror("number  expected"); }
9370
0
#line 9371 "core/cfg.tab.c"
9371
0
    break;
9372
9373
0
  case 543:
9374
0
#line 2157 "core/cfg.y"
9375
0
                                        { default_core_cfg.latency_limit_action=(yyvsp[0].intval); }
9376
0
#line 9377 "core/cfg.tab.c"
9377
0
    break;
9378
9379
0
  case 544:
9380
0
#line 2158 "core/cfg.y"
9381
0
                                            { yyerror("number  expected"); }
9382
0
#line 9383 "core/cfg.tab.c"
9383
0
    break;
9384
9385
0
  case 545:
9386
0
#line 2159 "core/cfg.y"
9387
0
                                     { default_core_cfg.latency_limit_cfg=(yyvsp[0].intval); }
9388
0
#line 9389 "core/cfg.tab.c"
9389
0
    break;
9390
9391
0
  case 546:
9392
0
#line 2160 "core/cfg.y"
9393
0
                                         { yyerror("number  expected"); }
9394
0
#line 9395 "core/cfg.tab.c"
9395
0
    break;
9396
9397
0
  case 547:
9398
0
#line 2161 "core/cfg.y"
9399
0
                                      { ksr_rpc_exec_delta=(yyvsp[0].intval); }
9400
0
#line 9401 "core/cfg.tab.c"
9401
0
    break;
9402
9403
0
  case 548:
9404
0
#line 2162 "core/cfg.y"
9405
0
                                          { yyerror("number  expected"); }
9406
0
#line 9407 "core/cfg.tab.c"
9407
0
    break;
9408
9409
0
  case 549:
9410
0
#line 2163 "core/cfg.y"
9411
0
                            { sr_msg_time=(yyvsp[0].intval); }
9412
0
#line 9413 "core/cfg.tab.c"
9413
0
    break;
9414
9415
0
  case 550:
9416
0
#line 2164 "core/cfg.y"
9417
0
                                { yyerror("number  expected"); }
9418
0
#line 9419 "core/cfg.tab.c"
9419
0
    break;
9420
9421
0
  case 551:
9422
0
#line 2165 "core/cfg.y"
9423
0
                                       { onsend_route_reply=(yyvsp[0].intval); }
9424
0
#line 9425 "core/cfg.tab.c"
9425
0
    break;
9426
9427
0
  case 552:
9428
0
#line 2166 "core/cfg.y"
9429
0
                                      { yyerror("int value expected"); }
9430
0
#line 9431 "core/cfg.tab.c"
9431
0
    break;
9432
9433
0
  case 553:
9434
0
#line 2167 "core/cfg.y"
9435
0
                               { default_core_cfg.udp_mtu=(yyvsp[0].intval); }
9436
0
#line 9437 "core/cfg.tab.c"
9437
0
    break;
9438
9439
0
  case 554:
9440
0
#line 2168 "core/cfg.y"
9441
0
                              { yyerror("number expected"); }
9442
0
#line 9443 "core/cfg.tab.c"
9443
0
    break;
9444
9445
0
  case 555:
9446
0
#line 2169 "core/cfg.y"
9447
0
                                         { ksr_udp_receiver_mode=(yyvsp[0].intval); }
9448
0
#line 9449 "core/cfg.tab.c"
9449
0
    break;
9450
9451
0
  case 556:
9452
0
#line 2170 "core/cfg.y"
9453
0
                                        { yyerror("number expected"); }
9454
0
#line 9455 "core/cfg.tab.c"
9455
0
    break;
9456
9457
0
  case 557:
9458
0
#line 2172 "core/cfg.y"
9459
0
                { default_core_cfg.force_rport=(yyvsp[0].intval); fix_global_req_flags(0, 0); }
9460
0
#line 9461 "core/cfg.tab.c"
9461
0
    break;
9462
9463
0
  case 558:
9464
0
#line 2173 "core/cfg.y"
9465
0
                                  { yyerror("boolean value expected"); }
9466
0
#line 9467 "core/cfg.tab.c"
9467
0
    break;
9468
9469
0
  case 559:
9470
0
#line 2174 "core/cfg.y"
9471
0
                                   { ksr_local_rport=(yyvsp[0].intval); }
9472
0
#line 9473 "core/cfg.tab.c"
9473
0
    break;
9474
9475
0
  case 560:
9476
0
#line 2175 "core/cfg.y"
9477
0
                                  { yyerror("boolean value expected"); }
9478
0
#line 9479 "core/cfg.tab.c"
9479
0
    break;
9480
9481
0
  case 561:
9482
0
#line 2177 "core/cfg.y"
9483
0
                { default_core_cfg.udp_mtu_try_proto=(yyvsp[0].intval); fix_global_req_flags(0, 0); }
9484
0
#line 9485 "core/cfg.tab.c"
9485
0
    break;
9486
9487
0
  case 562:
9488
0
#line 2179 "core/cfg.y"
9489
0
                { yyerror("TCP, TLS, SCTP or UDP expected"); }
9490
0
#line 9491 "core/cfg.tab.c"
9491
0
    break;
9492
9493
0
  case 563:
9494
0
#line 2180 "core/cfg.y"
9495
0
                               { IF_RAW_SOCKS(default_core_cfg.udp4_raw=(yyvsp[0].intval)); }
9496
0
#line 9497 "core/cfg.tab.c"
9497
0
    break;
9498
9499
0
  case 564:
9500
0
#line 2181 "core/cfg.y"
9501
0
                               { yyerror("number expected"); }
9502
0
#line 9503 "core/cfg.tab.c"
9503
0
    break;
9504
9505
0
  case 565:
9506
0
#line 2182 "core/cfg.y"
9507
0
                                    {
9508
0
    IF_RAW_SOCKS(default_core_cfg.udp4_raw_mtu=(yyvsp[0].intval));
9509
0
  }
9510
0
#line 9511 "core/cfg.tab.c"
9511
0
    break;
9512
9513
0
  case 566:
9514
0
#line 2185 "core/cfg.y"
9515
0
                                   { yyerror("number expected"); }
9516
0
#line 9517 "core/cfg.tab.c"
9517
0
    break;
9518
9519
0
  case 567:
9520
0
#line 2186 "core/cfg.y"
9521
0
                                    {
9522
0
    IF_RAW_SOCKS(default_core_cfg.udp4_raw_ttl=(yyvsp[0].intval));
9523
0
  }
9524
0
#line 9525 "core/cfg.tab.c"
9525
0
    break;
9526
9527
0
  case 568:
9528
0
#line 2189 "core/cfg.y"
9529
0
                                   { yyerror("number expected"); }
9530
0
#line 9531 "core/cfg.tab.c"
9531
0
    break;
9532
9533
0
  case 569:
9534
0
#line 2190 "core/cfg.y"
9535
0
                                                  {
9536
0
    if(ksr_coreparam_set_nval((yyvsp[-3].strval), (yyvsp[0].intval)) < 0) {
9537
0
      yyerror("failed to set core parameter");
9538
0
    }
9539
0
  }
9540
0
#line 9541 "core/cfg.tab.c"
9541
0
    break;
9542
9543
0
  case 570:
9544
0
#line 2195 "core/cfg.y"
9545
0
                                                  {
9546
0
    if(ksr_coreparam_set_sval((yyvsp[-3].strval), (yyvsp[0].strval)) < 0) {
9547
0
      yyerror("failed to set core parameter");
9548
0
    }
9549
0
  }
9550
0
#line 9551 "core/cfg.tab.c"
9551
0
    break;
9552
9553
0
  case 571:
9554
0
#line 2200 "core/cfg.y"
9555
0
                                                 {
9556
0
    yyerror("string or number value expected");
9557
0
  }
9558
0
#line 9559 "core/cfg.tab.c"
9559
0
    break;
9560
9561
0
  case 572:
9562
0
#line 2203 "core/cfg.y"
9563
0
                                                      {
9564
0
    if(ksr_coreparam_set_nval((yyvsp[-3].strval), (yyvsp[0].intval)) < 0) {
9565
0
      yyerror("failed to set core parameter");
9566
0
    }
9567
0
  }
9568
0
#line 9569 "core/cfg.tab.c"
9569
0
    break;
9570
9571
0
  case 573:
9572
0
#line 2208 "core/cfg.y"
9573
0
                                                      {
9574
0
    if(ksr_coreparam_set_sval((yyvsp[-3].strval), (yyvsp[0].strval)) < 0) {
9575
0
      yyerror("failed to set core parameter");
9576
0
    }
9577
0
  }
9578
0
#line 9579 "core/cfg.tab.c"
9579
0
    break;
9580
9581
0
  case 574:
9582
0
#line 2213 "core/cfg.y"
9583
0
                                                     {
9584
0
    yyerror("string or number value expected");
9585
0
  }
9586
0
#line 9587 "core/cfg.tab.c"
9587
0
    break;
9588
9589
0
  case 576:
9590
0
#line 2217 "core/cfg.y"
9591
0
                      { yyerror("unknown config variable"); }
9592
0
#line 9593 "core/cfg.tab.c"
9593
0
    break;
9594
9595
0
  case 578:
9596
0
#line 2221 "core/cfg.y"
9597
0
                  { (yyval.strval)="default" ; }
9598
0
#line 9599 "core/cfg.tab.c"
9599
0
    break;
9600
9601
0
  case 580:
9602
0
#line 2225 "core/cfg.y"
9603
0
                  { (yyval.strval)="default" ; }
9604
0
#line 9605 "core/cfg.tab.c"
9605
0
    break;
9606
9607
0
  case 581:
9608
0
#line 2226 "core/cfg.y"
9609
0
                 {
9610
0
    yyerror("cfg var field name - use of number or reserved token not allowed: %s",
9611
0
        yy_number_str);
9612
0
    YYERROR;
9613
0
  }
9614
0
#line 9615 "core/cfg.tab.c"
9615
0
    break;
9616
9617
0
  case 582:
9618
0
#line 2234 "core/cfg.y"
9619
0
                                                {
9620
0
    if (cfg_declare_int((yyvsp[-4].strval), (yyvsp[-2].strval), (yyvsp[0].intval), 0, 0, NULL)) {
9621
0
      yyerror("variable cannot be declared");
9622
0
    }
9623
0
  }
9624
0
#line 9625 "core/cfg.tab.c"
9625
0
    break;
9626
9627
0
  case 583:
9628
0
#line 2239 "core/cfg.y"
9629
0
                                                  {
9630
0
    if (cfg_declare_str((yyvsp[-4].strval), (yyvsp[-2].strval), (yyvsp[0].strval), NULL)) {
9631
0
      yyerror("variable cannot be declared");
9632
0
    }
9633
0
  }
9634
0
#line 9635 "core/cfg.tab.c"
9635
0
    break;
9636
9637
0
  case 584:
9638
0
#line 2244 "core/cfg.y"
9639
0
                                                                         {
9640
0
    if (cfg_declare_int((yyvsp[-6].strval), (yyvsp[-4].strval), (yyvsp[-2].intval), 0, 0, (yyvsp[0].strval))) {
9641
0
      yyerror("variable cannot be declared");
9642
0
    }
9643
0
  }
9644
0
#line 9645 "core/cfg.tab.c"
9645
0
    break;
9646
9647
0
  case 585:
9648
0
#line 2249 "core/cfg.y"
9649
0
                                                                         {
9650
0
    if (cfg_declare_str((yyvsp[-6].strval), (yyvsp[-4].strval), (yyvsp[-2].strval), (yyvsp[0].strval))) {
9651
0
      yyerror("variable cannot be declared");
9652
0
    }
9653
0
  }
9654
0
#line 9655 "core/cfg.tab.c"
9655
0
    break;
9656
9657
0
  case 586:
9658
0
#line 2254 "core/cfg.y"
9659
0
                                                 {
9660
0
    yyerror("number or string expected");
9661
0
  }
9662
0
#line 9663 "core/cfg.tab.c"
9663
0
    break;
9664
9665
0
  case 587:
9666
0
#line 2257 "core/cfg.y"
9667
0
                                                                       {
9668
0
    if (cfg_ginst_var_int((yyvsp[-7].strval), (yyvsp[-5].intval), (yyvsp[-2].strval), (yyvsp[0].intval))) {
9669
0
      yyerror("variable cannot be added to the group instance");
9670
0
    }
9671
0
  }
9672
0
#line 9673 "core/cfg.tab.c"
9673
0
    break;
9674
9675
0
  case 588:
9676
0
#line 2262 "core/cfg.y"
9677
0
                                                                       {
9678
0
    if (cfg_ginst_var_string((yyvsp[-7].strval), (yyvsp[-5].intval), (yyvsp[-2].strval), (yyvsp[0].strval))) {
9679
0
      yyerror("variable cannot be added to the group instance");
9680
0
    }
9681
0
  }
9682
0
#line 9683 "core/cfg.tab.c"
9683
0
    break;
9684
9685
0
  case 589:
9686
0
#line 2270 "core/cfg.y"
9687
0
                          {
9688
0
    LM_DBG("loading module %s\n", (yyvsp[0].strval));
9689
0
      if (ksr_load_module((yyvsp[0].strval), NULL)!=0) {
9690
0
        yyerror("failed to load module");
9691
0
      }
9692
0
  }
9693
0
#line 9694 "core/cfg.tab.c"
9694
0
    break;
9695
9696
0
  case 590:
9697
0
#line 2276 "core/cfg.y"
9698
0
                                          {
9699
0
    LM_DBG("loading module %s\n", (yyvsp[-1].strval));
9700
0
      if (ksr_load_module((yyvsp[-1].strval), NULL)!=0) {
9701
0
        yyerror("failed to load module");
9702
0
      }
9703
0
  }
9704
0
#line 9705 "core/cfg.tab.c"
9705
0
    break;
9706
9707
0
  case 591:
9708
0
#line 2282 "core/cfg.y"
9709
0
                                                       {
9710
0
    LM_DBG("loading module %s opts %s\n", (yyvsp[-3].strval), (yyvsp[-1].strval));
9711
0
      if (ksr_load_module((yyvsp[-3].strval), (yyvsp[-1].strval))!=0) {
9712
0
        yyerror("failed to load module");
9713
0
      }
9714
0
  }
9715
0
#line 9716 "core/cfg.tab.c"
9716
0
    break;
9717
9718
0
  case 592:
9719
0
#line 2288 "core/cfg.y"
9720
0
                                { yyerror("string expected"); }
9721
0
#line 9722 "core/cfg.tab.c"
9722
0
    break;
9723
9724
0
  case 593:
9725
0
#line 2289 "core/cfg.y"
9726
0
                             {
9727
0
    LM_DBG("loading module %s\n", (yyvsp[0].strval));
9728
0
      if (ksr_load_modulex((yyvsp[0].strval), NULL)!=0) {
9729
0
        yyerror("failed to load module");
9730
0
      }
9731
0
  }
9732
0
#line 9733 "core/cfg.tab.c"
9733
0
    break;
9734
9735
0
  case 594:
9736
0
#line 2295 "core/cfg.y"
9737
0
                                           {
9738
0
    LM_DBG("loading module %s\n", (yyvsp[-1].strval));
9739
0
      if (ksr_load_modulex((yyvsp[-1].strval), NULL)!=0) {
9740
0
        yyerror("failed to load module");
9741
0
      }
9742
0
  }
9743
0
#line 9744 "core/cfg.tab.c"
9744
0
    break;
9745
9746
0
  case 595:
9747
0
#line 2301 "core/cfg.y"
9748
0
                                                        {
9749
0
    LM_DBG("loading module %s opts %s\n", (yyvsp[-3].strval), (yyvsp[-1].strval));
9750
0
      if (ksr_load_modulex((yyvsp[-3].strval), (yyvsp[-1].strval))!=0) {
9751
0
        yyerror("failed to load module");
9752
0
      }
9753
0
  }
9754
0
#line 9755 "core/cfg.tab.c"
9755
0
    break;
9756
9757
0
  case 596:
9758
0
#line 2307 "core/cfg.y"
9759
0
                                { yyerror("string expected"); }
9760
0
#line 9761 "core/cfg.tab.c"
9761
0
    break;
9762
9763
0
  case 597:
9764
0
#line 2308 "core/cfg.y"
9765
0
                          {
9766
0
    if(mods_dir_cmd==0) {
9767
0
      LM_DBG("loading modules under %s\n", (yyvsp[0].strval));
9768
0
      printf("loading modules under config path: %s\n", (yyvsp[0].strval));
9769
0
      mods_dir = (yyvsp[0].strval);
9770
0
    } else {
9771
0
      LM_DBG("ignoring mod path given in config: %s\n", (yyvsp[0].strval));
9772
0
      printf("loading modules under command line path: %s\n", mods_dir);
9773
0
    }
9774
0
  }
9775
0
#line 9776 "core/cfg.tab.c"
9776
0
    break;
9777
9778
0
  case 598:
9779
0
#line 2318 "core/cfg.y"
9780
0
                                { yyerror("string expected"); }
9781
0
#line 9782 "core/cfg.tab.c"
9782
0
    break;
9783
9784
0
  case 599:
9785
0
#line 2319 "core/cfg.y"
9786
0
                                {
9787
0
    if(mods_dir_cmd==0) {
9788
0
      LM_DBG("loading modules under %s\n", (yyvsp[0].strval));
9789
0
      printf("loading modules under config path: %s\n", (yyvsp[0].strval));
9790
0
      mods_dir = (yyvsp[0].strval);
9791
0
    } else {
9792
0
      LM_DBG("ignoring mod path given in config: %s\n", (yyvsp[0].strval));
9793
0
      printf("loading modules under command line path: %s\n", mods_dir);
9794
0
    }
9795
0
  }
9796
0
#line 9797 "core/cfg.tab.c"
9797
0
    break;
9798
9799
0
  case 600:
9800
0
#line 2329 "core/cfg.y"
9801
0
                                { yyerror("string expected"); }
9802
0
#line 9803 "core/cfg.tab.c"
9803
0
    break;
9804
9805
0
  case 601:
9806
0
#line 2330 "core/cfg.y"
9807
0
                                                                  {
9808
0
    if (!shm_initialized() && init_shm()<0) {
9809
0
      yyerror("Can't initialize shared memory");
9810
0
      YYABORT;
9811
0
    }
9812
0
    if (set_mod_param_regex((yyvsp[-5].strval), (yyvsp[-3].strval), PARAM_STRING, (yyvsp[-1].strval)) != 0) {
9813
0
       yyerror("Can't set module parameter");
9814
0
    }
9815
0
  }
9816
0
#line 9817 "core/cfg.tab.c"
9817
0
    break;
9818
9819
0
  case 602:
9820
0
#line 2339 "core/cfg.y"
9821
0
                                                                 {
9822
0
    if (!shm_initialized() && init_shm()<0) {
9823
0
      yyerror("Can't initialize shared memory");
9824
0
      YYABORT;
9825
0
    }
9826
0
    if (set_mod_param_regex((yyvsp[-5].strval), (yyvsp[-3].strval), PARAM_INT, (void*)(yyvsp[-1].intval)) != 0) {
9827
0
       yyerror("Can't set module parameter");
9828
0
    }
9829
0
  }
9830
0
#line 9831 "core/cfg.tab.c"
9831
0
    break;
9832
9833
0
  case 603:
9834
0
#line 2348 "core/cfg.y"
9835
0
                         { yyerror("Invalid arguments"); }
9836
0
#line 9837 "core/cfg.tab.c"
9837
0
    break;
9838
9839
0
  case 604:
9840
0
#line 2349 "core/cfg.y"
9841
0
                                                                   {
9842
0
    if (!shm_initialized() && init_shm()<0) {
9843
0
      yyerror("Can't initialize shared memory");
9844
0
      YYABORT;
9845
0
    }
9846
0
    if (modparamx_set((yyvsp[-5].strval), (yyvsp[-3].strval), PARAM_STRING, (yyvsp[-1].strval)) != 0) {
9847
0
       yyerror("Can't set module parameter");
9848
0
    }
9849
0
  }
9850
0
#line 9851 "core/cfg.tab.c"
9851
0
    break;
9852
9853
0
  case 605:
9854
0
#line 2358 "core/cfg.y"
9855
0
                                                                  {
9856
0
    if (!shm_initialized() && init_shm()<0) {
9857
0
      yyerror("Can't initialize shared memory");
9858
0
      YYABORT;
9859
0
    }
9860
0
    if (modparamx_set((yyvsp[-5].strval), (yyvsp[-3].strval), PARAM_INT, (void*)(yyvsp[-1].intval)) != 0) {
9861
0
       yyerror("Can't set module parameter");
9862
0
    }
9863
0
  }
9864
0
#line 9865 "core/cfg.tab.c"
9865
0
    break;
9866
9867
0
  case 606:
9868
0
#line 2367 "core/cfg.y"
9869
0
                                                                 {
9870
0
    if (!shm_initialized() && init_shm()<0) {
9871
0
      yyerror("Can't initialize shared memory");
9872
0
      YYABORT;
9873
0
    }
9874
0
    if (modparamx_set((yyvsp[-5].strval), (yyvsp[-3].strval), PARAM_VAR, (void*)(yyvsp[-1].strval)) != 0) {
9875
0
       yyerror("Can't set module parameter");
9876
0
    }
9877
0
  }
9878
0
#line 9879 "core/cfg.tab.c"
9879
0
    break;
9880
9881
0
  case 607:
9882
0
#line 2376 "core/cfg.y"
9883
0
                          { yyerror("Invalid arguments"); }
9884
0
#line 9885 "core/cfg.tab.c"
9885
0
    break;
9886
9887
0
  case 608:
9888
0
#line 2377 "core/cfg.y"
9889
0
                           {
9890
0
    if(sr_kemi_eng_setz((yyvsp[0].strval), NULL)) {
9891
0
      yyerror("Can't set config routing engine");
9892
0
      YYABORT;
9893
0
    }
9894
0
  }
9895
0
#line 9896 "core/cfg.tab.c"
9896
0
    break;
9897
9898
0
  case 609:
9899
0
#line 2383 "core/cfg.y"
9900
0
                                { yyerror("string expected"); }
9901
0
#line 9902 "core/cfg.tab.c"
9902
0
    break;
9903
9904
0
  case 610:
9905
0
#line 2384 "core/cfg.y"
9906
0
                                 {
9907
0
    if(sr_kemi_eng_setz((yyvsp[0].strval), NULL)) {
9908
0
      yyerror("Can't set config routing engine");
9909
0
      YYABORT;
9910
0
    }
9911
0
  }
9912
0
#line 9913 "core/cfg.tab.c"
9913
0
    break;
9914
9915
0
  case 611:
9916
0
#line 2390 "core/cfg.y"
9917
0
                                { yyerror("string expected"); }
9918
0
#line 9919 "core/cfg.tab.c"
9919
0
    break;
9920
9921
0
  case 612:
9922
0
#line 2394 "core/cfg.y"
9923
0
              { (yyval.ipaddr)=(yyvsp[0].ipaddr); }
9924
0
#line 9925 "core/cfg.tab.c"
9925
0
    break;
9926
9927
0
  case 613:
9928
0
#line 2395 "core/cfg.y"
9929
0
                { (yyval.ipaddr)=(yyvsp[0].ipaddr); }
9930
0
#line 9931 "core/cfg.tab.c"
9931
0
    break;
9932
9933
0
  case 614:
9934
0
#line 2398 "core/cfg.y"
9935
0
                                                {
9936
0
    (yyval.ipaddr)=pkg_malloc(sizeof(struct ip_addr));
9937
0
    if ((yyval.ipaddr)==0) {
9938
0
      PKG_MEM_CRITICAL;
9939
0
    } else {
9940
0
      memset((yyval.ipaddr), 0, sizeof(struct ip_addr));
9941
0
      (yyval.ipaddr)->af=AF_INET;
9942
0
      (yyval.ipaddr)->len=4;
9943
0
      if (((yyvsp[-6].intval)>255) || ((yyvsp[-6].intval)<0) ||
9944
0
        ((yyvsp[-4].intval)>255) || ((yyvsp[-4].intval)<0) ||
9945
0
        ((yyvsp[-2].intval)>255) || ((yyvsp[-2].intval)<0) ||
9946
0
        ((yyvsp[0].intval)>255) || ((yyvsp[0].intval)<0)) {
9947
0
        yyerror("invalid ipv4 address");
9948
0
        (yyval.ipaddr)->u.addr32[0]=0;
9949
        /* $$=0; */
9950
0
      } else {
9951
0
        (yyval.ipaddr)->u.addr[0]=(yyvsp[-6].intval);
9952
0
        (yyval.ipaddr)->u.addr[1]=(yyvsp[-4].intval);
9953
0
        (yyval.ipaddr)->u.addr[2]=(yyvsp[-2].intval);
9954
0
        (yyval.ipaddr)->u.addr[3]=(yyvsp[0].intval);
9955
        /*
9956
        $$=htonl( ($1<<24)|
9957
        ($3<<16)| ($5<<8)|$7 );
9958
        */
9959
0
      }
9960
0
    }
9961
0
  }
9962
0
#line 9963 "core/cfg.tab.c"
9963
0
    break;
9964
9965
0
  case 615:
9966
0
#line 2427 "core/cfg.y"
9967
0
                 {
9968
0
    (yyval.ipaddr)=pkg_malloc(sizeof(struct ip_addr));
9969
0
    if ((yyval.ipaddr)==0) {
9970
0
      PKG_MEM_CRITICAL;
9971
0
    } else {
9972
0
      memset((yyval.ipaddr), 0, sizeof(struct ip_addr));
9973
0
      (yyval.ipaddr)->af=AF_INET6;
9974
0
      (yyval.ipaddr)->len=16;
9975
0
      if (inet_pton(AF_INET6, (yyvsp[0].strval), (yyval.ipaddr)->u.addr)<=0) {
9976
0
        yyerror("bad ipv6 address");
9977
0
      }
9978
0
    }
9979
0
  }
9980
0
#line 9981 "core/cfg.tab.c"
9981
0
    break;
9982
9983
0
  case 616:
9984
0
#line 2442 "core/cfg.y"
9985
0
                 { (yyval.ipaddr)=(yyvsp[0].ipaddr); }
9986
0
#line 9987 "core/cfg.tab.c"
9987
0
    break;
9988
9989
0
  case 617:
9990
0
#line 2443 "core/cfg.y"
9991
0
                                 {(yyval.ipaddr)=(yyvsp[-1].ipaddr); }
9992
0
#line 9993 "core/cfg.tab.c"
9993
0
    break;
9994
9995
0
  case 618:
9996
0
#line 2447 "core/cfg.y"
9997
0
                                {
9998
0
          tmp=int2str((yyvsp[0].intval), &i_tmp);
9999
0
          if (((yyval.strval)=pkg_malloc(i_tmp+1))==0) {
10000
0
            yyerror("out of  memory");
10001
0
            YYABORT;
10002
0
          } else {
10003
0
            memcpy((yyval.strval), tmp, i_tmp);
10004
0
            (yyval.strval)[i_tmp]=0;
10005
0
          }
10006
0
          routename = tmp;
10007
0
            }
10008
0
#line 10009 "core/cfg.tab.c"
10009
0
    break;
10010
10011
0
  case 619:
10012
0
#line 2458 "core/cfg.y"
10013
0
                                                { routename = (yyvsp[0].strval); (yyval.strval)=(yyvsp[0].strval); }
10014
0
#line 10015 "core/cfg.tab.c"
10015
0
    break;
10016
10017
0
  case 620:
10018
0
#line 2459 "core/cfg.y"
10019
0
                                        { routename = (yyvsp[0].strval); (yyval.strval)=(yyvsp[0].strval); }
10020
0
#line 10021 "core/cfg.tab.c"
10021
0
    break;
10022
10023
0
  case 621:
10024
0
#line 2463 "core/cfg.y"
10025
0
                      { routename=NULL; }
10026
0
#line 10027 "core/cfg.tab.c"
10027
0
    break;
10028
10029
0
  case 622:
10030
0
#line 2464 "core/cfg.y"
10031
0
                                  { routename=NULL; }
10032
0
#line 10033 "core/cfg.tab.c"
10033
0
    break;
10034
10035
0
  case 623:
10036
0
#line 2468 "core/cfg.y"
10037
0
                                         {
10038
0
    if (!shm_initialized() && init_shm()<0) {
10039
0
      yyerror("Can't initialize shared memory");
10040
0
      YYABORT;
10041
0
    }
10042
0
    push((yyvsp[-1].action), &main_rt.rlist[DEFAULT_RT]);
10043
0
  }
10044
0
#line 10045 "core/cfg.tab.c"
10045
0
    break;
10046
10047
0
  case 624:
10048
0
#line 2475 "core/cfg.y"
10049
0
                                                               {
10050
0
    if (!shm_initialized() && init_shm()<0) {
10051
0
      yyerror("Can't initialize shared memory");
10052
0
      YYABORT;
10053
0
    }
10054
0
    i_tmp=route_get(&main_rt, (yyvsp[-4].strval));
10055
0
    if (i_tmp==-1){
10056
0
      yyerror("internal error");
10057
0
      YYABORT;
10058
0
    }
10059
0
    if (main_rt.rlist[i_tmp]){
10060
0
      yyerror("duplicate route");
10061
0
      YYABORT;
10062
0
    }
10063
0
    push((yyvsp[-1].action), &main_rt.rlist[i_tmp]);
10064
0
  }
10065
0
#line 10066 "core/cfg.tab.c"
10066
0
    break;
10067
10068
0
  case 625:
10069
0
#line 2491 "core/cfg.y"
10070
0
                      { yyerror("invalid  route  statement"); }
10071
0
#line 10072 "core/cfg.tab.c"
10072
0
    break;
10073
10074
0
  case 626:
10075
0
#line 2492 "core/cfg.y"
10076
0
                              { yyerror("invalid  request_route  statement"); }
10077
0
#line 10078 "core/cfg.tab.c"
10078
0
    break;
10079
10080
0
  case 627:
10081
0
#line 2495 "core/cfg.y"
10082
0
                                  { routename=NULL; }
10083
0
#line 10084 "core/cfg.tab.c"
10084
0
    break;
10085
10086
0
  case 628:
10087
0
#line 2498 "core/cfg.y"
10088
0
                                                 {
10089
0
    if (!shm_initialized() && init_shm()<0) {
10090
0
      yyerror("Can't initialize shared memory");
10091
0
      YYABORT;
10092
0
    }
10093
0
    push((yyvsp[-1].action), &failure_rt.rlist[DEFAULT_RT]);
10094
0
  }
10095
0
#line 10096 "core/cfg.tab.c"
10096
0
    break;
10097
10098
0
  case 629:
10099
0
#line 2505 "core/cfg.y"
10100
0
                                                                       {
10101
0
    if (!shm_initialized() && init_shm()<0) {
10102
0
      yyerror("Can't initialize shared memory");
10103
0
      YYABORT;
10104
0
    }
10105
0
    i_tmp=route_get(&failure_rt, (yyvsp[-4].strval));
10106
0
    if (i_tmp==-1){
10107
0
      yyerror("internal error");
10108
0
      YYABORT;
10109
0
    }
10110
0
    if (failure_rt.rlist[i_tmp]){
10111
0
      yyerror("duplicate route");
10112
0
      YYABORT;
10113
0
    }
10114
0
    push((yyvsp[-1].action), &failure_rt.rlist[i_tmp]);
10115
0
  }
10116
0
#line 10117 "core/cfg.tab.c"
10117
0
    break;
10118
10119
0
  case 630:
10120
0
#line 2521 "core/cfg.y"
10121
0
                              { yyerror("invalid failure_route statement"); }
10122
0
#line 10123 "core/cfg.tab.c"
10123
0
    break;
10124
10125
0
  case 631:
10126
0
#line 2525 "core/cfg.y"
10127
0
                                      { routename=NULL; }
10128
0
#line 10129 "core/cfg.tab.c"
10129
0
    break;
10130
10131
0
  case 632:
10132
0
#line 2526 "core/cfg.y"
10133
0
                                { routename=NULL; }
10134
0
#line 10135 "core/cfg.tab.c"
10135
0
    break;
10136
10137
0
  case 633:
10138
0
#line 2531 "core/cfg.y"
10139
0
                                {rt=CORE_ONREPLY_ROUTE;}
10140
0
#line 10141 "core/cfg.tab.c"
10141
0
    break;
10142
10143
0
  case 634:
10144
0
#line 2531 "core/cfg.y"
10145
0
                                                                        {
10146
0
    if (!shm_initialized() && init_shm()<0) {
10147
0
      yyerror("Can't initialize shared memory");
10148
0
      YYABORT;
10149
0
    }
10150
0
    push((yyvsp[-1].action), &onreply_rt.rlist[DEFAULT_RT]);
10151
0
  }
10152
0
#line 10153 "core/cfg.tab.c"
10153
0
    break;
10154
10155
0
  case 635:
10156
0
#line 2538 "core/cfg.y"
10157
0
                              { yyerror("invalid onreply_route statement"); }
10158
0
#line 10159 "core/cfg.tab.c"
10159
0
    break;
10160
10161
0
  case 636:
10162
0
#line 2539 "core/cfg.y"
10163
0
                            { yyerror("invalid onreply_route statement"); }
10164
0
#line 10165 "core/cfg.tab.c"
10165
0
    break;
10166
10167
0
  case 637:
10168
0
#line 2541 "core/cfg.y"
10169
0
                {rt=(*(yyvsp[-1].strval)=='0' && (yyvsp[-1].strval)[1]==0)?CORE_ONREPLY_ROUTE:TM_ONREPLY_ROUTE;}
10170
0
#line 10171 "core/cfg.tab.c"
10171
0
    break;
10172
10173
0
  case 638:
10174
0
#line 2542 "core/cfg.y"
10175
0
                                      {
10176
0
    if (!shm_initialized() && init_shm()<0) {
10177
0
      yyerror("Can't initialize shared memory");
10178
0
      YYABORT;
10179
0
    }
10180
0
    if (*(yyvsp[-5].strval)=='0' && (yyvsp[-5].strval)[1]==0){
10181
      /* onreply_route[0] {} is equivalent with onreply_route {}*/
10182
0
      push((yyvsp[-1].action), &onreply_rt.rlist[DEFAULT_RT]);
10183
0
    }else{
10184
0
      i_tmp=route_get(&onreply_rt, (yyvsp[-5].strval));
10185
0
      if (i_tmp==-1){
10186
0
        yyerror("internal error");
10187
0
        YYABORT;
10188
0
      }
10189
0
      if (onreply_rt.rlist[i_tmp]){
10190
0
        yyerror("duplicate route");
10191
0
        YYABORT;
10192
0
      }
10193
0
      push((yyvsp[-1].action), &onreply_rt.rlist[i_tmp]);
10194
0
    }
10195
0
  }
10196
0
#line 10197 "core/cfg.tab.c"
10197
0
    break;
10198
10199
0
  case 639:
10200
0
#line 2563 "core/cfg.y"
10201
0
                                                       {
10202
0
    yyerror("invalid onreply_route statement");
10203
0
  }
10204
0
#line 10205 "core/cfg.tab.c"
10205
0
    break;
10206
10207
0
  case 640:
10208
0
#line 2568 "core/cfg.y"
10209
0
                                { routename=NULL; }
10210
0
#line 10211 "core/cfg.tab.c"
10211
0
    break;
10212
10213
0
  case 641:
10214
0
#line 2571 "core/cfg.y"
10215
0
                                                {
10216
0
    if (!shm_initialized() && init_shm()<0) {
10217
0
      yyerror("Can't initialize shared memory");
10218
0
      YYABORT;
10219
0
    }
10220
0
    push((yyvsp[-1].action), &branch_rt.rlist[DEFAULT_RT]);
10221
0
  }
10222
0
#line 10223 "core/cfg.tab.c"
10223
0
    break;
10224
10225
0
  case 642:
10226
0
#line 2578 "core/cfg.y"
10227
0
                                                                      {
10228
0
    if (!shm_initialized() && init_shm()<0) {
10229
0
      yyerror("Can't initialize shared memory");
10230
0
      YYABORT;
10231
0
    }
10232
0
    i_tmp=route_get(&branch_rt, (yyvsp[-4].strval));
10233
0
    if (i_tmp==-1){
10234
0
      yyerror("internal error");
10235
0
      YYABORT;
10236
0
    }
10237
0
    if (branch_rt.rlist[i_tmp]){
10238
0
      yyerror("duplicate route");
10239
0
      YYABORT;
10240
0
    }
10241
0
    push((yyvsp[-1].action), &branch_rt.rlist[i_tmp]);
10242
0
  }
10243
0
#line 10244 "core/cfg.tab.c"
10244
0
    break;
10245
10246
0
  case 643:
10247
0
#line 2594 "core/cfg.y"
10248
0
                             { yyerror("invalid branch_route statement"); }
10249
0
#line 10250 "core/cfg.tab.c"
10250
0
    break;
10251
10252
0
  case 644:
10253
0
#line 2597 "core/cfg.y"
10254
0
                            { routename=NULL; }
10255
0
#line 10256 "core/cfg.tab.c"
10256
0
    break;
10257
10258
0
  case 645:
10259
0
#line 2600 "core/cfg.y"
10260
0
                                              {
10261
0
    if (!shm_initialized() && init_shm()<0) {
10262
0
      yyerror("Can't initialize shared memory");
10263
0
      YYABORT;
10264
0
    }
10265
0
    push((yyvsp[-1].action), &onsend_rt.rlist[DEFAULT_RT]);
10266
0
  }
10267
0
#line 10268 "core/cfg.tab.c"
10268
0
    break;
10269
10270
0
  case 646:
10271
0
#line 2607 "core/cfg.y"
10272
0
                                                                    {
10273
0
    if (!shm_initialized() && init_shm()<0) {
10274
0
      yyerror("Can't initialize shared memory");
10275
0
      YYABORT;
10276
0
    }
10277
0
    i_tmp=route_get(&onsend_rt, (yyvsp[-4].strval));
10278
0
    if (i_tmp==-1){
10279
0
      yyerror("internal error");
10280
0
      YYABORT;
10281
0
    }
10282
0
    if (onsend_rt.rlist[i_tmp]){
10283
0
      yyerror("duplicate route");
10284
0
      YYABORT;
10285
0
    }
10286
0
    push((yyvsp[-1].action), &onsend_rt.rlist[i_tmp]);
10287
0
  }
10288
0
#line 10289 "core/cfg.tab.c"
10289
0
    break;
10290
10291
0
  case 647:
10292
0
#line 2623 "core/cfg.y"
10293
0
                           { yyerror("invalid onsend_route statement"); }
10294
0
#line 10295 "core/cfg.tab.c"
10295
0
    break;
10296
10297
0
  case 648:
10298
0
#line 2626 "core/cfg.y"
10299
0
                              { routename=NULL; }
10300
0
#line 10301 "core/cfg.tab.c"
10301
0
    break;
10302
10303
0
  case 649:
10304
0
#line 2629 "core/cfg.y"
10305
0
                                                                           {
10306
0
    if (!shm_initialized() && init_shm()<0) {
10307
0
      yyerror("Can't initialize shared memory");
10308
0
      YYABORT;
10309
0
    }
10310
0
    i_tmp=route_get(&event_rt, (yyvsp[-4].strval));
10311
0
    if (i_tmp==-1){
10312
0
      yyerror("internal error");
10313
0
      YYABORT;
10314
0
    }
10315
0
    if (event_rt.rlist[i_tmp]){
10316
0
      yyerror("duplicate route");
10317
0
      YYABORT;
10318
0
    }
10319
0
    push((yyvsp[-1].action), &event_rt.rlist[i_tmp]);
10320
0
  }
10321
0
#line 10322 "core/cfg.tab.c"
10322
0
    break;
10323
10324
0
  case 650:
10325
0
#line 2646 "core/cfg.y"
10326
0
                            { yyerror("invalid event_route statement"); }
10327
0
#line 10328 "core/cfg.tab.c"
10328
0
    break;
10329
10330
0
  case 651:
10331
0
#line 2649 "core/cfg.y"
10332
0
                     { if(pp_subst_add((yyvsp[0].strval))<0) YYERROR; }
10333
0
#line 10334 "core/cfg.tab.c"
10334
0
    break;
10335
10336
0
  case 652:
10337
0
#line 2650 "core/cfg.y"
10338
0
                      { yyerror("invalid subst preprocess statement"); }
10339
0
#line 10340 "core/cfg.tab.c"
10340
0
    break;
10341
10342
0
  case 653:
10343
0
#line 2651 "core/cfg.y"
10344
0
                          { if(pp_substdef_add((yyvsp[0].strval), KSR_PPDEF_NORMAL)<0) YYERROR; }
10345
0
#line 10346 "core/cfg.tab.c"
10346
0
    break;
10347
10348
0
  case 654:
10349
0
#line 2652 "core/cfg.y"
10350
0
                         { yyerror("invalid substdef preprocess statement"); }
10351
0
#line 10352 "core/cfg.tab.c"
10352
0
    break;
10353
10354
0
  case 655:
10355
0
#line 2653 "core/cfg.y"
10356
0
                           { if(pp_substdef_add((yyvsp[0].strval), KSR_PPDEF_QUOTED)<0) YYERROR; }
10357
0
#line 10358 "core/cfg.tab.c"
10358
0
    break;
10359
10360
0
  case 656:
10361
0
#line 2654 "core/cfg.y"
10362
0
                          { yyerror("invalid substdefs preprocess statement"); }
10363
0
#line 10364 "core/cfg.tab.c"
10364
0
    break;
10365
10366
0
  case 657:
10367
0
#line 2676 "core/cfg.y"
10368
0
                {(yyval.intval)=EQUAL_OP; }
10369
0
#line 10370 "core/cfg.tab.c"
10370
0
    break;
10371
10372
0
  case 658:
10373
0
#line 2677 "core/cfg.y"
10374
0
                {(yyval.intval)=DIFF_OP; }
10375
0
#line 10376 "core/cfg.tab.c"
10376
0
    break;
10377
10378
0
  case 659:
10379
0
#line 2678 "core/cfg.y"
10380
0
                {(yyval.intval)=EQUAL_OP; }
10381
0
#line 10382 "core/cfg.tab.c"
10382
0
    break;
10383
10384
0
  case 660:
10385
0
#line 2679 "core/cfg.y"
10386
0
                  {(yyval.intval)=DIFF_OP; }
10387
0
#line 10388 "core/cfg.tab.c"
10388
0
    break;
10389
10390
0
  case 661:
10391
0
#line 2682 "core/cfg.y"
10392
0
                {(yyval.intval)=GT_OP; }
10393
0
#line 10394 "core/cfg.tab.c"
10394
0
    break;
10395
10396
0
  case 662:
10397
0
#line 2683 "core/cfg.y"
10398
0
                {(yyval.intval)=LT_OP; }
10399
0
#line 10400 "core/cfg.tab.c"
10400
0
    break;
10401
10402
0
  case 663:
10403
0
#line 2684 "core/cfg.y"
10404
0
                {(yyval.intval)=GTE_OP; }
10405
0
#line 10406 "core/cfg.tab.c"
10406
0
    break;
10407
10408
0
  case 664:
10409
0
#line 2685 "core/cfg.y"
10410
0
                {(yyval.intval)=LTE_OP; }
10411
0
#line 10412 "core/cfg.tab.c"
10412
0
    break;
10413
10414
0
  case 665:
10415
0
#line 2688 "core/cfg.y"
10416
0
                {(yyval.intval)=(yyvsp[0].intval); }
10417
0
#line 10418 "core/cfg.tab.c"
10418
0
    break;
10419
10420
0
  case 666:
10421
0
#line 2689 "core/cfg.y"
10422
0
                {(yyval.intval)=MATCH_OP; }
10423
0
#line 10424 "core/cfg.tab.c"
10424
0
    break;
10425
10426
0
  case 667:
10427
0
#line 2695 "core/cfg.y"
10428
0
                {(yyval.intval)=RVE_EQ_OP; }
10429
0
#line 10430 "core/cfg.tab.c"
10430
0
    break;
10431
10432
0
  case 668:
10433
0
#line 2696 "core/cfg.y"
10434
0
                {(yyval.intval)=RVE_DIFF_OP; }
10435
0
#line 10436 "core/cfg.tab.c"
10436
0
    break;
10437
10438
0
  case 669:
10439
0
#line 2697 "core/cfg.y"
10440
0
                {(yyval.intval)=RVE_IEQ_OP; }
10441
0
#line 10442 "core/cfg.tab.c"
10442
0
    break;
10443
10444
0
  case 670:
10445
0
#line 2698 "core/cfg.y"
10446
0
                  {(yyval.intval)=RVE_IDIFF_OP; }
10447
0
#line 10448 "core/cfg.tab.c"
10448
0
    break;
10449
10450
0
  case 671:
10451
0
#line 2699 "core/cfg.y"
10452
0
                {(yyval.intval)=RVE_STREQ_OP; }
10453
0
#line 10454 "core/cfg.tab.c"
10454
0
    break;
10455
10456
0
  case 672:
10457
0
#line 2700 "core/cfg.y"
10458
0
                  {(yyval.intval)=RVE_STRDIFF_OP; }
10459
0
#line 10460 "core/cfg.tab.c"
10460
0
    break;
10461
10462
0
  case 673:
10463
0
#line 2701 "core/cfg.y"
10464
0
                {(yyval.intval)=RVE_MATCH_OP; }
10465
0
#line 10466 "core/cfg.tab.c"
10466
0
    break;
10467
10468
0
  case 674:
10469
0
#line 2704 "core/cfg.y"
10470
0
                {(yyval.intval)=RVE_GT_OP; }
10471
0
#line 10472 "core/cfg.tab.c"
10472
0
    break;
10473
10474
0
  case 675:
10475
0
#line 2705 "core/cfg.y"
10476
0
                {(yyval.intval)=RVE_LT_OP; }
10477
0
#line 10478 "core/cfg.tab.c"
10478
0
    break;
10479
10480
0
  case 676:
10481
0
#line 2706 "core/cfg.y"
10482
0
                {(yyval.intval)=RVE_GTE_OP; }
10483
0
#line 10484 "core/cfg.tab.c"
10484
0
    break;
10485
10486
0
  case 677:
10487
0
#line 2707 "core/cfg.y"
10488
0
                {(yyval.intval)=RVE_LTE_OP; }
10489
0
#line 10490 "core/cfg.tab.c"
10490
0
    break;
10491
10492
0
  case 678:
10493
0
#line 2714 "core/cfg.y"
10494
0
                        {(yyval.intval)=URI_O;}
10495
0
#line 10496 "core/cfg.tab.c"
10496
0
    break;
10497
10498
0
  case 679:
10499
0
#line 2715 "core/cfg.y"
10500
0
                        {(yyval.intval)=FROM_URI_O;}
10501
0
#line 10502 "core/cfg.tab.c"
10502
0
    break;
10503
10504
0
  case 680:
10505
0
#line 2716 "core/cfg.y"
10506
0
                        {(yyval.intval)=TO_URI_O;}
10507
0
#line 10508 "core/cfg.tab.c"
10508
0
    break;
10509
10510
0
  case 681:
10511
0
#line 2723 "core/cfg.y"
10512
0
                                        { (yyval.intval)=SNDPORT_O; }
10513
0
#line 10514 "core/cfg.tab.c"
10514
0
    break;
10515
10516
0
  case 682:
10517
0
#line 2724 "core/cfg.y"
10518
0
                                        { (yyval.intval)=TOPORT_O; }
10519
0
#line 10520 "core/cfg.tab.c"
10520
0
    break;
10521
10522
0
  case 683:
10523
0
#line 2725 "core/cfg.y"
10524
0
                                        { (yyval.intval)=SNDAF_O; }
10525
0
#line 10526 "core/cfg.tab.c"
10526
0
    break;
10527
10528
0
  case 684:
10529
0
#line 2729 "core/cfg.y"
10530
0
                                { (yyval.intval)=SRCPORT_O; }
10531
0
#line 10532 "core/cfg.tab.c"
10532
0
    break;
10533
10534
0
  case 685:
10535
0
#line 2730 "core/cfg.y"
10536
0
                                        { (yyval.intval)=DSTPORT_O; }
10537
0
#line 10538 "core/cfg.tab.c"
10538
0
    break;
10539
10540
0
  case 686:
10541
0
#line 2731 "core/cfg.y"
10542
0
                                                { (yyval.intval)=AF_O; }
10543
0
#line 10544 "core/cfg.tab.c"
10544
0
    break;
10545
10546
0
  case 687:
10547
0
#line 2732 "core/cfg.y"
10548
0
                                        { (yyval.intval)=MSGLEN_O; }
10549
0
#line 10550 "core/cfg.tab.c"
10550
0
    break;
10551
10552
0
  case 689:
10553
0
#line 2738 "core/cfg.y"
10554
0
                                        { onsend_check("snd_ip"); (yyval.intval)=SNDIP_O; }
10555
0
#line 10556 "core/cfg.tab.c"
10556
0
    break;
10557
10558
0
  case 690:
10559
0
#line 2739 "core/cfg.y"
10560
0
                                        { onsend_check("to_ip");  (yyval.intval)=TOIP_O; }
10561
0
#line 10562 "core/cfg.tab.c"
10562
0
    break;
10563
10564
0
  case 691:
10565
0
#line 2742 "core/cfg.y"
10566
0
                                { (yyval.intval)=SRCIP_O; }
10567
0
#line 10568 "core/cfg.tab.c"
10568
0
    break;
10569
10570
0
  case 692:
10571
0
#line 2743 "core/cfg.y"
10572
0
                                        { (yyval.intval)=DSTIP_O; }
10573
0
#line 10574 "core/cfg.tab.c"
10574
0
    break;
10575
10576
0
  case 694:
10577
0
#line 2751 "core/cfg.y"
10578
0
                {(yyval.expr)= mk_elem((yyvsp[-1].intval), METHOD_O, 0, RVE_ST, (yyvsp[0].rv_expr));}
10579
0
#line 10580 "core/cfg.tab.c"
10580
0
    break;
10581
10582
0
  case 695:
10583
0
#line 2753 "core/cfg.y"
10584
0
                {(yyval.expr) = mk_elem((yyvsp[-1].intval), METHOD_O, 0, STRING_ST,(yyvsp[0].strval)); }
10585
0
#line 10586 "core/cfg.tab.c"
10586
0
    break;
10587
10588
0
  case 696:
10589
0
#line 2754 "core/cfg.y"
10590
0
                             { (yyval.expr)=0; yyerror("string expected"); }
10591
0
#line 10592 "core/cfg.tab.c"
10592
0
    break;
10593
10594
0
  case 697:
10595
0
#line 2756 "core/cfg.y"
10596
0
                { (yyval.expr)=0; yyerror("invalid operator,== , !=, or =~ expected"); }
10597
0
#line 10598 "core/cfg.tab.c"
10598
0
    break;
10599
10600
0
  case 698:
10601
0
#line 2758 "core/cfg.y"
10602
0
                {(yyval.expr) = mk_elem((yyvsp[-1].intval), (yyvsp[-2].intval), 0, RVE_ST, (yyvsp[0].rv_expr)); }
10603
0
#line 10604 "core/cfg.tab.c"
10604
0
    break;
10605
10606
0
  case 699:
10607
0
#line 2760 "core/cfg.y"
10608
0
                {(yyval.expr)=mk_elem((yyvsp[-1].intval), (yyvsp[-2].intval), 0, MYSELF_ST, 0); }
10609
0
#line 10610 "core/cfg.tab.c"
10610
0
    break;
10611
10612
0
  case 700:
10613
0
#line 2762 "core/cfg.y"
10614
0
                { (yyval.expr)=0; yyerror("string or MYSELF expected"); }
10615
0
#line 10616 "core/cfg.tab.c"
10616
0
    break;
10617
10618
0
  case 701:
10619
0
#line 2764 "core/cfg.y"
10620
0
                { (yyval.expr)=0; yyerror("invalid operator, == , != or =~ expected"); }
10621
0
#line 10622 "core/cfg.tab.c"
10622
0
    break;
10623
10624
0
  case 702:
10625
0
#line 2765 "core/cfg.y"
10626
0
                                           { (yyval.expr)=mk_elem((yyvsp[-1].intval), (yyvsp[-2].intval), 0, RVE_ST, (yyvsp[0].rv_expr) ); }
10627
0
#line 10628 "core/cfg.tab.c"
10628
0
    break;
10629
10630
0
  case 703:
10631
0
#line 2767 "core/cfg.y"
10632
0
                { (yyval.expr)=mk_elem((yyvsp[-1].intval), (yyvsp[-2].intval), 0, RVE_ST, (yyvsp[0].rv_expr) ); }
10633
0
#line 10634 "core/cfg.tab.c"
10634
0
    break;
10635
10636
0
  case 704:
10637
0
#line 2768 "core/cfg.y"
10638
0
                                { (yyval.expr)=0; yyerror("number expected"); }
10639
0
#line 10640 "core/cfg.tab.c"
10640
0
    break;
10641
10642
0
  case 705:
10643
0
#line 2769 "core/cfg.y"
10644
0
                                { (yyval.expr)=0; yyerror("number expected"); }
10645
0
#line 10646 "core/cfg.tab.c"
10646
0
    break;
10647
10648
0
  case 706:
10649
0
#line 2770 "core/cfg.y"
10650
0
                        { (yyval.expr)=0; yyerror("==, !=, <,>, >= or <=  expected"); }
10651
0
#line 10652 "core/cfg.tab.c"
10652
0
    break;
10653
10654
0
  case 707:
10655
0
#line 2772 "core/cfg.y"
10656
0
                { (yyval.expr)=mk_elem((yyvsp[-1].intval), PROTO_O, 0, NUMBER_ST, (void*)(yyvsp[0].intval) ); }
10657
0
#line 10658 "core/cfg.tab.c"
10658
0
    break;
10659
10660
0
  case 708:
10661
0
#line 2774 "core/cfg.y"
10662
0
                { (yyval.expr)=mk_elem((yyvsp[-1].intval), PROTO_O, 0, RVE_ST, (yyvsp[0].rv_expr) ); }
10663
0
#line 10664 "core/cfg.tab.c"
10664
0
    break;
10665
10666
0
  case 709:
10667
0
#line 2776 "core/cfg.y"
10668
0
                { (yyval.expr)=0; yyerror("protocol expected (udp, tcp, tls, sctp, ws, or wss)"); }
10669
0
#line 10670 "core/cfg.tab.c"
10670
0
    break;
10671
10672
0
  case 710:
10673
0
#line 2778 "core/cfg.y"
10674
0
                { (yyval.expr)=mk_elem((yyvsp[-1].intval), SNDPROTO_O, 0, NUMBER_ST, (void*)(yyvsp[0].intval) ); }
10675
0
#line 10676 "core/cfg.tab.c"
10676
0
    break;
10677
10678
0
  case 711:
10679
0
#line 2780 "core/cfg.y"
10680
0
                { (yyval.expr)=mk_elem((yyvsp[-1].intval), SNDPROTO_O, 0, RVE_ST, (yyvsp[0].rv_expr) ); }
10681
0
#line 10682 "core/cfg.tab.c"
10682
0
    break;
10683
10684
0
  case 712:
10685
0
#line 2782 "core/cfg.y"
10686
0
                { (yyval.expr)=0; yyerror("protocol expected (udp, tcp, tls, sctp, ws, or wss)"); }
10687
0
#line 10688 "core/cfg.tab.c"
10688
0
    break;
10689
10690
0
  case 713:
10691
0
#line 2783 "core/cfg.y"
10692
0
                                           { (yyval.expr)=mk_elem((yyvsp[-1].intval), (yyvsp[-2].intval), 0, NET_ST, (yyvsp[0].ipnet)); }
10693
0
#line 10694 "core/cfg.tab.c"
10694
0
    break;
10695
10696
0
  case 714:
10697
0
#line 2784 "core/cfg.y"
10698
0
                                               {
10699
0
      s_tmp.s=0;
10700
0
      (yyval.expr)=0;
10701
0
      if (rve_is_constant((yyvsp[0].rv_expr))){
10702
0
        i_tmp=rve_guess_type((yyvsp[0].rv_expr));
10703
0
        if (i_tmp==RV_LONG)
10704
0
          yyerror("string expected");
10705
0
        else if (i_tmp==RV_STR){
10706
0
          if (((rval_tmp=rval_expr_eval(0, 0, (yyvsp[0].rv_expr)))==0) ||
10707
0
                (rval_get_str(0, 0, &s_tmp, rval_tmp, 0)<0)){
10708
0
            rval_destroy(rval_tmp);
10709
0
            yyerror("bad rvalue expression");
10710
0
          }else{
10711
0
            rval_destroy(rval_tmp);
10712
0
          }
10713
0
        }else{
10714
0
          yyerror("BUG: unexpected dynamic type");
10715
0
        }
10716
0
      }else{
10717
0
          /* warn("non constant rvalue in ip comparison") */;
10718
0
      }
10719
0
      if (s_tmp.s){
10720
0
        ip_tmp=str2ip(&s_tmp);
10721
0
        if (ip_tmp==0)
10722
0
          ip_tmp=str2ip6(&s_tmp);
10723
0
        pkg_free(s_tmp.s);
10724
0
        if (ip_tmp) {
10725
0
          (yyval.expr)=mk_elem((yyvsp[-1].intval), (yyvsp[-2].intval), 0, NET_ST,
10726
0
                mk_new_net_bitlen(ip_tmp, ip_tmp->len*8) );
10727
0
        } else {
10728
0
          (yyval.expr)=mk_elem((yyvsp[-1].intval), (yyvsp[-2].intval), 0, RVE_ST, (yyvsp[0].rv_expr));
10729
0
        }
10730
0
      }else{
10731
0
        (yyval.expr)=mk_elem((yyvsp[-1].intval), (yyvsp[-2].intval), 0, RVE_ST, (yyvsp[0].rv_expr));
10732
0
      }
10733
0
    }
10734
0
#line 10735 "core/cfg.tab.c"
10735
0
    break;
10736
10737
0
  case 715:
10738
0
#line 2821 "core/cfg.y"
10739
0
                { (yyval.expr)=mk_elem((yyvsp[-1].intval), (yyvsp[-2].intval), 0, STRING_ST, (yyvsp[0].strval)); }
10740
0
#line 10741 "core/cfg.tab.c"
10741
0
    break;
10742
10743
0
  case 716:
10744
0
#line 2823 "core/cfg.y"
10745
0
                { (yyval.expr)=mk_elem((yyvsp[-1].intval), (yyvsp[-2].intval), 0, MYSELF_ST, 0); }
10746
0
#line 10747 "core/cfg.tab.c"
10747
0
    break;
10748
10749
0
  case 717:
10750
0
#line 2825 "core/cfg.y"
10751
0
                { (yyval.expr)=0; yyerror( "ip address or hostname expected" ); }
10752
0
#line 10753 "core/cfg.tab.c"
10753
0
    break;
10754
10755
0
  case 718:
10756
0
#line 2827 "core/cfg.y"
10757
0
                { (yyval.expr)=0; yyerror("invalid operator, ==, != or =~ expected");}
10758
0
#line 10759 "core/cfg.tab.c"
10759
0
    break;
10760
10761
0
  case 719:
10762
0
#line 2830 "core/cfg.y"
10763
0
                { (yyval.expr)=mk_elem((yyvsp[-1].intval), (yyvsp[0].intval), 0, MYSELF_ST, 0); }
10764
0
#line 10765 "core/cfg.tab.c"
10765
0
    break;
10766
10767
0
  case 720:
10768
0
#line 2832 "core/cfg.y"
10769
0
                { (yyval.expr)=mk_elem((yyvsp[-1].intval), (yyvsp[0].intval), 0, MYSELF_ST, 0); }
10770
0
#line 10771 "core/cfg.tab.c"
10771
0
    break;
10772
10773
0
  case 721:
10774
0
#line 2834 "core/cfg.y"
10775
0
                { (yyval.expr)=0; yyerror("URI, SRCIP or DSTIP expected"); }
10776
0
#line 10777 "core/cfg.tab.c"
10777
0
    break;
10778
10779
0
  case 722:
10780
0
#line 2835 "core/cfg.y"
10781
0
                        { (yyval.expr)=0; yyerror ("invalid operator, == or != expected"); }
10782
0
#line 10783 "core/cfg.tab.c"
10783
0
    break;
10784
10785
0
  case 723:
10786
0
#line 2839 "core/cfg.y"
10787
0
                        { (yyval.ipnet)=mk_new_net((yyvsp[-2].ipaddr), (yyvsp[0].ipaddr)); }
10788
0
#line 10789 "core/cfg.tab.c"
10789
0
    break;
10790
10791
0
  case 724:
10792
0
#line 2840 "core/cfg.y"
10793
0
                          {
10794
0
    if (((yyvsp[0].intval)<0) || ((yyvsp[0].intval)>(yyvsp[-2].ipaddr)->len*8)) {
10795
0
      yyerror("invalid bit number in netmask");
10796
0
      (yyval.ipnet)=0;
10797
0
    } else {
10798
0
      (yyval.ipnet)=mk_new_net_bitlen((yyvsp[-2].ipaddr), (yyvsp[0].intval));
10799
    /*
10800
      $$=mk_new_net($1, htonl( ($3)?~( (1<<(32-$3))-1 ):0 ) );
10801
    */
10802
0
    }
10803
0
  }
10804
0
#line 10805 "core/cfg.tab.c"
10805
0
    break;
10806
10807
0
  case 725:
10808
0
#line 2851 "core/cfg.y"
10809
0
                { (yyval.ipnet)=mk_new_net_bitlen((yyvsp[0].ipaddr), (yyvsp[0].ipaddr)->len*8); }
10810
0
#line 10811 "core/cfg.tab.c"
10811
0
    break;
10812
10813
0
  case 726:
10814
0
#line 2852 "core/cfg.y"
10815
0
                         { (yyval.ipnet)=0; yyerror("netmask (eg:255.0.0.0 or 8) expected"); }
10816
0
#line 10817 "core/cfg.tab.c"
10817
0
    break;
10818
10819
0
  case 727:
10820
0
#line 2856 "core/cfg.y"
10821
0
           { (yyval.strval)=(yyvsp[0].strval); }
10822
0
#line 10823 "core/cfg.tab.c"
10823
0
    break;
10824
10825
0
  case 728:
10826
0
#line 2857 "core/cfg.y"
10827
0
                      {
10828
0
    if ((yyvsp[-2].strval)){
10829
0
      (yyval.strval)=(char*)pkg_malloc(strlen((yyvsp[-2].strval))+1+strlen((yyvsp[0].strval))+1);
10830
0
      if ((yyval.strval)==0) {
10831
0
        PKG_MEM_CRITICAL;
10832
0
      } else {
10833
0
        memcpy((yyval.strval), (yyvsp[-2].strval), strlen((yyvsp[-2].strval)));
10834
0
        (yyval.strval)[strlen((yyvsp[-2].strval))]='.';
10835
0
        memcpy((yyval.strval)+strlen((yyvsp[-2].strval))+1, (yyvsp[0].strval), strlen((yyvsp[0].strval)));
10836
0
        (yyval.strval)[strlen((yyvsp[-2].strval))+1+strlen((yyvsp[0].strval))]=0;
10837
0
      }
10838
0
      pkg_free((yyvsp[-2].strval));
10839
0
    }
10840
0
    if ((yyvsp[0].strval)) pkg_free((yyvsp[0].strval));
10841
0
  }
10842
0
#line 10843 "core/cfg.tab.c"
10843
0
    break;
10844
10845
0
  case 729:
10846
0
#line 2872 "core/cfg.y"
10847
0
                        {
10848
0
    if ((yyvsp[-2].strval)){
10849
0
      (yyval.strval)=(char*)pkg_malloc(strlen((yyvsp[-2].strval))+1+strlen((yyvsp[0].strval))+1);
10850
0
      if ((yyval.strval)==0) {
10851
0
        PKG_MEM_CRITICAL;
10852
0
      } else {
10853
0
        memcpy((yyval.strval), (yyvsp[-2].strval), strlen((yyvsp[-2].strval)));
10854
0
        (yyval.strval)[strlen((yyvsp[-2].strval))]='-';
10855
0
        memcpy((yyval.strval)+strlen((yyvsp[-2].strval))+1, (yyvsp[0].strval), strlen((yyvsp[0].strval)));
10856
0
        (yyval.strval)[strlen((yyvsp[-2].strval))+1+strlen((yyvsp[0].strval))]=0;
10857
0
      }
10858
0
      pkg_free((yyvsp[-2].strval));
10859
0
    }
10860
0
    if ((yyvsp[0].strval)) pkg_free((yyvsp[0].strval));
10861
0
  }
10862
0
#line 10863 "core/cfg.tab.c"
10863
0
    break;
10864
10865
0
  case 730:
10866
0
#line 2887 "core/cfg.y"
10867
0
                         { (yyval.strval)=0; pkg_free((yyvsp[-2].strval)); yyerror("invalid hostname"); }
10868
0
#line 10869 "core/cfg.tab.c"
10869
0
    break;
10870
10871
0
  case 731:
10872
0
#line 2888 "core/cfg.y"
10873
0
                           { (yyval.strval)=0; pkg_free((yyvsp[-2].strval)); yyerror("invalid hostname"); }
10874
0
#line 10875 "core/cfg.tab.c"
10875
0
    break;
10876
10877
0
  case 734:
10878
0
#line 2893 "core/cfg.y"
10879
0
                         {
10880
      /* get string version */
10881
0
      i_tmp = strlen(yy_number_str);
10882
0
      (yyval.strval)=pkg_malloc(i_tmp + 1);
10883
0
      if ((yyval.strval)==0) {
10884
0
        PKG_MEM_ERROR;
10885
0
      } else {
10886
0
        memcpy((yyval.strval), yy_number_str, i_tmp);
10887
0
        (yyval.strval)[i_tmp] = '\0';
10888
0
      }
10889
0
    }
10890
0
#line 10891 "core/cfg.tab.c"
10891
0
    break;
10892
10893
0
  case 735:
10894
0
#line 2907 "core/cfg.y"
10895
0
                   { (yyval.strval)=(yyvsp[0].strval); }
10896
0
#line 10897 "core/cfg.tab.c"
10897
0
    break;
10898
10899
0
  case 736:
10900
0
#line 2908 "core/cfg.y"
10901
0
                                    {
10902
0
    if ((yyvsp[-2].strval)){
10903
0
      (yyval.strval)=(char*)pkg_malloc(strlen((yyvsp[-2].strval))+1+strlen((yyvsp[0].strval))+1);
10904
0
      if ((yyval.strval)==0) {
10905
0
        PKG_MEM_CRITICAL;
10906
0
      } else {
10907
0
        memcpy((yyval.strval), (yyvsp[-2].strval), strlen((yyvsp[-2].strval)));
10908
0
        (yyval.strval)[strlen((yyvsp[-2].strval))]='.';
10909
0
        memcpy((yyval.strval)+strlen((yyvsp[-2].strval))+1, (yyvsp[0].strval), strlen((yyvsp[0].strval)));
10910
0
        (yyval.strval)[strlen((yyvsp[-2].strval))+1+strlen((yyvsp[0].strval))]=0;
10911
0
      }
10912
0
      pkg_free((yyvsp[-2].strval));
10913
0
    }
10914
0
    if ((yyvsp[0].strval)) pkg_free((yyvsp[0].strval));
10915
0
  }
10916
0
#line 10917 "core/cfg.tab.c"
10917
0
    break;
10918
10919
0
  case 737:
10920
0
#line 2923 "core/cfg.y"
10921
0
                                      {
10922
0
    if ((yyvsp[-2].strval)){
10923
0
      (yyval.strval)=(char*)pkg_malloc(strlen((yyvsp[-2].strval))+1+strlen((yyvsp[0].strval))+1);
10924
0
      if ((yyval.strval)==0) {
10925
0
        PKG_MEM_CRITICAL;
10926
0
      } else {
10927
0
        memcpy((yyval.strval), (yyvsp[-2].strval), strlen((yyvsp[-2].strval)));
10928
0
        (yyval.strval)[strlen((yyvsp[-2].strval))]='-';
10929
0
        memcpy((yyval.strval)+strlen((yyvsp[-2].strval))+1, (yyvsp[0].strval), strlen((yyvsp[0].strval)));
10930
0
        (yyval.strval)[strlen((yyvsp[-2].strval))+1+strlen((yyvsp[0].strval))]=0;
10931
0
      }
10932
0
      pkg_free((yyvsp[-2].strval));
10933
0
    }
10934
0
    if ((yyvsp[0].strval)) pkg_free((yyvsp[0].strval));
10935
0
  }
10936
0
#line 10937 "core/cfg.tab.c"
10937
0
    break;
10938
10939
0
  case 738:
10940
0
#line 2938 "core/cfg.y"
10941
0
                               { (yyval.strval)=0; pkg_free((yyvsp[-2].strval));
10942
0
                yyerror("invalid host or interface name"); }
10943
0
#line 10944 "core/cfg.tab.c"
10944
0
    break;
10945
10946
0
  case 739:
10947
0
#line 2940 "core/cfg.y"
10948
0
                                 { (yyval.strval)=0; pkg_free((yyvsp[-2].strval));
10949
0
                yyerror("invalid host or interface name"); }
10950
0
#line 10951 "core/cfg.tab.c"
10951
0
    break;
10952
10953
0
  case 740:
10954
0
#line 2947 "core/cfg.y"
10955
0
            {
10956
    /* check if allowed */
10957
0
    if ((yyvsp[0].action) && rt==ONSEND_ROUTE) {
10958
0
      switch((yyvsp[0].action)->type) {
10959
0
        case DROP_T:
10960
0
        case LOG_T:
10961
0
        case SETFLAG_T:
10962
0
        case RESETFLAG_T:
10963
0
        case ISFLAGSET_T:
10964
0
        case IF_T:
10965
0
        case MODULE0_T:
10966
0
        case MODULE1_T:
10967
0
        case MODULE2_T:
10968
0
        case MODULE3_T:
10969
0
        case MODULE4_T:
10970
0
        case MODULE5_T:
10971
0
        case MODULE6_T:
10972
0
        case MODULEX_T:
10973
0
        case ROUTE_T:
10974
0
        case SET_FWD_NO_CONNECT_T:
10975
0
        case SET_RPL_NO_CONNECT_T:
10976
0
        case SET_FWD_CLOSE_T:
10977
0
        case SET_RPL_CLOSE_T:
10978
0
          (yyval.action)=(yyvsp[0].action);
10979
0
          break;
10980
0
        default:
10981
0
          (yyval.action)=0;
10982
0
          yyerror("command not allowed in onsend_route\n");
10983
0
      }
10984
0
    } else {
10985
0
      (yyval.action)=(yyvsp[0].action);
10986
0
    }
10987
0
  }
10988
0
#line 10989 "core/cfg.tab.c"
10989
0
    break;
10990
10991
0
  case 741:
10992
0
#line 2990 "core/cfg.y"
10993
0
                { (yyval.action)=(yyvsp[0].action); }
10994
0
#line 10995 "core/cfg.tab.c"
10995
0
    break;
10996
10997
0
  case 742:
10998
0
#line 2991 "core/cfg.y"
10999
0
                                { (yyval.action)=(yyvsp[-1].action); }
11000
0
#line 11001 "core/cfg.tab.c"
11001
0
    break;
11002
11003
0
  case 743:
11004
0
#line 2994 "core/cfg.y"
11005
0
                        {(yyval.action)=append_action((yyvsp[-1].action), (yyvsp[0].action)); }
11006
0
#line 11007 "core/cfg.tab.c"
11007
0
    break;
11008
11009
0
  case 744:
11010
0
#line 2995 "core/cfg.y"
11011
0
                        {(yyval.action)=(yyvsp[0].action);}
11012
0
#line 11013 "core/cfg.tab.c"
11013
0
    break;
11014
11015
0
  case 745:
11016
0
#line 2996 "core/cfg.y"
11017
0
                        { (yyval.action)=0; yyerror("bad command"); }
11018
0
#line 11019 "core/cfg.tab.c"
11019
0
    break;
11020
11021
0
  case 746:
11022
0
#line 2999 "core/cfg.y"
11023
0
                       {(yyval.action)=(yyvsp[-1].action);}
11024
0
#line 11025 "core/cfg.tab.c"
11025
0
    break;
11026
11027
0
  case 747:
11028
0
#line 3000 "core/cfg.y"
11029
0
                 {(yyval.action)=(yyvsp[0].action);}
11030
0
#line 11031 "core/cfg.tab.c"
11031
0
    break;
11032
11033
0
  case 748:
11034
0
#line 3001 "core/cfg.y"
11035
0
                     {(yyval.action)=(yyvsp[0].action);}
11036
0
#line 11037 "core/cfg.tab.c"
11037
0
    break;
11038
11039
0
  case 749:
11040
0
#line 3002 "core/cfg.y"
11041
0
                    { (yyval.action)=(yyvsp[0].action); }
11042
0
#line 11043 "core/cfg.tab.c"
11043
0
    break;
11044
11045
0
  case 750:
11046
0
#line 3003 "core/cfg.y"
11047
0
                            { (yyval.action)=(yyvsp[-1].action); }
11048
0
#line 11049 "core/cfg.tab.c"
11049
0
    break;
11050
11051
0
  case 751:
11052
0
#line 3004 "core/cfg.y"
11053
0
                                  {(yyval.action)=(yyvsp[-1].action);}
11054
0
#line 11055 "core/cfg.tab.c"
11055
0
    break;
11056
11057
0
  case 752:
11058
0
#line 3005 "core/cfg.y"
11059
0
                                      {(yyval.action)=0;}
11060
0
#line 11061 "core/cfg.tab.c"
11061
0
    break;
11062
11063
0
  case 753:
11064
0
#line 3006 "core/cfg.y"
11065
0
                     { (yyval.action)=0; yyerror("bad command: missing ';'?"); }
11066
0
#line 11067 "core/cfg.tab.c"
11067
0
    break;
11068
11069
0
  case 754:
11070
0
#line 3009 "core/cfg.y"
11071
0
                                {
11072
0
    if ((yyvsp[-1].rv_expr) && rval_expr_int_check((yyvsp[-1].rv_expr))>=0){
11073
0
      warn_ct_rve((yyvsp[-1].rv_expr), "if");
11074
0
      (yyval.action)=mk_action( IF_T, 3, RVE_ST, (yyvsp[-1].rv_expr), ACTIONS_ST, (yyvsp[0].action), NOSUBTYPE, 0);
11075
0
      set_cfg_pos((yyval.action));
11076
0
    }else
11077
0
      YYERROR;
11078
0
  }
11079
0
#line 11080 "core/cfg.tab.c"
11080
0
    break;
11081
11082
0
  case 755:
11083
0
#line 3017 "core/cfg.y"
11084
0
                                        {
11085
0
    if ((yyvsp[-3].rv_expr) && rval_expr_int_check((yyvsp[-3].rv_expr))>=0){
11086
0
      warn_ct_rve((yyvsp[-3].rv_expr), "if");
11087
0
      (yyval.action)=mk_action( IF_T, 3, RVE_ST, (yyvsp[-3].rv_expr), ACTIONS_ST, (yyvsp[-2].action), ACTIONS_ST, (yyvsp[0].action));
11088
0
      set_cfg_pos((yyval.action));
11089
0
    }else
11090
0
      YYERROR;
11091
0
  }
11092
0
#line 11093 "core/cfg.tab.c"
11093
0
    break;
11094
11095
0
  case 756:
11096
0
#line 3027 "core/cfg.y"
11097
0
                   {
11098
0
      (yyval.rv_expr)=0;
11099
0
      if ((yyvsp[0].rv_expr) && !rve_is_constant((yyvsp[0].rv_expr))){
11100
0
        yyerror("constant expected");
11101
0
        YYERROR;
11102
      /*
11103
      } else if ($1 &&
11104
            !rve_check_type((enum rval_type*)&i_tmp, $1, 0, 0 ,0)){
11105
        yyerror("invalid expression (bad type)");
11106
      }else if ($1 && i_tmp!=RV_LONG){
11107
        yyerror("invalid expression type, int expected\n");
11108
      */
11109
0
      }else
11110
0
        (yyval.rv_expr)=(yyvsp[0].rv_expr);
11111
0
    }
11112
0
#line 11113 "core/cfg.tab.c"
11113
0
    break;
11114
11115
0
  case 757:
11116
0
#line 3044 "core/cfg.y"
11117
0
                                   {
11118
0
    (yyval.case_stms)=0;
11119
0
    if ((yyvsp[-2].rv_expr)==0) { yyerror ("bad case label"); YYERROR; }
11120
0
    else if ((((yyval.case_stms)=mk_case_stm((yyvsp[-2].rv_expr), 0, (yyvsp[0].action), &i_tmp))==0) && (i_tmp==-10)){
11121
0
        YYABORT;
11122
0
    }
11123
0
  }
11124
0
#line 11125 "core/cfg.tab.c"
11125
0
    break;
11126
11127
0
  case 758:
11128
0
#line 3051 "core/cfg.y"
11129
0
                                   {
11130
0
    (yyval.case_stms)=0;
11131
0
    if ((yyvsp[-2].rv_expr)==0) { yyerror ("bad case label"); YYERROR; }
11132
0
    else if ((((yyval.case_stms)=mk_case_stm((yyvsp[-2].rv_expr), 1, (yyvsp[0].action), &i_tmp))==0) && (i_tmp==-10)){
11133
0
        YYABORT;
11134
0
    }
11135
0
  }
11136
0
#line 11137 "core/cfg.tab.c"
11137
0
    break;
11138
11139
0
  case 759:
11140
0
#line 3058 "core/cfg.y"
11141
0
                             {
11142
0
    (yyval.case_stms)=0;
11143
0
    if ((yyvsp[-1].rv_expr)==0) { yyerror ("bad case label"); YYERROR; }
11144
0
    else if ((((yyval.case_stms)=mk_case_stm((yyvsp[-1].rv_expr), 0, 0, &i_tmp))==0) && (i_tmp==-10)){
11145
0
        YYABORT;
11146
0
    }
11147
0
  }
11148
0
#line 11149 "core/cfg.tab.c"
11149
0
    break;
11150
11151
0
  case 760:
11152
0
#line 3065 "core/cfg.y"
11153
0
                                   {
11154
0
    (yyval.case_stms)=0;
11155
0
    if ((yyvsp[-1].rv_expr)==0) { yyerror ("bad regex case label"); YYERROR; }
11156
0
    else if ((((yyval.case_stms)=mk_case_stm((yyvsp[-1].rv_expr), 1, 0, &i_tmp))==0) && (i_tmp==-10)){
11157
0
        YYABORT;
11158
0
    }
11159
0
  }
11160
0
#line 11161 "core/cfg.tab.c"
11161
0
    break;
11162
11163
0
  case 761:
11164
0
#line 3072 "core/cfg.y"
11165
0
                                {
11166
0
    if ((((yyval.case_stms)=mk_case_stm(0, 0, (yyvsp[0].action), &i_tmp))==0) && (i_tmp==-10)){
11167
0
        YYABORT;
11168
0
    }
11169
0
  }
11170
0
#line 11171 "core/cfg.tab.c"
11171
0
    break;
11172
11173
0
  case 762:
11174
0
#line 3077 "core/cfg.y"
11175
0
                        {
11176
0
    if ((((yyval.case_stms)=mk_case_stm(0, 0, 0, &i_tmp))==0) && (i_tmp==-10)){
11177
0
        YYABORT;
11178
0
    }
11179
0
  }
11180
0
#line 11181 "core/cfg.tab.c"
11181
0
    break;
11182
11183
0
  case 763:
11184
0
#line 3082 "core/cfg.y"
11185
0
                                   { (yyval.case_stms)=0; yyerror("bad case label"); }
11186
0
#line 11187 "core/cfg.tab.c"
11187
0
    break;
11188
11189
0
  case 764:
11190
0
#line 3083 "core/cfg.y"
11191
0
                                         { (yyval.case_stms)=0; yyerror("bad case regex label"); }
11192
0
#line 11193 "core/cfg.tab.c"
11193
0
    break;
11194
11195
0
  case 765:
11196
0
#line 3084 "core/cfg.y"
11197
0
                           { (yyval.case_stms)=0; yyerror("bad case label"); }
11198
0
#line 11199 "core/cfg.tab.c"
11199
0
    break;
11200
11201
0
  case 766:
11202
0
#line 3085 "core/cfg.y"
11203
0
                                 { (yyval.case_stms)=0; yyerror("bad case regex label"); }
11204
0
#line 11205 "core/cfg.tab.c"
11205
0
    break;
11206
11207
0
  case 767:
11208
0
#line 3086 "core/cfg.y"
11209
0
                                   { (yyval.case_stms)=0; yyerror ("bad case body"); }
11210
0
#line 11211 "core/cfg.tab.c"
11211
0
    break;
11212
11213
0
  case 768:
11214
0
#line 3089 "core/cfg.y"
11215
0
                              {
11216
0
    (yyval.case_stms)=(yyvsp[-1].case_stms);
11217
0
    if ((yyvsp[0].case_stms)==0) yyerror ("bad case");
11218
0
    if ((yyval.case_stms)){
11219
0
      *((yyval.case_stms)->append)=(yyvsp[0].case_stms);
11220
0
      if (*((yyval.case_stms)->append)!=0)
11221
0
        (yyval.case_stms)->append=&((*((yyval.case_stms)->append))->next);
11222
0
    }
11223
0
  }
11224
0
#line 11225 "core/cfg.tab.c"
11225
0
    break;
11226
11227
0
  case 769:
11228
0
#line 3098 "core/cfg.y"
11229
0
                      {
11230
0
    (yyval.case_stms)=(yyvsp[0].case_stms);
11231
0
    if ((yyvsp[0].case_stms)==0) yyerror ("bad case");
11232
0
    else (yyval.case_stms)->append=&((yyval.case_stms)->next);
11233
0
  }
11234
0
#line 11235 "core/cfg.tab.c"
11235
0
    break;
11236
11237
0
  case 770:
11238
0
#line 3105 "core/cfg.y"
11239
0
                                                   {
11240
0
    (yyval.action)=0;
11241
0
    if ((yyvsp[-3].rv_expr)==0){
11242
0
      yyerror("bad expression in switch(...)");
11243
0
      YYERROR;
11244
0
    }else if ((yyvsp[-1].case_stms)==0){
11245
0
      yyerror ("bad switch body");
11246
0
      YYERROR;
11247
0
    }else if (case_check_default((yyvsp[-1].case_stms))!=0){
11248
0
      yyerror_at(&(yyvsp[-3].rv_expr)->fpos, "bad switch(): too many "
11249
0
              "\"default:\" labels\n");
11250
0
      YYERROR;
11251
0
    }else if (case_check_type((yyvsp[-1].case_stms))!=0){
11252
0
      yyerror_at(&(yyvsp[-3].rv_expr)->fpos, "bad switch(): mixed integer and"
11253
0
              " string/RE cases not allowed\n");
11254
0
      YYERROR;
11255
0
    }else{
11256
0
      (yyval.action)=mk_action(SWITCH_T, 2, RVE_ST, (yyvsp[-3].rv_expr), CASE_ST, (yyvsp[-1].case_stms));
11257
0
      if ((yyval.action)==0) {
11258
0
        yyerror("internal error");
11259
0
        YYABORT;
11260
0
      }
11261
0
      set_cfg_pos((yyval.action));
11262
0
    }
11263
0
  }
11264
0
#line 11265 "core/cfg.tab.c"
11265
0
    break;
11266
11267
0
  case 771:
11268
0
#line 3130 "core/cfg.y"
11269
0
                                         {
11270
0
    (yyval.action)=0;
11271
0
    warn("empty switch()");
11272
0
    if ((yyvsp[-2].rv_expr)==0){
11273
0
      yyerror("bad expression in switch(...)");
11274
0
      YYERROR;
11275
0
    }else{
11276
      /* it might have sideffects, so leave it for the optimizer */
11277
0
      (yyval.action)=mk_action(SWITCH_T, 2, RVE_ST, (yyvsp[-2].rv_expr), CASE_ST, 0);
11278
0
      if ((yyval.action)==0) {
11279
0
        yyerror("internal error");
11280
0
        YYABORT;
11281
0
      }
11282
0
      set_cfg_pos((yyval.action));
11283
0
    }
11284
0
  }
11285
0
#line 11286 "core/cfg.tab.c"
11286
0
    break;
11287
11288
0
  case 772:
11289
0
#line 3146 "core/cfg.y"
11290
0
                       { (yyval.action)=0; yyerror ("bad expression in switch(...)"); }
11291
0
#line 11292 "core/cfg.tab.c"
11292
0
    break;
11293
11294
0
  case 773:
11295
0
#line 3148 "core/cfg.y"
11296
0
                {(yyval.action)=0; yyerror ("bad switch body"); }
11297
0
#line 11298 "core/cfg.tab.c"
11298
0
    break;
11299
11300
0
  case 774:
11301
0
#line 3152 "core/cfg.y"
11302
0
                            {
11303
0
    if ((yyvsp[-1].rv_expr) && rval_expr_int_check((yyvsp[-1].rv_expr))>=0){
11304
0
      warn_ct_rve((yyvsp[-1].rv_expr), "while");
11305
0
      (yyval.action)=mk_action( WHILE_T, 2, RVE_ST, (yyvsp[-1].rv_expr), ACTIONS_ST, (yyvsp[0].action));
11306
0
      set_cfg_pos((yyval.action));
11307
0
    }else{
11308
0
      yyerror_at(&(yyvsp[-1].rv_expr)->fpos, "bad while(...) expression");
11309
0
      YYERROR;
11310
0
    }
11311
0
  }
11312
0
#line 11313 "core/cfg.tab.c"
11313
0
    break;
11314
11315
0
  case 775:
11316
0
#line 3171 "core/cfg.y"
11317
0
           {
11318
0
    if (sel.n >= MAX_SELECT_PARAMS-1) {
11319
0
      yyerror("Select identifier too long\n");
11320
0
    }
11321
0
    sel.params[sel.n].type = SEL_PARAM_STR;
11322
0
    sel.params[sel.n].v.s.s = (yyvsp[0].strval);
11323
0
    sel.params[sel.n].v.s.len = strlen((yyvsp[0].strval));
11324
0
    sel.n++;
11325
0
  }
11326
0
#line 11327 "core/cfg.tab.c"
11327
0
    break;
11328
11329
0
  case 776:
11330
0
#line 3180 "core/cfg.y"
11331
0
                                 {
11332
0
    if (sel.n >= MAX_SELECT_PARAMS-2) {
11333
0
      yyerror("Select identifier too long\n");
11334
0
    }
11335
0
    sel.params[sel.n].type = SEL_PARAM_STR;
11336
0
    sel.params[sel.n].v.s.s = (yyvsp[-3].strval);
11337
0
    sel.params[sel.n].v.s.len = strlen((yyvsp[-3].strval));
11338
0
    sel.n++;
11339
0
    sel.params[sel.n].type = SEL_PARAM_INT;
11340
0
    sel.params[sel.n].v.i = (yyvsp[-1].intval);
11341
0
    sel.n++;
11342
0
  }
11343
0
#line 11344 "core/cfg.tab.c"
11344
0
    break;
11345
11346
0
  case 777:
11347
0
#line 3192 "core/cfg.y"
11348
0
                                  {
11349
0
    if (sel.n >= MAX_SELECT_PARAMS-2) {
11350
0
      yyerror("Select identifier too long\n");
11351
0
    }
11352
0
    sel.params[sel.n].type = SEL_PARAM_STR;
11353
0
    sel.params[sel.n].v.s.s = (yyvsp[-3].strval);
11354
0
    sel.params[sel.n].v.s.len = strlen((yyvsp[-3].strval));
11355
0
    sel.n++;
11356
0
    sel.params[sel.n].type = SEL_PARAM_STR;
11357
0
    sel.params[sel.n].v.s.s = (yyvsp[-1].strval);
11358
0
    sel.params[sel.n].v.s.len = strlen((yyvsp[-1].strval));
11359
0
    sel.n++;
11360
0
  }
11361
0
#line 11362 "core/cfg.tab.c"
11362
0
    break;
11363
11364
0
  case 780:
11365
0
#line 3211 "core/cfg.y"
11366
0
                    { sel.n = 0; sel.f[0] = 0; }
11367
0
#line 11368 "core/cfg.tab.c"
11368
0
    break;
11369
11370
0
  case 781:
11371
0
#line 3211 "core/cfg.y"
11372
0
                                                               {
11373
0
    sel_ptr = (select_t*)pkg_malloc(sizeof(select_t));
11374
0
    if (!sel_ptr) {
11375
0
      yyerror("No memory left to allocate select structure\n");
11376
0
    }
11377
0
    memcpy(sel_ptr, &sel, sizeof(select_t));
11378
0
    (yyval.select) = sel_ptr;
11379
0
  }
11380
0
#line 11381 "core/cfg.tab.c"
11381
0
    break;
11382
11383
0
  case 782:
11384
0
#line 3221 "core/cfg.y"
11385
0
                  { s_attr->type |= AVP_TRACK_FROM; }
11386
0
#line 11387 "core/cfg.tab.c"
11387
0
    break;
11388
11389
0
  case 783:
11390
0
#line 3222 "core/cfg.y"
11391
0
                  { s_attr->type |= AVP_TRACK_TO; }
11392
0
#line 11393 "core/cfg.tab.c"
11393
0
    break;
11394
11395
0
  case 784:
11396
0
#line 3223 "core/cfg.y"
11397
0
                       { s_attr->type |= AVP_TRACK_FROM | AVP_CLASS_URI; }
11398
0
#line 11399 "core/cfg.tab.c"
11399
0
    break;
11400
11401
0
  case 785:
11402
0
#line 3224 "core/cfg.y"
11403
0
                     { s_attr->type |= AVP_TRACK_TO | AVP_CLASS_URI; }
11404
0
#line 11405 "core/cfg.tab.c"
11405
0
    break;
11406
11407
0
  case 786:
11408
0
#line 3225 "core/cfg.y"
11409
0
                        { s_attr->type |= AVP_TRACK_FROM | AVP_CLASS_USER; }
11410
0
#line 11411 "core/cfg.tab.c"
11411
0
    break;
11412
11413
0
  case 787:
11414
0
#line 3226 "core/cfg.y"
11415
0
                      { s_attr->type |= AVP_TRACK_TO | AVP_CLASS_USER; }
11416
0
#line 11417 "core/cfg.tab.c"
11417
0
    break;
11418
11419
0
  case 788:
11420
0
#line 3227 "core/cfg.y"
11421
0
                          { s_attr->type |= AVP_TRACK_FROM | AVP_CLASS_DOMAIN; }
11422
0
#line 11423 "core/cfg.tab.c"
11423
0
    break;
11424
11425
0
  case 789:
11426
0
#line 3228 "core/cfg.y"
11427
0
                        { s_attr->type |= AVP_TRACK_TO | AVP_CLASS_DOMAIN; }
11428
0
#line 11429 "core/cfg.tab.c"
11429
0
    break;
11430
11431
0
  case 790:
11432
0
#line 3229 "core/cfg.y"
11433
0
                      { s_attr->type |= AVP_TRACK_ALL | AVP_CLASS_GLOBAL; }
11434
0
#line 11435 "core/cfg.tab.c"
11435
0
    break;
11436
11437
0
  case 791:
11438
0
#line 3232 "core/cfg.y"
11439
0
           { s_attr->type |= AVP_NAME_STR; s_attr->name.s.s = (yyvsp[0].strval); s_attr->name.s.len = strlen ((yyvsp[0].strval)); }
11440
0
#line 11441 "core/cfg.tab.c"
11441
0
    break;
11442
11443
0
  case 794:
11444
0
#line 3239 "core/cfg.y"
11445
0
                  {
11446
0
    s_attr = (struct avp_spec*)pkg_malloc(sizeof(struct avp_spec));
11447
0
    if (!s_attr) { yyerror("No memory left"); YYABORT; }
11448
0
    else { memset(s_attr, 0, (sizeof(struct avp_spec))); }
11449
0
  }
11450
0
#line 11451 "core/cfg.tab.c"
11451
0
    break;
11452
11453
0
  case 795:
11454
0
#line 3246 "core/cfg.y"
11455
0
                            { (yyval.attr) = s_attr; }
11456
0
#line 11457 "core/cfg.tab.c"
11457
0
    break;
11458
11459
0
  case 796:
11460
0
#line 3249 "core/cfg.y"
11461
0
                                                {
11462
0
    s_attr->type|= (AVP_NAME_STR | ((yyvsp[-1].intval)<0?AVP_INDEX_BACKWARD:AVP_INDEX_FORWARD));
11463
0
    s_attr->index = ((yyvsp[-1].intval)<0?-(yyvsp[-1].intval):(yyvsp[-1].intval));
11464
0
    (yyval.attr) = s_attr;
11465
0
  }
11466
0
#line 11467 "core/cfg.tab.c"
11467
0
    break;
11468
11469
0
  case 797:
11470
0
#line 3256 "core/cfg.y"
11471
0
                                          {
11472
0
    s_attr->type|= AVP_INDEX_ALL;
11473
0
    (yyval.attr) = s_attr;
11474
0
  }
11475
0
#line 11476 "core/cfg.tab.c"
11476
0
    break;
11477
11478
0
  case 804:
11479
0
#line 3278 "core/cfg.y"
11480
0
                   {
11481
0
    if ((yyvsp[0].lval)->type==LV_AVP){
11482
0
      s_attr = pkg_malloc(sizeof(struct avp_spec));
11483
0
      if (!s_attr) { yyerror("No memory left"); YYABORT; }
11484
0
      else{
11485
0
        *s_attr=(yyvsp[0].lval)->lv.avps;
11486
0
      }
11487
0
      (yyval.attr)=s_attr;
11488
0
    }else
11489
0
      (yyval.attr)=0; /* not an avp, a pvar */
11490
0
    pkg_free((yyvsp[0].lval));
11491
0
  }
11492
0
#line 11493 "core/cfg.tab.c"
11493
0
    break;
11494
11495
0
  case 805:
11496
0
#line 3290 "core/cfg.y"
11497
0
                 {
11498
0
    avp_spec_t *avp_spec;
11499
0
    str s;
11500
0
    avp_flags_t type;
11501
0
    int  idx;
11502
0
    avp_spec = pkg_malloc(sizeof(*avp_spec));
11503
0
    if (!avp_spec) {
11504
0
      yyerror("Not enough memory");
11505
0
      YYABORT;
11506
0
    }
11507
0
    s.s = (yyvsp[0].strval);
11508
0
    if (s.s[0] == '$')
11509
0
      s.s++;
11510
0
    s.len = strlen(s.s);
11511
0
    if (parse_avp_name(&s, &type, &avp_spec->name, &idx)) {
11512
0
      yyerror("error when parsing AVP");
11513
0
      pkg_free(avp_spec);
11514
0
      YYABORT;
11515
0
    }
11516
0
    avp_spec->type = type;
11517
0
    avp_spec->index = idx;
11518
0
    (yyval.attr) = avp_spec;
11519
0
  }
11520
0
#line 11521 "core/cfg.tab.c"
11521
0
    break;
11522
11523
0
  case 806:
11524
0
#line 3315 "core/cfg.y"
11525
0
             {
11526
0
      s_tmp.s=(yyvsp[0].strval); s_tmp.len=strlen((yyvsp[0].strval));
11527
0
      pv_spec=pv_cache_get(&s_tmp);
11528
0
      if (!pv_spec) {
11529
0
        yyerror("Can't get from cache: %s", (yyvsp[0].strval));
11530
0
        YYABORT;
11531
0
      }
11532
0
      (yyval.pvar)=pv_spec;
11533
0
    }
11534
0
#line 11535 "core/cfg.tab.c"
11535
0
    break;
11536
11537
0
  case 807:
11538
0
#line 3326 "core/cfg.y"
11539
0
                            {
11540
0
        lval_tmp=pkg_malloc(sizeof(*lval_tmp));
11541
0
        if (!lval_tmp) {
11542
0
          yyerror("Not enough memory");
11543
0
          YYABORT;
11544
0
        }
11545
0
        memset(lval_tmp, 0, sizeof(*lval_tmp));
11546
0
        s_tmp.s=(yyvsp[0].strval); s_tmp.len=strlen(s_tmp.s);
11547
0
        lval_tmp->lv.pvs = pv_cache_get(&s_tmp);
11548
0
        if (lval_tmp->lv.pvs==NULL){
11549
0
          lval_tmp->lv.avps.type|= AVP_NAME_STR;
11550
0
          lval_tmp->lv.avps.name.s.s = s_tmp.s+1;
11551
0
          lval_tmp->lv.avps.name.s.len = s_tmp.len-1;
11552
0
          lval_tmp->type=LV_AVP;
11553
0
        }else{
11554
0
          lval_tmp->type=LV_PVAR;
11555
0
        }
11556
0
        (yyval.lval) = lval_tmp;
11557
0
        DBG("parsed ambiguous avp/pvar \"%.*s\" to %d\n",
11558
0
              s_tmp.len, s_tmp.s, lval_tmp->type);
11559
0
      }
11560
0
#line 11561 "core/cfg.tab.c"
11561
0
    break;
11562
11563
0
  case 808:
11564
0
#line 3357 "core/cfg.y"
11565
0
              { (yyval.intval) = ASSIGN_T; }
11566
0
#line 11567 "core/cfg.tab.c"
11567
0
    break;
11568
11569
0
  case 809:
11570
0
#line 3361 "core/cfg.y"
11571
0
                  {
11572
0
          lval_tmp=pkg_malloc(sizeof(*lval_tmp));
11573
0
          if (!lval_tmp) {
11574
0
            yyerror("Not enough memory");
11575
0
            YYABORT;
11576
0
          }
11577
0
          lval_tmp->type=LV_AVP; lval_tmp->lv.avps=*(yyvsp[0].attr);
11578
0
          pkg_free((yyvsp[0].attr)); /* free the avp spec we just copied */
11579
0
          (yyval.lval)=lval_tmp;
11580
0
        }
11581
0
#line 11582 "core/cfg.tab.c"
11582
0
    break;
11583
11584
0
  case 810:
11585
0
#line 3371 "core/cfg.y"
11586
0
                      {
11587
0
          if (!pv_is_w((yyvsp[0].pvar)))
11588
0
            yyerror("read only pvar in assignment left side");
11589
0
          if ((yyvsp[0].pvar)->trans!=0)
11590
0
            yyerror("pvar with transformations in assignment"
11591
0
                " left side");
11592
0
          lval_tmp=pkg_malloc(sizeof(*lval_tmp));
11593
0
          if (!lval_tmp) {
11594
0
            yyerror("Not enough memory");
11595
0
            YYABORT;
11596
0
          }
11597
0
          lval_tmp->type=LV_PVAR; lval_tmp->lv.pvs=(yyvsp[0].pvar);
11598
0
          (yyval.lval)=lval_tmp;
11599
0
        }
11600
0
#line 11601 "core/cfg.tab.c"
11601
0
    break;
11602
11603
0
  case 811:
11604
0
#line 3385 "core/cfg.y"
11605
0
                      {
11606
0
          if (((yyvsp[0].lval))->type==LV_PVAR){
11607
0
            if (!pv_is_w((yyvsp[0].lval)->lv.pvs))
11608
0
              yyerror("read only pvar in assignment left side");
11609
0
            if ((yyvsp[0].lval)->lv.pvs->trans!=0)
11610
0
              yyerror("pvar with transformations in assignment"
11611
0
                  " left side");
11612
0
          }
11613
0
          (yyval.lval)=(yyvsp[0].lval);
11614
0
        }
11615
0
#line 11616 "core/cfg.tab.c"
11616
0
    break;
11617
11618
0
  case 812:
11619
0
#line 3397 "core/cfg.y"
11620
0
                                {(yyval.rv_expr)=mk_rve_rval(RV_LONG, (void*)(yyvsp[0].intval)); }
11621
0
#line 11622 "core/cfg.tab.c"
11622
0
    break;
11623
11624
0
  case 813:
11625
0
#line 3398 "core/cfg.y"
11626
0
                                        { s_tmp.s=(yyvsp[0].strval); s_tmp.len=strlen((yyvsp[0].strval));
11627
0
              (yyval.rv_expr)=mk_rve_rval(RV_STR, &s_tmp); }
11628
0
#line 11629 "core/cfg.tab.c"
11629
0
    break;
11630
11631
0
  case 814:
11632
0
#line 3400 "core/cfg.y"
11633
0
                                {(yyval.rv_expr)=mk_rve_rval(RV_AVP, (yyvsp[0].attr)); pkg_free((yyvsp[0].attr)); }
11634
0
#line 11635 "core/cfg.tab.c"
11635
0
    break;
11636
11637
0
  case 815:
11638
0
#line 3401 "core/cfg.y"
11639
0
                                        {(yyval.rv_expr)=mk_rve_rval(RV_PVAR, (yyvsp[0].pvar)); }
11640
0
#line 11641 "core/cfg.tab.c"
11641
0
    break;
11642
11643
0
  case 816:
11644
0
#line 3402 "core/cfg.y"
11645
0
                                        {
11646
0
              switch((yyvsp[0].lval)->type){
11647
0
                case LV_AVP:
11648
0
                  (yyval.rv_expr)=mk_rve_rval(RV_AVP, &(yyvsp[0].lval)->lv.avps);
11649
0
                  break;
11650
0
                case LV_PVAR:
11651
0
                  (yyval.rv_expr)=mk_rve_rval(RV_PVAR, (yyvsp[0].lval)->lv.pvs);
11652
0
                  break;
11653
0
                default:
11654
0
                  yyerror("BUG: invalid lvalue type ");
11655
0
                  YYABORT;
11656
0
              }
11657
0
              pkg_free((yyvsp[0].lval)); /* not needed anymore */
11658
0
            }
11659
0
#line 11660 "core/cfg.tab.c"
11660
0
    break;
11661
11662
0
  case 817:
11663
0
#line 3416 "core/cfg.y"
11664
0
                                        {(yyval.rv_expr)=mk_rve_rval(RV_SEL, (yyvsp[0].select)); pkg_free((yyvsp[0].select)); }
11665
0
#line 11666 "core/cfg.tab.c"
11666
0
    break;
11667
11668
0
  case 818:
11669
0
#line 3417 "core/cfg.y"
11670
0
                                        {(yyval.rv_expr)=mk_rve_rval(RV_ACTION_ST, (yyvsp[0].action)); }
11671
0
#line 11672 "core/cfg.tab.c"
11672
0
    break;
11673
11674
0
  case 819:
11675
0
#line 3418 "core/cfg.y"
11676
0
                   { (yyval.rv_expr)=mk_rve_rval(RV_BEXPR, (yyvsp[0].expr)); }
11677
0
#line 11678 "core/cfg.tab.c"
11678
0
    break;
11679
11680
0
  case 820:
11681
0
#line 3419 "core/cfg.y"
11682
0
                                {(yyval.rv_expr)=mk_rve_rval(RV_ACTION_ST, (yyvsp[-1].action)); }
11683
0
#line 11684 "core/cfg.tab.c"
11684
0
    break;
11685
11686
0
  case 821:
11687
0
#line 3420 "core/cfg.y"
11688
0
                                { (yyval.rv_expr)=0; yyerror("bad command block"); }
11689
0
#line 11690 "core/cfg.tab.c"
11690
0
    break;
11691
11692
0
  case 822:
11693
0
#line 3421 "core/cfg.y"
11694
0
                                        {(yyval.rv_expr)=mk_rve_rval(RV_ACTION_ST, (yyvsp[-1].action)); }
11695
0
#line 11696 "core/cfg.tab.c"
11696
0
    break;
11697
11698
0
  case 823:
11699
0
#line 3422 "core/cfg.y"
11700
0
                                { (yyval.rv_expr)=0; yyerror("bad expression"); }
11701
0
#line 11702 "core/cfg.tab.c"
11702
0
    break;
11703
11704
0
  case 824:
11705
0
#line 3426 "core/cfg.y"
11706
0
                { (yyval.intval)=RVE_LNOT_OP; }
11707
0
#line 11708 "core/cfg.tab.c"
11708
0
    break;
11709
11710
0
  case 825:
11711
0
#line 3427 "core/cfg.y"
11712
0
                                { (yyval.intval)=RVE_BNOT_OP; }
11713
0
#line 11714 "core/cfg.tab.c"
11714
0
    break;
11715
11716
0
  case 826:
11717
0
#line 3428 "core/cfg.y"
11718
0
                                        { (yyval.intval)=RVE_UMINUS_OP; }
11719
0
#line 11720 "core/cfg.tab.c"
11720
0
    break;
11721
11722
0
  case 827:
11723
0
#line 3441 "core/cfg.y"
11724
0
                                                        { (yyval.rv_expr)=(yyvsp[0].rv_expr);
11725
0
                    if ((yyval.rv_expr)==0){
11726
                      /*yyerror("out of memory\n");*/
11727
0
                      YYERROR;
11728
0
                    }
11729
0
                  }
11730
0
#line 11731 "core/cfg.tab.c"
11731
0
    break;
11732
11733
0
  case 828:
11734
0
#line 3447 "core/cfg.y"
11735
0
                                                        {(yyval.rv_expr)=mk_rve1((yyvsp[-1].intval), (yyvsp[0].rv_expr)); }
11736
0
#line 11737 "core/cfg.tab.c"
11737
0
    break;
11738
11739
0
  case 829:
11740
0
#line 3448 "core/cfg.y"
11741
0
                                                                {(yyval.rv_expr)=mk_rve1(RVE_LONG_OP, (yyvsp[0].rv_expr)); }
11742
0
#line 11743 "core/cfg.tab.c"
11743
0
    break;
11744
11745
0
  case 830:
11746
0
#line 3449 "core/cfg.y"
11747
0
                                                                {(yyval.rv_expr)=mk_rve1(RVE_STR_OP, (yyvsp[0].rv_expr)); }
11748
0
#line 11749 "core/cfg.tab.c"
11749
0
    break;
11750
11751
0
  case 831:
11752
0
#line 3450 "core/cfg.y"
11753
0
                                                        {(yyval.rv_expr)=mk_rve2(RVE_PLUS_OP, (yyvsp[-2].rv_expr), (yyvsp[0].rv_expr)); }
11754
0
#line 11755 "core/cfg.tab.c"
11755
0
    break;
11756
11757
0
  case 832:
11758
0
#line 3451 "core/cfg.y"
11759
0
                                                        {(yyval.rv_expr)=mk_rve2(RVE_MINUS_OP, (yyvsp[-2].rv_expr), (yyvsp[0].rv_expr)); }
11760
0
#line 11761 "core/cfg.tab.c"
11761
0
    break;
11762
11763
0
  case 833:
11764
0
#line 3452 "core/cfg.y"
11765
0
                                                        {(yyval.rv_expr)=mk_rve2(RVE_MUL_OP, (yyvsp[-2].rv_expr), (yyvsp[0].rv_expr)); }
11766
0
#line 11767 "core/cfg.tab.c"
11767
0
    break;
11768
11769
0
  case 834:
11770
0
#line 3453 "core/cfg.y"
11771
0
                                                        {(yyval.rv_expr)=mk_rve2(RVE_DIV_OP, (yyvsp[-2].rv_expr), (yyvsp[0].rv_expr)); }
11772
0
#line 11773 "core/cfg.tab.c"
11773
0
    break;
11774
11775
0
  case 835:
11776
0
#line 3454 "core/cfg.y"
11777
0
                                                {(yyval.rv_expr)=mk_rve2(RVE_MOD_OP, (yyvsp[-2].rv_expr), (yyvsp[0].rv_expr)); }
11778
0
#line 11779 "core/cfg.tab.c"
11779
0
    break;
11780
11781
0
  case 836:
11782
0
#line 3455 "core/cfg.y"
11783
0
                                                {(yyval.rv_expr)=mk_rve2(RVE_BOR_OP, (yyvsp[-2].rv_expr),  (yyvsp[0].rv_expr)); }
11784
0
#line 11785 "core/cfg.tab.c"
11785
0
    break;
11786
11787
0
  case 837:
11788
0
#line 3456 "core/cfg.y"
11789
0
                                                {(yyval.rv_expr)=mk_rve2(RVE_BAND_OP, (yyvsp[-2].rv_expr),  (yyvsp[0].rv_expr));}
11790
0
#line 11791 "core/cfg.tab.c"
11791
0
    break;
11792
11793
0
  case 838:
11794
0
#line 3457 "core/cfg.y"
11795
0
                                                {(yyval.rv_expr)=mk_rve2(RVE_BXOR_OP, (yyvsp[-2].rv_expr),  (yyvsp[0].rv_expr));}
11796
0
#line 11797 "core/cfg.tab.c"
11797
0
    break;
11798
11799
0
  case 839:
11800
0
#line 3458 "core/cfg.y"
11801
0
                                                 {(yyval.rv_expr)=mk_rve2(RVE_BLSHIFT_OP, (yyvsp[-2].rv_expr),  (yyvsp[0].rv_expr));}
11802
0
#line 11803 "core/cfg.tab.c"
11803
0
    break;
11804
11805
0
  case 840:
11806
0
#line 3459 "core/cfg.y"
11807
0
                                                 {(yyval.rv_expr)=mk_rve2(RVE_BRSHIFT_OP, (yyvsp[-2].rv_expr),  (yyvsp[0].rv_expr));}
11808
0
#line 11809 "core/cfg.tab.c"
11809
0
    break;
11810
11811
0
  case 841:
11812
0
#line 3460 "core/cfg.y"
11813
0
                                                         { (yyval.rv_expr)=mk_rve2( (yyvsp[-1].intval), (yyvsp[-2].rv_expr), (yyvsp[0].rv_expr));}
11814
0
#line 11815 "core/cfg.tab.c"
11815
0
    break;
11816
11817
0
  case 842:
11818
0
#line 3461 "core/cfg.y"
11819
0
                                                                {
11820
      /* comparing with $null => treat as defined or !defined */
11821
0
      if((yyvsp[0].rv_expr) != NULL && (yyvsp[0].rv_expr)->op==RVE_RVAL_OP && (yyvsp[0].rv_expr)->left.rval.type==RV_PVAR
11822
0
          && (yyvsp[0].rv_expr)->left.rval.v.pvs.type==PVT_NULL) {
11823
0
        if((yyvsp[-1].intval)==RVE_DIFF_OP || (yyvsp[-1].intval)==RVE_IDIFF_OP
11824
0
            || (yyvsp[-1].intval)==RVE_STRDIFF_OP) {
11825
0
          DBG("comparison with $null switched to notdefined operator\n");
11826
0
          (yyval.rv_expr)=mk_rve1(RVE_DEFINED_OP, (yyvsp[-2].rv_expr));
11827
0
        } else {
11828
0
          DBG("comparison with $null switched to defined operator\n");
11829
0
          (yyval.rv_expr)=mk_rve1(RVE_NOTDEFINED_OP, (yyvsp[-2].rv_expr));
11830
0
        }
11831
        /* free rve struct for $null */
11832
0
        rve_destroy((yyvsp[0].rv_expr));
11833
0
      } else {
11834
0
        (yyval.rv_expr)=mk_rve2((yyvsp[-1].intval), (yyvsp[-2].rv_expr), (yyvsp[0].rv_expr));
11835
0
      }
11836
0
    }
11837
0
#line 11838 "core/cfg.tab.c"
11838
0
    break;
11839
11840
0
  case 843:
11841
0
#line 3479 "core/cfg.y"
11842
0
                                                { (yyval.rv_expr)=mk_rve2(RVE_LAND_OP, (yyvsp[-2].rv_expr), (yyvsp[0].rv_expr));}
11843
0
#line 11844 "core/cfg.tab.c"
11844
0
    break;
11845
11846
0
  case 844:
11847
0
#line 3480 "core/cfg.y"
11848
0
                                                { (yyval.rv_expr)=mk_rve2(RVE_LOR_OP, (yyvsp[-2].rv_expr), (yyvsp[0].rv_expr));}
11849
0
#line 11850 "core/cfg.tab.c"
11850
0
    break;
11851
11852
0
  case 845:
11853
0
#line 3481 "core/cfg.y"
11854
0
                                                        { (yyval.rv_expr)=(yyvsp[-1].rv_expr);}
11855
0
#line 11856 "core/cfg.tab.c"
11856
0
    break;
11857
11858
0
  case 846:
11859
0
#line 3482 "core/cfg.y"
11860
0
                                                 { (yyval.rv_expr)=mk_rve1(RVE_STRLEN_OP, (yyvsp[-1].rv_expr));}
11861
0
#line 11862 "core/cfg.tab.c"
11862
0
    break;
11863
11864
0
  case 847:
11865
0
#line 3483 "core/cfg.y"
11866
0
                                                   {(yyval.rv_expr)=mk_rve1(RVE_STREMPTY_OP, (yyvsp[-1].rv_expr));}
11867
0
#line 11868 "core/cfg.tab.c"
11868
0
    break;
11869
11870
0
  case 848:
11871
0
#line 3484 "core/cfg.y"
11872
0
                                                                { (yyval.rv_expr)=mk_rve1(RVE_DEFINED_OP, (yyvsp[0].rv_expr));}
11873
0
#line 11874 "core/cfg.tab.c"
11874
0
    break;
11875
11876
0
  case 849:
11877
0
#line 3485 "core/cfg.y"
11878
0
                                                                                 {
11879
0
        rve_tmp=mk_rve2(RVE_SELVALOPT_OP, (yyvsp[-3].rv_expr), (yyvsp[-1].rv_expr));
11880
0
        if(rve_tmp == NULL) {
11881
0
          (yyval.rv_expr)=0;
11882
0
          yyerror("failed to create tenary target expression");
11883
0
        }
11884
0
        (yyval.rv_expr)=mk_rve2(RVE_SELVALEXP_OP, (yyvsp[-5].rv_expr), rve_tmp);
11885
0
    }
11886
0
#line 11887 "core/cfg.tab.c"
11887
0
    break;
11888
11889
0
  case 850:
11890
0
#line 3493 "core/cfg.y"
11891
0
                                                        { (yyval.rv_expr)=0; yyerror("bad expression"); }
11892
0
#line 11893 "core/cfg.tab.c"
11893
0
    break;
11894
11895
0
  case 851:
11896
0
#line 3494 "core/cfg.y"
11897
0
                                                                { (yyval.rv_expr)=0; yyerror("bad expression"); }
11898
0
#line 11899 "core/cfg.tab.c"
11899
0
    break;
11900
11901
0
  case 852:
11902
0
#line 3495 "core/cfg.y"
11903
0
                                                                { (yyval.rv_expr)=0; yyerror("bad expression"); }
11904
0
#line 11905 "core/cfg.tab.c"
11905
0
    break;
11906
11907
0
  case 853:
11908
0
#line 3496 "core/cfg.y"
11909
0
                                                        { (yyval.rv_expr)=0; yyerror("bad expression"); }
11910
0
#line 11911 "core/cfg.tab.c"
11911
0
    break;
11912
11913
0
  case 854:
11914
0
#line 3497 "core/cfg.y"
11915
0
                                                        { (yyval.rv_expr)=0; yyerror("bad expression"); }
11916
0
#line 11917 "core/cfg.tab.c"
11917
0
    break;
11918
11919
0
  case 855:
11920
0
#line 3498 "core/cfg.y"
11921
0
                                                        { (yyval.rv_expr)=0; yyerror("bad expression"); }
11922
0
#line 11923 "core/cfg.tab.c"
11923
0
    break;
11924
11925
0
  case 856:
11926
0
#line 3499 "core/cfg.y"
11927
0
                                                        { (yyval.rv_expr)=0; yyerror("bad expression"); }
11928
0
#line 11929 "core/cfg.tab.c"
11929
0
    break;
11930
11931
0
  case 857:
11932
0
#line 3500 "core/cfg.y"
11933
0
                                                                { (yyval.rv_expr)=0; yyerror("bad expression"); }
11934
0
#line 11935 "core/cfg.tab.c"
11935
0
    break;
11936
11937
0
  case 858:
11938
0
#line 3501 "core/cfg.y"
11939
0
                                                        { (yyval.rv_expr)=0; yyerror("bad expression"); }
11940
0
#line 11941 "core/cfg.tab.c"
11941
0
    break;
11942
11943
0
  case 859:
11944
0
#line 3502 "core/cfg.y"
11945
0
                                                        { (yyval.rv_expr)=0; yyerror("bad expression"); }
11946
0
#line 11947 "core/cfg.tab.c"
11947
0
    break;
11948
11949
0
  case 860:
11950
0
#line 3504 "core/cfg.y"
11951
0
                        { (yyval.rv_expr)=0; yyerror("bad expression"); }
11952
0
#line 11953 "core/cfg.tab.c"
11953
0
    break;
11954
11955
0
  case 861:
11956
0
#line 3506 "core/cfg.y"
11957
0
                        { (yyval.rv_expr)=0; yyerror("bad expression"); }
11958
0
#line 11959 "core/cfg.tab.c"
11959
0
    break;
11960
11961
0
  case 862:
11962
0
#line 3507 "core/cfg.y"
11963
0
                                                        { (yyval.rv_expr)=0; yyerror("bad expression"); }
11964
0
#line 11965 "core/cfg.tab.c"
11965
0
    break;
11966
11967
0
  case 863:
11968
0
#line 3508 "core/cfg.y"
11969
0
                                                        { (yyval.rv_expr)=0; yyerror("bad expression"); }
11970
0
#line 11971 "core/cfg.tab.c"
11971
0
    break;
11972
11973
0
  case 864:
11974
0
#line 3509 "core/cfg.y"
11975
0
                                                { (yyval.rv_expr)=0; yyerror("bad expression"); }
11976
0
#line 11977 "core/cfg.tab.c"
11977
0
    break;
11978
11979
0
  case 865:
11980
0
#line 3510 "core/cfg.y"
11981
0
                                                { (yyval.rv_expr)=0; yyerror("bad expression"); }
11982
0
#line 11983 "core/cfg.tab.c"
11983
0
    break;
11984
11985
0
  case 866:
11986
0
#line 3511 "core/cfg.y"
11987
0
                                                { (yyval.rv_expr)=0; yyerror("bad expression"); }
11988
0
#line 11989 "core/cfg.tab.c"
11989
0
    break;
11990
11991
0
  case 867:
11992
0
#line 3512 "core/cfg.y"
11993
0
                                                                { (yyval.rv_expr)=0; yyerror("bad expression"); }
11994
0
#line 11995 "core/cfg.tab.c"
11995
0
    break;
11996
11997
0
  case 868:
11998
0
#line 3515 "core/cfg.y"
11999
0
                                                { (yyval.action)=mk_action((yyvsp[-1].intval), 2, LVAL_ST, (yyvsp[-2].lval),
12000
0
                                RVE_ST, (yyvsp[0].rv_expr));
12001
0
                      set_cfg_pos((yyval.action));
12002
0
                    }
12003
0
#line 12004 "core/cfg.tab.c"
12004
0
    break;
12005
12006
0
  case 869:
12007
0
#line 3533 "core/cfg.y"
12008
0
                   { (yyval.intval) = 1; }
12009
0
#line 12010 "core/cfg.tab.c"
12010
0
    break;
12011
12012
0
  case 870:
12013
0
#line 3534 "core/cfg.y"
12014
0
                       { (yyval.intval) = 0; }
12015
0
#line 12016 "core/cfg.tab.c"
12016
0
    break;
12017
12018
0
  case 871:
12019
0
#line 3535 "core/cfg.y"
12020
0
                       { (yyval.intval) = -1; }
12021
0
#line 12022 "core/cfg.tab.c"
12022
0
    break;
12023
12024
0
  case 872:
12025
0
#line 3538 "core/cfg.y"
12026
0
                              { (yyval.action)=mk_action(FORWARD_T, 2, URIHOST_ST, 0, URIPORT_ST, 0); set_cfg_pos((yyval.action)); }
12027
0
#line 12028 "core/cfg.tab.c"
12028
0
    break;
12029
12030
0
  case 873:
12031
0
#line 3539 "core/cfg.y"
12032
0
                                        { (yyval.action)=mk_action( FORWARD_T, 2, STRING_ST, (yyvsp[-1].strval), NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12033
0
#line 12034 "core/cfg.tab.c"
12034
0
    break;
12035
12036
0
  case 874:
12037
0
#line 3540 "core/cfg.y"
12038
0
                                        { (yyval.action)=mk_action( FORWARD_T, 2, STRING_ST, (yyvsp[-1].strval), NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12039
0
#line 12040 "core/cfg.tab.c"
12040
0
    break;
12041
12042
0
  case 875:
12043
0
#line 3541 "core/cfg.y"
12044
0
                                        { (yyval.action)=mk_action( FORWARD_T, 2, IP_ST, (void*)(yyvsp[-1].ipaddr), NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12045
0
#line 12046 "core/cfg.tab.c"
12046
0
    break;
12047
12048
0
  case 876:
12049
0
#line 3542 "core/cfg.y"
12050
0
                                                  { (yyval.action)=mk_action(FORWARD_T, 2, STRING_ST, (yyvsp[-3].strval), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12051
0
#line 12052 "core/cfg.tab.c"
12052
0
    break;
12053
12054
0
  case 877:
12055
0
#line 3543 "core/cfg.y"
12056
0
                                                    {(yyval.action)=mk_action(FORWARD_T, 2, STRING_ST, (yyvsp[-3].strval), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12057
0
#line 12058 "core/cfg.tab.c"
12058
0
    break;
12059
12060
0
  case 878:
12061
0
#line 3544 "core/cfg.y"
12062
0
                                                { (yyval.action)=mk_action(FORWARD_T, 2, IP_ST, (void*)(yyvsp[-3].ipaddr), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12063
0
#line 12064 "core/cfg.tab.c"
12064
0
    break;
12065
12066
0
  case 879:
12067
0
#line 3545 "core/cfg.y"
12068
0
                                                      { (yyval.action)=mk_action(FORWARD_T, 2, URIHOST_ST, 0, URIPORT_ST, 0); set_cfg_pos((yyval.action)); }
12069
0
#line 12070 "core/cfg.tab.c"
12070
0
    break;
12071
12072
0
  case 880:
12073
0
#line 3546 "core/cfg.y"
12074
0
                                                     {(yyval.action)=mk_action(FORWARD_T, 2, URIHOST_ST, 0, NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12075
0
#line 12076 "core/cfg.tab.c"
12076
0
    break;
12077
12078
0
  case 881:
12079
0
#line 3547 "core/cfg.y"
12080
0
                                        { (yyval.action)=mk_action(FORWARD_T, 2, URIHOST_ST, 0, NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12081
0
#line 12082 "core/cfg.tab.c"
12082
0
    break;
12083
12084
0
  case 882:
12085
0
#line 3548 "core/cfg.y"
12086
0
                        { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12087
0
#line 12088 "core/cfg.tab.c"
12088
0
    break;
12089
12090
0
  case 883:
12091
0
#line 3549 "core/cfg.y"
12092
0
                                      { (yyval.action)=0; yyerror("bad forward argument"); }
12093
0
#line 12094 "core/cfg.tab.c"
12094
0
    break;
12095
12096
0
  case 884:
12097
0
#line 3550 "core/cfg.y"
12098
0
                                                { (yyval.action)=mk_action(FORWARD_UDP_T, 2, STRING_ST, (yyvsp[-1].strval), NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12099
0
#line 12100 "core/cfg.tab.c"
12100
0
    break;
12101
12102
0
  case 885:
12103
0
#line 3551 "core/cfg.y"
12104
0
                                                { (yyval.action)=mk_action(FORWARD_UDP_T, 2, STRING_ST, (yyvsp[-1].strval), NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12105
0
#line 12106 "core/cfg.tab.c"
12106
0
    break;
12107
12108
0
  case 886:
12109
0
#line 3552 "core/cfg.y"
12110
0
                                        { (yyval.action)=mk_action(FORWARD_UDP_T, 2, IP_ST, (void*)(yyvsp[-1].ipaddr), NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12111
0
#line 12112 "core/cfg.tab.c"
12112
0
    break;
12113
12114
0
  case 887:
12115
0
#line 3553 "core/cfg.y"
12116
0
                                                      { (yyval.action)=mk_action(FORWARD_UDP_T, 2, STRING_ST, (yyvsp[-3].strval), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12117
0
#line 12118 "core/cfg.tab.c"
12118
0
    break;
12119
12120
0
  case 888:
12121
0
#line 3554 "core/cfg.y"
12122
0
                                                        {(yyval.action)=mk_action(FORWARD_UDP_T, 2, STRING_ST, (yyvsp[-3].strval), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12123
0
#line 12124 "core/cfg.tab.c"
12124
0
    break;
12125
12126
0
  case 889:
12127
0
#line 3555 "core/cfg.y"
12128
0
                                                    { (yyval.action)=mk_action(FORWARD_UDP_T, 2, IP_ST, (void*)(yyvsp[-3].ipaddr), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12129
0
#line 12130 "core/cfg.tab.c"
12130
0
    break;
12131
12132
0
  case 890:
12133
0
#line 3556 "core/cfg.y"
12134
0
                                                          {(yyval.action)=mk_action(FORWARD_UDP_T, 2, URIHOST_ST, 0, URIPORT_ST, 0); set_cfg_pos((yyval.action)); }
12135
0
#line 12136 "core/cfg.tab.c"
12136
0
    break;
12137
12138
0
  case 891:
12139
0
#line 3557 "core/cfg.y"
12140
0
                                                         { (yyval.action)=mk_action(FORWARD_UDP_T, 2, URIHOST_ST, 0, NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12141
0
#line 12142 "core/cfg.tab.c"
12142
0
    break;
12143
12144
0
  case 892:
12145
0
#line 3558 "core/cfg.y"
12146
0
                                            { (yyval.action)=mk_action(FORWARD_UDP_T, 2, URIHOST_ST, 0, NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12147
0
#line 12148 "core/cfg.tab.c"
12148
0
    break;
12149
12150
0
  case 893:
12151
0
#line 3559 "core/cfg.y"
12152
0
                            { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12153
0
#line 12154 "core/cfg.tab.c"
12154
0
    break;
12155
12156
0
  case 894:
12157
0
#line 3560 "core/cfg.y"
12158
0
                                          { (yyval.action)=0; yyerror("bad forward_udp argument"); }
12159
0
#line 12160 "core/cfg.tab.c"
12160
0
    break;
12161
12162
0
  case 895:
12163
0
#line 3561 "core/cfg.y"
12164
0
                                                { (yyval.action)=mk_action(FORWARD_TCP_T, 2, STRING_ST, (yyvsp[-1].strval), NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12165
0
#line 12166 "core/cfg.tab.c"
12166
0
    break;
12167
12168
0
  case 896:
12169
0
#line 3562 "core/cfg.y"
12170
0
                                                { (yyval.action)=mk_action(FORWARD_TCP_T, 2, STRING_ST, (yyvsp[-1].strval), NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12171
0
#line 12172 "core/cfg.tab.c"
12172
0
    break;
12173
12174
0
  case 897:
12175
0
#line 3563 "core/cfg.y"
12176
0
                                        { (yyval.action)=mk_action(FORWARD_TCP_T, 2, IP_ST, (void*)(yyvsp[-1].ipaddr), NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12177
0
#line 12178 "core/cfg.tab.c"
12178
0
    break;
12179
12180
0
  case 898:
12181
0
#line 3564 "core/cfg.y"
12182
0
                                                      { (yyval.action)=mk_action(FORWARD_TCP_T, 2, STRING_ST, (yyvsp[-3].strval), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12183
0
#line 12184 "core/cfg.tab.c"
12184
0
    break;
12185
12186
0
  case 899:
12187
0
#line 3565 "core/cfg.y"
12188
0
                                                        {(yyval.action)=mk_action(FORWARD_TCP_T, 2, STRING_ST, (yyvsp[-3].strval), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12189
0
#line 12190 "core/cfg.tab.c"
12190
0
    break;
12191
12192
0
  case 900:
12193
0
#line 3566 "core/cfg.y"
12194
0
                                                    { (yyval.action)=mk_action(FORWARD_TCP_T, 2, IP_ST, (void*)(yyvsp[-3].ipaddr), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12195
0
#line 12196 "core/cfg.tab.c"
12196
0
    break;
12197
12198
0
  case 901:
12199
0
#line 3567 "core/cfg.y"
12200
0
                                                          {(yyval.action)=mk_action(FORWARD_TCP_T, 2, URIHOST_ST, 0, URIPORT_ST, 0); set_cfg_pos((yyval.action)); }
12201
0
#line 12202 "core/cfg.tab.c"
12202
0
    break;
12203
12204
0
  case 902:
12205
0
#line 3568 "core/cfg.y"
12206
0
                                                         { (yyval.action)=mk_action(FORWARD_TCP_T, 2, URIHOST_ST, 0, NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12207
0
#line 12208 "core/cfg.tab.c"
12208
0
    break;
12209
12210
0
  case 903:
12211
0
#line 3569 "core/cfg.y"
12212
0
                                            { (yyval.action)=mk_action(FORWARD_TCP_T, 2, URIHOST_ST, 0, NUMBER_ST, 0); set_cfg_pos((yyval.action)); }
12213
0
#line 12214 "core/cfg.tab.c"
12214
0
    break;
12215
12216
0
  case 904:
12217
0
#line 3570 "core/cfg.y"
12218
0
                            { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12219
0
#line 12220 "core/cfg.tab.c"
12220
0
    break;
12221
12222
0
  case 905:
12223
0
#line 3571 "core/cfg.y"
12224
0
                                          { (yyval.action)=0; yyerror("bad forward_tcp argument"); }
12225
0
#line 12226 "core/cfg.tab.c"
12226
0
    break;
12227
12228
0
  case 906:
12229
0
#line 3572 "core/cfg.y"
12230
0
                                         {
12231
0
    #ifdef USE_TLS
12232
0
      (yyval.action)=mk_action(FORWARD_TLS_T, 2, STRING_ST, (yyvsp[-1].strval), NUMBER_ST, 0); set_cfg_pos((yyval.action));
12233
    #else
12234
      (yyval.action)=0;
12235
      yyerror("tls support not compiled in");
12236
    #endif
12237
0
  }
12238
0
#line 12239 "core/cfg.tab.c"
12239
0
    break;
12240
12241
0
  case 907:
12242
0
#line 3580 "core/cfg.y"
12243
0
                                           {
12244
0
    #ifdef USE_TLS
12245
0
      (yyval.action)=mk_action(FORWARD_TLS_T, 2, STRING_ST, (yyvsp[-1].strval), NUMBER_ST, 0); set_cfg_pos((yyval.action));
12246
    #else
12247
      (yyval.action)=0;
12248
      yyerror("tls support not compiled in");
12249
    #endif
12250
0
  }
12251
0
#line 12252 "core/cfg.tab.c"
12252
0
    break;
12253
12254
0
  case 908:
12255
0
#line 3588 "core/cfg.y"
12256
0
                                        {
12257
0
    #ifdef USE_TLS
12258
0
      (yyval.action)=mk_action(FORWARD_TLS_T, 2, IP_ST, (void*)(yyvsp[-1].ipaddr), NUMBER_ST, 0); set_cfg_pos((yyval.action));
12259
    #else
12260
      (yyval.action)=0;
12261
      yyerror("tls support not compiled in");
12262
    #endif
12263
0
  }
12264
0
#line 12265 "core/cfg.tab.c"
12265
0
    break;
12266
12267
0
  case 909:
12268
0
#line 3596 "core/cfg.y"
12269
0
                                                      {
12270
0
    #ifdef USE_TLS
12271
0
      (yyval.action)=mk_action(FORWARD_TLS_T, 2, STRING_ST, (yyvsp[-3].strval), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action));
12272
    #else
12273
      (yyval.action)=0;
12274
      yyerror("tls support not compiled in");
12275
    #endif
12276
0
  }
12277
0
#line 12278 "core/cfg.tab.c"
12278
0
    break;
12279
12280
0
  case 910:
12281
0
#line 3604 "core/cfg.y"
12282
0
                                                        {
12283
0
    #ifdef USE_TLS
12284
0
      (yyval.action)=mk_action(FORWARD_TLS_T, 2, STRING_ST, (yyvsp[-3].strval), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action));
12285
    #else
12286
      (yyval.action)=0;
12287
      yyerror("tls support not compiled in");
12288
    #endif
12289
0
  }
12290
0
#line 12291 "core/cfg.tab.c"
12291
0
    break;
12292
12293
0
  case 911:
12294
0
#line 3612 "core/cfg.y"
12295
0
                                                    {
12296
0
    #ifdef USE_TLS
12297
0
      (yyval.action)=mk_action(FORWARD_TLS_T, 2, IP_ST, (void*)(yyvsp[-3].ipaddr), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action));
12298
    #else
12299
      (yyval.action)=0;
12300
      yyerror("tls support not compiled in");
12301
    #endif
12302
0
          }
12303
0
#line 12304 "core/cfg.tab.c"
12304
0
    break;
12305
12306
0
  case 912:
12307
0
#line 3620 "core/cfg.y"
12308
0
                                                          {
12309
0
    #ifdef USE_TLS
12310
0
      (yyval.action)=mk_action(FORWARD_TLS_T, 2, URIHOST_ST, 0, URIPORT_ST, 0); set_cfg_pos((yyval.action));
12311
    #else
12312
      (yyval.action)=0;
12313
      yyerror("tls support not compiled in");
12314
    #endif
12315
0
  }
12316
0
#line 12317 "core/cfg.tab.c"
12317
0
    break;
12318
12319
0
  case 913:
12320
0
#line 3628 "core/cfg.y"
12321
0
                                                         {
12322
0
    #ifdef USE_TLS
12323
0
      (yyval.action)=mk_action(FORWARD_TLS_T, 2, URIHOST_ST, 0, NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action));
12324
    #else
12325
      (yyval.action)=0;
12326
      yyerror("tls support not compiled in");
12327
    #endif
12328
0
  }
12329
0
#line 12330 "core/cfg.tab.c"
12330
0
    break;
12331
12332
0
  case 914:
12333
0
#line 3636 "core/cfg.y"
12334
0
                                            {
12335
0
    #ifdef USE_TLS
12336
0
      (yyval.action)=mk_action(FORWARD_TLS_T, 2, URIHOST_ST, 0, NUMBER_ST, 0); set_cfg_pos((yyval.action));
12337
    #else
12338
      (yyval.action)=0;
12339
      yyerror("tls support not compiled in");
12340
    #endif
12341
0
  }
12342
0
#line 12343 "core/cfg.tab.c"
12343
0
    break;
12344
12345
0
  case 915:
12346
0
#line 3644 "core/cfg.y"
12347
0
                            { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12348
0
#line 12349 "core/cfg.tab.c"
12349
0
    break;
12350
12351
0
  case 916:
12352
0
#line 3645 "core/cfg.y"
12353
0
                                          { (yyval.action)=0;
12354
0
                  yyerror("bad forward_tls argument"); }
12355
0
#line 12356 "core/cfg.tab.c"
12356
0
    break;
12357
12358
0
  case 917:
12359
0
#line 3647 "core/cfg.y"
12360
0
                                          {
12361
0
    #ifdef USE_SCTP
12362
0
      (yyval.action)=mk_action(FORWARD_SCTP_T, 2, STRING_ST, (yyvsp[-1].strval), NUMBER_ST, 0); set_cfg_pos((yyval.action));
12363
    #else
12364
      (yyval.action)=0;
12365
      yyerror("sctp support not compiled in");
12366
    #endif
12367
0
  }
12368
0
#line 12369 "core/cfg.tab.c"
12369
0
    break;
12370
12371
0
  case 918:
12372
0
#line 3655 "core/cfg.y"
12373
0
                                            {
12374
0
    #ifdef USE_SCTP
12375
0
      (yyval.action)=mk_action(FORWARD_SCTP_T, 2, STRING_ST, (yyvsp[-1].strval), NUMBER_ST, 0); set_cfg_pos((yyval.action));
12376
    #else
12377
      (yyval.action)=0;
12378
      yyerror("sctp support not compiled in");
12379
    #endif
12380
0
  }
12381
0
#line 12382 "core/cfg.tab.c"
12382
0
    break;
12383
12384
0
  case 919:
12385
0
#line 3663 "core/cfg.y"
12386
0
                                        {
12387
0
    #ifdef USE_SCTP
12388
0
      (yyval.action)=mk_action(FORWARD_SCTP_T, 2, IP_ST, (void*)(yyvsp[-1].ipaddr), NUMBER_ST, 0); set_cfg_pos((yyval.action));
12389
    #else
12390
      (yyval.action)=0;
12391
      yyerror("sctp support not compiled in");
12392
    #endif
12393
0
  }
12394
0
#line 12395 "core/cfg.tab.c"
12395
0
    break;
12396
12397
0
  case 920:
12398
0
#line 3671 "core/cfg.y"
12399
0
                                                       {
12400
0
    #ifdef USE_SCTP
12401
0
      (yyval.action)=mk_action(FORWARD_SCTP_T, 2, STRING_ST, (yyvsp[-3].strval), NUMBER_ST,
12402
0
              (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action));
12403
    #else
12404
      (yyval.action)=0;
12405
      yyerror("sctp support not compiled in");
12406
    #endif
12407
0
  }
12408
0
#line 12409 "core/cfg.tab.c"
12409
0
    break;
12410
12411
0
  case 921:
12412
0
#line 3680 "core/cfg.y"
12413
0
                                                         {
12414
0
    #ifdef USE_SCTP
12415
0
      (yyval.action)=mk_action(FORWARD_SCTP_T, 2, STRING_ST, (yyvsp[-3].strval), NUMBER_ST,
12416
0
              (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action));
12417
    #else
12418
      (yyval.action)=0;
12419
      yyerror("sctp support not compiled in");
12420
    #endif
12421
0
  }
12422
0
#line 12423 "core/cfg.tab.c"
12423
0
    break;
12424
12425
0
  case 922:
12426
0
#line 3689 "core/cfg.y"
12427
0
                                                     {
12428
0
    #ifdef USE_SCTP
12429
0
      (yyval.action)=mk_action(FORWARD_SCTP_T, 2, IP_ST, (void*)(yyvsp[-3].ipaddr), NUMBER_ST,
12430
0
              (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action));
12431
    #else
12432
      (yyval.action)=0;
12433
      yyerror("sctp support not compiled in");
12434
    #endif
12435
0
          }
12436
0
#line 12437 "core/cfg.tab.c"
12437
0
    break;
12438
12439
0
  case 923:
12440
0
#line 3698 "core/cfg.y"
12441
0
                                                           {
12442
0
    #ifdef USE_SCTP
12443
0
      (yyval.action)=mk_action(FORWARD_SCTP_T, 2, URIHOST_ST, 0, URIPORT_ST, 0); set_cfg_pos((yyval.action));
12444
    #else
12445
      (yyval.action)=0;
12446
      yyerror("sctp support not compiled in");
12447
    #endif
12448
0
  }
12449
0
#line 12450 "core/cfg.tab.c"
12450
0
    break;
12451
12452
0
  case 924:
12453
0
#line 3706 "core/cfg.y"
12454
0
                                                          {
12455
0
    #ifdef USE_SCTP
12456
0
      (yyval.action)=mk_action(FORWARD_SCTP_T, 2, URIHOST_ST, 0, NUMBER_ST,
12457
0
              (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action));
12458
    #else
12459
      (yyval.action)=0;
12460
      yyerror("sctp support not compiled in");
12461
    #endif
12462
0
  }
12463
0
#line 12464 "core/cfg.tab.c"
12464
0
    break;
12465
12466
0
  case 925:
12467
0
#line 3715 "core/cfg.y"
12468
0
                                             {
12469
0
    #ifdef USE_SCTP
12470
0
      (yyval.action)=mk_action(FORWARD_SCTP_T, 2, URIHOST_ST, 0, NUMBER_ST, 0); set_cfg_pos((yyval.action));
12471
    #else
12472
      (yyval.action)=0;
12473
      yyerror("tls support not compiled in");
12474
    #endif
12475
0
  }
12476
0
#line 12477 "core/cfg.tab.c"
12477
0
    break;
12478
12479
0
  case 926:
12480
0
#line 3723 "core/cfg.y"
12481
0
                             { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12482
0
#line 12483 "core/cfg.tab.c"
12483
0
    break;
12484
12485
0
  case 927:
12486
0
#line 3724 "core/cfg.y"
12487
0
                                           { (yyval.action)=0;
12488
0
                  yyerror("bad forward_sctp argument"); }
12489
0
#line 12490 "core/cfg.tab.c"
12490
0
    break;
12491
12492
0
  case 928:
12493
0
#line 3726 "core/cfg.y"
12494
0
                                        {(yyval.action)=mk_action(LOG_T, 2, NUMBER_ST,
12495
0
                    (void*)(L_DBG+1), STRING_ST, (yyvsp[-1].strval));
12496
0
                  set_cfg_pos((yyval.action)); }
12497
0
#line 12498 "core/cfg.tab.c"
12498
0
    break;
12499
12500
0
  case 929:
12501
0
#line 3729 "core/cfg.y"
12502
0
                                                        {(yyval.action)=mk_action(LOG_T, 2, NUMBER_ST, (void*)(yyvsp[-3].intval), STRING_ST, (yyvsp[-1].strval)); set_cfg_pos((yyval.action)); }
12503
0
#line 12504 "core/cfg.tab.c"
12504
0
    break;
12505
12506
0
  case 930:
12507
0
#line 3730 "core/cfg.y"
12508
0
                                        { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12509
0
#line 12510 "core/cfg.tab.c"
12510
0
    break;
12511
12512
0
  case 931:
12513
0
#line 3731 "core/cfg.y"
12514
0
                                        { (yyval.action)=0; yyerror("bad log argument"); }
12515
0
#line 12516 "core/cfg.tab.c"
12516
0
    break;
12517
12518
0
  case 932:
12519
0
#line 3732 "core/cfg.y"
12520
0
                                        {
12521
0
              if (check_flag((yyvsp[-1].intval))==-1)
12522
0
                yyerror("bad flag value");
12523
0
              (yyval.action)=mk_action(SETFLAG_T, 1, NUMBER_ST,
12524
0
                          (void*)(yyvsp[-1].intval));
12525
0
              set_cfg_pos((yyval.action));
12526
0
                  }
12527
0
#line 12528 "core/cfg.tab.c"
12528
0
    break;
12529
12530
0
  case 933:
12531
0
#line 3739 "core/cfg.y"
12532
0
                                                {
12533
0
              i_tmp=get_flag_no((yyvsp[-1].strval), strlen((yyvsp[-1].strval)));
12534
0
              if (i_tmp<0) yyerror("flag not declared");
12535
0
              (yyval.action)=mk_action(SETFLAG_T, 1, NUMBER_ST,
12536
0
                    (void*)(long)i_tmp);
12537
0
              set_cfg_pos((yyval.action));
12538
0
                  }
12539
0
#line 12540 "core/cfg.tab.c"
12540
0
    break;
12541
12542
0
  case 934:
12543
0
#line 3746 "core/cfg.y"
12544
0
                                        { (yyval.action)=0; yyerror("missing '(' or ')'?"); }
12545
0
#line 12546 "core/cfg.tab.c"
12546
0
    break;
12547
12548
0
  case 935:
12549
0
#line 3747 "core/cfg.y"
12550
0
                                         {
12551
0
              if (check_flag((yyvsp[-1].intval))==-1)
12552
0
                yyerror("bad flag value");
12553
0
              (yyval.action)=mk_action(RESETFLAG_T, 1, NUMBER_ST, (void*)(yyvsp[-1].intval));
12554
0
              set_cfg_pos((yyval.action));
12555
0
                  }
12556
0
#line 12557 "core/cfg.tab.c"
12557
0
    break;
12558
12559
0
  case 936:
12560
0
#line 3753 "core/cfg.y"
12561
0
                                                {
12562
0
              i_tmp=get_flag_no((yyvsp[-1].strval), strlen((yyvsp[-1].strval)));
12563
0
              if (i_tmp<0) yyerror("flag not declared");
12564
0
              (yyval.action)=mk_action(RESETFLAG_T, 1, NUMBER_ST,
12565
0
                    (void*)(long)i_tmp);
12566
0
              set_cfg_pos((yyval.action));
12567
0
                  }
12568
0
#line 12569 "core/cfg.tab.c"
12569
0
    break;
12570
12571
0
  case 937:
12572
0
#line 3760 "core/cfg.y"
12573
0
                                        { (yyval.action)=0; yyerror("missing '(' or ')'?"); }
12574
0
#line 12575 "core/cfg.tab.c"
12575
0
    break;
12576
12577
0
  case 938:
12578
0
#line 3761 "core/cfg.y"
12579
0
                                         {
12580
0
              if (check_flag((yyvsp[-1].intval))==-1)
12581
0
                yyerror("bad flag value");
12582
0
              (yyval.action)=mk_action(ISFLAGSET_T, 1, NUMBER_ST, (void*)(yyvsp[-1].intval));
12583
0
              set_cfg_pos((yyval.action));
12584
0
                  }
12585
0
#line 12586 "core/cfg.tab.c"
12586
0
    break;
12587
12588
0
  case 939:
12589
0
#line 3767 "core/cfg.y"
12590
0
                                                {
12591
0
              i_tmp=get_flag_no((yyvsp[-1].strval), strlen((yyvsp[-1].strval)));
12592
0
              if (i_tmp<0) yyerror("flag not declared");
12593
0
              (yyval.action)=mk_action(ISFLAGSET_T, 1, NUMBER_ST,
12594
0
                    (void*)(long)i_tmp);
12595
0
              set_cfg_pos((yyval.action));
12596
0
                  }
12597
0
#line 12598 "core/cfg.tab.c"
12598
0
    break;
12599
12600
0
  case 940:
12601
0
#line 3774 "core/cfg.y"
12602
0
                          { (yyval.action)=0; yyerror("missing '(' or ')'?"); }
12603
0
#line 12604 "core/cfg.tab.c"
12604
0
    break;
12605
12606
0
  case 941:
12607
0
#line 3775 "core/cfg.y"
12608
0
                                                                     {
12609
0
    i_tmp=get_avpflag_no((yyvsp[-1].strval));
12610
0
    if (i_tmp==0) yyerror("avpflag not declared");
12611
0
    (yyval.action)=mk_action(AVPFLAG_OPER_T, 3, AVP_ST, (yyvsp[-3].attr), NUMBER_ST, (void*)(long)i_tmp, NUMBER_ST, (void*)(yyvsp[-5].intval));
12612
0
    set_cfg_pos((yyval.action));
12613
0
  }
12614
0
#line 12615 "core/cfg.tab.c"
12615
0
    break;
12616
12617
0
  case 942:
12618
0
#line 3781 "core/cfg.y"
12619
0
                                                                 {
12620
0
    (yyval.action)=0; yyerror("error parsing flag name");
12621
0
  }
12622
0
#line 12623 "core/cfg.tab.c"
12623
0
    break;
12624
12625
0
  case 943:
12626
0
#line 3784 "core/cfg.y"
12627
0
                                                           {
12628
0
    (yyval.action)=0; yyerror("error parsing first parameter (avp or string)");
12629
0
  }
12630
0
#line 12631 "core/cfg.tab.c"
12631
0
    break;
12632
12633
0
  case 944:
12634
0
#line 3787 "core/cfg.y"
12635
0
                                           { (yyval.action)=0; yyerror("bad parameters"); }
12636
0
#line 12637 "core/cfg.tab.c"
12637
0
    break;
12638
12639
0
  case 945:
12640
0
#line 3788 "core/cfg.y"
12641
0
                             { (yyval.action)=0; yyerror("missing '(' or ')'?"); }
12642
0
#line 12643 "core/cfg.tab.c"
12643
0
    break;
12644
12645
0
  case 946:
12646
0
#line 3789 "core/cfg.y"
12647
0
                                                  {(yyval.action)=mk_action(ERROR_T, 2, STRING_ST, (yyvsp[-3].strval), STRING_ST, (yyvsp[-1].strval));
12648
0
      set_cfg_pos((yyval.action));
12649
0
  }
12650
0
#line 12651 "core/cfg.tab.c"
12651
0
    break;
12652
12653
0
  case 947:
12654
0
#line 3792 "core/cfg.y"
12655
0
                      { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12656
0
#line 12657 "core/cfg.tab.c"
12657
0
    break;
12658
12659
0
  case 948:
12660
0
#line 3793 "core/cfg.y"
12661
0
                                    { (yyval.action)=0; yyerror("bad error argument"); }
12662
0
#line 12663 "core/cfg.tab.c"
12663
0
    break;
12664
12665
0
  case 949:
12666
0
#line 3794 "core/cfg.y"
12667
0
                                        {
12668
0
    if ((yyvsp[-1].rv_expr)) {
12669
0
      (yyval.action) = mk_action(ROUTE_T, 1, RVE_ST, (void*)(yyvsp[-1].rv_expr));
12670
0
      set_cfg_pos((yyval.action));
12671
0
    } else {
12672
0
      (yyval.action) = 0;
12673
0
      YYERROR;
12674
0
    }
12675
0
  }
12676
0
#line 12677 "core/cfg.tab.c"
12677
0
    break;
12678
12679
0
  case 950:
12680
0
#line 3803 "core/cfg.y"
12681
0
                                        {
12682
0
    if ((yyvsp[-1].strval)) {
12683
0
      (yyval.action) = mk_action(ROUTE_T, 1, STRING_ST, (void*)(yyvsp[-1].strval));
12684
0
      set_cfg_pos((yyval.action));
12685
0
    } else {
12686
0
      (yyval.action) = 0;
12687
0
      YYERROR;
12688
0
    }
12689
0
  }
12690
0
#line 12691 "core/cfg.tab.c"
12691
0
    break;
12692
12693
0
  case 951:
12694
0
#line 3812 "core/cfg.y"
12695
0
                      { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12696
0
#line 12697 "core/cfg.tab.c"
12697
0
    break;
12698
12699
0
  case 952:
12700
0
#line 3813 "core/cfg.y"
12701
0
                                    { (yyval.action)=0; yyerror("bad route argument"); }
12702
0
#line 12703 "core/cfg.tab.c"
12703
0
    break;
12704
12705
0
  case 953:
12706
0
#line 3814 "core/cfg.y"
12707
0
                                        { (yyval.action)=mk_action(EXEC_T, 1, STRING_ST, (yyvsp[-1].strval)); set_cfg_pos((yyval.action)); }
12708
0
#line 12709 "core/cfg.tab.c"
12709
0
    break;
12710
12711
0
  case 954:
12712
0
#line 3815 "core/cfg.y"
12713
0
                                        { (yyval.action)=mk_action(SET_HOST_T, 1, STRING_ST, (yyvsp[-1].strval)); set_cfg_pos((yyval.action)); }
12714
0
#line 12715 "core/cfg.tab.c"
12715
0
    break;
12716
12717
0
  case 955:
12718
0
#line 3816 "core/cfg.y"
12719
0
                         { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12720
0
#line 12721 "core/cfg.tab.c"
12721
0
    break;
12722
12723
0
  case 956:
12724
0
#line 3817 "core/cfg.y"
12725
0
                                       { (yyval.action)=0; yyerror("bad argument, string expected"); }
12726
0
#line 12727 "core/cfg.tab.c"
12727
0
    break;
12728
12729
0
  case 957:
12730
0
#line 3818 "core/cfg.y"
12731
0
                                      { (yyval.action)=mk_action(PREFIX_T, 1, STRING_ST,  (yyvsp[-1].strval)); set_cfg_pos((yyval.action)); }
12732
0
#line 12733 "core/cfg.tab.c"
12733
0
    break;
12734
12735
0
  case 958:
12736
0
#line 3819 "core/cfg.y"
12737
0
                       { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12738
0
#line 12739 "core/cfg.tab.c"
12739
0
    break;
12740
12741
0
  case 959:
12742
0
#line 3820 "core/cfg.y"
12743
0
                                     { (yyval.action)=0; yyerror("bad argument, string expected"); }
12744
0
#line 12745 "core/cfg.tab.c"
12745
0
    break;
12746
12747
0
  case 960:
12748
0
#line 3821 "core/cfg.y"
12749
0
                                          { (yyval.action)=mk_action(STRIP_TAIL_T, 1, NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12750
0
#line 12751 "core/cfg.tab.c"
12751
0
    break;
12752
12753
0
  case 961:
12754
0
#line 3822 "core/cfg.y"
12755
0
                           { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12756
0
#line 12757 "core/cfg.tab.c"
12757
0
    break;
12758
12759
0
  case 962:
12760
0
#line 3823 "core/cfg.y"
12761
0
                                         { (yyval.action)=0; yyerror("bad argument, number expected"); }
12762
0
#line 12763 "core/cfg.tab.c"
12763
0
    break;
12764
12765
0
  case 963:
12766
0
#line 3824 "core/cfg.y"
12767
0
                                     { (yyval.action)=mk_action(STRIP_T, 1, NUMBER_ST, (void*) (yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
12768
0
#line 12769 "core/cfg.tab.c"
12769
0
    break;
12770
12771
0
  case 964:
12772
0
#line 3825 "core/cfg.y"
12773
0
                      { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12774
0
#line 12775 "core/cfg.tab.c"
12775
0
    break;
12776
12777
0
  case 965:
12778
0
#line 3826 "core/cfg.y"
12779
0
                                    { (yyval.action)=0; yyerror("bad argument, number expected"); }
12780
0
#line 12781 "core/cfg.tab.c"
12781
0
    break;
12782
12783
0
  case 966:
12784
0
#line 3827 "core/cfg.y"
12785
0
                                      { (yyval.action)=mk_action(SET_USERPHONE_T, 0); set_cfg_pos((yyval.action)); }
12786
0
#line 12787 "core/cfg.tab.c"
12787
0
    break;
12788
12789
0
  case 967:
12790
0
#line 3828 "core/cfg.y"
12791
0
                              { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12792
0
#line 12793 "core/cfg.tab.c"
12793
0
    break;
12794
12795
0
  case 968:
12796
0
#line 3829 "core/cfg.y"
12797
0
                                            {
12798
0
      (yyval.action)=mk_action(REMOVE_BRANCH_T, 1, NUMBER_ST, (void*)(yyvsp[-1].intval));
12799
0
      set_cfg_pos((yyval.action));
12800
0
  }
12801
0
#line 12802 "core/cfg.tab.c"
12802
0
    break;
12803
12804
0
  case 969:
12805
0
#line 3833 "core/cfg.y"
12806
0
                                      {
12807
0
      (yyval.action)=mk_action(REMOVE_BRANCH_T, 0);
12808
0
      set_cfg_pos((yyval.action));
12809
0
  }
12810
0
#line 12811 "core/cfg.tab.c"
12811
0
    break;
12812
12813
0
  case 970:
12814
0
#line 3837 "core/cfg.y"
12815
0
                              { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12816
0
#line 12817 "core/cfg.tab.c"
12817
0
    break;
12818
12819
0
  case 971:
12820
0
#line 3838 "core/cfg.y"
12821
0
                                            { (yyval.action)=0; yyerror("bad argument, number expected"); }
12822
0
#line 12823 "core/cfg.tab.c"
12823
0
    break;
12824
12825
0
  case 972:
12826
0
#line 3839 "core/cfg.y"
12827
0
                                       { (yyval.action)=mk_action(CLEAR_BRANCHES_T, 0); set_cfg_pos((yyval.action)); }
12828
0
#line 12829 "core/cfg.tab.c"
12829
0
    break;
12830
12831
0
  case 973:
12832
0
#line 3840 "core/cfg.y"
12833
0
                                            { (yyval.action)=mk_action(SET_HOSTPORT_T, 1, STRING_ST, (yyvsp[-1].strval)); set_cfg_pos((yyval.action)); }
12834
0
#line 12835 "core/cfg.tab.c"
12835
0
    break;
12836
12837
0
  case 974:
12838
0
#line 3841 "core/cfg.y"
12839
0
                             { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12840
0
#line 12841 "core/cfg.tab.c"
12841
0
    break;
12842
12843
0
  case 975:
12844
0
#line 3842 "core/cfg.y"
12845
0
                                           { (yyval.action)=0; yyerror("bad argument, string expected"); }
12846
0
#line 12847 "core/cfg.tab.c"
12847
0
    break;
12848
12849
0
  case 976:
12850
0
#line 3843 "core/cfg.y"
12851
0
                                                 { (yyval.action)=mk_action(SET_HOSTPORTTRANS_T, 1, STRING_ST, (yyvsp[-1].strval)); set_cfg_pos((yyval.action)); }
12852
0
#line 12853 "core/cfg.tab.c"
12853
0
    break;
12854
12855
0
  case 977:
12856
0
#line 3844 "core/cfg.y"
12857
0
                                  { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12858
0
#line 12859 "core/cfg.tab.c"
12859
0
    break;
12860
12861
0
  case 978:
12862
0
#line 3845 "core/cfg.y"
12863
0
                                                { (yyval.action)=0; yyerror("bad argument, string expected"); }
12864
0
#line 12865 "core/cfg.tab.c"
12865
0
    break;
12866
12867
0
  case 979:
12868
0
#line 3846 "core/cfg.y"
12869
0
                                        { (yyval.action)=mk_action(SET_PORT_T, 1, STRING_ST, (yyvsp[-1].strval)); set_cfg_pos((yyval.action)); }
12870
0
#line 12871 "core/cfg.tab.c"
12871
0
    break;
12872
12873
0
  case 980:
12874
0
#line 3847 "core/cfg.y"
12875
0
                         { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12876
0
#line 12877 "core/cfg.tab.c"
12877
0
    break;
12878
12879
0
  case 981:
12880
0
#line 3848 "core/cfg.y"
12881
0
                                       { (yyval.action)=0; yyerror("bad argument, string expected"); }
12882
0
#line 12883 "core/cfg.tab.c"
12883
0
    break;
12884
12885
0
  case 982:
12886
0
#line 3849 "core/cfg.y"
12887
0
                                        { (yyval.action)=mk_action(SET_USER_T, 1, STRING_ST, (yyvsp[-1].strval)); set_cfg_pos((yyval.action)); }
12888
0
#line 12889 "core/cfg.tab.c"
12889
0
    break;
12890
12891
0
  case 983:
12892
0
#line 3850 "core/cfg.y"
12893
0
                         { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12894
0
#line 12895 "core/cfg.tab.c"
12895
0
    break;
12896
12897
0
  case 984:
12898
0
#line 3851 "core/cfg.y"
12899
0
                                       { (yyval.action)=0; yyerror("bad argument, string expected"); }
12900
0
#line 12901 "core/cfg.tab.c"
12901
0
    break;
12902
12903
0
  case 985:
12904
0
#line 3852 "core/cfg.y"
12905
0
                                            { (yyval.action)=mk_action(SET_USERPASS_T, 1, STRING_ST, (yyvsp[-1].strval)); set_cfg_pos((yyval.action)); }
12906
0
#line 12907 "core/cfg.tab.c"
12907
0
    break;
12908
12909
0
  case 986:
12910
0
#line 3853 "core/cfg.y"
12911
0
                             { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12912
0
#line 12913 "core/cfg.tab.c"
12913
0
    break;
12914
12915
0
  case 987:
12916
0
#line 3854 "core/cfg.y"
12917
0
                                           { (yyval.action)=0; yyerror("bad argument, string expected"); }
12918
0
#line 12919 "core/cfg.tab.c"
12919
0
    break;
12920
12921
0
  case 988:
12922
0
#line 3855 "core/cfg.y"
12923
0
                                       { (yyval.action)=mk_action(SET_URI_T, 1, STRING_ST,(yyvsp[-1].strval)); set_cfg_pos((yyval.action)); }
12924
0
#line 12925 "core/cfg.tab.c"
12925
0
    break;
12926
12927
0
  case 989:
12928
0
#line 3856 "core/cfg.y"
12929
0
                        { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
12930
0
#line 12931 "core/cfg.tab.c"
12931
0
    break;
12932
12933
0
  case 990:
12934
0
#line 3857 "core/cfg.y"
12935
0
                                      { (yyval.action)=0; yyerror("bad argument, string expected"); }
12936
0
#line 12937 "core/cfg.tab.c"
12937
0
    break;
12938
12939
0
  case 991:
12940
0
#line 3858 "core/cfg.y"
12941
0
                                   { (yyval.action)=mk_action(REVERT_URI_T, 0); set_cfg_pos((yyval.action)); }
12942
0
#line 12943 "core/cfg.tab.c"
12943
0
    break;
12944
12945
0
  case 992:
12946
0
#line 3859 "core/cfg.y"
12947
0
                     { (yyval.action)=mk_action(REVERT_URI_T, 0); set_cfg_pos((yyval.action)); }
12948
0
#line 12949 "core/cfg.tab.c"
12949
0
    break;
12950
12951
0
  case 993:
12952
0
#line 3860 "core/cfg.y"
12953
0
                                        { (yyval.action)=mk_action(FORCE_RPORT_T, 0); set_cfg_pos((yyval.action)); }
12954
0
#line 12955 "core/cfg.tab.c"
12955
0
    break;
12956
12957
0
  case 994:
12958
0
#line 3861 "core/cfg.y"
12959
0
                        {(yyval.action)=mk_action(FORCE_RPORT_T, 0); set_cfg_pos((yyval.action)); }
12960
0
#line 12961 "core/cfg.tab.c"
12961
0
    break;
12962
12963
0
  case 995:
12964
0
#line 3862 "core/cfg.y"
12965
0
                                        { (yyval.action)=mk_action(ADD_LOCAL_RPORT_T, 0); set_cfg_pos((yyval.action)); }
12966
0
#line 12967 "core/cfg.tab.c"
12967
0
    break;
12968
12969
0
  case 996:
12970
0
#line 3863 "core/cfg.y"
12971
0
                                {(yyval.action)=mk_action(ADD_LOCAL_RPORT_T, 0); set_cfg_pos((yyval.action)); }
12972
0
#line 12973 "core/cfg.tab.c"
12973
0
    break;
12974
12975
0
  case 997:
12976
0
#line 3864 "core/cfg.y"
12977
0
                                                {
12978
0
    #ifdef USE_TCP
12979
0
      (yyval.action)=mk_action(FORCE_TCP_ALIAS_T, 1, NUMBER_ST, (void*)(yyvsp[-1].intval));
12980
0
      set_cfg_pos((yyval.action));
12981
    #else
12982
      yyerror("tcp support not compiled in");
12983
    #endif
12984
0
  }
12985
0
#line 12986 "core/cfg.tab.c"
12986
0
    break;
12987
12988
0
  case 998:
12989
0
#line 3872 "core/cfg.y"
12990
0
                                        {
12991
0
    #ifdef USE_TCP
12992
0
      (yyval.action)=mk_action(FORCE_TCP_ALIAS_T, 0);
12993
0
      set_cfg_pos((yyval.action));
12994
    #else
12995
      yyerror("tcp support not compiled in");
12996
    #endif
12997
0
  }
12998
0
#line 12999 "core/cfg.tab.c"
12999
0
    break;
13000
13001
0
  case 999:
13002
0
#line 3880 "core/cfg.y"
13003
0
                                                        {
13004
0
    #ifdef USE_TCP
13005
0
      (yyval.action)=mk_action(FORCE_TCP_ALIAS_T, 0);
13006
0
      set_cfg_pos((yyval.action));
13007
    #else
13008
      yyerror("tcp support not compiled in");
13009
    #endif
13010
0
  }
13011
0
#line 13012 "core/cfg.tab.c"
13012
0
    break;
13013
13014
0
  case 1000:
13015
0
#line 3888 "core/cfg.y"
13016
0
                                                {(yyval.action)=0; yyerror("bad argument, number expected"); }
13017
0
#line 13018 "core/cfg.tab.c"
13018
0
    break;
13019
13020
0
  case 1001:
13021
0
#line 3890 "core/cfg.y"
13022
0
                { (yyval.action)=mk_action(UDP_MTU_TRY_PROTO_T, 1, NUMBER_ST, (yyvsp[-1].intval)); set_cfg_pos((yyval.action)); }
13023
0
#line 13024 "core/cfg.tab.c"
13024
0
    break;
13025
13026
0
  case 1002:
13027
0
#line 3892 "core/cfg.y"
13028
0
                { (yyval.action)=0; yyerror("bad argument, UDP, TCP, TLS or SCTP expected"); }
13029
0
#line 13030 "core/cfg.tab.c"
13030
0
    break;
13031
13032
0
  case 1003:
13033
0
#line 3893 "core/cfg.y"
13034
0
                                                  {
13035
0
    (yyval.action)=0;
13036
0
    if ((str_tmp=pkg_malloc(sizeof(str)))==0) {
13037
0
      PKG_MEM_CRITICAL;
13038
0
    } else {
13039
0
      str_tmp->s=(yyvsp[-1].strval);
13040
0
      str_tmp->len=(yyvsp[-1].strval)?strlen((yyvsp[-1].strval)):0;
13041
0
      (yyval.action)=mk_action(SET_ADV_ADDR_T, 1, STR_ST, str_tmp);
13042
0
      set_cfg_pos((yyval.action));
13043
0
    }
13044
0
  }
13045
0
#line 13046 "core/cfg.tab.c"
13046
0
    break;
13047
13048
0
  case 1004:
13049
0
#line 3904 "core/cfg.y"
13050
0
                                              { (yyval.action)=0; yyerror("bad argument, string expected"); }
13051
0
#line 13052 "core/cfg.tab.c"
13052
0
    break;
13053
13054
0
  case 1005:
13055
0
#line 3905 "core/cfg.y"
13056
0
                                {(yyval.action)=0; yyerror("missing '(' or ')' ?"); }
13057
0
#line 13058 "core/cfg.tab.c"
13058
0
    break;
13059
13060
0
  case 1006:
13061
0
#line 3906 "core/cfg.y"
13062
0
                                            {
13063
0
    (yyval.action)=0;
13064
0
    tmp=int2str((yyvsp[-1].intval), &i_tmp);
13065
0
    if ((str_tmp=pkg_malloc(sizeof(str)))==0) {
13066
0
      PKG_MEM_CRITICAL;
13067
0
    } else {
13068
0
      if ((str_tmp->s=pkg_malloc(i_tmp))==0) {
13069
0
        PKG_MEM_CRITICAL;
13070
0
      } else {
13071
0
        memcpy(str_tmp->s, tmp, i_tmp);
13072
0
        str_tmp->len=i_tmp;
13073
0
        (yyval.action)=mk_action(SET_ADV_PORT_T, 1, STR_ST, str_tmp);
13074
0
        set_cfg_pos((yyval.action));
13075
0
      }
13076
0
    }
13077
0
  }
13078
0
#line 13079 "core/cfg.tab.c"
13079
0
    break;
13080
13081
0
  case 1007:
13082
0
#line 3922 "core/cfg.y"
13083
0
                                           { (yyval.action)=0; yyerror("bad argument, string expected"); }
13084
0
#line 13085 "core/cfg.tab.c"
13085
0
    break;
13086
13087
0
  case 1008:
13088
0
#line 3923 "core/cfg.y"
13089
0
                              {(yyval.action)=0; yyerror("missing '(' or ')' ?"); }
13090
0
#line 13091 "core/cfg.tab.c"
13091
0
    break;
13092
13093
0
  case 1009:
13094
0
#line 3924 "core/cfg.y"
13095
0
                                                    {
13096
0
    (yyval.action)=mk_action(FORCE_SEND_SOCKET_T, 1, SOCKID_ST, (yyvsp[-1].sockid));
13097
0
    set_cfg_pos((yyval.action));
13098
0
  }
13099
0
#line 13100 "core/cfg.tab.c"
13100
0
    break;
13101
13102
0
  case 1010:
13103
0
#line 3928 "core/cfg.y"
13104
0
                                                {
13105
0
    (yyval.action)=0; yyerror("bad argument, [proto:]host[:port] expected");
13106
0
  }
13107
0
#line 13108 "core/cfg.tab.c"
13108
0
    break;
13109
13110
0
  case 1011:
13111
0
#line 3931 "core/cfg.y"
13112
0
                                  {(yyval.action)=0; yyerror("missing '(' or ')' ?"); }
13113
0
#line 13114 "core/cfg.tab.c"
13114
0
    break;
13115
13116
0
  case 1012:
13117
0
#line 3932 "core/cfg.y"
13118
0
                                                {
13119
0
    (yyval.action)=mk_action(SET_FWD_NO_CONNECT_T, 0); set_cfg_pos((yyval.action));
13120
0
  }
13121
0
#line 13122 "core/cfg.tab.c"
13122
0
    break;
13123
13124
0
  case 1013:
13125
0
#line 3935 "core/cfg.y"
13126
0
                                {
13127
0
    (yyval.action)=mk_action(SET_FWD_NO_CONNECT_T, 0); set_cfg_pos((yyval.action));
13128
0
  }
13129
0
#line 13130 "core/cfg.tab.c"
13130
0
    break;
13131
13132
0
  case 1014:
13133
0
#line 3938 "core/cfg.y"
13134
0
                                                {
13135
0
    (yyval.action)=mk_action(SET_RPL_NO_CONNECT_T, 0); set_cfg_pos((yyval.action));
13136
0
  }
13137
0
#line 13138 "core/cfg.tab.c"
13138
0
    break;
13139
13140
0
  case 1015:
13141
0
#line 3941 "core/cfg.y"
13142
0
                                {
13143
0
    (yyval.action)=mk_action(SET_RPL_NO_CONNECT_T, 0); set_cfg_pos((yyval.action));
13144
0
  }
13145
0
#line 13146 "core/cfg.tab.c"
13146
0
    break;
13147
13148
0
  case 1016:
13149
0
#line 3944 "core/cfg.y"
13150
0
                                        {
13151
0
    (yyval.action)=mk_action(SET_FWD_CLOSE_T, 0); set_cfg_pos((yyval.action));
13152
0
  }
13153
0
#line 13154 "core/cfg.tab.c"
13154
0
    break;
13155
13156
0
  case 1017:
13157
0
#line 3947 "core/cfg.y"
13158
0
                        {
13159
0
    (yyval.action)=mk_action(SET_FWD_CLOSE_T, 0); set_cfg_pos((yyval.action));
13160
0
  }
13161
0
#line 13162 "core/cfg.tab.c"
13162
0
    break;
13163
13164
0
  case 1018:
13165
0
#line 3950 "core/cfg.y"
13166
0
                                        {
13167
0
    (yyval.action)=mk_action(SET_RPL_CLOSE_T, 0); set_cfg_pos((yyval.action));
13168
0
  }
13169
0
#line 13170 "core/cfg.tab.c"
13170
0
    break;
13171
13172
0
  case 1019:
13173
0
#line 3953 "core/cfg.y"
13174
0
                        {
13175
0
    (yyval.action)=mk_action(SET_RPL_CLOSE_T, 0); set_cfg_pos((yyval.action));
13176
0
  }
13177
0
#line 13178 "core/cfg.tab.c"
13178
0
    break;
13179
13180
0
  case 1020:
13181
0
#line 3956 "core/cfg.y"
13182
0
                                                       {
13183
0
    (yyval.action)=mk_action(CFG_SELECT_T, 2, STRING_ST, (yyvsp[-3].strval), NUMBER_ST, (void*)(yyvsp[-1].intval)); set_cfg_pos((yyval.action));
13184
0
  }
13185
0
#line 13186 "core/cfg.tab.c"
13186
0
    break;
13187
13188
0
  case 1021:
13189
0
#line 3959 "core/cfg.y"
13190
0
                                                          {
13191
0
    (yyval.action)=mk_action(CFG_SELECT_T, 2, STRING_ST, (yyvsp[-3].strval), RVE_ST, (yyvsp[-1].rv_expr)); set_cfg_pos((yyval.action));
13192
0
  }
13193
0
#line 13194 "core/cfg.tab.c"
13194
0
    break;
13195
13196
0
  case 1022:
13197
0
#line 3962 "core/cfg.y"
13198
0
                           { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
13199
0
#line 13200 "core/cfg.tab.c"
13200
0
    break;
13201
13202
0
  case 1023:
13203
0
#line 3963 "core/cfg.y"
13204
0
                                         { (yyval.action)=0; yyerror("bad arguments, string and number expected"); }
13205
0
#line 13206 "core/cfg.tab.c"
13206
0
    break;
13207
13208
0
  case 1024:
13209
0
#line 3964 "core/cfg.y"
13210
0
                                         {
13211
0
    (yyval.action)=mk_action(CFG_RESET_T, 1, STRING_ST, (yyvsp[-1].strval)); set_cfg_pos((yyval.action));
13212
0
  }
13213
0
#line 13214 "core/cfg.tab.c"
13214
0
    break;
13215
13216
0
  case 1025:
13217
0
#line 3967 "core/cfg.y"
13218
0
                          { (yyval.action)=0; yyerror("missing '(' or ')' ?"); }
13219
0
#line 13220 "core/cfg.tab.c"
13220
0
    break;
13221
13222
0
  case 1026:
13223
0
#line 3968 "core/cfg.y"
13224
0
                                        { (yyval.action)=0; yyerror("bad arguments, string expected"); }
13225
0
#line 13226 "core/cfg.tab.c"
13226
0
    break;
13227
13228
0
  case 1027:
13229
0
#line 3969 "core/cfg.y"
13230
0
             {
13231
0
    if (mod_func_action != NULL) {
13232
0
      LM_ERR("function used inside params of another function: %s\n", (yyvsp[0].strval));
13233
0
      yyerror("use of function execution inside params not allowed\n");
13234
0
      ksr_exit(-1);
13235
0
    }
13236
0
    mod_func_action = mk_action(MODULE0_T, 2, MODEXP_ST, NULL, NUMBER_ST, 0);
13237
0
    }
13238
0
#line 13239 "core/cfg.tab.c"
13239
0
    break;
13240
13241
0
  case 1028:
13242
0
#line 3976 "core/cfg.y"
13243
0
                                                {
13244
0
    mod_func_action->val[0].u.data =
13245
0
      find_export_record((yyvsp[-4].strval), mod_func_action->val[1].u.number, rt);
13246
0
    if (mod_func_action->val[0].u.data == 0) {
13247
0
      if (find_export_record((yyvsp[-4].strval), mod_func_action->val[1].u.number, 0) ) {
13248
0
          LM_ERR("misused command %s\n", (yyvsp[-4].strval));
13249
0
          yyerror("Command cannot be used in the block\n");
13250
0
      } else {
13251
0
        LM_ERR("cfg. parser: failed to find command %s (params %ld)\n",
13252
0
            (yyvsp[-4].strval), mod_func_action->val[1].u.number);
13253
0
        yyerror("unknown command, missing loadmodule?\n");
13254
0
      }
13255
0
      free_mod_func_action(mod_func_action);
13256
0
      mod_func_action=0;
13257
0
    }else{
13258
0
      if (mod_func_action && mod_f_params_pre_fixup(mod_func_action)<0) {
13259
        /* error messages are printed inside the function */
13260
        /* free_mod_func_action(mod_func_action); */
13261
0
        mod_func_action = 0;
13262
0
        YYERROR;
13263
0
      }
13264
0
    }
13265
0
    (yyval.action) = mod_func_action;
13266
0
    set_cfg_pos((yyval.action));
13267
0
    mod_func_action = NULL;
13268
0
  }
13269
0
#line 13270 "core/cfg.tab.c"
13270
0
    break;
13271
13272
0
  case 1029:
13273
0
#line 4002 "core/cfg.y"
13274
0
                                                        { yyerror("'('')' expected (function call)");}
13275
0
#line 13276 "core/cfg.tab.c"
13276
0
    break;
13277
13278
0
  case 1031:
13279
0
#line 4006 "core/cfg.y"
13280
0
                                       { }
13281
0
#line 13282 "core/cfg.tab.c"
13282
0
    break;
13283
13284
0
  case 1032:
13285
0
#line 4007 "core/cfg.y"
13286
0
                     {}
13287
0
#line 13288 "core/cfg.tab.c"
13288
0
    break;
13289
13290
0
  case 1033:
13291
0
#line 4010 "core/cfg.y"
13292
0
                  {
13293
0
    if ((yyvsp[0].rv_expr) && mod_func_action->val[1].u.number < MAX_ACTIONS-2) {
13294
0
      mod_func_action->val[mod_func_action->val[1].u.number+2].type =
13295
0
        RVE_ST;
13296
0
      mod_func_action->val[mod_func_action->val[1].u.number+2].u.data =
13297
0
        (yyvsp[0].rv_expr);
13298
0
      mod_func_action->val[1].u.number++;
13299
0
    } else if ((yyvsp[0].rv_expr)) {
13300
0
      yyerror("Too many arguments\n");
13301
0
      YYERROR;
13302
0
    } else {
13303
0
      YYERROR;
13304
0
    }
13305
0
  }
13306
0
#line 13307 "core/cfg.tab.c"
13307
0
    break;
13308
13309
0
  case 1034:
13310
0
#line 4027 "core/cfg.y"
13311
0
                                        {
13312
0
    (yyval.action)=mk_action(DROP_T, 2, NUMBER_ST, 0, NUMBER_ST,
13313
0
            (void*)(DROP_R_F|EXIT_R_F)); set_cfg_pos((yyval.action));
13314
0
  }
13315
0
#line 13316 "core/cfg.tab.c"
13316
0
    break;
13317
13318
0
  case 1035:
13319
0
#line 4031 "core/cfg.y"
13320
0
                                {
13321
0
    (yyval.action)=mk_action(DROP_T, 2, RVE_ST, (yyvsp[0].rv_expr), NUMBER_ST,
13322
0
            (void*)(DROP_R_F|EXIT_R_F)); set_cfg_pos((yyval.action));
13323
0
  }
13324
0
#line 13325 "core/cfg.tab.c"
13325
0
    break;
13326
13327
0
  case 1036:
13328
0
#line 4035 "core/cfg.y"
13329
0
                                        {
13330
0
    (yyval.action)=mk_action(DROP_T, 2, NUMBER_ST, 0, NUMBER_ST,
13331
0
            (void*)(DROP_R_F|EXIT_R_F)); set_cfg_pos((yyval.action));
13332
0
  }
13333
0
#line 13334 "core/cfg.tab.c"
13334
0
    break;
13335
13336
0
  case 1037:
13337
0
#line 4039 "core/cfg.y"
13338
0
                                        {
13339
0
    (yyval.action)=mk_action(DROP_T, 2, NUMBER_ST, (void*)1, NUMBER_ST,
13340
0
            (void*)EXIT_R_F);
13341
0
    set_cfg_pos((yyval.action));
13342
0
  }
13343
0
#line 13344 "core/cfg.tab.c"
13344
0
    break;
13345
13346
0
  case 1038:
13347
0
#line 4044 "core/cfg.y"
13348
0
                                {
13349
0
    (yyval.action)=mk_action(DROP_T, 2, RVE_ST, (yyvsp[0].rv_expr), NUMBER_ST, (void*)EXIT_R_F);
13350
0
    set_cfg_pos((yyval.action));
13351
0
  }
13352
0
#line 13353 "core/cfg.tab.c"
13353
0
    break;
13354
13355
0
  case 1039:
13356
0
#line 4048 "core/cfg.y"
13357
0
                                        {
13358
0
    (yyval.action)=mk_action(DROP_T, 2, NUMBER_ST, (void*)1, NUMBER_ST,
13359
0
            (void*)EXIT_R_F);
13360
0
    set_cfg_pos((yyval.action));
13361
0
  }
13362
0
#line 13363 "core/cfg.tab.c"
13363
0
    break;
13364
13365
0
  case 1040:
13366
0
#line 4053 "core/cfg.y"
13367
0
                                        {
13368
0
    (yyval.action)=mk_action(DROP_T, 2, NUMBER_ST, (void*)1, NUMBER_ST,
13369
0
            (void*)RETURN_R_F); set_cfg_pos((yyval.action));
13370
0
  }
13371
0
#line 13372 "core/cfg.tab.c"
13372
0
    break;
13373
13374
0
  case 1041:
13375
0
#line 4057 "core/cfg.y"
13376
0
                                        {
13377
0
    (yyval.action)=mk_action(DROP_T, 2, NUMBER_ST, (void*)1, NUMBER_ST,
13378
0
            (void*)RETURN_R_F); set_cfg_pos((yyval.action));
13379
0
  }
13380
0
#line 13381 "core/cfg.tab.c"
13381
0
    break;
13382
13383
0
  case 1042:
13384
0
#line 4061 "core/cfg.y"
13385
0
                                {
13386
0
    (yyval.action)=mk_action(DROP_T, 2, RVE_ST, (yyvsp[0].rv_expr), NUMBER_ST, (void*)RETURN_R_F);
13387
0
    set_cfg_pos((yyval.action));
13388
0
  }
13389
0
#line 13390 "core/cfg.tab.c"
13390
0
    break;
13391
13392
0
  case 1043:
13393
0
#line 4065 "core/cfg.y"
13394
0
                                        {
13395
0
    (yyval.action)=mk_action(DROP_T, 2, NUMBER_ST, 0, NUMBER_ST, (void*)BREAK_R_F);
13396
0
    set_cfg_pos((yyval.action));
13397
0
  }
13398
0
#line 13399 "core/cfg.tab.c"
13399
0
    break;
13400
13401
13402
0
#line 13403 "core/cfg.tab.c"
13403
13404
0
      default: break;
13405
0
    }
13406
  /* User semantic actions sometimes alter yychar, and that requires
13407
     that yytoken be updated with the new translation.  We take the
13408
     approach of translating immediately before every use of yytoken.
13409
     One alternative is translating here after every semantic action,
13410
     but that translation would be missed if the semantic action invokes
13411
     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
13412
     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
13413
     incorrect destructor might then be invoked immediately.  In the
13414
     case of YYERROR or YYBACKUP, subsequent parser actions might lead
13415
     to an incorrect destructor call or verbose syntax error message
13416
     before the lookahead is translated.  */
13417
0
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
13418
13419
0
  YYPOPSTACK (yylen);
13420
0
  yylen = 0;
13421
0
  YY_STACK_PRINT (yyss, yyssp);
13422
13423
0
  *++yyvsp = yyval;
13424
13425
  /* Now 'shift' the result of the reduction.  Determine what state
13426
     that goes to, based on the state we popped back to and the rule
13427
     number reduced by.  */
13428
0
  {
13429
0
    const int yylhs = yyr1[yyn] - YYNTOKENS;
13430
0
    const int yyi = yypgoto[yylhs] + *yyssp;
13431
0
    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
13432
0
               ? yytable[yyi]
13433
0
               : yydefgoto[yylhs]);
13434
0
  }
13435
13436
0
  goto yynewstate;
13437
13438
13439
/*--------------------------------------.
13440
| yyerrlab -- here on detecting error.  |
13441
`--------------------------------------*/
13442
0
yyerrlab:
13443
  /* Make sure we have latest lookahead translation.  See comments at
13444
     user semantic actions for why this is necessary.  */
13445
0
  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
13446
13447
  /* If not already recovering from an error, report this error.  */
13448
0
  if (!yyerrstatus)
13449
0
    {
13450
0
      ++yynerrs;
13451
0
#if ! YYERROR_VERBOSE
13452
0
      yyerror (YY_("syntax error"));
13453
#else
13454
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
13455
                                        yyssp, yytoken)
13456
      {
13457
        char const *yymsgp = YY_("syntax error");
13458
        int yysyntax_error_status;
13459
        yysyntax_error_status = YYSYNTAX_ERROR;
13460
        if (yysyntax_error_status == 0)
13461
          yymsgp = yymsg;
13462
        else if (yysyntax_error_status == 1)
13463
          {
13464
            if (yymsg != yymsgbuf)
13465
              YYSTACK_FREE (yymsg);
13466
            yymsg = YY_CAST (char *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
13467
            if (!yymsg)
13468
              {
13469
                yymsg = yymsgbuf;
13470
                yymsg_alloc = sizeof yymsgbuf;
13471
                yysyntax_error_status = 2;
13472
              }
13473
            else
13474
              {
13475
                yysyntax_error_status = YYSYNTAX_ERROR;
13476
                yymsgp = yymsg;
13477
              }
13478
          }
13479
        yyerror (yymsgp);
13480
        if (yysyntax_error_status == 2)
13481
          goto yyexhaustedlab;
13482
      }
13483
# undef YYSYNTAX_ERROR
13484
#endif
13485
0
    }
13486
13487
13488
13489
0
  if (yyerrstatus == 3)
13490
0
    {
13491
      /* If just tried and failed to reuse lookahead token after an
13492
         error, discard it.  */
13493
13494
0
      if (yychar <= YYEOF)
13495
0
        {
13496
          /* Return failure if at end of input.  */
13497
0
          if (yychar == YYEOF)
13498
0
            YYABORT;
13499
0
        }
13500
0
      else
13501
0
        {
13502
0
          yydestruct ("Error: discarding",
13503
0
                      yytoken, &yylval);
13504
0
          yychar = YYEMPTY;
13505
0
        }
13506
0
    }
13507
13508
  /* Else will try to reuse lookahead token after shifting the error
13509
     token.  */
13510
0
  goto yyerrlab1;
13511
13512
13513
/*---------------------------------------------------.
13514
| yyerrorlab -- error raised explicitly by YYERROR.  |
13515
`---------------------------------------------------*/
13516
0
yyerrorlab:
13517
  /* Pacify compilers when the user code never invokes YYERROR and the
13518
     label yyerrorlab therefore never appears in user code.  */
13519
0
  if (0)
13520
0
    YYERROR;
13521
13522
  /* Do not reclaim the symbols of the rule whose action triggered
13523
     this YYERROR.  */
13524
0
  YYPOPSTACK (yylen);
13525
0
  yylen = 0;
13526
0
  YY_STACK_PRINT (yyss, yyssp);
13527
0
  yystate = *yyssp;
13528
0
  goto yyerrlab1;
13529
13530
13531
/*-------------------------------------------------------------.
13532
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
13533
`-------------------------------------------------------------*/
13534
0
yyerrlab1:
13535
0
  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
13536
13537
0
  for (;;)
13538
0
    {
13539
0
      yyn = yypact[yystate];
13540
0
      if (!yypact_value_is_default (yyn))
13541
0
        {
13542
0
          yyn += YYTERROR;
13543
0
          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
13544
0
            {
13545
0
              yyn = yytable[yyn];
13546
0
              if (0 < yyn)
13547
0
                break;
13548
0
            }
13549
0
        }
13550
13551
      /* Pop the current state because it cannot handle the error token.  */
13552
0
      if (yyssp == yyss)
13553
0
        YYABORT;
13554
13555
13556
0
      yydestruct ("Error: popping",
13557
0
                  yystos[yystate], yyvsp);
13558
0
      YYPOPSTACK (1);
13559
0
      yystate = *yyssp;
13560
0
      YY_STACK_PRINT (yyss, yyssp);
13561
0
    }
13562
13563
0
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
13564
0
  *++yyvsp = yylval;
13565
0
  YY_IGNORE_MAYBE_UNINITIALIZED_END
13566
13567
13568
  /* Shift the error token.  */
13569
0
  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
13570
13571
0
  yystate = yyn;
13572
0
  goto yynewstate;
13573
13574
13575
/*-------------------------------------.
13576
| yyacceptlab -- YYACCEPT comes here.  |
13577
`-------------------------------------*/
13578
0
yyacceptlab:
13579
0
  yyresult = 0;
13580
0
  goto yyreturn;
13581
13582
13583
/*-----------------------------------.
13584
| yyabortlab -- YYABORT comes here.  |
13585
`-----------------------------------*/
13586
0
yyabortlab:
13587
0
  yyresult = 1;
13588
0
  goto yyreturn;
13589
13590
13591
0
#if !defined yyoverflow || YYERROR_VERBOSE
13592
/*-------------------------------------------------.
13593
| yyexhaustedlab -- memory exhaustion comes here.  |
13594
`-------------------------------------------------*/
13595
0
yyexhaustedlab:
13596
0
  yyerror (YY_("memory exhausted"));
13597
0
  yyresult = 2;
13598
  /* Fall through.  */
13599
0
#endif
13600
13601
13602
/*-----------------------------------------------------.
13603
| yyreturn -- parsing is finished, return the result.  |
13604
`-----------------------------------------------------*/
13605
0
yyreturn:
13606
0
  if (yychar != YYEMPTY)
13607
0
    {
13608
      /* Make sure we have latest lookahead translation.  See comments at
13609
         user semantic actions for why this is necessary.  */
13610
0
      yytoken = YYTRANSLATE (yychar);
13611
0
      yydestruct ("Cleanup: discarding lookahead",
13612
0
                  yytoken, &yylval);
13613
0
    }
13614
  /* Do not reclaim the symbols of the rule whose action triggered
13615
     this YYABORT or YYACCEPT.  */
13616
0
  YYPOPSTACK (yylen);
13617
0
  YY_STACK_PRINT (yyss, yyssp);
13618
0
  while (yyssp != yyss)
13619
0
    {
13620
0
      yydestruct ("Cleanup: popping",
13621
0
                  yystos[+*yyssp], yyvsp);
13622
0
      YYPOPSTACK (1);
13623
0
    }
13624
0
#ifndef yyoverflow
13625
0
  if (yyss != yyssa)
13626
0
    YYSTACK_FREE (yyss);
13627
0
#endif
13628
#if YYERROR_VERBOSE
13629
  if (yymsg != yymsgbuf)
13630
    YYSTACK_FREE (yymsg);
13631
#endif
13632
0
  return yyresult;
13633
0
}
13634
#line 4071 "core/cfg.y"
13635
13636
13637
static void get_cpos(struct cfg_pos* pos)
13638
0
{
13639
0
  pos->s_line=startline;
13640
0
  pos->e_line=line;
13641
0
  pos->s_col=startcolumn;
13642
0
  pos->e_col=column-1;
13643
0
  if(finame==0)
13644
0
    finame = (cfg_file!=0)?cfg_file:"default";
13645
0
  pos->fname=finame;
13646
0
  pos->rname=(routename!=0)?routename:default_routename;
13647
0
}
13648
13649
13650
static void warn_at(struct cfg_pos* p, char* format, ...)
13651
0
{
13652
0
  va_list ap;
13653
0
  char s[256];
13654
13655
0
  va_start(ap, format);
13656
0
  vsnprintf(s, sizeof(s), format, ap);
13657
0
  va_end(ap);
13658
0
  if (p->e_line!=p->s_line)
13659
0
    LM_WARN("warning in config file %s, from line %d, column %d to"
13660
0
          " line %d, column %d: %s\n",
13661
0
          p->fname, p->s_line, p->s_col, p->e_line, p->e_col, s);
13662
0
  else if (p->s_col!=p->e_col)
13663
0
    LM_WARN("warning in config file %s, line %d, column %d-%d: %s\n",
13664
0
          p->fname, p->s_line, p->s_col, p->e_col, s);
13665
0
  else
13666
0
    LM_WARN("warning in config file %s, line %d, column %d: %s\n",
13667
0
        p->fname, p->s_line, p->s_col, s);
13668
0
  cfg_warnings++;
13669
0
}
13670
13671
13672
13673
static void yyerror_at(struct cfg_pos* p, char* format, ...)
13674
0
{
13675
0
  va_list ap;
13676
0
  char s[256];
13677
13678
0
  va_start(ap, format);
13679
0
  vsnprintf(s, sizeof(s), format, ap);
13680
0
  va_end(ap);
13681
0
  if (p->e_line!=p->s_line)
13682
0
    LM_CRIT("parse error in config file %s, from line %d, column %d"
13683
0
          " to line %d, column %d: %s\n",
13684
0
          p->fname, p->s_line, p->s_col, p->e_line, p->e_col, s);
13685
0
  else if (p->s_col!=p->e_col)
13686
0
    LM_CRIT("parse error in config file %s, line %d, column %d-%d: %s\n",
13687
0
          p->fname, p->s_line, p->s_col, p->e_col, s);
13688
0
  else
13689
0
    LM_CRIT("parse error in config file %s, line %d, column %d: %s\n",
13690
0
          p->fname, p->s_line, p->s_col, s);
13691
0
  cfg_errors++;
13692
0
  if(ksr_all_errors==0) {
13693
0
    ksr_exit(-1);
13694
0
  }
13695
0
}
13696
13697
13698
13699
static void warn(char* format, ...)
13700
0
{
13701
0
  va_list ap;
13702
0
  char s[256];
13703
0
  struct cfg_pos pos;
13704
13705
0
  get_cpos(&pos);
13706
0
  va_start(ap, format);
13707
0
  vsnprintf(s, sizeof(s), format, ap);
13708
0
  va_end(ap);
13709
0
  warn_at(&pos, s);
13710
0
}
13711
13712
13713
13714
static void yyerror(char* format, ...)
13715
0
{
13716
0
  va_list ap;
13717
0
  char s[256];
13718
0
  struct cfg_pos pos;
13719
13720
0
  get_cpos(&pos);
13721
0
  va_start(ap, format);
13722
0
  vsnprintf(s, sizeof(s), format, ap);
13723
0
  va_end(ap);
13724
0
  yyerror_at(&pos, s);
13725
0
}
13726
13727
13728
13729
/** mk_rval_expr_v wrapper.
13730
 *  checks mk_rval_expr_v return value and sets the cfg. pos
13731
 *  (line and column numbers)
13732
 *  @return rval_expr* on success, 0 on error (@see mk_rval_expr_v)
13733
 */
13734
static struct rval_expr* mk_rve_rval(enum rval_type type, void* v)
13735
0
{
13736
0
  struct rval_expr* ret;
13737
0
  struct cfg_pos pos;
13738
13739
0
  get_cpos(&pos);
13740
0
  ret=mk_rval_expr_v(type, v, &pos);
13741
0
  if (ret==0){
13742
0
    yyerror("internal error: failed to create rval expr");
13743
    /* YYABORT; */
13744
0
  }
13745
0
  return ret;
13746
0
}
13747
13748
13749
/** mk_rval_expr1 wrapper.
13750
 *  checks mk_rval_expr1 return value (!=0 and type checking)
13751
 *  @return rval_expr* on success, 0 on error (@see mk_rval_expr1)
13752
 */
13753
static struct rval_expr* mk_rve1(enum rval_expr_op op, struct rval_expr* rve1)
13754
0
{
13755
0
  struct rval_expr* ret;
13756
0
  struct rval_expr* bad_rve;
13757
0
  enum rval_type type, bad_t, exp_t;
13758
13759
0
  if (rve1==0)
13760
0
    return 0;
13761
0
  ret=mk_rval_expr1(op, rve1, &rve1->fpos);
13762
0
  if (ret && (rve_check_type(&type, ret, &bad_rve, &bad_t, &exp_t)!=1)){
13763
0
    yyerror_at(&rve1->fpos, "bad expression: type mismatch"
13764
0
          " (%s instead of %s)", rval_type_name(bad_t),
13765
0
          rval_type_name(exp_t));
13766
0
    rve_destroy(ret);
13767
0
    ret=0;
13768
0
  }
13769
0
  return ret;
13770
0
}
13771
13772
13773
/** mk_rval_expr2 wrapper.
13774
 *  checks mk_rval_expr2 return value (!=0 and type checking)
13775
 *  @return rval_expr* on success, 0 on error (@see mk_rval_expr2)
13776
 */
13777
static struct rval_expr* mk_rve2(enum rval_expr_op op, struct rval_expr* rve1,
13778
                  struct rval_expr* rve2)
13779
0
{
13780
0
  struct rval_expr* ret;
13781
0
  struct rval_expr* bad_rve;
13782
0
  enum rval_type type, bad_t, exp_t;
13783
0
  struct cfg_pos pos;
13784
13785
0
  if ((rve1==0) || (rve2==0))
13786
0
    return 0;
13787
0
  bad_rve=0;
13788
0
  bad_t=0;
13789
0
  exp_t=0;
13790
0
  cfg_pos_join(&pos, &rve1->fpos, &rve2->fpos);
13791
0
  ret=mk_rval_expr2(op, rve1, rve2, &pos);
13792
0
  if (ret && (rve_check_type(&type, ret, &bad_rve, &bad_t, &exp_t)!=1)){
13793
0
    if (bad_rve)
13794
0
      yyerror_at(&pos, "bad expression: type mismatch:"
13795
0
            " %s instead of %s at (%d,%d)",
13796
0
            rval_type_name(bad_t), rval_type_name(exp_t),
13797
0
            bad_rve->fpos.s_line, bad_rve->fpos.s_col);
13798
0
    else
13799
0
      yyerror("BUG: unexpected null \"bad\" expression\n");
13800
0
    rve_destroy(ret);
13801
0
    ret=0;
13802
0
  }
13803
0
  return ret;
13804
0
}
13805
13806
13807
/** check if the expression is an int.
13808
 * if the expression does not evaluate to an int return -1 and
13809
 * log an error.
13810
 * @return 0 success, no warnings; 1 success but warnings; -1 on error */
13811
static int rval_expr_int_check(struct rval_expr *rve)
13812
0
{
13813
0
  struct rval_expr* bad_rve;
13814
0
  enum rval_type type, bad_t, exp_t;
13815
13816
0
  if (rve==0){
13817
0
    yyerror("invalid expression");
13818
0
    return -1;
13819
0
  }else if (!rve_check_type(&type, rve, &bad_rve, &bad_t ,&exp_t)){
13820
0
    if (bad_rve)
13821
0
      yyerror_at(&rve->fpos, "bad expression: type mismatch:"
13822
0
            " %s instead of %s at (%d,%d)",
13823
0
            rval_type_name(bad_t), rval_type_name(exp_t),
13824
0
            bad_rve->fpos.s_line, bad_rve->fpos.s_col);
13825
0
    else
13826
0
      yyerror("BUG: unexpected null \"bad\" expression\n");
13827
0
    return -1;
13828
0
  }else if (type!=RV_LONG && type!=RV_NONE){
13829
0
    warn_at(&rve->fpos, "non-int expression (you might want to use"
13830
0
        " casts)\n");
13831
0
    return 1;
13832
0
  }
13833
0
  return 0;
13834
0
}
13835
13836
13837
/** warn if the expression is constant.
13838
 * @return 0 on success (no warning), 1 when warning */
13839
static int warn_ct_rve(struct rval_expr *rve, char* name)
13840
0
{
13841
0
  if (rve && rve_is_constant(rve)){
13842
0
    warn_at(&rve->fpos, "constant value in %s%s",
13843
0
        name?name:"expression", name?"(...)":"");
13844
0
    return 1;
13845
0
  }
13846
0
  return 0;
13847
0
}
13848
13849
13850
static struct name_lst* mk_name_lst(char* host, int flags)
13851
0
{
13852
0
  struct name_lst* l;
13853
0
  if (host==0) return 0;
13854
0
  l=pkg_malloc(sizeof(struct name_lst));
13855
0
  if (l==0) {
13856
0
    PKG_MEM_CRITICAL;
13857
0
  } else {
13858
0
    memset(l, 0, sizeof(struct name_lst));
13859
0
    l->name=host;
13860
0
    l->flags=flags;
13861
0
    l->next=0;
13862
0
  }
13863
0
  return l;
13864
0
}
13865
13866
13867
static struct socket_id* mk_listen_id(char* host, int proto, int port)
13868
0
{
13869
0
  struct socket_id* l;
13870
0
  if (host==0) return 0;
13871
0
  l=pkg_malloc(sizeof(struct socket_id));
13872
0
  if (l==0) {
13873
0
    PKG_MEM_CRITICAL;
13874
0
  } else {
13875
0
    memset(l, 0, sizeof(struct socket_id));
13876
0
    l->addr_lst=mk_name_lst(host, 0);
13877
0
    if (l->addr_lst==0){
13878
0
      pkg_free(l);
13879
0
      return 0;
13880
0
    }
13881
0
    l->flags=0;
13882
0
    l->port=port;
13883
0
    l->proto=proto;
13884
0
    l->next=0;
13885
0
  }
13886
0
  return l;
13887
0
}
13888
13889
13890
static void free_name_lst(struct name_lst* lst)
13891
0
{
13892
0
  struct name_lst* tmp;
13893
13894
0
  while(lst){
13895
0
    tmp=lst;
13896
0
    lst=lst->next;
13897
0
    pkg_free(tmp);
13898
0
  }
13899
0
}
13900
13901
13902
static struct socket_id* mk_listen_id2(struct name_lst* addr_l, int proto,
13903
                    int port)
13904
0
{
13905
0
  struct socket_id* l;
13906
0
  if (addr_l==0) return 0;
13907
0
  l=pkg_malloc(sizeof(struct socket_id));
13908
0
  if (l==0) {
13909
0
    PKG_MEM_CRITICAL;
13910
0
  } else {
13911
0
    memset(l, 0, sizeof(struct socket_id));
13912
0
    l->flags=addr_l->flags;
13913
0
    l->port=port;
13914
0
    l->proto=proto;
13915
0
    l->addr_lst=addr_l;
13916
0
    l->next=0;
13917
0
  }
13918
0
  return l;
13919
0
}
13920
13921
13922
static void free_socket_id(struct socket_id* i)
13923
0
{
13924
0
  free_name_lst(i->addr_lst);
13925
0
  pkg_free(i);
13926
0
}
13927
13928
13929
static void free_socket_id_lst(struct socket_id* lst)
13930
0
{
13931
0
  struct socket_id* tmp;
13932
13933
0
  while(lst){
13934
0
    tmp=lst;
13935
0
    lst=lst->next;
13936
0
    free_socket_id(tmp);
13937
0
  }
13938
0
}
13939
13940
13941
/** create a temporary case statmenet structure.
13942
 *  *err will be filled in case of error (return == 0):
13943
 *   -1 - non constant expression
13944
 *   -2 - expression error (bad type)
13945
 *   -10 - memory allocation error
13946
 */
13947
static struct case_stms* mk_case_stm(struct rval_expr* ct, int is_re,
13948
                      struct action* a, int* err)
13949
0
{
13950
0
  struct case_stms* s;
13951
0
  struct rval_expr* bad_rve;
13952
0
  enum rval_type type, bad_t, exp_t;
13953
0
  enum match_str_type t;
13954
13955
0
  t=MATCH_UNKNOWN;
13956
0
  if (ct){
13957
    /* if ct!=0 => case, else if ct==0 is a default */
13958
0
    if (!rve_is_constant(ct)){
13959
0
      yyerror_at(&ct->fpos, "non constant expression in case");
13960
0
      *err=-1;
13961
0
      return 0;
13962
0
    }
13963
0
    if (rve_check_type(&type, ct, &bad_rve, &bad_t, &exp_t)!=1){
13964
0
      yyerror_at(&ct->fpos, "bad expression: type mismatch:"
13965
0
              " %s instead of %s at (%d,%d)",
13966
0
              rval_type_name(bad_t), rval_type_name(exp_t),
13967
0
              bad_rve->fpos.s_line, bad_rve->fpos.s_col);
13968
0
      *err=-2;
13969
0
      return 0;
13970
0
    }
13971
0
    if (is_re)
13972
0
      t=MATCH_RE;
13973
0
    else if (type==RV_STR)
13974
0
      t=MATCH_STR;
13975
0
    else
13976
0
      t=MATCH_INT;
13977
0
  }
13978
13979
0
  s=pkg_malloc(sizeof(*s));
13980
0
  if (s==0) {
13981
0
    yyerror("internal error: memory allocation failure");
13982
0
    *err=-10;
13983
0
  } else {
13984
0
    memset(s, 0, sizeof(*s));
13985
0
    s->ct_rve=ct;
13986
0
    s->type=t;
13987
0
    s->actions=a;
13988
0
    s->next=0;
13989
0
    s->append=0;
13990
0
  }
13991
0
  return s;
13992
0
}
13993
13994
13995
/*
13996
 * @return 0 on success, -1 on error.
13997
 */
13998
static int case_check_type(struct case_stms* stms)
13999
0
{
14000
0
  struct case_stms* c;
14001
0
  struct case_stms* s;
14002
14003
0
  for(c=stms; c ; c=c->next){
14004
0
    if (!c->ct_rve) continue;
14005
0
    for (s=c->next; s; s=s->next){
14006
0
      if (!s->ct_rve) continue;
14007
0
      if ((s->type!=c->type) &&
14008
0
        !(  (c->type==MATCH_STR || c->type==MATCH_RE) &&
14009
0
          (s->type==MATCH_STR || s->type==MATCH_RE) ) ){
14010
0
          yyerror_at(&s->ct_rve->fpos, "type mismatch in case");
14011
0
          return -1;
14012
0
      }
14013
0
    }
14014
0
  }
14015
0
  return 0;
14016
0
}
14017
14018
14019
/*
14020
 * @return 0 on success, -1 on error.
14021
 */
14022
static int case_check_default(struct case_stms* stms)
14023
0
{
14024
0
  struct case_stms* c;
14025
0
  int default_no;
14026
14027
0
  default_no=0;
14028
0
  for(c=stms; c ; c=c->next)
14029
0
    if (c->ct_rve==0) default_no++;
14030
0
  return (default_no<=1)?0:-1;
14031
0
}
14032
14033
14034
14035
/** fixes the parameters and the type of a module function call.
14036
 * It is done here instead of fix action, to have quicker feedback
14037
 * on error cases (e.g. passing a non constant to a function with a
14038
 * declared fixup)
14039
 * The rest of the fixup is done inside do_action().
14040
 * @param a - filled module function call (MODULE*_T) action structure
14041
 *            complete with parameters, starting at val[2] and parameter
14042
 *            number at val[1].
14043
 * @return 0 on success, -1 on error (it will also print the error msg.).
14044
 *
14045
 */
14046
static int mod_f_params_pre_fixup(struct action* a)
14047
0
{
14048
0
  ksr_cmd_export_t* cmd_exp;
14049
0
  action_u_t* params;
14050
0
  int param_no;
14051
0
  struct rval_expr* rve;
14052
0
  struct rvalue* rv;
14053
0
  int r;
14054
0
  str s;
14055
14056
0
  cmd_exp = a->val[0].u.data;
14057
0
  param_no = a->val[1].u.number;
14058
0
  params = &a->val[2];
14059
14060
0
  switch(cmd_exp->param_no) {
14061
0
    case 0:
14062
0
      a->type = MODULE0_T;
14063
0
      break;
14064
0
    case 1:
14065
0
      a->type = MODULE1_T;
14066
0
      break;
14067
0
    case 2:
14068
0
      a->type = MODULE2_T;
14069
0
      break;
14070
0
    case 3:
14071
0
      a->type = MODULE3_T;
14072
0
      break;
14073
0
    case 4:
14074
0
      a->type = MODULE4_T;
14075
0
      break;
14076
0
    case 5:
14077
0
      a->type = MODULE5_T;
14078
0
      break;
14079
0
    case 6:
14080
0
      a->type = MODULE6_T;
14081
0
      break;
14082
0
    case VAR_PARAM_NO:
14083
0
      a->type = MODULEX_T;
14084
0
      break;
14085
0
    default:
14086
0
      yyerror("function %s: bad definition"
14087
0
          " (invalid number of parameters)", cmd_exp->name);
14088
0
      return -1;
14089
0
  }
14090
14091
0
  if ( cmd_exp->fixup) {
14092
0
    if (is_fparam_rve_fixup(cmd_exp->fixup))
14093
      /* mark known fparam rve safe fixups */
14094
0
      cmd_exp->fixup_flags  |= FIXUP_F_FPARAM_RVE;
14095
0
    else if (!(cmd_exp->fixup_flags & FIXUP_F_FPARAM_RVE) &&
14096
0
         cmd_exp->free_fixup == 0) {
14097
      /* v0 or v1 functions that have fixups and no corresp. fixup_free
14098
         functions, need constant, string params.*/
14099
0
      for (r=0; r < param_no; r++) {
14100
0
        rve=params[r].u.data;
14101
0
        if (!rve_is_constant(rve)) {
14102
0
          yyerror_at(&rve->fpos, "function %s: parameter %d is not"
14103
0
                " constant\n", cmd_exp->name, r+1);
14104
0
          return -1;
14105
0
        }
14106
0
        if ((rv = rval_expr_eval(0, 0, rve)) == 0 ||
14107
0
            rval_get_str(0, 0, &s, rv, 0) < 0 ) {
14108
          /* out of mem or bug ? */
14109
0
          rval_destroy(rv);
14110
0
          yyerror_at(&rve->fpos, "function %s: bad parameter %d"
14111
0
                  " expression\n", cmd_exp->name, r+1);
14112
0
          return -1;
14113
0
        }
14114
0
        rval_destroy(rv);
14115
0
        rve_destroy(rve);
14116
0
        params[r].type = STRING_ST; /* asciiz */
14117
0
        params[r].u.string = s.s;
14118
0
        params[r].u.str.len = s.len; /* not used right now */
14119
0
      }
14120
0
    }
14121
0
  }/* else
14122
    if no fixups are present, the RVEs can be transformed
14123
    into strings at runtime, allowing seamless var. use
14124
    even with old functions.
14125
    Further optimizations -> in fix_actions()
14126
    */
14127
0
  return 0;
14128
0
}
14129
14130
14131
14132
/** frees a filled module function call action structure.
14133
 * @param a - filled module function call action structure
14134
 *            complete with parameters, starting at val[2] and parameter
14135
 *            number at val[1].
14136
 */
14137
static void free_mod_func_action(struct action* a)
14138
0
{
14139
0
  action_u_t* params;
14140
0
  int param_no;
14141
0
  int r;
14142
14143
0
  param_no = a->val[1].u.number;
14144
0
  params = &a->val[2];
14145
14146
0
  for (r=0; r < param_no; r++)
14147
0
    if (params[r].u.data)
14148
0
      rve_destroy(params[r].u.data);
14149
0
  pkg_free(a);
14150
0
}
14151
14152
14153
14154
/*
14155
int main(int argc, char ** argv)
14156
{
14157
  if (yyparse()!=0)
14158
    fprintf(stderr, "parsing error\n");
14159
}
14160
*/