/[svn]/ircd-hybrid-7.2/src/ircd_parser.c
ViewVC logotype

Contents of /ircd-hybrid-7.2/src/ircd_parser.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1011 - (show annotations)
Fri Sep 18 10:14:09 2009 UTC (11 years, 5 months ago) by michael
File MIME type: text/x-chdr
File size: 258505 byte(s)
- move list manipulation routines from tools.c to list.c
- mem_frob() goes to memory.c
- sort out redundant/unneeded header includes

1
2 /* A Bison parser, made by GNU Bison 2.4.1. */
3
4 /* Skeleton implementation for Bison's Yacc-like parsers in C
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 Free Software Foundation, Inc.
8
9 This program is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
21
22 /* As a special exception, you may create a larger work that contains
23 part or all of the Bison parser skeleton and distribute that work
24 under terms of your choice, so long as that work isn't itself a
25 parser generator using the skeleton or a modified version thereof
26 as a parser skeleton. Alternatively, if you modify or redistribute
27 the parser skeleton itself, you may (at your option) remove this
28 special exception, which will cause the skeleton and the resulting
29 Bison output files to be licensed under the GNU General Public
30 License without this special exception.
31
32 This special exception was added by the Free Software Foundation in
33 version 2.2 of Bison. */
34
35 /* C LALR(1) parser skeleton written by Richard Stallman, by
36 simplifying the original so-called "semantic" parser. */
37
38 /* All symbols defined below should begin with yy or YY, to avoid
39 infringing on user name space. This should be done even for local
40 variables, as they might otherwise be expanded by user macros.
41 There are some unavoidable exceptions within include files to
42 define necessary library symbols; they are noted "INFRINGES ON
43 USER NAME SPACE" below. */
44
45 /* Identify Bison output. */
46 #define YYBISON 1
47
48 /* Bison version. */
49 #define YYBISON_VERSION "2.4.1"
50
51 /* Skeleton name. */
52 #define YYSKELETON_NAME "yacc.c"
53
54 /* Pure parsers. */
55 #define YYPURE 0
56
57 /* Push parsers. */
58 #define YYPUSH 0
59
60 /* Pull parsers. */
61 #define YYPULL 1
62
63 /* Using locations. */
64 #define YYLSP_NEEDED 0
65
66
67
68 /* Copy the first part of user declarations. */
69
70 /* Line 189 of yacc.c */
71 #line 25 "ircd_parser.y"
72
73
74 #define YY_NO_UNPUT
75 #include <sys/types.h>
76 #include <string.h>
77
78 #include "config.h"
79 #include "stdinc.h"
80 #include "ircd.h"
81 #include "list.h"
82 #include "s_conf.h"
83 #include "event.h"
84 #include "s_log.h"
85 #include "client.h" /* for UMODE_ALL only */
86 #include "irc_string.h"
87 #include "irc_getaddrinfo.h"
88 #include "sprintf_irc.h"
89 #include "memory.h"
90 #include "modules.h"
91 #include "s_serv.h"
92 #include "hostmask.h"
93 #include "send.h"
94 #include "listener.h"
95 #include "resv.h"
96 #include "numeric.h"
97 #include "s_user.h"
98
99 #ifdef HAVE_LIBCRYPTO
100 #include <openssl/rsa.h>
101 #include <openssl/bio.h>
102 #include <openssl/pem.h>
103 #endif
104
105 static char *class_name = NULL;
106 static struct ConfItem *yy_conf = NULL;
107 static struct AccessItem *yy_aconf = NULL;
108 static struct MatchItem *yy_match_item = NULL;
109 static struct ClassItem *yy_class = NULL;
110 static char *yy_class_name = NULL;
111
112 static dlink_list col_conf_list = { NULL, NULL, 0 };
113 static dlink_list hub_conf_list = { NULL, NULL, 0 };
114 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
115 static unsigned int listener_flags = 0;
116 static unsigned int regex_ban = 0;
117 static char userbuf[IRCD_BUFSIZE];
118 static char hostbuf[IRCD_BUFSIZE];
119 static char reasonbuf[REASONLEN + 1];
120 static char gecos_name[REALLEN * 4];
121
122 static char *resv_reason = NULL;
123 static char *listener_address = NULL;
124 static int not_atom = 0;
125
126 struct CollectItem
127 {
128 dlink_node node;
129 char *name;
130 char *user;
131 char *host;
132 char *passwd;
133 int port;
134 int flags;
135 #ifdef HAVE_LIBCRYPTO
136 char *rsa_public_key_file;
137 RSA *rsa_public_key;
138 #endif
139 };
140
141 static void
142 free_collect_item(struct CollectItem *item)
143 {
144 MyFree(item->name);
145 MyFree(item->user);
146 MyFree(item->host);
147 MyFree(item->passwd);
148 #ifdef HAVE_LIBCRYPTO
149 MyFree(item->rsa_public_key_file);
150 #endif
151 MyFree(item);
152 }
153
154 static void
155 unhook_hub_leaf_confs(void)
156 {
157 dlink_node *ptr;
158 dlink_node *next_ptr;
159 struct CollectItem *yy_hconf;
160 struct CollectItem *yy_lconf;
161
162 DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
163 {
164 yy_hconf = ptr->data;
165 dlinkDelete(&yy_hconf->node, &hub_conf_list);
166 free_collect_item(yy_hconf);
167 }
168
169 DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
170 {
171 yy_lconf = ptr->data;
172 dlinkDelete(&yy_lconf->node, &leaf_conf_list);
173 free_collect_item(yy_lconf);
174 }
175 }
176
177
178
179 /* Line 189 of yacc.c */
180 #line 181 "ircd_parser.c"
181
182 /* Enabling traces. */
183 #ifndef YYDEBUG
184 # define YYDEBUG 0
185 #endif
186
187 /* Enabling verbose error messages. */
188 #ifdef YYERROR_VERBOSE
189 # undef YYERROR_VERBOSE
190 # define YYERROR_VERBOSE 1
191 #else
192 # define YYERROR_VERBOSE 0
193 #endif
194
195 /* Enabling the token table. */
196 #ifndef YYTOKEN_TABLE
197 # define YYTOKEN_TABLE 0
198 #endif
199
200
201 /* Tokens. */
202 #ifndef YYTOKENTYPE
203 # define YYTOKENTYPE
204 /* Put the tokens into the symbol table, so that GDB and other debuggers
205 know about them. */
206 enum yytokentype {
207 ACCEPT_PASSWORD = 258,
208 ACTION = 259,
209 ADMIN = 260,
210 AFTYPE = 261,
211 T_ALLOW = 262,
212 ANTI_NICK_FLOOD = 263,
213 ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
214 AUTOCONN = 265,
215 T_BLOCK = 266,
216 BURST_AWAY = 267,
217 BURST_TOPICWHO = 268,
218 BYTES = 269,
219 KBYTES = 270,
220 MBYTES = 271,
221 GBYTES = 272,
222 TBYTES = 273,
223 CALLER_ID_WAIT = 274,
224 CAN_FLOOD = 275,
225 CAN_IDLE = 276,
226 CHANNEL = 277,
227 CIDR_BITLEN_IPV4 = 278,
228 CIDR_BITLEN_IPV6 = 279,
229 CIPHER_PREFERENCE = 280,
230 CLASS = 281,
231 COMPRESSED = 282,
232 COMPRESSION_LEVEL = 283,
233 CONNECT = 284,
234 CONNECTFREQ = 285,
235 CRYPTLINK = 286,
236 DEFAULT_CIPHER_PREFERENCE = 287,
237 DEFAULT_FLOODCOUNT = 288,
238 DEFAULT_SPLIT_SERVER_COUNT = 289,
239 DEFAULT_SPLIT_USER_COUNT = 290,
240 DENY = 291,
241 DESCRIPTION = 292,
242 DIE = 293,
243 DISABLE_AUTH = 294,
244 DISABLE_FAKE_CHANNELS = 295,
245 DISABLE_HIDDEN = 296,
246 DISABLE_LOCAL_CHANNELS = 297,
247 DISABLE_REMOTE_COMMANDS = 298,
248 DOT_IN_IP6_ADDR = 299,
249 DOTS_IN_IDENT = 300,
250 DURATION = 301,
251 EGDPOOL_PATH = 302,
252 EMAIL = 303,
253 ENABLE = 304,
254 ENCRYPTED = 305,
255 EXCEED_LIMIT = 306,
256 EXEMPT = 307,
257 FAILED_OPER_NOTICE = 308,
258 FAKENAME = 309,
259 IRCD_FLAGS = 310,
260 FLATTEN_LINKS = 311,
261 FFAILED_OPERLOG = 312,
262 FKILLLOG = 313,
263 FKLINELOG = 314,
264 FGLINELOG = 315,
265 FIOERRLOG = 316,
266 FOPERLOG = 317,
267 FOPERSPYLOG = 318,
268 FUSERLOG = 319,
269 GECOS = 320,
270 GENERAL = 321,
271 GLINE = 322,
272 GLINES = 323,
273 GLINE_EXEMPT = 324,
274 GLINE_LOG = 325,
275 GLINE_TIME = 326,
276 GLINE_MIN_CIDR = 327,
277 GLINE_MIN_CIDR6 = 328,
278 GLOBAL_KILL = 329,
279 IRCD_AUTH = 330,
280 NEED_IDENT = 331,
281 HAVENT_READ_CONF = 332,
282 HIDDEN = 333,
283 HIDDEN_ADMIN = 334,
284 HIDDEN_NAME = 335,
285 HIDDEN_OPER = 336,
286 HIDE_SERVER_IPS = 337,
287 HIDE_SERVERS = 338,
288 HIDE_SPOOF_IPS = 339,
289 HOST = 340,
290 HUB = 341,
291 HUB_MASK = 342,
292 IDLETIME = 343,
293 IGNORE_BOGUS_TS = 344,
294 INVISIBLE_ON_CONNECT = 345,
295 IP = 346,
296 KILL = 347,
297 KILL_CHASE_TIME_LIMIT = 348,
298 KLINE = 349,
299 KLINE_EXEMPT = 350,
300 KLINE_REASON = 351,
301 KLINE_WITH_REASON = 352,
302 KNOCK_DELAY = 353,
303 KNOCK_DELAY_CHANNEL = 354,
304 LEAF_MASK = 355,
305 LINKS_DELAY = 356,
306 LISTEN = 357,
307 T_LOG = 358,
308 LOGGING = 359,
309 LOG_LEVEL = 360,
310 MAX_ACCEPT = 361,
311 MAX_BANS = 362,
312 MAX_CHANS_PER_USER = 363,
313 MAX_GLOBAL = 364,
314 MAX_IDENT = 365,
315 MAX_LOCAL = 366,
316 MAX_NICK_CHANGES = 367,
317 MAX_NICK_TIME = 368,
318 MAX_NUMBER = 369,
319 MAX_TARGETS = 370,
320 MAX_WATCH = 371,
321 MESSAGE_LOCALE = 372,
322 MIN_NONWILDCARD = 373,
323 MIN_NONWILDCARD_SIMPLE = 374,
324 MODULE = 375,
325 MODULES = 376,
326 NAME = 377,
327 NEED_PASSWORD = 378,
328 NETWORK_DESC = 379,
329 NETWORK_NAME = 380,
330 NICK = 381,
331 NICK_CHANGES = 382,
332 NO_CREATE_ON_SPLIT = 383,
333 NO_JOIN_ON_SPLIT = 384,
334 NO_OPER_FLOOD = 385,
335 NO_TILDE = 386,
336 NOT = 387,
337 NUMBER = 388,
338 NUMBER_PER_IDENT = 389,
339 NUMBER_PER_CIDR = 390,
340 NUMBER_PER_IP = 391,
341 NUMBER_PER_IP_GLOBAL = 392,
342 OPERATOR = 393,
343 OPERS_BYPASS_CALLERID = 394,
344 OPER_LOG = 395,
345 OPER_ONLY_UMODES = 396,
346 OPER_PASS_RESV = 397,
347 OPER_SPY_T = 398,
348 OPER_UMODES = 399,
349 JOIN_FLOOD_COUNT = 400,
350 JOIN_FLOOD_TIME = 401,
351 PACE_WAIT = 402,
352 PACE_WAIT_SIMPLE = 403,
353 PASSWORD = 404,
354 PATH = 405,
355 PING_COOKIE = 406,
356 PING_TIME = 407,
357 PING_WARNING = 408,
358 PORT = 409,
359 QSTRING = 410,
360 QUIET_ON_BAN = 411,
361 REASON = 412,
362 REDIRPORT = 413,
363 REDIRSERV = 414,
364 REGEX_T = 415,
365 REHASH = 416,
366 TREJECT_HOLD_TIME = 417,
367 REMOTE = 418,
368 REMOTEBAN = 419,
369 RESTRICT_CHANNELS = 420,
370 RESTRICTED = 421,
371 RSA_PRIVATE_KEY_FILE = 422,
372 RSA_PUBLIC_KEY_FILE = 423,
373 SSL_CERTIFICATE_FILE = 424,
374 T_SSL_CONNECTION_METHOD = 425,
375 T_SSLV3 = 426,
376 T_TLSV1 = 427,
377 RESV = 428,
378 RESV_EXEMPT = 429,
379 SECONDS = 430,
380 MINUTES = 431,
381 HOURS = 432,
382 DAYS = 433,
383 WEEKS = 434,
384 SENDQ = 435,
385 SEND_PASSWORD = 436,
386 SERVERHIDE = 437,
387 SERVERINFO = 438,
388 SERVLINK_PATH = 439,
389 IRCD_SID = 440,
390 TKLINE_EXPIRE_NOTICES = 441,
391 T_SHARED = 442,
392 T_CLUSTER = 443,
393 TYPE = 444,
394 SHORT_MOTD = 445,
395 SILENT = 446,
396 SPOOF = 447,
397 SPOOF_NOTICE = 448,
398 STATS_E_DISABLED = 449,
399 STATS_I_OPER_ONLY = 450,
400 STATS_K_OPER_ONLY = 451,
401 STATS_O_OPER_ONLY = 452,
402 STATS_P_OPER_ONLY = 453,
403 TBOOL = 454,
404 TMASKED = 455,
405 T_REJECT = 456,
406 TS_MAX_DELTA = 457,
407 TS_WARN_DELTA = 458,
408 TWODOTS = 459,
409 T_ALL = 460,
410 T_BOTS = 461,
411 T_SOFTCALLERID = 462,
412 T_CALLERID = 463,
413 T_CCONN = 464,
414 T_CCONN_FULL = 465,
415 T_CLIENT_FLOOD = 466,
416 T_DEAF = 467,
417 T_DEBUG = 468,
418 T_DRONE = 469,
419 T_EXTERNAL = 470,
420 T_FULL = 471,
421 T_INVISIBLE = 472,
422 T_IPV4 = 473,
423 T_IPV6 = 474,
424 T_LOCOPS = 475,
425 T_LOGPATH = 476,
426 T_L_CRIT = 477,
427 T_L_DEBUG = 478,
428 T_L_ERROR = 479,
429 T_L_INFO = 480,
430 T_L_NOTICE = 481,
431 T_L_TRACE = 482,
432 T_L_WARN = 483,
433 T_MAX_CLIENTS = 484,
434 T_NCHANGE = 485,
435 T_OPERWALL = 486,
436 T_REJ = 487,
437 T_SERVER = 488,
438 T_SERVNOTICE = 489,
439 T_SKILL = 490,
440 T_SPY = 491,
441 T_SSL = 492,
442 T_UMODES = 493,
443 T_UNAUTH = 494,
444 T_UNRESV = 495,
445 T_UNXLINE = 496,
446 T_WALLOP = 497,
447 THROTTLE_TIME = 498,
448 TOPICBURST = 499,
449 TRUE_NO_OPER_FLOOD = 500,
450 TKLINE = 501,
451 TXLINE = 502,
452 TRESV = 503,
453 UNKLINE = 504,
454 USER = 505,
455 USE_EGD = 506,
456 USE_EXCEPT = 507,
457 USE_INVEX = 508,
458 USE_KNOCK = 509,
459 USE_LOGGING = 510,
460 USE_WHOIS_ACTUALLY = 511,
461 VHOST = 512,
462 VHOST6 = 513,
463 XLINE = 514,
464 WARN = 515,
465 WARN_NO_NLINE = 516
466 };
467 #endif
468 /* Tokens. */
469 #define ACCEPT_PASSWORD 258
470 #define ACTION 259
471 #define ADMIN 260
472 #define AFTYPE 261
473 #define T_ALLOW 262
474 #define ANTI_NICK_FLOOD 263
475 #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
476 #define AUTOCONN 265
477 #define T_BLOCK 266
478 #define BURST_AWAY 267
479 #define BURST_TOPICWHO 268
480 #define BYTES 269
481 #define KBYTES 270
482 #define MBYTES 271
483 #define GBYTES 272
484 #define TBYTES 273
485 #define CALLER_ID_WAIT 274
486 #define CAN_FLOOD 275
487 #define CAN_IDLE 276
488 #define CHANNEL 277
489 #define CIDR_BITLEN_IPV4 278
490 #define CIDR_BITLEN_IPV6 279
491 #define CIPHER_PREFERENCE 280
492 #define CLASS 281
493 #define COMPRESSED 282
494 #define COMPRESSION_LEVEL 283
495 #define CONNECT 284
496 #define CONNECTFREQ 285
497 #define CRYPTLINK 286
498 #define DEFAULT_CIPHER_PREFERENCE 287
499 #define DEFAULT_FLOODCOUNT 288
500 #define DEFAULT_SPLIT_SERVER_COUNT 289
501 #define DEFAULT_SPLIT_USER_COUNT 290
502 #define DENY 291
503 #define DESCRIPTION 292
504 #define DIE 293
505 #define DISABLE_AUTH 294
506 #define DISABLE_FAKE_CHANNELS 295
507 #define DISABLE_HIDDEN 296
508 #define DISABLE_LOCAL_CHANNELS 297
509 #define DISABLE_REMOTE_COMMANDS 298
510 #define DOT_IN_IP6_ADDR 299
511 #define DOTS_IN_IDENT 300
512 #define DURATION 301
513 #define EGDPOOL_PATH 302
514 #define EMAIL 303
515 #define ENABLE 304
516 #define ENCRYPTED 305
517 #define EXCEED_LIMIT 306
518 #define EXEMPT 307
519 #define FAILED_OPER_NOTICE 308
520 #define FAKENAME 309
521 #define IRCD_FLAGS 310
522 #define FLATTEN_LINKS 311
523 #define FFAILED_OPERLOG 312
524 #define FKILLLOG 313
525 #define FKLINELOG 314
526 #define FGLINELOG 315
527 #define FIOERRLOG 316
528 #define FOPERLOG 317
529 #define FOPERSPYLOG 318
530 #define FUSERLOG 319
531 #define GECOS 320
532 #define GENERAL 321
533 #define GLINE 322
534 #define GLINES 323
535 #define GLINE_EXEMPT 324
536 #define GLINE_LOG 325
537 #define GLINE_TIME 326
538 #define GLINE_MIN_CIDR 327
539 #define GLINE_MIN_CIDR6 328
540 #define GLOBAL_KILL 329
541 #define IRCD_AUTH 330
542 #define NEED_IDENT 331
543 #define HAVENT_READ_CONF 332
544 #define HIDDEN 333
545 #define HIDDEN_ADMIN 334
546 #define HIDDEN_NAME 335
547 #define HIDDEN_OPER 336
548 #define HIDE_SERVER_IPS 337
549 #define HIDE_SERVERS 338
550 #define HIDE_SPOOF_IPS 339
551 #define HOST 340
552 #define HUB 341
553 #define HUB_MASK 342
554 #define IDLETIME 343
555 #define IGNORE_BOGUS_TS 344
556 #define INVISIBLE_ON_CONNECT 345
557 #define IP 346
558 #define KILL 347
559 #define KILL_CHASE_TIME_LIMIT 348
560 #define KLINE 349
561 #define KLINE_EXEMPT 350
562 #define KLINE_REASON 351
563 #define KLINE_WITH_REASON 352
564 #define KNOCK_DELAY 353
565 #define KNOCK_DELAY_CHANNEL 354
566 #define LEAF_MASK 355
567 #define LINKS_DELAY 356
568 #define LISTEN 357
569 #define T_LOG 358
570 #define LOGGING 359
571 #define LOG_LEVEL 360
572 #define MAX_ACCEPT 361
573 #define MAX_BANS 362
574 #define MAX_CHANS_PER_USER 363
575 #define MAX_GLOBAL 364
576 #define MAX_IDENT 365
577 #define MAX_LOCAL 366
578 #define MAX_NICK_CHANGES 367
579 #define MAX_NICK_TIME 368
580 #define MAX_NUMBER 369
581 #define MAX_TARGETS 370
582 #define MAX_WATCH 371
583 #define MESSAGE_LOCALE 372
584 #define MIN_NONWILDCARD 373
585 #define MIN_NONWILDCARD_SIMPLE 374
586 #define MODULE 375
587 #define MODULES 376
588 #define NAME 377
589 #define NEED_PASSWORD 378
590 #define NETWORK_DESC 379
591 #define NETWORK_NAME 380
592 #define NICK 381
593 #define NICK_CHANGES 382
594 #define NO_CREATE_ON_SPLIT 383
595 #define NO_JOIN_ON_SPLIT 384
596 #define NO_OPER_FLOOD 385
597 #define NO_TILDE 386
598 #define NOT 387
599 #define NUMBER 388
600 #define NUMBER_PER_IDENT 389
601 #define NUMBER_PER_CIDR 390
602 #define NUMBER_PER_IP 391
603 #define NUMBER_PER_IP_GLOBAL 392
604 #define OPERATOR 393
605 #define OPERS_BYPASS_CALLERID 394
606 #define OPER_LOG 395
607 #define OPER_ONLY_UMODES 396
608 #define OPER_PASS_RESV 397
609 #define OPER_SPY_T 398
610 #define OPER_UMODES 399
611 #define JOIN_FLOOD_COUNT 400
612 #define JOIN_FLOOD_TIME 401
613 #define PACE_WAIT 402
614 #define PACE_WAIT_SIMPLE 403
615 #define PASSWORD 404
616 #define PATH 405
617 #define PING_COOKIE 406
618 #define PING_TIME 407
619 #define PING_WARNING 408
620 #define PORT 409
621 #define QSTRING 410
622 #define QUIET_ON_BAN 411
623 #define REASON 412
624 #define REDIRPORT 413
625 #define REDIRSERV 414
626 #define REGEX_T 415
627 #define REHASH 416
628 #define TREJECT_HOLD_TIME 417
629 #define REMOTE 418
630 #define REMOTEBAN 419
631 #define RESTRICT_CHANNELS 420
632 #define RESTRICTED 421
633 #define RSA_PRIVATE_KEY_FILE 422
634 #define RSA_PUBLIC_KEY_FILE 423
635 #define SSL_CERTIFICATE_FILE 424
636 #define T_SSL_CONNECTION_METHOD 425
637 #define T_SSLV3 426
638 #define T_TLSV1 427
639 #define RESV 428
640 #define RESV_EXEMPT 429
641 #define SECONDS 430
642 #define MINUTES 431
643 #define HOURS 432
644 #define DAYS 433
645 #define WEEKS 434
646 #define SENDQ 435
647 #define SEND_PASSWORD 436
648 #define SERVERHIDE 437
649 #define SERVERINFO 438
650 #define SERVLINK_PATH 439
651 #define IRCD_SID 440
652 #define TKLINE_EXPIRE_NOTICES 441
653 #define T_SHARED 442
654 #define T_CLUSTER 443
655 #define TYPE 444
656 #define SHORT_MOTD 445
657 #define SILENT 446
658 #define SPOOF 447
659 #define SPOOF_NOTICE 448
660 #define STATS_E_DISABLED 449
661 #define STATS_I_OPER_ONLY 450
662 #define STATS_K_OPER_ONLY 451
663 #define STATS_O_OPER_ONLY 452
664 #define STATS_P_OPER_ONLY 453
665 #define TBOOL 454
666 #define TMASKED 455
667 #define T_REJECT 456
668 #define TS_MAX_DELTA 457
669 #define TS_WARN_DELTA 458
670 #define TWODOTS 459
671 #define T_ALL 460
672 #define T_BOTS 461
673 #define T_SOFTCALLERID 462
674 #define T_CALLERID 463
675 #define T_CCONN 464
676 #define T_CCONN_FULL 465
677 #define T_CLIENT_FLOOD 466
678 #define T_DEAF 467
679 #define T_DEBUG 468
680 #define T_DRONE 469
681 #define T_EXTERNAL 470
682 #define T_FULL 471
683 #define T_INVISIBLE 472
684 #define T_IPV4 473
685 #define T_IPV6 474
686 #define T_LOCOPS 475
687 #define T_LOGPATH 476
688 #define T_L_CRIT 477
689 #define T_L_DEBUG 478
690 #define T_L_ERROR 479
691 #define T_L_INFO 480
692 #define T_L_NOTICE 481
693 #define T_L_TRACE 482
694 #define T_L_WARN 483
695 #define T_MAX_CLIENTS 484
696 #define T_NCHANGE 485
697 #define T_OPERWALL 486
698 #define T_REJ 487
699 #define T_SERVER 488
700 #define T_SERVNOTICE 489
701 #define T_SKILL 490
702 #define T_SPY 491
703 #define T_SSL 492
704 #define T_UMODES 493
705 #define T_UNAUTH 494
706 #define T_UNRESV 495
707 #define T_UNXLINE 496
708 #define T_WALLOP 497
709 #define THROTTLE_TIME 498
710 #define TOPICBURST 499
711 #define TRUE_NO_OPER_FLOOD 500
712 #define TKLINE 501
713 #define TXLINE 502
714 #define TRESV 503
715 #define UNKLINE 504
716 #define USER 505
717 #define USE_EGD 506
718 #define USE_EXCEPT 507
719 #define USE_INVEX 508
720 #define USE_KNOCK 509
721 #define USE_LOGGING 510
722 #define USE_WHOIS_ACTUALLY 511
723 #define VHOST 512
724 #define VHOST6 513
725 #define XLINE 514
726 #define WARN 515
727 #define WARN_NO_NLINE 516
728
729
730
731
732 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
733 typedef union YYSTYPE
734 {
735
736 /* Line 214 of yacc.c */
737 #line 132 "ircd_parser.y"
738
739 int number;
740 char *string;
741
742
743
744 /* Line 214 of yacc.c */
745 #line 746 "ircd_parser.c"
746 } YYSTYPE;
747 # define YYSTYPE_IS_TRIVIAL 1
748 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
749 # define YYSTYPE_IS_DECLARED 1
750 #endif
751
752
753 /* Copy the second part of user declarations. */
754
755
756 /* Line 264 of yacc.c */
757 #line 758 "ircd_parser.c"
758
759 #ifdef short
760 # undef short
761 #endif
762
763 #ifdef YYTYPE_UINT8
764 typedef YYTYPE_UINT8 yytype_uint8;
765 #else
766 typedef unsigned char yytype_uint8;
767 #endif
768
769 #ifdef YYTYPE_INT8
770 typedef YYTYPE_INT8 yytype_int8;
771 #elif (defined __STDC__ || defined __C99__FUNC__ \
772 || defined __cplusplus || defined _MSC_VER)
773 typedef signed char yytype_int8;
774 #else
775 typedef short int yytype_int8;
776 #endif
777
778 #ifdef YYTYPE_UINT16
779 typedef YYTYPE_UINT16 yytype_uint16;
780 #else
781 typedef unsigned short int yytype_uint16;
782 #endif
783
784 #ifdef YYTYPE_INT16
785 typedef YYTYPE_INT16 yytype_int16;
786 #else
787 typedef short int yytype_int16;
788 #endif
789
790 #ifndef YYSIZE_T
791 # ifdef __SIZE_TYPE__
792 # define YYSIZE_T __SIZE_TYPE__
793 # elif defined size_t
794 # define YYSIZE_T size_t
795 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
796 || defined __cplusplus || defined _MSC_VER)
797 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
798 # define YYSIZE_T size_t
799 # else
800 # define YYSIZE_T unsigned int
801 # endif
802 #endif
803
804 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
805
806 #ifndef YY_
807 # if YYENABLE_NLS
808 # if ENABLE_NLS
809 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
810 # define YY_(msgid) dgettext ("bison-runtime", msgid)
811 # endif
812 # endif
813 # ifndef YY_
814 # define YY_(msgid) msgid
815 # endif
816 #endif
817
818 /* Suppress unused-variable warnings by "using" E. */
819 #if ! defined lint || defined __GNUC__
820 # define YYUSE(e) ((void) (e))
821 #else
822 # define YYUSE(e) /* empty */
823 #endif
824
825 /* Identity function, used to suppress warnings about constant conditions. */
826 #ifndef lint
827 # define YYID(n) (n)
828 #else
829 #if (defined __STDC__ || defined __C99__FUNC__ \
830 || defined __cplusplus || defined _MSC_VER)
831 static int
832 YYID (int yyi)
833 #else
834 static int
835 YYID (yyi)
836 int yyi;
837 #endif
838 {
839 return yyi;
840 }
841 #endif
842
843 #if ! defined yyoverflow || YYERROR_VERBOSE
844
845 /* The parser invokes alloca or malloc; define the necessary symbols. */
846
847 # ifdef YYSTACK_USE_ALLOCA
848 # if YYSTACK_USE_ALLOCA
849 # ifdef __GNUC__
850 # define YYSTACK_ALLOC __builtin_alloca
851 # elif defined __BUILTIN_VA_ARG_INCR
852 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
853 # elif defined _AIX
854 # define YYSTACK_ALLOC __alloca
855 # elif defined _MSC_VER
856 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
857 # define alloca _alloca
858 # else
859 # define YYSTACK_ALLOC alloca
860 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
861 || defined __cplusplus || defined _MSC_VER)
862 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
863 # ifndef _STDLIB_H
864 # define _STDLIB_H 1
865 # endif
866 # endif
867 # endif
868 # endif
869 # endif
870
871 # ifdef YYSTACK_ALLOC
872 /* Pacify GCC's `empty if-body' warning. */
873 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
874 # ifndef YYSTACK_ALLOC_MAXIMUM
875 /* The OS might guarantee only one guard page at the bottom of the stack,
876 and a page size can be as small as 4096 bytes. So we cannot safely
877 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
878 to allow for a few compiler-allocated temporary stack slots. */
879 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
880 # endif
881 # else
882 # define YYSTACK_ALLOC YYMALLOC
883 # define YYSTACK_FREE YYFREE
884 # ifndef YYSTACK_ALLOC_MAXIMUM
885 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
886 # endif
887 # if (defined __cplusplus && ! defined _STDLIB_H \
888 && ! ((defined YYMALLOC || defined malloc) \
889 && (defined YYFREE || defined free)))
890 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
891 # ifndef _STDLIB_H
892 # define _STDLIB_H 1
893 # endif
894 # endif
895 # ifndef YYMALLOC
896 # define YYMALLOC malloc
897 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
898 || defined __cplusplus || defined _MSC_VER)
899 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
900 # endif
901 # endif
902 # ifndef YYFREE
903 # define YYFREE free
904 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
905 || defined __cplusplus || defined _MSC_VER)
906 void free (void *); /* INFRINGES ON USER NAME SPACE */
907 # endif
908 # endif
909 # endif
910 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
911
912
913 #if (! defined yyoverflow \
914 && (! defined __cplusplus \
915 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
916
917 /* A type that is properly aligned for any stack member. */
918 union yyalloc
919 {
920 yytype_int16 yyss_alloc;
921 YYSTYPE yyvs_alloc;
922 };
923
924 /* The size of the maximum gap between one aligned stack and the next. */
925 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
926
927 /* The size of an array large to enough to hold all stacks, each with
928 N elements. */
929 # define YYSTACK_BYTES(N) \
930 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
931 + YYSTACK_GAP_MAXIMUM)
932
933 /* Copy COUNT objects from FROM to TO. The source and destination do
934 not overlap. */
935 # ifndef YYCOPY
936 # if defined __GNUC__ && 1 < __GNUC__
937 # define YYCOPY(To, From, Count) \
938 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
939 # else
940 # define YYCOPY(To, From, Count) \
941 do \
942 { \
943 YYSIZE_T yyi; \
944 for (yyi = 0; yyi < (Count); yyi++) \
945 (To)[yyi] = (From)[yyi]; \
946 } \
947 while (YYID (0))
948 # endif
949 # endif
950
951 /* Relocate STACK from its old location to the new one. The
952 local variables YYSIZE and YYSTACKSIZE give the old and new number of
953 elements in the stack, and YYPTR gives the new location of the
954 stack. Advance YYPTR to a properly aligned location for the next
955 stack. */
956 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
957 do \
958 { \
959 YYSIZE_T yynewbytes; \
960 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
961 Stack = &yyptr->Stack_alloc; \
962 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
963 yyptr += yynewbytes / sizeof (*yyptr); \
964 } \
965 while (YYID (0))
966
967 #endif
968
969 /* YYFINAL -- State number of the termination state. */
970 #define YYFINAL 2
971 /* YYLAST -- Last index in YYTABLE. */
972 #define YYLAST 1413
973
974 /* YYNTOKENS -- Number of terminals. */
975 #define YYNTOKENS 267
976 /* YYNNTS -- Number of nonterminals. */
977 #define YYNNTS 346
978 /* YYNRULES -- Number of rules. */
979 #define YYNRULES 743
980 /* YYNRULES -- Number of states. */
981 #define YYNSTATES 1494
982
983 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
984 #define YYUNDEFTOK 2
985 #define YYMAXUTOK 516
986
987 #define YYTRANSLATE(YYX) \
988 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
989
990 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
991 static const yytype_uint16 yytranslate[] =
992 {
993 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
994 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
995 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
996 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
997 2, 2, 2, 2, 266, 2, 2, 2, 2, 2,
998 2, 2, 2, 2, 2, 2, 2, 2, 2, 262,
999 2, 265, 2, 2, 2, 2, 2, 2, 2, 2,
1000 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1001 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1002 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1003 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1004 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1005 2, 2, 2, 264, 2, 263, 2, 2, 2, 2,
1006 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1007 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1008 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1009 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1010 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1011 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1012 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1013 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1014 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1015 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1016 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1017 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1018 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1019 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1020 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1021 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1022 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1023 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1024 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1025 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1026 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1027 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1028 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1029 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1030 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1031 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1032 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1033 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1034 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1035 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1036 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1037 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1038 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1039 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1040 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1041 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1042 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1043 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1044 255, 256, 257, 258, 259, 260, 261
1045 };
1046
1047 #if YYDEBUG
1048 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1049 YYRHS. */
1050 static const yytype_uint16 yyprhs[] =
1051 {
1052 0, 0, 3, 4, 7, 9, 11, 13, 15, 17,
1053 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
1054 39, 41, 43, 45, 47, 50, 53, 54, 56, 59,
1055 63, 67, 71, 75, 79, 80, 82, 85, 89, 93,
1056 97, 103, 106, 108, 110, 112, 115, 120, 125, 131,
1057 134, 136, 138, 140, 142, 144, 146, 148, 150, 152,
1058 154, 156, 158, 160, 163, 164, 170, 174, 176, 178,
1059 180, 185, 190, 195, 200, 205, 210, 215, 220, 225,
1060 230, 235, 241, 244, 246, 248, 250, 252, 255, 260,
1061 265, 270, 276, 279, 281, 283, 285, 287, 289, 291,
1062 293, 295, 297, 299, 301, 303, 305, 308, 313, 318,
1063 323, 328, 333, 338, 343, 348, 353, 358, 363, 368,
1064 373, 378, 383, 388, 393, 398, 399, 407, 408, 410,
1065 413, 415, 417, 419, 421, 423, 425, 427, 429, 431,
1066 433, 435, 437, 439, 441, 443, 445, 447, 449, 451,
1067 453, 455, 457, 459, 462, 467, 469, 474, 479, 484,
1068 489, 494, 495, 501, 505, 507, 509, 511, 513, 515,
1069 517, 519, 521, 523, 525, 527, 529, 531, 533, 535,
1070 537, 539, 541, 543, 545, 550, 555, 560, 565, 570,
1071 575, 580, 585, 590, 595, 600, 605, 610, 615, 616,
1072 622, 626, 628, 629, 633, 634, 637, 639, 641, 643,
1073 645, 647, 649, 651, 653, 655, 657, 659, 661, 663,
1074 665, 667, 669, 670, 678, 679, 681, 684, 686, 688,
1075 690, 692, 694, 696, 698, 700, 702, 704, 706, 708,
1076 710, 712, 715, 720, 722, 727, 732, 737, 742, 747,
1077 752, 757, 762, 767, 772, 777, 782, 783, 790, 791,
1078 797, 801, 803, 805, 807, 809, 812, 814, 816, 818,
1079 820, 822, 825, 826, 832, 836, 838, 840, 844, 849,
1080 854, 855, 862, 865, 867, 869, 871, 873, 875, 877,
1081 879, 881, 883, 885, 887, 889, 891, 893, 895, 897,
1082 899, 902, 907, 912, 917, 922, 927, 928, 934, 938,
1083 940, 941, 945, 946, 949, 951, 953, 955, 957, 959,
1084 961, 963, 965, 967, 969, 974, 979, 984, 989, 994,
1085 999, 1004, 1009, 1014, 1019, 1020, 1027, 1030, 1032, 1034,
1086 1036, 1038, 1041, 1046, 1051, 1056, 1057, 1064, 1067, 1069,
1087 1071, 1073, 1075, 1078, 1083, 1088, 1089, 1095, 1099, 1101,
1088 1103, 1105, 1107, 1109, 1111, 1113, 1115, 1117, 1119, 1121,
1089 1123, 1124, 1131, 1134, 1136, 1138, 1140, 1143, 1148, 1149,
1090 1155, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 1175,
1091 1177, 1179, 1181, 1183, 1184, 1192, 1193, 1195, 1198, 1200,
1092 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220,
1093 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236, 1238, 1241,
1094 1246, 1248, 1253, 1258, 1263, 1268, 1273, 1278, 1283, 1288,
1095 1289, 1295, 1299, 1301, 1302, 1306, 1307, 1310, 1312, 1314,
1096 1316, 1318, 1320, 1325, 1330, 1335, 1340, 1345, 1350, 1355,
1097 1360, 1365, 1370, 1371, 1378, 1379, 1385, 1389, 1391, 1393,
1098 1396, 1398, 1400, 1402, 1404, 1406, 1411, 1416, 1417, 1424,
1099 1427, 1429, 1431, 1433, 1435, 1440, 1445, 1451, 1454, 1456,
1100 1458, 1460, 1465, 1466, 1473, 1474, 1480, 1484, 1486, 1488,
1101 1491, 1493, 1495, 1497, 1499, 1501, 1506, 1511, 1517, 1520,
1102 1522, 1524, 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540,
1103 1542, 1544, 1546, 1548, 1550, 1552, 1554, 1556, 1558, 1560,
1104 1562, 1564, 1566, 1568, 1570, 1572, 1574, 1576, 1578, 1580,
1105 1582, 1584, 1586, 1588, 1590, 1592, 1594, 1596, 1598, 1600,
1106 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620,
1107 1622, 1624, 1626, 1628, 1630, 1632, 1634, 1636, 1641, 1646,
1108 1651, 1656, 1661, 1666, 1671, 1676, 1681, 1686, 1691, 1696,
1109 1701, 1706, 1711, 1716, 1721, 1726, 1731, 1736, 1741, 1746,
1110 1751, 1756, 1761, 1766, 1771, 1776, 1781, 1786, 1791, 1796,
1111 1801, 1806, 1811, 1816, 1821, 1826, 1831, 1836, 1841, 1846,
1112 1851, 1856, 1861, 1866, 1871, 1876, 1881, 1886, 1891, 1892,
1113 1898, 1902, 1904, 1906, 1908, 1910, 1912, 1914, 1916, 1918,
1114 1920, 1922, 1924, 1926, 1928, 1930, 1932, 1934, 1936, 1938,
1115 1940, 1942, 1943, 1949, 1953, 1955, 1957, 1959, 1961, 1963,
1116 1965, 1967, 1969, 1971, 1973, 1975, 1977, 1979, 1981, 1983,
1117 1985, 1987, 1989, 1991, 1993, 1998, 2003, 2008, 2013, 2018,
1118 2019, 2026, 2029, 2031, 2033, 2035, 2037, 2039, 2041, 2043,
1119 2045, 2050, 2055, 2056, 2062, 2066, 2068, 2070, 2072, 2077,
1120 2082, 2083, 2089, 2093, 2095, 2097, 2099, 2105, 2108, 2110,
1121 2112, 2114, 2116, 2118, 2120, 2122, 2124, 2126, 2128, 2130,
1122 2132, 2134, 2136, 2138, 2140, 2142, 2144, 2146, 2148, 2153,
1123 2158, 2163, 2168, 2173, 2178, 2183, 2188, 2193, 2198, 2203,
1124 2208, 2213, 2218, 2223, 2228, 2233, 2238, 2244, 2247, 2249,
1125 2251, 2253, 2255, 2257, 2259, 2261, 2263, 2265, 2270, 2275,
1126 2280, 2285, 2290, 2295
1127 };
1128
1129 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1130 static const yytype_int16 yyrhs[] =
1131 {
1132 268, 0, -1, -1, 268, 269, -1, 297, -1, 303,
1133 -1, 318, -1, 582, -1, 355, -1, 374, -1, 388,
1134 -1, 279, -1, 603, -1, 414, -1, 421, -1, 431,
1135 -1, 440, -1, 471, -1, 481, -1, 487, -1, 501,
1136 -1, 566, -1, 491, -1, 274, -1, 1, 262, -1,
1137 1, 263, -1, -1, 271, -1, 133, 270, -1, 133,
1138 175, 270, -1, 133, 176, 270, -1, 133, 177, 270,
1139 -1, 133, 178, 270, -1, 133, 179, 270, -1, -1,
1140 273, -1, 133, 272, -1, 133, 14, 272, -1, 133,
1141 15, 272, -1, 133, 16, 272, -1, 121, 264, 275,
1142 263, 262, -1, 275, 276, -1, 276, -1, 277, -1,
1143 278, -1, 1, 262, -1, 120, 265, 155, 262, -1,
1144 150, 265, 155, 262, -1, 183, 264, 280, 263, 262,
1145 -1, 280, 281, -1, 281, -1, 288, -1, 293, -1,
1146 296, -1, 290, -1, 291, -1, 292, -1, 295, -1,
1147 287, -1, 294, -1, 289, -1, 286, -1, 282, -1,
1148 1, 262, -1, -1, 170, 283, 265, 284, 262, -1,
1149 284, 266, 285, -1, 285, -1, 171, -1, 172, -1,
1150 169, 265, 155, 262, -1, 167, 265, 155, 262, -1,
1151 122, 265, 155, 262, -1, 185, 265, 155, 262, -1,
1152 37, 265, 155, 262, -1, 125, 265, 155, 262, -1,
1153 124, 265, 155, 262, -1, 257, 265, 155, 262, -1,
1154 258, 265, 155, 262, -1, 229, 265, 133, 262, -1,
1155 86, 265, 199, 262, -1, 5, 264, 298, 263, 262,
1156 -1, 298, 299, -1, 299, -1, 300, -1, 302, -1,
1157 301, -1, 1, 262, -1, 122, 265, 155, 262, -1,
1158 48, 265, 155, 262, -1, 37, 265, 155, 262, -1,
1159 104, 264, 304, 263, 262, -1, 304, 305, -1, 305,
1160 -1, 306, -1, 307, -1, 316, -1, 317, -1, 308,
1161 -1, 310, -1, 312, -1, 313, -1, 315, -1, 311,
1162 -1, 314, -1, 309, -1, 1, 262, -1, 221, 265,
1163 155, 262, -1, 140, 265, 155, 262, -1, 64, 265,
1164 155, 262, -1, 57, 265, 155, 262, -1, 62, 265,
1165 155, 262, -1, 63, 265, 155, 262, -1, 60, 265,
1166 155, 262, -1, 59, 265, 155, 262, -1, 61, 265,
1167 155, 262, -1, 58, 265, 155, 262, -1, 105, 265,
1168 222, 262, -1, 105, 265, 224, 262, -1, 105, 265,
1169 228, 262, -1, 105, 265, 226, 262, -1, 105, 265,
1170 227, 262, -1, 105, 265, 225, 262, -1, 105, 265,
1171 223, 262, -1, 255, 265, 199, 262, -1, -1, 138,
1172 319, 320, 264, 321, 263, 262, -1, -1, 324, -1,
1173 321, 322, -1, 322, -1, 323, -1, 325, -1, 326,
1174 -1, 345, -1, 346, -1, 330, -1, 329, -1, 334,
1175 -1, 335, -1, 337, -1, 338, -1, 339, -1, 340,
1176 -1, 341, -1, 336, -1, 342, -1, 343, -1, 344,
1177 -1, 347, -1, 327, -1, 328, -1, 348, -1, 1,
1178 262, -1, 122, 265, 155, 262, -1, 155, -1, 250,
1179 265, 155, 262, -1, 149, 265, 155, 262, -1, 50,
1180 265, 199, 262, -1, 168, 265, 155, 262, -1, 26,
1181 265, 155, 262, -1, -1, 238, 331, 265, 332, 262,
1182 -1, 332, 266, 333, -1, 333, -1, 206, -1, 209,
1183 -1, 210, -1, 212, -1, 213, -1, 216, -1, 235,
1184 -1, 230, -1, 232, -1, 239, -1, 236, -1, 215,
1185 -1, 231, -1, 234, -1, 217, -1, 242, -1, 207,
1186 -1, 208, -1, 220, -1, 74, 265, 199, 262, -1,
1187 163, 265, 199, 262, -1, 164, 265, 199, 262, -1,
1188 94, 265, 199, 262, -1, 259, 265, 199, 262, -1,
1189 249, 265, 199, 262, -1, 67, 265, 199, 262, -1,
1190 127, 265, 199, 262, -1, 38, 265, 199, 262, -1,
1191 161, 265, 199, 262, -1, 5, 265, 199, 262, -1,
1192 79, 265, 199, 262, -1, 81, 265, 199, 262, -1,
1193 231, 265, 199, 262, -1, -1, 55, 349, 265, 350,
1194 262, -1, 350, 266, 351, -1, 351, -1, -1, 132,
1195 352, 354, -1, -1, 353, 354, -1, 74, -1, 163,
1196 -1, 94, -1, 249, -1, 259, -1, 67, -1, 38,
1197 -1, 161, -1, 5, -1, 79, -1, 127, -1, 231,
1198 -1, 143, -1, 81, -1, 164, -1, 50, -1, -1,
1199 26, 356, 357, 264, 358, 263, 262, -1, -1, 361,
1200 -1, 358, 359, -1, 359, -1, 360, -1, 371, -1,
1201 372, -1, 362, -1, 363, -1, 373, -1, 364, -1,
1202 365, -1, 366, -1, 367, -1, 368, -1, 369, -1,
1203 370, -1, 1, 262, -1, 122, 265, 155, 262, -1,
1204 155, -1, 152, 265, 271, 262, -1, 153, 265, 271,
1205 262, -1, 136, 265, 133, 262, -1, 30, 265, 271,
1206 262, -1, 114, 265, 133, 262, -1, 109, 265, 133,
1207 262, -1, 111, 265, 133, 262, -1, 110, 265, 133,
1208 262, -1, 180, 265, 273, 262, -1, 23, 265, 133,
1209 262, -1, 24, 265, 133, 262, -1, 135, 265, 133,
1210 262, -1, -1, 102, 375, 264, 380, 263, 262, -1,
1211 -1, 55, 377, 265, 378, 262, -1, 378, 266, 379,
1212 -1, 379, -1, 237, -1, 78, -1, 233, -1, 380,
1213 381, -1, 381, -1, 382, -1, 376, -1, 386, -1,
1214 387, -1, 1, 262, -1, -1, 154, 265, 384, 383,
1215 262, -1, 384, 266, 385, -1, 385, -1, 133, -1,
1216 133, 204, 133, -1, 91, 265, 155, 262, -1, 85,
1217 265, 155, 262, -1, -1, 75, 389, 264, 390, 263,
1218 262, -1, 390, 391, -1, 391, -1, 392, -1, 393,
1219 -1, 395, -1, 397, -1, 404, -1, 405, -1, 406,
1220 -1, 408, -1, 409, -1, 410, -1, 394, -1, 411,
1221 -1, 412, -1, 407, -1, 413, -1, 396, -1, 1,
1222 262, -1, 250, 265, 155, 262, -1, 149, 265, 155,
1223 262, -1, 193, 265, 199, 262, -1, 26, 265, 155,
1224 262, -1, 50, 265, 199, 262, -1, -1, 55, 398,
1225 265, 399, 262, -1, 399, 266, 400, -1, 400, -1,
1226 -1, 132, 401, 403, -1, -1, 402, 403, -1, 193,
1227 -1, 51, -1, 95, -1, 76, -1, 20, -1, 21,
1228 -1, 131, -1, 69, -1, 174, -1, 123, -1, 95,
1229 265, 199, 262, -1, 76, 265, 199, 262, -1, 51,
1230 265, 199, 262, -1, 20, 265, 199, 262, -1, 131,
1231 265, 199, 262, -1, 69, 265, 199, 262, -1, 192,
1232 265, 155, 262, -1, 159, 265, 155, 262, -1, 158,
1233 265, 133, 262, -1, 123, 265, 199, 262, -1, -1,
1234 173, 415, 264, 416, 263, 262, -1, 416, 417, -1,
1235 417, -1, 418, -1, 419, -1, 420, -1, 1, 262,
1236 -1, 157, 265, 155, 262, -1, 22, 265, 155, 262,
1237 -1, 126, 265, 155, 262, -1, -1, 187, 422, 264,
1238 423, 263, 262, -1, 423, 424, -1, 424, -1, 425,
1239 -1, 426, -1, 427, -1, 1, 262, -1, 122, 265,
1240 155, 262, -1, 250, 265, 155, 262, -1, -1, 189,
1241 428, 265, 429, 262, -1, 429, 266, 430, -1, 430,
1242 -1, 94, -1, 246, -1, 249, -1, 259, -1, 247,
1243 -1, 241, -1, 173, -1, 248, -1, 240, -1, 220,
1244 -1, 205, -1, -1, 188, 432, 264, 433, 263, 262,
1245 -1, 433, 434, -1, 434, -1, 435, -1, 436, -1,
1246 1, 262, -1, 122, 265, 155, 262, -1, -1, 189,
1247 437, 265, 438, 262, -1, 438, 266, 439, -1, 439,
1248 -1, 94, -1, 246, -1, 249, -1, 259, -1, 247,
1249 -1, 241, -1, 173, -1, 248, -1, 240, -1, 220,
1250 -1, 205, -1, -1, 29, 441, 442, 264, 443, 263,
1251 262, -1, -1, 446, -1, 443, 444, -1, 444, -1,
1252 445, -1, 447, -1, 448, -1, 449, -1, 450, -1,
1253 452, -1, 451, -1, 453, -1, 454, -1, 467, -1,
1254 468, -1, 469, -1, 465, -1, 462, -1, 464, -1,
1255 463, -1, 461, -1, 470, -1, 466, -1, 1, 262,
1256 -1, 122, 265, 155, 262, -1, 155, -1, 85, 265,
1257 155, 262, -1, 257, 265, 155, 262, -1, 181, 265,
1258 155, 262, -1, 3, 265, 155, 262, -1, 154, 265,
1259 133, 262, -1, 6, 265, 218, 262, -1, 6, 265,
1260 219, 262, -1, 54, 265, 155, 262, -1, -1, 55,
1261 455, 265, 456, 262, -1, 456, 266, 457, -1, 457,
1262 -1, -1, 132, 458, 460, -1, -1, 459, 460, -1,
1263 27, -1, 31, -1, 10, -1, 12, -1, 244, -1,
1264 168, 265, 155, 262, -1, 50, 265, 199, 262, -1,
1265 31, 265, 199, 262, -1, 27, 265, 199, 262, -1,
1266 10, 265, 199, 262, -1, 244, 265, 199, 262, -1,
1267 87, 265, 155, 262, -1, 100, 265, 155, 262, -1,
1268 26, 265, 155, 262, -1, 25, 265, 155, 262, -1,
1269 -1, 92, 472, 264, 477, 263, 262, -1, -1, 189,
1270 474, 265, 475, 262, -1, 475, 266, 476, -1, 476,
1271 -1, 160, -1, 477, 478, -1, 478, -1, 479, -1,
1272 480, -1, 473, -1, 1, -1, 250, 265, 155, 262,
1273 -1, 157, 265, 155, 262, -1, -1, 36, 482, 264,
1274 483, 263, 262, -1, 483, 484, -1, 484, -1, 485,
1275 -1, 486, -1, 1, -1, 91, 265, 155, 262, -1,
1276 157, 265, 155, 262, -1, 52, 264, 488, 263, 262,
1277 -1, 488, 489, -1, 489, -1, 490, -1, 1, -1,
1278 91, 265, 155, 262, -1, -1, 65, 492, 264, 497,
1279 263, 262, -1, -1, 189, 494, 265, 495, 262, -1,
1280 495, 266, 496, -1, 496, -1, 160, -1, 497, 498,
1281 -1, 498, -1, 499, -1, 500, -1, 493, -1, 1,
1282 -1, 122, 265, 155, 262, -1, 157, 265, 155, 262,
1283 -1, 66, 264, 502, 263, 262, -1, 502, 503, -1,
1284 503, -1, 512, -1, 513, -1, 515, -1, 516, -1,
1285 517, -1, 518, -1, 519, -1, 520, -1, 521, -1,
1286 522, -1, 511, -1, 524, -1, 525, -1, 526, -1,
1287 527, -1, 543, -1, 529, -1, 531, -1, 533, -1,
1288 532, -1, 536, -1, 530, -1, 537, -1, 538, -1,
1289 539, -1, 540, -1, 542, -1, 541, -1, 557, -1,
1290 544, -1, 548, -1, 549, -1, 553, -1, 534, -1,
1291 535, -1, 563, -1, 561, -1, 562, -1, 545, -1,
1292 514, -1, 546, -1, 547, -1, 564, -1, 552, -1,
1293 523, -1, 565, -1, 550, -1, 551, -1, 507, -1,
1294 510, -1, 505, -1, 506, -1, 508, -1, 509, -1,
1295 528, -1, 504, -1, 1, -1, 116, 265, 133, 262,
1296 -1, 72, 265, 133, 262, -1, 73, 265, 133, 262,
1297 -1, 12, 265, 199, 262, -1, 256, 265, 199, 262,
1298 -1, 162, 265, 271, 262, -1, 186, 265, 199, 262,
1299 -1, 93, 265, 133, 262, -1, 84, 265, 199, 262,
1300 -1, 89, 265, 199, 262, -1, 43, 265, 199, 262,
1301 -1, 53, 265, 199, 262, -1, 8, 265, 199, 262,
1302 -1, 113, 265, 271, 262, -1, 112, 265, 133, 262,
1303 -1, 106, 265, 133, 262, -1, 9, 265, 271, 262,
1304 -1, 203, 265, 271, 262, -1, 202, 265, 271, 262,
1305 -1, 77, 265, 133, 262, -1, 97, 265, 199, 262,
1306 -1, 96, 265, 155, 262, -1, 90, 265, 199, 262,
1307 -1, 261, 265, 199, 262, -1, 194, 265, 199, 262,
1308 -1, 197, 265, 199, 262, -1, 198, 265, 199, 262,
1309 -1, 196, 265, 199, 262, -1, 196, 265, 200, 262,
1310 -1, 195, 265, 199, 262, -1, 195, 265, 200, 262,
1311 -1, 147, 265, 271, 262, -1, 19, 265, 271, 262,
1312 -1, 139, 265, 199, 262, -1, 148, 265, 271, 262,
1313 -1, 190, 265, 199, 262, -1, 130, 265, 199, 262,
1314 -1, 245, 265, 199, 262, -1, 142, 265, 199, 262,
1315 -1, 117, 265, 155, 262, -1, 88, 265, 271, 262,
1316 -1, 45, 265, 133, 262, -1, 115, 265, 133, 262,
1317 -1, 184, 265, 155, 262, -1, 32, 265, 155, 262,
1318 -1, 28, 265, 133, 262, -1, 251, 265, 199, 262,
1319 -1, 47, 265, 155, 262, -1, 151, 265, 199, 262,
1320 -1, 39, 265, 199, 262, -1, 243, 265, 271, 262,
1321 -1, -1, 144, 554, 265, 555, 262, -1, 555, 266,
1322 556, -1, 556, -1, 206, -1, 209, -1, 210, -1,
1323 212, -1, 213, -1, 216, -1, 235, -1, 230, -1,
1324 232, -1, 239, -1, 236, -1, 215, -1, 231, -1,
1325 234, -1, 217, -1, 242, -1, 207, -1, 208, -1,
1326 220, -1, -1, 141, 558, 265, 559, 262, -1, 559,
1327 266, 560, -1, 560, -1, 206, -1, 209, -1, 210,
1328 -1, 212, -1, 213, -1, 216, -1, 235, -1, 230,
1329 -1, 232, -1, 239, -1, 236, -1, 215, -1, 231,
1330 -1, 234, -1, 217, -1, 242, -1, 207, -1, 208,
1331 -1, 220, -1, 118, 265, 133, 262, -1, 119, 265,
1332 133, 262, -1, 33, 265, 133, 262, -1, 211, 265,
1333 273, 262, -1, 44, 265, 199, 262, -1, -1, 68,
1334 567, 264, 568, 263, 262, -1, 568, 569, -1, 569,
1335 -1, 570, -1, 571, -1, 572, -1, 576, -1, 577,
1336 -1, 578, -1, 1, -1, 49, 265, 199, 262, -1,
1337 46, 265, 271, 262, -1, -1, 104, 573, 265, 574,
1338 262, -1, 574, 266, 575, -1, 575, -1, 201, -1,
1339 11, -1, 250, 265, 155, 262, -1, 122, 265, 155,
1340 262, -1, -1, 4, 579, 265, 580, 262, -1, 580,
1341 266, 581, -1, 581, -1, 201, -1, 11, -1, 22,
1342 264, 583, 263, 262, -1, 583, 584, -1, 584, -1,
1343 587, -1, 588, -1, 589, -1, 590, -1, 595, -1,
1344 591, -1, 592, -1, 593, -1, 594, -1, 596, -1,
1345 597, -1, 598, -1, 586, -1, 599, -1, 600, -1,
1346 601, -1, 602, -1, 585, -1, 1, -1, 40, 265,
1347 199, 262, -1, 165, 265, 199, 262, -1, 42, 265,
1348 199, 262, -1, 252, 265, 199, 262, -1, 253, 265,
1349 199, 262, -1, 254, 265, 199, 262, -1, 98, 265,
1350 271, 262, -1, 99, 265, 271, 262, -1, 108, 265,
1351 133, 262, -1, 156, 265, 199, 262, -1, 107, 265,
1352 133, 262, -1, 35, 265, 133, 262, -1, 34, 265,
1353 133, 262, -1, 128, 265, 199, 262, -1, 129, 265,
1354 199, 262, -1, 13, 265, 199, 262, -1, 145, 265,
1355 133, 262, -1, 146, 265, 271, 262, -1, 182, 264,
1356 604, 263, 262, -1, 604, 605, -1, 605, -1, 606,
1357 -1, 607, -1, 609, -1, 611, -1, 610, -1, 608,
1358 -1, 612, -1, 1, -1, 56, 265, 199, 262, -1,
1359 83, 265, 199, 262, -1, 80, 265, 155, 262, -1,
1360 101, 265, 271, 262, -1, 78, 265, 199, 262, -1,
1361 41, 265, 199, 262, -1, 82, 265, 199, 262, -1
1362 };
1363
1364 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1365 static const yytype_uint16 yyrline[] =
1366 {
1367 0, 397, 397, 398, 401, 402, 403, 404, 405, 406,
1368 407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
1369 417, 418, 419, 420, 421, 422, 426, 426, 427, 431,
1370 435, 439, 443, 447, 453, 453, 454, 455, 456, 457,
1371 464, 467, 467, 468, 468, 468, 470, 478, 487, 489,
1372 489, 490, 490, 491, 491, 492, 492, 493, 494, 494,
1373 495, 495, 496, 497, 501, 500, 515, 515, 516, 520,
1374 526, 560, 620, 634, 649, 658, 672, 681, 709, 739,
1375 762, 784, 786, 786, 787, 787, 788, 788, 790, 799,
1376 808, 821, 823, 824, 826, 826, 827, 828, 828, 829,
1377 829, 830, 830, 831, 831, 832, 833, 835, 839, 843,
1378 850, 857, 864, 871, 878, 885, 892, 899, 903, 907,
1379 911, 915, 919, 923, 929, 939, 938, 1032, 1032, 1033,
1380 1033, 1034, 1034, 1034, 1034, 1035, 1035, 1036, 1036, 1036,
1381 1037, 1037, 1037, 1038, 1038, 1038, 1039, 1039, 1039, 1039,
1382 1040, 1040, 1041, 1041, 1043, 1055, 1067, 1101, 1113, 1124,
1383 1166, 1176, 1175, 1181, 1181, 1182, 1186, 1190, 1194, 1198,
1384 1202, 1206, 1210, 1214, 1218, 1222, 1226, 1230, 1234, 1238,
1385 1242, 1246, 1250, 1254, 1260, 1271, 1282, 1293, 1304, 1315,
1386 1326, 1337, 1348, 1359, 1370, 1381, 1392, 1403, 1415, 1414,
1387 1418, 1418, 1419, 1419, 1420, 1420, 1422, 1429, 1436, 1443,
1388 1450, 1457, 1464, 1471, 1478, 1485, 1492, 1499, 1506, 1513,
1389 1520, 1527, 1541, 1540, 1590, 1590, 1592, 1592, 1593, 1594,
1390 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603,
1391 1604, 1605, 1607, 1616, 1625, 1631, 1637, 1643, 1649, 1655,
1392 1661, 1667, 1673, 1679, 1685, 1691, 1701, 1700, 1717, 1716,
1393 1721, 1721, 1722, 1726, 1730, 1738, 1738, 1739, 1739, 1739,
1394 1739, 1739, 1741, 1741, 1743, 1743, 1745, 1759, 1779, 1788,
1395 1801, 1800, 1869, 1869, 1870, 1870, 1870, 1870, 1871, 1871,
1396 1872, 1872, 1872, 1873, 1873, 1874, 1874, 1874, 1875, 1875,
1397 1875, 1877, 1914, 1927, 1938, 1947, 1959, 1958, 1962, 1962,
1398 1963, 1963, 1964, 1964, 1966, 1974, 1981, 1988, 1995, 2002,
1399 2009, 2016, 2023, 2030, 2039, 2050, 2061, 2072, 2083, 2094,
1400 2106, 2125, 2135, 2144, 2160, 2159, 2175, 2175, 2176, 2176,
1401 2176, 2176, 2178, 2187, 2202, 2216, 2215, 2231, 2231, 2232,
1402 2232, 2232, 2232, 2234, 2243, 2266, 2265, 2271, 2271, 2272,
1403 2276, 2280, 2284, 2288, 2292, 2296, 2300, 2304, 2308, 2312,
1404 2322, 2321, 2338, 2338, 2339, 2339, 2339, 2341, 2348, 2347,
1405 2353, 2353, 2354, 2358, 2362, 2366, 2370, 2374, 2378, 2382,
1406 2386, 2390, 2394, 2404, 2403, 2549, 2549, 2550, 2550, 2551,
1407 2551, 2551, 2552, 2552, 2553, 2553, 2554, 2554, 2554, 2555,
1408 2555, 2555, 2556, 2556, 2556, 2557, 2557, 2558, 2558, 2560,
1409 2572, 2584, 2593, 2619, 2637, 2655, 2661, 2665, 2673, 2683,
1410 2682, 2686, 2686, 2687, 2687, 2688, 2688, 2690, 2701, 2708,
1411 2715, 2722, 2732, 2773, 2784, 2795, 2810, 2821, 2832, 2845,
1412 2858, 2867, 2903, 2902, 2966, 2965, 2969, 2969, 2970, 2976,
1413 2976, 2977, 2977, 2977, 2977, 2979, 2998, 3008, 3007, 3030,
1414 3030, 3031, 3031, 3031, 3033, 3039, 3048, 3050, 3050, 3051,
1415 3051, 3053, 3072, 3071, 3119, 3118, 3122, 3122, 3123, 3129,
1416 3129, 3130, 3130, 3130, 3130, 3132, 3138, 3147, 3150, 3150,
1417 3151, 3151, 3152, 3152, 3153, 3153, 3154, 3154, 3155, 3155,
1418 3156, 3156, 3157, 3157, 3158, 3158, 3159, 3159, 3160, 3160,
1419 3161, 3161, 3162, 3162, 3163, 3163, 3164, 3164, 3165, 3165,
1420 3166, 3166, 3167, 3167, 3168, 3168, 3169, 3169, 3170, 3170,
1421 3171, 3172, 3172, 3173, 3173, 3174, 3174, 3175, 3175, 3176,
1422 3176, 3177, 3177, 3178, 3178, 3179, 3180, 3183, 3188, 3193,
1423 3198, 3203, 3208, 3213, 3218, 3223, 3228, 3233, 3238, 3243,
1424 3248, 3253, 3258, 3263, 3268, 3273, 3279, 3290, 3295, 3304,
1425 3309, 3314, 3319, 3324, 3329, 3332, 3337, 3340, 3345, 3350,
1426 3355, 3360, 3365, 3370, 3375, 3380, 3385, 3396, 3401, 3406,
1427 3411, 3420, 3452, 3470, 3475, 3484, 3489, 3494, 3500, 3499,
1428 3504, 3504, 3505, 3508, 3511, 3514, 3517, 3520, 3523, 3526,
1429 3529, 3532, 3535, 3538, 3541, 3544, 3547, 3550, 3553, 3556,
1430 3559, 3565, 3564, 3569, 3569, 3570, 3573, 3576, 3579, 3582,
1431 3585, 3588, 3591, 3594, 3597, 3600, 3603, 3606, 3609, 3612,
1432 3615, 3618, 3621, 3624, 3629, 3634, 3639, 3644, 3649, 3658,
1433 3657, 3681, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688,
1434 3690, 3696, 3703, 3702, 3707, 3707, 3708, 3712, 3718, 3752,
1435 3762, 3761, 3811, 3811, 3812, 3816, 3825, 3828, 3828, 3829,
1436 3829, 3830, 3830, 3831, 3831, 3832, 3832, 3833, 3833, 3834,
1437 3835, 3835, 3836, 3836, 3837, 3837, 3838, 3838, 3840, 3845,
1438 3850, 3855, 3860, 3865, 3870, 3875, 3880, 3885, 3890, 3895,
1439 3900, 3905, 3910, 3915, 3920, 3925, 3933, 3936, 3936, 3937,
1440 3937, 3938, 3939, 3940, 3940, 3941, 3942, 3944, 3950, 3956,
1441 3965, 3979, 3985, 3991
1442 };
1443 #endif
1444
1445 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1446 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1447 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1448 static const char *const yytname[] =
1449 {
1450 "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1451 "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1452 "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1453 "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CAN_IDLE",
1454 "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE",
1455 "CLASS", "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ",
1456 "CRYPTLINK", "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1457 "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1458 "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1459 "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1460 "DOT_IN_IP6_ADDR", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL",
1461 "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1462 "FAKENAME", "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1463 "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1464 "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1465 "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1466 "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1467 "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1468 "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IDLETIME",
1469 "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1470 "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1471 "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1472 "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1473 "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1474 "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1475 "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1476 "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1477 "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1478 "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1479 "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1480 "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1481 "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1482 "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1483 "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1484 "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1485 "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1486 "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1487 "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1488 "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1489 "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1490 "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1491 "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1492 "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1493 "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1494 "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1495 "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1496 "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1497 "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1498 "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1499 "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1500 "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1501 "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1502 "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1503 "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1504 "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1505 "XLINE", "WARN", "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','",
1506 "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1507 "sizespec", "modules_entry", "modules_items", "modules_item",
1508 "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1509 "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1510 "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1511 "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1512 "serverinfo_description", "serverinfo_network_name",
1513 "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1514 "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1515 "admin_item", "admin_name", "admin_email", "admin_description",
1516 "logging_entry", "logging_items", "logging_item", "logging_path",
1517 "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1518 "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1519 "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1520 "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1521 "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1522 "oper_user", "oper_password", "oper_encrypted",
1523 "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1524 "oper_umodes_items", "oper_umodes_item", "oper_global_kill",
1525 "oper_remote", "oper_remoteban", "oper_kline", "oper_xline",
1526 "oper_unkline", "oper_gline", "oper_nick_changes", "oper_die",
1527 "oper_rehash", "oper_admin", "oper_hidden_admin", "oper_hidden_oper",
1528 "oper_operwall", "oper_flags", "$@4", "oper_flags_items",
1529 "oper_flags_item", "$@5", "$@6", "oper_flags_item_atom", "class_entry",
1530 "$@7", "class_name_b", "class_items", "class_item", "class_name",
1531 "class_name_t", "class_ping_time", "class_ping_warning",
1532 "class_number_per_ip", "class_connectfreq", "class_max_number",
1533 "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1534 "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1535 "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1536 "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1537 "listen_port", "$@10", "port_items", "port_item", "listen_address",
1538 "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1539 "auth_user", "auth_passwd", "auth_spoof_notice", "auth_class",
1540 "auth_encrypted", "auth_flags", "$@12", "auth_flags_items",
1541 "auth_flags_item", "$@13", "$@14", "auth_flags_item_atom",
1542 "auth_kline_exempt", "auth_need_ident", "auth_exceed_limit",
1543 "auth_can_flood", "auth_no_tilde", "auth_gline_exempt", "auth_spoof",
1544 "auth_redir_serv", "auth_redir_port", "auth_need_password", "resv_entry",
1545 "$@15", "resv_items", "resv_item", "resv_creason", "resv_channel",
1546 "resv_nick", "shared_entry", "$@16", "shared_items", "shared_item",
1547 "shared_name", "shared_user", "shared_type", "$@17", "shared_types",
1548 "shared_type_item", "cluster_entry", "$@18", "cluster_items",
1549 "cluster_item", "cluster_name", "cluster_type", "$@19", "cluster_types",
1550 "cluster_type_item", "connect_entry", "$@20", "connect_name_b",
1551 "connect_items", "connect_item", "connect_name", "connect_name_t",
1552 "connect_host", "connect_vhost", "connect_send_password",
1553 "connect_accept_password", "connect_port", "connect_aftype",
1554 "connect_fakename", "connect_flags", "$@21", "connect_flags_items",
1555 "connect_flags_item", "$@22", "$@23", "connect_flags_item_atom",
1556 "connect_rsa_public_key_file", "connect_encrypted", "connect_cryptlink",
1557 "connect_compressed", "connect_auto", "connect_topicburst",
1558 "connect_hub_mask", "connect_leaf_mask", "connect_class",
1559 "connect_cipher_preference", "kill_entry", "$@24", "kill_type", "$@25",
1560 "kill_type_items", "kill_type_item", "kill_items", "kill_item",
1561 "kill_user", "kill_reason", "deny_entry", "$@26", "deny_items",
1562 "deny_item", "deny_ip", "deny_reason", "exempt_entry", "exempt_items",
1563 "exempt_item", "exempt_ip", "gecos_entry", "$@27", "gecos_flags", "$@28",
1564 "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",
1565 "gecos_name", "gecos_reason", "general_entry", "general_items",
1566 "general_item", "general_max_watch", "general_gline_min_cidr",
1567 "general_gline_min_cidr6", "general_burst_away",
1568 "general_use_whois_actually", "general_reject_hold_time",
1569 "general_tkline_expire_notices", "general_kill_chase_time_limit",
1570 "general_hide_spoof_ips", "general_ignore_bogus_ts",
1571 "general_disable_remote_commands", "general_failed_oper_notice",
1572 "general_anti_nick_flood", "general_max_nick_time",
1573 "general_max_nick_changes", "general_max_accept",
1574 "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1575 "general_ts_max_delta", "general_havent_read_conf",
1576 "general_kline_with_reason", "general_kline_reason",
1577 "general_invisible_on_connect", "general_warn_no_nline",
1578 "general_stats_e_disabled", "general_stats_o_oper_only",
1579 "general_stats_P_oper_only", "general_stats_k_oper_only",
1580 "general_stats_i_oper_only", "general_pace_wait",
1581 "general_caller_id_wait", "general_opers_bypass_callerid",
1582 "general_pace_wait_simple", "general_short_motd",
1583 "general_no_oper_flood", "general_true_no_oper_flood",
1584 "general_oper_pass_resv", "general_message_locale", "general_idletime",
1585 "general_dots_in_ident", "general_max_targets", "general_servlink_path",
1586 "general_default_cipher_preference", "general_compression_level",
1587 "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1588 "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1589 "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1590 "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1591 "general_min_nonwildcard_simple", "general_default_floodcount",
1592 "general_client_flood", "general_dot_in_ip6_addr", "gline_entry", "$@31",
1593 "gline_items", "gline_item", "gline_enable", "gline_duration",
1594 "gline_logging", "$@32", "gline_logging_types",
1595 "gline_logging_type_item", "gline_user", "gline_server", "gline_action",
1596 "$@33", "gdeny_types", "gdeny_type_item", "channel_entry",
1597 "channel_items", "channel_item", "channel_disable_fake_channels",
1598 "channel_restrict_channels", "channel_disable_local_channels",
1599 "channel_use_except", "channel_use_invex", "channel_use_knock",
1600 "channel_knock_delay", "channel_knock_delay_channel",
1601 "channel_max_chans_per_user", "channel_quiet_on_ban", "channel_max_bans",
1602 "channel_default_split_user_count", "channel_default_split_server_count",
1603 "channel_no_create_on_split", "channel_no_join_on_split",
1604 "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1605 "serverhide_entry", "serverhide_items", "serverhide_item",
1606 "serverhide_flatten_links", "serverhide_hide_servers",
1607 "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1608 "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1609 };
1610 #endif
1611
1612 # ifdef YYPRINT
1613 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1614 token YYLEX-NUM. */
1615 static const yytype_uint16 yytoknum[] =
1616 {
1617 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1618 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1619 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1620 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1621 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1622 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1623 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1624 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1625 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1626 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1627 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1628 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1629 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1630 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1631 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1632 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1633 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1634 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1635 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1636 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1637 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1638 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1639 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1640 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
1641 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
1642 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
1643 515, 516, 59, 125, 123, 61, 44
1644 };
1645 # endif
1646
1647 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1648 static const yytype_uint16 yyr1[] =
1649 {
1650 0, 267, 268, 268, 269, 269, 269, 269, 269, 269,
1651 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
1652 269, 269, 269, 269, 269, 269, 270, 270, 271, 271,
1653 271, 271, 271, 271, 272, 272, 273, 273, 273, 273,
1654 274, 275, 275, 276, 276, 276, 277, 278, 279, 280,
1655 280, 281, 281, 281, 281, 281, 281, 281, 281, 281,
1656 281, 281, 281, 281, 283, 282, 284, 284, 285, 285,
1657 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1658 296, 297, 298, 298, 299, 299, 299, 299, 300, 301,
1659 302, 303, 304, 304, 305, 305, 305, 305, 305, 305,
1660 305, 305, 305, 305, 305, 305, 305, 306, 307, 308,
1661 309, 310, 311, 312, 313, 314, 315, 316, 316, 316,
1662 316, 316, 316, 316, 317, 319, 318, 320, 320, 321,
1663 321, 322, 322, 322, 322, 322, 322, 322, 322, 322,
1664 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
1665 322, 322, 322, 322, 323, 324, 325, 326, 327, 328,
1666 329, 331, 330, 332, 332, 333, 333, 333, 333, 333,
1667 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
1668 333, 333, 333, 333, 334, 335, 336, 337, 338, 339,
1669 340, 341, 342, 343, 344, 345, 346, 347, 349, 348,
1670 350, 350, 352, 351, 353, 351, 354, 354, 354, 354,
1671 354, 354, 354, 354, 354, 354, 354, 354, 354, 354,
1672 354, 354, 356, 355, 357, 357, 358, 358, 359, 359,
1673 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
1674 359, 359, 360, 361, 362, 363, 364, 365, 366, 367,
1675 368, 369, 370, 371, 372, 373, 375, 374, 377, 376,
1676 378, 378, 379, 379, 379, 380, 380, 381, 381, 381,
1677 381, 381, 383, 382, 384, 384, 385, 385, 386, 387,
1678 389, 388, 390, 390, 391, 391, 391, 391, 391, 391,
1679 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1680 391, 392, 393, 394, 395, 396, 398, 397, 399, 399,
1681 401, 400, 402, 400, 403, 403, 403, 403, 403, 403,
1682 403, 403, 403, 403, 404, 405, 406, 407, 408, 409,
1683 410, 411, 412, 413, 415, 414, 416, 416, 417, 417,
1684 417, 417, 418, 419, 420, 422, 421, 423, 423, 424,
1685 424, 424, 424, 425, 426, 428, 427, 429, 429, 430,
1686 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1687 432, 431, 433, 433, 434, 434, 434, 435, 437, 436,
1688 438, 438, 439, 439, 439, 439, 439, 439, 439, 439,
1689 439, 439, 439, 441, 440, 442, 442, 443, 443, 444,
1690 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
1691 444, 444, 444, 444, 444, 444, 444, 444, 444, 445,
1692 446, 447, 448, 449, 450, 451, 452, 452, 453, 455,
1693 454, 456, 456, 458, 457, 459, 457, 460, 460, 460,
1694 460, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1695 469, 470, 472, 471, 474, 473, 475, 475, 476, 477,
1696 477, 478, 478, 478, 478, 479, 480, 482, 481, 483,
1697 483, 484, 484, 484, 485, 486, 487, 488, 488, 489,
1698 489, 490, 492, 491, 494, 493, 495, 495, 496, 497,
1699 497, 498, 498, 498, 498, 499, 500, 501, 502, 502,
1700 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
1701 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
1702 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
1703 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
1704 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
1705 503, 503, 503, 503, 503, 503, 503, 504, 505, 506,
1706 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
1707 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
1708 527, 528, 529, 530, 531, 531, 532, 532, 533, 534,
1709 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1710 545, 546, 547, 548, 549, 550, 551, 552, 554, 553,
1711 555, 555, 556, 556, 556, 556, 556, 556, 556, 556,
1712 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
1713 556, 558, 557, 559, 559, 560, 560, 560, 560, 560,
1714 560, 560, 560, 560, 560, 560, 560, 560, 560, 560,
1715 560, 560, 560, 560, 561, 562, 563, 564, 565, 567,
1716 566, 568, 568, 569, 569, 569, 569, 569, 569, 569,
1717 570, 571, 573, 572, 574, 574, 575, 575, 576, 577,
1718 579, 578, 580, 580, 581, 581, 582, 583, 583, 584,
1719 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
1720 584, 584, 584, 584, 584, 584, 584, 584, 585, 586,
1721 587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
1722 597, 598, 599, 600, 601, 602, 603, 604, 604, 605,
1723 605, 605, 605, 605, 605, 605, 605, 606, 607, 608,
1724 609, 610, 611, 612
1725 };
1726
1727 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1728 static const yytype_uint8 yyr2[] =
1729 {
1730 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1731 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1732 1, 1, 1, 1, 2, 2, 0, 1, 2, 3,
1733 3, 3, 3, 3, 0, 1, 2, 3, 3, 3,
1734 5, 2, 1, 1, 1, 2, 4, 4, 5, 2,
1735 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1736 1, 1, 1, 2, 0, 5, 3, 1, 1, 1,
1737 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1738 4, 5, 2, 1, 1, 1, 1, 2, 4, 4,
1739 4, 5, 2, 1, 1, 1, 1, 1, 1, 1,
1740 1, 1, 1, 1, 1, 1, 2, 4, 4, 4,
1741 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1742 4, 4, 4, 4, 4, 0, 7, 0, 1, 2,
1743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1744 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1745 1, 1, 1, 2, 4, 1, 4, 4, 4, 4,
1746 4, 0, 5, 3, 1, 1, 1, 1, 1, 1,
1747 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1748 1, 1, 1, 1, 4, 4, 4, 4, 4, 4,
1749 4, 4, 4, 4, 4, 4, 4, 4, 0, 5,
1750 3, 1, 0, 3, 0, 2, 1, 1, 1, 1,
1751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1752 1, 1, 0, 7, 0, 1, 2, 1, 1, 1,
1753 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1754 1, 2, 4, 1, 4, 4, 4, 4, 4, 4,
1755 4, 4, 4, 4, 4, 4, 0, 6, 0, 5,
1756 3, 1, 1, 1, 1, 2, 1, 1, 1, 1,
1757 1, 2, 0, 5, 3, 1, 1, 3, 4, 4,
1758 0, 6, 2, 1, 1, 1, 1, 1, 1, 1,
1759 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1760 2, 4, 4, 4, 4, 4, 0, 5, 3, 1,
1761 0, 3, 0, 2, 1, 1, 1, 1, 1, 1,
1762 1, 1, 1, 1, 4, 4, 4, 4, 4, 4,
1763 4, 4, 4, 4, 0, 6, 2, 1, 1, 1,
1764 1, 2, 4, 4, 4, 0, 6, 2, 1, 1,
1765 1, 1, 2, 4, 4, 0, 5, 3, 1, 1,
1766 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1767 0, 6, 2, 1, 1, 1, 2, 4, 0, 5,
1768 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1769 1, 1, 1, 0, 7, 0, 1, 2, 1, 1,
1770 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1771 1, 1, 1, 1, 1, 1, 1, 1, 2, 4,
1772 1, 4, 4, 4, 4, 4, 4, 4, 4, 0,
1773 5, 3, 1, 0, 3, 0, 2, 1, 1, 1,
1774 1, 1, 4, 4, 4, 4, 4, 4, 4, 4,
1775 4, 4, 0, 6, 0, 5, 3, 1, 1, 2,
1776 1, 1, 1, 1, 1, 4, 4, 0, 6, 2,
1777 1, 1, 1, 1, 4, 4, 5, 2, 1, 1,
1778 1, 4, 0, 6, 0, 5, 3, 1, 1, 2,
1779 1, 1, 1, 1, 1, 4, 4, 5, 2, 1,
1780 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1781 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1782 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1783 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1784 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1785 1, 1, 1, 1, 1, 1, 1, 4, 4, 4,
1786 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1787 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1788 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1789 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1790 4, 4, 4, 4, 4, 4, 4, 4, 0, 5,
1791 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1792 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1793 1, 0, 5, 3, 1, 1, 1, 1, 1, 1,
1794 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1795 1, 1, 1, 1, 4, 4, 4, 4, 4, 0,
1796 6, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1797 4, 4, 0, 5, 3, 1, 1, 1, 4, 4,
1798 0, 5, 3, 1, 1, 1, 5, 2, 1, 1,
1799 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1800 1, 1, 1, 1, 1, 1, 1, 1, 4, 4,
1801 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1802 4, 4, 4, 4, 4, 4, 5, 2, 1, 1,
1803 1, 1, 1, 1, 1, 1, 1, 4, 4, 4,
1804 4, 4, 4, 4
1805 };
1806
1807 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1808 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1809 means the default is an error. */
1810 static const yytype_uint16 yydefact[] =
1811 {
1812 2, 0, 1, 0, 0, 0, 222, 393, 467, 0,
1813 482, 0, 659, 280, 452, 256, 0, 0, 125, 334,
1814 0, 0, 345, 370, 3, 23, 11, 4, 5, 6,
1815 8, 9, 10, 13, 14, 15, 16, 17, 18, 19,
1816 22, 20, 21, 7, 12, 24, 25, 0, 0, 224,
1817 395, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818 0, 127, 0, 0, 0, 0, 0, 0, 0, 0,
1819 0, 0, 83, 84, 86, 85, 707, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 688, 706, 701, 689,
1822 690, 691, 692, 694, 695, 696, 697, 693, 698, 699,
1823 700, 702, 703, 704, 705, 243, 0, 225, 420, 0,
1824 396, 0, 480, 0, 0, 478, 479, 0, 556, 0,
1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1828 0, 0, 631, 0, 608, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 499, 555, 550, 551,
1831 548, 552, 553, 549, 510, 500, 501, 539, 502, 503,
1832 504, 505, 506, 507, 508, 509, 544, 511, 512, 513,
1833 514, 554, 516, 521, 517, 519, 518, 533, 534, 520,
1834 522, 523, 524, 525, 527, 526, 515, 529, 538, 540,
1835 541, 530, 531, 546, 547, 543, 532, 528, 536, 537,
1836 535, 542, 545, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 93, 94, 95, 98, 105, 99, 103, 100, 101,
1839 104, 102, 96, 97, 0, 0, 0, 0, 42, 43,
1840 44, 155, 0, 128, 0, 736, 0, 0, 0, 0,
1841 0, 0, 0, 0, 728, 729, 730, 734, 731, 733,
1842 732, 735, 0, 0, 0, 0, 0, 0, 0, 0,
1843 64, 0, 0, 0, 0, 0, 50, 62, 61, 58,
1844 51, 60, 54, 55, 56, 52, 59, 57, 53, 0,
1845 0, 87, 0, 0, 0, 0, 82, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 687, 0, 0, 473,
1848 0, 0, 0, 470, 471, 472, 0, 0, 477, 494,
1849 0, 0, 484, 493, 0, 490, 491, 492, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 498, 669, 680, 0, 0,
1856 672, 0, 0, 0, 662, 663, 664, 665, 666, 667,
1857 668, 0, 0, 0, 0, 0, 306, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 283,
1859 284, 285, 294, 286, 299, 287, 288, 289, 290, 297,
1860 291, 292, 293, 295, 296, 298, 464, 0, 454, 0,
1861 463, 0, 460, 461, 462, 0, 258, 0, 0, 0,
1862 268, 0, 266, 267, 269, 270, 106, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 92, 45, 0, 0, 0, 41, 0, 0, 0, 0,
1865 0, 0, 337, 338, 339, 340, 0, 0, 0, 0,
1866 0, 0, 0, 0, 727, 63, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
1868 0, 0, 355, 0, 0, 348, 349, 350, 351, 0,
1869 0, 378, 0, 373, 374, 375, 0, 0, 0, 81,
1870 0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 686,
1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 227, 228, 231, 232, 234,
1874 235, 236, 237, 238, 239, 240, 229, 230, 233, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 429,
1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877 398, 399, 400, 401, 402, 403, 405, 404, 406, 407,
1878 415, 412, 414, 413, 411, 417, 408, 409, 410, 416,
1879 0, 0, 0, 469, 0, 476, 0, 0, 0, 0,
1880 489, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 34, 0, 0, 0, 0, 0, 0,
1886 497, 0, 0, 0, 0, 0, 0, 0, 661, 300,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 0, 0, 0, 0, 282, 0, 0,
1889 0, 0, 459, 271, 0, 0, 0, 0, 0, 265,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0, 91, 0,
1892 0, 40, 0, 0, 0, 0, 0, 198, 0, 0,
1893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 161, 0, 0, 0, 0, 130, 131, 132, 133,
1895 150, 151, 137, 136, 138, 139, 145, 140, 141, 142,
1896 143, 144, 146, 147, 148, 134, 135, 149, 152, 341,
1897 0, 0, 0, 0, 336, 0, 0, 0, 0, 0,
1898 0, 0, 726, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 48, 352, 0, 0, 0,
1900 0, 347, 376, 0, 0, 0, 372, 90, 89, 88,
1901 723, 720, 719, 708, 710, 26, 26, 26, 26, 26,
1902 28, 27, 714, 715, 718, 716, 721, 722, 724, 725,
1903 717, 709, 711, 712, 713, 241, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 226, 418, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 397, 0, 0, 468, 481, 0, 0, 0,
1908 483, 569, 573, 560, 589, 602, 601, 656, 606, 567,
1909 658, 598, 604, 568, 558, 559, 576, 565, 597, 566,
1910 579, 564, 578, 577, 572, 571, 570, 599, 557, 596,
1911 654, 655, 593, 590, 635, 651, 652, 636, 637, 638,
1912 639, 646, 640, 649, 653, 642, 647, 643, 648, 641,
1913 645, 644, 650, 0, 634, 595, 612, 628, 629, 613,
1914 614, 615, 616, 623, 617, 626, 630, 619, 624, 620,
1915 625, 618, 622, 621, 627, 0, 611, 588, 591, 605,
1916 562, 600, 563, 592, 581, 586, 587, 584, 585, 582,
1917 583, 575, 574, 34, 34, 34, 36, 35, 657, 607,
1918 594, 603, 561, 580, 0, 0, 0, 0, 0, 0,
1919 660, 0, 0, 0, 0, 312, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 281, 0, 0,
1921 0, 453, 0, 0, 0, 276, 272, 275, 257, 110,
1922 116, 114, 113, 115, 111, 112, 109, 117, 123, 118,
1923 122, 120, 121, 119, 108, 107, 124, 46, 47, 153,
1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 129, 0, 0, 0, 335, 742, 737,
1927 741, 739, 743, 738, 740, 74, 80, 72, 76, 75,
1928 71, 70, 68, 69, 0, 67, 73, 79, 77, 78,
1929 0, 0, 0, 346, 0, 0, 371, 29, 30, 31,
1930 32, 33, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 223, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 435, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 394, 474, 475, 495,
1934 496, 488, 0, 487, 632, 0, 609, 0, 37, 38,
1935 39, 685, 684, 0, 683, 671, 670, 677, 676, 0,
1936 675, 679, 678, 327, 304, 305, 326, 310, 0, 309,
1937 0, 329, 325, 324, 333, 328, 302, 332, 331, 330,
1938 303, 301, 466, 458, 0, 457, 465, 263, 264, 262,
1939 0, 261, 279, 278, 0, 0, 0, 0, 0, 0,
1940 0, 204, 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 0, 0, 126,
1942 343, 344, 342, 65, 0, 353, 359, 365, 369, 368,
1943 367, 364, 360, 363, 366, 361, 362, 0, 358, 354,
1944 377, 382, 388, 392, 391, 390, 387, 383, 386, 389,
1945 384, 385, 0, 381, 253, 254, 247, 249, 251, 250,
1946 248, 242, 255, 246, 244, 245, 252, 424, 426, 427,
1947 446, 451, 450, 445, 444, 443, 428, 433, 0, 432,
1948 0, 421, 448, 449, 419, 425, 442, 423, 447, 422,
1949 485, 0, 633, 610, 681, 0, 673, 0, 0, 307,
1950 312, 318, 319, 315, 321, 317, 316, 323, 320, 322,
1951 314, 313, 455, 0, 259, 0, 277, 274, 273, 194,
1952 160, 192, 158, 202, 0, 201, 0, 190, 184, 195,
1953 196, 187, 154, 191, 157, 193, 185, 186, 159,