/[svn]/ircd-hybrid/trunk/src/conf_parser.c
ViewVC logotype

Contents of /ircd-hybrid/trunk/src/conf_parser.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1619 - (show annotations)
Wed Oct 31 19:21:26 2012 UTC (7 years, 9 months ago) by michael
File MIME type: text/x-chdr
File size: 221545 byte(s)
- bison 2.6.3

1 /* A Bison parser, made by GNU Bison 2.6.2.33-cc5a9. */
2
3 /* Bison implementation for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
35
36 /* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
42
43 /* Identify Bison output. */
44 #define YYBISON 1
45
46 /* Bison version. */
47 #define YYBISON_VERSION "2.6.2.33-cc5a9"
48
49 /* Skeleton name. */
50 #define YYSKELETON_NAME "yacc.c"
51
52 /* Pure parsers. */
53 #define YYPURE 0
54
55 /* Push parsers. */
56 #define YYPUSH 0
57
58 /* Pull parsers. */
59 #define YYPULL 1
60
61
62
63
64 /* Copy the first part of user declarations. */
65 /* Line 358 of yacc.c */
66 #line 25 "conf_parser.y"
67
68
69 #define YY_NO_UNPUT
70 #include <sys/types.h>
71 #include <string.h>
72
73 #include "config.h"
74 #include "stdinc.h"
75 #include "ircd.h"
76 #include "list.h"
77 #include "conf.h"
78 #include "event.h"
79 #include "log.h"
80 #include "client.h" /* for UMODE_ALL only */
81 #include "irc_string.h"
82 #include "sprintf_irc.h"
83 #include "memory.h"
84 #include "modules.h"
85 #include "s_serv.h"
86 #include "hostmask.h"
87 #include "send.h"
88 #include "listener.h"
89 #include "resv.h"
90 #include "numeric.h"
91 #include "s_user.h"
92
93 #ifdef HAVE_LIBCRYPTO
94 #include <openssl/rsa.h>
95 #include <openssl/bio.h>
96 #include <openssl/pem.h>
97 #include <openssl/dh.h>
98 #endif
99
100 int yylex(void);
101
102 static char *class_name = NULL;
103 static struct ConfItem *yy_conf = NULL;
104 static struct AccessItem *yy_aconf = NULL;
105 static struct MatchItem *yy_match_item = NULL;
106 static struct ClassItem *yy_class = NULL;
107 static char *yy_class_name = NULL;
108
109 static dlink_list col_conf_list = { NULL, NULL, 0 };
110 static unsigned int listener_flags = 0;
111 static unsigned int regex_ban = 0;
112 static char userbuf[IRCD_BUFSIZE];
113 static char hostbuf[IRCD_BUFSIZE];
114 static char reasonbuf[REASONLEN + 1];
115 static char gecos_name[REALLEN * 4];
116 static char lfile[IRCD_BUFSIZE];
117 static unsigned int ltype = 0;
118 static unsigned int lsize = 0;
119 static char *resv_reason = NULL;
120 static char *listener_address = NULL;
121
122 struct CollectItem
123 {
124 dlink_node node;
125 char *name;
126 char *user;
127 char *host;
128 char *passwd;
129 int port;
130 int flags;
131 #ifdef HAVE_LIBCRYPTO
132 char *rsa_public_key_file;
133 RSA *rsa_public_key;
134 #endif
135 };
136
137 static void
138 free_collect_item(struct CollectItem *item)
139 {
140 MyFree(item->name);
141 MyFree(item->user);
142 MyFree(item->host);
143 MyFree(item->passwd);
144 #ifdef HAVE_LIBCRYPTO
145 MyFree(item->rsa_public_key_file);
146 #endif
147 MyFree(item);
148 }
149
150
151 /* Line 358 of yacc.c */
152 #line 153 "conf_parser.c"
153
154 # ifndef YY_NULL
155 # if defined __cplusplus && 201103L <= __cplusplus
156 # define YY_NULL nullptr
157 # else
158 # define YY_NULL 0
159 # endif
160 # endif
161
162 /* Enabling verbose error messages. */
163 #ifdef YYERROR_VERBOSE
164 # undef YYERROR_VERBOSE
165 # define YYERROR_VERBOSE 1
166 #else
167 # define YYERROR_VERBOSE 0
168 #endif
169
170 /* In a future release of Bison, this section will be replaced
171 by #include "y.tab.h". */
172 #ifndef YY_YY_Y_TAB_H_INCLUDED
173 # define YY_YY_Y_TAB_H_INCLUDED
174 /* Enabling traces. */
175 #ifndef YYDEBUG
176 # define YYDEBUG 0
177 #endif
178 #if YYDEBUG
179 extern int yydebug;
180 #endif
181
182 /* Tokens. */
183 #ifndef YYTOKENTYPE
184 # define YYTOKENTYPE
185 /* Put the tokens into the symbol table, so that GDB and other debuggers
186 know about them. */
187 enum yytokentype {
188 ACCEPT_PASSWORD = 258,
189 ADMIN = 259,
190 AFTYPE = 260,
191 ANTI_NICK_FLOOD = 261,
192 ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
193 AUTOCONN = 263,
194 BYTES = 264,
195 KBYTES = 265,
196 MBYTES = 266,
197 CALLER_ID_WAIT = 267,
198 CAN_FLOOD = 268,
199 CHANNEL = 269,
200 CIDR_BITLEN_IPV4 = 270,
201 CIDR_BITLEN_IPV6 = 271,
202 CLASS = 272,
203 CONNECT = 273,
204 CONNECTFREQ = 274,
205 DEFAULT_FLOODCOUNT = 275,
206 DEFAULT_SPLIT_SERVER_COUNT = 276,
207 DEFAULT_SPLIT_USER_COUNT = 277,
208 DENY = 278,
209 DESCRIPTION = 279,
210 DIE = 280,
211 DISABLE_AUTH = 281,
212 DISABLE_FAKE_CHANNELS = 282,
213 DISABLE_REMOTE_COMMANDS = 283,
214 DOTS_IN_IDENT = 284,
215 EGDPOOL_PATH = 285,
216 EMAIL = 286,
217 ENCRYPTED = 287,
218 EXCEED_LIMIT = 288,
219 EXEMPT = 289,
220 FAILED_OPER_NOTICE = 290,
221 IRCD_FLAGS = 291,
222 FLATTEN_LINKS = 292,
223 GECOS = 293,
224 GENERAL = 294,
225 GLINE = 295,
226 GLINE_DURATION = 296,
227 GLINE_ENABLE = 297,
228 GLINE_EXEMPT = 298,
229 GLINE_REQUEST_DURATION = 299,
230 GLINE_MIN_CIDR = 300,
231 GLINE_MIN_CIDR6 = 301,
232 GLOBAL_KILL = 302,
233 IRCD_AUTH = 303,
234 NEED_IDENT = 304,
235 HAVENT_READ_CONF = 305,
236 HIDDEN = 306,
237 HIDDEN_NAME = 307,
238 HIDE_SERVER_IPS = 308,
239 HIDE_SERVERS = 309,
240 HIDE_SPOOF_IPS = 310,
241 HOST = 311,
242 HUB = 312,
243 HUB_MASK = 313,
244 IGNORE_BOGUS_TS = 314,
245 INVISIBLE_ON_CONNECT = 315,
246 IP = 316,
247 KILL = 317,
248 KILL_CHASE_TIME_LIMIT = 318,
249 KLINE = 319,
250 KLINE_EXEMPT = 320,
251 KNOCK_DELAY = 321,
252 KNOCK_DELAY_CHANNEL = 322,
253 LEAF_MASK = 323,
254 LINKS_DELAY = 324,
255 LISTEN = 325,
256 T_LOG = 326,
257 MAX_ACCEPT = 327,
258 MAX_BANS = 328,
259 MAX_CHANS_PER_OPER = 329,
260 MAX_CHANS_PER_USER = 330,
261 MAX_GLOBAL = 331,
262 MAX_IDENT = 332,
263 MAX_LOCAL = 333,
264 MAX_NICK_CHANGES = 334,
265 MAX_NICK_TIME = 335,
266 MAX_NUMBER = 336,
267 MAX_TARGETS = 337,
268 MAX_WATCH = 338,
269 MESSAGE_LOCALE = 339,
270 MIN_NONWILDCARD = 340,
271 MIN_NONWILDCARD_SIMPLE = 341,
272 MODULE = 342,
273 MODULES = 343,
274 NAME = 344,
275 NEED_PASSWORD = 345,
276 NETWORK_DESC = 346,
277 NETWORK_NAME = 347,
278 NICK = 348,
279 NICK_CHANGES = 349,
280 NO_CREATE_ON_SPLIT = 350,
281 NO_JOIN_ON_SPLIT = 351,
282 NO_OPER_FLOOD = 352,
283 NO_TILDE = 353,
284 NUMBER = 354,
285 NUMBER_PER_CIDR = 355,
286 NUMBER_PER_IP = 356,
287 OPERATOR = 357,
288 OPERS_BYPASS_CALLERID = 358,
289 OPER_ONLY_UMODES = 359,
290 OPER_PASS_RESV = 360,
291 OPER_SPY_T = 361,
292 OPER_UMODES = 362,
293 JOIN_FLOOD_COUNT = 363,
294 JOIN_FLOOD_TIME = 364,
295 PACE_WAIT = 365,
296 PACE_WAIT_SIMPLE = 366,
297 PASSWORD = 367,
298 PATH = 368,
299 PING_COOKIE = 369,
300 PING_TIME = 370,
301 PING_WARNING = 371,
302 PORT = 372,
303 QSTRING = 373,
304 QUIET_ON_BAN = 374,
305 REASON = 375,
306 REDIRPORT = 376,
307 REDIRSERV = 377,
308 REGEX_T = 378,
309 REHASH = 379,
310 REMOTE = 380,
311 REMOTEBAN = 381,
312 RESTRICT_CHANNELS = 382,
313 RSA_PRIVATE_KEY_FILE = 383,
314 RSA_PUBLIC_KEY_FILE = 384,
315 SSL_CERTIFICATE_FILE = 385,
316 SSL_DH_PARAM_FILE = 386,
317 T_SSL_CLIENT_METHOD = 387,
318 T_SSL_SERVER_METHOD = 388,
319 T_SSLV3 = 389,
320 T_TLSV1 = 390,
321 RESV = 391,
322 RESV_EXEMPT = 392,
323 SECONDS = 393,
324 MINUTES = 394,
325 HOURS = 395,
326 DAYS = 396,
327 WEEKS = 397,
328 SENDQ = 398,
329 SEND_PASSWORD = 399,
330 SERVERHIDE = 400,
331 SERVERINFO = 401,
332 IRCD_SID = 402,
333 TKLINE_EXPIRE_NOTICES = 403,
334 T_SHARED = 404,
335 T_CLUSTER = 405,
336 TYPE = 406,
337 SHORT_MOTD = 407,
338 SPOOF = 408,
339 SPOOF_NOTICE = 409,
340 STATS_E_DISABLED = 410,
341 STATS_I_OPER_ONLY = 411,
342 STATS_K_OPER_ONLY = 412,
343 STATS_O_OPER_ONLY = 413,
344 STATS_P_OPER_ONLY = 414,
345 TBOOL = 415,
346 TMASKED = 416,
347 TS_MAX_DELTA = 417,
348 TS_WARN_DELTA = 418,
349 TWODOTS = 419,
350 T_ALL = 420,
351 T_BOTS = 421,
352 T_SOFTCALLERID = 422,
353 T_CALLERID = 423,
354 T_CCONN = 424,
355 T_CCONN_FULL = 425,
356 T_SSL_CIPHER_LIST = 426,
357 T_DEAF = 427,
358 T_DEBUG = 428,
359 T_DLINE = 429,
360 T_EXTERNAL = 430,
361 T_FULL = 431,
362 T_INVISIBLE = 432,
363 T_IPV4 = 433,
364 T_IPV6 = 434,
365 T_LOCOPS = 435,
366 T_MAX_CLIENTS = 436,
367 T_NCHANGE = 437,
368 T_OPERWALL = 438,
369 T_RECVQ = 439,
370 T_REJ = 440,
371 T_SERVER = 441,
372 T_SERVNOTICE = 442,
373 T_SET = 443,
374 T_SKILL = 444,
375 T_SPY = 445,
376 T_SSL = 446,
377 T_UMODES = 447,
378 T_UNAUTH = 448,
379 T_UNDLINE = 449,
380 T_UNLIMITED = 450,
381 T_UNRESV = 451,
382 T_UNXLINE = 452,
383 T_GLOBOPS = 453,
384 T_WALLOP = 454,
385 T_RESTART = 455,
386 T_SERVICE = 456,
387 T_SERVICES_NAME = 457,
388 THROTTLE_TIME = 458,
389 TRUE_NO_OPER_FLOOD = 459,
390 UNKLINE = 460,
391 USER = 461,
392 USE_EGD = 462,
393 USE_LOGGING = 463,
394 VHOST = 464,
395 VHOST6 = 465,
396 XLINE = 466,
397 WARN_NO_NLINE = 467,
398 T_SIZE = 468,
399 T_FILE = 469
400 };
401 #endif
402 /* Tokens. */
403 #define ACCEPT_PASSWORD 258
404 #define ADMIN 259
405 #define AFTYPE 260
406 #define ANTI_NICK_FLOOD 261
407 #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
408 #define AUTOCONN 263
409 #define BYTES 264
410 #define KBYTES 265
411 #define MBYTES 266
412 #define CALLER_ID_WAIT 267
413 #define CAN_FLOOD 268
414 #define CHANNEL 269
415 #define CIDR_BITLEN_IPV4 270
416 #define CIDR_BITLEN_IPV6 271
417 #define CLASS 272
418 #define CONNECT 273
419 #define CONNECTFREQ 274
420 #define DEFAULT_FLOODCOUNT 275
421 #define DEFAULT_SPLIT_SERVER_COUNT 276
422 #define DEFAULT_SPLIT_USER_COUNT 277
423 #define DENY 278
424 #define DESCRIPTION 279
425 #define DIE 280
426 #define DISABLE_AUTH 281
427 #define DISABLE_FAKE_CHANNELS 282
428 #define DISABLE_REMOTE_COMMANDS 283
429 #define DOTS_IN_IDENT 284
430 #define EGDPOOL_PATH 285
431 #define EMAIL 286
432 #define ENCRYPTED 287
433 #define EXCEED_LIMIT 288
434 #define EXEMPT 289
435 #define FAILED_OPER_NOTICE 290
436 #define IRCD_FLAGS 291
437 #define FLATTEN_LINKS 292
438 #define GECOS 293
439 #define GENERAL 294
440 #define GLINE 295
441 #define GLINE_DURATION 296
442 #define GLINE_ENABLE 297
443 #define GLINE_EXEMPT 298
444 #define GLINE_REQUEST_DURATION 299
445 #define GLINE_MIN_CIDR 300
446 #define GLINE_MIN_CIDR6 301
447 #define GLOBAL_KILL 302
448 #define IRCD_AUTH 303
449 #define NEED_IDENT 304
450 #define HAVENT_READ_CONF 305
451 #define HIDDEN 306
452 #define HIDDEN_NAME 307
453 #define HIDE_SERVER_IPS 308
454 #define HIDE_SERVERS 309
455 #define HIDE_SPOOF_IPS 310
456 #define HOST 311
457 #define HUB 312
458 #define HUB_MASK 313
459 #define IGNORE_BOGUS_TS 314
460 #define INVISIBLE_ON_CONNECT 315
461 #define IP 316
462 #define KILL 317
463 #define KILL_CHASE_TIME_LIMIT 318
464 #define KLINE 319
465 #define KLINE_EXEMPT 320
466 #define KNOCK_DELAY 321
467 #define KNOCK_DELAY_CHANNEL 322
468 #define LEAF_MASK 323
469 #define LINKS_DELAY 324
470 #define LISTEN 325
471 #define T_LOG 326
472 #define MAX_ACCEPT 327
473 #define MAX_BANS 328
474 #define MAX_CHANS_PER_OPER 329
475 #define MAX_CHANS_PER_USER 330
476 #define MAX_GLOBAL 331
477 #define MAX_IDENT 332
478 #define MAX_LOCAL 333
479 #define MAX_NICK_CHANGES 334
480 #define MAX_NICK_TIME 335
481 #define MAX_NUMBER 336
482 #define MAX_TARGETS 337
483 #define MAX_WATCH 338
484 #define MESSAGE_LOCALE 339
485 #define MIN_NONWILDCARD 340
486 #define MIN_NONWILDCARD_SIMPLE 341
487 #define MODULE 342
488 #define MODULES 343
489 #define NAME 344
490 #define NEED_PASSWORD 345
491 #define NETWORK_DESC 346
492 #define NETWORK_NAME 347
493 #define NICK 348
494 #define NICK_CHANGES 349
495 #define NO_CREATE_ON_SPLIT 350
496 #define NO_JOIN_ON_SPLIT 351
497 #define NO_OPER_FLOOD 352
498 #define NO_TILDE 353
499 #define NUMBER 354
500 #define NUMBER_PER_CIDR 355
501 #define NUMBER_PER_IP 356
502 #define OPERATOR 357
503 #define OPERS_BYPASS_CALLERID 358
504 #define OPER_ONLY_UMODES 359
505 #define OPER_PASS_RESV 360
506 #define OPER_SPY_T 361
507 #define OPER_UMODES 362
508 #define JOIN_FLOOD_COUNT 363
509 #define JOIN_FLOOD_TIME 364
510 #define PACE_WAIT 365
511 #define PACE_WAIT_SIMPLE 366
512 #define PASSWORD 367
513 #define PATH 368
514 #define PING_COOKIE 369
515 #define PING_TIME 370
516 #define PING_WARNING 371
517 #define PORT 372
518 #define QSTRING 373
519 #define QUIET_ON_BAN 374
520 #define REASON 375
521 #define REDIRPORT 376
522 #define REDIRSERV 377
523 #define REGEX_T 378
524 #define REHASH 379
525 #define REMOTE 380
526 #define REMOTEBAN 381
527 #define RESTRICT_CHANNELS 382
528 #define RSA_PRIVATE_KEY_FILE 383
529 #define RSA_PUBLIC_KEY_FILE 384
530 #define SSL_CERTIFICATE_FILE 385
531 #define SSL_DH_PARAM_FILE 386
532 #define T_SSL_CLIENT_METHOD 387
533 #define T_SSL_SERVER_METHOD 388
534 #define T_SSLV3 389
535 #define T_TLSV1 390
536 #define RESV 391
537 #define RESV_EXEMPT 392
538 #define SECONDS 393
539 #define MINUTES 394
540 #define HOURS 395
541 #define DAYS 396
542 #define WEEKS 397
543 #define SENDQ 398
544 #define SEND_PASSWORD 399
545 #define SERVERHIDE 400
546 #define SERVERINFO 401
547 #define IRCD_SID 402
548 #define TKLINE_EXPIRE_NOTICES 403
549 #define T_SHARED 404
550 #define T_CLUSTER 405
551 #define TYPE 406
552 #define SHORT_MOTD 407
553 #define SPOOF 408
554 #define SPOOF_NOTICE 409
555 #define STATS_E_DISABLED 410
556 #define STATS_I_OPER_ONLY 411
557 #define STATS_K_OPER_ONLY 412
558 #define STATS_O_OPER_ONLY 413
559 #define STATS_P_OPER_ONLY 414
560 #define TBOOL 415
561 #define TMASKED 416
562 #define TS_MAX_DELTA 417
563 #define TS_WARN_DELTA 418
564 #define TWODOTS 419
565 #define T_ALL 420
566 #define T_BOTS 421
567 #define T_SOFTCALLERID 422
568 #define T_CALLERID 423
569 #define T_CCONN 424
570 #define T_CCONN_FULL 425
571 #define T_SSL_CIPHER_LIST 426
572 #define T_DEAF 427
573 #define T_DEBUG 428
574 #define T_DLINE 429
575 #define T_EXTERNAL 430
576 #define T_FULL 431
577 #define T_INVISIBLE 432
578 #define T_IPV4 433
579 #define T_IPV6 434
580 #define T_LOCOPS 435
581 #define T_MAX_CLIENTS 436
582 #define T_NCHANGE 437
583 #define T_OPERWALL 438
584 #define T_RECVQ 439
585 #define T_REJ 440
586 #define T_SERVER 441
587 #define T_SERVNOTICE 442
588 #define T_SET 443
589 #define T_SKILL 444
590 #define T_SPY 445
591 #define T_SSL 446
592 #define T_UMODES 447
593 #define T_UNAUTH 448
594 #define T_UNDLINE 449
595 #define T_UNLIMITED 450
596 #define T_UNRESV 451
597 #define T_UNXLINE 452
598 #define T_GLOBOPS 453
599 #define T_WALLOP 454
600 #define T_RESTART 455
601 #define T_SERVICE 456
602 #define T_SERVICES_NAME 457
603 #define THROTTLE_TIME 458
604 #define TRUE_NO_OPER_FLOOD 459
605 #define UNKLINE 460
606 #define USER 461
607 #define USE_EGD 462
608 #define USE_LOGGING 463
609 #define VHOST 464
610 #define VHOST6 465
611 #define XLINE 466
612 #define WARN_NO_NLINE 467
613 #define T_SIZE 468
614 #define T_FILE 469
615
616
617
618 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
619 typedef union YYSTYPE
620 {
621 /* Line 374 of yacc.c */
622 #line 110 "conf_parser.y"
623
624 int number;
625 char *string;
626
627
628 /* Line 374 of yacc.c */
629 #line 630 "conf_parser.c"
630 } YYSTYPE;
631 # define YYSTYPE_IS_TRIVIAL 1
632 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
633 # define YYSTYPE_IS_DECLARED 1
634 #endif
635
636 extern YYSTYPE yylval;
637
638 #ifdef YYPARSE_PARAM
639 #if defined __STDC__ || defined __cplusplus
640 int yyparse (void *YYPARSE_PARAM);
641 #else
642 int yyparse ();
643 #endif
644 #else /* ! YYPARSE_PARAM */
645 #if defined __STDC__ || defined __cplusplus
646 int yyparse (void);
647 #else
648 int yyparse ();
649 #endif
650 #endif /* ! YYPARSE_PARAM */
651
652 #endif /* !YY_YY_Y_TAB_H_INCLUDED */
653
654 /* Copy the second part of user declarations. */
655
656 /* Line 377 of yacc.c */
657 #line 658 "conf_parser.c"
658
659 #ifdef short
660 # undef short
661 #endif
662
663 #ifdef YYTYPE_UINT8
664 typedef YYTYPE_UINT8 yytype_uint8;
665 #else
666 typedef unsigned char yytype_uint8;
667 #endif
668
669 #ifdef YYTYPE_INT8
670 typedef YYTYPE_INT8 yytype_int8;
671 #elif (defined __STDC__ || defined __C99__FUNC__ \
672 || defined __cplusplus || defined _MSC_VER)
673 typedef signed char yytype_int8;
674 #else
675 typedef short int yytype_int8;
676 #endif
677
678 #ifdef YYTYPE_UINT16
679 typedef YYTYPE_UINT16 yytype_uint16;
680 #else
681 typedef unsigned short int yytype_uint16;
682 #endif
683
684 #ifdef YYTYPE_INT16
685 typedef YYTYPE_INT16 yytype_int16;
686 #else
687 typedef short int yytype_int16;
688 #endif
689
690 #ifndef YYSIZE_T
691 # ifdef __SIZE_TYPE__
692 # define YYSIZE_T __SIZE_TYPE__
693 # elif defined size_t
694 # define YYSIZE_T size_t
695 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
696 || defined __cplusplus || defined _MSC_VER)
697 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
698 # define YYSIZE_T size_t
699 # else
700 # define YYSIZE_T unsigned int
701 # endif
702 #endif
703
704 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
705
706 #ifndef YY_
707 # if defined YYENABLE_NLS && YYENABLE_NLS
708 # if ENABLE_NLS
709 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
710 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
711 # endif
712 # endif
713 # ifndef YY_
714 # define YY_(Msgid) Msgid
715 # endif
716 #endif
717
718 /* Suppress unused-variable warnings by "using" E. */
719 #if ! defined lint || defined __GNUC__
720 # define YYUSE(E) ((void) (E))
721 #else
722 # define YYUSE(E) /* empty */
723 #endif
724
725 /* Identity function, used to suppress warnings about constant conditions. */
726 #ifndef lint
727 # define YYID(N) (N)
728 #else
729 #if (defined __STDC__ || defined __C99__FUNC__ \
730 || defined __cplusplus || defined _MSC_VER)
731 static int
732 YYID (int yyi)
733 #else
734 static int
735 YYID (yyi)
736 int yyi;
737 #endif
738 {
739 return yyi;
740 }
741 #endif
742
743 #if ! defined yyoverflow || YYERROR_VERBOSE
744
745 /* The parser invokes alloca or malloc; define the necessary symbols. */
746
747 # ifdef YYSTACK_USE_ALLOCA
748 # if YYSTACK_USE_ALLOCA
749 # ifdef __GNUC__
750 # define YYSTACK_ALLOC __builtin_alloca
751 # elif defined __BUILTIN_VA_ARG_INCR
752 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
753 # elif defined _AIX
754 # define YYSTACK_ALLOC __alloca
755 # elif defined _MSC_VER
756 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
757 # define alloca _alloca
758 # else
759 # define YYSTACK_ALLOC alloca
760 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
761 || defined __cplusplus || defined _MSC_VER)
762 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
763 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
764 # ifndef EXIT_SUCCESS
765 # define EXIT_SUCCESS 0
766 # endif
767 # endif
768 # endif
769 # endif
770 # endif
771
772 # ifdef YYSTACK_ALLOC
773 /* Pacify GCC's `empty if-body' warning. */
774 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
775 # ifndef YYSTACK_ALLOC_MAXIMUM
776 /* The OS might guarantee only one guard page at the bottom of the stack,
777 and a page size can be as small as 4096 bytes. So we cannot safely
778 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
779 to allow for a few compiler-allocated temporary stack slots. */
780 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
781 # endif
782 # else
783 # define YYSTACK_ALLOC YYMALLOC
784 # define YYSTACK_FREE YYFREE
785 # ifndef YYSTACK_ALLOC_MAXIMUM
786 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
787 # endif
788 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
789 && ! ((defined YYMALLOC || defined malloc) \
790 && (defined YYFREE || defined free)))
791 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
792 # ifndef EXIT_SUCCESS
793 # define EXIT_SUCCESS 0
794 # endif
795 # endif
796 # ifndef YYMALLOC
797 # define YYMALLOC malloc
798 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
799 || defined __cplusplus || defined _MSC_VER)
800 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
801 # endif
802 # endif
803 # ifndef YYFREE
804 # define YYFREE free
805 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
806 || defined __cplusplus || defined _MSC_VER)
807 void free (void *); /* INFRINGES ON USER NAME SPACE */
808 # endif
809 # endif
810 # endif
811 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
812
813
814 #if (! defined yyoverflow \
815 && (! defined __cplusplus \
816 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
817
818 /* A type that is properly aligned for any stack member. */
819 union yyalloc
820 {
821 yytype_int16 yyss_alloc;
822 YYSTYPE yyvs_alloc;
823 };
824
825 /* The size of the maximum gap between one aligned stack and the next. */
826 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
827
828 /* The size of an array large to enough to hold all stacks, each with
829 N elements. */
830 # define YYSTACK_BYTES(N) \
831 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
832 + YYSTACK_GAP_MAXIMUM)
833
834 # define YYCOPY_NEEDED 1
835
836 /* Relocate STACK from its old location to the new one. The
837 local variables YYSIZE and YYSTACKSIZE give the old and new number of
838 elements in the stack, and YYPTR gives the new location of the
839 stack. Advance YYPTR to a properly aligned location for the next
840 stack. */
841 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
842 do \
843 { \
844 YYSIZE_T yynewbytes; \
845 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
846 Stack = &yyptr->Stack_alloc; \
847 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
848 yyptr += yynewbytes / sizeof (*yyptr); \
849 } \
850 while (YYID (0))
851
852 #endif
853
854 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
855 /* Copy COUNT objects from SRC to DST. The source and destination do
856 not overlap. */
857 # ifndef YYCOPY
858 # if defined __GNUC__ && 1 < __GNUC__
859 # define YYCOPY(Dst, Src, Count) \
860 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
861 # else
862 # define YYCOPY(Dst, Src, Count) \
863 do \
864 { \
865 YYSIZE_T yyi; \
866 for (yyi = 0; yyi < (Count); yyi++) \
867 (Dst)[yyi] = (Src)[yyi]; \
868 } \
869 while (YYID (0))
870 # endif
871 # endif
872 #endif /* !YYCOPY_NEEDED */
873
874 /* YYFINAL -- State number of the termination state. */
875 #define YYFINAL 2
876 /* YYLAST -- Last index in YYTABLE. */
877 #define YYLAST 1206
878
879 /* YYNTOKENS -- Number of terminals. */
880 #define YYNTOKENS 220
881 /* YYNNTS -- Number of nonterminals. */
882 #define YYNNTS 283
883 /* YYNRULES -- Number of rules. */
884 #define YYNRULES 627
885 /* YYNRULES -- Number of states. */
886 #define YYNSTATES 1228
887
888 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
889 #define YYUNDEFTOK 2
890 #define YYMAXUTOK 469
891
892 #define YYTRANSLATE(YYX) \
893 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
894
895 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
896 static const yytype_uint8 yytranslate[] =
897 {
898 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
899 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
900 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
901 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
902 2, 2, 2, 2, 219, 2, 2, 2, 2, 2,
903 2, 2, 2, 2, 2, 2, 2, 2, 2, 215,
904 2, 218, 2, 2, 2, 2, 2, 2, 2, 2,
905 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
906 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
907 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
908 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
909 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
910 2, 2, 2, 217, 2, 216, 2, 2, 2, 2,
911 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
912 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
913 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
914 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
915 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
916 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
917 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
918 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
919 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
920 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
921 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
922 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
923 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
924 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
925 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
926 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
927 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
928 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
929 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
930 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
931 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
932 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
933 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
934 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
935 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
936 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
937 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
938 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
939 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
940 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
941 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
942 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
943 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
944 205, 206, 207, 208, 209, 210, 211, 212, 213, 214
945 };
946
947 #if YYDEBUG
948 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
949 YYRHS. */
950 static const yytype_uint16 yyprhs[] =
951 {
952 0, 0, 3, 4, 7, 9, 11, 13, 15, 17,
953 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
954 39, 41, 43, 45, 47, 50, 53, 54, 56, 59,
955 63, 67, 71, 75, 79, 80, 82, 85, 89, 93,
956 97, 103, 106, 108, 110, 112, 115, 120, 125, 131,
957 134, 136, 138, 140, 142, 144, 146, 148, 150, 152,
958 154, 156, 158, 160, 162, 164, 166, 169, 174, 179,
959 183, 185, 187, 189, 193, 195, 197, 199, 204, 209,
960 214, 219, 224, 229, 234, 239, 244, 249, 254, 259,
961 264, 270, 273, 275, 277, 279, 281, 284, 289, 294,
962 299, 305, 308, 310, 312, 314, 317, 322, 323, 330,
963 333, 335, 337, 339, 341, 344, 349, 354, 359, 360,
964 366, 370, 372, 374, 376, 378, 380, 382, 384, 386,
965 387, 394, 397, 399, 401, 403, 405, 407, 409, 411,
966 413, 415, 418, 423, 428, 433, 438, 443, 448, 449,
967 455, 459, 461, 463, 465, 467, 469, 471, 473, 475,
968 477, 479, 481, 483, 485, 487, 489, 491, 493, 495,
969 497, 499, 501, 502, 508, 512, 514, 516, 518, 520,
970 522, 524, 526, 528, 530, 532, 534, 536, 538, 540,
971 542, 544, 546, 548, 550, 552, 553, 560, 563, 565,
972 567, 569, 571, 573, 575, 577, 579, 581, 583, 585,
973 587, 589, 591, 593, 596, 601, 606, 611, 616, 621,
974 626, 631, 636, 641, 646, 651, 656, 661, 666, 667,
975 674, 675, 681, 685, 687, 689, 691, 693, 696, 698,
976 700, 702, 704, 706, 709, 710, 716, 720, 722, 724,
977 728, 733, 738, 739, 746, 749, 751, 753, 755, 757,
978 759, 761, 763, 765, 767, 770, 775, 780, 785, 790,
979 791, 797, 801, 803, 805, 807, 809, 811, 813, 815,
980 817, 819, 821, 826, 831, 836, 837, 844, 847, 849,
981 851, 853, 855, 858, 863, 868, 873, 879, 882, 884,
982 886, 888, 893, 894, 901, 904, 906, 908, 910, 912,
983 915, 920, 925, 926, 932, 936, 938, 940, 942, 944,
984 946, 948, 950, 952, 954, 956, 958, 959, 966, 969,
985 971, 973, 975, 978, 983, 984, 990, 994, 996, 998,
986 1000, 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1017,
987 1024, 1027, 1029, 1031, 1033, 1035, 1037, 1039, 1041, 1043,
988 1045, 1047, 1049, 1051, 1053, 1055, 1058, 1063, 1068, 1073,
989 1078, 1083, 1088, 1093, 1098, 1099, 1105, 1109, 1111, 1113,
990 1115, 1120, 1125, 1130, 1135, 1140, 1141, 1148, 1149, 1155,
991 1159, 1161, 1163, 1166, 1168, 1170, 1172, 1174, 1176, 1181,
992 1186, 1187, 1194, 1197, 1199, 1201, 1203, 1205, 1210, 1215,
993 1221, 1224, 1226, 1228, 1230, 1235, 1236, 1243, 1244, 1250,
994 1254, 1256, 1258, 1261, 1263, 1265, 1267, 1269, 1271, 1276,
995 1281, 1287, 1290, 1292, 1294, 1296, 1298, 1300, 1302, 1304,
996 1306, 1308, 1310, 1312, 1314, 1316, 1318, 1320, 1322, 1324,
997 1326, 1328, 1330, 1332, 1334, 1336, 1338, 1340, 1342, 1344,
998 1346, 1348, 1350, 1352, 1354, 1356, 1358, 1360, 1362, 1364,
999 1366, 1368, 1370, 1372, 1374, 1376, 1378, 1380, 1382, 1384,
1000 1386, 1388, 1390, 1392, 1397, 1402, 1407, 1412, 1417, 1422,
1001 1427, 1432, 1437, 1442, 1447, 1452, 1457, 1462, 1467, 1472,
1002 1477, 1482, 1487, 1492, 1497, 1502, 1507, 1512, 1517, 1522,
1003 1527, 1532, 1537, 1542, 1547, 1552, 1557, 1562, 1567, 1572,
1004 1577, 1582, 1587, 1592, 1597, 1602, 1607, 1612, 1617, 1622,
1005 1623, 1629, 1633, 1635, 1637, 1639, 1641, 1643, 1645, 1647,
1006 1649, 1651, 1653, 1655, 1657, 1659, 1661, 1663, 1665, 1667,
1007 1669, 1671, 1673, 1675, 1676, 1682, 1686, 1688, 1690, 1692,
1008 1694, 1696, 1698, 1700, 1702, 1704, 1706, 1708, 1710, 1712,
1009 1714, 1716, 1718, 1720, 1722, 1724, 1726, 1728, 1733, 1738,
1010 1743, 1749, 1752, 1754, 1756, 1758, 1760, 1762, 1764, 1766,
1011 1768, 1770, 1772, 1774, 1776, 1778, 1780, 1782, 1784, 1789,
1012 1794, 1799, 1804, 1809, 1814, 1819, 1824, 1829, 1834, 1839,
1013 1844, 1849, 1854, 1860, 1863, 1865, 1867, 1869, 1871, 1873,
1014 1875, 1877, 1879, 1884, 1889, 1894, 1899, 1904
1015 };
1016
1017 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1018 static const yytype_int16 yyrhs[] =
1019 {
1020 221, 0, -1, -1, 221, 222, -1, 254, -1, 260,
1021 -1, 274, -1, 477, -1, 292, -1, 310, -1, 324,
1022 -1, 232, -1, 494, -1, 339, -1, 346, -1, 350,
1023 -1, 360, -1, 369, -1, 389, -1, 399, -1, 405,
1024 -1, 419, -1, 409, -1, 227, -1, 1, 215, -1,
1025 1, 216, -1, -1, 224, -1, 99, 223, -1, 99,
1026 138, 223, -1, 99, 139, 223, -1, 99, 140, 223,
1027 -1, 99, 141, 223, -1, 99, 142, 223, -1, -1,
1028 226, -1, 99, 225, -1, 99, 9, 225, -1, 99,
1029 10, 225, -1, 99, 11, 225, -1, 88, 217, 228,
1030 216, 215, -1, 228, 229, -1, 229, -1, 230, -1,
1031 231, -1, 1, 215, -1, 87, 218, 118, 215, -1,
1032 113, 218, 118, 215, -1, 146, 217, 233, 216, 215,
1033 -1, 233, 234, -1, 234, -1, 245, -1, 250, -1,
1034 253, -1, 247, -1, 248, -1, 249, -1, 252, -1,
1035 243, -1, 242, -1, 251, -1, 246, -1, 241, -1,
1036 235, -1, 236, -1, 244, -1, 1, 215, -1, 132,
1037 218, 237, 215, -1, 133, 218, 239, 215, -1, 237,
1038 219, 238, -1, 238, -1, 134, -1, 135, -1, 239,
1039 219, 240, -1, 240, -1, 134, -1, 135, -1, 130,
1040 218, 118, 215, -1, 128, 218, 118, 215, -1, 131,
1041 218, 118, 215, -1, 171, 218, 118, 215, -1, 89,
1042 218, 118, 215, -1, 147, 218, 118, 215, -1, 24,
1043 218, 118, 215, -1, 92, 218, 118, 215, -1, 91,
1044 218, 118, 215, -1, 209, 218, 118, 215, -1, 210,
1045 218, 118, 215, -1, 181, 218, 99, 215, -1, 57,
1046 218, 160, 215, -1, 4, 217, 255, 216, 215, -1,
1047 255, 256, -1, 256, -1, 257, -1, 259, -1, 258,
1048 -1, 1, 215, -1, 89, 218, 118, 215, -1, 31,
1049 218, 118, 215, -1, 24, 218, 118, 215, -1, 71,
1050 217, 261, 216, 215, -1, 261, 262, -1, 262, -1,
1051 263, -1, 264, -1, 1, 215, -1, 208, 218, 160,
1052 215, -1, -1, 265, 214, 217, 266, 216, 215, -1,
1053 266, 267, -1, 267, -1, 268, -1, 270, -1, 269,
1054 -1, 1, 215, -1, 89, 218, 118, 215, -1, 213,
1055 218, 226, 215, -1, 213, 218, 195, 215, -1, -1,
1056 151, 271, 218, 272, 215, -1, 272, 219, 273, -1,
1057 273, -1, 206, -1, 102, -1, 40, -1, 174, -1,
1058 64, -1, 62, -1, 173, -1, -1, 102, 275, 217,
1059 276, 216, 215, -1, 276, 277, -1, 277, -1, 278,
1060 -1, 279, -1, 280, -1, 284, -1, 283, -1, 281,
1061 -1, 282, -1, 288, -1, 1, 215, -1, 89, 218,
1062 118, 215, -1, 206, 218, 118, 215, -1, 112, 218,
1063 118, 215, -1, 32, 218, 160, 215, -1, 129, 218,
1064 118, 215, -1, 17, 218, 118, 215, -1, -1, 192,
1065 285, 218, 286, 215, -1, 286, 219, 287, -1, 287,
1066 -1, 166, -1, 169, -1, 170, -1, 172, -1, 173,
1067 -1, 176, -1, 51, -1, 189, -1, 182, -1, 185,
1068 -1, 193, -1, 190, -1, 175, -1, 183, -1, 187,
1069 -1, 177, -1, 199, -1, 167, -1, 168, -1, 180,
1070 -1, -1, 36, 289, 218, 290, 215, -1, 290, 219,
1071 291, -1, 291, -1, 47, -1, 125, -1, 64, -1,
1072 205, -1, 174, -1, 194, -1, 211, -1, 40, -1,
1073 25, -1, 200, -1, 124, -1, 4, -1, 94, -1,
1074 183, -1, 198, -1, 106, -1, 126, -1, 188, -1,
1075 87, -1, -1, 17, 293, 217, 294, 216, 215, -1,
1076 294, 295, -1, 295, -1, 296, -1, 307, -1, 308,
1077 -1, 297, -1, 298, -1, 309, -1, 299, -1, 300,
1078 -1, 301, -1, 302, -1, 303, -1, 304, -1, 305,
1079 -1, 306, -1, 1, 215, -1, 89, 218, 118, 215,
1080 -1, 115, 218, 224, 215, -1, 116, 218, 224, 215,
1081 -1, 101, 218, 99, 215, -1, 19, 218, 224, 215,
1082 -1, 81, 218, 99, 215, -1, 76, 218, 99, 215,
1083 -1, 78, 218, 99, 215, -1, 77, 218, 99, 215,
1084 -1, 143, 218, 226, 215, -1, 184, 218, 226, 215,
1085 -1, 15, 218, 99, 215, -1, 16, 218, 99, 215,
1086 -1, 100, 218, 99, 215, -1, -1, 70, 311, 217,
1087 316, 216, 215, -1, -1, 36, 313, 218, 314, 215,
1088 -1, 314, 219, 315, -1, 315, -1, 191, -1, 51,
1089 -1, 186, -1, 316, 317, -1, 317, -1, 318, -1,
1090 312, -1, 322, -1, 323, -1, 1, 215, -1, -1,
1091 117, 218, 320, 319, 215, -1, 320, 219, 321, -1,
1092 321, -1, 99, -1, 99, 164, 99, -1, 61, 218,
1093 118, 215, -1, 56, 218, 118, 215, -1, -1, 48,
1094 325, 217, 326, 216, 215, -1, 326, 327, -1, 327,
1095 -1, 328, -1, 329, -1, 330, -1, 332, -1, 336,
1096 -1, 337, -1, 338, -1, 331, -1, 1, 215, -1,
1097 206, 218, 118, 215, -1, 112, 218, 118, 215, -1,
1098 17, 218, 118, 215, -1, 32, 218, 160, 215, -1,
1099 -1, 36, 333, 218, 334, 215, -1, 334, 219, 335,
1100 -1, 335, -1, 154, -1, 33, -1, 65, -1, 49,
1101 -1, 13, -1, 98, -1, 43, -1, 137, -1, 90,
1102 -1, 153, 218, 118, 215, -1, 122, 218, 118, 215,
1103 -1, 121, 218, 99, 215, -1, -1, 136, 340, 217,
1104 341, 216, 215, -1, 341, 342, -1, 342, -1, 343,
1105 -1, 344, -1, 345, -1, 1, 215, -1, 120, 218,
1106 118, 215, -1, 14, 218, 118, 215, -1, 93, 218,
1107 118, 215, -1, 201, 217, 347, 216, 215, -1, 347,
1108 348, -1, 348, -1, 349, -1, 1, -1, 89, 218,
1109 118, 215, -1, -1, 149, 351, 217, 352, 216, 215,
1110 -1, 352, 353, -1, 353, -1, 354, -1, 355, -1,
1111 356, -1, 1, 215, -1, 89, 218, 118, 215, -1,
1112 206, 218, 118, 215, -1, -1, 151, 357, 218, 358,
1113 215, -1, 358, 219, 359, -1, 359, -1, 64, -1,
1114 205, -1, 174, -1, 194, -1, 211, -1, 197, -1,
1115 136, -1, 196, -1, 180, -1, 165, -1, -1, 150,
1116 361, 217, 362, 216, 215, -1, 362, 363, -1, 363,
1117 -1, 364, -1, 365, -1, 1, 215, -1, 89, 218,
1118 118, 215, -1, -1, 151, 366, 218, 367, 215, -1,
1119 367, 219, 368, -1, 368, -1, 64, -1, 205, -1,
1120 174, -1, 194, -1, 211, -1, 197, -1, 136, -1,
1121 196, -1, 180, -1, 165, -1, -1, 18, 370, 217,
1122 371, 216, 215, -1, 371, 372, -1, 372, -1, 373,
1123 -1, 374, -1, 375, -1, 376, -1, 377, -1, 379,
1124 -1, 378, -1, 388, -1, 380, -1, 385, -1, 386,
1125 -1, 387, -1, 384, -1, 1, 215, -1, 89, 218,
1126 118, 215, -1, 56, 218, 118, 215, -1, 209, 218,
1127 118, 215, -1, 144, 218, 118, 215, -1, 3, 218,
1128 118, 215, -1, 117, 218, 99, 215, -1, 5, 218,
1129 178, 215, -1, 5, 218, 179, 215, -1, -1, 36,
1130 381, 218, 382, 215, -1, 382, 219, 383, -1, 383,
1131 -1, 8, -1, 191, -1, 32, 218, 160, 215, -1,
1132 58, 218, 118, 215, -1, 68, 218, 118, 215, -1,
1133 17, 218, 118, 215, -1, 171, 218, 118, 215, -1,
1134 -1, 62, 390, 217, 395, 216, 215, -1, -1, 151,
1135 392, 218, 393, 215, -1, 393, 219, 394, -1, 394,
1136 -1, 123, -1, 395, 396, -1, 396, -1, 397, -1,
1137 398, -1, 391, -1, 1, -1, 206, 218, 118, 215,
1138 -1, 120, 218, 118, 215, -1, -1, 23, 400, 217,
1139 401, 216, 215, -1, 401, 402, -1, 402, -1, 403,
1140 -1, 404, -1, 1, -1, 61, 218, 118, 215, -1,
1141 120, 218, 118, 215, -1, 34, 217, 406, 216, 215,
1142 -1, 406, 407, -1, 407, -1, 408, -1, 1, -1,
1143 61, 218, 118, 215, -1, -1, 38, 410, 217, 415,
1144 216, 215, -1, -1, 151, 412, 218, 413, 215, -1,
1145 413, 219, 414, -1, 414, -1, 123, -1, 415, 416,
1146 -1, 416, -1, 417, -1, 418, -1, 411, -1, 1,
1147 -1, 89, 218, 118, 215, -1, 120, 218, 118, 215,
1148 -1, 39, 217, 420, 216, 215, -1, 420, 421, -1,
1149 421, -1, 430, -1, 431, -1, 433, -1, 434, -1,
1150 435, -1, 436, -1, 437, -1, 438, -1, 439, -1,
1151 440, -1, 429, -1, 442, -1, 443, -1, 458, -1,
1152 445, -1, 447, -1, 449, -1, 448, -1, 452, -1,
1153 446, -1, 453, -1, 454, -1, 455, -1, 456, -1,
1154 457, -1, 470, -1, 459, -1, 460, -1, 461, -1,
1155 466, -1, 450, -1, 451, -1, 476, -1, 474, -1,
1156 475, -1, 432, -1, 465, -1, 441, -1, 463, -1,
1157 464, -1, 428, -1, 423, -1, 424, -1, 425, -1,
1158 426, -1, 427, -1, 444, -1, 422, -1, 462, -1,
1159 1, -1, 83, 218, 99, 215, -1, 42, 218, 160,
1160 215, -1, 41, 218, 224, 215, -1, 44, 218, 224,
1161 215, -1, 45, 218, 99, 215, -1, 46, 218, 99,
1162 215, -1, 148, 218, 160, 215, -1, 63, 218, 224,
1163 215, -1, 55, 218, 160, 215, -1, 59, 218, 160,
1164 215, -1, 28, 218, 160, 215, -1, 35, 218, 160,
1165 215, -1, 6, 218, 160, 215, -1, 80, 218, 224,
1166 215, -1, 79, 218, 99, 215, -1, 72, 218, 99,
1167 215, -1, 7, 218, 224, 215, -1, 163, 218, 224,
1168 215, -1, 162, 218, 224, 215, -1, 50, 218, 99,
1169 215, -1, 60, 218, 160, 215, -1, 212, 218, 160,
1170 215, -1, 155, 218, 160, 215, -1, 158, 218, 160,
1171 215, -1, 159, 218, 160, 215, -1, 157, 218, 160,
1172 215, -1, 157, 218, 161, 215, -1, 156, 218, 160,
1173 215, -1, 156, 218, 161, 215, -1, 110, 218, 224,
1174 215, -1, 12, 218, 224, 215, -1, 103, 218, 160,
1175 215, -1, 111, 218, 224, 215, -1, 152, 218, 160,
1176 215, -1, 97, 218, 160, 215, -1, 204, 218, 160,
1177 215, -1, 105, 218, 160, 215, -1, 84, 218, 118,
1178 215, -1, 29, 218, 99, 215, -1, 82, 218, 99,
1179 215, -1, 207, 218, 160, 215, -1, 30, 218, 118,
1180 215, -1, 202, 218, 118, 215, -1, 114, 218, 160,
1181 215, -1, 26, 218, 160, 215, -1, 203, 218, 224,
1182 215, -1, -1, 107, 467, 218, 468, 215, -1, 468,
1183 219, 469, -1, 469, -1, 166, -1, 169, -1, 170,
1184 -1, 172, -1, 173, -1, 176, -1, 51, -1, 189,
1185 -1, 182, -1, 185, -1, 193, -1, 190, -1, 175,
1186 -1, 183, -1, 187, -1, 177, -1, 199, -1, 167,
1187 -1, 168, -1, 180, -1, -1, 104, 471, 218, 472,
1188 215, -1, 472, 219, 473, -1, 473, -1, 166, -1,
1189 169, -1, 170, -1, 172, -1, 173, -1, 176, -1,
1190 189, -1, 51, -1, 182, -1, 185, -1, 193, -1,
1191 190, -1, 175, -1, 183, -1, 187, -1, 177, -1,
1192 199, -1, 167, -1, 168, -1, 180, -1, 85, 218,
1193 99, 215, -1, 86, 218, 99, 215, -1, 20, 218,
1194 99, 215, -1, 14, 217, 478, 216, 215, -1, 478,
1195 479, -1, 479, -1, 487, -1, 482, -1, 483, -1,
1196 484, -1, 485, -1, 486, -1, 488, -1, 489, -1,
1197 490, -1, 481, -1, 491, -1, 492, -1, 493, -1,
1198 480, -1, 1, -1, 27, 218, 160, 215, -1, 127,
1199 218, 160, 215, -1, 66, 218, 224, 215, -1, 67,
1200 218, 224, 215, -1, 75, 218, 99, 215, -1, 74,
1201 218, 99, 215, -1, 119, 218, 160, 215, -1, 73,
1202 218, 99, 215, -1, 22, 218, 99, 215, -1, 21,
1203 218, 99, 215, -1, 95, 218, 160, 215, -1, 96,
1204 218, 160, 215, -1, 108, 218, 99, 215, -1, 109,
1205 218, 224, 215, -1, 145, 217, 495, 216, 215, -1,
1206 495, 496, -1, 496, -1, 497, -1, 498, -1, 500,
1207 -1, 501, -1, 499, -1, 502, -1, 1, -1, 37,
1208 218, 160, 215, -1, 54, 218, 160, 215, -1, 52,
1209 218, 118, 215, -1, 69, 218, 224, 215, -1, 51,
1210 218, 160, 215, -1, 53, 218, 160, 215, -1
1211 };
1212
1213 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1214 static const yytype_uint16 yyrline[] =
1215 {
1216 0, 330, 330, 331, 334, 335, 336, 337, 338, 339,
1217 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
1218 350, 351, 352, 353, 354, 355, 359, 359, 360, 364,
1219 368, 372, 376, 380, 386, 386, 387, 388, 389, 390,
1220 397, 400, 400, 401, 401, 401, 403, 409, 416, 418,
1221 418, 419, 419, 420, 420, 421, 421, 422, 422, 423,
1222 423, 424, 424, 425, 425, 426, 427, 430, 431, 433,
1223 433, 434, 440, 448, 448, 449, 455, 463, 502, 561,
1224 589, 597, 612, 627, 636, 650, 659, 687, 717, 740,
1225 749, 751, 751, 752, 752, 753, 753, 755, 764, 773,
1226 785, 786, 786, 788, 788, 789, 791, 798, 798, 808,
1227 809, 811, 811, 812, 812, 814, 819, 822, 828, 827,
1228 833, 833, 834, 838, 842, 846, 850, 854, 858, 869,
1229 868, 966, 966, 967, 967, 967, 968, 968, 968, 969,
1230 969, 969, 971, 980, 1017, 1029, 1040, 1082, 1092, 1091,
1231 1097, 1097, 1098, 1102, 1106, 1110, 1114, 1118, 1122, 1126,
1232 1130, 1134, 1138, 1142, 1146, 1150, 1154, 1158, 1162, 1166,
1233 1170, 1174, 1181, 1180, 1186, 1186, 1187, 1191, 1195, 1199,
1234 1203, 1207, 1211, 1215, 1219, 1223, 1227, 1231, 1235, 1239,
1235 1243, 1247, 1251, 1255, 1259, 1270, 1269, 1319, 1319, 1320,
1236 1321, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329,
1237 1330, 1331, 1331, 1332, 1334, 1343, 1349, 1355, 1361, 1367,
1238 1373, 1379, 1385, 1391, 1397, 1404, 1410, 1416, 1426, 1425,
1239 1442, 1441, 1446, 1446, 1447, 1451, 1455, 1463, 1463, 1464,
1240 1464, 1464, 1464, 1464, 1466, 1466, 1468, 1468, 1470, 1484,
1241 1504, 1513, 1526, 1525, 1594, 1594, 1595, 1595, 1595, 1595,
1242 1596, 1596, 1596, 1597, 1597, 1599, 1634, 1647, 1656, 1668,
1243 1667, 1671, 1671, 1672, 1676, 1680, 1684, 1688, 1692, 1696,
1244 1700, 1704, 1710, 1729, 1739, 1753, 1752, 1768, 1768, 1769,
1245 1769, 1769, 1769, 1771, 1780, 1795, 1808, 1810, 1810, 1811,
1246 1811, 1813, 1829, 1828, 1844, 1844, 1845, 1845, 1845, 1845,
1247 1847, 1856, 1879, 1878, 1884, 1884, 1885, 1889, 1893, 1897,
1248 1901, 1905, 1909, 1913, 1917, 1921, 1931, 1930, 1947, 1947,
1249 1948, 1948, 1948, 1950, 1957, 1956, 1962, 1962, 1963, 1967,
1250 1971, 1975, 1979, 1983, 1987, 1991, 1995, 1999, 2009, 2008,
1251 2059, 2059, 2060, 2060, 2060, 2061, 2061, 2062, 2062, 2062,
1252 2063, 2063, 2063, 2064, 2064, 2065, 2067, 2076, 2085, 2111,
1253 2129, 2147, 2153, 2157, 2166, 2165, 2169, 2169, 2170, 2174,
1254 2180, 2191, 2202, 2213, 2222, 2241, 2240, 2306, 2305, 2309,
1255 2309, 2310, 2316, 2316, 2317, 2317, 2317, 2317, 2319, 2338,
1256 2348, 2347, 2372, 2372, 2373, 2373, 2373, 2375, 2381, 2390,
1257 2392, 2392, 2393, 2393, 2395, 2414, 2413, 2461, 2460, 2464,
1258 2464, 2465, 2471, 2471, 2472, 2472, 2472, 2472, 2474, 2480,
1259 2489, 2492, 2492, 2493, 2493, 2494, 2494, 2495, 2495, 2496,
1260 2496, 2497, 2497, 2498, 2499, 2500, 2500, 2501, 2501, 2502,
1261 2502, 2503, 2503, 2504, 2504, 2505, 2505, 2506, 2507, 2507,
1262 2508, 2508, 2509, 2509, 2510, 2510, 2511, 2511, 2512, 2513,
1263 2513, 2514, 2515, 2516, 2516, 2517, 2517, 2518, 2519, 2520,
1264 2521, 2521, 2522, 2525, 2530, 2536, 2542, 2548, 2553, 2558,
1265 2563, 2568, 2573, 2578, 2583, 2588, 2593, 2598, 2603, 2608,
1266 2613, 2618, 2624, 2635, 2640, 2645, 2650, 2655, 2660, 2663,
1267 2668, 2671, 2676, 2681, 2686, 2691, 2696, 2701, 2706, 2711,
1268 2716, 2727, 2732, 2737, 2742, 2751, 2760, 2765, 2770, 2776,
1269 2775, 2780, 2780, 2781, 2784, 2787, 2790, 2793, 2796, 2799,
1270 2802, 2805, 2808, 2811, 2814, 2817, 2820, 2823, 2826, 2829,
1271 2832, 2835, 2838, 2844, 2843, 2848, 2848, 2849, 2852, 2855,
1272 2858, 2861, 2864, 2867, 2870, 2873, 2876, 2879, 2882, 2885,
1273 2888, 2891, 2894, 2897, 2900, 2903, 2906, 2911, 2916, 2921,
1274 2930, 2933, 2933, 2934, 2935, 2935, 2936, 2936, 2937, 2937,
1275 2938, 2939, 2939, 2940, 2941, 2941, 2942, 2942, 2944, 2949,
1276 2954, 2959, 2964, 2969, 2974, 2979, 2984, 2989, 2994, 2999,
1277 3004, 3009, 3017, 3020, 3020, 3021, 3021, 3022, 3023, 3023,
1278 3024, 3025, 3027, 3033, 3039, 3048, 3062, 3068
1279 };
1280 #endif
1281
1282 #if YYDEBUG || YYERROR_VERBOSE || 0
1283 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1284 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1285 static const char *const yytname[] =
1286 {
1287 "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1288 "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1289 "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1290 "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1291 "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1292 "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1293 "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1294 "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1295 "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1296 "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1297 "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1298 "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1299 "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1300 "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1301 "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1302 "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1303 "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1304 "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1305 "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1306 "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1307 "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1308 "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1309 "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1310 "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1311 "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1312 "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1313 "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1314 "PING_TIME", "PING_WARNING", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON",
1315 "REDIRPORT", "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1316 "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1317 "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1318 "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1319 "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",
1320 "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1321 "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1322 "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1323 "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1324 "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1325 "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1326 "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1327 "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1328 "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1329 "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1330 "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1331 "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1332 "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1333 "USE_LOGGING", "VHOST", "VHOST6", "XLINE", "WARN_NO_NLINE", "T_SIZE",
1334 "T_FILE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",
1335 "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1336 "modules_entry", "modules_items", "modules_item", "modules_module",
1337 "modules_path", "serverinfo_entry", "serverinfo_items",
1338 "serverinfo_item", "serverinfo_ssl_client_method",
1339 "serverinfo_ssl_server_method", "client_method_types",
1340 "client_method_type_item", "server_method_types",
1341 "server_method_type_item", "serverinfo_ssl_certificate_file",
1342 "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1343 "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1344 "serverinfo_description", "serverinfo_network_name",
1345 "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1346 "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1347 "admin_item", "admin_name", "admin_email", "admin_description",
1348 "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1349 "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1350 "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1351 "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1352 "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1353 "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1354 "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1355 "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1356 "class_entry", "$@6", "class_items", "class_item", "class_name",
1357 "class_ping_time", "class_ping_warning", "class_number_per_ip",
1358 "class_connectfreq", "class_max_number", "class_max_global",
1359 "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1360 "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1361 "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1362 "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1363 "listen_port", "$@9", "port_items", "port_item", "listen_address",
1364 "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1365 "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1366 "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1367 "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1368 "resv_item", "resv_creason", "resv_channel", "resv_nick",
1369 "service_entry", "service_items", "service_item", "service_name",
1370 "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1371 "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1372 "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1373 "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1374 "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1375 "connect_host", "connect_vhost", "connect_send_password",
1376 "connect_accept_password", "connect_port", "connect_aftype",
1377 "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1378 "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1379 "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1380 "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1381 "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1382 "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1383 "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1384 "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1385 "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1386 "general_entry", "general_items", "general_item", "general_max_watch",
1387 "general_gline_enable", "general_gline_duration",
1388 "general_gline_request_duration", "general_gline_min_cidr",
1389 "general_gline_min_cidr6", "general_tkline_expire_notices",
1390 "general_kill_chase_time_limit", "general_hide_spoof_ips",
1391 "general_ignore_bogus_ts", "general_disable_remote_commands",
1392 "general_failed_oper_notice", "general_anti_nick_flood",
1393 "general_max_nick_time", "general_max_nick_changes",
1394 "general_max_accept", "general_anti_spam_exit_message_time",
1395 "general_ts_warn_delta", "general_ts_max_delta",
1396 "general_havent_read_conf", "general_invisible_on_connect",
1397 "general_warn_no_nline", "general_stats_e_disabled",
1398 "general_stats_o_oper_only", "general_stats_P_oper_only",
1399 "general_stats_k_oper_only", "general_stats_i_oper_only",
1400 "general_pace_wait", "general_caller_id_wait",
1401 "general_opers_bypass_callerid", "general_pace_wait_simple",
1402 "general_short_motd", "general_no_oper_flood",
1403 "general_true_no_oper_flood", "general_oper_pass_resv",
1404 "general_message_locale", "general_dots_in_ident", "general_max_targets",
1405 "general_use_egd", "general_egdpool_path", "general_services_name",
1406 "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1407 "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1408 "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1409 "general_min_nonwildcard", "general_min_nonwildcard_simple",
1410 "general_default_floodcount", "channel_entry", "channel_items",
1411 "channel_item", "channel_disable_fake_channels",
1412 "channel_restrict_channels", "channel_knock_delay",
1413 "channel_knock_delay_channel", "channel_max_chans_per_user",
1414 "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1415 "channel_default_split_user_count", "channel_default_split_server_count",
1416 "channel_no_create_on_split", "channel_no_join_on_split",
1417 "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1418 "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1419 "serverhide_hide_servers", "serverhide_hidden_name",
1420 "serverhide_links_delay", "serverhide_hidden",
1421 "serverhide_hide_server_ips", YY_NULL
1422 };
1423 #endif
1424
1425 # ifdef YYPRINT
1426 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1427 token YYLEX-NUM. */
1428 static const yytype_uint16 yytoknum[] =
1429 {
1430 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1431 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1432 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1433 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1434 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1435 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1436 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1437 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1438 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1439 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1440 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1441 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1442 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1443 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1444 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1445 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1446 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1447 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1448 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1449 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1450 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1451 465, 466, 467, 468, 469, 59, 125, 123, 61, 44
1452 };
1453 # endif
1454
1455 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1456 static const yytype_uint16 yyr1[] =
1457 {
1458 0, 220, 221, 221, 222, 222, 222, 222, 222, 222,
1459 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
1460 222, 222, 222, 222, 222, 222, 223, 223, 224, 224,
1461 224, 224, 224, 224, 225, 225, 226, 226, 226, 226,
1462 227, 228, 228, 229, 229, 229, 230, 231, 232, 233,
1463 233, 234, 234, 234, 234, 234, 234, 234, 234, 234,
1464 234, 234, 234, 234, 234, 234, 234, 235, 236, 237,
1465 237, 238, 238, 239, 239, 240, 240, 241, 242, 243,
1466 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1467 254, 255, 255, 256, 256, 256, 256, 257, 258, 259,
1468 260, 261, 261, 262, 262, 262, 263, 265, 264, 266,
1469 266, 267, 267, 267, 267, 268, 269, 269, 271, 270,
1470 272, 272, 273, 273, 273, 273, 273, 273, 273, 275,
1471 274, 276, 276, 277, 277, 277, 277, 277, 277, 277,
1472 277, 277, 278, 279, 280, 281, 282, 283, 285, 284,
1473 286, 286, 287, 287, 287, 287, 287, 287, 287, 287,
1474 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
1475 287, 287, 289, 288, 290, 290, 291, 291, 291, 291,
1476 291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
1477 291, 291, 291, 291, 291, 293, 292, 294, 294, 295,
1478 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
1479 295, 295, 295, 295, 296, 297, 298, 299, 300, 301,
1480 302, 303, 304, 305, 306, 307, 308, 309, 311, 310,
1481 313, 312, 314, 314, 315, 315, 315, 316, 316, 317,
1482 317, 317, 317, 317, 319, 318, 320, 320, 321, 321,
1483 322, 323, 325, 324, 326, 326, 327, 327, 327, 327,
1484 327, 327, 327, 327, 327, 328, 329, 330, 331, 333,
1485 332, 334, 334, 335, 335, 335, 335, 335, 335, 335,
1486 335, 335, 336, 337, 338, 340, 339, 341, 341, 342,
1487 342, 342, 342, 343, 344, 345, 346, 347, 347, 348,
1488 348, 349, 351, 350, 352, 352, 353, 353, 353, 353,
1489 354, 355, 357, 356, 358, 358, 359, 359, 359, 359,
1490 359, 359, 359, 359, 359, 359, 361, 360, 362, 362,
1491 363, 363, 363, 364, 366, 365, 367, 367, 368, 368,
1492 368, 368, 368, 368, 368, 368, 368, 368, 370, 369,
1493 371, 371, 372, 372, 372, 372, 372, 372, 372, 372,
1494 372, 372, 372, 372, 372, 372, 373, 374, 375, 376,
1495 377, 378, 379, 379, 381, 380, 382, 382, 383, 383,
1496 384, 385, 386, 387, 388, 390, 389, 392, 391, 393,
1497 393, 394, 395, 395, 396, 396, 396, 396, 397, 398,
1498 400, 399, 401, 401, 402, 402, 402, 403, 404, 405,
1499 406, 406, 407, 407, 408, 410, 409, 412, 411, 413,
1500 413, 414, 415, 415, 416, 416, 416, 416, 417, 418,
1501 419, 420, 420, 421, 421, 421, 421, 421, 421, 421,
1502 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
1503 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
1504 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
1505 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
1506 421, 421, 421, 422, 423, 424, 425, 426, 427, 428,
1507 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
1508 439, 440, 441, 442, 443, 444, 445, 446, 447, 447,
1509 448, 448, 449, 450, 451, 452, 453, 454, 455, 456,
1510 457, 458, 459, 460, 461, 462, 463, 464, 465, 467,
1511 466, 468, 468, 469, 469, 469, 469, 469, 469, 469,
1512 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
1513 469, 469, 469, 471, 470, 472, 472, 473, 473, 473,
1514 473, 473, 473, 473, 473, 473, 473, 473, 473, 473,
1515 473, 473, 473, 473, 473, 473, 473, 474, 475, 476,
1516 477, 478, 478, 479, 479, 479, 479, 479, 479, 479,
1517 479, 479, 479, 479, 479, 479, 479, 479, 480, 481,
1518 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
1519 492, 493, 494, 495, 495, 496, 496, 496, 496, 496,
1520 496, 496, 497, 498, 499, 500, 501, 502
1521 };
1522
1523 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1524 static const yytype_uint8 yyr2[] =
1525 {
1526 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1527 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1528 1, 1, 1, 1, 2, 2, 0, 1, 2, 3,
1529 3, 3, 3, 3, 0, 1, 2, 3, 3, 3,
1530 5, 2, 1, 1, 1, 2, 4, 4, 5, 2,
1531 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1532 1, 1, 1, 1, 1, 1, 2, 4, 4, 3,
1533 1, 1, 1, 3, 1, 1, 1, 4, 4, 4,
1534 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1535 5, 2, 1, 1, 1, 1, 2, 4, 4, 4,
1536 5, 2, 1, 1, 1, 2, 4, 0, 6, 2,
1537 1, 1, 1, 1, 2, 4, 4, 4, 0, 5,
1538 3, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1539 6, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1540 1, 2, 4, 4, 4, 4, 4, 4, 0, 5,
1541 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1542 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1543 1, 1, 0, 5, 3, 1, 1, 1, 1, 1,
1544 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1545 1, 1, 1, 1, 1, 0, 6, 2, 1, 1,
1546 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1547 1, 1, 1, 2, 4, 4, 4, 4, 4, 4,
1548 4, 4, 4, 4, 4, 4, 4, 4, 0, 6,
1549 0, 5, 3, 1, 1, 1, 1, 2, 1, 1,
1550 1, 1, 1, 2, 0, 5, 3, 1, 1, 3,
1551 4, 4, 0, 6, 2, 1, 1, 1, 1, 1,
1552 1, 1, 1, 1, 2, 4, 4, 4, 4, 0,
1553 5, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1554 1, 1, 4, 4, 4, 0, 6, 2, 1, 1,
1555 1, 1, 2, 4, 4, 4, 5, 2, 1, 1,
1556 1, 4, 0, 6, 2, 1, 1, 1, 1, 2,
1557 4, 4, 0, 5, 3, 1, 1, 1, 1, 1,
1558 1, 1, 1, 1, 1, 1, 0, 6, 2, 1,
1559 1, 1, 2, 4, 0, 5, 3, 1, 1, 1,
1560 1, 1, 1, 1, 1, 1, 1, 1, 0, 6,
1561 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1562 1, 1, 1, 1, 1, 2, 4, 4, 4, 4,
1563 4, 4, 4, 4, 0, 5, 3, 1, 1, 1,
1564 4, 4, 4, 4, 4, 0, 6, 0, 5, 3,
1565 1, 1, 2, 1, 1, 1, 1, 1, 4, 4,
1566 0, 6, 2, 1, 1, 1, 1, 4, 4, 5,
1567 2, 1, 1, 1, 4, 0, 6, 0, 5, 3,
1568 1, 1, 2, 1, 1, 1, 1, 1, 4, 4,
1569 5, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1570 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1571 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1572 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1573 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1574 1, 1, 1, 4, 4, 4, 4, 4, 4, 4,
1575 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1576 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1577 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1578 4, 4, 4, 4, 4, 4, 4, 4, 4, 0,
1579 5, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1581 1, 1, 1, 0, 5, 3, 1, 1, 1, 1,
1582 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1583 1, 1, 1, 1, 1, 1, 1, 4, 4, 4,
1584 5, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1585 1, 1, 1, 1, 1, 1, 1, 1, 4, 4,
1586 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1587 4, 4, 5, 2, 1, 1, 1, 1, 1, 1,
1588 1, 1, 4, 4, 4, 4, 4, 4
1589 };
1590
1591 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1592 Performed when YYTABLE doesn't specify something else to do. Zero
1593 means the default is an error. */
1594 static const yytype_uint16 yydefact[] =
1595 {
1596 2, 0, 1, 0, 0, 0, 195, 348, 400, 0,
1597 415, 0, 252, 385, 228, 0, 0, 129, 285, 0,
1598 0, 302, 326, 0, 3, 23, 11, 4, 5, 6,
1599 8, 9, 10, 13, 14, 15, 16, 17, 18, 19,
1600 20, 22, 21, 7, 12, 24, 25, 0, 0, 0,
1601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1603 0, 0, 92, 93, 95, 94, 597, 0, 0, 0,
1604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1605 0, 0, 582, 596, 592, 584, 585, 586, 587, 588,
1606 583, 589, 590, 591, 593, 594, 595, 0, 0, 0,
1607 413, 0, 0, 411, 412, 0, 482, 0, 0, 0,
1608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1610 0, 0, 0, 0, 0, 0, 553, 0, 529, 0,
1611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1612 0, 0, 0, 0, 0, 0, 0, 432, 480, 474,
1613 475, 476, 477, 478, 473, 443, 433, 434, 468, 435,
1614 436, 437, 438, 439, 440, 441, 442, 470, 444, 445,
1615 479, 447, 452, 448, 450, 449, 463, 464, 451, 453,
1616 454, 455, 456, 457, 446, 459, 460, 461, 481, 471,
1617 472, 469, 462, 458, 466, 467, 465, 0, 0, 0,
1618 0, 0, 0, 102, 103, 104, 0, 0, 0, 0,
1619 0, 42, 43, 44, 0, 0, 621, 0, 0, 0,
1620 0, 0, 0, 0, 614, 615, 616, 619, 617, 618,
1621 620, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0, 50, 63,
1623 64, 62, 59, 58, 65, 51, 61, 54, 55, 56,
1624 52, 60, 57, 53, 0, 0, 300, 0, 0, 298,
1625 299, 96, 0, 0, 0, 0, 91, 0, 0, 0,
1626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1627 0, 0, 581, 0, 0, 0, 0, 0, 0, 0,
1628 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
1629 199, 202, 203, 205, 206, 207, 208, 209, 210, 211,
1630 212, 200, 201, 204, 0, 0, 0, 0, 0, 374,
1631 0, 0, 0, 0, 0, 0, 0, 0, 0, 351,
1632 352, 353, 354, 355, 356, 358, 357, 360, 364, 361,
1633 362, 363, 359, 406, 0, 0, 0, 403, 404, 405,
1634 0, 0, 410, 427, 0, 0, 417, 426, 0, 423,
1635 424, 425, 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, 431, 0, 0, 0, 269, 0, 0, 0,
1641 0, 0, 0, 255, 256, 257, 258, 263, 259, 260,
1642 261, 262, 397, 0, 387, 0, 396, 0, 393, 394,
1643 395, 0, 230, 0, 0, 0, 240, 0, 238, 239,
1644 241, 242, 105, 0, 0, 101, 0, 45, 0, 0,
1645 0, 41, 0, 0, 0, 172, 0, 0, 0, 148,
1646 0, 0, 132, 133, 134, 135, 138, 139, 137, 136,
1647 140, 0, 0, 0, 0, 0, 288, 289, 290, 291,
1648 0, 0, 0, 0, 0, 0, 0, 613, 66, 0,
1649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 0, 49, 0, 0, 312, 0,
1651 0, 305, 306, 307, 308, 0, 0, 334, 0, 329,
1652 330, 331, 0, 0, 297, 0, 0, 0, 90, 0,
1653 0, 0, 26, 0, 0, 0, 0, 0, 0, 0,
1654 0, 0, 0, 0, 580, 213, 0, 0, 0, 0,
1655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1656 0, 197, 365, 0, 0, 0, 0, 0, 0, 0,
1657 0, 0, 0, 0, 0, 0, 0, 350, 0, 0,
1658 0, 402, 0, 409, 0, 0, 0, 0, 422, 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, 0, 0, 0, 0, 0,
1662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1664 430, 264, 0, 0, 0, 0, 0, 0, 0, 0,
1665 0, 254, 0, 0, 0, 0, 392, 243, 0, 0,
1666 0, 0, 0, 237, 0, 100, 0, 0, 0, 40,
1667 141, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1668 131, 292, 0, 0, 0, 0, 287, 0, 0, 0,
1669 0, 0, 0, 612, 0, 0, 0, 0, 0, 0,
1670 0, 0, 71, 72, 0, 70, 75, 76, 0, 74,
1671 0, 0, 0, 0, 0, 48, 309, 0, 0, 0,
1672 0, 304, 332, 0, 0, 0, 328, 0, 296, 99,
1673 98, 97, 607, 606, 598, 26, 26, 26, 26, 26,
1674 28, 27, 600, 601, 605, 603, 602, 608, 609, 610,
1675 611, 604, 599, 0, 0, 0, 0, 0, 0, 0,
1676 0, 0, 0, 0, 0, 34, 0, 0, 196, 0,
1677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1678 0, 0, 0, 349, 0, 0, 401, 414, 0, 0,
1679 0, 416, 495, 499, 513, 579, 527, 493, 521, 524,
1680 494, 485, 484, 486, 487, 488, 502, 491, 492, 503,
1681 490, 498, 497, 496, 522, 483, 520, 577, 578, 517,
1682 514, 564, 557, 574, 575, 558, 559, 560, 561, 569,
1683 562, 572, 576, 565, 570, 566, 571, 563, 568, 567,
1684 573, 0, 556, 519, 539, 533, 550, 551, 534, 535,
1685 536, 537, 545, 538, 548, 552, 541, 546, 542, 547,
1686 540, 544, 543, 549, 0, 532, 512, 515, 526, 489,
1687 516, 505, 510, 511, 508, 509, 506, 507, 501, 500,
1688 525, 528, 518, 523, 504, 0, 0, 0, 0, 0,
1689 0, 0, 0, 253, 0, 0, 0, 386, 0, 0,
1690 0, 248, 244, 247, 229, 106, 0, 0, 118, 0,
1691 0, 110, 111, 113, 112, 46, 47, 0, 0, 0,
1692 0, 0, 0, 0, 0, 130, 0, 0, 0, 286,
1693 622, 626, 624, 627, 623, 625, 83, 89, 81, 85,
1694 84, 78, 77, 79, 67, 0, 68, 0, 82, 80,
1695 88, 86, 87, 0, 0, 0, 303, 0, 0, 327,
1696 301, 29, 30, 31, 32, 33, 225, 226, 218, 220,
1697 222, 221, 219, 214, 227, 217, 215, 216, 34, 34,
1698 34, 36, 35, 223, 224, 370, 372, 373, 383, 380,
1699 378, 379, 0, 377, 367, 381, 382, 366, 371, 369,
1700 384, 368, 407, 408, 428, 429, 421, 0, 420, 554,
1701 0, 530, 0, 267, 268, 277, 274, 279, 276, 275,
1702 281, 278, 280, 273, 0, 272, 266, 284, 283, 282,
1703 265, 399, 391, 0, 390, 398, 235, 236, 234, 0,
1704 233, 251, 250, 0, 0, 0, 114, 0, 0, 0,
1705 0, 109, 147, 145, 187, 184, 183, 176, 178, 194,
1706 188, 191, 186, 177, 192, 180, 189, 193, 181, 190,
1707 185, 179, 182, 0, 175, 142, 144, 146, 158, 152,
1708 169, 170, 153, 154, 155, 156, 164, 157, 167, 171,
1709 160, 165, 161, 166, 159, 163, 162, 168, 0, 151,
1710 143, 294, 295, 293, 69, 73, 310, 316, 322, 325,
1711 318, 324, 319, 323, 321, 317, 320, 0, 315, 311,
1712 333, 338, 344, 347, 340, 346, 341, 345, 343, 339,
1713 342, 0, 337, 37, 38, 39, 375, 0, 418, 0,
1714 555, 531, 270, 0, 388, 0, 231, 0, 249, 246,
1715 245, 0, 0, 0, 0, 108, 173, 0, 149, 0,
1716 313, 0, 335, 0, 376, 419, 271, 389, 232, 115,
1717 124, 127, 126, 123, 128, 125, 122, 0, 121, 117,
1718 116, 174, 150, 314, 336, 119, 0, 120
1719 };
1720
1721 /* YYDEFGOTO[NTERM-NUM]. */
1722 static const yytype_int16 yydefgoto[] =
1723 {
1724 -1, 1, 24, 780, 781, 1021, 1022, 25, 230, 231,
1725 232, 233, 26, 267, 268, 269, 270, 744, 745, 748,
1726 749, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1727 280, 281, 282, 283, 27, 71, 72, 73, 74, 75,
1728 28, 222, 223, 224, 225, 226, 950, 951, 952, 953,
1729 954, 1088, 1217, 1218, 29, 60, 501, 502, 503, 504,
1730 505, 506, 507, 508, 509, 717, 1138, 1139, 510, 713,
1731 1113, 1114, 30, 49, 328, 329, 330, 331, 332, 333,
1732 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
1733 31, 57, 476, 698, 1079, 1080, 477, 478, 479, 1085,
1734 942, 943, 480, 481, 32, 55, 452, 453, 454, 455,
1735 456, 457, 458, 684, 1064, 1065, 459, 460, 461, 33,
1736 61, 515, 516, 517, 518, 519, 34, 288, 289, 290,
1737 35, 64, 550, 551, 552, 553, 554, 758, 1157, 1158,
1738 36, 65, 558, 559, 560, 561, 764, 1171, 1172, 37,
1739 50, 358, 359, 360, 361, 362, 363, 364, 365, 366,
1740 367, 607, 1032, 1033, 368, 369, 370, 371, 372, 38,
1741 56, 466, 693, 1073, 1074, 467, 468, 469, 470, 39,
1742 51, 376, 377, 378, 379, 40, 112, 113, 114, 41,
1743 53, 387, 626, 1047, 1048, 388, 389, 390, 391, 42,
1744 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1745 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1746 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1747 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1748 206, 207, 208, 209, 210, 211, 212, 423, 904, 905,
1749 213, 421, 881, 882, 214, 215, 216, 43, 91, 92,
1750 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1751 103, 104, 105, 106, 44, 243, 244, 245, 246, 247,
1752 248, 249, 250
1753 };
1754
1755 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1756 STATE-NUM. */
1757 #define YYPACT_NINF -744
1758 static const yytype_int16 yypact[] =
1759 {
1760 -744, 610, -744, -209, -187, -179, -744, -744, -744, -176,
1761 -744, -171, -744, -744, -744, -166, -164, -744, -744, -139,
1762 -136, -744, -744, -131, -744, -744, -744, -744, -744, -744,
1763 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1764 -744, -744, -744, -744, -744, -744, -744, 61, 807, -126,
1765 -104, -84, 16, -79, 382, -77, -63, -60, 7, 21,
1766 -49, -40, 638, 381, -26, 52, 25, -152, 62, 85,
1767 86, 18, -744, -744, -744, -744, -744, 88, 89, 93,
1768 94, 96, 101, 108, 112, 118, 119, 125, 127, 132,
1769 133, 162, -744, -744, -744, -744, -744, -744, -744, -744,
1770 -744, -744, -744, -744, -744, -744, -744, 531, 499, 266,
1771 -744, 135, 28, -744, -744, 11, -744, 142, 143, 145,
1772 147, 148, 150, 153, 163, 166, 167, 169, 173, 174,
1773 175, 177, 178, 180, 182, 183, 185, 191, 197, 200,
1774 201, 202, 204, 211, 212, 215, -744, 216, -744, 217,
1775 218, 221, 222, 225, 226, 229, 234, 235, 237, 238,
1776 239, 242, 253, 256, 257, 262, 38, -744, -744, -744,
1777 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1778 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1779 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1780 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1781 -744, -744, -744, -744, -744, -744, -744, 337, 24, 259,
1782 73, 263, 4, -744, -744, -744, 126, 131, 264, 270,
1783 59, -744, -744, -744, 389, 209, -744, 276, 279, 280,
1784 281, 285, 287, 3, -744, -744, -744, -744, -744, -744,
1785 -744, 149, 288, 289, 290, 292, 299, 301, 302, 303,
1786 304, 305, 307, 308, 315, 324, 330, 75, -744, -744,
1787 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1788 -744, -744, -744, -744, 208, 30, -744, 331, 15, -744,
1789 -744, -744, 107, 254, 359, 165, -744, 385, 396, 367,
1790 454, 454, 455, 457, 461, 399, 401, 464, 454, 404,
1791 405, 351, -744, 358, 356, 360, 361, 362, 364, 365,
1792 369, 374, 375, 379, 383, 386, 388, 395, 232, -744,
1793 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1794 -744, -744, -744, -744, 384, 397, 400, 403, 408, -744,
1795 411, 412, 420, 423, 424, 427, 433, 434, 260, -744,
1796 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1797 -744, -744, -744, -744, 435, 437, 8, -744, -744, -744,
1798 458, 407, -744, -744, 441, 442, -744, -744, 36, -744,
1799 -744, -744, 417, 454, 454, 501, 443, 459, 524, 543,
1800 502, 454, 503, 454, 565, 567, 568, 508, 509, 513,
1801 454, 577, 578, 454, 580, 583, 566, 584, 587, 527,
1802 528, 475, 535, 478, 454, 454, 537, 540, 541, 542,
1803 -146, -133, 544, 546, 454, 454, 585, 454, 550, 553,
1804 554, 510, -744, 515, 514, 517, -744, 519, 521, 525,
1805 529, 530, 58, -744, -744, -744, -744, -744, -744, -744,
1806 -744, -744, -744, 533, -744, 534, -744, 10, -744, -744,
1807 -744, 538, -744, 536, 539, 545, -744, 115, -744, -744,
1808 -744, -744, -744, 582, 547, -744, 532, -744, 640, 643,
1809 549, -744, 555, 559, 560, -744, 562, 569, 572, -744,
1810 573, 70, -744, -744, -744, -744, -744, -744, -744, -744,
1811 -744, 558, 588, 595, 597, 146, -744, -744, -744, -744,
1812 623, 625, 687, 658, 659, 454, 606, -744, -744, 704,
1813 663, 706, 707, 709, 713, 714, 715, 79, 159, 717,
1814 718, 646, 719, 720, 626, -744, 628, 622, -744, 624,
1815 128, -744, -744, -744, -744, 629, 630, -744, 22, -744,
1816 -744, -744, 728, 632, -744, 634, 635, 636, -744, 637,
1817 639, 641, 430, 642, 645, 648, 649, 650, 651, 652,
1818 653, 654, 656, 657, -744, -744, 754, 756, 454, 759,
1819 776, 778, 779, 761, 784, 785, 454, 454, 786, 786,
1820 671, -744, -744, 769, 122, 770, 729, 672, 773, 774,
1821 775, 777, 795, 780, 781, 782, 681, -744, 783, 787,
1822 682, -744, 689, -744, 788, 789, 690, 694, -744, 695,
1823 696, 697, 698, 699, 702, 703, 705, 708, 710, 712,
1824 716, 721, 722, 723, 724, 725, 726, 727, 730, 731,
1825 732, 733, 734, 735, 736, 737, 738, 739, 551, 740,
1826 599, 741, 742, 743, 744, 745, 746, 747, 748, 749,
1827 750, 751, 752, 753, 755, 757, 758, 760, 762, 763,
1828 -744, -744, 801, 764, 711, 803, 823, 810, 812, 814,
1829 765, -744, 815, 766, 817, 767, -744, -744, 768, 825,
1830 826, 870, 772, -744, 790, -744, 184, 791, 792, -744,
1831 -744, 853, 816, 771, 856, 861, 863, 793, 865, 794,
1832 -744, -744, 867, 872, 873, 797, -744, 798, 799, 800,
1833 802, 804, 805, -744, 806, 808, 809, 811, 813, 818,
1834 819, 820, -744, -744, -195, -744, -744, -744, -172, -744,
1835 821, 822, 824, 827, 828, -744, -744, 874, 829, 875,
1836 830, -744, -744, 876, 831, 833, -744, 835, -744, -744,
1837 -744, -744, -744, -744, -744, 454, 454, 454, 454, 454,
1838 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1839 -744, -744, -744, 836, 837, 838, 839, 840, 841, 842,
1840 843, 844, 845, 846, 847, 314, 848, 849, -744, 850,
1841 851, 852, 854, 855, 13, 857, 858, 859, 860, 862,
1842 864, 866, 868, -744, 869, 871, -744, -744, 877, 878,
1843 879, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1844 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1845 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1846 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1847 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1848 -744, -167, -744, -744, -744, -744, -744, -744, -744, -744,
1849 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1850 -744, -744, -744, -744, -154, -744, -744, -744, -744, -744,
1851 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1852 -744, -744, -744, -744, -744, 880, 881, 309, 882, 883,
1853 884, 885, 886, -744, 887, 893, 888, -744, -33, 889,
1854 890, 832, 891, -744, -744, -744, 892, 894, -744, 895,
1855 154, -744, -744, -744, -744, -744, -744, 896, 899, 511,
1856 900, 901, 902, 627, 903, -744, 904, 905, 906, -744,
1857 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1858 -744, -744, -744, -744, -744, 79, -744, 159, -744, -744,
1859 -744, -744, -744, 907, 460, 908, -744, 909, 665, -744,
1860 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1861 -744, -744, -744, -744, -744, -744, -744, -744, 786, 786,
1862 786, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1863 -744, -744, -145, -744, -744, -744, -744, -744, -744, -744,
1864 -744, -744, -744, -744, -744, -744, -744, -50, -744, -744,
1865 551, -744, 599, -744, -744, -744, -744, -744, -744, -744,
1866 -744, -744, -744, -744, -41, -744, -744, -744, -744, -744,
1867 -744, -744, -744, -27, -744, -744, -744, -744, -744, -17,
1868 -744, -744, -744, 898, 870, 910, -744, 911, 912, -86,
1869 913, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1870 -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
1871 -744, -744, -744, 34, -744, -744, -744, -744, -744, -744,
1872 -744, -