ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_parser.c
(Generate patch)

Comparing ircd-hybrid/trunk/src/conf_parser.c (file contents):
Revision 1646 by michael, Wed Nov 7 21:02:43 2012 UTC vs.
Revision 1946 by michael, Sun May 5 10:21:40 2013 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.6.2.33-cc5a9.  */
1 > /* A Bison parser, made by GNU Bison 2.7.12-4996.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2013 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
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.6.2.33-cc5a9"
47 > #define YYBISON_VERSION "2.7.12-4996"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 62 | Line 62
62  
63  
64   /* Copy the first part of user declarations.  */
65 < /* Line 358 of yacc.c  */
65 > /* Line 371 of yacc.c  */
66   #line 25 "conf_parser.y"
67  
68  
# Line 80 | Line 80
80   #include "log.h"
81   #include "client.h"     /* for UMODE_ALL only */
82   #include "irc_string.h"
83 #include "sprintf_irc.h"
83   #include "memory.h"
84   #include "modules.h"
85   #include "s_serv.h"
# Line 98 | Line 97
97   #include <openssl/dh.h>
98   #endif
99  
100 < int yylex(void);
100 > #include "rsa.h"
101  
102 < static char *class_name = NULL;
104 < static struct MaskItem *yy_conf = NULL;
105 < static struct ClassItem *yy_class = NULL;
106 < static char *yy_class_name = NULL;
107 <
108 < static dlink_list col_conf_list  = { NULL, NULL, 0 };
109 < static unsigned int listener_flags = 0;
110 < static unsigned int regex_ban = 0;
111 < static char userbuf[IRCD_BUFSIZE];
112 < static char hostbuf[IRCD_BUFSIZE];
113 < static char reasonbuf[REASONLEN + 1];
114 < static char gecos_name[REALLEN * 4];
115 < static char lfile[IRCD_BUFSIZE];
116 < static unsigned int ltype = 0;
117 < static unsigned int lsize = 0;
118 < static char *resv_reason = NULL;
119 < static char *listener_address = NULL;
102 > int yylex(void);
103  
104   static struct
105   {
# Line 132 | Line 115 | static struct
115      user,
116      host,
117      addr,
118 <    pass,
118 >    bind,
119      file,
120 +    ciph,
121 +    rpass,
122 +    spass,
123      class;
124  
125    struct {
126      unsigned int value;
127    } flags,
128      modes,
129 +    size,
130 +    type,
131      port,
132 +    aftype,
133      ping_freq,
134      max_perip,
135      con_freq,
136 +    min_idle,
137 +    max_idle,
138      max_total,
139      max_global,
140      max_local,
# Line 185 | Line 176 | reset_block_state(void)
176   }
177  
178  
179 < /* Line 358 of yacc.c  */
180 < #line 190 "conf_parser.c"
179 > /* Line 371 of yacc.c  */
180 > #line 181 "conf_parser.c"
181  
182   # ifndef YY_NULL
183   #  if defined __cplusplus && 201103L <= __cplusplus
# Line 206 | Line 197 | reset_block_state(void)
197  
198   /* In a future release of Bison, this section will be replaced
199     by #include "y.tab.h".  */
200 < #ifndef YY_YY_Y_TAB_H_INCLUDED
201 < # define YY_YY_Y_TAB_H_INCLUDED
200 > #ifndef YY_YY_CONF_PARSER_H_INCLUDED
201 > # define YY_YY_CONF_PARSER_H_INCLUDED
202   /* Enabling traces.  */
203   #ifndef YYDEBUG
204   # define YYDEBUG 0
# Line 274 | Line 265 | extern int yydebug;
265       HIDDEN_NAME = 307,
266       HIDE_SERVER_IPS = 308,
267       HIDE_SERVERS = 309,
268 <     HIDE_SPOOF_IPS = 310,
269 <     HOST = 311,
270 <     HUB = 312,
271 <     HUB_MASK = 313,
272 <     IGNORE_BOGUS_TS = 314,
273 <     INVISIBLE_ON_CONNECT = 315,
274 <     IP = 316,
275 <     KILL = 317,
276 <     KILL_CHASE_TIME_LIMIT = 318,
277 <     KLINE = 319,
278 <     KLINE_EXEMPT = 320,
279 <     KNOCK_DELAY = 321,
280 <     KNOCK_DELAY_CHANNEL = 322,
281 <     LEAF_MASK = 323,
282 <     LINKS_DELAY = 324,
283 <     LISTEN = 325,
284 <     T_LOG = 326,
285 <     MAX_ACCEPT = 327,
286 <     MAX_BANS = 328,
287 <     MAX_CHANS_PER_OPER = 329,
288 <     MAX_CHANS_PER_USER = 330,
289 <     MAX_GLOBAL = 331,
290 <     MAX_IDENT = 332,
291 <     MAX_LOCAL = 333,
292 <     MAX_NICK_CHANGES = 334,
293 <     MAX_NICK_TIME = 335,
294 <     MAX_NUMBER = 336,
295 <     MAX_TARGETS = 337,
296 <     MAX_WATCH = 338,
297 <     MESSAGE_LOCALE = 339,
298 <     MIN_NONWILDCARD = 340,
299 <     MIN_NONWILDCARD_SIMPLE = 341,
300 <     MODULE = 342,
301 <     MODULES = 343,
302 <     NAME = 344,
303 <     NEED_PASSWORD = 345,
304 <     NETWORK_DESC = 346,
305 <     NETWORK_NAME = 347,
306 <     NICK = 348,
307 <     NICK_CHANGES = 349,
308 <     NO_CREATE_ON_SPLIT = 350,
309 <     NO_JOIN_ON_SPLIT = 351,
310 <     NO_OPER_FLOOD = 352,
311 <     NO_TILDE = 353,
312 <     NUMBER = 354,
313 <     NUMBER_PER_CIDR = 355,
314 <     NUMBER_PER_IP = 356,
315 <     OPERATOR = 357,
316 <     OPERS_BYPASS_CALLERID = 358,
317 <     OPER_ONLY_UMODES = 359,
318 <     OPER_PASS_RESV = 360,
319 <     OPER_SPY_T = 361,
320 <     OPER_UMODES = 362,
321 <     JOIN_FLOOD_COUNT = 363,
322 <     JOIN_FLOOD_TIME = 364,
323 <     PACE_WAIT = 365,
324 <     PACE_WAIT_SIMPLE = 366,
325 <     PASSWORD = 367,
326 <     PATH = 368,
327 <     PING_COOKIE = 369,
328 <     PING_TIME = 370,
329 <     PORT = 371,
330 <     QSTRING = 372,
331 <     QUIET_ON_BAN = 373,
332 <     REASON = 374,
333 <     REDIRPORT = 375,
334 <     REDIRSERV = 376,
335 <     REGEX_T = 377,
336 <     REHASH = 378,
337 <     REMOTE = 379,
338 <     REMOTEBAN = 380,
339 <     RESTRICT_CHANNELS = 381,
340 <     RSA_PRIVATE_KEY_FILE = 382,
341 <     RSA_PUBLIC_KEY_FILE = 383,
342 <     SSL_CERTIFICATE_FILE = 384,
343 <     SSL_DH_PARAM_FILE = 385,
344 <     T_SSL_CLIENT_METHOD = 386,
345 <     T_SSL_SERVER_METHOD = 387,
346 <     T_SSLV3 = 388,
347 <     T_TLSV1 = 389,
348 <     RESV = 390,
349 <     RESV_EXEMPT = 391,
350 <     SECONDS = 392,
351 <     MINUTES = 393,
352 <     HOURS = 394,
353 <     DAYS = 395,
354 <     WEEKS = 396,
355 <     SENDQ = 397,
356 <     SEND_PASSWORD = 398,
357 <     SERVERHIDE = 399,
358 <     SERVERINFO = 400,
359 <     IRCD_SID = 401,
360 <     TKLINE_EXPIRE_NOTICES = 402,
361 <     T_SHARED = 403,
362 <     T_CLUSTER = 404,
363 <     TYPE = 405,
364 <     SHORT_MOTD = 406,
365 <     SPOOF = 407,
366 <     SPOOF_NOTICE = 408,
367 <     STATS_E_DISABLED = 409,
368 <     STATS_I_OPER_ONLY = 410,
369 <     STATS_K_OPER_ONLY = 411,
370 <     STATS_O_OPER_ONLY = 412,
371 <     STATS_P_OPER_ONLY = 413,
372 <     TBOOL = 414,
373 <     TMASKED = 415,
374 <     TS_MAX_DELTA = 416,
375 <     TS_WARN_DELTA = 417,
376 <     TWODOTS = 418,
377 <     T_ALL = 419,
378 <     T_BOTS = 420,
379 <     T_SOFTCALLERID = 421,
380 <     T_CALLERID = 422,
381 <     T_CCONN = 423,
382 <     T_CCONN_FULL = 424,
383 <     T_SSL_CIPHER_LIST = 425,
384 <     T_DEAF = 426,
385 <     T_DEBUG = 427,
386 <     T_DLINE = 428,
387 <     T_EXTERNAL = 429,
388 <     T_FULL = 430,
389 <     T_INVISIBLE = 431,
390 <     T_IPV4 = 432,
391 <     T_IPV6 = 433,
392 <     T_LOCOPS = 434,
393 <     T_MAX_CLIENTS = 435,
394 <     T_NCHANGE = 436,
395 <     T_OPERWALL = 437,
396 <     T_RECVQ = 438,
397 <     T_REJ = 439,
398 <     T_SERVER = 440,
399 <     T_SERVNOTICE = 441,
400 <     T_SET = 442,
401 <     T_SKILL = 443,
402 <     T_SPY = 444,
403 <     T_SSL = 445,
404 <     T_UMODES = 446,
405 <     T_UNAUTH = 447,
406 <     T_UNDLINE = 448,
407 <     T_UNLIMITED = 449,
408 <     T_UNRESV = 450,
409 <     T_UNXLINE = 451,
410 <     T_GLOBOPS = 452,
411 <     T_WALLOP = 453,
412 <     T_RESTART = 454,
413 <     T_SERVICE = 455,
414 <     T_SERVICES_NAME = 456,
415 <     THROTTLE_TIME = 457,
416 <     TRUE_NO_OPER_FLOOD = 458,
417 <     UNKLINE = 459,
418 <     USER = 460,
419 <     USE_EGD = 461,
420 <     USE_LOGGING = 462,
421 <     VHOST = 463,
422 <     VHOST6 = 464,
423 <     XLINE = 465,
424 <     WARN_NO_NLINE = 466,
425 <     T_SIZE = 467,
426 <     T_FILE = 468
268 >     HIDE_SERVICES = 310,
269 >     HIDE_SPOOF_IPS = 311,
270 >     HOST = 312,
271 >     HUB = 313,
272 >     HUB_MASK = 314,
273 >     IGNORE_BOGUS_TS = 315,
274 >     INVISIBLE_ON_CONNECT = 316,
275 >     IP = 317,
276 >     KILL = 318,
277 >     KILL_CHASE_TIME_LIMIT = 319,
278 >     KLINE = 320,
279 >     KLINE_EXEMPT = 321,
280 >     KNOCK_DELAY = 322,
281 >     KNOCK_DELAY_CHANNEL = 323,
282 >     LEAF_MASK = 324,
283 >     LINKS_DELAY = 325,
284 >     LISTEN = 326,
285 >     T_LOG = 327,
286 >     MASK = 328,
287 >     MAX_ACCEPT = 329,
288 >     MAX_BANS = 330,
289 >     MAX_CHANS_PER_OPER = 331,
290 >     MAX_CHANS_PER_USER = 332,
291 >     MAX_GLOBAL = 333,
292 >     MAX_IDENT = 334,
293 >     MAX_LOCAL = 335,
294 >     MAX_NICK_CHANGES = 336,
295 >     MAX_NICK_LENGTH = 337,
296 >     MAX_NICK_TIME = 338,
297 >     MAX_NUMBER = 339,
298 >     MAX_TARGETS = 340,
299 >     MAX_TOPIC_LENGTH = 341,
300 >     MAX_WATCH = 342,
301 >     MIN_NONWILDCARD = 343,
302 >     MIN_NONWILDCARD_SIMPLE = 344,
303 >     MIN_IDLE = 345,
304 >     MAX_IDLE = 346,
305 >     RANDOM_IDLE = 347,
306 >     HIDE_IDLE_FROM_OPERS = 348,
307 >     MODULE = 349,
308 >     MODULES = 350,
309 >     NAME = 351,
310 >     NEED_PASSWORD = 352,
311 >     NETWORK_DESC = 353,
312 >     NETWORK_NAME = 354,
313 >     NICK = 355,
314 >     NO_CREATE_ON_SPLIT = 356,
315 >     NO_JOIN_ON_SPLIT = 357,
316 >     NO_OPER_FLOOD = 358,
317 >     NO_TILDE = 359,
318 >     NUMBER = 360,
319 >     NUMBER_PER_CIDR = 361,
320 >     NUMBER_PER_IP = 362,
321 >     OPERATOR = 363,
322 >     OPERS_BYPASS_CALLERID = 364,
323 >     OPER_ONLY_UMODES = 365,
324 >     OPER_PASS_RESV = 366,
325 >     OPER_SPY_T = 367,
326 >     OPER_UMODES = 368,
327 >     JOIN_FLOOD_COUNT = 369,
328 >     JOIN_FLOOD_TIME = 370,
329 >     PACE_WAIT = 371,
330 >     PACE_WAIT_SIMPLE = 372,
331 >     PASSWORD = 373,
332 >     PATH = 374,
333 >     PING_COOKIE = 375,
334 >     PING_TIME = 376,
335 >     PORT = 377,
336 >     QSTRING = 378,
337 >     REASON = 379,
338 >     REDIRPORT = 380,
339 >     REDIRSERV = 381,
340 >     REHASH = 382,
341 >     REMOTE = 383,
342 >     REMOTEBAN = 384,
343 >     RSA_PRIVATE_KEY_FILE = 385,
344 >     RSA_PUBLIC_KEY_FILE = 386,
345 >     SSL_CERTIFICATE_FILE = 387,
346 >     SSL_DH_PARAM_FILE = 388,
347 >     T_SSL_CLIENT_METHOD = 389,
348 >     T_SSL_SERVER_METHOD = 390,
349 >     T_SSLV3 = 391,
350 >     T_TLSV1 = 392,
351 >     RESV = 393,
352 >     RESV_EXEMPT = 394,
353 >     SECONDS = 395,
354 >     MINUTES = 396,
355 >     HOURS = 397,
356 >     DAYS = 398,
357 >     WEEKS = 399,
358 >     MONTHS = 400,
359 >     YEARS = 401,
360 >     SENDQ = 402,
361 >     SEND_PASSWORD = 403,
362 >     SERVERHIDE = 404,
363 >     SERVERINFO = 405,
364 >     IRCD_SID = 406,
365 >     TKLINE_EXPIRE_NOTICES = 407,
366 >     T_SHARED = 408,
367 >     T_CLUSTER = 409,
368 >     TYPE = 410,
369 >     SHORT_MOTD = 411,
370 >     SPOOF = 412,
371 >     SPOOF_NOTICE = 413,
372 >     STATS_E_DISABLED = 414,
373 >     STATS_I_OPER_ONLY = 415,
374 >     STATS_K_OPER_ONLY = 416,
375 >     STATS_O_OPER_ONLY = 417,
376 >     STATS_P_OPER_ONLY = 418,
377 >     TBOOL = 419,
378 >     TMASKED = 420,
379 >     TS_MAX_DELTA = 421,
380 >     TS_WARN_DELTA = 422,
381 >     TWODOTS = 423,
382 >     T_ALL = 424,
383 >     T_BOTS = 425,
384 >     T_SOFTCALLERID = 426,
385 >     T_CALLERID = 427,
386 >     T_CCONN = 428,
387 >     T_CCONN_FULL = 429,
388 >     T_SSL_CIPHER_LIST = 430,
389 >     T_DEAF = 431,
390 >     T_DEBUG = 432,
391 >     T_DLINE = 433,
392 >     T_EXTERNAL = 434,
393 >     T_FULL = 435,
394 >     T_INVISIBLE = 436,
395 >     T_IPV4 = 437,
396 >     T_IPV6 = 438,
397 >     T_LOCOPS = 439,
398 >     T_MAX_CLIENTS = 440,
399 >     T_NCHANGE = 441,
400 >     T_NONONREG = 442,
401 >     T_OPERWALL = 443,
402 >     T_RECVQ = 444,
403 >     T_REJ = 445,
404 >     T_SERVER = 446,
405 >     T_SERVNOTICE = 447,
406 >     T_SET = 448,
407 >     T_SKILL = 449,
408 >     T_SPY = 450,
409 >     T_SSL = 451,
410 >     T_UMODES = 452,
411 >     T_UNAUTH = 453,
412 >     T_UNDLINE = 454,
413 >     T_UNLIMITED = 455,
414 >     T_UNRESV = 456,
415 >     T_UNXLINE = 457,
416 >     T_GLOBOPS = 458,
417 >     T_WALLOP = 459,
418 >     T_WEBIRC = 460,
419 >     T_RESTART = 461,
420 >     T_SERVICE = 462,
421 >     T_SERVICES_NAME = 463,
422 >     THROTTLE_TIME = 464,
423 >     TRUE_NO_OPER_FLOOD = 465,
424 >     UNKLINE = 466,
425 >     USER = 467,
426 >     USE_EGD = 468,
427 >     USE_LOGGING = 469,
428 >     VHOST = 470,
429 >     VHOST6 = 471,
430 >     XLINE = 472,
431 >     WARN_NO_NLINE = 473,
432 >     T_SIZE = 474,
433 >     T_FILE = 475
434     };
435   #endif
436   /* Tokens.  */
# Line 488 | Line 486 | extern int yydebug;
486   #define HIDDEN_NAME 307
487   #define HIDE_SERVER_IPS 308
488   #define HIDE_SERVERS 309
489 < #define HIDE_SPOOF_IPS 310
490 < #define HOST 311
491 < #define HUB 312
492 < #define HUB_MASK 313
493 < #define IGNORE_BOGUS_TS 314
494 < #define INVISIBLE_ON_CONNECT 315
495 < #define IP 316
496 < #define KILL 317
497 < #define KILL_CHASE_TIME_LIMIT 318
498 < #define KLINE 319
499 < #define KLINE_EXEMPT 320
500 < #define KNOCK_DELAY 321
501 < #define KNOCK_DELAY_CHANNEL 322
502 < #define LEAF_MASK 323
503 < #define LINKS_DELAY 324
504 < #define LISTEN 325
505 < #define T_LOG 326
506 < #define MAX_ACCEPT 327
507 < #define MAX_BANS 328
508 < #define MAX_CHANS_PER_OPER 329
509 < #define MAX_CHANS_PER_USER 330
510 < #define MAX_GLOBAL 331
511 < #define MAX_IDENT 332
512 < #define MAX_LOCAL 333
513 < #define MAX_NICK_CHANGES 334
514 < #define MAX_NICK_TIME 335
515 < #define MAX_NUMBER 336
516 < #define MAX_TARGETS 337
517 < #define MAX_WATCH 338
518 < #define MESSAGE_LOCALE 339
519 < #define MIN_NONWILDCARD 340
520 < #define MIN_NONWILDCARD_SIMPLE 341
521 < #define MODULE 342
522 < #define MODULES 343
523 < #define NAME 344
524 < #define NEED_PASSWORD 345
525 < #define NETWORK_DESC 346
526 < #define NETWORK_NAME 347
527 < #define NICK 348
528 < #define NICK_CHANGES 349
529 < #define NO_CREATE_ON_SPLIT 350
530 < #define NO_JOIN_ON_SPLIT 351
531 < #define NO_OPER_FLOOD 352
532 < #define NO_TILDE 353
533 < #define NUMBER 354
534 < #define NUMBER_PER_CIDR 355
535 < #define NUMBER_PER_IP 356
536 < #define OPERATOR 357
537 < #define OPERS_BYPASS_CALLERID 358
538 < #define OPER_ONLY_UMODES 359
539 < #define OPER_PASS_RESV 360
540 < #define OPER_SPY_T 361
541 < #define OPER_UMODES 362
542 < #define JOIN_FLOOD_COUNT 363
543 < #define JOIN_FLOOD_TIME 364
544 < #define PACE_WAIT 365
545 < #define PACE_WAIT_SIMPLE 366
546 < #define PASSWORD 367
547 < #define PATH 368
548 < #define PING_COOKIE 369
549 < #define PING_TIME 370
550 < #define PORT 371
551 < #define QSTRING 372
552 < #define QUIET_ON_BAN 373
553 < #define REASON 374
554 < #define REDIRPORT 375
555 < #define REDIRSERV 376
556 < #define REGEX_T 377
557 < #define REHASH 378
558 < #define REMOTE 379
559 < #define REMOTEBAN 380
560 < #define RESTRICT_CHANNELS 381
561 < #define RSA_PRIVATE_KEY_FILE 382
562 < #define RSA_PUBLIC_KEY_FILE 383
563 < #define SSL_CERTIFICATE_FILE 384
564 < #define SSL_DH_PARAM_FILE 385
565 < #define T_SSL_CLIENT_METHOD 386
566 < #define T_SSL_SERVER_METHOD 387
567 < #define T_SSLV3 388
568 < #define T_TLSV1 389
569 < #define RESV 390
570 < #define RESV_EXEMPT 391
571 < #define SECONDS 392
572 < #define MINUTES 393
573 < #define HOURS 394
574 < #define DAYS 395
575 < #define WEEKS 396
576 < #define SENDQ 397
577 < #define SEND_PASSWORD 398
578 < #define SERVERHIDE 399
579 < #define SERVERINFO 400
580 < #define IRCD_SID 401
581 < #define TKLINE_EXPIRE_NOTICES 402
582 < #define T_SHARED 403
583 < #define T_CLUSTER 404
584 < #define TYPE 405
585 < #define SHORT_MOTD 406
586 < #define SPOOF 407
587 < #define SPOOF_NOTICE 408
588 < #define STATS_E_DISABLED 409
589 < #define STATS_I_OPER_ONLY 410
590 < #define STATS_K_OPER_ONLY 411
591 < #define STATS_O_OPER_ONLY 412
592 < #define STATS_P_OPER_ONLY 413
593 < #define TBOOL 414
594 < #define TMASKED 415
595 < #define TS_MAX_DELTA 416
596 < #define TS_WARN_DELTA 417
597 < #define TWODOTS 418
598 < #define T_ALL 419
599 < #define T_BOTS 420
600 < #define T_SOFTCALLERID 421
601 < #define T_CALLERID 422
602 < #define T_CCONN 423
603 < #define T_CCONN_FULL 424
604 < #define T_SSL_CIPHER_LIST 425
605 < #define T_DEAF 426
606 < #define T_DEBUG 427
607 < #define T_DLINE 428
608 < #define T_EXTERNAL 429
609 < #define T_FULL 430
610 < #define T_INVISIBLE 431
611 < #define T_IPV4 432
612 < #define T_IPV6 433
613 < #define T_LOCOPS 434
614 < #define T_MAX_CLIENTS 435
615 < #define T_NCHANGE 436
616 < #define T_OPERWALL 437
617 < #define T_RECVQ 438
618 < #define T_REJ 439
619 < #define T_SERVER 440
620 < #define T_SERVNOTICE 441
621 < #define T_SET 442
622 < #define T_SKILL 443
623 < #define T_SPY 444
624 < #define T_SSL 445
625 < #define T_UMODES 446
626 < #define T_UNAUTH 447
627 < #define T_UNDLINE 448
628 < #define T_UNLIMITED 449
629 < #define T_UNRESV 450
630 < #define T_UNXLINE 451
631 < #define T_GLOBOPS 452
632 < #define T_WALLOP 453
633 < #define T_RESTART 454
634 < #define T_SERVICE 455
635 < #define T_SERVICES_NAME 456
636 < #define THROTTLE_TIME 457
637 < #define TRUE_NO_OPER_FLOOD 458
638 < #define UNKLINE 459
639 < #define USER 460
640 < #define USE_EGD 461
641 < #define USE_LOGGING 462
642 < #define VHOST 463
643 < #define VHOST6 464
644 < #define XLINE 465
645 < #define WARN_NO_NLINE 466
646 < #define T_SIZE 467
647 < #define T_FILE 468
489 > #define HIDE_SERVICES 310
490 > #define HIDE_SPOOF_IPS 311
491 > #define HOST 312
492 > #define HUB 313
493 > #define HUB_MASK 314
494 > #define IGNORE_BOGUS_TS 315
495 > #define INVISIBLE_ON_CONNECT 316
496 > #define IP 317
497 > #define KILL 318
498 > #define KILL_CHASE_TIME_LIMIT 319
499 > #define KLINE 320
500 > #define KLINE_EXEMPT 321
501 > #define KNOCK_DELAY 322
502 > #define KNOCK_DELAY_CHANNEL 323
503 > #define LEAF_MASK 324
504 > #define LINKS_DELAY 325
505 > #define LISTEN 326
506 > #define T_LOG 327
507 > #define MASK 328
508 > #define MAX_ACCEPT 329
509 > #define MAX_BANS 330
510 > #define MAX_CHANS_PER_OPER 331
511 > #define MAX_CHANS_PER_USER 332
512 > #define MAX_GLOBAL 333
513 > #define MAX_IDENT 334
514 > #define MAX_LOCAL 335
515 > #define MAX_NICK_CHANGES 336
516 > #define MAX_NICK_LENGTH 337
517 > #define MAX_NICK_TIME 338
518 > #define MAX_NUMBER 339
519 > #define MAX_TARGETS 340
520 > #define MAX_TOPIC_LENGTH 341
521 > #define MAX_WATCH 342
522 > #define MIN_NONWILDCARD 343
523 > #define MIN_NONWILDCARD_SIMPLE 344
524 > #define MIN_IDLE 345
525 > #define MAX_IDLE 346
526 > #define RANDOM_IDLE 347
527 > #define HIDE_IDLE_FROM_OPERS 348
528 > #define MODULE 349
529 > #define MODULES 350
530 > #define NAME 351
531 > #define NEED_PASSWORD 352
532 > #define NETWORK_DESC 353
533 > #define NETWORK_NAME 354
534 > #define NICK 355
535 > #define NO_CREATE_ON_SPLIT 356
536 > #define NO_JOIN_ON_SPLIT 357
537 > #define NO_OPER_FLOOD 358
538 > #define NO_TILDE 359
539 > #define NUMBER 360
540 > #define NUMBER_PER_CIDR 361
541 > #define NUMBER_PER_IP 362
542 > #define OPERATOR 363
543 > #define OPERS_BYPASS_CALLERID 364
544 > #define OPER_ONLY_UMODES 365
545 > #define OPER_PASS_RESV 366
546 > #define OPER_SPY_T 367
547 > #define OPER_UMODES 368
548 > #define JOIN_FLOOD_COUNT 369
549 > #define JOIN_FLOOD_TIME 370
550 > #define PACE_WAIT 371
551 > #define PACE_WAIT_SIMPLE 372
552 > #define PASSWORD 373
553 > #define PATH 374
554 > #define PING_COOKIE 375
555 > #define PING_TIME 376
556 > #define PORT 377
557 > #define QSTRING 378
558 > #define REASON 379
559 > #define REDIRPORT 380
560 > #define REDIRSERV 381
561 > #define REHASH 382
562 > #define REMOTE 383
563 > #define REMOTEBAN 384
564 > #define RSA_PRIVATE_KEY_FILE 385
565 > #define RSA_PUBLIC_KEY_FILE 386
566 > #define SSL_CERTIFICATE_FILE 387
567 > #define SSL_DH_PARAM_FILE 388
568 > #define T_SSL_CLIENT_METHOD 389
569 > #define T_SSL_SERVER_METHOD 390
570 > #define T_SSLV3 391
571 > #define T_TLSV1 392
572 > #define RESV 393
573 > #define RESV_EXEMPT 394
574 > #define SECONDS 395
575 > #define MINUTES 396
576 > #define HOURS 397
577 > #define DAYS 398
578 > #define WEEKS 399
579 > #define MONTHS 400
580 > #define YEARS 401
581 > #define SENDQ 402
582 > #define SEND_PASSWORD 403
583 > #define SERVERHIDE 404
584 > #define SERVERINFO 405
585 > #define IRCD_SID 406
586 > #define TKLINE_EXPIRE_NOTICES 407
587 > #define T_SHARED 408
588 > #define T_CLUSTER 409
589 > #define TYPE 410
590 > #define SHORT_MOTD 411
591 > #define SPOOF 412
592 > #define SPOOF_NOTICE 413
593 > #define STATS_E_DISABLED 414
594 > #define STATS_I_OPER_ONLY 415
595 > #define STATS_K_OPER_ONLY 416
596 > #define STATS_O_OPER_ONLY 417
597 > #define STATS_P_OPER_ONLY 418
598 > #define TBOOL 419
599 > #define TMASKED 420
600 > #define TS_MAX_DELTA 421
601 > #define TS_WARN_DELTA 422
602 > #define TWODOTS 423
603 > #define T_ALL 424
604 > #define T_BOTS 425
605 > #define T_SOFTCALLERID 426
606 > #define T_CALLERID 427
607 > #define T_CCONN 428
608 > #define T_CCONN_FULL 429
609 > #define T_SSL_CIPHER_LIST 430
610 > #define T_DEAF 431
611 > #define T_DEBUG 432
612 > #define T_DLINE 433
613 > #define T_EXTERNAL 434
614 > #define T_FULL 435
615 > #define T_INVISIBLE 436
616 > #define T_IPV4 437
617 > #define T_IPV6 438
618 > #define T_LOCOPS 439
619 > #define T_MAX_CLIENTS 440
620 > #define T_NCHANGE 441
621 > #define T_NONONREG 442
622 > #define T_OPERWALL 443
623 > #define T_RECVQ 444
624 > #define T_REJ 445
625 > #define T_SERVER 446
626 > #define T_SERVNOTICE 447
627 > #define T_SET 448
628 > #define T_SKILL 449
629 > #define T_SPY 450
630 > #define T_SSL 451
631 > #define T_UMODES 452
632 > #define T_UNAUTH 453
633 > #define T_UNDLINE 454
634 > #define T_UNLIMITED 455
635 > #define T_UNRESV 456
636 > #define T_UNXLINE 457
637 > #define T_GLOBOPS 458
638 > #define T_WALLOP 459
639 > #define T_WEBIRC 460
640 > #define T_RESTART 461
641 > #define T_SERVICE 462
642 > #define T_SERVICES_NAME 463
643 > #define THROTTLE_TIME 464
644 > #define TRUE_NO_OPER_FLOOD 465
645 > #define UNKLINE 466
646 > #define USER 467
647 > #define USE_EGD 468
648 > #define USE_LOGGING 469
649 > #define VHOST 470
650 > #define VHOST6 471
651 > #define XLINE 472
652 > #define WARN_NO_NLINE 473
653 > #define T_SIZE 474
654 > #define T_FILE 475
655  
656  
657  
658   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
659   typedef union YYSTYPE
660   {
661 < /* Line 374 of yacc.c  */
662 < #line 147 "conf_parser.y"
661 > /* Line 387 of yacc.c  */
662 > #line 138 "conf_parser.y"
663  
664    int number;
665    char *string;
666  
667  
668 < /* Line 374 of yacc.c  */
669 < #line 665 "conf_parser.c"
668 > /* Line 387 of yacc.c  */
669 > #line 670 "conf_parser.c"
670   } YYSTYPE;
671   # define YYSTYPE_IS_TRIVIAL 1
672   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 684 | Line 689 | int yyparse ();
689   #endif
690   #endif /* ! YYPARSE_PARAM */
691  
692 < #endif /* !YY_YY_Y_TAB_H_INCLUDED  */
692 > #endif /* !YY_YY_CONF_PARSER_H_INCLUDED  */
693  
694   /* Copy the second part of user declarations.  */
695  
696 < /* Line 377 of yacc.c  */
697 < #line 693 "conf_parser.c"
696 > /* Line 390 of yacc.c  */
697 > #line 698 "conf_parser.c"
698  
699   #ifdef short
700   # undef short
# Line 750 | Line 755 | typedef short int yytype_int16;
755   # endif
756   #endif
757  
758 + #ifndef __attribute__
759 + /* This feature is available in gcc versions 2.5 and later.  */
760 + # if (! defined __GNUC__ || __GNUC__ < 2 \
761 +      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
762 + #  define __attribute__(Spec) /* empty */
763 + # endif
764 + #endif
765 +
766   /* Suppress unused-variable warnings by "using" E.  */
767   #if ! defined lint || defined __GNUC__
768   # define YYUSE(E) ((void) (E))
# Line 757 | Line 770 | typedef short int yytype_int16;
770   # define YYUSE(E) /* empty */
771   #endif
772  
773 +
774   /* Identity function, used to suppress warnings about constant conditions.  */
775   #ifndef lint
776   # define YYID(N) (N)
# Line 909 | Line 923 | union yyalloc
923   /* YYFINAL -- State number of the termination state.  */
924   #define YYFINAL  2
925   /* YYLAST -- Last index in YYTABLE.  */
926 < #define YYLAST   1180
926 > #define YYLAST   1177
927  
928   /* YYNTOKENS -- Number of terminals.  */
929 < #define YYNTOKENS  219
929 > #define YYNTOKENS  226
930   /* YYNNTS -- Number of nonterminals.  */
931 < #define YYNNTS  282
931 > #define YYNNTS  280
932   /* YYNRULES -- Number of rules.  */
933 < #define YYNRULES  625
933 > #define YYNRULES  628
934   /* YYNRULES -- Number of states.  */
935 < #define YYNSTATES  1223
935 > #define YYNSTATES  1230
936  
937   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
938   #define YYUNDEFTOK  2
939 < #define YYMAXUTOK   468
939 > #define YYMAXUTOK   475
940  
941   #define YYTRANSLATE(YYX)                                                \
942    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 934 | Line 948 | static const yytype_uint8 yytranslate[]
948         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
949         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
950         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
951 <       2,     2,     2,     2,   218,     2,     2,     2,     2,     2,
952 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   214,
953 <       2,   217,     2,     2,     2,     2,     2,     2,     2,     2,
951 >       2,     2,     2,     2,   225,     2,     2,     2,     2,     2,
952 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   221,
953 >       2,   224,     2,     2,     2,     2,     2,     2,     2,     2,
954         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
955         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
956         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
957         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
958         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
959 <       2,     2,     2,   216,     2,   215,     2,     2,     2,     2,
959 >       2,     2,     2,   223,     2,   222,     2,     2,     2,     2,
960         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
961         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
962         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 976 | Line 990 | static const yytype_uint8 yytranslate[]
990       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
991       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
992       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
993 <     205,   206,   207,   208,   209,   210,   211,   212,   213
993 >     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
994 >     215,   216,   217,   218,   219,   220
995   };
996  
997   #if YYDEBUG
# Line 987 | Line 1002 | static const yytype_uint16 yyprhs[] =
1002         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1003        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1004        39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
1005 <      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
1006 <      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
1007 <     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1008 <     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
1009 <     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
1010 <     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
1011 <     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
1012 <     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
1013 <     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
1014 <     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
1015 <     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
1016 <     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
1017 <     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
1018 <     477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
1019 <     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
1020 <     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1021 <     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
1022 <     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
1023 <     587,   589,   591,   594,   599,   604,   609,   614,   619,   624,
1024 <     629,   634,   639,   644,   649,   654,   659,   660,   667,   668,
1025 <     674,   678,   680,   682,   684,   686,   689,   691,   693,   695,
1026 <     697,   699,   702,   703,   709,   713,   715,   717,   721,   726,
1027 <     731,   732,   739,   742,   744,   746,   748,   750,   752,   754,
1028 <     756,   758,   760,   763,   768,   773,   778,   783,   784,   790,
1029 <     794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
1030 <     814,   819,   824,   829,   830,   837,   840,   842,   844,   846,
1031 <     848,   851,   856,   861,   866,   872,   875,   877,   879,   881,
1032 <     886,   887,   894,   897,   899,   901,   903,   905,   908,   913,
1033 <     918,   919,   925,   929,   931,   933,   935,   937,   939,   941,
1034 <     943,   945,   947,   949,   951,   952,   959,   962,   964,   966,
1035 <     968,   971,   976,   977,   983,   987,   989,   991,   993,   995,
1036 <     997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1037 <    1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1038 <    1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1039 <    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1113,
1040 <    1118,  1123,  1128,  1133,  1134,  1141,  1142,  1148,  1152,  1154,
1041 <    1156,  1159,  1161,  1163,  1165,  1167,  1169,  1174,  1179,  1180,
1042 <    1187,  1190,  1192,  1194,  1196,  1198,  1203,  1208,  1214,  1217,
1043 <    1219,  1221,  1223,  1228,  1229,  1236,  1237,  1243,  1247,  1249,
1044 <    1251,  1254,  1256,  1258,  1260,  1262,  1264,  1269,  1274,  1280,
1045 <    1283,  1285,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1046 <    1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1047 <    1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1048 <    1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1049 <    1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1050 <    1383,  1385,  1390,  1395,  1400,  1405,  1410,  1415,  1420,  1425,
1051 <    1430,  1435,  1440,  1445,  1450,  1455,  1460,  1465,  1470,  1475,
1052 <    1480,  1485,  1490,  1495,  1500,  1505,  1510,  1515,  1520,  1525,
1053 <    1530,  1535,  1540,  1545,  1550,  1555,  1560,  1565,  1570,  1575,
1054 <    1580,  1585,  1590,  1595,  1600,  1605,  1610,  1615,  1616,  1622,
1055 <    1626,  1628,  1630,  1632,  1634,  1636,  1638,  1640,  1642,  1644,
1056 <    1646,  1648,  1650,  1652,  1654,  1656,  1658,  1660,  1662,  1664,
1057 <    1666,  1668,  1669,  1675,  1679,  1681,  1683,  1685,  1687,  1689,
1058 <    1691,  1693,  1695,  1697,  1699,  1701,  1703,  1705,  1707,  1709,
1059 <    1711,  1713,  1715,  1717,  1719,  1721,  1726,  1731,  1736,  1742,
1060 <    1745,  1747,  1749,  1751,  1753,  1755,  1757,  1759,  1761,  1763,
1061 <    1765,  1767,  1769,  1771,  1773,  1775,  1777,  1782,  1787,  1792,
1062 <    1797,  1802,  1807,  1812,  1817,  1822,  1827,  1832,  1837,  1842,
1063 <    1847,  1853,  1856,  1858,  1860,  1862,  1864,  1866,  1868,  1870,
1064 <    1872,  1877,  1882,  1887,  1892,  1897
1005 >      63,    67,    71,    75,    79,    83,    87,    88,    90,    93,
1006 >      97,   101,   105,   111,   114,   116,   118,   120,   123,   128,
1007 >     133,   139,   142,   144,   146,   148,   150,   152,   154,   156,
1008 >     158,   160,   162,   164,   166,   168,   170,   172,   174,   176,
1009 >     178,   181,   186,   191,   195,   197,   199,   201,   205,   207,
1010 >     209,   211,   216,   221,   226,   231,   236,   241,   246,   251,
1011 >     256,   261,   266,   271,   276,   281,   286,   292,   295,   297,
1012 >     299,   301,   303,   306,   311,   316,   321,   327,   330,   332,
1013 >     334,   336,   339,   344,   345,   352,   355,   357,   359,   361,
1014 >     363,   366,   371,   376,   381,   382,   388,   392,   394,   396,
1015 >     398,   400,   402,   404,   406,   408,   409,   416,   419,   421,
1016 >     423,   425,   427,   429,   431,   433,   435,   437,   440,   445,
1017 >     450,   455,   460,   465,   470,   471,   477,   481,   483,   485,
1018 >     487,   489,   491,   493,   495,   497,   499,   501,   503,   505,
1019 >     507,   509,   511,   513,   515,   517,   519,   521,   523,   525,
1020 >     526,   532,   536,   538,   540,   542,   544,   546,   548,   550,
1021 >     552,   554,   556,   558,   560,   562,   564,   566,   568,   570,
1022 >     572,   574,   575,   582,   585,   587,   589,   591,   593,   595,
1023 >     597,   599,   601,   603,   605,   607,   609,   611,   613,   615,
1024 >     617,   619,   622,   627,   632,   637,   642,   647,   652,   657,
1025 >     662,   667,   672,   677,   682,   687,   692,   697,   698,   704,
1026 >     708,   710,   712,   714,   715,   722,   723,   729,   733,   735,
1027 >     737,   739,   741,   744,   746,   748,   750,   752,   754,   757,
1028 >     758,   764,   768,   770,   772,   776,   781,   786,   787,   794,
1029 >     797,   799,   801,   803,   805,   807,   809,   811,   813,   815,
1030 >     818,   823,   828,   833,   838,   839,   845,   849,   851,   853,
1031 >     855,   857,   859,   861,   863,   865,   867,   869,   871,   876,
1032 >     881,   886,   887,   894,   897,   899,   901,   903,   905,   908,
1033 >     913,   918,   923,   929,   932,   934,   936,   938,   943,   944,
1034 >     951,   954,   956,   958,   960,   962,   965,   970,   975,   976,
1035 >     982,   986,   988,   990,   992,   994,   996,   998,  1000,  1002,
1036 >    1004,  1006,  1008,  1009,  1016,  1019,  1021,  1023,  1025,  1028,
1037 >    1033,  1034,  1040,  1044,  1046,  1048,  1050,  1052,  1054,  1056,
1038 >    1058,  1060,  1062,  1064,  1066,  1067,  1074,  1077,  1079,  1081,
1039 >    1083,  1085,  1087,  1089,  1091,  1093,  1095,  1097,  1099,  1101,
1040 >    1103,  1105,  1108,  1113,  1118,  1123,  1128,  1133,  1138,  1143,
1041 >    1148,  1149,  1155,  1159,  1161,  1163,  1165,  1170,  1175,  1180,
1042 >    1185,  1190,  1191,  1198,  1201,  1203,  1205,  1207,  1209,  1214,
1043 >    1219,  1220,  1227,  1230,  1232,  1234,  1236,  1238,  1243,  1248,
1044 >    1254,  1257,  1259,  1261,  1263,  1268,  1269,  1276,  1279,  1281,
1045 >    1283,  1285,  1287,  1292,  1297,  1303,  1306,  1308,  1310,  1312,
1046 >    1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,  1330,  1332,
1047 >    1334,  1336,  1338,  1340,  1342,  1344,  1346,  1348,  1350,  1352,
1048 >    1354,  1356,  1358,  1360,  1362,  1364,  1366,  1368,  1370,  1372,
1049 >    1374,  1376,  1378,  1380,  1382,  1384,  1386,  1388,  1390,  1392,
1050 >    1394,  1396,  1398,  1400,  1402,  1404,  1406,  1411,  1416,  1421,
1051 >    1426,  1431,  1436,  1441,  1446,  1451,  1456,  1461,  1466,  1471,
1052 >    1476,  1481,  1486,  1491,  1496,  1501,  1506,  1511,  1516,  1521,
1053 >    1526,  1531,  1536,  1541,  1546,  1551,  1556,  1561,  1566,  1571,
1054 >    1576,  1581,  1586,  1591,  1596,  1601,  1606,  1611,  1616,  1621,
1055 >    1626,  1631,  1632,  1638,  1642,  1644,  1646,  1648,  1650,  1652,
1056 >    1654,  1656,  1658,  1660,  1662,  1664,  1666,  1668,  1670,  1672,
1057 >    1674,  1676,  1678,  1680,  1682,  1684,  1685,  1691,  1695,  1697,
1058 >    1699,  1701,  1703,  1705,  1707,  1709,  1711,  1713,  1715,  1717,
1059 >    1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,  1735,  1737,
1060 >    1739,  1744,  1749,  1754,  1760,  1763,  1765,  1767,  1769,  1771,
1061 >    1773,  1775,  1777,  1779,  1781,  1783,  1785,  1787,  1789,  1791,
1062 >    1796,  1801,  1806,  1811,  1816,  1821,  1826,  1831,  1836,  1841,
1063 >    1846,  1851,  1857,  1860,  1862,  1864,  1866,  1868,  1870,  1872,
1064 >    1874,  1876,  1878,  1883,  1888,  1893,  1898,  1903,  1908
1065   };
1066  
1067   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1068   static const yytype_int16 yyrhs[] =
1069   {
1070 <     220,     0,    -1,    -1,   220,   221,    -1,   253,    -1,   259,
1071 <      -1,   273,    -1,   475,    -1,   291,    -1,   308,    -1,   322,
1072 <      -1,   231,    -1,   492,    -1,   337,    -1,   344,    -1,   348,
1073 <      -1,   358,    -1,   367,    -1,   387,    -1,   397,    -1,   403,
1074 <      -1,   417,    -1,   407,    -1,   226,    -1,     1,   214,    -1,
1075 <       1,   215,    -1,    -1,   223,    -1,    99,   222,    -1,    99,
1076 <     137,   222,    -1,    99,   138,   222,    -1,    99,   139,   222,
1077 <      -1,    99,   140,   222,    -1,    99,   141,   222,    -1,    -1,
1078 <     225,    -1,    99,   224,    -1,    99,     9,   224,    -1,    99,
1079 <      10,   224,    -1,    99,    11,   224,    -1,    88,   216,   227,
1080 <     215,   214,    -1,   227,   228,    -1,   228,    -1,   229,    -1,
1081 <     230,    -1,     1,   214,    -1,    87,   217,   117,   214,    -1,
1082 <     113,   217,   117,   214,    -1,   145,   216,   232,   215,   214,
1083 <      -1,   232,   233,    -1,   233,    -1,   244,    -1,   249,    -1,
1084 <     252,    -1,   246,    -1,   247,    -1,   248,    -1,   251,    -1,
1085 <     242,    -1,   241,    -1,   250,    -1,   245,    -1,   240,    -1,
1086 <     234,    -1,   235,    -1,   243,    -1,     1,   214,    -1,   131,
1087 <     217,   236,   214,    -1,   132,   217,   238,   214,    -1,   236,
1088 <     218,   237,    -1,   237,    -1,   133,    -1,   134,    -1,   238,
1089 <     218,   239,    -1,   239,    -1,   133,    -1,   134,    -1,   129,
1090 <     217,   117,   214,    -1,   127,   217,   117,   214,    -1,   130,
1091 <     217,   117,   214,    -1,   170,   217,   117,   214,    -1,    89,
1092 <     217,   117,   214,    -1,   146,   217,   117,   214,    -1,    24,
1093 <     217,   117,   214,    -1,    92,   217,   117,   214,    -1,    91,
1094 <     217,   117,   214,    -1,   208,   217,   117,   214,    -1,   209,
1095 <     217,   117,   214,    -1,   180,   217,    99,   214,    -1,    57,
1096 <     217,   159,   214,    -1,     4,   216,   254,   215,   214,    -1,
1097 <     254,   255,    -1,   255,    -1,   256,    -1,   258,    -1,   257,
1098 <      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,    31,
1099 <     217,   117,   214,    -1,    24,   217,   117,   214,    -1,    71,
1100 <     216,   260,   215,   214,    -1,   260,   261,    -1,   261,    -1,
1101 <     262,    -1,   263,    -1,     1,   214,    -1,   207,   217,   159,
1102 <     214,    -1,    -1,   264,   213,   216,   265,   215,   214,    -1,
1103 <     265,   266,    -1,   266,    -1,   267,    -1,   269,    -1,   268,
1104 <      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   212,
1105 <     217,   225,   214,    -1,   212,   217,   194,   214,    -1,    -1,
1106 <     150,   270,   217,   271,   214,    -1,   271,   218,   272,    -1,
1107 <     272,    -1,   205,    -1,   102,    -1,    40,    -1,   173,    -1,
1108 <      64,    -1,    62,    -1,   172,    -1,    -1,   102,   274,   216,
1109 <     275,   215,   214,    -1,   275,   276,    -1,   276,    -1,   277,
1110 <      -1,   278,    -1,   279,    -1,   283,    -1,   282,    -1,   280,
1111 <      -1,   281,    -1,   287,    -1,     1,   214,    -1,    89,   217,
1112 <     117,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1113 <     117,   214,    -1,    32,   217,   159,   214,    -1,   128,   217,
1114 <     117,   214,    -1,    17,   217,   117,   214,    -1,    -1,   191,
1115 <     284,   217,   285,   214,    -1,   285,   218,   286,    -1,   286,
1116 <      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1117 <      -1,   175,    -1,    51,    -1,   188,    -1,   181,    -1,   184,
1118 <      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1119 <      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1120 <      -1,    -1,    36,   288,   217,   289,   214,    -1,   289,   218,
1121 <     290,    -1,   290,    -1,    47,    -1,   124,    -1,    64,    -1,
1122 <     204,    -1,   173,    -1,   193,    -1,   210,    -1,    40,    -1,
1123 <      25,    -1,   199,    -1,   123,    -1,     4,    -1,    94,    -1,
1124 <     182,    -1,   197,    -1,   106,    -1,   125,    -1,   187,    -1,
1125 <      87,    -1,    -1,    17,   292,   216,   293,   215,   214,    -1,
1126 <     293,   294,    -1,   294,    -1,   295,    -1,   305,    -1,   306,
1127 <      -1,   296,    -1,   307,    -1,   297,    -1,   298,    -1,   299,
1128 <      -1,   300,    -1,   301,    -1,   302,    -1,   303,    -1,   304,
1129 <      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   115,
1130 <     217,   223,   214,    -1,   101,   217,    99,   214,    -1,    19,
1131 <     217,   223,   214,    -1,    81,   217,    99,   214,    -1,    76,
1132 <     217,    99,   214,    -1,    78,   217,    99,   214,    -1,    77,
1133 <     217,    99,   214,    -1,   142,   217,   225,   214,    -1,   183,
1134 <     217,   225,   214,    -1,    15,   217,    99,   214,    -1,    16,
1135 <     217,    99,   214,    -1,   100,   217,    99,   214,    -1,    -1,
1136 <      70,   309,   216,   314,   215,   214,    -1,    -1,    36,   311,
1137 <     217,   312,   214,    -1,   312,   218,   313,    -1,   313,    -1,
1138 <     190,    -1,    51,    -1,   185,    -1,   314,   315,    -1,   315,
1139 <      -1,   316,    -1,   310,    -1,   320,    -1,   321,    -1,     1,
1140 <     214,    -1,    -1,   116,   217,   318,   317,   214,    -1,   318,
1141 <     218,   319,    -1,   319,    -1,    99,    -1,    99,   163,    99,
1142 <      -1,    61,   217,   117,   214,    -1,    56,   217,   117,   214,
1143 <      -1,    -1,    48,   323,   216,   324,   215,   214,    -1,   324,
1144 <     325,    -1,   325,    -1,   326,    -1,   327,    -1,   328,    -1,
1145 <     330,    -1,   334,    -1,   335,    -1,   336,    -1,   329,    -1,
1146 <       1,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1147 <     117,   214,    -1,    17,   217,   117,   214,    -1,    32,   217,
1148 <     159,   214,    -1,    -1,    36,   331,   217,   332,   214,    -1,
1149 <     332,   218,   333,    -1,   333,    -1,   153,    -1,    33,    -1,
1150 <      65,    -1,    49,    -1,    13,    -1,    98,    -1,    43,    -1,
1151 <     136,    -1,    90,    -1,   152,   217,   117,   214,    -1,   121,
1152 <     217,   117,   214,    -1,   120,   217,    99,   214,    -1,    -1,
1153 <     135,   338,   216,   339,   215,   214,    -1,   339,   340,    -1,
1154 <     340,    -1,   341,    -1,   342,    -1,   343,    -1,     1,   214,
1155 <      -1,   119,   217,   117,   214,    -1,    14,   217,   117,   214,
1156 <      -1,    93,   217,   117,   214,    -1,   200,   216,   345,   215,
1157 <     214,    -1,   345,   346,    -1,   346,    -1,   347,    -1,     1,
1158 <      -1,    89,   217,   117,   214,    -1,    -1,   148,   349,   216,
1159 <     350,   215,   214,    -1,   350,   351,    -1,   351,    -1,   352,
1160 <      -1,   353,    -1,   354,    -1,     1,   214,    -1,    89,   217,
1161 <     117,   214,    -1,   205,   217,   117,   214,    -1,    -1,   150,
1162 <     355,   217,   356,   214,    -1,   356,   218,   357,    -1,   357,
1163 <      -1,    64,    -1,   204,    -1,   173,    -1,   193,    -1,   210,
1164 <      -1,   196,    -1,   135,    -1,   195,    -1,   179,    -1,   164,
1165 <      -1,    -1,   149,   359,   216,   360,   215,   214,    -1,   360,
1166 <     361,    -1,   361,    -1,   362,    -1,   363,    -1,     1,   214,
1167 <      -1,    89,   217,   117,   214,    -1,    -1,   150,   364,   217,
1168 <     365,   214,    -1,   365,   218,   366,    -1,   366,    -1,    64,
1169 <      -1,   204,    -1,   173,    -1,   193,    -1,   210,    -1,   196,
1170 <      -1,   135,    -1,   195,    -1,   179,    -1,   164,    -1,    -1,
1171 <      18,   368,   216,   369,   215,   214,    -1,   369,   370,    -1,
1172 <     370,    -1,   371,    -1,   372,    -1,   373,    -1,   374,    -1,
1173 <     375,    -1,   377,    -1,   376,    -1,   386,    -1,   378,    -1,
1174 <     383,    -1,   384,    -1,   385,    -1,   382,    -1,     1,   214,
1175 <      -1,    89,   217,   117,   214,    -1,    56,   217,   117,   214,
1176 <      -1,   208,   217,   117,   214,    -1,   143,   217,   117,   214,
1177 <      -1,     3,   217,   117,   214,    -1,   116,   217,    99,   214,
1178 <      -1,     5,   217,   177,   214,    -1,     5,   217,   178,   214,
1179 <      -1,    -1,    36,   379,   217,   380,   214,    -1,   380,   218,
1180 <     381,    -1,   381,    -1,     8,    -1,   190,    -1,    32,   217,
1181 <     159,   214,    -1,    58,   217,   117,   214,    -1,    68,   217,
1182 <     117,   214,    -1,    17,   217,   117,   214,    -1,   170,   217,
1183 <     117,   214,    -1,    -1,    62,   388,   216,   393,   215,   214,
1184 <      -1,    -1,   150,   390,   217,   391,   214,    -1,   391,   218,
1185 <     392,    -1,   392,    -1,   122,    -1,   393,   394,    -1,   394,
1186 <      -1,   395,    -1,   396,    -1,   389,    -1,     1,    -1,   205,
1187 <     217,   117,   214,    -1,   119,   217,   117,   214,    -1,    -1,
1188 <      23,   398,   216,   399,   215,   214,    -1,   399,   400,    -1,
1189 <     400,    -1,   401,    -1,   402,    -1,     1,    -1,    61,   217,
1190 <     117,   214,    -1,   119,   217,   117,   214,    -1,    34,   216,
1191 <     404,   215,   214,    -1,   404,   405,    -1,   405,    -1,   406,
1192 <      -1,     1,    -1,    61,   217,   117,   214,    -1,    -1,    38,
1193 <     408,   216,   413,   215,   214,    -1,    -1,   150,   410,   217,
1194 <     411,   214,    -1,   411,   218,   412,    -1,   412,    -1,   122,
1195 <      -1,   413,   414,    -1,   414,    -1,   415,    -1,   416,    -1,
1196 <     409,    -1,     1,    -1,    89,   217,   117,   214,    -1,   119,
1197 <     217,   117,   214,    -1,    39,   216,   418,   215,   214,    -1,
1198 <     418,   419,    -1,   419,    -1,   428,    -1,   429,    -1,   431,
1199 <      -1,   432,    -1,   433,    -1,   434,    -1,   435,    -1,   436,
1200 <      -1,   437,    -1,   438,    -1,   427,    -1,   440,    -1,   441,
1201 <      -1,   456,    -1,   443,    -1,   445,    -1,   447,    -1,   446,
1202 <      -1,   450,    -1,   444,    -1,   451,    -1,   452,    -1,   453,
1203 <      -1,   454,    -1,   455,    -1,   468,    -1,   457,    -1,   458,
1204 <      -1,   459,    -1,   464,    -1,   448,    -1,   449,    -1,   474,
1205 <      -1,   472,    -1,   473,    -1,   430,    -1,   463,    -1,   439,
1206 <      -1,   461,    -1,   462,    -1,   426,    -1,   421,    -1,   422,
1207 <      -1,   423,    -1,   424,    -1,   425,    -1,   442,    -1,   420,
1208 <      -1,   460,    -1,     1,    -1,    83,   217,    99,   214,    -1,
1209 <      42,   217,   159,   214,    -1,    41,   217,   223,   214,    -1,
1210 <      44,   217,   223,   214,    -1,    45,   217,    99,   214,    -1,
1211 <      46,   217,    99,   214,    -1,   147,   217,   159,   214,    -1,
1212 <      63,   217,   223,   214,    -1,    55,   217,   159,   214,    -1,
1213 <      59,   217,   159,   214,    -1,    28,   217,   159,   214,    -1,
1214 <      35,   217,   159,   214,    -1,     6,   217,   159,   214,    -1,
1215 <      80,   217,   223,   214,    -1,    79,   217,    99,   214,    -1,
1216 <      72,   217,    99,   214,    -1,     7,   217,   223,   214,    -1,
1217 <     162,   217,   223,   214,    -1,   161,   217,   223,   214,    -1,
1218 <      50,   217,    99,   214,    -1,    60,   217,   159,   214,    -1,
1219 <     211,   217,   159,   214,    -1,   154,   217,   159,   214,    -1,
1220 <     157,   217,   159,   214,    -1,   158,   217,   159,   214,    -1,
1221 <     156,   217,   159,   214,    -1,   156,   217,   160,   214,    -1,
1222 <     155,   217,   159,   214,    -1,   155,   217,   160,   214,    -1,
1223 <     110,   217,   223,   214,    -1,    12,   217,   223,   214,    -1,
1224 <     103,   217,   159,   214,    -1,   111,   217,   223,   214,    -1,
1225 <     151,   217,   159,   214,    -1,    97,   217,   159,   214,    -1,
1226 <     203,   217,   159,   214,    -1,   105,   217,   159,   214,    -1,
1227 <      84,   217,   117,   214,    -1,    29,   217,    99,   214,    -1,
1228 <      82,   217,    99,   214,    -1,   206,   217,   159,   214,    -1,
1229 <      30,   217,   117,   214,    -1,   201,   217,   117,   214,    -1,
1230 <     114,   217,   159,   214,    -1,    26,   217,   159,   214,    -1,
1231 <     202,   217,   223,   214,    -1,    -1,   107,   465,   217,   466,
1232 <     214,    -1,   466,   218,   467,    -1,   467,    -1,   165,    -1,
1233 <     168,    -1,   169,    -1,   171,    -1,   172,    -1,   175,    -1,
1234 <      51,    -1,   188,    -1,   181,    -1,   184,    -1,   192,    -1,
1235 <     189,    -1,   174,    -1,   182,    -1,   186,    -1,   176,    -1,
1236 <     198,    -1,   166,    -1,   167,    -1,   179,    -1,    -1,   104,
1237 <     469,   217,   470,   214,    -1,   470,   218,   471,    -1,   471,
1238 <      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1239 <      -1,   175,    -1,   188,    -1,    51,    -1,   181,    -1,   184,
1240 <      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1241 <      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1242 <      -1,    85,   217,    99,   214,    -1,    86,   217,    99,   214,
1243 <      -1,    20,   217,    99,   214,    -1,    14,   216,   476,   215,
1244 <     214,    -1,   476,   477,    -1,   477,    -1,   485,    -1,   480,
1245 <      -1,   481,    -1,   482,    -1,   483,    -1,   484,    -1,   486,
1246 <      -1,   487,    -1,   488,    -1,   479,    -1,   489,    -1,   490,
1247 <      -1,   491,    -1,   478,    -1,     1,    -1,    27,   217,   159,
1248 <     214,    -1,   126,   217,   159,   214,    -1,    66,   217,   223,
1249 <     214,    -1,    67,   217,   223,   214,    -1,    75,   217,    99,
1250 <     214,    -1,    74,   217,    99,   214,    -1,   118,   217,   159,
1251 <     214,    -1,    73,   217,    99,   214,    -1,    22,   217,    99,
1252 <     214,    -1,    21,   217,    99,   214,    -1,    95,   217,   159,
1253 <     214,    -1,    96,   217,   159,   214,    -1,   108,   217,    99,
1254 <     214,    -1,   109,   217,   223,   214,    -1,   144,   216,   493,
1255 <     215,   214,    -1,   493,   494,    -1,   494,    -1,   495,    -1,
1256 <     496,    -1,   498,    -1,   499,    -1,   497,    -1,   500,    -1,
1257 <       1,    -1,    37,   217,   159,   214,    -1,    54,   217,   159,
1258 <     214,    -1,    52,   217,   117,   214,    -1,    69,   217,   223,
1259 <     214,    -1,    51,   217,   159,   214,    -1,    53,   217,   159,
1260 <     214,    -1
1070 >     227,     0,    -1,    -1,   227,   228,    -1,   262,    -1,   268,
1071 >      -1,   282,    -1,   481,    -1,   300,    -1,   323,    -1,   337,
1072 >      -1,   238,    -1,   496,    -1,   352,    -1,   359,    -1,   363,
1073 >      -1,   373,    -1,   382,    -1,   402,    -1,   408,    -1,   414,
1074 >      -1,   424,    -1,   418,    -1,   233,    -1,     1,   221,    -1,
1075 >       1,   222,    -1,    -1,   230,    -1,   105,   229,    -1,   105,
1076 >     140,   229,    -1,   105,   141,   229,    -1,   105,   142,   229,
1077 >      -1,   105,   143,   229,    -1,   105,   144,   229,    -1,   105,
1078 >     145,   229,    -1,   105,   146,   229,    -1,    -1,   232,    -1,
1079 >     105,   231,    -1,   105,     9,   231,    -1,   105,    10,   231,
1080 >      -1,   105,    11,   231,    -1,    95,   223,   234,   222,   221,
1081 >      -1,   234,   235,    -1,   235,    -1,   236,    -1,   237,    -1,
1082 >       1,   221,    -1,    94,   224,   123,   221,    -1,   119,   224,
1083 >     123,   221,    -1,   150,   223,   239,   222,   221,    -1,   239,
1084 >     240,    -1,   240,    -1,   251,    -1,   256,    -1,   261,    -1,
1085 >     253,    -1,   254,    -1,   255,    -1,   258,    -1,   259,    -1,
1086 >     260,    -1,   249,    -1,   248,    -1,   257,    -1,   252,    -1,
1087 >     247,    -1,   241,    -1,   242,    -1,   250,    -1,     1,   221,
1088 >      -1,   134,   224,   243,   221,    -1,   135,   224,   245,   221,
1089 >      -1,   243,   225,   244,    -1,   244,    -1,   136,    -1,   137,
1090 >      -1,   245,   225,   246,    -1,   246,    -1,   136,    -1,   137,
1091 >      -1,   132,   224,   123,   221,    -1,   130,   224,   123,   221,
1092 >      -1,   133,   224,   123,   221,    -1,   175,   224,   123,   221,
1093 >      -1,    96,   224,   123,   221,    -1,   151,   224,   123,   221,
1094 >      -1,    24,   224,   123,   221,    -1,    99,   224,   123,   221,
1095 >      -1,    98,   224,   123,   221,    -1,   215,   224,   123,   221,
1096 >      -1,   216,   224,   123,   221,    -1,   185,   224,   105,   221,
1097 >      -1,    82,   224,   105,   221,    -1,    86,   224,   105,   221,
1098 >      -1,    58,   224,   164,   221,    -1,     4,   223,   263,   222,
1099 >     221,    -1,   263,   264,    -1,   264,    -1,   265,    -1,   267,
1100 >      -1,   266,    -1,     1,   221,    -1,    96,   224,   123,   221,
1101 >      -1,    31,   224,   123,   221,    -1,    24,   224,   123,   221,
1102 >      -1,    72,   223,   269,   222,   221,    -1,   269,   270,    -1,
1103 >     270,    -1,   271,    -1,   272,    -1,     1,   221,    -1,   214,
1104 >     224,   164,   221,    -1,    -1,   273,   220,   223,   274,   222,
1105 >     221,    -1,   274,   275,    -1,   275,    -1,   276,    -1,   278,
1106 >      -1,   277,    -1,     1,   221,    -1,    96,   224,   123,   221,
1107 >      -1,   219,   224,   232,   221,    -1,   219,   224,   200,   221,
1108 >      -1,    -1,   155,   279,   224,   280,   221,    -1,   280,   225,
1109 >     281,    -1,   281,    -1,   212,    -1,   108,    -1,    40,    -1,
1110 >     178,    -1,    65,    -1,    63,    -1,   177,    -1,    -1,   108,
1111 >     283,   223,   284,   222,   221,    -1,   284,   285,    -1,   285,
1112 >      -1,   286,    -1,   287,    -1,   288,    -1,   292,    -1,   291,
1113 >      -1,   289,    -1,   290,    -1,   296,    -1,     1,   221,    -1,
1114 >      96,   224,   123,   221,    -1,   212,   224,   123,   221,    -1,
1115 >     118,   224,   123,   221,    -1,    32,   224,   164,   221,    -1,
1116 >     131,   224,   123,   221,    -1,    17,   224,   123,   221,    -1,
1117 >      -1,   197,   293,   224,   294,   221,    -1,   294,   225,   295,
1118 >      -1,   295,    -1,   170,    -1,   173,    -1,   174,    -1,   176,
1119 >      -1,   177,    -1,   180,    -1,    51,    -1,   194,    -1,   186,
1120 >      -1,   190,    -1,   198,    -1,   195,    -1,   179,    -1,   188,
1121 >      -1,   192,    -1,   181,    -1,   204,    -1,   171,    -1,   172,
1122 >      -1,   184,    -1,   187,    -1,    -1,    36,   297,   224,   298,
1123 >     221,    -1,   298,   225,   299,    -1,   299,    -1,    47,    -1,
1124 >     128,    -1,    65,    -1,   211,    -1,   178,    -1,   199,    -1,
1125 >     217,    -1,    40,    -1,    25,    -1,   206,    -1,   127,    -1,
1126 >       4,    -1,   188,    -1,   203,    -1,   112,    -1,   129,    -1,
1127 >     193,    -1,    94,    -1,    -1,    17,   301,   223,   302,   222,
1128 >     221,    -1,   302,   303,    -1,   303,    -1,   304,    -1,   314,
1129 >      -1,   315,    -1,   305,    -1,   316,    -1,   306,    -1,   307,
1130 >      -1,   308,    -1,   309,    -1,   310,    -1,   311,    -1,   312,
1131 >      -1,   313,    -1,   317,    -1,   318,    -1,   319,    -1,     1,
1132 >     221,    -1,    96,   224,   123,   221,    -1,   121,   224,   230,
1133 >     221,    -1,   107,   224,   105,   221,    -1,    19,   224,   230,
1134 >     221,    -1,    84,   224,   105,   221,    -1,    78,   224,   105,
1135 >     221,    -1,    80,   224,   105,   221,    -1,    79,   224,   105,
1136 >     221,    -1,   147,   224,   232,   221,    -1,   189,   224,   232,
1137 >     221,    -1,    15,   224,   105,   221,    -1,    16,   224,   105,
1138 >     221,    -1,   106,   224,   105,   221,    -1,    90,   224,   230,
1139 >     221,    -1,    91,   224,   230,   221,    -1,    -1,    36,   320,
1140 >     224,   321,   221,    -1,   321,   225,   322,    -1,   322,    -1,
1141 >      92,    -1,    93,    -1,    -1,    71,   324,   223,   329,   222,
1142 >     221,    -1,    -1,    36,   326,   224,   327,   221,    -1,   327,
1143 >     225,   328,    -1,   328,    -1,   196,    -1,    51,    -1,   191,
1144 >      -1,   329,   330,    -1,   330,    -1,   331,    -1,   325,    -1,
1145 >     335,    -1,   336,    -1,     1,   221,    -1,    -1,   122,   224,
1146 >     333,   332,   221,    -1,   333,   225,   334,    -1,   334,    -1,
1147 >     105,    -1,   105,   168,   105,    -1,    62,   224,   123,   221,
1148 >      -1,    57,   224,   123,   221,    -1,    -1,    48,   338,   223,
1149 >     339,   222,   221,    -1,   339,   340,    -1,   340,    -1,   341,
1150 >      -1,   342,    -1,   343,    -1,   345,    -1,   349,    -1,   350,
1151 >      -1,   351,    -1,   344,    -1,     1,   221,    -1,   212,   224,
1152 >     123,   221,    -1,   118,   224,   123,   221,    -1,    17,   224,
1153 >     123,   221,    -1,    32,   224,   164,   221,    -1,    -1,    36,
1154 >     346,   224,   347,   221,    -1,   347,   225,   348,    -1,   348,
1155 >      -1,   158,    -1,    33,    -1,    66,    -1,    49,    -1,    13,
1156 >      -1,   104,    -1,    43,    -1,   139,    -1,   205,    -1,    97,
1157 >      -1,   157,   224,   123,   221,    -1,   126,   224,   123,   221,
1158 >      -1,   125,   224,   105,   221,    -1,    -1,   138,   353,   223,
1159 >     354,   222,   221,    -1,   354,   355,    -1,   355,    -1,   356,
1160 >      -1,   357,    -1,   358,    -1,     1,   221,    -1,    73,   224,
1161 >     123,   221,    -1,   124,   224,   123,   221,    -1,    34,   224,
1162 >     123,   221,    -1,   207,   223,   360,   222,   221,    -1,   360,
1163 >     361,    -1,   361,    -1,   362,    -1,     1,    -1,    96,   224,
1164 >     123,   221,    -1,    -1,   153,   364,   223,   365,   222,   221,
1165 >      -1,   365,   366,    -1,   366,    -1,   367,    -1,   368,    -1,
1166 >     369,    -1,     1,   221,    -1,    96,   224,   123,   221,    -1,
1167 >     212,   224,   123,   221,    -1,    -1,   155,   370,   224,   371,
1168 >     221,    -1,   371,   225,   372,    -1,   372,    -1,    65,    -1,
1169 >     211,    -1,   178,    -1,   199,    -1,   217,    -1,   202,    -1,
1170 >     138,    -1,   201,    -1,   184,    -1,   169,    -1,    -1,   154,
1171 >     374,   223,   375,   222,   221,    -1,   375,   376,    -1,   376,
1172 >      -1,   377,    -1,   378,    -1,     1,   221,    -1,    96,   224,
1173 >     123,   221,    -1,    -1,   155,   379,   224,   380,   221,    -1,
1174 >     380,   225,   381,    -1,   381,    -1,    65,    -1,   211,    -1,
1175 >     178,    -1,   199,    -1,   217,    -1,   202,    -1,   138,    -1,
1176 >     201,    -1,   184,    -1,   169,    -1,    -1,    18,   383,   223,
1177 >     384,   222,   221,    -1,   384,   385,    -1,   385,    -1,   386,
1178 >      -1,   387,    -1,   388,    -1,   389,    -1,   390,    -1,   392,
1179 >      -1,   391,    -1,   401,    -1,   393,    -1,   398,    -1,   399,
1180 >      -1,   400,    -1,   397,    -1,     1,   221,    -1,    96,   224,
1181 >     123,   221,    -1,    57,   224,   123,   221,    -1,   215,   224,
1182 >     123,   221,    -1,   148,   224,   123,   221,    -1,     3,   224,
1183 >     123,   221,    -1,   122,   224,   105,   221,    -1,     5,   224,
1184 >     182,   221,    -1,     5,   224,   183,   221,    -1,    -1,    36,
1185 >     394,   224,   395,   221,    -1,   395,   225,   396,    -1,   396,
1186 >      -1,     8,    -1,   196,    -1,    32,   224,   164,   221,    -1,
1187 >      59,   224,   123,   221,    -1,    69,   224,   123,   221,    -1,
1188 >      17,   224,   123,   221,    -1,   175,   224,   123,   221,    -1,
1189 >      -1,    63,   403,   223,   404,   222,   221,    -1,   404,   405,
1190 >      -1,   405,    -1,   406,    -1,   407,    -1,     1,    -1,   212,
1191 >     224,   123,   221,    -1,   124,   224,   123,   221,    -1,    -1,
1192 >      23,   409,   223,   410,   222,   221,    -1,   410,   411,    -1,
1193 >     411,    -1,   412,    -1,   413,    -1,     1,    -1,    62,   224,
1194 >     123,   221,    -1,   124,   224,   123,   221,    -1,    34,   223,
1195 >     415,   222,   221,    -1,   415,   416,    -1,   416,    -1,   417,
1196 >      -1,     1,    -1,    62,   224,   123,   221,    -1,    -1,    38,
1197 >     419,   223,   420,   222,   221,    -1,   420,   421,    -1,   421,
1198 >      -1,   422,    -1,   423,    -1,     1,    -1,    96,   224,   123,
1199 >     221,    -1,   124,   224,   123,   221,    -1,    39,   223,   425,
1200 >     222,   221,    -1,   425,   426,    -1,   426,    -1,   435,    -1,
1201 >     436,    -1,   438,    -1,   439,    -1,   440,    -1,   441,    -1,
1202 >     442,    -1,   443,    -1,   444,    -1,   445,    -1,   434,    -1,
1203 >     447,    -1,   448,    -1,   462,    -1,   450,    -1,   452,    -1,
1204 >     454,    -1,   453,    -1,   457,    -1,   451,    -1,   458,    -1,
1205 >     459,    -1,   460,    -1,   461,    -1,   474,    -1,   463,    -1,
1206 >     464,    -1,   465,    -1,   470,    -1,   455,    -1,   456,    -1,
1207 >     480,    -1,   478,    -1,   479,    -1,   437,    -1,   469,    -1,
1208 >     446,    -1,   467,    -1,   468,    -1,   433,    -1,   428,    -1,
1209 >     429,    -1,   430,    -1,   431,    -1,   432,    -1,   449,    -1,
1210 >     427,    -1,   466,    -1,     1,    -1,    87,   224,   105,   221,
1211 >      -1,    42,   224,   164,   221,    -1,    41,   224,   230,   221,
1212 >      -1,    44,   224,   230,   221,    -1,    45,   224,   105,   221,
1213 >      -1,    46,   224,   105,   221,    -1,   152,   224,   164,   221,
1214 >      -1,    64,   224,   230,   221,    -1,    56,   224,   164,   221,
1215 >      -1,    60,   224,   164,   221,    -1,    28,   224,   164,   221,
1216 >      -1,    35,   224,   164,   221,    -1,     6,   224,   164,   221,
1217 >      -1,    83,   224,   230,   221,    -1,    81,   224,   105,   221,
1218 >      -1,    74,   224,   105,   221,    -1,     7,   224,   230,   221,
1219 >      -1,   167,   224,   230,   221,    -1,   166,   224,   230,   221,
1220 >      -1,    50,   224,   105,   221,    -1,    61,   224,   164,   221,
1221 >      -1,   218,   224,   164,   221,    -1,   159,   224,   164,   221,
1222 >      -1,   162,   224,   164,   221,    -1,   163,   224,   164,   221,
1223 >      -1,   161,   224,   164,   221,    -1,   161,   224,   165,   221,
1224 >      -1,   160,   224,   164,   221,    -1,   160,   224,   165,   221,
1225 >      -1,   116,   224,   230,   221,    -1,    12,   224,   230,   221,
1226 >      -1,   109,   224,   164,   221,    -1,   117,   224,   230,   221,
1227 >      -1,   156,   224,   164,   221,    -1,   103,   224,   164,   221,
1228 >      -1,   210,   224,   164,   221,    -1,   111,   224,   164,   221,
1229 >      -1,    29,   224,   105,   221,    -1,    85,   224,   105,   221,
1230 >      -1,   213,   224,   164,   221,    -1,    30,   224,   123,   221,
1231 >      -1,   208,   224,   123,   221,    -1,   120,   224,   164,   221,
1232 >      -1,    26,   224,   164,   221,    -1,   209,   224,   230,   221,
1233 >      -1,    -1,   113,   471,   224,   472,   221,    -1,   472,   225,
1234 >     473,    -1,   473,    -1,   170,    -1,   173,    -1,   174,    -1,
1235 >     176,    -1,   177,    -1,   180,    -1,    51,    -1,   194,    -1,
1236 >     186,    -1,   190,    -1,   198,    -1,   195,    -1,   179,    -1,
1237 >     188,    -1,   192,    -1,   181,    -1,   204,    -1,   171,    -1,
1238 >     172,    -1,   184,    -1,    -1,   110,   475,   224,   476,   221,
1239 >      -1,   476,   225,   477,    -1,   477,    -1,   170,    -1,   173,
1240 >      -1,   174,    -1,   176,    -1,   177,    -1,   180,    -1,   194,
1241 >      -1,    51,    -1,   186,    -1,   190,    -1,   198,    -1,   195,
1242 >      -1,   179,    -1,   188,    -1,   192,    -1,   181,    -1,   204,
1243 >      -1,   171,    -1,   172,    -1,   184,    -1,   187,    -1,    88,
1244 >     224,   105,   221,    -1,    89,   224,   105,   221,    -1,    20,
1245 >     224,   105,   221,    -1,    14,   223,   482,   222,   221,    -1,
1246 >     482,   483,    -1,   483,    -1,   489,    -1,   485,    -1,   486,
1247 >      -1,   487,    -1,   488,    -1,   490,    -1,   491,    -1,   492,
1248 >      -1,   493,    -1,   494,    -1,   495,    -1,   484,    -1,     1,
1249 >      -1,    27,   224,   164,   221,    -1,    67,   224,   230,   221,
1250 >      -1,    68,   224,   230,   221,    -1,    77,   224,   105,   221,
1251 >      -1,    76,   224,   105,   221,    -1,    75,   224,   105,   221,
1252 >      -1,    22,   224,   105,   221,    -1,    21,   224,   105,   221,
1253 >      -1,   101,   224,   164,   221,    -1,   102,   224,   164,   221,
1254 >      -1,   114,   224,   105,   221,    -1,   115,   224,   230,   221,
1255 >      -1,   149,   223,   497,   222,   221,    -1,   497,   498,    -1,
1256 >     498,    -1,   499,    -1,   500,    -1,   501,    -1,   503,    -1,
1257 >     504,    -1,   502,    -1,   505,    -1,     1,    -1,    37,   224,
1258 >     164,   221,    -1,    54,   224,   164,   221,    -1,    55,   224,
1259 >     164,   221,    -1,    52,   224,   123,   221,    -1,    70,   224,
1260 >     230,   221,    -1,    51,   224,   164,   221,    -1,    53,   224,
1261 >     164,   221,    -1
1262   };
1263  
1264   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1265   static const yytype_uint16 yyrline[] =
1266   {
1267 <       0,   366,   366,   367,   370,   371,   372,   373,   374,   375,
1268 <     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
1269 <     386,   387,   388,   389,   390,   391,   395,   395,   396,   400,
1270 <     404,   408,   412,   416,   422,   422,   423,   424,   425,   426,
1271 <     433,   436,   436,   437,   437,   437,   439,   445,   452,   454,
1272 <     454,   455,   455,   456,   456,   457,   457,   458,   458,   459,
1273 <     459,   460,   460,   461,   461,   462,   463,   466,   467,   469,
1274 <     469,   470,   476,   484,   484,   485,   491,   499,   538,   597,
1275 <     625,   633,   648,   663,   672,   686,   695,   723,   753,   776,
1276 <     785,   787,   787,   788,   788,   789,   789,   791,   800,   809,
1277 <     821,   822,   822,   824,   824,   825,   827,   834,   834,   844,
1278 <     845,   847,   847,   848,   848,   850,   855,   858,   864,   863,
1279 <     869,   869,   870,   874,   878,   882,   886,   890,   894,   905,
1280 <     904,   983,   983,   984,   984,   984,   985,   985,   985,   986,
1281 <     986,   986,   988,   994,  1000,  1006,  1017,  1023,  1030,  1029,
1282 <    1035,  1035,  1036,  1040,  1044,  1048,  1052,  1056,  1060,  1064,
1283 <    1068,  1072,  1076,  1080,  1084,  1088,  1092,  1096,  1100,  1104,
1284 <    1108,  1112,  1119,  1118,  1124,  1124,  1125,  1129,  1133,  1137,
1285 <    1141,  1145,  1149,  1153,  1157,  1161,  1165,  1169,  1173,  1177,
1286 <    1181,  1185,  1189,  1193,  1197,  1208,  1207,  1253,  1253,  1254,
1287 <    1255,  1255,  1256,  1257,  1258,  1259,  1260,  1261,  1262,  1263,
1288 <    1264,  1264,  1265,  1267,  1276,  1282,  1288,  1294,  1300,  1306,
1289 <    1312,  1318,  1324,  1331,  1337,  1343,  1353,  1352,  1359,  1358,
1290 <    1363,  1363,  1364,  1368,  1372,  1378,  1378,  1379,  1379,  1379,
1291 <    1379,  1379,  1381,  1381,  1383,  1383,  1385,  1399,  1419,  1425,
1292 <    1435,  1434,  1476,  1476,  1477,  1477,  1477,  1477,  1478,  1478,
1293 <    1478,  1479,  1479,  1481,  1487,  1493,  1499,  1511,  1510,  1516,
1294 <    1516,  1517,  1521,  1525,  1529,  1533,  1537,  1541,  1545,  1549,
1295 <    1555,  1569,  1578,  1591,  1590,  1606,  1606,  1607,  1607,  1607,
1296 <    1607,  1609,  1618,  1633,  1646,  1648,  1648,  1649,  1649,  1651,
1297 <    1667,  1666,  1681,  1681,  1682,  1682,  1682,  1682,  1684,  1693,
1298 <    1716,  1715,  1721,  1721,  1722,  1726,  1730,  1734,  1738,  1742,
1299 <    1746,  1750,  1754,  1758,  1768,  1767,  1783,  1783,  1784,  1784,
1300 <    1784,  1786,  1793,  1792,  1798,  1798,  1799,  1803,  1807,  1811,
1301 <    1815,  1819,  1823,  1827,  1831,  1835,  1845,  1844,  1893,  1893,
1302 <    1894,  1894,  1894,  1895,  1895,  1896,  1896,  1896,  1897,  1897,
1303 <    1897,  1898,  1898,  1899,  1901,  1910,  1919,  1945,  1963,  1981,
1304 <    1987,  1991,  2000,  1999,  2003,  2003,  2004,  2008,  2014,  2025,
1305 <    2035,  2046,  2055,  2074,  2073,  2137,  2136,  2140,  2140,  2141,
1306 <    2147,  2147,  2148,  2148,  2148,  2148,  2150,  2169,  2179,  2178,
1307 <    2205,  2205,  2206,  2206,  2206,  2208,  2214,  2223,  2225,  2225,
1308 <    2226,  2226,  2228,  2246,  2245,  2291,  2290,  2296,  2296,  2297,
1309 <    2303,  2303,  2304,  2304,  2304,  2304,  2306,  2312,  2321,  2324,
1267 >       0,   362,   362,   363,   366,   367,   368,   369,   370,   371,
1268 >     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
1269 >     382,   383,   384,   385,   386,   387,   391,   391,   392,   396,
1270 >     400,   404,   408,   412,   416,   420,   426,   426,   427,   428,
1271 >     429,   430,   437,   440,   440,   441,   441,   441,   443,   449,
1272 >     456,   458,   458,   459,   459,   460,   460,   461,   461,   462,
1273 >     462,   463,   463,   464,   464,   465,   465,   466,   466,   467,
1274 >     468,   471,   472,   474,   474,   475,   481,   489,   489,   490,
1275 >     496,   504,   546,   605,   633,   641,   656,   671,   680,   694,
1276 >     703,   731,   761,   786,   808,   830,   839,   841,   841,   842,
1277 >     842,   843,   843,   845,   854,   863,   875,   876,   876,   878,
1278 >     878,   879,   881,   888,   888,   901,   902,   904,   904,   905,
1279 >     905,   907,   915,   918,   924,   923,   929,   929,   930,   934,
1280 >     938,   942,   946,   950,   954,   965,   964,  1041,  1041,  1042,
1281 >    1042,  1042,  1043,  1043,  1043,  1044,  1044,  1044,  1046,  1052,
1282 >    1058,  1064,  1075,  1081,  1088,  1087,  1093,  1093,  1094,  1098,
1283 >    1102,  1106,  1110,  1114,  1118,  1122,  1126,  1130,  1134,  1138,
1284 >    1142,  1146,  1150,  1154,  1158,  1162,  1166,  1170,  1174,  1181,
1285 >    1180,  1186,  1186,  1187,  1191,  1195,  1199,  1203,  1207,  1211,
1286 >    1215,  1219,  1223,  1227,  1231,  1235,  1239,  1243,  1247,  1251,
1287 >    1255,  1266,  1265,  1326,  1326,  1327,  1328,  1328,  1329,  1330,
1288 >    1331,  1332,  1333,  1334,  1335,  1336,  1337,  1337,  1338,  1339,
1289 >    1340,  1341,  1343,  1349,  1355,  1361,  1367,  1373,  1379,  1385,
1290 >    1391,  1397,  1404,  1410,  1416,  1422,  1431,  1441,  1440,  1446,
1291 >    1446,  1447,  1451,  1462,  1461,  1468,  1467,  1472,  1472,  1473,
1292 >    1477,  1481,  1487,  1487,  1488,  1488,  1488,  1488,  1488,  1490,
1293 >    1490,  1492,  1492,  1494,  1508,  1528,  1534,  1544,  1543,  1585,
1294 >    1585,  1586,  1586,  1586,  1586,  1587,  1587,  1587,  1588,  1588,
1295 >    1590,  1596,  1602,  1608,  1620,  1619,  1625,  1625,  1626,  1630,
1296 >    1634,  1638,  1642,  1646,  1650,  1654,  1658,  1662,  1668,  1682,
1297 >    1691,  1705,  1704,  1719,  1719,  1720,  1720,  1720,  1720,  1722,
1298 >    1728,  1734,  1744,  1746,  1746,  1747,  1747,  1749,  1765,  1764,
1299 >    1789,  1789,  1790,  1790,  1790,  1790,  1792,  1798,  1818,  1817,
1300 >    1823,  1823,  1824,  1828,  1832,  1836,  1840,  1844,  1848,  1852,
1301 >    1856,  1860,  1870,  1869,  1890,  1890,  1891,  1891,  1891,  1893,
1302 >    1900,  1899,  1905,  1905,  1906,  1910,  1914,  1918,  1922,  1926,
1303 >    1930,  1934,  1938,  1942,  1952,  1951,  2017,  2017,  2018,  2018,
1304 >    2018,  2019,  2019,  2020,  2020,  2020,  2021,  2021,  2021,  2022,
1305 >    2022,  2023,  2025,  2031,  2037,  2043,  2056,  2069,  2075,  2079,
1306 >    2088,  2087,  2092,  2092,  2093,  2097,  2103,  2114,  2120,  2126,
1307 >    2132,  2148,  2147,  2173,  2173,  2174,  2174,  2174,  2176,  2196,
1308 >    2206,  2205,  2232,  2232,  2233,  2233,  2233,  2235,  2241,  2250,
1309 >    2252,  2252,  2253,  2253,  2255,  2273,  2272,  2295,  2295,  2296,
1310 >    2296,  2296,  2298,  2304,  2313,  2316,  2316,  2317,  2317,  2318,
1311 >    2318,  2319,  2319,  2320,  2320,  2321,  2321,  2322,  2323,  2324,
1312      2324,  2325,  2325,  2326,  2326,  2327,  2327,  2328,  2328,  2329,
1313 <    2329,  2330,  2331,  2332,  2332,  2333,  2333,  2334,  2334,  2335,
1314 <    2335,  2336,  2336,  2337,  2337,  2338,  2339,  2339,  2340,  2340,
1315 <    2341,  2341,  2342,  2342,  2343,  2343,  2344,  2345,  2345,  2346,
1316 <    2347,  2348,  2348,  2349,  2349,  2350,  2351,  2352,  2353,  2353,
1317 <    2354,  2357,  2362,  2368,  2374,  2380,  2385,  2390,  2395,  2400,
1318 <    2405,  2410,  2415,  2420,  2425,  2430,  2435,  2440,  2445,  2450,
1319 <    2456,  2467,  2472,  2477,  2482,  2487,  2492,  2495,  2500,  2503,
1320 <    2508,  2513,  2518,  2523,  2528,  2533,  2538,  2543,  2548,  2559,
1321 <    2564,  2569,  2574,  2583,  2592,  2597,  2602,  2608,  2607,  2612,
1322 <    2612,  2613,  2616,  2619,  2622,  2625,  2628,  2631,  2634,  2637,
1323 <    2640,  2643,  2646,  2649,  2652,  2655,  2658,  2661,  2664,  2667,
1324 <    2670,  2676,  2675,  2680,  2680,  2681,  2684,  2687,  2690,  2693,
1325 <    2696,  2699,  2702,  2705,  2708,  2711,  2714,  2717,  2720,  2723,
1326 <    2726,  2729,  2732,  2735,  2738,  2743,  2748,  2753,  2762,  2765,
1327 <    2765,  2766,  2767,  2767,  2768,  2768,  2769,  2769,  2770,  2771,
1328 <    2771,  2772,  2773,  2773,  2774,  2774,  2776,  2781,  2786,  2791,
1329 <    2796,  2801,  2806,  2811,  2816,  2821,  2826,  2831,  2836,  2841,
1312 <    2849,  2852,  2852,  2853,  2853,  2854,  2855,  2855,  2856,  2857,
1313 <    2859,  2865,  2871,  2880,  2894,  2900
1313 >    2329,  2330,  2330,  2331,  2331,  2332,  2332,  2333,  2333,  2334,
1314 >    2334,  2335,  2336,  2336,  2337,  2338,  2339,  2339,  2340,  2340,
1315 >    2341,  2342,  2343,  2344,  2344,  2345,  2348,  2353,  2359,  2365,
1316 >    2371,  2376,  2381,  2386,  2391,  2396,  2401,  2406,  2411,  2416,
1317 >    2421,  2426,  2431,  2436,  2441,  2447,  2458,  2463,  2468,  2473,
1318 >    2478,  2483,  2486,  2491,  2494,  2499,  2504,  2509,  2514,  2519,
1319 >    2524,  2529,  2534,  2539,  2544,  2549,  2554,  2563,  2572,  2577,
1320 >    2582,  2588,  2587,  2592,  2592,  2593,  2596,  2599,  2602,  2605,
1321 >    2608,  2611,  2614,  2617,  2620,  2623,  2626,  2629,  2632,  2635,
1322 >    2638,  2641,  2644,  2647,  2650,  2656,  2655,  2660,  2660,  2661,
1323 >    2664,  2667,  2670,  2673,  2676,  2679,  2682,  2685,  2688,  2691,
1324 >    2694,  2697,  2700,  2703,  2706,  2709,  2712,  2715,  2718,  2721,
1325 >    2726,  2731,  2736,  2745,  2748,  2748,  2749,  2750,  2750,  2751,
1326 >    2751,  2752,  2753,  2754,  2755,  2756,  2756,  2757,  2757,  2759,
1327 >    2764,  2769,  2774,  2779,  2784,  2789,  2794,  2799,  2804,  2809,
1328 >    2814,  2822,  2825,  2825,  2826,  2826,  2827,  2828,  2829,  2829,
1329 >    2830,  2831,  2833,  2839,  2845,  2851,  2860,  2874,  2880
1330   };
1331   #endif
1332  
# Line 1331 | Line 1347 | static const char *const yytname[] =
1347    "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1348    "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1349    "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1350 <  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1351 <  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1352 <  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1353 <  "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1354 <  "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1355 <  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1356 <  "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1357 <  "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1358 <  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1359 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1350 >  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES",
1351 >  "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS",
1352 >  "INVISIBLE_ON_CONNECT", "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE",
1353 >  "KLINE_EXEMPT", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1354 >  "LINKS_DELAY", "LISTEN", "T_LOG", "MASK", "MAX_ACCEPT", "MAX_BANS",
1355 >  "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT",
1356 >  "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME",
1357 >  "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH",
1358 >  "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MIN_IDLE", "MAX_IDLE",
1359 >  "RANDOM_IDLE", "HIDE_IDLE_FROM_OPERS", "MODULE", "MODULES", "NAME",
1360 >  "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK",
1361    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1362    "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1363    "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1364    "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1365    "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1366 <  "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1367 <  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1368 <  "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1369 <  "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1370 <  "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1371 <  "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",
1372 <  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1373 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1374 <  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1375 <  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1376 <  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1377 <  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1378 <  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1379 <  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1380 <  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1381 <  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1382 <  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1383 <  "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1384 <  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1385 <  "USE_LOGGING", "VHOST", "VHOST6", "XLINE", "WARN_NO_NLINE", "T_SIZE",
1386 <  "T_FILE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",
1387 <  "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1388 <  "modules_entry", "modules_items", "modules_item", "modules_module",
1372 <  "modules_path", "serverinfo_entry", "serverinfo_items",
1366 >  "PING_TIME", "PORT", "QSTRING", "REASON", "REDIRPORT", "REDIRSERV",
1367 >  "REHASH", "REMOTE", "REMOTEBAN", "RSA_PRIVATE_KEY_FILE",
1368 >  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",
1369 >  "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1370 >  "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1371 >  "MONTHS", "YEARS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO",
1372 >  "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE",
1373 >  "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",
1374 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1375 >  "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA",
1376 >  "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1377 >  "T_CCONN_FULL", "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE",
1378 >  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1379 >  "T_MAX_CLIENTS", "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ",
1380 >  "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY",
1381 >  "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV",
1382 >  "T_UNXLINE", "T_GLOBOPS", "T_WALLOP", "T_WEBIRC", "T_RESTART",
1383 >  "T_SERVICE", "T_SERVICES_NAME", "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD",
1384 >  "UNKLINE", "USER", "USE_EGD", "USE_LOGGING", "VHOST", "VHOST6", "XLINE",
1385 >  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1386 >  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1387 >  "sizespec", "modules_entry", "modules_items", "modules_item",
1388 >  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1389    "serverinfo_item", "serverinfo_ssl_client_method",
1390    "serverinfo_ssl_server_method", "client_method_types",
1391    "client_method_type_item", "server_method_types",
# Line 1378 | Line 1394 | static const char *const yytname[] =
1394    "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1395    "serverinfo_description", "serverinfo_network_name",
1396    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1397 <  "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1398 <  "admin_item", "admin_name", "admin_email", "admin_description",
1399 <  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1400 <  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1401 <  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1402 <  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1403 <  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1404 <  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1405 <  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1406 <  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1407 <  "class_entry", "$@6", "class_items", "class_item", "class_name",
1408 <  "class_ping_time", "class_number_per_ip", "class_connectfreq",
1409 <  "class_max_number", "class_max_global", "class_max_local",
1410 <  "class_max_ident", "class_sendq", "class_recvq",
1411 <  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1412 <  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1413 <  "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1414 <  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1415 <  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1416 <  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1417 <  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1418 <  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1419 <  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1420 <  "service_entry", "service_items", "service_item", "service_name",
1421 <  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1422 <  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1423 <  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1424 <  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1425 <  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1397 >  "serverinfo_max_clients", "serverinfo_max_nick_length",
1398 >  "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1399 >  "admin_items", "admin_item", "admin_name", "admin_email",
1400 >  "admin_description", "logging_entry", "logging_items", "logging_item",
1401 >  "logging_use_logging", "logging_file_entry", "$@1", "logging_file_items",
1402 >  "logging_file_item", "logging_file_name", "logging_file_size",
1403 >  "logging_file_type", "$@2", "logging_file_type_items",
1404 >  "logging_file_type_item", "oper_entry", "$@3", "oper_items", "oper_item",
1405 >  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1406 >  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@4",
1407 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@5",
1408 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@6",
1409 >  "class_items", "class_item", "class_name", "class_ping_time",
1410 >  "class_number_per_ip", "class_connectfreq", "class_max_number",
1411 >  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1412 >  "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1413 >  "class_number_per_cidr", "class_min_idle", "class_max_idle",
1414 >  "class_flags", "$@7", "class_flags_items", "class_flags_item",
1415 >  "listen_entry", "$@8", "listen_flags", "$@9", "listen_flags_items",
1416 >  "listen_flags_item", "listen_items", "listen_item", "listen_port",
1417 >  "$@10", "port_items", "port_item", "listen_address", "listen_host",
1418 >  "auth_entry", "$@11", "auth_items", "auth_item", "auth_user",
1419 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@12",
1420 >  "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1421 >  "auth_redir_port", "resv_entry", "$@13", "resv_items", "resv_item",
1422 >  "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1423 >  "service_items", "service_item", "service_name", "shared_entry", "$@14",
1424 >  "shared_items", "shared_item", "shared_name", "shared_user",
1425 >  "shared_type", "$@15", "shared_types", "shared_type_item",
1426 >  "cluster_entry", "$@16", "cluster_items", "cluster_item", "cluster_name",
1427 >  "cluster_type", "$@17", "cluster_types", "cluster_type_item",
1428 >  "connect_entry", "$@18", "connect_items", "connect_item", "connect_name",
1429    "connect_host", "connect_vhost", "connect_send_password",
1430    "connect_accept_password", "connect_port", "connect_aftype",
1431 <  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1431 >  "connect_flags", "$@19", "connect_flags_items", "connect_flags_item",
1432    "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1433 <  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1434 <  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1435 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1436 <  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1437 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1438 <  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1439 <  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1421 <  "general_entry", "general_items", "general_item", "general_max_watch",
1422 <  "general_gline_enable", "general_gline_duration",
1433 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@20",
1434 >  "kill_items", "kill_item", "kill_user", "kill_reason", "deny_entry",
1435 >  "$@21", "deny_items", "deny_item", "deny_ip", "deny_reason",
1436 >  "exempt_entry", "exempt_items", "exempt_item", "exempt_ip",
1437 >  "gecos_entry", "$@22", "gecos_items", "gecos_item", "gecos_name",
1438 >  "gecos_reason", "general_entry", "general_items", "general_item",
1439 >  "general_max_watch", "general_gline_enable", "general_gline_duration",
1440    "general_gline_request_duration", "general_gline_min_cidr",
1441    "general_gline_min_cidr6", "general_tkline_expire_notices",
1442    "general_kill_chase_time_limit", "general_hide_spoof_ips",
# Line 1436 | Line 1453 | static const char *const yytname[] =
1453    "general_opers_bypass_callerid", "general_pace_wait_simple",
1454    "general_short_motd", "general_no_oper_flood",
1455    "general_true_no_oper_flood", "general_oper_pass_resv",
1456 <  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1457 <  "general_use_egd", "general_egdpool_path", "general_services_name",
1458 <  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1459 <  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1460 <  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1461 <  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1462 <  "general_default_floodcount", "channel_entry", "channel_items",
1463 <  "channel_item", "channel_disable_fake_channels",
1447 <  "channel_restrict_channels", "channel_knock_delay",
1456 >  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1457 >  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1458 >  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1459 >  "$@23", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1460 >  "$@24", "umode_items", "umode_item", "general_min_nonwildcard",
1461 >  "general_min_nonwildcard_simple", "general_default_floodcount",
1462 >  "channel_entry", "channel_items", "channel_item",
1463 >  "channel_disable_fake_channels", "channel_knock_delay",
1464    "channel_knock_delay_channel", "channel_max_chans_per_user",
1465 <  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1465 >  "channel_max_chans_per_oper", "channel_max_bans",
1466    "channel_default_split_user_count", "channel_default_split_server_count",
1467    "channel_no_create_on_split", "channel_no_join_on_split",
1468    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1469    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1470 <  "serverhide_hide_servers", "serverhide_hidden_name",
1471 <  "serverhide_links_delay", "serverhide_hidden",
1470 >  "serverhide_hide_servers", "serverhide_hide_services",
1471 >  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1472    "serverhide_hide_server_ips", YY_NULL
1473   };
1474   #endif
# Line 1483 | Line 1499 | static const yytype_uint16 yytoknum[] =
1499       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1500       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1501       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1502 <     465,   466,   467,   468,    59,   125,   123,    61,    44
1502 >     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1503 >     475,    59,   125,   123,    61,    44
1504   };
1505   # endif
1506  
1507   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1508   static const yytype_uint16 yyr1[] =
1509   {
1510 <       0,   219,   220,   220,   221,   221,   221,   221,   221,   221,
1511 <     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
1512 <     221,   221,   221,   221,   221,   221,   222,   222,   223,   223,
1513 <     223,   223,   223,   223,   224,   224,   225,   225,   225,   225,
1514 <     226,   227,   227,   228,   228,   228,   229,   230,   231,   232,
1515 <     232,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1516 <     233,   233,   233,   233,   233,   233,   233,   234,   235,   236,
1517 <     236,   237,   237,   238,   238,   239,   239,   240,   241,   242,
1518 <     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1519 <     253,   254,   254,   255,   255,   255,   255,   256,   257,   258,
1520 <     259,   260,   260,   261,   261,   261,   262,   264,   263,   265,
1521 <     265,   266,   266,   266,   266,   267,   268,   268,   270,   269,
1522 <     271,   271,   272,   272,   272,   272,   272,   272,   272,   274,
1523 <     273,   275,   275,   276,   276,   276,   276,   276,   276,   276,
1524 <     276,   276,   277,   278,   279,   280,   281,   282,   284,   283,
1525 <     285,   285,   286,   286,   286,   286,   286,   286,   286,   286,
1526 <     286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
1527 <     286,   286,   288,   287,   289,   289,   290,   290,   290,   290,
1528 <     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1529 <     290,   290,   290,   290,   290,   292,   291,   293,   293,   294,
1530 <     294,   294,   294,   294,   294,   294,   294,   294,   294,   294,
1531 <     294,   294,   294,   295,   296,   297,   298,   299,   300,   301,
1532 <     302,   303,   304,   305,   306,   307,   309,   308,   311,   310,
1533 <     312,   312,   313,   313,   313,   314,   314,   315,   315,   315,
1534 <     315,   315,   317,   316,   318,   318,   319,   319,   320,   321,
1535 <     323,   322,   324,   324,   325,   325,   325,   325,   325,   325,
1536 <     325,   325,   325,   326,   327,   328,   329,   331,   330,   332,
1537 <     332,   333,   333,   333,   333,   333,   333,   333,   333,   333,
1538 <     334,   335,   336,   338,   337,   339,   339,   340,   340,   340,
1539 <     340,   341,   342,   343,   344,   345,   345,   346,   346,   347,
1540 <     349,   348,   350,   350,   351,   351,   351,   351,   352,   353,
1541 <     355,   354,   356,   356,   357,   357,   357,   357,   357,   357,
1542 <     357,   357,   357,   357,   359,   358,   360,   360,   361,   361,
1543 <     361,   362,   364,   363,   365,   365,   366,   366,   366,   366,
1544 <     366,   366,   366,   366,   366,   366,   368,   367,   369,   369,
1545 <     370,   370,   370,   370,   370,   370,   370,   370,   370,   370,
1546 <     370,   370,   370,   370,   371,   372,   373,   374,   375,   376,
1547 <     377,   377,   379,   378,   380,   380,   381,   381,   382,   383,
1548 <     384,   385,   386,   388,   387,   390,   389,   391,   391,   392,
1549 <     393,   393,   394,   394,   394,   394,   395,   396,   398,   397,
1550 <     399,   399,   400,   400,   400,   401,   402,   403,   404,   404,
1551 <     405,   405,   406,   408,   407,   410,   409,   411,   411,   412,
1552 <     413,   413,   414,   414,   414,   414,   415,   416,   417,   418,
1553 <     418,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1554 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1555 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1556 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1557 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1558 <     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
1559 <     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1560 <     439,   440,   441,   442,   443,   444,   445,   445,   446,   446,
1561 <     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
1562 <     457,   458,   459,   460,   461,   462,   463,   465,   464,   466,
1563 <     466,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1564 <     467,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1565 <     467,   469,   468,   470,   470,   471,   471,   471,   471,   471,
1566 <     471,   471,   471,   471,   471,   471,   471,   471,   471,   471,
1567 <     471,   471,   471,   471,   471,   472,   473,   474,   475,   476,
1568 <     476,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1569 <     477,   477,   477,   477,   477,   477,   478,   479,   480,   481,
1570 <     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
1571 <     492,   493,   493,   494,   494,   494,   494,   494,   494,   494,
1572 <     495,   496,   497,   498,   499,   500
1510 >       0,   226,   227,   227,   228,   228,   228,   228,   228,   228,
1511 >     228,   228,   228,   228,   228,   228,   228,   228,   228,   228,
1512 >     228,   228,   228,   228,   228,   228,   229,   229,   230,   230,
1513 >     230,   230,   230,   230,   230,   230,   231,   231,   232,   232,
1514 >     232,   232,   233,   234,   234,   235,   235,   235,   236,   237,
1515 >     238,   239,   239,   240,   240,   240,   240,   240,   240,   240,
1516 >     240,   240,   240,   240,   240,   240,   240,   240,   240,   240,
1517 >     240,   241,   242,   243,   243,   244,   244,   245,   245,   246,
1518 >     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1519 >     256,   257,   258,   259,   260,   261,   262,   263,   263,   264,
1520 >     264,   264,   264,   265,   266,   267,   268,   269,   269,   270,
1521 >     270,   270,   271,   273,   272,   274,   274,   275,   275,   275,
1522 >     275,   276,   277,   277,   279,   278,   280,   280,   281,   281,
1523 >     281,   281,   281,   281,   281,   283,   282,   284,   284,   285,
1524 >     285,   285,   285,   285,   285,   285,   285,   285,   286,   287,
1525 >     288,   289,   290,   291,   293,   292,   294,   294,   295,   295,
1526 >     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
1527 >     295,   295,   295,   295,   295,   295,   295,   295,   295,   297,
1528 >     296,   298,   298,   299,   299,   299,   299,   299,   299,   299,
1529 >     299,   299,   299,   299,   299,   299,   299,   299,   299,   299,
1530 >     299,   301,   300,   302,   302,   303,   303,   303,   303,   303,
1531 >     303,   303,   303,   303,   303,   303,   303,   303,   303,   303,
1532 >     303,   303,   304,   305,   306,   307,   308,   309,   310,   311,
1533 >     312,   313,   314,   315,   316,   317,   318,   320,   319,   321,
1534 >     321,   322,   322,   324,   323,   326,   325,   327,   327,   328,
1535 >     328,   328,   329,   329,   330,   330,   330,   330,   330,   332,
1536 >     331,   333,   333,   334,   334,   335,   336,   338,   337,   339,
1537 >     339,   340,   340,   340,   340,   340,   340,   340,   340,   340,
1538 >     341,   342,   343,   344,   346,   345,   347,   347,   348,   348,
1539 >     348,   348,   348,   348,   348,   348,   348,   348,   349,   350,
1540 >     351,   353,   352,   354,   354,   355,   355,   355,   355,   356,
1541 >     357,   358,   359,   360,   360,   361,   361,   362,   364,   363,
1542 >     365,   365,   366,   366,   366,   366,   367,   368,   370,   369,
1543 >     371,   371,   372,   372,   372,   372,   372,   372,   372,   372,
1544 >     372,   372,   374,   373,   375,   375,   376,   376,   376,   377,
1545 >     379,   378,   380,   380,   381,   381,   381,   381,   381,   381,
1546 >     381,   381,   381,   381,   383,   382,   384,   384,   385,   385,
1547 >     385,   385,   385,   385,   385,   385,   385,   385,   385,   385,
1548 >     385,   385,   386,   387,   388,   389,   390,   391,   392,   392,
1549 >     394,   393,   395,   395,   396,   396,   397,   398,   399,   400,
1550 >     401,   403,   402,   404,   404,   405,   405,   405,   406,   407,
1551 >     409,   408,   410,   410,   411,   411,   411,   412,   413,   414,
1552 >     415,   415,   416,   416,   417,   419,   418,   420,   420,   421,
1553 >     421,   421,   422,   423,   424,   425,   425,   426,   426,   426,
1554 >     426,   426,   426,   426,   426,   426,   426,   426,   426,   426,
1555 >     426,   426,   426,   426,   426,   426,   426,   426,   426,   426,
1556 >     426,   426,   426,   426,   426,   426,   426,   426,   426,   426,
1557 >     426,   426,   426,   426,   426,   426,   426,   426,   426,   426,
1558 >     426,   426,   426,   426,   426,   426,   427,   428,   429,   430,
1559 >     431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
1560 >     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
1561 >     451,   452,   452,   453,   453,   454,   455,   456,   457,   458,
1562 >     459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
1563 >     469,   471,   470,   472,   472,   473,   473,   473,   473,   473,
1564 >     473,   473,   473,   473,   473,   473,   473,   473,   473,   473,
1565 >     473,   473,   473,   473,   473,   475,   474,   476,   476,   477,
1566 >     477,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1567 >     477,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1568 >     478,   479,   480,   481,   482,   482,   483,   483,   483,   483,
1569 >     483,   483,   483,   483,   483,   483,   483,   483,   483,   484,
1570 >     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1571 >     495,   496,   497,   497,   498,   498,   498,   498,   498,   498,
1572 >     498,   498,   499,   500,   501,   502,   503,   504,   505
1573   };
1574  
1575   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1561 | Line 1578 | static const yytype_uint8 yyr2[] =
1578         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1579         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1580         1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1581 <       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1582 <       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1583 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1567 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1568 <       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1569 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1570 <       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1571 <       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1572 <       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1573 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1574 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1575 <       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1576 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1577 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1578 <       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1581 >       3,     3,     3,     3,     3,     3,     0,     1,     2,     3,
1582 >       3,     3,     5,     2,     1,     1,     1,     2,     4,     4,
1583 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1584         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1585 +       2,     4,     4,     3,     1,     1,     1,     3,     1,     1,
1586 +       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1587 +       4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
1588 +       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1589 +       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
1590 +       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1591         1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1592 +       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1593 +       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1594 +       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1595 +       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1596 +       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1597         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1598 <       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1583 <       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1584 <       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1585 <       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1586 <       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1587 <       1,     1,     2,     4,     4,     4,     4,     0,     5,     3,
1598 >       1,     0,     6,     2,     1,     1,     1,     1,     1,     1,
1599         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1600 <       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1601 <       2,     4,     4,     4,     5,     2,     1,     1,     1,     4,
1602 <       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1600 >       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
1601 >       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1602 >       1,     1,     1,     0,     6,     0,     5,     3,     1,     1,
1603 >       1,     1,     2,     1,     1,     1,     1,     1,     2,     0,
1604 >       5,     3,     1,     1,     3,     4,     4,     0,     6,     2,
1605 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1606 >       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1607 >       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1608 >       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1609 >       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
1610 >       2,     1,     1,     1,     1,     2,     4,     4,     0,     5,
1611 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1612 >       1,     1,     0,     6,     2,     1,     1,     1,     2,     4,
1613         0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1614         1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
1594       2,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1595       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1615         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1616 <       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1617 <       4,     4,     0,     5,     3,     1,     1,     1,     4,     4,
1618 <       4,     4,     4,     0,     6,     0,     5,     3,     1,     1,
1619 <       2,     1,     1,     1,     1,     1,     4,     4,     0,     6,
1620 <       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
1621 <       1,     1,     4,     0,     6,     0,     5,     3,     1,     1,
1603 <       2,     1,     1,     1,     1,     1,     4,     4,     5,     2,
1616 >       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
1617 >       0,     5,     3,     1,     1,     1,     4,     4,     4,     4,
1618 >       4,     0,     6,     2,     1,     1,     1,     1,     4,     4,
1619 >       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1620 >       2,     1,     1,     1,     4,     0,     6,     2,     1,     1,
1621 >       1,     1,     4,     4,     5,     2,     1,     1,     1,     1,
1622         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1623         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1624         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1625         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1626 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1609 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1626 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1627         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1628         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1629         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1630 <       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1631 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1630 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1631 >       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1632         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1633 <       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1633 >       1,     1,     1,     1,     1,     0,     5,     3,     1,     1,
1634         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1618       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
1635         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1636 <       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1636 >       4,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1637 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
1638         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1639 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1640 <       4,     4,     4,     4,     4,     4
1639 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1640 >       1,     1,     4,     4,     4,     4,     4,     4,     4
1641   };
1642  
1643   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1628 | Line 1645 | static const yytype_uint8 yyr2[] =
1645     means the default is an error.  */
1646   static const yytype_uint16 yydefact[] =
1647   {
1648 <       2,     0,     1,     0,     0,     0,   195,   346,   398,     0,
1649 <     413,     0,   250,   383,   226,     0,     0,   129,   283,     0,
1650 <       0,   300,   324,     0,     3,    23,    11,     4,     5,     6,
1648 >       2,     0,     1,     0,     0,     0,   201,   364,   410,     0,
1649 >     425,     0,   267,   401,   243,     0,     0,   135,   301,     0,
1650 >       0,   318,   342,     0,     3,    23,    11,     4,     5,     6,
1651         8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1652        20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1653         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1654         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1655 <       0,     0,    92,    93,    95,    94,   595,     0,     0,     0,
1639 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1640 <       0,     0,   580,   594,   590,   582,   583,   584,   585,   586,
1641 <     581,   587,   588,   589,   591,   592,   593,     0,     0,     0,
1642 <     411,     0,     0,   409,   410,     0,   480,     0,     0,     0,
1655 >       0,     0,    98,    99,   101,   100,   598,     0,     0,     0,
1656         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1657 +     585,   597,   587,   588,   589,   590,   586,   591,   592,   593,
1658 +     594,   595,   596,     0,     0,     0,   423,     0,     0,   421,
1659 +     422,     0,   485,     0,     0,     0,     0,     0,     0,     0,
1660         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1645       0,     0,     0,     0,     0,     0,   551,     0,   527,     0,
1661         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1662 <       0,     0,     0,     0,     0,     0,     0,   430,   478,   472,
1648 <     473,   474,   475,   476,   471,   441,   431,   432,   466,   433,
1649 <     434,   435,   436,   437,   438,   439,   440,   468,   442,   443,
1650 <     477,   445,   450,   446,   448,   447,   461,   462,   449,   451,
1651 <     452,   453,   454,   455,   444,   457,   458,   459,   479,   469,
1652 <     470,   467,   460,   456,   464,   465,   463,     0,     0,     0,
1653 <       0,     0,     0,   102,   103,   104,     0,     0,     0,     0,
1654 <       0,    42,    43,    44,     0,     0,   619,     0,     0,     0,
1655 <       0,     0,     0,     0,   612,   613,   614,   617,   615,   616,
1656 <     618,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1657 <       0,     0,     0,     0,     0,     0,     0,     0,    50,    63,
1658 <      64,    62,    59,    58,    65,    51,    61,    54,    55,    56,
1659 <      52,    60,    57,    53,     0,     0,   298,     0,     0,   296,
1660 <     297,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1662 >       0,   555,     0,   531,     0,     0,     0,     0,     0,     0,
1663         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1664 <       0,     0,   579,     0,     0,     0,     0,     0,     0,     0,
1665 <       0,     0,     0,     0,     0,     0,     0,     0,   198,   199,
1666 <     202,   204,   205,   206,   207,   208,   209,   210,   211,   200,
1667 <     201,   203,     0,     0,     0,     0,     0,   372,     0,     0,
1668 <       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
1669 <     352,   353,   354,   356,   355,   358,   362,   359,   360,   361,
1670 <     357,   404,     0,     0,     0,   401,   402,   403,     0,     0,
1671 <     408,   425,     0,     0,   415,   424,     0,   421,   422,   423,
1664 >       0,     0,   436,   483,   477,   478,   479,   480,   481,   476,
1665 >     447,   437,   438,   471,   439,   440,   441,   442,   443,   444,
1666 >     445,   446,   473,   448,   449,   482,   451,   456,   452,   454,
1667 >     453,   466,   467,   455,   457,   458,   459,   460,   450,   462,
1668 >     463,   464,   484,   474,   475,   472,   465,   461,   469,   470,
1669 >     468,     0,     0,     0,     0,     0,     0,   108,   109,   110,
1670 >       0,     0,     0,     0,     0,    44,    45,    46,     0,     0,
1671 >     621,     0,     0,     0,     0,     0,     0,     0,     0,   613,
1672 >     614,   615,   616,   619,   617,   618,   620,     0,     0,     0,
1673         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1674 +       0,     0,     0,     0,     0,     0,    52,    67,    68,    66,
1675 +      63,    62,    69,    53,    65,    56,    57,    58,    54,    64,
1676 +      59,    60,    61,    55,     0,     0,   316,     0,     0,   314,
1677 +     315,   102,     0,     0,     0,     0,    97,     0,     0,     0,
1678         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1679 +     584,     0,     0,     0,     0,   237,     0,     0,     0,     0,
1680 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   204,
1681 +     205,   208,   210,   211,   212,   213,   214,   215,   216,   217,
1682 +     206,   207,   209,   218,   219,   220,     0,     0,     0,     0,
1683 +       0,   390,     0,     0,     0,     0,     0,     0,     0,     0,
1684 +       0,   367,   368,   369,   370,   371,   372,   374,   373,   376,
1685 +     380,   377,   378,   379,   375,   416,     0,     0,     0,   413,
1686 +     414,   415,     0,     0,   420,   431,     0,     0,     0,   428,
1687 +     429,   430,     0,     0,     0,     0,     0,     0,     0,     0,
1688         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1689         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1690         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1675     429,     0,     0,     0,   267,     0,     0,     0,     0,     0,
1676       0,   253,   254,   255,   256,   261,   257,   258,   259,   260,
1677     395,     0,   385,     0,   394,     0,   391,   392,   393,     0,
1678     228,     0,     0,     0,   238,     0,   236,   237,   239,   240,
1679     105,     0,     0,   101,     0,    45,     0,     0,     0,    41,
1680       0,     0,     0,   172,     0,     0,     0,   148,     0,     0,
1681     132,   133,   134,   135,   138,   139,   137,   136,   140,     0,
1682       0,     0,     0,     0,   286,   287,   288,   289,     0,     0,
1683       0,     0,     0,     0,     0,   611,    66,     0,     0,     0,
1691         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1692 <       0,     0,     0,    49,     0,     0,   310,     0,     0,   303,
1693 <     304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1694 <       0,     0,   295,     0,     0,     0,    90,     0,     0,     0,
1695 <      26,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1696 <       0,     0,   578,   212,     0,     0,     0,     0,     0,     0,
1697 <       0,     0,     0,     0,     0,     0,     0,     0,   197,   363,
1692 >       0,   435,     0,     0,     0,   284,     0,     0,     0,     0,
1693 >       0,     0,   270,   271,   272,   273,   278,   274,   275,   276,
1694 >     277,   407,     0,     0,     0,   404,   405,   406,     0,   245,
1695 >       0,     0,     0,   255,     0,   253,   254,   256,   257,   111,
1696 >       0,     0,   107,     0,    47,     0,     0,     0,    43,     0,
1697 >       0,     0,   179,     0,     0,     0,   154,     0,     0,   138,
1698 >     139,   140,   141,   144,   145,   143,   142,   146,     0,     0,
1699 >       0,     0,     0,   304,   305,   306,   307,     0,     0,     0,
1700 >       0,     0,     0,     0,     0,   612,    70,     0,     0,     0,
1701         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1702 <       0,     0,     0,     0,   348,     0,     0,     0,   400,     0,
1703 <     407,     0,     0,     0,     0,   420,     0,     0,     0,     0,
1702 >       0,     0,     0,     0,     0,    51,     0,     0,   328,     0,
1703 >       0,   321,   322,   323,   324,     0,     0,   350,     0,   345,
1704 >     346,   347,     0,     0,   313,     0,     0,     0,    96,     0,
1705 >       0,     0,    26,     0,     0,     0,     0,     0,     0,     0,
1706 >       0,     0,   583,   221,     0,     0,     0,     0,     0,     0,
1707         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1708 +       0,   203,   381,     0,     0,     0,     0,     0,     0,     0,
1709 +       0,     0,     0,     0,     0,     0,     0,   366,     0,     0,
1710 +       0,   412,     0,   419,     0,     0,     0,   427,     0,     0,
1711         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1712         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1713         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698       0,     0,     0,     0,     0,     0,     0,   428,   262,     0,
1699       0,     0,     0,     0,     0,     0,     0,     0,   252,     0,
1700       0,     0,     0,   390,   241,     0,     0,     0,     0,     0,
1701     235,     0,   100,     0,     0,     0,    40,   141,     0,     0,
1702       0,     0,     0,     0,     0,     0,     0,   131,   290,     0,
1703       0,     0,     0,   285,     0,     0,     0,     0,     0,     0,
1704     610,     0,     0,     0,     0,     0,     0,     0,     0,    71,
1705      72,     0,    70,    75,    76,     0,    74,     0,     0,     0,
1706       0,     0,    48,   307,     0,     0,     0,     0,   302,   330,
1707       0,     0,     0,   326,     0,   294,    99,    98,    97,   605,
1708     604,   596,    26,    26,    26,    26,    26,    28,    27,   598,
1709     599,   603,   601,   600,   606,   607,   608,   609,   602,   597,
1714         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1715 <       0,    34,     0,     0,   196,     0,     0,     0,     0,     0,
1716 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   347,
1717 <       0,     0,   399,   412,     0,     0,     0,   414,   493,   497,
1718 <     511,   577,   525,   491,   519,   522,   492,   483,   482,   484,
1719 <     485,   486,   500,   489,   490,   501,   488,   496,   495,   494,
1720 <     520,   481,   518,   575,   576,   515,   512,   562,   555,   572,
1721 <     573,   556,   557,   558,   559,   567,   560,   570,   574,   563,
1722 <     568,   564,   569,   561,   566,   565,   571,     0,   554,   517,
1723 <     537,   531,   548,   549,   532,   533,   534,   535,   543,   536,
1724 <     546,   550,   539,   544,   540,   545,   538,   542,   541,   547,
1725 <       0,   530,   510,   513,   524,   487,   514,   503,   508,   509,
1726 <     506,   507,   504,   505,   499,   498,   523,   526,   516,   521,
1727 <     502,     0,     0,     0,     0,     0,     0,     0,     0,   251,
1728 <       0,     0,     0,   384,     0,     0,     0,   246,   242,   245,
1729 <     227,   106,     0,     0,   118,     0,     0,   110,   111,   113,
1730 <     112,    46,    47,     0,     0,     0,     0,     0,     0,     0,
1731 <       0,   130,     0,     0,     0,   284,   620,   624,   622,   625,
1732 <     621,   623,    83,    89,    81,    85,    84,    78,    77,    79,
1733 <      67,     0,    68,     0,    82,    80,    88,    86,    87,     0,
1734 <       0,     0,   301,     0,     0,   325,   299,    29,    30,    31,
1735 <      32,    33,   223,   224,   216,   218,   220,   219,   217,   213,
1736 <     225,   215,   214,    34,    34,    34,    36,    35,   221,   222,
1737 <     368,   370,   371,   381,   378,   376,   377,     0,   375,   365,
1738 <     379,   380,   364,   369,   367,   382,   366,   405,   406,   426,
1739 <     427,   419,     0,   418,   552,     0,   528,     0,   265,   266,
1740 <     275,   272,   277,   274,   273,   279,   276,   278,   271,     0,
1741 <     270,   264,   282,   281,   280,   263,   397,   389,     0,   388,
1742 <     396,   233,   234,   232,     0,   231,   249,   248,     0,     0,
1743 <       0,   114,     0,     0,     0,     0,   109,   147,   145,   187,
1744 <     184,   183,   176,   178,   194,   188,   191,   186,   177,   192,
1745 <     180,   189,   193,   181,   190,   185,   179,   182,     0,   175,
1746 <     142,   144,   146,   158,   152,   169,   170,   153,   154,   155,
1747 <     156,   164,   157,   167,   171,   160,   165,   161,   166,   159,
1748 <     163,   162,   168,     0,   151,   143,   292,   293,   291,    69,
1749 <      73,   308,   314,   320,   323,   316,   322,   317,   321,   319,
1750 <     315,   318,     0,   313,   309,   331,   336,   342,   345,   338,
1751 <     344,   339,   343,   341,   337,   340,     0,   335,    37,    38,
1752 <      39,   373,     0,   416,     0,   553,   529,   268,     0,   386,
1753 <       0,   229,     0,   247,   244,   243,     0,     0,     0,     0,
1754 <     108,   173,     0,   149,     0,   311,     0,   333,     0,   374,
1755 <     417,   269,   387,   230,   115,   124,   127,   126,   123,   128,
1756 <     125,   122,     0,   121,   117,   116,   174,   150,   312,   334,
1757 <     119,     0,   120
1715 >       0,     0,     0,     0,     0,     0,     0,     0,   434,   279,
1716 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   269,
1717 >       0,     0,     0,   403,   258,     0,     0,     0,     0,     0,
1718 >     252,     0,   106,     0,     0,     0,    42,   147,     0,     0,
1719 >       0,     0,     0,     0,     0,     0,     0,   137,   308,     0,
1720 >       0,     0,     0,   303,     0,     0,     0,     0,     0,     0,
1721 >       0,   611,     0,     0,     0,     0,     0,     0,     0,     0,
1722 >       0,     0,    75,    76,     0,    74,    79,    80,     0,    78,
1723 >       0,     0,     0,     0,     0,    50,   325,     0,     0,     0,
1724 >       0,   320,   348,     0,     0,     0,   344,     0,   312,   105,
1725 >     104,   103,   606,   605,   599,    26,    26,    26,    26,    26,
1726 >      26,    26,    28,    27,   600,   601,   604,   603,   602,   607,
1727 >     608,   609,   610,     0,     0,     0,     0,     0,     0,     0,
1728 >       0,     0,     0,     0,     0,     0,     0,    36,     0,     0,
1729 >     202,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1730 >       0,     0,     0,     0,     0,   365,     0,     0,   411,   424,
1731 >       0,     0,   426,   498,   502,   516,   582,   529,   496,   523,
1732 >     526,   497,   488,   487,   489,   490,   491,   505,   494,   495,
1733 >     506,   493,   501,   500,   499,   524,   486,   580,   581,   520,
1734 >     517,   566,   559,   576,   577,   560,   561,   562,   563,   571,
1735 >     564,   574,   578,   567,   579,   572,   568,   573,   565,   570,
1736 >     569,   575,     0,   558,   522,   541,   535,   552,   553,   536,
1737 >     537,   538,   539,   547,   540,   550,   554,   543,   548,   544,
1738 >     549,   542,   546,   545,   551,     0,   534,   515,   518,   528,
1739 >     492,   519,   508,   513,   514,   511,   512,   509,   510,   504,
1740 >     503,   527,   530,   521,   525,   507,     0,     0,     0,     0,
1741 >       0,     0,     0,     0,   268,     0,     0,   402,     0,     0,
1742 >       0,   263,   259,   262,   244,   112,     0,     0,   124,     0,
1743 >       0,   116,   117,   119,   118,    48,    49,     0,     0,     0,
1744 >       0,     0,     0,     0,     0,   136,     0,     0,     0,   302,
1745 >     622,   627,   625,   628,   623,   624,   626,    87,    95,    93,
1746 >      94,    85,    89,    88,    82,    81,    83,    71,     0,    72,
1747 >       0,    86,    84,    92,    90,    91,     0,     0,     0,   319,
1748 >       0,     0,   343,   317,    29,    30,    31,    32,    33,    34,
1749 >      35,   232,   233,   225,   241,   242,     0,   240,   227,   229,
1750 >     228,   226,   235,   236,   222,   234,   224,   223,    36,    36,
1751 >      36,    38,    37,   230,   231,   386,   388,   389,   399,   396,
1752 >     394,   395,     0,   393,   383,   397,   398,   382,   387,   385,
1753 >     400,   384,   417,   418,   432,   433,   556,     0,   532,     0,
1754 >     282,   283,   292,   289,   294,   291,   290,   297,   293,   295,
1755 >     288,   296,     0,   287,   281,   300,   299,   298,   280,   409,
1756 >     408,   250,   251,   249,     0,   248,   266,   265,     0,     0,
1757 >       0,   120,     0,     0,     0,     0,   115,   153,   151,   194,
1758 >     191,   190,   183,   185,   200,   197,   193,   184,   198,   187,
1759 >     195,   199,   188,   196,   192,   186,   189,     0,   182,   148,
1760 >     150,   152,   164,   158,   175,   176,   159,   160,   161,   162,
1761 >     170,   163,   173,   177,   166,   178,   171,   167,   172,   165,
1762 >     169,   168,   174,     0,   157,   149,   311,   309,   310,    73,
1763 >      77,   326,   332,   338,   341,   334,   340,   335,   339,   337,
1764 >     333,   336,     0,   331,   327,   349,   354,   360,   363,   356,
1765 >     362,   357,   361,   359,   355,   358,     0,   353,   238,     0,
1766 >      39,    40,    41,   391,     0,   557,   533,   285,     0,   246,
1767 >       0,   264,   261,   260,     0,     0,     0,     0,   114,   180,
1768 >       0,   155,     0,   329,     0,   351,     0,   239,   392,   286,
1769 >     247,   121,   130,   133,   132,   129,   134,   131,   128,     0,
1770 >     127,   123,   122,   181,   156,   330,   352,   125,     0,   126
1771   };
1772  
1773   /* YYDEFGOTO[NTERM-NUM].  */
1774   static const yytype_int16 yydefgoto[] =
1775   {
1776 <      -1,     1,    24,   777,   778,  1016,  1017,    25,   230,   231,
1777 <     232,   233,    26,   267,   268,   269,   270,   741,   742,   745,
1778 <     746,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1779 <     280,   281,   282,   283,    27,    71,    72,    73,    74,    75,
1780 <      28,   222,   223,   224,   225,   226,   946,   947,   948,   949,
1781 <     950,  1083,  1212,  1213,    29,    60,   499,   500,   501,   502,
1782 <     503,   504,   505,   506,   507,   714,  1133,  1134,   508,   710,
1783 <    1108,  1109,    30,    49,   327,   328,   329,   330,   331,   332,
1784 <     333,   334,   335,   336,   337,   338,   339,   340,   341,    31,
1785 <      57,   474,   695,  1074,  1075,   475,   476,   477,  1080,   938,
1786 <     939,   478,   479,    32,    55,   450,   451,   452,   453,   454,
1787 <     455,   456,   681,  1059,  1060,   457,   458,   459,    33,    61,
1788 <     513,   514,   515,   516,   517,    34,   288,   289,   290,    35,
1789 <      64,   548,   549,   550,   551,   552,   755,  1152,  1153,    36,
1790 <      65,   556,   557,   558,   559,   761,  1166,  1167,    37,    50,
1791 <     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
1792 <     604,  1027,  1028,   366,   367,   368,   369,   370,    38,    56,
1793 <     464,   690,  1068,  1069,   465,   466,   467,   468,    39,    51,
1794 <     374,   375,   376,   377,    40,   112,   113,   114,    41,    53,
1795 <     385,   623,  1042,  1043,   386,   387,   388,   389,    42,   166,
1796 <     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1797 <     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1798 <     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1799 <     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1800 <     207,   208,   209,   210,   211,   212,   421,   900,   901,   213,
1801 <     419,   877,   878,   214,   215,   216,    43,    91,    92,    93,
1802 <      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1803 <     104,   105,   106,    44,   243,   244,   245,   246,   247,   248,
1787 <     249,   250
1776 >      -1,     1,    24,   782,   783,  1031,  1032,    25,   224,   225,
1777 >     226,   227,    26,   265,   266,   267,   268,   744,   745,   748,
1778 >     749,   269,   270,   271,   272,   273,   274,   275,   276,   277,
1779 >     278,   279,   280,   281,   282,   283,    27,    71,    72,    73,
1780 >      74,    75,    28,   216,   217,   218,   219,   220,   950,   951,
1781 >     952,   953,   954,  1093,  1219,  1220,    29,    60,   498,   499,
1782 >     500,   501,   502,   503,   504,   505,   506,   714,  1143,  1144,
1783 >     507,   710,  1117,  1118,    30,    49,   328,   329,   330,   331,
1784 >     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
1785 >     342,   343,   344,   345,   587,  1016,  1017,    31,    57,   473,
1786 >     695,  1084,  1085,   474,   475,   476,  1090,   942,   943,   477,
1787 >     478,    32,    55,   451,   452,   453,   454,   455,   456,   457,
1788 >     682,  1072,  1073,   458,   459,   460,    33,    61,   512,   513,
1789 >     514,   515,   516,    34,   288,   289,   290,    35,    64,   550,
1790 >     551,   552,   553,   554,   758,  1162,  1163,    36,    65,   558,
1791 >     559,   560,   561,   764,  1176,  1177,    37,    50,   360,   361,
1792 >     362,   363,   364,   365,   366,   367,   368,   369,   607,  1042,
1793 >    1043,   370,   371,   372,   373,   374,    38,    56,   464,   465,
1794 >     466,   467,    39,    51,   378,   379,   380,   381,    40,   108,
1795 >     109,   110,    41,    53,   388,   389,   390,   391,    42,   161,
1796 >     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1797 >     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1798 >     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1799 >     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1800 >     202,   203,   204,   205,   206,   422,   905,   906,   207,   420,
1801 >     882,   883,   208,   209,   210,    43,    89,    90,    91,    92,
1802 >      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1803 >      44,   238,   239,   240,   241,   242,   243,   244,   245,   246
1804   };
1805  
1806   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1807     STATE-NUM.  */
1808 < #define YYPACT_NINF -745
1808 > #define YYPACT_NINF -910
1809   static const yytype_int16 yypact[] =
1810   {
1811 <    -745,   615,  -745,  -209,  -208,  -192,  -745,  -745,  -745,  -190,
1812 <    -745,  -183,  -745,  -745,  -745,  -169,  -167,  -745,  -745,  -144,
1813 <    -137,  -745,  -745,  -132,  -745,  -745,  -745,  -745,  -745,  -745,
1814 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1815 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,   292,   784,  -111,
1816 <    -102,   -93,    22,   -90,   389,   -80,   -74,   -72,    50,    15,
1817 <     -65,   -60,   299,   388,   -54,   -34,    18,  -176,   -58,   -32,
1818 <     -22,     3,  -745,  -745,  -745,  -745,  -745,   -15,    -9,    26,
1819 <      38,    67,    69,    75,    80,    82,    88,    90,    93,   100,
1820 <     107,   195,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1821 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,   569,   505,    13,
1822 <    -745,   115,    12,  -745,  -745,   258,  -745,   117,   122,   129,
1823 <     131,   140,   141,   144,   145,   146,   154,   155,   156,   159,
1824 <     161,   165,   166,   168,   170,   174,   175,   176,   177,   180,
1825 <     190,   194,   197,   199,   203,   204,  -745,   205,  -745,   206,
1826 <     209,   211,   212,   215,   219,   221,   224,   225,   229,   230,
1827 <     233,   234,   236,   237,   239,   240,    36,  -745,  -745,  -745,
1828 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1829 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1830 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1831 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1832 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,   343,    60,   284,
1833 <    -157,   241,    43,  -745,  -745,  -745,    66,   113,   242,   245,
1834 <      99,  -745,  -745,  -745,   348,    62,  -745,   249,   253,   264,
1835 <     266,   267,   271,    16,  -745,  -745,  -745,  -745,  -745,  -745,
1836 <    -745,   268,   273,   274,   280,   281,   285,   287,   290,   294,
1837 <     295,   296,   297,   306,   307,   308,   309,    74,  -745,  -745,
1838 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1839 <    -745,  -745,  -745,  -745,   220,   277,  -745,   310,    20,  -745,
1840 <    -745,  -745,   252,   370,   384,   302,  -745,   410,   430,   371,
1841 <     432,   432,   433,   434,   436,   379,   390,   453,   432,   395,
1842 <     396,   342,  -745,   345,   349,   350,   352,   354,   355,   357,
1843 <     360,   361,   362,   363,   365,   366,   369,   152,  -745,  -745,
1844 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1845 <    -745,  -745,   346,   372,   381,   385,   386,  -745,   392,   393,
1846 <     397,   400,   401,   405,   407,   408,   270,  -745,  -745,  -745,
1847 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1848 <    -745,  -745,   409,   413,    51,  -745,  -745,  -745,   445,   351,
1849 <    -745,  -745,   414,   417,  -745,  -745,     8,  -745,  -745,  -745,
1850 <     428,   432,   432,   502,   446,   447,   508,   495,   454,   432,
1851 <     461,   432,   528,   536,   537,   480,   485,   493,   432,   556,
1852 <     557,   432,   562,   563,   548,   567,   568,   512,   513,   456,
1853 <     519,   459,   432,   432,   521,   522,   523,   524,    14,    54,
1854 <     530,   532,   432,   432,   570,   432,   533,   535,   538,   474,
1855 <    -745,   481,   479,   483,  -745,   484,   488,   492,   498,   501,
1856 <     128,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1857 <    -745,   503,  -745,   506,  -745,    19,  -745,  -745,  -745,   514,
1858 <    -745,   515,   518,   520,  -745,   116,  -745,  -745,  -745,  -745,
1859 <    -745,   539,   516,  -745,   496,  -745,   602,   612,   526,  -745,
1860 <     527,   531,   534,  -745,   540,   544,   545,  -745,   553,   183,
1861 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   541,
1862 <     560,   561,   573,    11,  -745,  -745,  -745,  -745,   572,   575,
1863 <     621,   584,   585,   432,   542,  -745,  -745,   629,   586,   630,
1864 <     632,   636,   637,   663,   670,   112,   196,   684,   691,   674,
1865 <     696,   701,   605,  -745,   619,   617,  -745,   622,    59,  -745,
1866 <    -745,  -745,  -745,   627,   626,  -745,   110,  -745,  -745,  -745,
1867 <     719,   633,  -745,   635,   638,   639,  -745,   641,   642,   646,
1868 <     265,   647,   648,   649,   650,   651,   652,   653,   654,   655,
1869 <     657,   658,  -745,  -745,   771,   774,   432,   775,   776,   777,
1870 <     778,   761,   782,   783,   432,   785,   785,   669,  -745,  -745,
1871 <     768,   164,   769,   728,   671,   772,   773,   779,   780,   792,
1872 <     781,   786,   787,   680,  -745,   788,   789,   681,  -745,   685,
1873 <    -745,   790,   791,   683,   687,  -745,   695,   697,   698,   699,
1874 <     700,   702,   703,   704,   705,   706,   707,   708,   709,   710,
1875 <     711,   712,   713,   714,   715,   716,   717,   718,   720,   721,
1876 <     722,   723,   724,   725,   726,   600,   727,   628,   729,   730,
1877 <     731,   732,   733,   734,   735,   736,   737,   738,   739,   740,
1878 <     741,   742,   743,   744,   745,   746,   747,  -745,  -745,   798,
1879 <     803,   748,   816,   843,   846,   847,   849,   753,  -745,   851,
1880 <     752,   853,   757,  -745,  -745,   755,   856,   857,   876,   762,
1881 <    -745,   763,  -745,   187,   764,   765,  -745,  -745,   863,   822,
1882 <     766,   865,   867,   868,   770,   869,   793,  -745,  -745,   871,
1883 <     872,   873,   794,  -745,   795,   796,   797,   799,   800,   801,
1884 <    -745,   802,   804,   805,   806,   807,   808,   809,   810,  -745,
1885 <    -745,  -196,  -745,  -745,  -745,  -179,  -745,   811,   812,   813,
1886 <     814,   815,  -745,  -745,   874,   817,   875,   818,  -745,  -745,
1887 <     877,   819,   821,  -745,   823,  -745,  -745,  -745,  -745,  -745,
1888 <    -745,  -745,   432,   432,   432,   432,   432,  -745,  -745,  -745,
1889 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1890 <     824,   825,   826,   827,   828,   829,   830,   831,   832,   833,
1891 <     834,    79,   835,   836,  -745,   837,   838,   839,   840,   841,
1892 <      -1,   842,   844,   845,   848,   850,   852,   854,   855,  -745,
1893 <     858,   859,  -745,  -745,   860,   861,   878,  -745,  -745,  -745,
1894 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1895 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1896 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1897 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1898 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -178,  -745,  -745,
1899 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1900 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1901 <    -173,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1902 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1903 <    -745,   862,   864,   693,   866,   870,   879,   880,   881,  -745,
1904 <     882,   883,   884,  -745,   -36,   885,   886,   894,   887,  -745,
1905 <    -745,  -745,   888,   889,  -745,   890,    86,  -745,  -745,  -745,
1906 <    -745,  -745,  -745,   895,   896,   517,   897,   898,   899,   656,
1907 <     900,  -745,   901,   902,   903,  -745,  -745,  -745,  -745,  -745,
1908 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1909 <    -745,   112,  -745,   196,  -745,  -745,  -745,  -745,  -745,   904,
1910 <     464,   905,  -745,   906,   529,  -745,  -745,  -745,  -745,  -745,
1911 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1912 <    -745,  -745,  -745,   785,   785,   785,  -745,  -745,  -745,  -745,
1913 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -168,  -745,  -745,
1914 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1915 <    -745,  -745,  -160,  -745,  -745,   600,  -745,   628,  -745,  -745,
1916 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -159,
1917 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   -57,  -745,
1918 <    -745,  -745,  -745,  -745,   -38,  -745,  -745,  -745,   907,   876,
1919 <     908,  -745,   913,   891,   -88,   909,  -745,  -745,  -745,  -745,
1920 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1921 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    -7,  -745,
1922 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1923 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1924 <    -745,  -745,  -745,    63,  -745,  -745,  -745,  -745,  -745,  -745,
1925 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1926 <    -745,  -745,    94,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1927 <    -745,  -745,  -745,  -745,  -745,  -745,   101,  -745,  -745,  -745,
1928 <    -745,  -745,    -1,  -745,   878,  -745,  -745,  -745,   693,  -745,
1929 <     883,  -745,   -36,  -745,  -745,  -745,   910,   403,   911,   912,
1930 <    -745,  -745,   517,  -745,   656,  -745,   464,  -745,   529,  -745,
1931 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1932 <    -745,  -745,   104,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1933 <    -745,   403,  -745
1811 >    -910,   603,  -910,  -199,  -218,  -216,  -910,  -910,  -910,  -192,
1812 >    -910,  -189,  -910,  -910,  -910,  -151,  -149,  -910,  -910,  -137,
1813 >    -130,  -910,  -910,  -125,  -910,  -910,  -910,  -910,  -910,  -910,
1814 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1815 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,   366,   848,  -113,
1816 >     -68,   -54,    11,   -41,   331,   -33,   -22,    -9,    61,    57,
1817 >      -7,    -1,   679,   370,     1,    21,     8,   -99,    -5,    22,
1818 >      47,    18,  -910,  -910,  -910,  -910,  -910,    63,    79,    80,
1819 >      83,    90,    91,    92,    93,    94,    95,    97,    98,   191,
1820 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1821 >    -910,  -910,  -910,   629,   506,    29,  -910,    99,    35,  -910,
1822 >    -910,   107,  -910,   104,   105,   109,   112,   118,   128,   129,
1823 >     131,   134,   138,   139,   144,   146,   150,   154,   155,   156,
1824 >     158,   159,   161,   162,   164,   169,   172,   174,   176,   177,
1825 >     178,  -910,   180,  -910,   182,   183,   184,   185,   187,   193,
1826 >     197,   198,   201,   202,   203,   207,   208,   209,   213,   215,
1827 >     219,   117,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1828 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1829 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1830 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1831 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1832 >    -910,   444,    51,   288,    64,   222,    27,  -910,  -910,  -910,
1833 >     120,   194,   225,   231,    60,  -910,  -910,  -910,   498,   330,
1834 >    -910,   233,   235,   239,   240,   241,   243,   247,    14,  -910,
1835 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,   217,   248,   249,
1836 >     250,   251,   253,   254,   255,   257,   258,   260,   261,   262,
1837 >     264,   271,   277,   282,   284,   214,  -910,  -910,  -910,  -910,
1838 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1839 >    -910,  -910,  -910,  -910,    17,    13,  -910,   289,    43,  -910,
1840 >    -910,  -910,   218,   347,   389,   293,  -910,   147,   411,   353,
1841 >     413,   413,   414,   415,   417,   360,   363,   423,   413,   308,
1842 >    -910,   312,   311,   313,   319,  -910,   322,   323,   324,   328,
1843 >     329,   332,   334,   335,   336,   340,   344,   349,    10,  -910,
1844 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1845 >    -910,  -910,  -910,  -910,  -910,  -910,   315,   350,   352,   354,
1846 >     356,  -910,   357,   358,   359,   364,   367,   368,   369,   371,
1847 >      75,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1848 >    -910,  -910,  -910,  -910,  -910,  -910,   372,   374,    40,  -910,
1849 >    -910,  -910,   431,   379,  -910,  -910,   382,   384,    69,  -910,
1850 >    -910,  -910,   407,   413,   413,   472,   445,   446,   513,   488,
1851 >     455,   413,   459,   413,   519,   520,   522,   467,   468,   469,
1852 >     413,   529,   530,   413,   531,   533,   534,   535,   479,   482,
1853 >     426,   483,   428,   413,   413,   489,   491,   494,   495,  -117,
1854 >    -101,   496,   497,   413,   413,   539,   413,   500,   503,   504,
1855 >     448,  -910,   449,   447,   453,  -910,   458,   461,   463,   465,
1856 >     466,    23,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1857 >    -910,  -910,   470,   473,    86,  -910,  -910,  -910,   451,  -910,
1858 >     475,   476,   477,  -910,    20,  -910,  -910,  -910,  -910,  -910,
1859 >     515,   462,  -910,   480,  -910,   569,   570,   484,  -910,   493,
1860 >     502,   505,  -910,   514,   516,   521,  -910,   524,   238,  -910,
1861 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,   501,   527,
1862 >     542,   543,    26,  -910,  -910,  -910,  -910,   540,   548,   583,
1863 >     553,   554,   563,   413,   507,  -910,  -910,   614,   575,   637,
1864 >     638,   621,   623,   631,   632,   650,   657,    48,    59,   658,
1865 >     660,   653,   666,   668,   566,  -910,   573,   571,  -910,   574,
1866 >      31,  -910,  -910,  -910,  -910,   576,   577,  -910,    34,  -910,
1867 >    -910,  -910,   676,   579,  -910,   582,   592,   596,  -910,   605,
1868 >     607,   610,   619,   611,   625,   626,   634,   636,   640,   642,
1869 >     643,   644,  -910,  -910,   699,   719,   413,   618,   748,   762,
1870 >     766,   767,   413,   413,   750,   769,   771,   413,   772,   772,
1871 >     659,  -910,  -910,   755,   119,   756,   718,   670,   773,   774,
1872 >     775,   777,   787,   778,   779,   780,   674,  -910,   781,   782,
1873 >     685,  -910,   686,  -910,   785,   786,   689,  -910,   690,   691,
1874 >     692,   693,   696,   697,   698,   700,   701,   705,   706,   707,
1875 >     708,   709,   710,   711,   712,   713,   714,   715,   716,   717,
1876 >     720,   721,   722,   723,   724,   725,   598,   726,   664,   727,
1877 >     730,   731,   732,   733,   734,   735,   736,   737,   738,   739,
1878 >     740,   743,   744,   745,   746,   747,   749,   751,  -910,  -910,
1879 >     797,   776,   752,   816,   864,   850,   851,   852,   757,  -910,
1880 >     854,   856,   759,  -910,  -910,   758,   858,   860,   866,   763,
1881 >    -910,   764,  -910,   165,   765,   768,  -910,  -910,   865,   823,
1882 >     770,   867,   868,   869,   783,   870,   784,  -910,  -910,   872,
1883 >     873,   874,   788,  -910,   789,   790,   791,   792,   793,   794,
1884 >     795,  -910,   796,   798,   799,   800,   801,   802,   803,   804,
1885 >     805,   806,  -910,  -910,  -217,  -910,  -910,  -910,  -208,  -910,
1886 >     807,   808,   809,   810,   811,  -910,  -910,   875,   812,   876,
1887 >     813,  -910,  -910,   877,   814,   818,  -910,   819,  -910,  -910,
1888 >    -910,  -910,  -910,  -910,  -910,   413,   413,   413,   413,   413,
1889 >     413,   413,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1890 >    -910,  -910,  -910,   820,   821,   822,   116,   824,   825,   826,
1891 >     827,   828,   829,   830,   831,   832,   833,    28,   834,   835,
1892 >    -910,   836,   837,   838,   839,   840,    -2,   841,   842,   843,
1893 >     844,   845,   846,   847,   849,  -910,   853,   855,  -910,  -910,
1894 >     857,   859,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1895 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1896 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1897 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1898 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1899 >    -910,  -910,  -205,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1900 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1901 >    -910,  -910,  -910,  -910,  -910,  -171,  -910,  -910,  -910,  -910,
1902 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1903 >    -910,  -910,  -910,  -910,  -910,  -910,   861,   862,   518,   863,
1904 >     871,   878,   879,   880,  -910,   881,   882,  -910,    -8,   883,
1905 >     884,   901,   885,  -910,  -910,  -910,   886,   887,  -910,   888,
1906 >      32,  -910,  -910,  -910,  -910,  -910,  -910,   892,   893,   485,
1907 >     894,   895,   896,   635,   897,  -910,   898,   899,   900,  -910,
1908 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1909 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,    48,  -910,
1910 >      59,  -910,  -910,  -910,  -910,  -910,   902,   388,   903,  -910,
1911 >     904,   682,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1912 >    -910,  -910,  -910,  -910,  -910,  -910,  -168,  -910,  -910,  -910,
1913 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,   772,   772,
1914 >     772,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1915 >    -910,  -910,  -150,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1916 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,   598,  -910,   664,
1917 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1918 >    -910,  -910,  -142,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1919 >    -910,  -910,  -910,  -910,  -140,  -910,  -910,  -910,   913,   866,
1920 >     905,  -910,   910,   906,   -60,   907,  -910,  -910,  -910,  -910,
1921 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1922 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,   -65,  -910,  -910,
1923 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1924 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1925 >    -910,  -910,  -910,   -51,  -910,  -910,  -910,  -910,  -910,  -910,
1926 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1927 >    -910,  -910,   -14,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1928 >    -910,  -910,  -910,  -910,  -910,  -910,    -4,  -910,  -910,   116,
1929 >    -910,  -910,  -910,  -910,    -2,  -910,  -910,  -910,   518,  -910,
1930 >      -8,  -910,  -910,  -910,   908,   246,   911,   912,  -910,  -910,
1931 >     485,  -910,   635,  -910,   388,  -910,   682,  -910,  -910,  -910,
1932 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,    39,
1933 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,   246,  -910
1934   };
1935  
1936   /* YYPGOTO[NTERM-NUM].  */
1937   static const yytype_int16 yypgoto[] =
1938   {
1939 <    -745,  -745,  -745,  -744,  -298,  -659,  -595,  -745,  -745,   767,
1940 <    -745,  -745,  -745,  -745,   750,  -745,  -745,  -745,    17,  -745,
1941 <      10,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1942 <    -745,  -745,  -745,  -745,  -745,  -745,   924,  -745,  -745,  -745,
1943 <    -745,  -745,   914,  -745,  -745,  -745,  -745,    53,  -745,  -745,
1944 <    -745,  -745,  -745,  -225,  -745,  -745,  -745,   504,  -745,  -745,
1945 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -193,  -745,  -745,
1946 <    -745,  -188,  -745,  -745,  -745,   675,  -745,  -745,  -745,  -745,
1947 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1948 <    -745,  -745,  -745,  -745,  -170,  -745,   558,  -745,  -745,  -745,
1949 <     -48,  -745,  -745,  -745,  -745,  -745,   610,  -745,  -745,  -745,
1950 <    -745,  -745,  -745,  -745,  -117,  -745,  -745,  -745,  -745,  -745,
1951 <    -745,   550,  -745,  -745,  -745,  -745,  -745,   892,  -745,  -745,
1952 <    -745,  -745,   543,  -745,  -745,  -745,  -745,  -745,  -131,  -745,
1953 <    -745,  -745,   511,  -745,  -745,  -745,  -745,  -128,  -745,  -745,
1954 <    -745,   820,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1955 <    -745,  -745,  -101,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1956 <    -745,  -745,  -745,  -103,  -745,   614,  -745,  -745,  -745,  -745,
1957 <    -745,   754,  -745,  -745,  -745,  -745,   969,  -745,  -745,  -745,
1958 <    -745,  -745,  -745,   -92,  -745,   749,  -745,  -745,  -745,  -745,
1959 <     917,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1960 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1961 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1962 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1963 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    39,  -745,
1964 <    -745,  -745,    40,  -745,  -745,  -745,  -745,  -745,   996,  -745,
1965 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1966 <    -745,  -745,  -745,  -745,  -745,   915,  -745,  -745,  -745,  -745,
1951 <    -745,  -745
1939 >    -910,  -910,  -910,   110,  -298,  -909,  -598,  -910,  -910,   914,
1940 >    -910,  -910,  -910,  -910,   741,  -910,  -910,  -910,    15,  -910,
1941 >      12,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1942 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,   930,  -910,
1943 >    -910,  -910,  -910,  -910,   890,  -910,  -910,  -910,  -910,    54,
1944 >    -910,  -910,  -910,  -910,  -910,  -220,  -910,  -910,  -910,   537,
1945 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -165,
1946 >    -910,  -910,  -910,  -156,  -910,  -910,  -910,   753,  -910,  -910,
1947 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1948 >    -910,  -910,  -910,  -910,  -910,  -910,  -108,  -910,  -910,  -910,
1949 >    -910,  -910,  -118,  -910,   599,  -910,  -910,  -910,   -12,  -910,
1950 >    -910,  -910,  -910,  -910,   624,  -910,  -910,  -910,  -910,  -910,
1951 >    -910,  -910,  -109,  -910,  -910,  -910,  -910,  -910,  -910,   578,
1952 >    -910,  -910,  -910,  -910,  -910,   889,  -910,  -910,  -910,  -910,
1953 >     536,  -910,  -910,  -910,  -910,  -910,  -119,  -910,  -910,  -910,
1954 >     538,  -910,  -910,  -910,  -910,  -115,  -910,  -910,  -910,   728,
1955 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1956 >     -97,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,   630,
1957 >    -910,  -910,  -910,  -910,  -910,   761,  -910,  -910,  -910,  -910,
1958 >     981,  -910,  -910,  -910,  -910,   754,  -910,  -910,  -910,  -910,
1959 >     932,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1960 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1961 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1962 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1963 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,    36,  -910,  -910,
1964 >    -910,    41,  -910,  -910,  -910,  -910,  -910,  1008,  -910,  -910,
1965 >    -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
1966 >    -910,  -910,   909,  -910,  -910,  -910,  -910,  -910,  -910,  -910
1967   };
1968  
1969   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1970     positive, shift that token.  If negative, reduce the rule which
1971     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1972 < #define YYTABLE_NINF -108
1972 > #define YYTABLE_NINF -114
1973   static const yytype_int16 yytable[] =
1974   {
1975 <     802,   803,   571,   572,    67,    45,    46,  1025,    47,   381,
1976 <     579,   801,   509,   110,   371,  1071,   227,   236,   980,   286,
1977 <     460,   286,   981,   110,    48,   510,    52,    68,   997,   998,
1978 <     999,  1000,  1001,    54,    69,   982,  1044,   116,   291,   983,
1979 <    1045,  1046,   117,   118,   220,  1047,  1171,    58,   119,    59,
1980 <    1172,   220,   371,   237,  1173,  1177,   120,   480,  1174,  1178,
1981 <     544,   460,   121,   509,   122,   123,   124,   238,   239,   240,
1982 <     241,   125,    62,   111,   372,   251,   510,   126,   127,    63,
1983 <     128,   129,   130,   111,    66,   242,   131,   942,  1013,  1014,
1984 <    1015,   132,    70,   627,   628,   133,   134,   382,   252,   135,
1985 <     227,   635,   228,   637,   511,   107,  1188,   287,   136,   287,
1986 <     644,   553,   372,   647,   108,   137,   138,   469,   139,   140,
1987 <     141,   142,   143,   109,   658,   659,   115,   383,   229,   441,
1988 <     512,   253,   373,   144,   670,   671,   217,   673,   461,   145,
1989 <     146,   147,   218,   148,   219,   442,   149,   150,   545,  1072,
1990 <     151,   234,   470,   313,  1073,   511,   235,  1179,   384,   292,
1991 <     443,  1180,   284,   254,   444,   255,   256,   314,   315,   462,
1992 <     373,   316,   471,   664,   665,   943,  1181,   472,   801,   461,
1993 <    1182,   512,   285,   152,   490,   293,   228,   153,   942,  1026,
1994 <     154,   155,   156,   157,   158,   294,    76,   159,   160,   554,
1995 <     491,   257,   297,   258,   259,   260,   261,  1191,   298,   546,
1996 <     462,  1192,   229,   666,   667,   492,    77,    78,   295,   493,
1997 <     262,   544,    79,   624,   463,   729,   722,   379,   317,   318,
1998 <     319,   524,   473,   320,   692,   561,   944,   161,   162,   163,
1999 <     445,   321,   164,   299,   263,   739,   740,   165,   446,   447,
2000 <     221,   439,   322,   323,   264,   300,  -107,   221,   482,   381,
2001 <     555,    80,    81,  -107,   547,   463,   617,   324,    82,    83,
2002 <      84,   342,   494,   343,   757,   344,   943,  1193,   553,   484,
2003 <     448,  1194,   265,   266,   301,   469,   302,   345,   792,   542,
2004 <      85,    86,   303,    67,   325,   495,   800,   304,   945,   305,
2005 <     236,  1085,   346,    87,    88,   306,   347,   307,  1195,   545,
2006 <     308,   496,  1196,    89,   488,  1197,    68,   309,  1220,  1198,
2007 <     470,    90,  1221,    69,   310,   762,   348,   485,   349,   743,
2008 <     744,   699,   378,   449,   390,   326,   237,   944,   350,   391,
2009 <     471,   806,   807,   687,   441,   472,   392,   382,   393,   490,
2010 <     238,   239,   240,   241,  1168,  1169,  1170,   394,   395,   351,
2011 <     442,   396,   397,   398,   570,   491,   554,   597,   242,   563,
2012 <     546,   399,   400,   401,   497,   443,   402,   383,   403,   444,
2013 <     492,    70,   404,   405,   493,   406,   352,   407,   498,   251,
2014 <     116,   408,   409,   410,   411,   117,   118,   412,   716,   945,
2015 <     473,   119,   772,   773,   774,   775,   776,   413,   384,   120,
2016 <     311,   414,   252,   353,   415,   121,   416,   122,   123,   124,
2017 <     417,   418,   420,   422,   125,   547,   423,   555,   424,   425,
2018 <     126,   127,   426,   128,   129,   130,   427,   494,   428,   131,
2019 <     354,   429,   430,  1205,   132,   253,   431,   432,   133,   134,
2020 <     433,   434,   135,   435,   436,   445,   437,   438,   481,   486,
2021 <     495,   136,   487,   446,   447,  1206,   518,  1207,   137,   138,
2022 <     519,   139,   140,   141,   142,   143,   496,   254,   355,   255,
2023 <     256,   520,   526,   521,   522,   613,   144,   564,   523,  1189,
2024 <     527,   528,   145,   146,   147,   448,   148,   529,   530,   149,
2025 <     150,   565,   531,   151,   532,  1208,   342,   533,   343,   567,
2026 <     344,   534,   535,   536,   537,   257,   566,   258,   259,   260,
2027 <     261,  1089,   345,   538,   539,   540,   541,   560,  1142,   568,
2028 <     569,   570,   573,   574,   262,   575,   152,   346,   576,   497,
2029 <     153,   347,  1090,   154,   155,   156,   157,   158,   449,   577,
2030 <     159,   160,   578,   498,   580,   581,   582,  1091,   263,   583,
2031 <     599,   348,   619,   349,  1092,   620,   584,   585,   264,   586,
2032 <     313,   587,   588,   350,   589,  1209,  1210,   590,   591,   592,
2033 <     593,  1093,   594,   595,   314,   315,   596,   626,   316,   600,
2034 <     161,   162,   163,  1156,   351,   164,   265,   266,   601,  1143,
2035 <     165,   629,   602,   603,  1094,   630,   631,   632,  1211,   605,
2036 <     606,  1095,   633,   634,   607,     2,     3,   608,   609,     4,
2037 <     636,   352,   610,  1096,   611,   612,   615,   638,  1144,     5,
2038 <     616,   621,     6,     7,   622,   639,   640,  1145,     8,   641,
2039 <    1097,  1098,  1099,  1146,   642,   317,   318,   319,   353,     9,
2040 <     320,   857,   643,    10,    11,   645,   646,  1147,   321,  1148,
2041 <    1149,   648,   649,    12,  1157,   650,   651,   652,  1150,   322,
2042 <     323,   653,   654,   655,  1151,   354,   657,    13,   656,   880,
2043 <     660,   661,   662,   663,   324,    14,    15,   672,   677,   668,
2044 <    1100,   669,   674,  1158,   675,   678,   679,   676,   701,  1101,
2045 <     680,   682,  1159,    16,  1102,   683,  1050,  1113,  1160,   684,
2046 <    1103,   325,   703,   355,  1104,   685,  1105,    17,   686,   704,
2047 <     689,  1106,  1161,   691,  1162,  1163,  1051,  1107,   694,   705,
2048 <     702,   724,   696,  1164,   725,   697,  1052,   698,   726,  1165,
2049 <     706,   707,  1053,   727,   728,   732,   731,   733,   708,   734,
2050 <      18,   709,   326,   735,   736,   718,   730,   711,  1054,    19,
2051 <      20,   712,   713,    21,    22,   858,   859,   860,   861,   862,
2052 <     715,   863,   864,   749,   865,   866,   867,   719,   720,   868,
2053 <     737,   869,   870,  1055,   871,    76,   872,   738,   873,   874,
2054 <     721,  1056,   875,   881,   882,   883,   884,   885,   876,   886,
2055 <     887,   747,   888,   889,   890,    77,    78,   891,   748,   892,
2056 <     893,    79,   894,   750,   895,    23,   896,   897,   751,   752,
2057 <     898,  1114,  1115,  1116,  1117,  1118,   899,  1119,  1120,  1057,
2058 <    1121,  1122,  1123,   753,   754,  1124,   764,  1125,  1126,   756,
2059 <    1127,   759,  1128,   760,  1129,  1130,  1058,   765,  1131,   766,
2060 <      80,    81,   767,   768,  1132,   769,   770,    82,    83,    84,
2061 <     771,   779,   780,   781,   782,   783,   784,   785,   786,   787,
2062 <     790,   788,   789,   791,   793,   794,   795,   796,   797,    85,
2063 <      86,   798,   799,   804,   801,   805,   808,   809,   810,   811,
2064 <     812,   815,    87,    88,   819,   822,   813,   814,   816,   823,
2065 <     826,   827,    89,   817,   818,   820,   821,   824,   825,   828,
2066 <      90,   829,   830,   831,   832,   921,   833,   834,   835,   836,
2067 <     837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
2068 <     847,   848,   849,   924,   850,   851,   852,   853,   854,   855,
2069 <     856,   879,   925,   902,   903,   904,   905,   906,   907,   908,
2070 <     909,   910,   911,   912,   913,   914,   915,   916,   917,   918,
2071 <     919,   920,   922,   926,   927,   923,   928,   929,   930,   931,
2072 <     932,   933,   934,   935,   936,   937,   940,   941,   951,   952,
2073 <     953,   954,   956,   955,   957,   958,   960,   959,   962,   963,
2074 <     964,   989,   991,  1140,   993,   296,  1222,   489,  1139,  1086,
2075 <    1041,  1217,   598,   717,  1216,  1067,  1183,   961,   965,   966,
2076 <     967,   968,  1203,   969,   970,   971,   972,   543,   973,   974,
2077 <     975,   976,   977,   978,   979,   984,   985,   986,   987,   988,
2078 <    1186,  1184,   992,   700,   990,   995,   994,   996,  1002,  1003,
2079 <    1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,  1012,  1018,
2080 <    1019,  1020,  1021,  1022,  1023,  1024,  1029,  1078,  1030,  1031,
2081 <     688,  1201,  1032,   723,  1033,  1218,  1034,   763,  1035,  1036,
2082 <    1219,  1199,  1037,  1038,  1039,  1040,  1048,  1202,  1049,   693,
2083 <    1061,   380,  1200,   440,  1062,  1175,  1176,   312,     0,     0,
2084 <       0,   758,     0,  1063,  1064,  1065,  1066,     0,  1070,  1076,
2085 <    1077,     0,  1081,     0,     0,  1079,  1082,  1084,  1187,  1087,
2086 <    1088,  1110,  1111,  1112,  1135,  1136,  1137,  1138,  1141,  1154,
2087 <    1155,     0,  1185,  1190,  1204,  1214,  1215,     0,   618,     0,
2088 <       0,     0,     0,     0,     0,   625,   483,     0,     0,     0,
1975 >     808,   809,   573,   574,   987,    47,  1040,    48,   988,   286,
1976 >     581,   311,   106,   989,   555,   230,  1056,   990,   546,    67,
1977 >    1057,   468,    45,    46,   442,   312,   313,   508,   214,   314,
1978 >     375,    52,   546,   946,    54,   555,   106,  1028,  1029,  1030,
1979 >     443,   375,    68,  1081,   286,   807,   315,   665,   666,    69,
1980 >    1058,   231,   461,  1178,  1059,   444,   469,  1179,   221,   445,
1981 >     509,   221,   214,   667,   668,   232,   233,   234,   235,   236,
1982 >     385,  1183,    58,   107,    59,  1184,   346,   470,   347,  1187,
1983 >     348,  1189,   471,  1188,   237,  1190,    62,   461,   316,   317,
1984 >     318,   376,   349,    63,   319,   629,   630,   107,    66,   510,
1985 >     320,   321,   376,   637,   287,   639,   322,   350,   385,   556,
1986 >     103,   351,   646,   547,    70,   649,   323,   324,   112,  1180,
1987 >    1181,  1182,   291,   113,   114,   659,   660,   547,   947,   115,
1988 >     556,   325,   352,   807,   353,   671,   672,   116,   674,   287,
1989 >    1196,   446,   472,   117,   354,   118,   119,   120,   447,   448,
1990 >     511,   222,   121,   377,   222,   104,  1199,   326,   122,   123,
1991 >    1200,   124,   125,   126,   377,   386,   946,   127,   557,   105,
1992 >    1201,   355,   548,   128,  1202,   462,   223,   129,   130,   223,
1993 >     449,   131,   111,  1082,   742,   743,   548,   948,  1083,   557,
1994 >     211,   132,    76,   387,  1041,   746,   747,   356,   133,   327,
1995 >     134,   212,   135,   386,   136,   137,   138,  1203,  1014,  1015,
1996 >     462,  1204,    77,    78,   213,   247,   228,  1205,    79,   292,
1997 >     139,  1206,   229,   357,   284,   730,   140,   141,   142,   549,
1998 >     143,   387,   600,   144,   145,   450,   524,   146,   248,   489,
1999 >     295,   215,   699,   549,   285,   688,   293,  -113,   722,   481,
2000 >     358,   949,   569,   760,  1095,   490,   765,   383,    80,    81,
2001 >    1227,   947,   620,   463,  1228,   563,    82,    83,    84,   147,
2002 >     491,   294,   249,   148,   492,   215,   149,   150,   151,   152,
2003 >     153,  -113,   487,   154,   155,   479,  1212,   297,   795,   468,
2004 >     359,   626,    85,    86,   801,   802,   250,   616,   463,   806,
2005 >     251,   812,   813,   298,   299,    87,    88,   300,   692,  1213,
2006 >     252,  1214,   253,   254,   301,   302,   303,   304,   305,   306,
2007 >     948,   307,   308,   382,   469,   156,   157,   158,   392,   393,
2008 >     159,   508,   112,   394,   493,   160,   395,   113,   114,   440,
2009 >     483,   565,   396,   115,   255,   470,   256,   257,   258,   259,
2010 >     471,   116,   397,   398,  1215,   399,   494,   117,   400,   118,
2011 >     119,   120,   401,   402,   509,   260,   121,    67,   403,   495,
2012 >     404,   247,   122,   123,   405,   124,   125,   126,   406,   407,
2013 >     408,   127,   409,   410,   949,   411,   412,   128,   413,   261,
2014 >      68,   129,   130,   414,   248,   131,   415,    69,   416,   262,
2015 >     417,   418,   419,   510,   421,   132,   423,   424,   425,   426,
2016 >     472,   427,   133,   309,   134,   484,   135,   428,   136,   137,
2017 >     138,   429,   430,  1216,  1217,   431,   432,   433,   249,   263,
2018 >     264,   434,   435,   436,   139,   496,   544,   437,   526,   438,
2019 >     140,   141,   142,   439,   143,   442,   480,   144,   145,   485,
2020 >     497,   146,   250,  1152,   511,   486,   251,   517,  1218,   518,
2021 >     716,   443,    70,   519,   520,   521,   252,   522,   253,   254,
2022 >     566,   523,   527,   528,   529,   530,   444,   531,   532,   533,
2023 >     445,   534,   535,   147,   536,   537,   538,   148,   539,  1099,
2024 >     149,   150,   151,   152,   153,   540,  1197,   154,   155,   489,
2025 >     255,   541,   256,   257,   258,   259,   542,   346,   543,   347,
2026 >    1100,   348,   567,   562,   568,   490,   570,   571,   572,   575,
2027 >     576,   260,   577,   349,   578,  1101,  1153,   579,   580,   582,
2028 >     491,  1062,  1102,   583,   492,   584,   602,   585,   350,   156,
2029 >     157,   158,   351,   586,   159,   261,   588,   589,   590,   160,
2030 >    1103,  1063,   591,   592,   622,   262,   593,  1154,   594,   595,
2031 >     596,  1064,   446,   352,   597,   353,  1155,  1065,   598,   447,
2032 >     448,   628,  1156,   599,   603,   354,   604,   631,   605,  1104,
2033 >     606,   608,   609,   610,  1066,   263,   264,  1157,   611,  1158,
2034 >    1159,   612,   613,   614,   493,   615,   618,  1105,   619,  1160,
2035 >     623,   449,   355,     2,     3,  1161,   624,     4,   625,   632,
2036 >     633,   635,  1106,  1107,  1108,  1067,   494,     5,   634,   636,
2037 >       6,     7,  1068,   638,   640,   641,     8,   642,   356,   495,
2038 >     311,   643,   644,   645,   647,   648,   650,     9,   651,   652,
2039 >     653,    10,    11,   654,   312,   313,   655,   657,   314,   861,
2040 >     656,    12,   658,   661,   357,   662,   450,  1069,   663,   664,
2041 >     669,   670,   673,  1109,   675,   315,    13,   676,   677,   678,
2042 >     679,   680,   694,  1110,    14,    15,  1070,   681,  1111,   701,
2043 >     230,   358,   683,   702,  1112,   684,  1122,   685,  1113,   686,
2044 >     687,  1114,   704,   705,   690,   496,  1115,   691,    16,   696,
2045 >     697,   698,  1116,   703,   724,   706,   726,   316,   317,   318,
2046 >     497,    17,   725,   319,   707,   885,   231,   727,   728,   320,
2047 >     321,   359,   718,  1071,   572,   322,   708,   729,   731,   709,
2048 >     232,   233,   234,   235,   236,   323,   324,   732,   711,   733,
2049 >     712,    18,   734,   735,   736,   713,   737,  1166,   715,   237,
2050 >     325,   719,    19,    20,   738,   739,    21,    22,   752,   775,
2051 >     776,   777,   778,   779,   780,   781,   720,   721,   862,   863,
2052 >     864,   865,   866,   740,   867,   868,   326,   869,   870,   871,
2053 >     741,   750,   872,   751,   873,   874,   875,   755,   876,   753,
2054 >     877,   754,   878,   879,   756,   757,   880,   762,   759,   767,
2055 >     768,   763,   881,   769,   793,  1123,  1124,  1125,  1126,  1127,
2056 >      23,  1128,  1129,   770,  1130,  1131,  1132,   771,   327,  1133,
2057 >    1167,  1134,  1135,  1136,   794,  1137,   772,  1138,   773,  1139,
2058 >    1140,   774,   784,  1141,   886,   887,   888,   889,   890,  1142,
2059 >     891,   892,   796,   893,   894,   895,   785,   786,   896,    76,
2060 >     897,  1168,   898,   797,   899,   787,   900,   788,   901,   902,
2061 >    1169,   789,   903,   790,   791,   792,  1170,   798,   904,    77,
2062 >      78,   799,   800,   803,   804,    79,   805,   807,   811,   814,
2063 >     810,  1171,   815,  1172,  1173,  1004,  1005,  1006,  1007,  1008,
2064 >    1009,  1010,   821,  1174,   816,   825,   817,   818,   819,  1175,
2065 >     820,   822,   823,   824,   826,   827,   828,   829,   830,   831,
2066 >     832,   833,   834,   835,   836,    80,    81,   837,   838,   839,
2067 >     926,   840,   841,    82,    83,    84,   842,   843,   844,   845,
2068 >     846,   847,   848,   849,   850,   851,   852,   853,   854,   929,
2069 >     927,   855,   856,   857,   858,   859,   860,   884,   907,    85,
2070 >      86,   908,   909,   910,   911,   912,   913,   914,   915,   916,
2071 >     917,   918,    87,    88,   919,   920,   921,   922,   923,   930,
2072 >     924,   941,   925,   931,   932,   933,   928,   935,   934,   936,
2073 >     937,   939,   938,   940,   944,   945,   955,   958,   957,   956,
2074 >     960,   961,   962,   964,   959,   966,   967,   968,   996,   998,
2075 >    1000,   296,  1150,  1149,  1096,   965,   545,   963,  1229,   969,
2076 >     970,   971,   972,   973,   974,   975,   976,   977,  1191,   978,
2077 >     979,   980,   981,   982,   983,   984,   985,   986,   991,   992,
2078 >     993,   994,   995,  1194,   999,   717,   997,  1224,  1001,  1002,
2079 >    1003,  1011,  1012,  1013,  1223,  1018,  1019,  1020,  1021,  1022,
2080 >    1023,  1024,  1025,  1026,  1027,  1033,  1034,  1035,  1036,  1037,
2081 >    1038,  1039,  1044,  1045,  1046,  1047,  1048,  1049,  1050,  1088,
2082 >    1051,  1207,  1210,   700,  1052,   689,  1053,  1192,  1054,  1209,
2083 >    1055,   601,  1060,  1061,  1074,  1225,   761,  1208,   617,   384,
2084 >     723,  1226,  1075,   441,   693,  1186,   766,   310,  1185,  1076,
2085 >    1077,  1078,  1079,  1080,  1086,  1087,   482,  1091,     0,     0,
2086 >    1089,  1092,  1094,  1097,  1098,  1119,  1120,  1121,  1145,  1146,
2087 >    1147,  1148,     0,  1151,  1164,  1165,  1193,     0,  1198,  1211,
2088 >    1195,     0,  1221,  1222,     0,     0,     0,     0,   488,   621,
2089 >       0,     0,   627,     0,     0,     0,     0,   525,     0,     0,
2090         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2075       0,     0,     0,     0,     0,     0,     0,     0,   525,     0,
2091         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2092 <       0,     0,     0,     0,     0,     0,   614,     0,     0,     0,
2078 <     562
2092 >       0,     0,     0,     0,     0,     0,     0,   564
2093   };
2094  
2095   #define yypact_value_is_default(Yystate) \
2096 <  (!!((Yystate) == (-745)))
2096 >  (!!((Yystate) == (-910)))
2097  
2098   #define yytable_value_is_error(Yytable_value) \
2099    YYID (0)
2100  
2101   static const yytype_int16 yycheck[] =
2102   {
2103 <     595,   596,   300,   301,     1,   214,   215,     8,   216,     1,
2104 <     308,    99,     1,     1,     1,    51,     1,     1,   214,     1,
2105 <       1,     1,   218,     1,   216,    14,   216,    24,   772,   773,
2106 <     774,   775,   776,   216,    31,   214,   214,     1,   214,   218,
2107 <     218,   214,     6,     7,     1,   218,   214,   216,    12,   216,
2108 <     218,     1,     1,    37,   214,   214,    20,   214,   218,   218,
2109 <       1,     1,    26,     1,    28,    29,    30,    51,    52,    53,
2110 <      54,    35,   216,    61,    61,     1,    14,    41,    42,   216,
2111 <      44,    45,    46,    61,   216,    69,    50,     1,     9,    10,
2112 <      11,    55,    89,   391,   392,    59,    60,    89,    24,    63,
2113 <       1,   399,    87,   401,    93,   216,   194,    89,    72,    89,
2114 <     408,     1,    61,   411,   216,    79,    80,     1,    82,    83,
2115 <      84,    85,    86,   216,   422,   423,   216,   119,   113,     1,
2116 <     119,    57,   119,    97,   432,   433,   216,   435,   119,   103,
2117 <     104,   105,   216,   107,   216,    17,   110,   111,    89,   185,
2118 <     114,   216,    36,     1,   190,    93,   216,   214,   150,   217,
2119 <      32,   218,   216,    89,    36,    91,    92,    15,    16,   150,
2120 <     119,    19,    56,   159,   160,    89,   214,    61,    99,   119,
2121 <     218,   119,   216,   147,     1,   217,    87,   151,     1,   190,
2122 <     154,   155,   156,   157,   158,   217,     1,   161,   162,    89,
2123 <      17,   127,   217,   129,   130,   131,   132,   214,   217,   150,
2124 <     150,   218,   113,   159,   160,    32,    21,    22,   215,    36,
2125 <     146,     1,    27,   215,   205,   523,   215,   215,    76,    77,
2126 <      78,   215,   116,    81,   215,   215,   150,   201,   202,   203,
2127 <     112,    89,   206,   217,   170,   133,   134,   211,   120,   121,
2128 <     207,   215,   100,   101,   180,   217,   213,   207,   215,     1,
2129 <     150,    66,    67,   213,   205,   205,   215,   115,    73,    74,
2130 <      75,     1,    89,     3,   215,     5,    89,   214,     1,   213,
2131 <     152,   218,   208,   209,   217,     1,   217,    17,   586,   215,
2132 <      95,    96,   217,     1,   142,   112,   594,   217,   212,   217,
2133 <       1,   215,    32,   108,   109,   217,    36,   217,   214,    89,
2134 <     217,   128,   218,   118,   215,   214,    24,   217,   214,   218,
2135 <      36,   126,   218,    31,   217,   215,    56,   214,    58,   133,
2136 <     134,   215,   217,   205,   217,   183,    37,   150,    68,   217,
2137 <      56,   177,   178,   215,     1,    61,   217,    89,   217,     1,
2138 <      51,    52,    53,    54,  1013,  1014,  1015,   217,   217,    89,
2139 <      17,   217,   217,   217,    99,    17,    89,   215,    69,   117,
2140 <     150,   217,   217,   217,   191,    32,   217,   119,   217,    36,
2141 <      32,    89,   217,   217,    36,   217,   116,   217,   205,     1,
2142 <       1,   217,   217,   217,   217,     6,     7,   217,   215,   212,
2143 <     116,    12,   137,   138,   139,   140,   141,   217,   150,    20,
2144 <     215,   217,    24,   143,   217,    26,   217,    28,    29,    30,
2145 <     217,   217,   217,   217,    35,   205,   217,   150,   217,   217,
2146 <      41,    42,   217,    44,    45,    46,   217,    89,   217,    50,
2147 <     170,   217,   217,    40,    55,    57,   217,   217,    59,    60,
2148 <     217,   217,    63,   217,   217,   112,   217,   217,   217,   217,
2149 <     112,    72,   217,   120,   121,    62,   217,    64,    79,    80,
2150 <     217,    82,    83,    84,    85,    86,   128,    89,   208,    91,
2151 <      92,   217,   214,   217,   217,   215,    97,   117,   217,  1084,
2152 <     217,   217,   103,   104,   105,   152,   107,   217,   217,   110,
2153 <     111,   117,   217,   114,   217,   102,     1,   217,     3,    99,
2154 <       5,   217,   217,   217,   217,   127,   214,   129,   130,   131,
2155 <     132,     4,    17,   217,   217,   217,   217,   217,    64,    99,
2156 <     159,    99,    99,    99,   146,    99,   147,    32,   159,   191,
2157 <     151,    36,    25,   154,   155,   156,   157,   158,   205,   159,
2158 <     161,   162,    99,   205,   159,   159,   214,    40,   170,   214,
2159 <     214,    56,   117,    58,    47,   214,   217,   217,   180,   217,
2160 <       1,   217,   217,    68,   217,   172,   173,   217,   217,   217,
2161 <     217,    64,   217,   217,    15,    16,   217,   159,    19,   217,
2162 <     201,   202,   203,    64,    89,   206,   208,   209,   217,   135,
2163 <     211,    99,   217,   217,    87,   159,   159,    99,   205,   217,
2164 <     217,    94,   117,   159,   217,     0,     1,   217,   217,     4,
2165 <     159,   116,   217,   106,   217,   217,   217,    99,   164,    14,
2166 <     217,   217,    17,    18,   217,    99,    99,   173,    23,   159,
2167 <     123,   124,   125,   179,   159,    76,    77,    78,   143,    34,
2168 <      81,    51,   159,    38,    39,    99,    99,   193,    89,   195,
2169 <     196,    99,    99,    48,   135,   117,    99,    99,   204,   100,
2170 <     101,   159,   159,   217,   210,   170,   217,    62,   159,    51,
2171 <     159,   159,   159,   159,   115,    70,    71,   117,   214,   159,
2172 <     173,   159,   159,   164,   159,   214,   217,   159,   159,   182,
2173 <     217,   217,   173,    88,   187,   217,    13,    51,   179,   217,
2174 <     193,   142,   216,   208,   197,   217,   199,   102,   217,   117,
2175 <     217,   204,   193,   217,   195,   196,    33,   210,   214,   117,
2176 <     214,   159,   217,   204,   159,   217,    43,   217,   117,   210,
2177 <     214,   214,    49,   159,   159,   159,   117,   117,   217,   117,
2178 <     135,   217,   183,   117,   117,   214,   214,   217,    65,   144,
2179 <     145,   217,   217,   148,   149,   165,   166,   167,   168,   169,
2180 <     217,   171,   172,    99,   174,   175,   176,   217,   217,   179,
2181 <     117,   181,   182,    90,   184,     1,   186,   117,   188,   189,
2182 <     217,    98,   192,   165,   166,   167,   168,   169,   198,   171,
2183 <     172,   117,   174,   175,   176,    21,    22,   179,   117,   181,
2184 <     182,    27,   184,   117,   186,   200,   188,   189,   117,   214,
2185 <     192,   165,   166,   167,   168,   169,   198,   171,   172,   136,
2186 <     174,   175,   176,   214,   217,   179,   117,   181,   182,   217,
2187 <     184,   214,   186,   217,   188,   189,   153,   214,   192,   214,
2188 <      66,    67,   214,   214,   198,   214,   214,    73,    74,    75,
2189 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2190 <      99,   214,   214,    99,    99,    99,    99,    99,   117,    95,
2191 <      96,    99,    99,   214,    99,   117,   117,   159,   217,   117,
2192 <     117,    99,   108,   109,   214,   214,   117,   117,   117,   214,
2193 <     217,   214,   118,   117,   117,   117,   117,   117,   117,   214,
2194 <     126,   214,   214,   214,   214,   117,   214,   214,   214,   214,
2195 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2196 <     214,   214,   214,   117,   214,   214,   214,   214,   214,   214,
2197 <     214,   214,    99,   214,   214,   214,   214,   214,   214,   214,
2198 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2199 <     214,   214,   159,   117,   117,   217,   117,   214,   117,   217,
2200 <     117,   214,   217,   117,   117,    99,   214,   214,   214,   214,
2201 <     117,   159,   117,   217,   117,   117,   117,   217,   117,   117,
2202 <     117,   117,   117,   983,   117,    71,  1221,   230,   981,   946,
2203 <     122,  1194,   327,   499,  1192,   122,    99,   214,   214,   214,
2204 <     214,   214,  1182,   214,   214,   214,   214,   267,   214,   214,
2205 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2206 <     117,  1079,   214,   475,   217,   214,   217,   214,   214,   214,
2207 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2208 <     214,   214,   214,   214,   214,   214,   214,   163,   214,   214,
2209 <     450,  1178,   214,   513,   214,  1196,   214,   556,   214,   214,
2210 <    1198,  1172,   214,   214,   214,   214,   214,  1180,   214,   465,
2211 <     214,   112,  1174,   166,   214,  1045,  1047,    91,    -1,    -1,
2212 <      -1,   548,    -1,   214,   214,   214,   214,    -1,   214,   214,
2213 <     214,    -1,   214,    -1,    -1,   218,   217,   217,   217,   214,
2214 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2215 <     214,    -1,   214,   214,   214,   214,   214,    -1,   374,    -1,
2216 <      -1,    -1,    -1,    -1,    -1,   386,   222,    -1,    -1,    -1,
2103 >     598,   599,   300,   301,   221,   223,     8,   223,   225,     1,
2104 >     308,     1,     1,   221,     1,     1,   221,   225,     1,     1,
2105 >     225,     1,   221,   222,     1,    15,    16,     1,     1,    19,
2106 >       1,   223,     1,     1,   223,     1,     1,     9,    10,    11,
2107 >      17,     1,    24,    51,     1,   105,    36,   164,   165,    31,
2108 >     221,    37,     1,   221,   225,    32,    36,   225,     1,    36,
2109 >      34,     1,     1,   164,   165,    51,    52,    53,    54,    55,
2110 >       1,   221,   223,    62,   223,   225,     1,    57,     3,   221,
2111 >       5,   221,    62,   225,    70,   225,   223,     1,    78,    79,
2112 >      80,    62,    17,   223,    84,   393,   394,    62,   223,    73,
2113 >      90,    91,    62,   401,    96,   403,    96,    32,     1,    96,
2114 >     223,    36,   410,    96,    96,   413,   106,   107,     1,  1028,
2115 >    1029,  1030,   221,     6,     7,   423,   424,    96,    96,    12,
2116 >      96,   121,    57,   105,    59,   433,   434,    20,   436,    96,
2117 >     200,   118,   122,    26,    69,    28,    29,    30,   125,   126,
2118 >     124,    94,    35,   124,    94,   223,   221,   147,    41,    42,
2119 >     225,    44,    45,    46,   124,    96,     1,    50,   155,   223,
2120 >     221,    96,   155,    56,   225,   124,   119,    60,    61,   119,
2121 >     157,    64,   223,   191,   136,   137,   155,   155,   196,   155,
2122 >     223,    74,     1,   124,   196,   136,   137,   122,    81,   189,
2123 >      83,   223,    85,    96,    87,    88,    89,   221,    92,    93,
2124 >     124,   225,    21,    22,   223,     1,   223,   221,    27,   224,
2125 >     103,   225,   223,   148,   223,   523,   109,   110,   111,   212,
2126 >     113,   124,   222,   116,   117,   212,   222,   120,    24,     1,
2127 >     222,   214,   222,   212,   223,   222,   224,   220,   222,   222,
2128 >     175,   219,   105,   222,   222,    17,   222,   222,    67,    68,
2129 >     221,    96,   222,   212,   225,   222,    75,    76,    77,   152,
2130 >      32,   224,    58,   156,    36,   214,   159,   160,   161,   162,
2131 >     163,   220,   222,   166,   167,   221,    40,   224,   586,     1,
2132 >     215,   222,   101,   102,   592,   593,    82,   222,   212,   597,
2133 >      86,   182,   183,   224,   224,   114,   115,   224,   222,    63,
2134 >      96,    65,    98,    99,   224,   224,   224,   224,   224,   224,
2135 >     155,   224,   224,   224,    36,   208,   209,   210,   224,   224,
2136 >     213,     1,     1,   224,    96,   218,   224,     6,     7,   222,
2137 >     220,   123,   224,    12,   130,    57,   132,   133,   134,   135,
2138 >      62,    20,   224,   224,   108,   224,   118,    26,   224,    28,
2139 >      29,    30,   224,   224,    34,   151,    35,     1,   224,   131,
2140 >     224,     1,    41,    42,   224,    44,    45,    46,   224,   224,
2141 >     224,    50,   224,   224,   219,   224,   224,    56,   224,   175,
2142 >      24,    60,    61,   224,    24,    64,   224,    31,   224,   185,
2143 >     224,   224,   224,    73,   224,    74,   224,   224,   224,   224,
2144 >     122,   224,    81,   222,    83,   221,    85,   224,    87,    88,
2145 >      89,   224,   224,   177,   178,   224,   224,   224,    58,   215,
2146 >     216,   224,   224,   224,   103,   197,   222,   224,   221,   224,
2147 >     109,   110,   111,   224,   113,     1,   224,   116,   117,   224,
2148 >     212,   120,    82,    65,   124,   224,    86,   224,   212,   224,
2149 >     222,    17,    96,   224,   224,   224,    96,   224,    98,    99,
2150 >     123,   224,   224,   224,   224,   224,    32,   224,   224,   224,
2151 >      36,   224,   224,   152,   224,   224,   224,   156,   224,     4,
2152 >     159,   160,   161,   162,   163,   224,  1094,   166,   167,     1,
2153 >     130,   224,   132,   133,   134,   135,   224,     1,   224,     3,
2154 >      25,     5,   123,   224,   221,    17,   105,   164,   105,   105,
2155 >     105,   151,   105,    17,   164,    40,   138,   164,   105,   221,
2156 >      32,    13,    47,   221,    36,   224,   221,   224,    32,   208,
2157 >     209,   210,    36,   224,   213,   175,   224,   224,   224,   218,
2158 >      65,    33,   224,   224,   123,   185,   224,   169,   224,   224,
2159 >     224,    43,   118,    57,   224,    59,   178,    49,   224,   125,
2160 >     126,   164,   184,   224,   224,    69,   224,   105,   224,    94,
2161 >     224,   224,   224,   224,    66,   215,   216,   199,   224,   201,
2162 >     202,   224,   224,   224,    96,   224,   224,   112,   224,   211,
2163 >     221,   157,    96,     0,     1,   217,   224,     4,   224,   164,
2164 >     164,   123,   127,   128,   129,    97,   118,    14,   105,   164,
2165 >      17,    18,   104,   164,   105,   105,    23,   105,   122,   131,
2166 >       1,   164,   164,   164,   105,   105,   105,    34,   105,   105,
2167 >     105,    38,    39,   164,    15,    16,   164,   164,    19,    51,
2168 >     224,    48,   224,   164,   148,   164,   212,   139,   164,   164,
2169 >     164,   164,   123,   178,   164,    36,    63,   164,   164,   221,
2170 >     221,   224,   221,   188,    71,    72,   158,   224,   193,   164,
2171 >       1,   175,   224,   221,   199,   224,    51,   224,   203,   224,
2172 >     224,   206,   123,   123,   224,   197,   211,   224,    95,   224,
2173 >     224,   224,   217,   223,   164,   221,   123,    78,    79,    80,
2174 >     212,   108,   164,    84,   221,    51,    37,   164,   164,    90,
2175 >      91,   215,   221,   205,   105,    96,   224,   164,   221,   224,
2176 >      51,    52,    53,    54,    55,   106,   107,   123,   224,   164,
2177 >     224,   138,   105,   105,   123,   224,   123,    65,   224,    70,
2178 >     121,   224,   149,   150,   123,   123,   153,   154,   105,   140,
2179 >     141,   142,   143,   144,   145,   146,   224,   224,   170,   171,
2180 >     172,   173,   174,   123,   176,   177,   147,   179,   180,   181,
2181 >     123,   123,   184,   123,   186,   187,   188,   221,   190,   123,
2182 >     192,   123,   194,   195,   221,   224,   198,   221,   224,   123,
2183 >     221,   224,   204,   221,   105,   170,   171,   172,   173,   174,
2184 >     207,   176,   177,   221,   179,   180,   181,   221,   189,   184,
2185 >     138,   186,   187,   188,   105,   190,   221,   192,   221,   194,
2186 >     195,   221,   221,   198,   170,   171,   172,   173,   174,   204,
2187 >     176,   177,   224,   179,   180,   181,   221,   221,   184,     1,
2188 >     186,   169,   188,   105,   190,   221,   192,   221,   194,   195,
2189 >     178,   221,   198,   221,   221,   221,   184,   105,   204,    21,
2190 >      22,   105,   105,   123,   105,    27,   105,   105,   123,   123,
2191 >     221,   199,   164,   201,   202,   775,   776,   777,   778,   779,
2192 >     780,   781,   105,   211,   224,   221,   123,   123,   123,   217,
2193 >     123,   123,   123,   123,   123,   123,   221,   221,   123,   123,
2194 >     221,   221,   221,   221,   221,    67,    68,   221,   221,   221,
2195 >     123,   221,   221,    75,    76,    77,   221,   221,   221,   221,
2196 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   123,
2197 >     164,   221,   221,   221,   221,   221,   221,   221,   221,   101,
2198 >     102,   221,   221,   221,   221,   221,   221,   221,   221,   221,
2199 >     221,   221,   114,   115,   221,   221,   221,   221,   221,   105,
2200 >     221,   105,   221,   123,   123,   123,   224,   123,   221,   123,
2201 >     221,   123,   224,   123,   221,   221,   221,   164,   123,   221,
2202 >     123,   123,   123,   123,   224,   123,   123,   123,   123,   123,
2203 >     123,    71,   990,   988,   950,   221,   265,   224,  1228,   221,
2204 >     221,   221,   221,   221,   221,   221,   221,   221,   105,   221,
2205 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
2206 >     221,   221,   221,   123,   221,   498,   224,  1202,   224,   221,
2207 >     221,   221,   221,   221,  1200,   221,   221,   221,   221,   221,
2208 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
2209 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   168,
2210 >     221,  1179,  1190,   474,   221,   451,   221,  1089,   221,  1188,
2211 >     221,   328,   221,   221,   221,  1204,   550,  1184,   360,   108,
2212 >     512,  1206,   221,   161,   464,  1059,   558,    89,  1057,   221,
2213 >     221,   221,   221,   221,   221,   221,   216,   221,    -1,    -1,
2214 >     225,   224,   224,   221,   221,   221,   221,   221,   221,   221,
2215 >     221,   221,    -1,   221,   221,   221,   221,    -1,   221,   221,
2216 >     224,    -1,   221,   221,    -1,    -1,    -1,    -1,   224,   378,
2217 >      -1,    -1,   388,    -1,    -1,    -1,    -1,   238,    -1,    -1,
2218        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2204      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,    -1,
2219        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2220 <      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
2207 <     288
2220 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,   288
2221   };
2222  
2223   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2224     symbol of state STATE-NUM.  */
2225   static const yytype_uint16 yystos[] =
2226   {
2227 <       0,   220,     0,     1,     4,    14,    17,    18,    23,    34,
2228 <      38,    39,    48,    62,    70,    71,    88,   102,   135,   144,
2229 <     145,   148,   149,   200,   221,   226,   231,   253,   259,   273,
2230 <     291,   308,   322,   337,   344,   348,   358,   367,   387,   397,
2231 <     403,   407,   417,   475,   492,   214,   215,   216,   216,   292,
2232 <     368,   398,   216,   408,   216,   323,   388,   309,   216,   216,
2233 <     274,   338,   216,   216,   349,   359,   216,     1,    24,    31,
2234 <      89,   254,   255,   256,   257,   258,     1,    21,    22,    27,
2235 <      66,    67,    73,    74,    75,    95,    96,   108,   109,   118,
2236 <     126,   476,   477,   478,   479,   480,   481,   482,   483,   484,
2237 <     485,   486,   487,   488,   489,   490,   491,   216,   216,   216,
2238 <       1,    61,   404,   405,   406,   216,     1,     6,     7,    12,
2239 <      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2240 <      46,    50,    55,    59,    60,    63,    72,    79,    80,    82,
2241 <      83,    84,    85,    86,    97,   103,   104,   105,   107,   110,
2242 <     111,   114,   147,   151,   154,   155,   156,   157,   158,   161,
2243 <     162,   201,   202,   203,   206,   211,   418,   419,   420,   421,
2244 <     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
2245 <     432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
2246 <     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
2247 <     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
2248 <     462,   463,   464,   468,   472,   473,   474,   216,   216,   216,
2249 <       1,   207,   260,   261,   262,   263,   264,     1,    87,   113,
2250 <     227,   228,   229,   230,   216,   216,     1,    37,    51,    52,
2251 <      53,    54,    69,   493,   494,   495,   496,   497,   498,   499,
2252 <     500,     1,    24,    57,    89,    91,    92,   127,   129,   130,
2253 <     131,   132,   146,   170,   180,   208,   209,   232,   233,   234,
2254 <     235,   240,   241,   242,   243,   244,   245,   246,   247,   248,
2255 <     249,   250,   251,   252,   216,   216,     1,    89,   345,   346,
2256 <     347,   214,   217,   217,   217,   215,   255,   217,   217,   217,
2257 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2258 <     217,   215,   477,     1,    15,    16,    19,    76,    77,    78,
2259 <      81,    89,   100,   101,   115,   142,   183,   293,   294,   295,
2260 <     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
2261 <     306,   307,     1,     3,     5,    17,    32,    36,    56,    58,
2262 <      68,    89,   116,   143,   170,   208,   369,   370,   371,   372,
2263 <     373,   374,   375,   376,   377,   378,   382,   383,   384,   385,
2264 <     386,     1,    61,   119,   399,   400,   401,   402,   217,   215,
2265 <     405,     1,    89,   119,   150,   409,   413,   414,   415,   416,
2266 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2267 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2268 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   469,
2269 <     217,   465,   217,   217,   217,   217,   217,   217,   217,   217,
2270 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   215,
2271 <     419,     1,    17,    32,    36,   112,   120,   121,   152,   205,
2272 <     324,   325,   326,   327,   328,   329,   330,   334,   335,   336,
2273 <       1,   119,   150,   205,   389,   393,   394,   395,   396,     1,
2274 <      36,    56,    61,   116,   310,   314,   315,   316,   320,   321,
2275 <     214,   217,   215,   261,   213,   214,   217,   217,   215,   228,
2276 <       1,    17,    32,    36,    89,   112,   128,   191,   205,   275,
2277 <     276,   277,   278,   279,   280,   281,   282,   283,   287,     1,
2278 <      14,    93,   119,   339,   340,   341,   342,   343,   217,   217,
2279 <     217,   217,   217,   217,   215,   494,   214,   217,   217,   217,
2280 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2281 <     217,   217,   215,   233,     1,    89,   150,   205,   350,   351,
2282 <     352,   353,   354,     1,    89,   150,   360,   361,   362,   363,
2283 <     217,   215,   346,   117,   117,   117,   214,    99,    99,   159,
2284 <      99,   223,   223,    99,    99,    99,   159,   159,    99,   223,
2285 <     159,   159,   214,   214,   217,   217,   217,   217,   217,   217,
2286 <     217,   217,   217,   217,   217,   217,   217,   215,   294,   214,
2287 <     217,   217,   217,   217,   379,   217,   217,   217,   217,   217,
2288 <     217,   217,   217,   215,   370,   217,   217,   215,   400,   117,
2289 <     214,   217,   217,   410,   215,   414,   159,   223,   223,    99,
2290 <     159,   159,    99,   117,   159,   223,   159,   223,    99,    99,
2291 <      99,   159,   159,   159,   223,    99,    99,   223,    99,    99,
2292 <     117,    99,    99,   159,   159,   217,   159,   217,   223,   223,
2293 <     159,   159,   159,   159,   159,   160,   159,   160,   159,   159,
2294 <     223,   223,   117,   223,   159,   159,   159,   214,   214,   217,
2295 <     217,   331,   217,   217,   217,   217,   217,   215,   325,   217,
2296 <     390,   217,   215,   394,   214,   311,   217,   217,   217,   215,
2297 <     315,   159,   214,   216,   117,   117,   214,   214,   217,   217,
2298 <     288,   217,   217,   217,   284,   217,   215,   276,   214,   217,
2299 <     217,   217,   215,   340,   159,   159,   117,   159,   159,   223,
2300 <     214,   117,   159,   117,   117,   117,   117,   117,   117,   133,
2301 <     134,   236,   237,   133,   134,   238,   239,   117,   117,    99,
2302 <     117,   117,   214,   214,   217,   355,   217,   215,   351,   214,
2303 <     217,   364,   215,   361,   117,   214,   214,   214,   214,   214,
2304 <     214,   214,   137,   138,   139,   140,   141,   222,   223,   214,
2305 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2306 <      99,    99,   223,    99,    99,    99,    99,   117,    99,    99,
2307 <     223,    99,   225,   225,   214,   117,   177,   178,   117,   159,
2308 <     217,   117,   117,   117,   117,    99,   117,   117,   117,   214,
2309 <     117,   117,   214,   214,   117,   117,   217,   214,   214,   214,
2310 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2311 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2312 <     214,   214,   214,   214,   214,   214,   214,    51,   165,   166,
2313 <     167,   168,   169,   171,   172,   174,   175,   176,   179,   181,
2314 <     182,   184,   186,   188,   189,   192,   198,   470,   471,   214,
2315 <      51,   165,   166,   167,   168,   169,   171,   172,   174,   175,
2316 <     176,   179,   181,   182,   184,   186,   188,   189,   192,   198,
2317 <     466,   467,   214,   214,   214,   214,   214,   214,   214,   214,
2318 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2319 <     214,   117,   159,   217,   117,    99,   117,   117,   117,   214,
2320 <     117,   217,   117,   214,   217,   117,   117,    99,   318,   319,
2321 <     214,   214,     1,    89,   150,   212,   265,   266,   267,   268,
2322 <     269,   214,   214,   117,   159,   217,   117,   117,   117,   217,
2323 <     117,   214,   117,   117,   117,   214,   214,   214,   214,   214,
2324 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2325 <     214,   218,   214,   218,   214,   214,   214,   214,   214,   117,
2326 <     217,   117,   214,   117,   217,   214,   214,   222,   222,   222,
2327 <     222,   222,   214,   214,   214,   214,   214,   214,   214,   214,
2328 <     214,   214,   214,     9,    10,    11,   224,   225,   214,   214,
2329 <     214,   214,   214,   214,   214,     8,   190,   380,   381,   214,
2330 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2331 <     214,   122,   411,   412,   214,   218,   214,   218,   214,   214,
2332 <      13,    33,    43,    49,    65,    90,    98,   136,   153,   332,
2333 <     333,   214,   214,   214,   214,   214,   214,   122,   391,   392,
2334 <     214,    51,   185,   190,   312,   313,   214,   214,   163,   218,
2335 <     317,   214,   217,   270,   217,   215,   266,   214,   214,     4,
2336 <      25,    40,    47,    64,    87,    94,   106,   123,   124,   125,
2337 <     173,   182,   187,   193,   197,   199,   204,   210,   289,   290,
2338 <     214,   214,   214,    51,   165,   166,   167,   168,   169,   171,
2339 <     172,   174,   175,   176,   179,   181,   182,   184,   186,   188,
2340 <     189,   192,   198,   285,   286,   214,   214,   214,   214,   237,
2341 <     239,   214,    64,   135,   164,   173,   179,   193,   195,   196,
2342 <     204,   210,   356,   357,   214,   214,    64,   135,   164,   173,
2343 <     179,   193,   195,   196,   204,   210,   365,   366,   224,   224,
2344 <     224,   214,   218,   214,   218,   471,   467,   214,   218,   214,
2345 <     218,   214,   218,    99,   319,   214,   117,   217,   194,   225,
2346 <     214,   214,   218,   214,   218,   214,   218,   214,   218,   381,
2347 <     412,   333,   392,   313,   214,    40,    62,    64,   102,   172,
2348 <     173,   205,   271,   272,   214,   214,   290,   286,   357,   366,
2349 <     214,   218,   272
2227 >       0,   227,     0,     1,     4,    14,    17,    18,    23,    34,
2228 >      38,    39,    48,    63,    71,    72,    95,   108,   138,   149,
2229 >     150,   153,   154,   207,   228,   233,   238,   262,   268,   282,
2230 >     300,   323,   337,   352,   359,   363,   373,   382,   402,   408,
2231 >     414,   418,   424,   481,   496,   221,   222,   223,   223,   301,
2232 >     383,   409,   223,   419,   223,   338,   403,   324,   223,   223,
2233 >     283,   353,   223,   223,   364,   374,   223,     1,    24,    31,
2234 >      96,   263,   264,   265,   266,   267,     1,    21,    22,    27,
2235 >      67,    68,    75,    76,    77,   101,   102,   114,   115,   482,
2236 >     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
2237 >     493,   494,   495,   223,   223,   223,     1,    62,   415,   416,
2238 >     417,   223,     1,     6,     7,    12,    20,    26,    28,    29,
2239 >      30,    35,    41,    42,    44,    45,    46,    50,    56,    60,
2240 >      61,    64,    74,    81,    83,    85,    87,    88,    89,   103,
2241 >     109,   110,   111,   113,   116,   117,   120,   152,   156,   159,
2242 >     160,   161,   162,   163,   166,   167,   208,   209,   210,   213,
2243 >     218,   425,   426,   427,   428,   429,   430,   431,   432,   433,
2244 >     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
2245 >     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
2246 >     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2247 >     464,   465,   466,   467,   468,   469,   470,   474,   478,   479,
2248 >     480,   223,   223,   223,     1,   214,   269,   270,   271,   272,
2249 >     273,     1,    94,   119,   234,   235,   236,   237,   223,   223,
2250 >       1,    37,    51,    52,    53,    54,    55,    70,   497,   498,
2251 >     499,   500,   501,   502,   503,   504,   505,     1,    24,    58,
2252 >      82,    86,    96,    98,    99,   130,   132,   133,   134,   135,
2253 >     151,   175,   185,   215,   216,   239,   240,   241,   242,   247,
2254 >     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2255 >     258,   259,   260,   261,   223,   223,     1,    96,   360,   361,
2256 >     362,   221,   224,   224,   224,   222,   264,   224,   224,   224,
2257 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   222,
2258 >     483,     1,    15,    16,    19,    36,    78,    79,    80,    84,
2259 >      90,    91,    96,   106,   107,   121,   147,   189,   302,   303,
2260 >     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2261 >     314,   315,   316,   317,   318,   319,     1,     3,     5,    17,
2262 >      32,    36,    57,    59,    69,    96,   122,   148,   175,   215,
2263 >     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
2264 >     397,   398,   399,   400,   401,     1,    62,   124,   410,   411,
2265 >     412,   413,   224,   222,   416,     1,    96,   124,   420,   421,
2266 >     422,   423,   224,   224,   224,   224,   224,   224,   224,   224,
2267 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2268 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2269 >     475,   224,   471,   224,   224,   224,   224,   224,   224,   224,
2270 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2271 >     222,   426,     1,    17,    32,    36,   118,   125,   126,   157,
2272 >     212,   339,   340,   341,   342,   343,   344,   345,   349,   350,
2273 >     351,     1,   124,   212,   404,   405,   406,   407,     1,    36,
2274 >      57,    62,   122,   325,   329,   330,   331,   335,   336,   221,
2275 >     224,   222,   270,   220,   221,   224,   224,   222,   235,     1,
2276 >      17,    32,    36,    96,   118,   131,   197,   212,   284,   285,
2277 >     286,   287,   288,   289,   290,   291,   292,   296,     1,    34,
2278 >      73,   124,   354,   355,   356,   357,   358,   224,   224,   224,
2279 >     224,   224,   224,   224,   222,   498,   221,   224,   224,   224,
2280 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2281 >     224,   224,   224,   224,   222,   240,     1,    96,   155,   212,
2282 >     365,   366,   367,   368,   369,     1,    96,   155,   375,   376,
2283 >     377,   378,   224,   222,   361,   123,   123,   123,   221,   105,
2284 >     105,   164,   105,   230,   230,   105,   105,   105,   164,   164,
2285 >     105,   230,   221,   221,   224,   224,   224,   320,   224,   224,
2286 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2287 >     222,   303,   221,   224,   224,   224,   224,   394,   224,   224,
2288 >     224,   224,   224,   224,   224,   224,   222,   385,   224,   224,
2289 >     222,   411,   123,   221,   224,   224,   222,   421,   164,   230,
2290 >     230,   105,   164,   164,   105,   123,   164,   230,   164,   230,
2291 >     105,   105,   105,   164,   164,   164,   230,   105,   105,   230,
2292 >     105,   105,   105,   105,   164,   164,   224,   164,   224,   230,
2293 >     230,   164,   164,   164,   164,   164,   165,   164,   165,   164,
2294 >     164,   230,   230,   123,   230,   164,   164,   164,   221,   221,
2295 >     224,   224,   346,   224,   224,   224,   224,   224,   222,   340,
2296 >     224,   224,   222,   405,   221,   326,   224,   224,   224,   222,
2297 >     330,   164,   221,   223,   123,   123,   221,   221,   224,   224,
2298 >     297,   224,   224,   224,   293,   224,   222,   285,   221,   224,
2299 >     224,   224,   222,   355,   164,   164,   123,   164,   164,   164,
2300 >     230,   221,   123,   164,   105,   105,   123,   123,   123,   123,
2301 >     123,   123,   136,   137,   243,   244,   136,   137,   245,   246,
2302 >     123,   123,   105,   123,   123,   221,   221,   224,   370,   224,
2303 >     222,   366,   221,   224,   379,   222,   376,   123,   221,   221,
2304 >     221,   221,   221,   221,   221,   140,   141,   142,   143,   144,
2305 >     145,   146,   229,   230,   221,   221,   221,   221,   221,   221,
2306 >     221,   221,   221,   105,   105,   230,   224,   105,   105,   105,
2307 >     105,   230,   230,   123,   105,   105,   230,   105,   232,   232,
2308 >     221,   123,   182,   183,   123,   164,   224,   123,   123,   123,
2309 >     123,   105,   123,   123,   123,   221,   123,   123,   221,   221,
2310 >     123,   123,   221,   221,   221,   221,   221,   221,   221,   221,
2311 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
2312 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
2313 >     221,    51,   170,   171,   172,   173,   174,   176,   177,   179,
2314 >     180,   181,   184,   186,   187,   188,   190,   192,   194,   195,
2315 >     198,   204,   476,   477,   221,    51,   170,   171,   172,   173,
2316 >     174,   176,   177,   179,   180,   181,   184,   186,   188,   190,
2317 >     192,   194,   195,   198,   204,   472,   473,   221,   221,   221,
2318 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
2319 >     221,   221,   221,   221,   221,   221,   123,   164,   224,   123,
2320 >     105,   123,   123,   123,   221,   123,   123,   221,   224,   123,
2321 >     123,   105,   333,   334,   221,   221,     1,    96,   155,   219,
2322 >     274,   275,   276,   277,   278,   221,   221,   123,   164,   224,
2323 >     123,   123,   123,   224,   123,   221,   123,   123,   123,   221,
2324 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
2325 >     221,   221,   221,   221,   221,   221,   221,   221,   225,   221,
2326 >     225,   221,   221,   221,   221,   221,   123,   224,   123,   221,
2327 >     123,   224,   221,   221,   229,   229,   229,   229,   229,   229,
2328 >     229,   221,   221,   221,    92,    93,   321,   322,   221,   221,
2329 >     221,   221,   221,   221,   221,   221,   221,   221,     9,    10,
2330 >      11,   231,   232,   221,   221,   221,   221,   221,   221,   221,
2331 >       8,   196,   395,   396,   221,   221,   221,   221,   221,   221,
2332 >     221,   221,   221,   221,   221,   221,   221,   225,   221,   225,
2333 >     221,   221,    13,    33,    43,    49,    66,    97,   104,   139,
2334 >     158,   205,   347,   348,   221,   221,   221,   221,   221,   221,
2335 >     221,    51,   191,   196,   327,   328,   221,   221,   168,   225,
2336 >     332,   221,   224,   279,   224,   222,   275,   221,   221,     4,
2337 >      25,    40,    47,    65,    94,   112,   127,   128,   129,   178,
2338 >     188,   193,   199,   203,   206,   211,   217,   298,   299,   221,
2339 >     221,   221,    51,   170,   171,   172,   173,   174,   176,   177,
2340 >     179,   180,   181,   184,   186,   187,   188,   190,   192,   194,
2341 >     195,   198,   204,   294,   295,   221,   221,   221,   221,   244,
2342 >     246,   221,    65,   138,   169,   178,   184,   199,   201,   202,
2343 >     211,   217,   371,   372,   221,   221,    65,   138,   169,   178,
2344 >     184,   199,   201,   202,   211,   217,   380,   381,   221,   225,
2345 >     231,   231,   231,   221,   225,   477,   473,   221,   225,   221,
2346 >     225,   105,   334,   221,   123,   224,   200,   232,   221,   221,
2347 >     225,   221,   225,   221,   225,   221,   225,   322,   396,   348,
2348 >     328,   221,    40,    63,    65,   108,   177,   178,   212,   280,
2349 >     281,   221,   221,   299,   295,   372,   381,   221,   225,   281
2350   };
2351  
2352   #define yyerrok         (yyerrstatus = 0)
# Line 2380 | Line 2393 | do
2393      }                                                           \
2394   while (YYID (0))
2395  
2396 <
2396 > /* Error token number */
2397   #define YYTERROR        1
2398   #define YYERRCODE       256
2399  
2387 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2388   If N is 0, then set CURRENT to the empty location which ends
2389   the previous symbol: RHS[0] (always defined).  */
2390
2391 #ifndef YYLLOC_DEFAULT
2392 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2393    do                                                                  \
2394      if (YYID (N))                                                     \
2395        {                                                               \
2396          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2397          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2398          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2399          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2400        }                                                               \
2401      else                                                              \
2402        {                                                               \
2403          (Current).first_line   = (Current).last_line   =              \
2404            YYRHSLOC (Rhs, 0).last_line;                                \
2405          (Current).first_column = (Current).last_column =              \
2406            YYRHSLOC (Rhs, 0).last_column;                              \
2407        }                                                               \
2408    while (YYID (0))
2409 #endif
2410
2411 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2412
2413
2400  
2401   /* This macro is provided for backward compatibility. */
2416
2402   #ifndef YY_LOCATION_PRINT
2403   # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2404   #endif
2405  
2406  
2407   /* YYLEX -- calling `yylex' with the right arguments.  */
2423
2408   #ifdef YYLEX_PARAM
2409   # define YYLEX yylex (YYLEX_PARAM)
2410   #else
# Line 2480 | Line 2464 | yy_symbol_value_print (yyoutput, yytype,
2464   # else
2465    YYUSE (yyoutput);
2466   # endif
2467 <  switch (yytype)
2484 <    {
2485 <      default:
2486 <        break;
2487 <    }
2467 >  YYUSE (yytype);
2468   }
2469  
2470  
# Line 2725 | Line 2705 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2705   {
2706    YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2707    YYSIZE_T yysize = yysize0;
2728  YYSIZE_T yysize1;
2708    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2709    /* Internationalized format string. */
2710    const char *yyformat = YY_NULL;
# Line 2788 | Line 2767 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2767                      break;
2768                    }
2769                  yyarg[yycount++] = yytname[yyx];
2770 <                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2771 <                if (! (yysize <= yysize1
2772 <                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2773 <                  return 2;
2774 <                yysize = yysize1;
2770 >                {
2771 >                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2772 >                  if (! (yysize <= yysize1
2773 >                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2774 >                    return 2;
2775 >                  yysize = yysize1;
2776 >                }
2777                }
2778          }
2779      }
# Line 2812 | Line 2793 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2793   # undef YYCASE_
2794      }
2795  
2796 <  yysize1 = yysize + yystrlen (yyformat);
2797 <  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2798 <    return 2;
2799 <  yysize = yysize1;
2796 >  {
2797 >    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
2798 >    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2799 >      return 2;
2800 >    yysize = yysize1;
2801 >  }
2802  
2803    if (*yymsg_alloc < yysize)
2804      {
# Line 2871 | Line 2854 | yydestruct (yymsg, yytype, yyvaluep)
2854      yymsg = "Deleting";
2855    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2856  
2857 <  switch (yytype)
2875 <    {
2876 <
2877 <      default:
2878 <        break;
2879 <    }
2857 >  YYUSE (yytype);
2858   }
2859  
2860  
# Line 2886 | Line 2864 | yydestruct (yymsg, yytype, yyvaluep)
2864   int yychar;
2865  
2866  
2889 #ifndef YYLVAL_INITIALIZE
2890 # define YYLVAL_INITIALIZE()
2891 #endif
2867   #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2868   # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2869   # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2870   #endif
2871 + #ifndef YY_INITIAL_VALUE
2872 + # define YY_INITIAL_VALUE(Value) /* Nothing. */
2873 + #endif
2874  
2875   /* The semantic value of the lookahead symbol.  */
2876 < YYSTYPE yylval;
2876 > YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2877  
2878   /* Number of syntax errors so far.  */
2879   int yynerrs;
# Line 2971 | Line 2949 | yyparse ()
2949       Keep to zero when no symbol should be popped.  */
2950    int yylen = 0;
2951  
2952 <  yyss = yyssa;
2953 <  yyvs = yyvsa;
2952 >  yyssp = yyss = yyssa;
2953 >  yyvsp = yyvs = yyvsa;
2954    yystacksize = YYINITDEPTH;
2955  
2956    YYDPRINTF ((stderr, "Starting parse\n"));
# Line 2981 | Line 2959 | yyparse ()
2959    yyerrstatus = 0;
2960    yynerrs = 0;
2961    yychar = YYEMPTY; /* Cause a token to be read.  */
2984
2985  /* Initialize stack pointers.
2986     Waste one element of value and location stack
2987     so that they stay on the same level as the state stack.
2988     The wasted elements are never initialized.  */
2989  yyssp = yyss;
2990  yyvsp = yyvs;
2991
2992  YYLVAL_INITIALIZE ();
2962    goto yysetstate;
2963  
2964   /*------------------------------------------------------------.
# Line 3169 | Line 3138 | yyreduce:
3138    switch (yyn)
3139      {
3140          case 26:
3141 < /* Line 1813 of yacc.c  */
3142 < #line 395 "conf_parser.y"
3141 > /* Line 1787 of yacc.c  */
3142 > #line 391 "conf_parser.y"
3143      { (yyval.number) = 0; }
3144      break;
3145  
3146    case 28:
3147 < /* Line 1813 of yacc.c  */
3148 < #line 397 "conf_parser.y"
3147 > /* Line 1787 of yacc.c  */
3148 > #line 393 "conf_parser.y"
3149      {
3150                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3151                  }
3152      break;
3153  
3154    case 29:
3155 < /* Line 1813 of yacc.c  */
3156 < #line 401 "conf_parser.y"
3155 > /* Line 1787 of yacc.c  */
3156 > #line 397 "conf_parser.y"
3157      {
3158                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3159                  }
3160      break;
3161  
3162    case 30:
3163 < /* Line 1813 of yacc.c  */
3164 < #line 405 "conf_parser.y"
3163 > /* Line 1787 of yacc.c  */
3164 > #line 401 "conf_parser.y"
3165      {
3166                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3167                  }
3168      break;
3169  
3170    case 31:
3171 < /* Line 1813 of yacc.c  */
3172 < #line 409 "conf_parser.y"
3171 > /* Line 1787 of yacc.c  */
3172 > #line 405 "conf_parser.y"
3173      {
3174                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3175                  }
3176      break;
3177  
3178    case 32:
3179 < /* Line 1813 of yacc.c  */
3180 < #line 413 "conf_parser.y"
3179 > /* Line 1787 of yacc.c  */
3180 > #line 409 "conf_parser.y"
3181      {
3182                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3183                  }
3184      break;
3185  
3186    case 33:
3187 < /* Line 1813 of yacc.c  */
3188 < #line 417 "conf_parser.y"
3187 > /* Line 1787 of yacc.c  */
3188 > #line 413 "conf_parser.y"
3189      {
3190                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3191                  }
3192      break;
3193  
3194    case 34:
3195 < /* Line 1813 of yacc.c  */
3196 < #line 422 "conf_parser.y"
3197 <    { (yyval.number) = 0; }
3195 > /* Line 1787 of yacc.c  */
3196 > #line 417 "conf_parser.y"
3197 >    {
3198 >                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[(3) - (3)].number);
3199 >                }
3200 >    break;
3201 >
3202 >  case 35:
3203 > /* Line 1787 of yacc.c  */
3204 > #line 421 "conf_parser.y"
3205 >    {
3206 >                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 365 + (yyvsp[(3) - (3)].number);
3207 >                }
3208      break;
3209  
3210    case 36:
3211 < /* Line 1813 of yacc.c  */
3212 < #line 423 "conf_parser.y"
3211 > /* Line 1787 of yacc.c  */
3212 > #line 426 "conf_parser.y"
3213 >    { (yyval.number) = 0; }
3214 >    break;
3215 >
3216 >  case 38:
3217 > /* Line 1787 of yacc.c  */
3218 > #line 427 "conf_parser.y"
3219      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3220      break;
3221  
3222 <  case 37:
3223 < /* Line 1813 of yacc.c  */
3224 < #line 424 "conf_parser.y"
3222 >  case 39:
3223 > /* Line 1787 of yacc.c  */
3224 > #line 428 "conf_parser.y"
3225      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3226      break;
3227  
3228 <  case 38:
3229 < /* Line 1813 of yacc.c  */
3230 < #line 425 "conf_parser.y"
3228 >  case 40:
3229 > /* Line 1787 of yacc.c  */
3230 > #line 429 "conf_parser.y"
3231      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3232      break;
3233  
3234 <  case 39:
3235 < /* Line 1813 of yacc.c  */
3236 < #line 426 "conf_parser.y"
3234 >  case 41:
3235 > /* Line 1787 of yacc.c  */
3236 > #line 430 "conf_parser.y"
3237      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3238      break;
3239  
3240 <  case 46:
3241 < /* Line 1813 of yacc.c  */
3242 < #line 440 "conf_parser.y"
3240 >  case 48:
3241 > /* Line 1787 of yacc.c  */
3242 > #line 444 "conf_parser.y"
3243      {
3244    if (conf_parser_ctx.pass == 2)
3245      add_conf_module(libio_basename(yylval.string));
3246   }
3247      break;
3248  
3249 <  case 47:
3250 < /* Line 1813 of yacc.c  */
3251 < #line 446 "conf_parser.y"
3249 >  case 49:
3250 > /* Line 1787 of yacc.c  */
3251 > #line 450 "conf_parser.y"
3252      {
3253    if (conf_parser_ctx.pass == 2)
3254      mod_add_path(yylval.string);
3255   }
3256      break;
3257  
3258 <  case 71:
3259 < /* Line 1813 of yacc.c  */
3260 < #line 471 "conf_parser.y"
3258 >  case 75:
3259 > /* Line 1787 of yacc.c  */
3260 > #line 476 "conf_parser.y"
3261      {
3262   #ifdef HAVE_LIBCRYPTO
3263    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3281 | Line 3266 | yyreduce:
3266   }
3267      break;
3268  
3269 <  case 72:
3270 < /* Line 1813 of yacc.c  */
3271 < #line 477 "conf_parser.y"
3269 >  case 76:
3270 > /* Line 1787 of yacc.c  */
3271 > #line 482 "conf_parser.y"
3272      {
3273   #ifdef HAVE_LIBCRYPTO
3274    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3292 | Line 3277 | yyreduce:
3277   }
3278      break;
3279  
3280 <  case 75:
3281 < /* Line 1813 of yacc.c  */
3282 < #line 486 "conf_parser.y"
3280 >  case 79:
3281 > /* Line 1787 of yacc.c  */
3282 > #line 491 "conf_parser.y"
3283      {
3284   #ifdef HAVE_LIBCRYPTO
3285    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3303 | Line 3288 | yyreduce:
3288   }
3289      break;
3290  
3291 <  case 76:
3292 < /* Line 1813 of yacc.c  */
3293 < #line 492 "conf_parser.y"
3291 >  case 80:
3292 > /* Line 1787 of yacc.c  */
3293 > #line 497 "conf_parser.y"
3294      {
3295   #ifdef HAVE_LIBCRYPTO
3296    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3314 | Line 3299 | yyreduce:
3299   }
3300      break;
3301  
3302 <  case 77:
3303 < /* Line 1813 of yacc.c  */
3304 < #line 500 "conf_parser.y"
3302 >  case 81:
3303 > /* Line 1787 of yacc.c  */
3304 > #line 505 "conf_parser.y"
3305      {
3306   #ifdef HAVE_LIBCRYPTO
3307    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3308    {
3309      if (!ServerInfo.rsa_private_key_file)
3310      {
3311 <      yyerror("No rsa_private_key_file specified, SSL disabled");
3311 >      conf_error_report("No rsa_private_key_file specified, SSL disabled");
3312        break;
3313      }
3314  
# Line 3332 | Line 3317 | yyreduce:
3317          SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3318                                       SSL_FILETYPE_PEM) <= 0)
3319      {
3320 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3320 >      report_crypto_errors();
3321 >      conf_error_report("Could not open/read certificate file");
3322        break;
3323      }
3324  
# Line 3341 | Line 3327 | yyreduce:
3327          SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3328                                      SSL_FILETYPE_PEM) <= 0)
3329      {
3330 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3330 >      report_crypto_errors();
3331 >      conf_error_report("Could not read RSA private key");
3332        break;
3333      }
3334  
3335      if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3336          !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3337      {
3338 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3338 >      report_crypto_errors();
3339 >      conf_error_report("Could not read RSA private key");
3340        break;
3341      }
3342    }
# Line 3356 | Line 3344 | yyreduce:
3344   }
3345      break;
3346  
3347 <  case 78:
3348 < /* Line 1813 of yacc.c  */
3349 < #line 539 "conf_parser.y"
3347 >  case 82:
3348 > /* Line 1787 of yacc.c  */
3349 > #line 547 "conf_parser.y"
3350      {
3351   #ifdef HAVE_LIBCRYPTO
3352    if (conf_parser_ctx.pass == 1)
# Line 3381 | Line 3369 | yyreduce:
3369  
3370      if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3371      {
3372 <      yyerror("File open failed, ignoring");
3372 >      conf_error_report("File open failed, ignoring");
3373        break;
3374      }
3375  
# Line 3392 | Line 3380 | yyreduce:
3380  
3381      if (ServerInfo.rsa_private_key == NULL)
3382      {
3383 <      yyerror("Couldn't extract key, ignoring");
3383 >      conf_error_report("Couldn't extract key, ignoring");
3384        break;
3385      }
3386  
# Line 3401 | Line 3389 | yyreduce:
3389        RSA_free(ServerInfo.rsa_private_key);
3390        ServerInfo.rsa_private_key = NULL;
3391  
3392 <      yyerror("Invalid key, ignoring");
3392 >      conf_error_report("Invalid key, ignoring");
3393        break;
3394      }
3395  
# Line 3411 | Line 3399 | yyreduce:
3399        RSA_free(ServerInfo.rsa_private_key);
3400        ServerInfo.rsa_private_key = NULL;
3401  
3402 <      yyerror("Not a 2048 bit key, ignoring");
3402 >      conf_error_report("Not a 2048 bit key, ignoring");
3403      }
3404    }
3405   #endif
3406   }
3407      break;
3408  
3409 <  case 79:
3410 < /* Line 1813 of yacc.c  */
3411 < #line 598 "conf_parser.y"
3409 >  case 83:
3410 > /* Line 1787 of yacc.c  */
3411 > #line 606 "conf_parser.y"
3412      {
3413   /* TBD - XXX: error reporting */
3414   #ifdef HAVE_LIBCRYPTO
# Line 3437 | Line 3425 | yyreduce:
3425        if (dh)
3426        {
3427          if (DH_size(dh) < 128)
3428 <          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3428 >          conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3429          else
3430            SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3431  
# Line 3449 | Line 3437 | yyreduce:
3437   }
3438      break;
3439  
3440 <  case 80:
3441 < /* Line 1813 of yacc.c  */
3442 < #line 626 "conf_parser.y"
3440 >  case 84:
3441 > /* Line 1787 of yacc.c  */
3442 > #line 634 "conf_parser.y"
3443      {
3444   #ifdef HAVE_LIBCRYPTO
3445    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3460 | Line 3448 | yyreduce:
3448   }
3449      break;
3450  
3451 <  case 81:
3452 < /* Line 1813 of yacc.c  */
3453 < #line 634 "conf_parser.y"
3451 >  case 85:
3452 > /* Line 1787 of yacc.c  */
3453 > #line 642 "conf_parser.y"
3454      {
3455    /* this isn't rehashable */
3456    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3471 | Line 3459 | yyreduce:
3459        ServerInfo.name = xstrdup(yylval.string);
3460      else
3461      {
3462 <      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3462 >      conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
3463        exit(0);
3464      }
3465    }
3466   }
3467      break;
3468  
3469 <  case 82:
3470 < /* Line 1813 of yacc.c  */
3471 < #line 649 "conf_parser.y"
3469 >  case 86:
3470 > /* Line 1787 of yacc.c  */
3471 > #line 657 "conf_parser.y"
3472      {
3473    /* this isn't rehashable */
3474    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3489 | Line 3477 | yyreduce:
3477        ServerInfo.sid = xstrdup(yylval.string);
3478      else
3479      {
3480 <      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3480 >      conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
3481        exit(0);
3482      }
3483    }
3484   }
3485      break;
3486  
3487 <  case 83:
3488 < /* Line 1813 of yacc.c  */
3489 < #line 664 "conf_parser.y"
3487 >  case 87:
3488 > /* Line 1787 of yacc.c  */
3489 > #line 672 "conf_parser.y"
3490      {
3491    if (conf_parser_ctx.pass == 2)
3492    {
# Line 3508 | Line 3496 | yyreduce:
3496   }
3497      break;
3498  
3499 <  case 84:
3500 < /* Line 1813 of yacc.c  */
3501 < #line 673 "conf_parser.y"
3499 >  case 88:
3500 > /* Line 1787 of yacc.c  */
3501 > #line 681 "conf_parser.y"
3502      {
3503    if (conf_parser_ctx.pass == 2)
3504    {
# Line 3525 | Line 3513 | yyreduce:
3513   }
3514      break;
3515  
3516 <  case 85:
3517 < /* Line 1813 of yacc.c  */
3518 < #line 687 "conf_parser.y"
3516 >  case 89:
3517 > /* Line 1787 of yacc.c  */
3518 > #line 695 "conf_parser.y"
3519      {
3520    if (conf_parser_ctx.pass == 2)
3521    {
# Line 3537 | Line 3525 | yyreduce:
3525   }
3526      break;
3527  
3528 <  case 86:
3529 < /* Line 1813 of yacc.c  */
3530 < #line 696 "conf_parser.y"
3528 >  case 90:
3529 > /* Line 1787 of yacc.c  */
3530 > #line 704 "conf_parser.y"
3531      {
3532    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3533    {
# Line 3568 | Line 3556 | yyreduce:
3556   }
3557      break;
3558  
3559 <  case 87:
3560 < /* Line 1813 of yacc.c  */
3561 < #line 724 "conf_parser.y"
3559 >  case 91:
3560 > /* Line 1787 of yacc.c  */
3561 > #line 732 "conf_parser.y"
3562      {
3563   #ifdef IPV6
3564    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3601 | Line 3589 | yyreduce:
3589   }
3590      break;
3591  
3592 <  case 88:
3593 < /* Line 1813 of yacc.c  */
3594 < #line 754 "conf_parser.y"
3592 >  case 92:
3593 > /* Line 1787 of yacc.c  */
3594 > #line 762 "conf_parser.y"
3595      {
3596 <  if (conf_parser_ctx.pass == 2)
3596 >  if (conf_parser_ctx.pass != 2)
3597 >    break;
3598 >
3599 >  if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3600    {
3601 <    recalc_fdlimit(NULL);
3601 >    char buf[IRCD_BUFSIZE];
3602  
3603 <    if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3603 >    snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3604 >    conf_error_report(buf);
3605 >    ServerInfo.max_clients = MAXCLIENTS_MIN;
3606 >  }
3607 >  else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3608 >  {
3609 >    char buf[IRCD_BUFSIZE];
3610 >
3611 >    snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3612 >    conf_error_report(buf);
3613 >    ServerInfo.max_clients = MAXCLIENTS_MAX;
3614 >  }
3615 >  else
3616 >    ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3617 > }
3618 >    break;
3619 >
3620 >  case 93:
3621 > /* Line 1787 of yacc.c  */
3622 > #line 787 "conf_parser.y"
3623      {
3624 <      char buf[IRCD_BUFSIZE];
3625 <      ircsprintf(buf, "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3626 <      yyerror(buf);
3627 <    }
3628 <    else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3624 >  if (conf_parser_ctx.pass != 2)
3625 >    break;
3626 >
3627 >  if ((yyvsp[(3) - (4)].number) < 9)
3628 >  {
3629 >    conf_error_report("max_nick_length too low, setting to 9");
3630 >    ServerInfo.max_nick_length = 9;
3631 >  }
3632 >  else if ((yyvsp[(3) - (4)].number) > NICKLEN)
3633 >  {
3634 >    char buf[IRCD_BUFSIZE];
3635 >
3636 >    snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3637 >    conf_error_report(buf);
3638 >    ServerInfo.max_nick_length = NICKLEN;
3639 >  }
3640 >  else
3641 >    ServerInfo.max_nick_length = (yyvsp[(3) - (4)].number);
3642 > }
3643 >    break;
3644 >
3645 >  case 94:
3646 > /* Line 1787 of yacc.c  */
3647 > #line 809 "conf_parser.y"
3648      {
3649 <      char buf[IRCD_BUFSIZE];
3650 <      ircsprintf(buf, "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3651 <      yyerror(buf);
3652 <    }
3653 <    else
3654 <      ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3649 >  if (conf_parser_ctx.pass != 2)
3650 >    break;
3651 >
3652 >  if ((yyvsp[(3) - (4)].number) < 80)
3653 >  {
3654 >    conf_error_report("max_topic_length too low, setting to 80");
3655 >    ServerInfo.max_topic_length = 80;
3656 >  }
3657 >  else if ((yyvsp[(3) - (4)].number) > TOPICLEN)
3658 >  {
3659 >    char buf[IRCD_BUFSIZE];
3660 >
3661 >    snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3662 >    conf_error_report(buf);
3663 >    ServerInfo.max_topic_length = TOPICLEN;
3664    }
3665 +  else
3666 +    ServerInfo.max_topic_length = (yyvsp[(3) - (4)].number);
3667   }
3668      break;
3669  
3670 <  case 89:
3671 < /* Line 1813 of yacc.c  */
3672 < #line 777 "conf_parser.y"
3670 >  case 95:
3671 > /* Line 1787 of yacc.c  */
3672 > #line 831 "conf_parser.y"
3673      {
3674    if (conf_parser_ctx.pass == 2)
3675      ServerInfo.hub = yylval.number;
3676   }
3677      break;
3678  
3679 <  case 97:
3680 < /* Line 1813 of yacc.c  */
3681 < #line 792 "conf_parser.y"
3679 >  case 103:
3680 > /* Line 1787 of yacc.c  */
3681 > #line 846 "conf_parser.y"
3682      {
3683    if (conf_parser_ctx.pass == 2)
3684    {
# Line 3648 | Line 3688 | yyreduce:
3688   }
3689      break;
3690  
3691 <  case 98:
3692 < /* Line 1813 of yacc.c  */
3693 < #line 801 "conf_parser.y"
3691 >  case 104:
3692 > /* Line 1787 of yacc.c  */
3693 > #line 855 "conf_parser.y"
3694      {
3695    if (conf_parser_ctx.pass == 2)
3696    {
# Line 3660 | Line 3700 | yyreduce:
3700   }
3701      break;
3702  
3703 <  case 99:
3704 < /* Line 1813 of yacc.c  */
3705 < #line 810 "conf_parser.y"
3703 >  case 105:
3704 > /* Line 1787 of yacc.c  */
3705 > #line 864 "conf_parser.y"
3706      {
3707    if (conf_parser_ctx.pass == 2)
3708    {
# Line 3672 | Line 3712 | yyreduce:
3712   }
3713      break;
3714  
3715 <  case 106:
3716 < /* Line 1813 of yacc.c  */
3717 < #line 828 "conf_parser.y"
3715 >  case 112:
3716 > /* Line 1787 of yacc.c  */
3717 > #line 882 "conf_parser.y"
3718      {
3719    if (conf_parser_ctx.pass == 2)
3720      ConfigLoggingEntry.use_logging = yylval.number;
3721   }
3722      break;
3723  
3724 <  case 107:
3725 < /* Line 1813 of yacc.c  */
3726 < #line 834 "conf_parser.y"
3724 >  case 113:
3725 > /* Line 1787 of yacc.c  */
3726 > #line 888 "conf_parser.y"
3727      {
3728 <  lfile[0] = '\0';
3729 <  ltype = 0;
3690 <  lsize = 0;
3728 >  if (conf_parser_ctx.pass == 2)
3729 >    reset_block_state();
3730   }
3731      break;
3732  
3733 <  case 108:
3734 < /* Line 1813 of yacc.c  */
3735 < #line 839 "conf_parser.y"
3733 >  case 114:
3734 > /* Line 1787 of yacc.c  */
3735 > #line 892 "conf_parser.y"
3736      {
3737 <  if (conf_parser_ctx.pass == 2 && ltype > 0)
3738 <    log_add_file(ltype, lsize, lfile);
3737 >  if (conf_parser_ctx.pass != 2)
3738 >    break;
3739 >
3740 >  if (block_state.type.value && block_state.file.buf[0])
3741 >    log_set_file(block_state.type.value, block_state.size.value,
3742 >                 block_state.file.buf);
3743   }
3744      break;
3745  
3746 <  case 115:
3747 < /* Line 1813 of yacc.c  */
3748 < #line 851 "conf_parser.y"
3746 >  case 121:
3747 > /* Line 1787 of yacc.c  */
3748 > #line 908 "conf_parser.y"
3749      {
3750 <  strlcpy(lfile, yylval.string, sizeof(lfile));
3750 >  if (conf_parser_ctx.pass != 2)
3751 >    break;
3752 >
3753 >  strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3754   }
3755      break;
3756  
3757 <  case 116:
3758 < /* Line 1813 of yacc.c  */
3759 < #line 856 "conf_parser.y"
3757 >  case 122:
3758 > /* Line 1787 of yacc.c  */
3759 > #line 916 "conf_parser.y"
3760      {
3761 <  lsize = (yyvsp[(3) - (4)].number);
3761 >  block_state.size.value = (yyvsp[(3) - (4)].number);
3762   }
3763      break;
3764  
3765 <  case 117:
3766 < /* Line 1813 of yacc.c  */
3767 < #line 859 "conf_parser.y"
3765 >  case 123:
3766 > /* Line 1787 of yacc.c  */
3767 > #line 919 "conf_parser.y"
3768      {
3769 <  lsize = 0;
3769 >  block_state.size.value = 0;
3770   }
3771      break;
3772  
3773 <  case 118:
3774 < /* Line 1813 of yacc.c  */
3775 < #line 864 "conf_parser.y"
3773 >  case 124:
3774 > /* Line 1787 of yacc.c  */
3775 > #line 924 "conf_parser.y"
3776      {
3777    if (conf_parser_ctx.pass == 2)
3778 <    ltype = 0;
3778 >    block_state.type.value = 0;
3779   }
3780      break;
3781  
3782 <  case 122:
3783 < /* Line 1813 of yacc.c  */
3784 < #line 871 "conf_parser.y"
3782 >  case 128:
3783 > /* Line 1787 of yacc.c  */
3784 > #line 931 "conf_parser.y"
3785      {
3786    if (conf_parser_ctx.pass == 2)
3787 <    ltype = LOG_TYPE_USER;
3787 >    block_state.type.value = LOG_TYPE_USER;
3788   }
3789      break;
3790  
3791 <  case 123:
3792 < /* Line 1813 of yacc.c  */
3793 < #line 875 "conf_parser.y"
3791 >  case 129:
3792 > /* Line 1787 of yacc.c  */
3793 > #line 935 "conf_parser.y"
3794      {
3795    if (conf_parser_ctx.pass == 2)
3796 <    ltype = LOG_TYPE_OPER;
3796 >    block_state.type.value = LOG_TYPE_OPER;
3797   }
3798      break;
3799  
3800 <  case 124:
3801 < /* Line 1813 of yacc.c  */
3802 < #line 879 "conf_parser.y"
3800 >  case 130:
3801 > /* Line 1787 of yacc.c  */
3802 > #line 939 "conf_parser.y"
3803      {
3804    if (conf_parser_ctx.pass == 2)
3805 <    ltype = LOG_TYPE_GLINE;
3805 >    block_state.type.value = LOG_TYPE_GLINE;
3806   }
3807      break;
3808  
3809 <  case 125:
3810 < /* Line 1813 of yacc.c  */
3811 < #line 883 "conf_parser.y"
3809 >  case 131:
3810 > /* Line 1787 of yacc.c  */
3811 > #line 943 "conf_parser.y"
3812      {
3813    if (conf_parser_ctx.pass == 2)
3814 <    ltype = LOG_TYPE_DLINE;
3814 >    block_state.type.value = LOG_TYPE_DLINE;
3815   }
3816      break;
3817  
3818 <  case 126:
3819 < /* Line 1813 of yacc.c  */
3820 < #line 887 "conf_parser.y"
3818 >  case 132:
3819 > /* Line 1787 of yacc.c  */
3820 > #line 947 "conf_parser.y"
3821      {
3822    if (conf_parser_ctx.pass == 2)
3823 <    ltype = LOG_TYPE_KLINE;
3823 >    block_state.type.value = LOG_TYPE_KLINE;
3824   }
3825      break;
3826  
3827 <  case 127:
3828 < /* Line 1813 of yacc.c  */
3829 < #line 891 "conf_parser.y"
3827 >  case 133:
3828 > /* Line 1787 of yacc.c  */
3829 > #line 951 "conf_parser.y"
3830      {
3831    if (conf_parser_ctx.pass == 2)
3832 <    ltype = LOG_TYPE_KILL;
3832 >    block_state.type.value = LOG_TYPE_KILL;
3833   }
3834      break;
3835  
3836 <  case 128:
3837 < /* Line 1813 of yacc.c  */
3838 < #line 895 "conf_parser.y"
3836 >  case 134:
3837 > /* Line 1787 of yacc.c  */
3838 > #line 955 "conf_parser.y"
3839      {
3840    if (conf_parser_ctx.pass == 2)
3841 <    ltype = LOG_TYPE_DEBUG;
3841 >    block_state.type.value = LOG_TYPE_DEBUG;
3842   }
3843      break;
3844  
3845 <  case 129:
3846 < /* Line 1813 of yacc.c  */
3847 < #line 905 "conf_parser.y"
3845 >  case 135:
3846 > /* Line 1787 of yacc.c  */
3847 > #line 965 "conf_parser.y"
3848      {
3849    if (conf_parser_ctx.pass != 2)
3850      break;
# Line 3808 | Line 3854 | yyreduce:
3854   }
3855      break;
3856  
3857 <  case 130:
3858 < /* Line 1813 of yacc.c  */
3859 < #line 912 "conf_parser.y"
3857 >  case 136:
3858 > /* Line 1787 of yacc.c  */
3859 > #line 972 "conf_parser.y"
3860      {
3861    dlink_node *ptr = NULL;
3862  
# Line 3821 | Line 3867 | yyreduce:
3867      break;
3868   #ifdef HAVE_LIBCRYPTO
3869    if (!(block_state.file.buf[0] ||
3870 <        block_state.pass.buf[0]))
3870 >        block_state.rpass.buf[0]))
3871      break;
3872   #else
3873 <  if (!block_state.pass.buf[0])
3873 >  if (!block_state.rpass.buf[0])
3874      break;
3875   #endif
3876  
# Line 3835 | Line 3881 | yyreduce:
3881  
3882      nuh.nuhmask  = ptr->data;
3883      nuh.nickptr  = NULL;
3884 <    nuh.userptr  = userbuf;
3885 <    nuh.hostptr  = hostbuf;
3884 >    nuh.userptr  = block_state.user.buf;
3885 >    nuh.hostptr  = block_state.host.buf;
3886      nuh.nicksize = 0;
3887 <    nuh.usersize = sizeof(userbuf);
3888 <    nuh.hostsize = sizeof(hostbuf);
3887 >    nuh.usersize = sizeof(block_state.user.buf);
3888 >    nuh.hostsize = sizeof(block_state.host.buf);
3889      split_nuh(&nuh);
3890  
3891      conf        = conf_make(CONF_OPER);
3892 <    conf->user  = xstrdup(userbuf);
3893 <    conf->host  = xstrdup(hostbuf);
3892 >    conf->name  = xstrdup(block_state.name.buf);
3893 >    conf->user  = xstrdup(block_state.user.buf);
3894 >    conf->host  = xstrdup(block_state.host.buf);
3895  
3896 <    if (block_state.pass.buf[0])
3897 <      conf->passwd = xstrdup(block_state.pass.buf);
3896 >    if (block_state.rpass.buf[0])
3897 >      conf->passwd = xstrdup(block_state.rpass.buf);
3898  
3899      conf->flags = block_state.flags.value;
3900      conf->modes = block_state.modes.value;
# Line 3864 | Line 3911 | yyreduce:
3911  
3912        if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3913        {
3914 <        yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
3914 >        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
3915          break;
3916        }
3917  
3918        if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3919 <      {
3873 <        yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3874 <        break;
3875 <      }
3919 >        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3920  
3921        conf->rsa_public_key = pkey;
3922        BIO_set_close(file, BIO_CLOSE);
# Line 3883 | Line 3927 | yyreduce:
3927   }
3928      break;
3929  
3930 <  case 142:
3931 < /* Line 1813 of yacc.c  */
3932 < #line 989 "conf_parser.y"
3930 >  case 148:
3931 > /* Line 1787 of yacc.c  */
3932 > #line 1047 "conf_parser.y"
3933      {
3934    if (conf_parser_ctx.pass == 2)
3935      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3936   }
3937      break;
3938  
3939 <  case 143:
3940 < /* Line 1813 of yacc.c  */
3941 < #line 995 "conf_parser.y"
3939 >  case 149:
3940 > /* Line 1787 of yacc.c  */
3941 > #line 1053 "conf_parser.y"
3942      {
3943    if (conf_parser_ctx.pass == 2)
3944      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3945   }
3946      break;
3947  
3948 <  case 144:
3949 < /* Line 1813 of yacc.c  */
3950 < #line 1001 "conf_parser.y"
3948 >  case 150:
3949 > /* Line 1787 of yacc.c  */
3950 > #line 1059 "conf_parser.y"
3951      {
3952    if (conf_parser_ctx.pass == 2)
3953 <    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
3953 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3954   }
3955      break;
3956  
3957 <  case 145:
3958 < /* Line 1813 of yacc.c  */
3959 < #line 1007 "conf_parser.y"
3957 >  case 151:
3958 > /* Line 1787 of yacc.c  */
3959 > #line 1065 "conf_parser.y"
3960      {
3961    if (conf_parser_ctx.pass == 2)
3962    {
# Line 3924 | Line 3968 | yyreduce:
3968   }
3969      break;
3970  
3971 <  case 146:
3972 < /* Line 1813 of yacc.c  */
3973 < #line 1018 "conf_parser.y"
3971 >  case 152:
3972 > /* Line 1787 of yacc.c  */
3973 > #line 1076 "conf_parser.y"
3974      {
3975    if (conf_parser_ctx.pass == 2)
3976      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3977   }
3978      break;
3979  
3980 <  case 147:
3981 < /* Line 1813 of yacc.c  */
3982 < #line 1024 "conf_parser.y"
3980 >  case 153:
3981 > /* Line 1787 of yacc.c  */
3982 > #line 1082 "conf_parser.y"
3983      {
3984    if (conf_parser_ctx.pass == 2)
3985      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3986   }
3987      break;
3988  
3989 <  case 148:
3990 < /* Line 1813 of yacc.c  */
3991 < #line 1030 "conf_parser.y"
3989 >  case 154:
3990 > /* Line 1787 of yacc.c  */
3991 > #line 1088 "conf_parser.y"
3992      {
3993    if (conf_parser_ctx.pass == 2)
3994      block_state.modes.value = 0;
3995   }
3996      break;
3997  
3998 <  case 152:
3999 < /* Line 1813 of yacc.c  */
4000 < #line 1037 "conf_parser.y"
3998 >  case 158:
3999 > /* Line 1787 of yacc.c  */
4000 > #line 1095 "conf_parser.y"
4001      {
4002    if (conf_parser_ctx.pass == 2)
4003      block_state.modes.value |= UMODE_BOTS;
4004   }
4005      break;
4006  
4007 <  case 153:
4008 < /* Line 1813 of yacc.c  */
4009 < #line 1041 "conf_parser.y"
4007 >  case 159:
4008 > /* Line 1787 of yacc.c  */
4009 > #line 1099 "conf_parser.y"
4010      {
4011    if (conf_parser_ctx.pass == 2)
4012      block_state.modes.value |= UMODE_CCONN;
4013   }
4014      break;
4015  
4016 <  case 154:
4017 < /* Line 1813 of yacc.c  */
4018 < #line 1045 "conf_parser.y"
4016 >  case 160:
4017 > /* Line 1787 of yacc.c  */
4018 > #line 1103 "conf_parser.y"
4019      {
4020    if (conf_parser_ctx.pass == 2)
4021      block_state.modes.value |= UMODE_CCONN_FULL;
4022   }
4023      break;
4024  
4025 <  case 155:
4026 < /* Line 1813 of yacc.c  */
4027 < #line 1049 "conf_parser.y"
4025 >  case 161:
4026 > /* Line 1787 of yacc.c  */
4027 > #line 1107 "conf_parser.y"
4028      {
4029    if (conf_parser_ctx.pass == 2)
4030      block_state.modes.value |= UMODE_DEAF;
4031   }
4032      break;
4033  
4034 <  case 156:
4035 < /* Line 1813 of yacc.c  */
4036 < #line 1053 "conf_parser.y"
4034 >  case 162:
4035 > /* Line 1787 of yacc.c  */
4036 > #line 1111 "conf_parser.y"
4037      {
4038    if (conf_parser_ctx.pass == 2)
4039      block_state.modes.value |= UMODE_DEBUG;
4040   }
4041      break;
4042  
4043 <  case 157:
4044 < /* Line 1813 of yacc.c  */
4045 < #line 1057 "conf_parser.y"
4043 >  case 163:
4044 > /* Line 1787 of yacc.c  */
4045 > #line 1115 "conf_parser.y"
4046      {
4047    if (conf_parser_ctx.pass == 2)
4048      block_state.modes.value |= UMODE_FULL;
4049   }
4050      break;
4051  
4052 <  case 158:
4053 < /* Line 1813 of yacc.c  */
4054 < #line 1061 "conf_parser.y"
4052 >  case 164:
4053 > /* Line 1787 of yacc.c  */
4054 > #line 1119 "conf_parser.y"
4055      {
4056    if (conf_parser_ctx.pass == 2)
4057      block_state.modes.value |= UMODE_HIDDEN;
4058   }
4059      break;
4060  
4061 <  case 159:
4062 < /* Line 1813 of yacc.c  */
4063 < #line 1065 "conf_parser.y"
4061 >  case 165:
4062 > /* Line 1787 of yacc.c  */
4063 > #line 1123 "conf_parser.y"
4064      {
4065    if (conf_parser_ctx.pass == 2)
4066      block_state.modes.value |= UMODE_SKILL;
4067   }
4068      break;
4069  
4070 <  case 160:
4071 < /* Line 1813 of yacc.c  */
4072 < #line 1069 "conf_parser.y"
4070 >  case 166:
4071 > /* Line 1787 of yacc.c  */
4072 > #line 1127 "conf_parser.y"
4073      {
4074    if (conf_parser_ctx.pass == 2)
4075      block_state.modes.value |= UMODE_NCHANGE;
4076   }
4077      break;
4078  
4079 <  case 161:
4080 < /* Line 1813 of yacc.c  */
4081 < #line 1073 "conf_parser.y"
4079 >  case 167:
4080 > /* Line 1787 of yacc.c  */
4081 > #line 1131 "conf_parser.y"
4082      {
4083    if (conf_parser_ctx.pass == 2)
4084      block_state.modes.value |= UMODE_REJ;
4085   }
4086      break;
4087  
4088 <  case 162:
4089 < /* Line 1813 of yacc.c  */
4090 < #line 1077 "conf_parser.y"
4088 >  case 168:
4089 > /* Line 1787 of yacc.c  */
4090 > #line 1135 "conf_parser.y"
4091      {
4092    if (conf_parser_ctx.pass == 2)
4093      block_state.modes.value |= UMODE_UNAUTH;
4094   }
4095      break;
4096  
4097 <  case 163:
4098 < /* Line 1813 of yacc.c  */
4099 < #line 1081 "conf_parser.y"
4097 >  case 169:
4098 > /* Line 1787 of yacc.c  */
4099 > #line 1139 "conf_parser.y"
4100      {
4101    if (conf_parser_ctx.pass == 2)
4102      block_state.modes.value |= UMODE_SPY;
4103   }
4104      break;
4105  
4106 <  case 164:
4107 < /* Line 1813 of yacc.c  */
4108 < #line 1085 "conf_parser.y"
4106 >  case 170:
4107 > /* Line 1787 of yacc.c  */
4108 > #line 1143 "conf_parser.y"
4109      {
4110    if (conf_parser_ctx.pass == 2)
4111      block_state.modes.value |= UMODE_EXTERNAL;
4112   }
4113      break;
4114  
4115 <  case 165:
4116 < /* Line 1813 of yacc.c  */
4117 < #line 1089 "conf_parser.y"
4115 >  case 171:
4116 > /* Line 1787 of yacc.c  */
4117 > #line 1147 "conf_parser.y"
4118      {
4119    if (conf_parser_ctx.pass == 2)
4120      block_state.modes.value |= UMODE_OPERWALL;
4121   }
4122      break;
4123  
4124 <  case 166:
4125 < /* Line 1813 of yacc.c  */
4126 < #line 1093 "conf_parser.y"
4124 >  case 172:
4125 > /* Line 1787 of yacc.c  */
4126 > #line 1151 "conf_parser.y"
4127      {
4128    if (conf_parser_ctx.pass == 2)
4129      block_state.modes.value |= UMODE_SERVNOTICE;
4130   }
4131      break;
4132  
4133 <  case 167:
4134 < /* Line 1813 of yacc.c  */
4135 < #line 1097 "conf_parser.y"
4133 >  case 173:
4134 > /* Line 1787 of yacc.c  */
4135 > #line 1155 "conf_parser.y"
4136      {
4137    if (conf_parser_ctx.pass == 2)
4138      block_state.modes.value |= UMODE_INVISIBLE;
4139   }
4140      break;
4141  
4142 <  case 168:
4143 < /* Line 1813 of yacc.c  */
4144 < #line 1101 "conf_parser.y"
4142 >  case 174:
4143 > /* Line 1787 of yacc.c  */
4144 > #line 1159 "conf_parser.y"
4145      {
4146    if (conf_parser_ctx.pass == 2)
4147      block_state.modes.value |= UMODE_WALLOP;
4148   }
4149      break;
4150  
4151 <  case 169:
4152 < /* Line 1813 of yacc.c  */
4153 < #line 1105 "conf_parser.y"
4151 >  case 175:
4152 > /* Line 1787 of yacc.c  */
4153 > #line 1163 "conf_parser.y"
4154      {
4155    if (conf_parser_ctx.pass == 2)
4156      block_state.modes.value |= UMODE_SOFTCALLERID;
4157   }
4158      break;
4159  
4160 <  case 170:
4161 < /* Line 1813 of yacc.c  */
4162 < #line 1109 "conf_parser.y"
4160 >  case 176:
4161 > /* Line 1787 of yacc.c  */
4162 > #line 1167 "conf_parser.y"
4163      {
4164    if (conf_parser_ctx.pass == 2)
4165      block_state.modes.value |= UMODE_CALLERID;
4166   }
4167      break;
4168  
4169 <  case 171:
4170 < /* Line 1813 of yacc.c  */
4171 < #line 1113 "conf_parser.y"
4169 >  case 177:
4170 > /* Line 1787 of yacc.c  */
4171 > #line 1171 "conf_parser.y"
4172      {
4173    if (conf_parser_ctx.pass == 2)
4174      block_state.modes.value |= UMODE_LOCOPS;
4175   }
4176      break;
4177  
4178 <  case 172:
4179 < /* Line 1813 of yacc.c  */
4180 < #line 1119 "conf_parser.y"
4178 >  case 178:
4179 > /* Line 1787 of yacc.c  */
4180 > #line 1175 "conf_parser.y"
4181 >    {
4182 >  if (conf_parser_ctx.pass == 2)
4183 >    block_state.modes.value |= UMODE_REGONLY;
4184 > }
4185 >    break;
4186 >
4187 >  case 179:
4188 > /* Line 1787 of yacc.c  */
4189 > #line 1181 "conf_parser.y"
4190      {
4191    if (conf_parser_ctx.pass == 2)
4192      block_state.port.value = 0;
4193   }
4194      break;
4195  
4196 <  case 176:
4197 < /* Line 1813 of yacc.c  */
4198 < #line 1126 "conf_parser.y"
4196 >  case 183:
4197 > /* Line 1787 of yacc.c  */
4198 > #line 1188 "conf_parser.y"
4199      {
4200    if (conf_parser_ctx.pass == 2)
4201      block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
4202   }
4203      break;
4204  
4205 <  case 177:
4206 < /* Line 1813 of yacc.c  */
4207 < #line 1130 "conf_parser.y"
4205 >  case 184:
4206 > /* Line 1787 of yacc.c  */
4207 > #line 1192 "conf_parser.y"
4208      {
4209    if (conf_parser_ctx.pass == 2)
4210      block_state.port.value |= OPER_FLAG_REMOTE;
4211   }
4212      break;
4213  
4214 <  case 178:
4215 < /* Line 1813 of yacc.c  */
4216 < #line 1134 "conf_parser.y"
4214 >  case 185:
4215 > /* Line 1787 of yacc.c  */
4216 > #line 1196 "conf_parser.y"
4217      {
4218    if (conf_parser_ctx.pass == 2)
4219      block_state.port.value |= OPER_FLAG_K;
4220   }
4221      break;
4222  
4223 <  case 179:
4224 < /* Line 1813 of yacc.c  */
4225 < #line 1138 "conf_parser.y"
4223 >  case 186:
4224 > /* Line 1787 of yacc.c  */
4225 > #line 1200 "conf_parser.y"
4226      {
4227    if (conf_parser_ctx.pass == 2)
4228      block_state.port.value |= OPER_FLAG_UNKLINE;
4229   }
4230      break;
4231  
4232 <  case 180:
4233 < /* Line 1813 of yacc.c  */
4234 < #line 1142 "conf_parser.y"
4232 >  case 187:
4233 > /* Line 1787 of yacc.c  */
4234 > #line 1204 "conf_parser.y"
4235      {
4236    if (conf_parser_ctx.pass == 2)
4237      block_state.port.value |= OPER_FLAG_DLINE;
4238   }
4239      break;
4240  
4241 <  case 181:
4242 < /* Line 1813 of yacc.c  */
4243 < #line 1146 "conf_parser.y"
4241 >  case 188:
4242 > /* Line 1787 of yacc.c  */
4243 > #line 1208 "conf_parser.y"
4244      {
4245    if (conf_parser_ctx.pass == 2)
4246      block_state.port.value |= OPER_FLAG_UNDLINE;
4247   }
4248      break;
4249  
4250 <  case 182:
4251 < /* Line 1813 of yacc.c  */
4252 < #line 1150 "conf_parser.y"
4250 >  case 189:
4251 > /* Line 1787 of yacc.c  */
4252 > #line 1212 "conf_parser.y"
4253      {
4254    if (conf_parser_ctx.pass == 2)
4255      block_state.port.value |= OPER_FLAG_X;
4256   }
4257      break;
4258  
4259 <  case 183:
4260 < /* Line 1813 of yacc.c  */
4261 < #line 1154 "conf_parser.y"
4259 >  case 190:
4260 > /* Line 1787 of yacc.c  */
4261 > #line 1216 "conf_parser.y"
4262      {
4263    if (conf_parser_ctx.pass == 2)
4264      block_state.port.value |= OPER_FLAG_GLINE;
4265   }
4266      break;
4267  
4268 <  case 184:
4269 < /* Line 1813 of yacc.c  */
4270 < #line 1158 "conf_parser.y"
4268 >  case 191:
4269 > /* Line 1787 of yacc.c  */
4270 > #line 1220 "conf_parser.y"
4271      {
4272    if (conf_parser_ctx.pass == 2)
4273      block_state.port.value |= OPER_FLAG_DIE;
4274   }
4275      break;
4276  
4277 <  case 185:
4278 < /* Line 1813 of yacc.c  */
4279 < #line 1162 "conf_parser.y"
4277 >  case 192:
4278 > /* Line 1787 of yacc.c  */
4279 > #line 1224 "conf_parser.y"
4280      {
4281    if (conf_parser_ctx.pass == 2)
4282      block_state.port.value |= OPER_FLAG_RESTART;
4283   }
4284      break;
4285  
4286 <  case 186:
4287 < /* Line 1813 of yacc.c  */
4288 < #line 1166 "conf_parser.y"
4286 >  case 193:
4287 > /* Line 1787 of yacc.c  */
4288 > #line 1228 "conf_parser.y"
4289      {
4290    if (conf_parser_ctx.pass == 2)
4291      block_state.port.value |= OPER_FLAG_REHASH;
4292   }
4293      break;
4294  
4295 <  case 187:
4296 < /* Line 1813 of yacc.c  */
4297 < #line 1170 "conf_parser.y"
4295 >  case 194:
4296 > /* Line 1787 of yacc.c  */
4297 > #line 1232 "conf_parser.y"
4298      {
4299    if (conf_parser_ctx.pass == 2)
4300      block_state.port.value |= OPER_FLAG_ADMIN;
4301   }
4302      break;
4303  
4304 <  case 188:
4305 < /* Line 1813 of yacc.c  */
4306 < #line 1174 "conf_parser.y"
4254 <    {
4255 <  if (conf_parser_ctx.pass == 2)
4256 <    block_state.port.value |= OPER_FLAG_N;
4257 < }
4258 <    break;
4259 <
4260 <  case 189:
4261 < /* Line 1813 of yacc.c  */
4262 < #line 1178 "conf_parser.y"
4304 >  case 195:
4305 > /* Line 1787 of yacc.c  */
4306 > #line 1236 "conf_parser.y"
4307      {
4308    if (conf_parser_ctx.pass == 2)
4309      block_state.port.value |= OPER_FLAG_OPERWALL;
4310   }
4311      break;
4312  
4313 <  case 190:
4314 < /* Line 1813 of yacc.c  */
4315 < #line 1182 "conf_parser.y"
4313 >  case 196:
4314 > /* Line 1787 of yacc.c  */
4315 > #line 1240 "conf_parser.y"
4316      {
4317    if (conf_parser_ctx.pass == 2)
4318      block_state.port.value |= OPER_FLAG_GLOBOPS;
4319   }
4320      break;
4321  
4322 <  case 191:
4323 < /* Line 1813 of yacc.c  */
4324 < #line 1186 "conf_parser.y"
4322 >  case 197:
4323 > /* Line 1787 of yacc.c  */
4324 > #line 1244 "conf_parser.y"
4325      {
4326    if (conf_parser_ctx.pass == 2)
4327      block_state.port.value |= OPER_FLAG_OPER_SPY;
4328   }
4329      break;
4330  
4331 <  case 192:
4332 < /* Line 1813 of yacc.c  */
4333 < #line 1190 "conf_parser.y"
4331 >  case 198:
4332 > /* Line 1787 of yacc.c  */
4333 > #line 1248 "conf_parser.y"
4334      {
4335    if (conf_parser_ctx.pass == 2)
4336      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4337   }
4338      break;
4339  
4340 <  case 193:
4341 < /* Line 1813 of yacc.c  */
4342 < #line 1194 "conf_parser.y"
4340 >  case 199:
4341 > /* Line 1787 of yacc.c  */
4342 > #line 1252 "conf_parser.y"
4343      {
4344    if (conf_parser_ctx.pass == 2)
4345      block_state.port.value |= OPER_FLAG_SET;
4346   }
4347      break;
4348  
4349 <  case 194:
4350 < /* Line 1813 of yacc.c  */
4351 < #line 1198 "conf_parser.y"
4349 >  case 200:
4350 > /* Line 1787 of yacc.c  */
4351 > #line 1256 "conf_parser.y"
4352      {
4353    if (conf_parser_ctx.pass == 2)
4354      block_state.port.value |= OPER_FLAG_MODULE;
4355   }
4356      break;
4357  
4358 <  case 195:
4359 < /* Line 1813 of yacc.c  */
4360 < #line 1208 "conf_parser.y"
4358 >  case 201:
4359 > /* Line 1787 of yacc.c  */
4360 > #line 1266 "conf_parser.y"
4361      {
4362 <  if (conf_parser_ctx.pass == 1)
4363 <  {
4364 <    yy_class = class_make();
4365 <  }
4362 >  if (conf_parser_ctx.pass != 1)
4363 >    break;
4364 >
4365 >  reset_block_state();
4366 >
4367 >  block_state.ping_freq.value = DEFAULT_PINGFREQUENCY;
4368 >  block_state.con_freq.value  = DEFAULT_CONNECTFREQUENCY;
4369 >  block_state.max_total.value = MAXIMUM_LINKS_DEFAULT;
4370 >  block_state.max_sendq.value = DEFAULT_SENDQ;
4371 >  block_state.max_recvq.value = DEFAULT_RECVQ;
4372   }
4373      break;
4374  
4375 <  case 196:
4376 < /* Line 1813 of yacc.c  */
4377 < #line 1214 "conf_parser.y"
4375 >  case 202:
4376 > /* Line 1787 of yacc.c  */
4377 > #line 1278 "conf_parser.y"
4378      {
4379 <  if (conf_parser_ctx.pass == 1)
4330 <  {
4331 <    struct ClassItem *class = NULL;
4379 >  struct ClassItem *class = NULL;
4380  
4381 <    if (yy_class_name == NULL)
4382 <      class_free(yy_class);
4335 <    else
4336 <    {
4337 <      class = class_find(yy_class_name, 0);
4381 >  if (conf_parser_ctx.pass != 1)
4382 >    break;
4383  
4384 <      if (class != NULL)                /* The class existed already */
4385 <      {
4341 <        int user_count = 0;
4384 >  if (!block_state.class.buf[0])
4385 >    break;
4386  
4387 <        rebuild_cidr_class(class, yy_class);
4387 >  if (!(class = class_find(block_state.class.buf, 0)))
4388 >    class = class_make();
4389  
4390 <        user_count = class->ref_count;
4391 <        memcpy(class, yy_class, sizeof(*class));
4392 <        class->ref_count = user_count;
4393 <        class->active = 1;
4390 >  class->active = 1;
4391 >  MyFree(class->name);
4392 >  class->name = xstrdup(block_state.class.buf);
4393 >  class->ping_freq = block_state.ping_freq.value;
4394 >  class->max_perip = block_state.max_perip.value;
4395 >  class->con_freq = block_state.con_freq.value;
4396 >  class->max_total = block_state.max_total.value;
4397 >  class->max_global = block_state.max_global.value;
4398 >  class->max_local = block_state.max_local.value;
4399 >  class->max_ident = block_state.max_ident.value;
4400 >  class->max_sendq = block_state.max_sendq.value;
4401 >  class->max_recvq = block_state.max_recvq.value;
4402  
4403 <        class_free(yy_class);
4403 >  if (block_state.min_idle.value > block_state.max_idle.value)
4404 >  {
4405 >    block_state.min_idle.value = 0;
4406 >    block_state.max_idle.value = 0;
4407 >    block_state.flags.value &= ~CLASS_FLAGS_FAKE_IDLE;
4408 >  }
4409  
4410 <        MyFree(class->name);            /* Allows case change of class name */
4411 <        class->name = yy_class_name;
4412 <      }
4355 <      else      /* Brand new class */
4356 <      {
4357 <        MyFree(yy_class->name);          /* just in case it was allocated */
4358 <        yy_class->name = yy_class_name;
4359 <        yy_class->active = 1;
4360 <      }
4361 <    }
4410 >  class->flags = block_state.flags.value;
4411 >  class->min_idle = block_state.min_idle.value;
4412 >  class->max_idle = block_state.max_idle.value;
4413  
4414 <    yy_class_name = NULL;
4415 <  }
4414 >  if (class->number_per_cidr && block_state.number_per_cidr.value)
4415 >    if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
4416 >        (class->cidr_bitlen_ipv6 && block_state.cidr_bitlen_ipv6.value))
4417 >      if ((class->cidr_bitlen_ipv4 != block_state.cidr_bitlen_ipv4.value) ||
4418 >          (class->cidr_bitlen_ipv6 != block_state.cidr_bitlen_ipv6.value))
4419 >        rebuild_cidr_list(class);
4420 >
4421 >  class->cidr_bitlen_ipv4 = block_state.cidr_bitlen_ipv4.value;
4422 >  class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4423 >  class->number_per_cidr = block_state.number_per_cidr.value;
4424   }
4425      break;
4426  
4427 <  case 213:
4428 < /* Line 1813 of yacc.c  */
4429 < #line 1268 "conf_parser.y"
4427 >  case 222:
4428 > /* Line 1787 of yacc.c  */
4429 > #line 1344 "conf_parser.y"
4430      {
4431    if (conf_parser_ctx.pass == 1)
4432 <  {
4374 <    MyFree(yy_class_name);
4375 <    yy_class_name = xstrdup(yylval.string);
4376 <  }
4432 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4433   }
4434      break;
4435  
4436 <  case 214:
4437 < /* Line 1813 of yacc.c  */
4438 < #line 1277 "conf_parser.y"
4436 >  case 223:
4437 > /* Line 1787 of yacc.c  */
4438 > #line 1350 "conf_parser.y"
4439      {
4440    if (conf_parser_ctx.pass == 1)
4441 <    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4441 >    block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4442   }
4443      break;
4444  
4445 <  case 215:
4446 < /* Line 1813 of yacc.c  */
4447 < #line 1283 "conf_parser.y"
4445 >  case 224:
4446 > /* Line 1787 of yacc.c  */
4447 > #line 1356 "conf_parser.y"
4448      {
4449    if (conf_parser_ctx.pass == 1)
4450 <    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4450 >    block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4451   }
4452      break;
4453  
4454 <  case 216:
4455 < /* Line 1813 of yacc.c  */
4456 < #line 1289 "conf_parser.y"
4454 >  case 225:
4455 > /* Line 1787 of yacc.c  */
4456 > #line 1362 "conf_parser.y"
4457      {
4458    if (conf_parser_ctx.pass == 1)
4459 <    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4459 >    block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4460   }
4461      break;
4462  
4463 <  case 217:
4464 < /* Line 1813 of yacc.c  */
4465 < #line 1295 "conf_parser.y"
4463 >  case 226:
4464 > /* Line 1787 of yacc.c  */
4465 > #line 1368 "conf_parser.y"
4466      {
4467    if (conf_parser_ctx.pass == 1)
4468 <    yy_class->max_total = (yyvsp[(3) - (4)].number);
4468 >    block_state.max_total.value = (yyvsp[(3) - (4)].number);
4469   }
4470      break;
4471  
4472 <  case 218:
4473 < /* Line 1813 of yacc.c  */
4474 < #line 1301 "conf_parser.y"
4472 >  case 227:
4473 > /* Line 1787 of yacc.c  */
4474 > #line 1374 "conf_parser.y"
4475      {
4476    if (conf_parser_ctx.pass == 1)
4477 <    yy_class->max_global = (yyvsp[(3) - (4)].number);
4477 >    block_state.max_global.value = (yyvsp[(3) - (4)].number);
4478   }
4479      break;
4480  
4481 <  case 219:
4482 < /* Line 1813 of yacc.c  */
4483 < #line 1307 "conf_parser.y"
4481 >  case 228:
4482 > /* Line 1787 of yacc.c  */
4483 > #line 1380 "conf_parser.y"
4484      {
4485    if (conf_parser_ctx.pass == 1)
4486 <    yy_class->max_local = (yyvsp[(3) - (4)].number);
4486 >    block_state.max_local.value = (yyvsp[(3) - (4)].number);
4487   }
4488      break;
4489  
4490 <  case 220:
4491 < /* Line 1813 of yacc.c  */
4492 < #line 1313 "conf_parser.y"
4490 >  case 229:
4491 > /* Line 1787 of yacc.c  */
4492 > #line 1386 "conf_parser.y"
4493      {
4494    if (conf_parser_ctx.pass == 1)
4495 <    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4495 >    block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4496   }
4497      break;
4498  
4499 <  case 221:
4500 < /* Line 1813 of yacc.c  */
4501 < #line 1319 "conf_parser.y"
4499 >  case 230:
4500 > /* Line 1787 of yacc.c  */
4501 > #line 1392 "conf_parser.y"
4502      {
4503    if (conf_parser_ctx.pass == 1)
4504 <    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4504 >    block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4505   }
4506      break;
4507  
4508 <  case 222:
4509 < /* Line 1813 of yacc.c  */
4510 < #line 1325 "conf_parser.y"
4508 >  case 231:
4509 > /* Line 1787 of yacc.c  */
4510 > #line 1398 "conf_parser.y"
4511      {
4512    if (conf_parser_ctx.pass == 1)
4513      if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4514 <      yy_class->max_recvq = (yyvsp[(3) - (4)].number);
4514 >      block_state.max_recvq.value = (yyvsp[(3) - (4)].number);
4515   }
4516      break;
4517  
4518 <  case 223:
4519 < /* Line 1813 of yacc.c  */
4520 < #line 1332 "conf_parser.y"
4518 >  case 232:
4519 > /* Line 1787 of yacc.c  */
4520 > #line 1405 "conf_parser.y"
4521      {
4522    if (conf_parser_ctx.pass == 1)
4523 <    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4523 >    block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4524   }
4525      break;
4526  
4527 <  case 224:
4528 < /* Line 1813 of yacc.c  */
4529 < #line 1338 "conf_parser.y"
4527 >  case 233:
4528 > /* Line 1787 of yacc.c  */
4529 > #line 1411 "conf_parser.y"
4530      {
4531    if (conf_parser_ctx.pass == 1)
4532 <    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4532 >    block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4533   }
4534      break;
4535  
4536 <  case 225:
4537 < /* Line 1813 of yacc.c  */
4538 < #line 1344 "conf_parser.y"
4536 >  case 234:
4537 > /* Line 1787 of yacc.c  */
4538 > #line 1417 "conf_parser.y"
4539      {
4540    if (conf_parser_ctx.pass == 1)
4541 <    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4541 >    block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4542   }
4543      break;
4544  
4545 <  case 226:
4546 < /* Line 1813 of yacc.c  */
4547 < #line 1353 "conf_parser.y"
4545 >  case 235:
4546 > /* Line 1787 of yacc.c  */
4547 > #line 1423 "conf_parser.y"
4548 >    {
4549 >  if (conf_parser_ctx.pass != 1)
4550 >    break;
4551 >
4552 >  block_state.min_idle.value = (yyvsp[(3) - (4)].number);
4553 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4554 > }
4555 >    break;
4556 >
4557 >  case 236:
4558 > /* Line 1787 of yacc.c  */
4559 > #line 1432 "conf_parser.y"
4560 >    {
4561 >  if (conf_parser_ctx.pass != 1)
4562 >    break;
4563 >
4564 >  block_state.max_idle.value = (yyvsp[(3) - (4)].number);
4565 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4566 > }
4567 >    break;
4568 >
4569 >  case 237:
4570 > /* Line 1787 of yacc.c  */
4571 > #line 1441 "conf_parser.y"
4572 >    {
4573 >  if (conf_parser_ctx.pass == 1)
4574 >    block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4575 > }
4576 >    break;
4577 >
4578 >  case 241:
4579 > /* Line 1787 of yacc.c  */
4580 > #line 1448 "conf_parser.y"
4581 >    {
4582 >  if (conf_parser_ctx.pass == 1)
4583 >    block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4584 > }
4585 >    break;
4586 >
4587 >  case 242:
4588 > /* Line 1787 of yacc.c  */
4589 > #line 1452 "conf_parser.y"
4590 >    {
4591 >  if (conf_parser_ctx.pass == 1)
4592 >    block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4593 > }
4594 >    break;
4595 >
4596 >  case 243:
4597 > /* Line 1787 of yacc.c  */
4598 > #line 1462 "conf_parser.y"
4599      {
4600    if (conf_parser_ctx.pass == 2)
4601      reset_block_state();
4602   }
4603      break;
4604  
4605 <  case 228:
4606 < /* Line 1813 of yacc.c  */
4607 < #line 1359 "conf_parser.y"
4605 >  case 245:
4606 > /* Line 1787 of yacc.c  */
4607 > #line 1468 "conf_parser.y"
4608      {
4609    block_state.flags.value = 0;
4610   }
4611      break;
4612  
4613 <  case 232:
4614 < /* Line 1813 of yacc.c  */
4615 < #line 1365 "conf_parser.y"
4613 >  case 249:
4614 > /* Line 1787 of yacc.c  */
4615 > #line 1474 "conf_parser.y"
4616      {
4617    if (conf_parser_ctx.pass == 2)
4618      block_state.flags.value |= LISTENER_SSL;
4619   }
4620      break;
4621  
4622 <  case 233:
4623 < /* Line 1813 of yacc.c  */
4624 < #line 1369 "conf_parser.y"
4622 >  case 250:
4623 > /* Line 1787 of yacc.c  */
4624 > #line 1478 "conf_parser.y"
4625      {
4626    if (conf_parser_ctx.pass == 2)
4627 <    block_state.flags.value |=LISTENER_HIDDEN;
4627 >    block_state.flags.value |= LISTENER_HIDDEN;
4628   }
4629      break;
4630  
4631 <  case 234:
4632 < /* Line 1813 of yacc.c  */
4633 < #line 1373 "conf_parser.y"
4631 >  case 251:
4632 > /* Line 1787 of yacc.c  */
4633 > #line 1482 "conf_parser.y"
4634      {
4635    if (conf_parser_ctx.pass == 2)
4636 <   block_state.flags.value |=LISTENER_SERVER;
4636 >   block_state.flags.value |= LISTENER_SERVER;
4637   }
4638      break;
4639  
4640 <  case 242:
4641 < /* Line 1813 of yacc.c  */
4642 < #line 1381 "conf_parser.y"
4643 <    { block_state.flags.value |= 0; }
4640 >  case 259:
4641 > /* Line 1787 of yacc.c  */
4642 > #line 1490 "conf_parser.y"
4643 >    { block_state.flags.value = 0; }
4644      break;
4645  
4646 <  case 246:
4647 < /* Line 1813 of yacc.c  */
4648 < #line 1386 "conf_parser.y"
4646 >  case 263:
4647 > /* Line 1787 of yacc.c  */
4648 > #line 1495 "conf_parser.y"
4649      {
4650    if (conf_parser_ctx.pass == 2)
4651    {
# Line 4547 | Line 4654 | yyreduce:
4654        if (!ServerInfo.server_ctx)
4655   #endif
4656        {
4657 <        yyerror("SSL not available - port closed");
4657 >        conf_error_report("SSL not available - port closed");
4658          break;
4659        }
4660      add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
# Line 4555 | Line 4662 | yyreduce:
4662   }
4663      break;
4664  
4665 <  case 247:
4666 < /* Line 1813 of yacc.c  */
4667 < #line 1400 "conf_parser.y"
4665 >  case 264:
4666 > /* Line 1787 of yacc.c  */
4667 > #line 1509 "conf_parser.y"
4668      {
4669    if (conf_parser_ctx.pass == 2)
4670    {
# Line 4568 | Line 4675 | yyreduce:
4675        if (!ServerInfo.server_ctx)
4676   #endif
4677        {
4678 <        yyerror("SSL not available - port closed");
4678 >        conf_error_report("SSL not available - port closed");
4679          break;
4680        }
4681  
# Line 4578 | Line 4685 | yyreduce:
4685   }
4686      break;
4687  
4688 <  case 248:
4689 < /* Line 1813 of yacc.c  */
4690 < #line 1420 "conf_parser.y"
4688 >  case 265:
4689 > /* Line 1787 of yacc.c  */
4690 > #line 1529 "conf_parser.y"
4691      {
4692    if (conf_parser_ctx.pass == 2)
4693      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4694   }
4695      break;
4696  
4697 <  case 249:
4698 < /* Line 1813 of yacc.c  */
4699 < #line 1426 "conf_parser.y"
4697 >  case 266:
4698 > /* Line 1787 of yacc.c  */
4699 > #line 1535 "conf_parser.y"
4700      {
4701    if (conf_parser_ctx.pass == 2)
4702      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4703   }
4704      break;
4705  
4706 <  case 250:
4707 < /* Line 1813 of yacc.c  */
4708 < #line 1435 "conf_parser.y"
4706 >  case 267:
4707 > /* Line 1787 of yacc.c  */
4708 > #line 1544 "conf_parser.y"
4709      {
4710    if (conf_parser_ctx.pass == 2)
4711      reset_block_state();
4712   }
4713      break;
4714  
4715 <  case 251:
4716 < /* Line 1813 of yacc.c  */
4717 < #line 1439 "conf_parser.y"
4715 >  case 268:
4716 > /* Line 1787 of yacc.c  */
4717 > #line 1548 "conf_parser.y"
4718      {
4719    dlink_node *ptr = NULL;
4720  
# Line 4621 | Line 4728 | yyreduce:
4728  
4729      nuh.nuhmask  = ptr->data;
4730      nuh.nickptr  = NULL;
4731 <    nuh.userptr  = userbuf;
4732 <    nuh.hostptr  = hostbuf;
4731 >    nuh.userptr  = block_state.user.buf;
4732 >    nuh.hostptr  = block_state.host.buf;
4733      nuh.nicksize = 0;
4734 <    nuh.usersize = sizeof(userbuf);
4735 <    nuh.hostsize = sizeof(hostbuf);
4734 >    nuh.usersize = sizeof(block_state.user.buf);
4735 >    nuh.hostsize = sizeof(block_state.host.buf);
4736      split_nuh(&nuh);
4737  
4738      conf        = conf_make(CONF_CLIENT);
4739 <    conf->user  = xstrdup(collapse(userbuf));
4740 <    conf->host  = xstrdup(collapse(hostbuf));
4739 >    conf->user  = xstrdup(collapse(block_state.user.buf));
4740 >    conf->host  = xstrdup(collapse(block_state.host.buf));
4741  
4742 <    if (block_state.pass.buf[0])
4743 <      conf->passwd = xstrdup(block_state.pass.buf);
4742 >    if (block_state.rpass.buf[0])
4743 >      conf->passwd = xstrdup(block_state.rpass.buf);
4744      if (block_state.name.buf[0])
4745 <      conf->passwd = xstrdup(block_state.name.buf);
4745 >      conf->name = xstrdup(block_state.name.buf);
4746  
4747      conf->flags = block_state.flags.value;
4748      conf->port  = block_state.port.value;
# Line 4646 | Line 4753 | yyreduce:
4753   }
4754      break;
4755  
4756 <  case 263:
4757 < /* Line 1813 of yacc.c  */
4758 < #line 1482 "conf_parser.y"
4756 >  case 280:
4757 > /* Line 1787 of yacc.c  */
4758 > #line 1591 "conf_parser.y"
4759      {
4760    if (conf_parser_ctx.pass == 2)
4761      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4762   }
4763      break;
4764  
4765 <  case 264:
4766 < /* Line 1813 of yacc.c  */
4767 < #line 1488 "conf_parser.y"
4765 >  case 281:
4766 > /* Line 1787 of yacc.c  */
4767 > #line 1597 "conf_parser.y"
4768      {
4769    if (conf_parser_ctx.pass == 2)
4770 <    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
4770 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4771   }
4772      break;
4773  
4774 <  case 265:
4775 < /* Line 1813 of yacc.c  */
4776 < #line 1494 "conf_parser.y"
4774 >  case 282:
4775 > /* Line 1787 of yacc.c  */
4776 > #line 1603 "conf_parser.y"
4777      {
4778    if (conf_parser_ctx.pass == 2)
4779      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4780   }
4781      break;
4782  
4783 <  case 266:
4784 < /* Line 1813 of yacc.c  */
4785 < #line 1500 "conf_parser.y"
4783 >  case 283:
4784 > /* Line 1787 of yacc.c  */
4785 > #line 1609 "conf_parser.y"
4786      {
4787    if (conf_parser_ctx.pass == 2)
4788    {
# Line 4687 | Line 4794 | yyreduce:
4794   }
4795      break;
4796  
4797 <  case 267:
4798 < /* Line 1813 of yacc.c  */
4799 < #line 1511 "conf_parser.y"
4797 >  case 284:
4798 > /* Line 1787 of yacc.c  */
4799 > #line 1620 "conf_parser.y"
4800      {
4801    if (conf_parser_ctx.pass == 2)
4802 <    block_state.flags.value = 0;
4802 >    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
4803   }
4804      break;
4805  
4806 <  case 271:
4807 < /* Line 1813 of yacc.c  */
4808 < #line 1518 "conf_parser.y"
4806 >  case 288:
4807 > /* Line 1787 of yacc.c  */
4808 > #line 1627 "conf_parser.y"
4809      {
4810    if (conf_parser_ctx.pass == 2)
4811      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4812   }
4813      break;
4814  
4815 <  case 272:
4816 < /* Line 1813 of yacc.c  */
4817 < #line 1522 "conf_parser.y"
4815 >  case 289:
4816 > /* Line 1787 of yacc.c  */
4817 > #line 1631 "conf_parser.y"
4818      {
4819    if (conf_parser_ctx.pass == 2)
4820      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4821   }
4822      break;
4823  
4824 <  case 273:
4825 < /* Line 1813 of yacc.c  */
4826 < #line 1526 "conf_parser.y"
4824 >  case 290:
4825 > /* Line 1787 of yacc.c  */
4826 > #line 1635 "conf_parser.y"
4827      {
4828    if (conf_parser_ctx.pass == 2)
4829      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4830   }
4831      break;
4832  
4833 <  case 274:
4834 < /* Line 1813 of yacc.c  */
4835 < #line 1530 "conf_parser.y"
4833 >  case 291:
4834 > /* Line 1787 of yacc.c  */
4835 > #line 1639 "conf_parser.y"
4836      {
4837    if (conf_parser_ctx.pass == 2)
4838      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4839   }
4840      break;
4841  
4842 <  case 275:
4843 < /* Line 1813 of yacc.c  */
4844 < #line 1534 "conf_parser.y"
4842 >  case 292:
4843 > /* Line 1787 of yacc.c  */
4844 > #line 1643 "conf_parser.y"
4845      {
4846    if (conf_parser_ctx.pass == 2)
4847      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4848   }
4849      break;
4850  
4851 <  case 276:
4852 < /* Line 1813 of yacc.c  */
4853 < #line 1538 "conf_parser.y"
4851 >  case 293:
4852 > /* Line 1787 of yacc.c  */
4853 > #line 1647 "conf_parser.y"
4854      {
4855    if (conf_parser_ctx.pass == 2)
4856      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4857   }
4858      break;
4859  
4860 <  case 277:
4861 < /* Line 1813 of yacc.c  */
4862 < #line 1542 "conf_parser.y"
4860 >  case 294:
4861 > /* Line 1787 of yacc.c  */
4862 > #line 1651 "conf_parser.y"
4863      {
4864    if (conf_parser_ctx.pass == 2)
4865      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4866   }
4867      break;
4868  
4869 <  case 278:
4870 < /* Line 1813 of yacc.c  */
4871 < #line 1546 "conf_parser.y"
4869 >  case 295:
4870 > /* Line 1787 of yacc.c  */
4871 > #line 1655 "conf_parser.y"
4872      {
4873    if (conf_parser_ctx.pass == 2)
4874      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4875   }
4876      break;
4877  
4878 <  case 279:
4879 < /* Line 1813 of yacc.c  */
4880 < #line 1550 "conf_parser.y"
4878 >  case 296:
4879 > /* Line 1787 of yacc.c  */
4880 > #line 1659 "conf_parser.y"
4881 >    {
4882 >  if (conf_parser_ctx.pass == 2)
4883 >    block_state.flags.value |= CONF_FLAGS_WEBIRC;
4884 > }
4885 >    break;
4886 >
4887 >  case 297:
4888 > /* Line 1787 of yacc.c  */
4889 > #line 1663 "conf_parser.y"
4890      {
4891    if (conf_parser_ctx.pass == 2)
4892      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4893   }
4894      break;
4895  
4896 <  case 280:
4897 < /* Line 1813 of yacc.c  */
4898 < #line 1556 "conf_parser.y"
4896 >  case 298:
4897 > /* Line 1787 of yacc.c  */
4898 > #line 1669 "conf_parser.y"
4899      {
4900    if (conf_parser_ctx.pass != 2)
4901      break;
# Line 4794 | Line 4910 | yyreduce:
4910   }
4911      break;
4912  
4913 <  case 281:
4914 < /* Line 1813 of yacc.c  */
4915 < #line 1570 "conf_parser.y"
4913 >  case 299:
4914 > /* Line 1787 of yacc.c  */
4915 > #line 1683 "conf_parser.y"
4916      {
4917    if (conf_parser_ctx.pass != 2)
4918      break;
# Line 4806 | Line 4922 | yyreduce:
4922   }
4923      break;
4924  
4925 <  case 282:
4926 < /* Line 1813 of yacc.c  */
4927 < #line 1579 "conf_parser.y"
4925 >  case 300:
4926 > /* Line 1787 of yacc.c  */
4927 > #line 1692 "conf_parser.y"
4928      {
4929    if (conf_parser_ctx.pass != 2)
4930      break;
4931 +
4932    block_state.flags.value |= CONF_FLAGS_REDIR;
4933    block_state.port.value = (yyvsp[(3) - (4)].number);
4934   }
4935      break;
4936  
4937 <  case 283:
4938 < /* Line 1813 of yacc.c  */
4939 < #line 1591 "conf_parser.y"
4937 >  case 301:
4938 > /* Line 1787 of yacc.c  */
4939 > #line 1705 "conf_parser.y"
4940      {
4941 <  if (conf_parser_ctx.pass == 2)
4942 <  {
4943 <    MyFree(resv_reason);
4944 <    resv_reason = NULL;
4945 <  }
4941 >  if (conf_parser_ctx.pass != 2)
4942 >    break;
4943 >
4944 >  reset_block_state();
4945 >  strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4946   }
4947      break;
4948  
4949 <  case 284:
4950 < /* Line 1813 of yacc.c  */
4951 < #line 1598 "conf_parser.y"
4949 >  case 302:
4950 > /* Line 1787 of yacc.c  */
4951 > #line 1712 "conf_parser.y"
4952      {
4953 <  if (conf_parser_ctx.pass == 2)
4954 <  {
4955 <    MyFree(resv_reason);
4956 <    resv_reason = NULL;
4840 <  }
4953 >  if (conf_parser_ctx.pass != 2)
4954 >    break;
4955 >
4956 >  create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4957   }
4958      break;
4959  
4960 <  case 291:
4961 < /* Line 1813 of yacc.c  */
4962 < #line 1610 "conf_parser.y"
4960 >  case 309:
4961 > /* Line 1787 of yacc.c  */
4962 > #line 1723 "conf_parser.y"
4963      {
4964    if (conf_parser_ctx.pass == 2)
4965 <  {
4850 <    MyFree(resv_reason);
4851 <    resv_reason = xstrdup(yylval.string);
4852 <  }
4965 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4966   }
4967      break;
4968  
4969 <  case 292:
4970 < /* Line 1813 of yacc.c  */
4971 < #line 1619 "conf_parser.y"
4969 >  case 310:
4970 > /* Line 1787 of yacc.c  */
4971 > #line 1729 "conf_parser.y"
4972      {
4973    if (conf_parser_ctx.pass == 2)
4974 <  {
4862 <    if (IsChanPrefix(*yylval.string))
4863 <    {
4864 <      char def_reason[] = "No reason";
4865 <
4866 <      create_channel_resv(yylval.string, resv_reason != NULL ? resv_reason : def_reason, 1);
4867 <    }
4868 <  }
4869 <  /* ignore it for now.. but we really should make a warning if
4870 <   * its an erroneous name --fl_ */
4974 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4975   }
4976      break;
4977  
4978 <  case 293:
4979 < /* Line 1813 of yacc.c  */
4980 < #line 1634 "conf_parser.y"
4978 >  case 311:
4979 > /* Line 1787 of yacc.c  */
4980 > #line 1735 "conf_parser.y"
4981      {
4982    if (conf_parser_ctx.pass == 2)
4983 <  {
4880 <    char def_reason[] = "No reason";
4881 <
4882 <    create_nick_resv(yylval.string, resv_reason != NULL ? resv_reason : def_reason, 1);
4883 <  }
4983 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4984   }
4985      break;
4986  
4987 <  case 299:
4988 < /* Line 1813 of yacc.c  */
4989 < #line 1652 "conf_parser.y"
4987 >  case 317:
4988 > /* Line 1787 of yacc.c  */
4989 > #line 1750 "conf_parser.y"
4990      {
4991    if (conf_parser_ctx.pass == 2)
4992    {
4993      if (valid_servname(yylval.string))
4994      {
4995 <      yy_conf = conf_make(CONF_SERVICE);
4996 <      yy_conf->name = xstrdup(yylval.string);
4995 >      struct MaskItem *conf = conf_make(CONF_SERVICE);
4996 >      conf->name = xstrdup(yylval.string);
4997      }
4998    }
4999   }
5000      break;
5001  
5002 <  case 300:
5003 < /* Line 1813 of yacc.c  */
5004 < #line 1667 "conf_parser.y"
5002 >  case 318:
5003 > /* Line 1787 of yacc.c  */
5004 > #line 1765 "conf_parser.y"
5005      {
5006 <  if (conf_parser_ctx.pass == 2)
5007 <  {
5008 <    yy_conf = conf_make(CONF_ULINE);
5009 <    yy_conf->flags = SHARED_ALL;
5010 <  }
5006 >  if (conf_parser_ctx.pass != 2)
5007 >    break;
5008 >
5009 >  reset_block_state();
5010 >
5011 >  strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5012 >  strlcpy(block_state.user.buf, "*", sizeof(block_state.user.buf));
5013 >  strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
5014 >  block_state.flags.value = SHARED_ALL;
5015   }
5016      break;
5017  
5018 <  case 301:
5019 < /* Line 1813 of yacc.c  */
5020 < #line 1674 "conf_parser.y"
5018 >  case 319:
5019 > /* Line 1787 of yacc.c  */
5020 > #line 1776 "conf_parser.y"
5021      {
5022 <  if (conf_parser_ctx.pass == 2)
5023 <  {
5024 <    yy_conf = NULL;
5025 <  }
5022 >  struct MaskItem *conf = NULL;
5023 >
5024 >  if (conf_parser_ctx.pass != 2)
5025 >    break;
5026 >
5027 >  conf = conf_make(CONF_ULINE);
5028 >  conf->flags = block_state.flags.value;
5029 >  conf->name = xstrdup(block_state.name.buf);
5030 >  conf->user = xstrdup(block_state.user.buf);
5031 >  conf->host = xstrdup(block_state.host.buf);
5032   }
5033      break;
5034  
5035 <  case 308:
5036 < /* Line 1813 of yacc.c  */
5037 < #line 1685 "conf_parser.y"
5035 >  case 326:
5036 > /* Line 1787 of yacc.c  */
5037 > #line 1793 "conf_parser.y"
5038      {
5039    if (conf_parser_ctx.pass == 2)
5040 <  {
4931 <    MyFree(yy_conf->name);
4932 <    DupString(yy_conf->name, yylval.string);
4933 <  }
5040 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5041   }
5042      break;
5043  
5044 <  case 309:
5045 < /* Line 1813 of yacc.c  */
5046 < #line 1694 "conf_parser.y"
5044 >  case 327:
5045 > /* Line 1787 of yacc.c  */
5046 > #line 1799 "conf_parser.y"
5047      {
5048    if (conf_parser_ctx.pass == 2)
5049    {
# Line 4944 | Line 5051 | yyreduce:
5051  
5052      nuh.nuhmask  = yylval.string;
5053      nuh.nickptr  = NULL;
5054 <    nuh.userptr  = userbuf;
5055 <    nuh.hostptr  = hostbuf;
5054 >    nuh.userptr  = block_state.user.buf;
5055 >    nuh.hostptr  = block_state.host.buf;
5056  
5057      nuh.nicksize = 0;
5058 <    nuh.usersize = sizeof(userbuf);
5059 <    nuh.hostsize = sizeof(hostbuf);
5058 >    nuh.usersize = sizeof(block_state.user.buf);
5059 >    nuh.hostsize = sizeof(block_state.host.buf);
5060  
5061      split_nuh(&nuh);
4955
4956    DupString(yy_conf->user, userbuf);
4957    DupString(yy_conf->host, hostbuf);
5062    }
5063   }
5064      break;
5065  
5066 <  case 310:
5067 < /* Line 1813 of yacc.c  */
5068 < #line 1716 "conf_parser.y"
5066 >  case 328:
5067 > /* Line 1787 of yacc.c  */
5068 > #line 1818 "conf_parser.y"
5069      {
5070    if (conf_parser_ctx.pass == 2)
5071 <    yy_conf->flags = 0;
5071 >    block_state.flags.value = 0;
5072   }
5073      break;
5074  
5075 <  case 314:
5076 < /* Line 1813 of yacc.c  */
5077 < #line 1723 "conf_parser.y"
5075 >  case 332:
5076 > /* Line 1787 of yacc.c  */
5077 > #line 1825 "conf_parser.y"
5078      {
5079    if (conf_parser_ctx.pass == 2)
5080 <    yy_conf->flags |= SHARED_KLINE;
5080 >    block_state.flags.value |= SHARED_KLINE;
5081   }
5082      break;
5083  
5084 <  case 315:
5085 < /* Line 1813 of yacc.c  */
5086 < #line 1727 "conf_parser.y"
5084 >  case 333:
5085 > /* Line 1787 of yacc.c  */
5086 > #line 1829 "conf_parser.y"
5087      {
5088    if (conf_parser_ctx.pass == 2)
5089 <    yy_conf->flags |= SHARED_UNKLINE;
5089 >    block_state.flags.value |= SHARED_UNKLINE;
5090   }
5091      break;
5092  
5093 <  case 316:
5094 < /* Line 1813 of yacc.c  */
5095 < #line 1731 "conf_parser.y"
5093 >  case 334:
5094 > /* Line 1787 of yacc.c  */
5095 > #line 1833 "conf_parser.y"
5096      {
5097    if (conf_parser_ctx.pass == 2)
5098 <    yy_conf->flags |= SHARED_DLINE;
5098 >    block_state.flags.value |= SHARED_DLINE;
5099   }
5100      break;
5101  
5102 <  case 317:
5103 < /* Line 1813 of yacc.c  */
5104 < #line 1735 "conf_parser.y"
5102 >  case 335:
5103 > /* Line 1787 of yacc.c  */
5104 > #line 1837 "conf_parser.y"
5105      {
5106    if (conf_parser_ctx.pass == 2)
5107 <    yy_conf->flags |= SHARED_UNDLINE;
5107 >    block_state.flags.value |= SHARED_UNDLINE;
5108   }
5109      break;
5110  
5111 <  case 318:
5112 < /* Line 1813 of yacc.c  */
5113 < #line 1739 "conf_parser.y"
5111 >  case 336:
5112 > /* Line 1787 of yacc.c  */
5113 > #line 1841 "conf_parser.y"
5114      {
5115    if (conf_parser_ctx.pass == 2)
5116 <    yy_conf->flags |= SHARED_XLINE;
5116 >    block_state.flags.value |= SHARED_XLINE;
5117   }
5118      break;
5119  
5120 <  case 319:
5121 < /* Line 1813 of yacc.c  */
5122 < #line 1743 "conf_parser.y"
5120 >  case 337:
5121 > /* Line 1787 of yacc.c  */
5122 > #line 1845 "conf_parser.y"
5123      {
5124    if (conf_parser_ctx.pass == 2)
5125 <    yy_conf->flags |= SHARED_UNXLINE;
5125 >    block_state.flags.value |= SHARED_UNXLINE;
5126   }
5127      break;
5128  
5129 <  case 320:
5130 < /* Line 1813 of yacc.c  */
5131 < #line 1747 "conf_parser.y"
5129 >  case 338:
5130 > /* Line 1787 of yacc.c  */
5131 > #line 1849 "conf_parser.y"
5132      {
5133    if (conf_parser_ctx.pass == 2)
5134 <    yy_conf->flags |= SHARED_RESV;
5134 >    block_state.flags.value |= SHARED_RESV;
5135   }
5136      break;
5137  
5138 <  case 321:
5139 < /* Line 1813 of yacc.c  */
5140 < #line 1751 "conf_parser.y"
5138 >  case 339:
5139 > /* Line 1787 of yacc.c  */
5140 > #line 1853 "conf_parser.y"
5141      {
5142    if (conf_parser_ctx.pass == 2)
5143 <    yy_conf->flags |= SHARED_UNRESV;
5143 >    block_state.flags.value |= SHARED_UNRESV;
5144   }
5145      break;
5146  
5147 <  case 322:
5148 < /* Line 1813 of yacc.c  */
5149 < #line 1755 "conf_parser.y"
5147 >  case 340:
5148 > /* Line 1787 of yacc.c  */
5149 > #line 1857 "conf_parser.y"
5150      {
5151    if (conf_parser_ctx.pass == 2)
5152 <    yy_conf->flags |= SHARED_LOCOPS;
5152 >    block_state.flags.value |= SHARED_LOCOPS;
5153   }
5154      break;
5155  
5156 <  case 323:
5157 < /* Line 1813 of yacc.c  */
5158 < #line 1759 "conf_parser.y"
5156 >  case 341:
5157 > /* Line 1787 of yacc.c  */
5158 > #line 1861 "conf_parser.y"
5159      {
5160    if (conf_parser_ctx.pass == 2)
5161 <    yy_conf->flags = SHARED_ALL;
5161 >    block_state.flags.value = SHARED_ALL;
5162   }
5163      break;
5164  
5165 <  case 324:
5166 < /* Line 1813 of yacc.c  */
5167 < #line 1768 "conf_parser.y"
5165 >  case 342:
5166 > /* Line 1787 of yacc.c  */
5167 > #line 1870 "conf_parser.y"
5168      {
5169 <  if (conf_parser_ctx.pass == 2)
5170 <  {
5171 <    yy_conf = conf_make(CONF_CLUSTER);
5172 <  }
5169 >  if (conf_parser_ctx.pass != 2)
5170 >    break;
5171 >
5172 >  reset_block_state();
5173 >
5174 >  strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5175 >  block_state.flags.value = SHARED_ALL;
5176   }
5177      break;
5178  
5179 <  case 325:
5180 < /* Line 1813 of yacc.c  */
5181 < #line 1774 "conf_parser.y"
5179 >  case 343:
5180 > /* Line 1787 of yacc.c  */
5181 > #line 1879 "conf_parser.y"
5182      {
5183 <  if (conf_parser_ctx.pass == 2)
5184 <  {
5185 <    if (yy_conf->name == NULL)
5186 <      DupString(yy_conf->name, "*");
5187 <    yy_conf = NULL;
5188 <  }
5183 >  struct MaskItem *conf = NULL;
5184 >
5185 >  if (conf_parser_ctx.pass != 2)
5186 >    break;
5187 >
5188 >  conf = conf_make(CONF_CLUSTER);
5189 >  conf->flags = block_state.flags.value;
5190 >  conf->name = xstrdup(block_state.name.buf);
5191   }
5192      break;
5193  
5194 <  case 331:
5195 < /* Line 1813 of yacc.c  */
5196 < #line 1787 "conf_parser.y"
5194 >  case 349:
5195 > /* Line 1787 of yacc.c  */
5196 > #line 1894 "conf_parser.y"
5197      {
5198    if (conf_parser_ctx.pass == 2)
5199 <    DupString(yy_conf->name, yylval.string);
5199 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5200   }
5201      break;
5202  
5203 <  case 332:
5204 < /* Line 1813 of yacc.c  */
5205 < #line 1793 "conf_parser.y"
5203 >  case 350:
5204 > /* Line 1787 of yacc.c  */
5205 > #line 1900 "conf_parser.y"
5206      {
5207    if (conf_parser_ctx.pass == 2)
5208 <    yy_conf->flags = 0;
5208 >    block_state.flags.value = 0;
5209   }
5210      break;
5211  
5212 <  case 336:
5213 < /* Line 1813 of yacc.c  */
5214 < #line 1800 "conf_parser.y"
5212 >  case 354:
5213 > /* Line 1787 of yacc.c  */
5214 > #line 1907 "conf_parser.y"
5215      {
5216    if (conf_parser_ctx.pass == 2)
5217 <    yy_conf->flags |= SHARED_KLINE;
5217 >    block_state.flags.value |= SHARED_KLINE;
5218   }
5219      break;
5220  
5221 <  case 337:
5222 < /* Line 1813 of yacc.c  */
5223 < #line 1804 "conf_parser.y"
5221 >  case 355:
5222 > /* Line 1787 of yacc.c  */
5223 > #line 1911 "conf_parser.y"
5224      {
5225    if (conf_parser_ctx.pass == 2)
5226 <    yy_conf->flags |= SHARED_UNKLINE;
5226 >    block_state.flags.value |= SHARED_UNKLINE;
5227   }
5228      break;
5229  
5230 <  case 338:
5231 < /* Line 1813 of yacc.c  */
5232 < #line 1808 "conf_parser.y"
5230 >  case 356:
5231 > /* Line 1787 of yacc.c  */
5232 > #line 1915 "conf_parser.y"
5233      {
5234    if (conf_parser_ctx.pass == 2)
5235 <    yy_conf->flags |= SHARED_DLINE;
5235 >    block_state.flags.value |= SHARED_DLINE;
5236   }
5237      break;
5238  
5239 <  case 339:
5240 < /* Line 1813 of yacc.c  */
5241 < #line 1812 "conf_parser.y"
5239 >  case 357:
5240 > /* Line 1787 of yacc.c  */
5241 > #line 1919 "conf_parser.y"
5242      {
5243    if (conf_parser_ctx.pass == 2)
5244 <    yy_conf->flags |= SHARED_UNDLINE;
5244 >    block_state.flags.value |= SHARED_UNDLINE;
5245   }
5246      break;
5247  
5248 <  case 340:
5249 < /* Line 1813 of yacc.c  */
5250 < #line 1816 "conf_parser.y"
5248 >  case 358:
5249 > /* Line 1787 of yacc.c  */
5250 > #line 1923 "conf_parser.y"
5251      {
5252    if (conf_parser_ctx.pass == 2)
5253 <    yy_conf->flags |= SHARED_XLINE;
5253 >    block_state.flags.value |= SHARED_XLINE;
5254   }
5255      break;
5256  
5257 <  case 341:
5258 < /* Line 1813 of yacc.c  */
5259 < #line 1820 "conf_parser.y"
5257 >  case 359:
5258 > /* Line 1787 of yacc.c  */
5259 > #line 1927 "conf_parser.y"
5260      {
5261    if (conf_parser_ctx.pass == 2)
5262 <    yy_conf->flags |= SHARED_UNXLINE;
5262 >    block_state.flags.value |= SHARED_UNXLINE;
5263   }
5264      break;
5265  
5266 <  case 342:
5267 < /* Line 1813 of yacc.c  */
5268 < #line 1824 "conf_parser.y"
5266 >  case 360:
5267 > /* Line 1787 of yacc.c  */
5268 > #line 1931 "conf_parser.y"
5269      {
5270    if (conf_parser_ctx.pass == 2)
5271 <    yy_conf->flags |= SHARED_RESV;
5271 >    block_state.flags.value |= SHARED_RESV;
5272   }
5273      break;
5274  
5275 <  case 343:
5276 < /* Line 1813 of yacc.c  */
5277 < #line 1828 "conf_parser.y"
5275 >  case 361:
5276 > /* Line 1787 of yacc.c  */
5277 > #line 1935 "conf_parser.y"
5278      {
5279    if (conf_parser_ctx.pass == 2)
5280 <    yy_conf->flags |= SHARED_UNRESV;
5280 >    block_state.flags.value |= SHARED_UNRESV;
5281   }
5282      break;
5283  
5284 <  case 344:
5285 < /* Line 1813 of yacc.c  */
5286 < #line 1832 "conf_parser.y"
5284 >  case 362:
5285 > /* Line 1787 of yacc.c  */
5286 > #line 1939 "conf_parser.y"
5287      {
5288    if (conf_parser_ctx.pass == 2)
5289 <    yy_conf->flags |= SHARED_LOCOPS;
5289 >    block_state.flags.value |= SHARED_LOCOPS;
5290   }
5291      break;
5292  
5293 <  case 345:
5294 < /* Line 1813 of yacc.c  */
5295 < #line 1836 "conf_parser.y"
5293 >  case 363:
5294 > /* Line 1787 of yacc.c  */
5295 > #line 1943 "conf_parser.y"
5296      {
5297    if (conf_parser_ctx.pass == 2)
5298 <    yy_conf->flags = SHARED_ALL;
5298 >    block_state.flags.value = SHARED_ALL;
5299   }
5300      break;
5301  
5302 <  case 346:
5303 < /* Line 1813 of yacc.c  */
5304 < #line 1845 "conf_parser.y"
5302 >  case 364:
5303 > /* Line 1787 of yacc.c  */
5304 > #line 1952 "conf_parser.y"
5305      {
5197  if (conf_parser_ctx.pass == 2)
5198  {
5199    yy_conf = conf_make(CONF_SERVER);
5306  
5307 <    /* defaults */
5308 <    yy_conf->port = PORTNUM;
5309 <  }
5310 <  else
5311 <  {
5206 <    MyFree(class_name);
5207 <    class_name = NULL;
5208 <  }
5307 >  if (conf_parser_ctx.pass != 2)
5308 >    break;
5309 >
5310 >  reset_block_state();
5311 >  block_state.port.value = PORTNUM;
5312   }
5313      break;
5314  
5315 <  case 347:
5316 < /* Line 1813 of yacc.c  */
5317 < #line 1859 "conf_parser.y"
5215 <    {
5216 <  if (conf_parser_ctx.pass == 2)
5217 <  {
5218 <    if (yy_conf->host && yy_conf->passwd && yy_conf->spasswd)
5219 <    {
5220 <      if (conf_add_server(yy_conf, class_name) == -1)
5221 <        conf_free(yy_conf);
5222 <    }
5223 <    else
5315 >  case 365:
5316 > /* Line 1787 of yacc.c  */
5317 > #line 1960 "conf_parser.y"
5318      {
5319 <      if (yy_conf->name != NULL)
5320 <      {
5227 <        if (yy_conf->host == NULL)
5228 <          yyerror("Ignoring connect block -- missing host");
5229 <        else if (!yy_conf->passwd || !yy_conf->spasswd)
5230 <          yyerror("Ignoring connect block -- missing password");
5231 <      }
5319 >  struct MaskItem *conf = NULL;
5320 >  struct addrinfo hints, *res;
5321  
5322 <      /* XXX
5323 <       * This fixes a try_connections() core (caused by invalid class_ptr
5235 <       * pointers) reported by metalrock. That's an ugly fix, but there
5236 <       * is currently no better way. The entire config subsystem needs an
5237 <       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5238 <       * a doubly linked list immediately without any sanity checks!  -Michael
5239 <       */
5240 <      conf_free(yy_conf);
5241 <    }
5322 >  if (conf_parser_ctx.pass != 2)
5323 >    break;
5324  
5325 <    MyFree(class_name);
5326 <    class_name = NULL;
5245 <    yy_conf = NULL;
5246 <  }
5247 < }
5325 >  if (!block_state.name.buf[0] ||
5326 >      !block_state.host.buf[0])
5327      break;
5328  
5329 <  case 364:
5330 < /* Line 1813 of yacc.c  */
5252 < #line 1902 "conf_parser.y"
5253 <    {
5254 <  if (conf_parser_ctx.pass == 2)
5255 <  {
5256 <    MyFree(yy_conf->name);
5257 <    DupString(yy_conf->name, yylval.string);
5258 <  }
5259 < }
5329 >  if (!(block_state.rpass.buf[0] ||
5330 >        block_state.spass.buf[0]))
5331      break;
5332  
5333 <  case 365:
5334 < /* Line 1813 of yacc.c  */
5264 < #line 1911 "conf_parser.y"
5265 <    {
5266 <  if (conf_parser_ctx.pass == 2)
5267 <  {
5268 <    MyFree(yy_conf->host);
5269 <    DupString(yy_conf->host, yylval.string);
5270 <  }
5271 < }
5333 >  if (has_wildcards(block_state.name.buf) ||
5334 >      has_wildcards(block_state.host.buf))
5335      break;
5336  
5337 <  case 366:
5338 < /* Line 1813 of yacc.c  */
5339 < #line 1920 "conf_parser.y"
5340 <    {
5341 <  if (conf_parser_ctx.pass == 2)
5342 <  {
5343 <    struct addrinfo hints, *res;
5337 >  conf = conf_make(CONF_SERVER);
5338 >  conf->port = block_state.port.value;
5339 >  conf->flags = block_state.flags.value;
5340 >  conf->aftype = block_state.aftype.value;
5341 >  conf->host = xstrdup(block_state.host.buf);
5342 >  conf->name = xstrdup(block_state.name.buf);
5343 >  conf->passwd = xstrdup(block_state.rpass.buf);
5344 >  conf->spasswd = xstrdup(block_state.spass.buf);
5345 >  conf->cipher_list = xstrdup(block_state.ciph.buf);
5346  
5347 +  dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5348 +  dlinkMoveList(&block_state.hub.list, &conf->hub_list);
5349 +
5350 +  if (block_state.bind.buf[0])
5351 +  {
5352      memset(&hints, 0, sizeof(hints));
5353  
5354      hints.ai_family   = AF_UNSPEC;
5355      hints.ai_socktype = SOCK_STREAM;
5356      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
5357  
5358 <    if (getaddrinfo(yylval.string, NULL, &hints, &res))
5359 <      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
5358 >    if (getaddrinfo(block_state.bind.buf, NULL, &hints, &res))
5359 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", block_state.bind.buf);
5360      else
5361      {
5362        assert(res != NULL);
5363  
5364 <      memcpy(&yy_conf->bind, res->ai_addr, res->ai_addrlen);
5365 <      yy_conf->bind.ss.ss_family = res->ai_family;
5366 <      yy_conf->bind.ss_len = res->ai_addrlen;
5364 >      memcpy(&conf->bind, res->ai_addr, res->ai_addrlen);
5365 >      conf->bind.ss.ss_family = res->ai_family;
5366 >      conf->bind.ss_len = res->ai_addrlen;
5367        freeaddrinfo(res);
5368      }
5369    }
5370 +
5371 +  conf_add_class_to_conf(conf, block_state.class.buf);
5372 +  lookup_confhost(conf);
5373   }
5374      break;
5375  
5376 <  case 367:
5377 < /* Line 1813 of yacc.c  */
5378 < #line 1946 "conf_parser.y"
5376 >  case 382:
5377 > /* Line 1787 of yacc.c  */
5378 > #line 2026 "conf_parser.y"
5379      {
5380    if (conf_parser_ctx.pass == 2)
5381 <  {
5382 <    if ((yyvsp[(3) - (4)].string)[0] == ':')
5383 <      yyerror("Server passwords cannot begin with a colon");
5311 <    else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5312 <      yyerror("Server passwords cannot contain spaces");
5313 <    else {
5314 <      if (yy_conf->spasswd != NULL)
5315 <        memset(yy_conf->spasswd, 0, strlen(yy_conf->spasswd));
5381 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5382 > }
5383 >    break;
5384  
5385 <      MyFree(yy_conf->spasswd);
5386 <      DupString(yy_conf->spasswd, yylval.string);
5387 <    }
5388 <  }
5385 >  case 383:
5386 > /* Line 1787 of yacc.c  */
5387 > #line 2032 "conf_parser.y"
5388 >    {
5389 >  if (conf_parser_ctx.pass == 2)
5390 >    strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5391   }
5392      break;
5393  
5394 <  case 368:
5395 < /* Line 1813 of yacc.c  */
5396 < #line 1964 "conf_parser.y"
5394 >  case 384:
5395 > /* Line 1787 of yacc.c  */
5396 > #line 2038 "conf_parser.y"
5397      {
5398    if (conf_parser_ctx.pass == 2)
5399 <  {
5400 <    if ((yyvsp[(3) - (4)].string)[0] == ':')
5401 <      yyerror("Server passwords cannot begin with a colon");
5332 <    else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5333 <      yyerror("Server passwords cannot contain spaces");
5334 <    else {
5335 <      if (yy_conf->passwd != NULL)
5336 <        memset(yy_conf->passwd, 0, strlen(yy_conf->passwd));
5399 >    strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5400 > }
5401 >    break;
5402  
5403 <      MyFree(yy_conf->passwd);
5404 <      DupString(yy_conf->passwd, yylval.string);
5405 <    }
5406 <  }
5403 >  case 385:
5404 > /* Line 1787 of yacc.c  */
5405 > #line 2044 "conf_parser.y"
5406 >    {
5407 >  if (conf_parser_ctx.pass != 2)
5408 >    break;
5409 >
5410 >  if ((yyvsp[(3) - (4)].string)[0] == ':')
5411 >    conf_error_report("Server passwords cannot begin with a colon");
5412 >  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5413 >    conf_error_report("Server passwords cannot contain spaces");
5414 >  else
5415 >    strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5416 > }
5417 >    break;
5418 >
5419 >  case 386:
5420 > /* Line 1787 of yacc.c  */
5421 > #line 2057 "conf_parser.y"
5422 >    {
5423 >  if (conf_parser_ctx.pass != 2)
5424 >    break;
5425 >
5426 >  if ((yyvsp[(3) - (4)].string)[0] == ':')
5427 >    conf_error_report("Server passwords cannot begin with a colon");
5428 >  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5429 >    conf_error_report("Server passwords cannot contain spaces");
5430 >  else
5431 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5432   }
5433      break;
5434  
5435 <  case 369:
5436 < /* Line 1813 of yacc.c  */
5437 < #line 1982 "conf_parser.y"
5435 >  case 387:
5436 > /* Line 1787 of yacc.c  */
5437 > #line 2070 "conf_parser.y"
5438      {
5439    if (conf_parser_ctx.pass == 2)
5440 <    yy_conf->port = (yyvsp[(3) - (4)].number);
5440 >    block_state.port.value = (yyvsp[(3) - (4)].number);
5441   }
5442      break;
5443  
5444 <  case 370:
5445 < /* Line 1813 of yacc.c  */
5446 < #line 1988 "conf_parser.y"
5444 >  case 388:
5445 > /* Line 1787 of yacc.c  */
5446 > #line 2076 "conf_parser.y"
5447      {
5448    if (conf_parser_ctx.pass == 2)
5449 <    yy_conf->aftype = AF_INET;
5449 >    block_state.aftype.value = AF_INET;
5450   }
5451      break;
5452  
5453 <  case 371:
5454 < /* Line 1813 of yacc.c  */
5455 < #line 1992 "conf_parser.y"
5453 >  case 389:
5454 > /* Line 1787 of yacc.c  */
5455 > #line 2080 "conf_parser.y"
5456      {
5457   #ifdef IPV6
5458    if (conf_parser_ctx.pass == 2)
5459 <    yy_conf->aftype = AF_INET6;
5459 >    block_state.aftype.value = AF_INET6;
5460   #endif
5461   }
5462      break;
5463  
5464 <  case 372:
5465 < /* Line 1813 of yacc.c  */
5466 < #line 2000 "conf_parser.y"
5464 >  case 390:
5465 > /* Line 1787 of yacc.c  */
5466 > #line 2088 "conf_parser.y"
5467      {
5468 +  block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5469   }
5470      break;
5471  
5472 <  case 376:
5473 < /* Line 1813 of yacc.c  */
5474 < #line 2005 "conf_parser.y"
5472 >  case 394:
5473 > /* Line 1787 of yacc.c  */
5474 > #line 2094 "conf_parser.y"
5475      {
5476    if (conf_parser_ctx.pass == 2)
5477 <    SetConfAllowAutoConn(yy_conf);
5477 >    block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5478   }
5479      break;
5480  
5481 <  case 377:
5482 < /* Line 1813 of yacc.c  */
5483 < #line 2009 "conf_parser.y"
5481 >  case 395:
5482 > /* Line 1787 of yacc.c  */
5483 > #line 2098 "conf_parser.y"
5484      {
5485    if (conf_parser_ctx.pass == 2)
5486 <    SetConfSSL(yy_conf);
5486 >    block_state.flags.value |= CONF_FLAGS_SSL;
5487   }
5488      break;
5489  
5490 <  case 378:
5491 < /* Line 1813 of yacc.c  */
5492 < #line 2015 "conf_parser.y"
5490 >  case 396:
5491 > /* Line 1787 of yacc.c  */
5492 > #line 2104 "conf_parser.y"
5493      {
5494    if (conf_parser_ctx.pass == 2)
5495    {
5496      if (yylval.number)
5497 <      yy_conf->flags |= CONF_FLAGS_ENCRYPTED;
5497 >      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
5498      else
5499 <      yy_conf->flags &= ~CONF_FLAGS_ENCRYPTED;
5499 >      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5500    }
5501   }
5502      break;
5503  
5504 <  case 379:
5505 < /* Line 1813 of yacc.c  */
5506 < #line 2026 "conf_parser.y"
5504 >  case 397:
5505 > /* Line 1787 of yacc.c  */
5506 > #line 2115 "conf_parser.y"
5507      {
5508    if (conf_parser_ctx.pass == 2)
5509 <  {
5419 <    char *mask = xstrdup(yylval.string);
5420 <
5421 <    dlinkAdd(mask, make_dlink_node(), &yy_conf->hub_list);
5422 <  }
5509 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5510   }
5511      break;
5512  
5513 <  case 380:
5514 < /* Line 1813 of yacc.c  */
5515 < #line 2036 "conf_parser.y"
5513 >  case 398:
5514 > /* Line 1787 of yacc.c  */
5515 > #line 2121 "conf_parser.y"
5516      {
5517    if (conf_parser_ctx.pass == 2)
5518 <  {
5432 <    char *mask;
5433 <
5434 <    DupString(mask, yylval.string);
5435 <    dlinkAdd(mask, make_dlink_node(), &yy_conf->leaf_list);
5436 <  }
5518 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5519   }
5520      break;
5521  
5522 <  case 381:
5523 < /* Line 1813 of yacc.c  */
5524 < #line 2047 "conf_parser.y"
5522 >  case 399:
5523 > /* Line 1787 of yacc.c  */
5524 > #line 2127 "conf_parser.y"
5525      {
5526    if (conf_parser_ctx.pass == 2)
5527 <  {
5446 <    MyFree(class_name);
5447 <    DupString(class_name, yylval.string);
5448 <  }
5527 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5528   }
5529      break;
5530  
5531 <  case 382:
5532 < /* Line 1813 of yacc.c  */
5533 < #line 2056 "conf_parser.y"
5531 >  case 400:
5532 > /* Line 1787 of yacc.c  */
5533 > #line 2133 "conf_parser.y"
5534      {
5535   #ifdef HAVE_LIBCRYPTO
5536    if (conf_parser_ctx.pass == 2)
5537 <  {
5459 <    MyFree(yy_conf->cipher_list);
5460 <    DupString(yy_conf->cipher_list, yylval.string);
5461 <  }
5537 >    strlcpy(block_state.ciph.buf, yylval.string, sizeof(block_state.ciph.buf));
5538   #else
5539    if (conf_parser_ctx.pass == 2)
5540 <    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5540 >    conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5541   #endif
5542   }
5543      break;
5544  
5545 <  case 383:
5546 < /* Line 1813 of yacc.c  */
5547 < #line 2074 "conf_parser.y"
5545 >  case 401:
5546 > /* Line 1787 of yacc.c  */
5547 > #line 2148 "conf_parser.y"
5548      {
5549    if (conf_parser_ctx.pass == 2)
5550 <  {
5475 <    userbuf[0] = hostbuf[0] = reasonbuf[0] = '\0';
5476 <    regex_ban = 0;
5477 <  }
5550 >    reset_block_state();
5551   }
5552      break;
5553  
5554 <  case 384:
5555 < /* Line 1813 of yacc.c  */
5556 < #line 2081 "conf_parser.y"
5484 <    {
5485 <  if (conf_parser_ctx.pass == 2)
5486 <  {
5487 <    struct MaskItem *conf = NULL;
5488 <
5489 <    if (userbuf[0] && hostbuf[0])
5554 >  case 402:
5555 > /* Line 1787 of yacc.c  */
5556 > #line 2152 "conf_parser.y"
5557      {
5558 <      if (regex_ban)
5492 <      {
5493 < #ifdef HAVE_LIBPCRE
5494 <        void *exp_user = NULL;
5495 <        void *exp_host = NULL;
5496 <        const char *errptr = NULL;
5497 <
5498 <        if (!(exp_user = ircd_pcre_compile(userbuf, &errptr)) ||
5499 <            !(exp_host = ircd_pcre_compile(hostbuf, &errptr)))
5500 <        {
5501 <          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5502 <               errptr);
5503 <          break;
5504 <        }
5505 <
5506 <        conf = conf_make(CONF_RKLINE);
5507 <        conf->regexuser = exp_user;
5508 <        conf->regexhost = exp_host;
5509 <
5510 <        conf->user = xstrdup(userbuf);
5511 <        conf->host = xstrdup(hostbuf);
5512 <
5513 <        if (reasonbuf[0])
5514 <          conf->reason = xstrdup(reasonbuf);
5515 <        else
5516 <          conf->reason = xstrdup(CONF_NOREASON);
5517 < #else
5518 <        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5519 <        break;
5520 < #endif
5521 <      }
5522 <      else
5523 <      {
5524 <        conf = conf_make(CONF_KLINE);
5525 <
5526 <        conf->user = xstrdup(userbuf);
5527 <        conf->host = xstrdup(hostbuf);
5558 >  struct MaskItem *conf = NULL;
5559  
5560 <        if (reasonbuf[0])
5530 <          conf->reason = xstrdup(reasonbuf);
5531 <        else
5532 <          conf->reason = xstrdup(CONF_NOREASON);
5533 <        add_conf_by_address(CONF_KLINE, conf);
5534 <      }
5535 <    }
5536 <  }
5537 < }
5560 >  if (conf_parser_ctx.pass != 2)
5561      break;
5562  
5563 <  case 385:
5564 < /* Line 1813 of yacc.c  */
5542 < #line 2137 "conf_parser.y"
5543 <    {
5544 < }
5563 >  if (!block_state.user.buf[0] ||
5564 >      !block_state.host.buf[0])
5565      break;
5566  
5567 <  case 389:
5568 < /* Line 1813 of yacc.c  */
5569 < #line 2142 "conf_parser.y"
5570 <    {
5571 <  if (conf_parser_ctx.pass == 2)
5572 <    regex_ban = 1;
5567 >  conf = conf_make(CONF_KLINE);
5568 >  conf->user = xstrdup(block_state.user.buf);
5569 >  conf->host = xstrdup(block_state.host.buf);
5570 >
5571 >  if (block_state.rpass.buf[0])
5572 >    conf->reason = xstrdup(block_state.rpass.buf);
5573 >  else
5574 >    conf->reason = xstrdup(CONF_NOREASON);
5575 >  add_conf_by_address(CONF_KLINE, conf);
5576   }
5577      break;
5578  
5579 <  case 396:
5580 < /* Line 1813 of yacc.c  */
5581 < #line 2151 "conf_parser.y"
5579 >  case 408:
5580 > /* Line 1787 of yacc.c  */
5581 > #line 2177 "conf_parser.y"
5582      {
5583 +
5584    if (conf_parser_ctx.pass == 2)
5585    {
5586      struct split_nuh_item nuh;
5587  
5588      nuh.nuhmask  = yylval.string;
5589      nuh.nickptr  = NULL;
5590 <    nuh.userptr  = userbuf;
5591 <    nuh.hostptr  = hostbuf;
5590 >    nuh.userptr  = block_state.user.buf;
5591 >    nuh.hostptr  = block_state.host.buf;
5592  
5593      nuh.nicksize = 0;
5594 <    nuh.usersize = sizeof(userbuf);
5595 <    nuh.hostsize = sizeof(hostbuf);
5594 >    nuh.usersize = sizeof(block_state.user.buf);
5595 >    nuh.hostsize = sizeof(block_state.host.buf);
5596  
5597      split_nuh(&nuh);
5598    }
5599   }
5600      break;
5601  
5602 <  case 397:
5603 < /* Line 1813 of yacc.c  */
5604 < #line 2170 "conf_parser.y"
5602 >  case 409:
5603 > /* Line 1787 of yacc.c  */
5604 > #line 2197 "conf_parser.y"
5605      {
5606    if (conf_parser_ctx.pass == 2)
5607 <    strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5607 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5608   }
5609      break;
5610  
5611 <  case 398:
5612 < /* Line 1813 of yacc.c  */
5613 < #line 2179 "conf_parser.y"
5611 >  case 410:
5612 > /* Line 1787 of yacc.c  */
5613 > #line 2206 "conf_parser.y"
5614      {
5615    if (conf_parser_ctx.pass == 2)
5616      reset_block_state();
5617   }
5618      break;
5619  
5620 <  case 399:
5621 < /* Line 1813 of yacc.c  */
5622 < #line 2183 "conf_parser.y"
5620 >  case 411:
5621 > /* Line 1787 of yacc.c  */
5622 > #line 2210 "conf_parser.y"
5623      {
5624    struct MaskItem *conf = NULL;
5625  
# Line 5610 | Line 5634 | yyreduce:
5634      conf = conf_make(CONF_DLINE);
5635      conf->host = xstrdup(block_state.addr.buf);
5636  
5637 <    if (block_state.pass.buf[0])
5638 <      conf->reason = xstrdup(block_state.pass.buf);
5637 >    if (block_state.rpass.buf[0])
5638 >      conf->reason = xstrdup(block_state.rpass.buf);
5639      else
5640        conf->reason = xstrdup(CONF_NOREASON);
5641      add_conf_by_address(CONF_DLINE, conf);
# Line 5619 | Line 5643 | yyreduce:
5643   }
5644      break;
5645  
5646 <  case 405:
5647 < /* Line 1813 of yacc.c  */
5648 < #line 2209 "conf_parser.y"
5646 >  case 417:
5647 > /* Line 1787 of yacc.c  */
5648 > #line 2236 "conf_parser.y"
5649      {
5650    if (conf_parser_ctx.pass == 2)
5651      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5652   }
5653      break;
5654  
5655 <  case 406:
5656 < /* Line 1813 of yacc.c  */
5657 < #line 2215 "conf_parser.y"
5655 >  case 418:
5656 > /* Line 1787 of yacc.c  */
5657 > #line 2242 "conf_parser.y"
5658      {
5659    if (conf_parser_ctx.pass == 2)
5660 <    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
5660 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5661   }
5662      break;
5663  
5664 <  case 412:
5665 < /* Line 1813 of yacc.c  */
5666 < #line 2229 "conf_parser.y"
5664 >  case 424:
5665 > /* Line 1787 of yacc.c  */
5666 > #line 2256 "conf_parser.y"
5667      {
5668    if (conf_parser_ctx.pass == 2)
5669    {
# Line 5654 | Line 5678 | yyreduce:
5678   }
5679      break;
5680  
5681 <  case 413:
5682 < /* Line 1813 of yacc.c  */
5683 < #line 2246 "conf_parser.y"
5681 >  case 425:
5682 > /* Line 1787 of yacc.c  */
5683 > #line 2273 "conf_parser.y"
5684      {
5685    if (conf_parser_ctx.pass == 2)
5686      reset_block_state();
5687   }
5688      break;
5689  
5690 <  case 414:
5691 < /* Line 1813 of yacc.c  */
5692 < #line 2250 "conf_parser.y"
5690 >  case 426:
5691 > /* Line 1787 of yacc.c  */
5692 > #line 2277 "conf_parser.y"
5693      {
5694    struct MaskItem *conf = NULL;
5695  
# Line 5675 | Line 5699 | yyreduce:
5699    if (!block_state.name.buf[0])
5700      break;
5701  
5702 <  if (block_state.port.value == 1)
5679 <  {
5680 < #ifdef HAVE_LIBPCRE
5681 <    void *exp_p = NULL;
5682 <    const char *errptr = NULL;
5683 <
5684 <    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5685 <    {
5686 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5687 <           errptr);
5688 <      break;
5689 <    }
5690 <
5691 <    conf = conf_make(CONF_RXLINE);
5692 <    conf->regexuser = exp_p;
5693 < #else
5694 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5695 <    break;
5696 < #endif
5697 <  }
5698 <  else
5699 <    conf = conf_make(CONF_XLINE);
5700 <
5702 >  conf = conf_make(CONF_XLINE);
5703    conf->name = xstrdup(block_state.name.buf);
5704  
5705 <  if (block_state.pass.buf[0])
5706 <    conf->reason = xstrdup(block_state.pass.buf);
5705 >  if (block_state.rpass.buf[0])
5706 >    conf->reason = xstrdup(block_state.rpass.buf);
5707    else
5708      conf->reason = xstrdup(CONF_NOREASON);
5709   }
5710      break;
5711  
5712 <  case 415:
5713 < /* Line 1813 of yacc.c  */
5714 < #line 2291 "conf_parser.y"
5713 <    {
5714 <  if (conf_parser_ctx.pass == 2)
5715 <    block_state.port.value = 0;
5716 < }
5717 <    break;
5718 <
5719 <  case 419:
5720 < /* Line 1813 of yacc.c  */
5721 < #line 2298 "conf_parser.y"
5722 <    {
5723 <  if (conf_parser_ctx.pass == 2)
5724 <    block_state.port.value = 1;
5725 < }
5726 <    break;
5727 <
5728 <  case 426:
5729 < /* Line 1813 of yacc.c  */
5730 < #line 2307 "conf_parser.y"
5712 >  case 432:
5713 > /* Line 1787 of yacc.c  */
5714 > #line 2299 "conf_parser.y"
5715      {
5716    if (conf_parser_ctx.pass == 2)
5717      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5718   }
5719      break;
5720  
5721 <  case 427:
5722 < /* Line 1813 of yacc.c  */
5723 < #line 2313 "conf_parser.y"
5721 >  case 433:
5722 > /* Line 1787 of yacc.c  */
5723 > #line 2305 "conf_parser.y"
5724      {
5725    if (conf_parser_ctx.pass == 2)
5726 <    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
5726 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5727   }
5728      break;
5729  
5730 <  case 481:
5731 < /* Line 1813 of yacc.c  */
5732 < #line 2358 "conf_parser.y"
5730 >  case 486:
5731 > /* Line 1787 of yacc.c  */
5732 > #line 2349 "conf_parser.y"
5733      {
5734    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5735   }
5736      break;
5737  
5738 <  case 482:
5739 < /* Line 1813 of yacc.c  */
5740 < #line 2363 "conf_parser.y"
5738 >  case 487:
5739 > /* Line 1787 of yacc.c  */
5740 > #line 2354 "conf_parser.y"
5741      {
5742    if (conf_parser_ctx.pass == 2)
5743      ConfigFileEntry.glines = yylval.number;
5744   }
5745      break;
5746  
5747 <  case 483:
5748 < /* Line 1813 of yacc.c  */
5749 < #line 2369 "conf_parser.y"
5747 >  case 488:
5748 > /* Line 1787 of yacc.c  */
5749 > #line 2360 "conf_parser.y"
5750      {
5751    if (conf_parser_ctx.pass == 2)
5752      ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5753   }
5754      break;
5755  
5756 <  case 484:
5757 < /* Line 1813 of yacc.c  */
5758 < #line 2375 "conf_parser.y"
5756 >  case 489:
5757 > /* Line 1787 of yacc.c  */
5758 > #line 2366 "conf_parser.y"
5759      {
5760    if (conf_parser_ctx.pass == 2)
5761      ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5762   }
5763      break;
5764  
5765 <  case 485:
5766 < /* Line 1813 of yacc.c  */
5767 < #line 2381 "conf_parser.y"
5765 >  case 490:
5766 > /* Line 1787 of yacc.c  */
5767 > #line 2372 "conf_parser.y"
5768      {
5769    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5770   }
5771      break;
5772  
5773 <  case 486:
5774 < /* Line 1813 of yacc.c  */
5775 < #line 2386 "conf_parser.y"
5773 >  case 491:
5774 > /* Line 1787 of yacc.c  */
5775 > #line 2377 "conf_parser.y"
5776      {
5777    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5778   }
5779      break;
5780  
5781 <  case 487:
5782 < /* Line 1813 of yacc.c  */
5783 < #line 2391 "conf_parser.y"
5781 >  case 492:
5782 > /* Line 1787 of yacc.c  */
5783 > #line 2382 "conf_parser.y"
5784      {
5785    ConfigFileEntry.tkline_expire_notices = yylval.number;
5786   }
5787      break;
5788  
5789 <  case 488:
5790 < /* Line 1813 of yacc.c  */
5791 < #line 2396 "conf_parser.y"
5789 >  case 493:
5790 > /* Line 1787 of yacc.c  */
5791 > #line 2387 "conf_parser.y"
5792      {
5793    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5794   }
5795      break;
5796  
5797 <  case 489:
5798 < /* Line 1813 of yacc.c  */
5799 < #line 2401 "conf_parser.y"
5797 >  case 494:
5798 > /* Line 1787 of yacc.c  */
5799 > #line 2392 "conf_parser.y"
5800      {
5801    ConfigFileEntry.hide_spoof_ips = yylval.number;
5802   }
5803      break;
5804  
5805 <  case 490:
5806 < /* Line 1813 of yacc.c  */
5807 < #line 2406 "conf_parser.y"
5805 >  case 495:
5806 > /* Line 1787 of yacc.c  */
5807 > #line 2397 "conf_parser.y"
5808      {
5809    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5810   }
5811      break;
5812  
5813 <  case 491:
5814 < /* Line 1813 of yacc.c  */
5815 < #line 2411 "conf_parser.y"
5813 >  case 496:
5814 > /* Line 1787 of yacc.c  */
5815 > #line 2402 "conf_parser.y"
5816      {
5817    ConfigFileEntry.disable_remote = yylval.number;
5818   }
5819      break;
5820  
5821 <  case 492:
5822 < /* Line 1813 of yacc.c  */
5823 < #line 2416 "conf_parser.y"
5821 >  case 497:
5822 > /* Line 1787 of yacc.c  */
5823 > #line 2407 "conf_parser.y"
5824      {
5825    ConfigFileEntry.failed_oper_notice = yylval.number;
5826   }
5827      break;
5828  
5829 <  case 493:
5830 < /* Line 1813 of yacc.c  */
5831 < #line 2421 "conf_parser.y"
5829 >  case 498:
5830 > /* Line 1787 of yacc.c  */
5831 > #line 2412 "conf_parser.y"
5832      {
5833    ConfigFileEntry.anti_nick_flood = yylval.number;
5834   }
5835      break;
5836  
5837 <  case 494:
5838 < /* Line 1813 of yacc.c  */
5839 < #line 2426 "conf_parser.y"
5837 >  case 499:
5838 > /* Line 1787 of yacc.c  */
5839 > #line 2417 "conf_parser.y"
5840      {
5841    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5842   }
5843      break;
5844  
5845 <  case 495:
5846 < /* Line 1813 of yacc.c  */
5847 < #line 2431 "conf_parser.y"
5845 >  case 500:
5846 > /* Line 1787 of yacc.c  */
5847 > #line 2422 "conf_parser.y"
5848      {
5849    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5850   }
5851      break;
5852  
5853 <  case 496:
5854 < /* Line 1813 of yacc.c  */
5855 < #line 2436 "conf_parser.y"
5853 >  case 501:
5854 > /* Line 1787 of yacc.c  */
5855 > #line 2427 "conf_parser.y"
5856      {
5857    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5858   }
5859      break;
5860  
5861 <  case 497:
5862 < /* Line 1813 of yacc.c  */
5863 < #line 2441 "conf_parser.y"
5861 >  case 502:
5862 > /* Line 1787 of yacc.c  */
5863 > #line 2432 "conf_parser.y"
5864      {
5865    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5866   }
5867      break;
5868  
5869 <  case 498:
5870 < /* Line 1813 of yacc.c  */
5871 < #line 2446 "conf_parser.y"
5869 >  case 503:
5870 > /* Line 1787 of yacc.c  */
5871 > #line 2437 "conf_parser.y"
5872      {
5873    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5874   }
5875      break;
5876  
5877 <  case 499:
5878 < /* Line 1813 of yacc.c  */
5879 < #line 2451 "conf_parser.y"
5877 >  case 504:
5878 > /* Line 1787 of yacc.c  */
5879 > #line 2442 "conf_parser.y"
5880      {
5881    if (conf_parser_ctx.pass == 2)
5882      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5883   }
5884      break;
5885  
5886 <  case 500:
5887 < /* Line 1813 of yacc.c  */
5888 < #line 2457 "conf_parser.y"
5886 >  case 505:
5887 > /* Line 1787 of yacc.c  */
5888 > #line 2448 "conf_parser.y"
5889      {
5890    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
5891    {
# Line 5913 | Line 5897 | yyreduce:
5897   }
5898      break;
5899  
5900 <  case 501:
5901 < /* Line 1813 of yacc.c  */
5902 < #line 2468 "conf_parser.y"
5900 >  case 506:
5901 > /* Line 1787 of yacc.c  */
5902 > #line 2459 "conf_parser.y"
5903      {
5904    ConfigFileEntry.invisible_on_connect = yylval.number;
5905   }
5906      break;
5907  
5908 <  case 502:
5909 < /* Line 1813 of yacc.c  */
5910 < #line 2473 "conf_parser.y"
5908 >  case 507:
5909 > /* Line 1787 of yacc.c  */
5910 > #line 2464 "conf_parser.y"
5911      {
5912    ConfigFileEntry.warn_no_nline = yylval.number;
5913   }
5914      break;
5915  
5916 <  case 503:
5917 < /* Line 1813 of yacc.c  */
5918 < #line 2478 "conf_parser.y"
5916 >  case 508:
5917 > /* Line 1787 of yacc.c  */
5918 > #line 2469 "conf_parser.y"
5919      {
5920    ConfigFileEntry.stats_e_disabled = yylval.number;
5921   }
5922      break;
5923  
5924 <  case 504:
5925 < /* Line 1813 of yacc.c  */
5926 < #line 2483 "conf_parser.y"
5924 >  case 509:
5925 > /* Line 1787 of yacc.c  */
5926 > #line 2474 "conf_parser.y"
5927      {
5928    ConfigFileEntry.stats_o_oper_only = yylval.number;
5929   }
5930      break;
5931  
5932 <  case 505:
5933 < /* Line 1813 of yacc.c  */
5934 < #line 2488 "conf_parser.y"
5932 >  case 510:
5933 > /* Line 1787 of yacc.c  */
5934 > #line 2479 "conf_parser.y"
5935      {
5936    ConfigFileEntry.stats_P_oper_only = yylval.number;
5937   }
5938      break;
5939  
5940 <  case 506:
5941 < /* Line 1813 of yacc.c  */
5942 < #line 2493 "conf_parser.y"
5940 >  case 511:
5941 > /* Line 1787 of yacc.c  */
5942 > #line 2484 "conf_parser.y"
5943      {
5944    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5945   }
5946      break;
5947  
5948 <  case 507:
5949 < /* Line 1813 of yacc.c  */
5950 < #line 2496 "conf_parser.y"
5948 >  case 512:
5949 > /* Line 1787 of yacc.c  */
5950 > #line 2487 "conf_parser.y"
5951      {
5952    ConfigFileEntry.stats_k_oper_only = 1;
5953   }
5954      break;
5955  
5956 <  case 508:
5957 < /* Line 1813 of yacc.c  */
5958 < #line 2501 "conf_parser.y"
5956 >  case 513:
5957 > /* Line 1787 of yacc.c  */
5958 > #line 2492 "conf_parser.y"
5959      {
5960    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5961   }
5962      break;
5963  
5964 <  case 509:
5965 < /* Line 1813 of yacc.c  */
5966 < #line 2504 "conf_parser.y"
5964 >  case 514:
5965 > /* Line 1787 of yacc.c  */
5966 > #line 2495 "conf_parser.y"
5967      {
5968    ConfigFileEntry.stats_i_oper_only = 1;
5969   }
5970      break;
5971  
5972 <  case 510:
5973 < /* Line 1813 of yacc.c  */
5974 < #line 2509 "conf_parser.y"
5972 >  case 515:
5973 > /* Line 1787 of yacc.c  */
5974 > #line 2500 "conf_parser.y"
5975      {
5976    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5977   }
5978      break;
5979  
5980 <  case 511:
5981 < /* Line 1813 of yacc.c  */
5982 < #line 2514 "conf_parser.y"
5980 >  case 516:
5981 > /* Line 1787 of yacc.c  */
5982 > #line 2505 "conf_parser.y"
5983      {
5984    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5985   }
5986      break;
5987  
5988 <  case 512:
5989 < /* Line 1813 of yacc.c  */
5990 < #line 2519 "conf_parser.y"
5988 >  case 517:
5989 > /* Line 1787 of yacc.c  */
5990 > #line 2510 "conf_parser.y"
5991      {
5992    ConfigFileEntry.opers_bypass_callerid = yylval.number;
5993   }
5994      break;
5995  
5996 <  case 513:
5997 < /* Line 1813 of yacc.c  */
5998 < #line 2524 "conf_parser.y"
5996 >  case 518:
5997 > /* Line 1787 of yacc.c  */
5998 > #line 2515 "conf_parser.y"
5999      {
6000    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6001   }
6002      break;
6003  
6004 <  case 514:
6005 < /* Line 1813 of yacc.c  */
6006 < #line 2529 "conf_parser.y"
6004 >  case 519:
6005 > /* Line 1787 of yacc.c  */
6006 > #line 2520 "conf_parser.y"
6007      {
6008    ConfigFileEntry.short_motd = yylval.number;
6009   }
6010      break;
6011  
6012 <  case 515:
6013 < /* Line 1813 of yacc.c  */
6014 < #line 2534 "conf_parser.y"
6012 >  case 520:
6013 > /* Line 1787 of yacc.c  */
6014 > #line 2525 "conf_parser.y"
6015      {
6016    ConfigFileEntry.no_oper_flood = yylval.number;
6017   }
6018      break;
6019  
6020 <  case 516:
6021 < /* Line 1813 of yacc.c  */
6022 < #line 2539 "conf_parser.y"
6020 >  case 521:
6021 > /* Line 1787 of yacc.c  */
6022 > #line 2530 "conf_parser.y"
6023      {
6024    ConfigFileEntry.true_no_oper_flood = yylval.number;
6025   }
6026      break;
6027  
6028 <  case 517:
6029 < /* Line 1813 of yacc.c  */
6030 < #line 2544 "conf_parser.y"
6028 >  case 522:
6029 > /* Line 1787 of yacc.c  */
6030 > #line 2535 "conf_parser.y"
6031      {
6032    ConfigFileEntry.oper_pass_resv = yylval.number;
6033   }
6034      break;
6035  
6036 <  case 518:
6037 < /* Line 1813 of yacc.c  */
6038 < #line 2549 "conf_parser.y"
6055 <    {
6056 <  if (conf_parser_ctx.pass == 2)
6057 <  {
6058 <    if (strlen(yylval.string) > LOCALE_LENGTH-2)
6059 <      yylval.string[LOCALE_LENGTH-1] = '\0';
6060 <
6061 <    set_locale(yylval.string);
6062 <  }
6063 < }
6064 <    break;
6065 <
6066 <  case 519:
6067 < /* Line 1813 of yacc.c  */
6068 < #line 2560 "conf_parser.y"
6036 >  case 523:
6037 > /* Line 1787 of yacc.c  */
6038 > #line 2540 "conf_parser.y"
6039      {
6040    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6041   }
6042      break;
6043  
6044 <  case 520:
6045 < /* Line 1813 of yacc.c  */
6046 < #line 2565 "conf_parser.y"
6044 >  case 524:
6045 > /* Line 1787 of yacc.c  */
6046 > #line 2545 "conf_parser.y"
6047      {
6048    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6049   }
6050      break;
6051  
6052 <  case 521:
6053 < /* Line 1813 of yacc.c  */
6054 < #line 2570 "conf_parser.y"
6052 >  case 525:
6053 > /* Line 1787 of yacc.c  */
6054 > #line 2550 "conf_parser.y"
6055      {
6056    ConfigFileEntry.use_egd = yylval.number;
6057   }
6058      break;
6059  
6060 <  case 522:
6061 < /* Line 1813 of yacc.c  */
6062 < #line 2575 "conf_parser.y"
6060 >  case 526:
6061 > /* Line 1787 of yacc.c  */
6062 > #line 2555 "conf_parser.y"
6063      {
6064    if (conf_parser_ctx.pass == 2)
6065    {
# Line 6099 | Line 6069 | yyreduce:
6069   }
6070      break;
6071  
6072 <  case 523:
6073 < /* Line 1813 of yacc.c  */
6074 < #line 2584 "conf_parser.y"
6072 >  case 527:
6073 > /* Line 1787 of yacc.c  */
6074 > #line 2564 "conf_parser.y"
6075      {
6076    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6077    {
# Line 6111 | Line 6081 | yyreduce:
6081   }
6082      break;
6083  
6084 <  case 524:
6085 < /* Line 1813 of yacc.c  */
6086 < #line 2593 "conf_parser.y"
6084 >  case 528:
6085 > /* Line 1787 of yacc.c  */
6086 > #line 2573 "conf_parser.y"
6087      {
6088    ConfigFileEntry.ping_cookie = yylval.number;
6089   }
6090      break;
6091  
6092 <  case 525:
6093 < /* Line 1813 of yacc.c  */
6094 < #line 2598 "conf_parser.y"
6092 >  case 529:
6093 > /* Line 1787 of yacc.c  */
6094 > #line 2578 "conf_parser.y"
6095      {
6096    ConfigFileEntry.disable_auth = yylval.number;
6097   }
6098      break;
6099  
6100 <  case 526:
6101 < /* Line 1813 of yacc.c  */
6102 < #line 2603 "conf_parser.y"
6100 >  case 530:
6101 > /* Line 1787 of yacc.c  */
6102 > #line 2583 "conf_parser.y"
6103      {
6104    ConfigFileEntry.throttle_time = yylval.number;
6105   }
6106      break;
6107  
6108 <  case 527:
6109 < /* Line 1813 of yacc.c  */
6110 < #line 2608 "conf_parser.y"
6108 >  case 531:
6109 > /* Line 1787 of yacc.c  */
6110 > #line 2588 "conf_parser.y"
6111      {
6112    ConfigFileEntry.oper_umodes = 0;
6113   }
6114      break;
6115  
6116 <  case 531:
6117 < /* Line 1813 of yacc.c  */
6118 < #line 2614 "conf_parser.y"
6116 >  case 535:
6117 > /* Line 1787 of yacc.c  */
6118 > #line 2594 "conf_parser.y"
6119      {
6120    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6121   }
6122      break;
6123  
6124 <  case 532:
6125 < /* Line 1813 of yacc.c  */
6126 < #line 2617 "conf_parser.y"
6124 >  case 536:
6125 > /* Line 1787 of yacc.c  */
6126 > #line 2597 "conf_parser.y"
6127      {
6128    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6129   }
6130      break;
6131  
6132 <  case 533:
6133 < /* Line 1813 of yacc.c  */
6134 < #line 2620 "conf_parser.y"
6132 >  case 537:
6133 > /* Line 1787 of yacc.c  */
6134 > #line 2600 "conf_parser.y"
6135      {
6136    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6137   }
6138      break;
6139  
6140 <  case 534:
6141 < /* Line 1813 of yacc.c  */
6142 < #line 2623 "conf_parser.y"
6140 >  case 538:
6141 > /* Line 1787 of yacc.c  */
6142 > #line 2603 "conf_parser.y"
6143      {
6144    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6145   }
6146      break;
6147  
6148 <  case 535:
6149 < /* Line 1813 of yacc.c  */
6150 < #line 2626 "conf_parser.y"
6148 >  case 539:
6149 > /* Line 1787 of yacc.c  */
6150 > #line 2606 "conf_parser.y"
6151      {
6152    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6153   }
6154      break;
6155  
6156 <  case 536:
6157 < /* Line 1813 of yacc.c  */
6158 < #line 2629 "conf_parser.y"
6156 >  case 540:
6157 > /* Line 1787 of yacc.c  */
6158 > #line 2609 "conf_parser.y"
6159      {
6160    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6161   }
6162      break;
6163  
6164 <  case 537:
6165 < /* Line 1813 of yacc.c  */
6166 < #line 2632 "conf_parser.y"
6164 >  case 541:
6165 > /* Line 1787 of yacc.c  */
6166 > #line 2612 "conf_parser.y"
6167      {
6168    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6169   }
6170      break;
6171  
6172 <  case 538:
6173 < /* Line 1813 of yacc.c  */
6174 < #line 2635 "conf_parser.y"
6172 >  case 542:
6173 > /* Line 1787 of yacc.c  */
6174 > #line 2615 "conf_parser.y"
6175      {
6176    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6177   }
6178      break;
6179  
6180 <  case 539:
6181 < /* Line 1813 of yacc.c  */
6182 < #line 2638 "conf_parser.y"
6180 >  case 543:
6181 > /* Line 1787 of yacc.c  */
6182 > #line 2618 "conf_parser.y"
6183      {
6184    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6185   }
6186      break;
6187  
6188 <  case 540:
6189 < /* Line 1813 of yacc.c  */
6190 < #line 2641 "conf_parser.y"
6188 >  case 544:
6189 > /* Line 1787 of yacc.c  */
6190 > #line 2621 "conf_parser.y"
6191      {
6192    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6193   }
6194      break;
6195  
6196 <  case 541:
6197 < /* Line 1813 of yacc.c  */
6198 < #line 2644 "conf_parser.y"
6196 >  case 545:
6197 > /* Line 1787 of yacc.c  */
6198 > #line 2624 "conf_parser.y"
6199      {
6200    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6201   }
6202      break;
6203  
6204 <  case 542:
6205 < /* Line 1813 of yacc.c  */
6206 < #line 2647 "conf_parser.y"
6204 >  case 546:
6205 > /* Line 1787 of yacc.c  */
6206 > #line 2627 "conf_parser.y"
6207      {
6208    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6209   }
6210      break;
6211  
6212 <  case 543:
6213 < /* Line 1813 of yacc.c  */
6214 < #line 2650 "conf_parser.y"
6212 >  case 547:
6213 > /* Line 1787 of yacc.c  */
6214 > #line 2630 "conf_parser.y"
6215      {
6216    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6217   }
6218      break;
6219  
6220 <  case 544:
6221 < /* Line 1813 of yacc.c  */
6222 < #line 2653 "conf_parser.y"
6220 >  case 548:
6221 > /* Line 1787 of yacc.c  */
6222 > #line 2633 "conf_parser.y"
6223      {
6224    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6225   }
6226      break;
6227  
6228 <  case 545:
6229 < /* Line 1813 of yacc.c  */
6230 < #line 2656 "conf_parser.y"
6228 >  case 549:
6229 > /* Line 1787 of yacc.c  */
6230 > #line 2636 "conf_parser.y"
6231      {
6232    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6233   }
6234      break;
6235  
6236 <  case 546:
6237 < /* Line 1813 of yacc.c  */
6238 < #line 2659 "conf_parser.y"
6236 >  case 550:
6237 > /* Line 1787 of yacc.c  */
6238 > #line 2639 "conf_parser.y"
6239      {
6240    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6241   }
6242      break;
6243  
6244 <  case 547:
6245 < /* Line 1813 of yacc.c  */
6246 < #line 2662 "conf_parser.y"
6244 >  case 551:
6245 > /* Line 1787 of yacc.c  */
6246 > #line 2642 "conf_parser.y"
6247      {
6248    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6249   }
6250      break;
6251  
6252 <  case 548:
6253 < /* Line 1813 of yacc.c  */
6254 < #line 2665 "conf_parser.y"
6252 >  case 552:
6253 > /* Line 1787 of yacc.c  */
6254 > #line 2645 "conf_parser.y"
6255      {
6256    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6257   }
6258      break;
6259  
6260 <  case 549:
6261 < /* Line 1813 of yacc.c  */
6262 < #line 2668 "conf_parser.y"
6260 >  case 553:
6261 > /* Line 1787 of yacc.c  */
6262 > #line 2648 "conf_parser.y"
6263      {
6264    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6265   }
6266      break;
6267  
6268 <  case 550:
6269 < /* Line 1813 of yacc.c  */
6270 < #line 2671 "conf_parser.y"
6268 >  case 554:
6269 > /* Line 1787 of yacc.c  */
6270 > #line 2651 "conf_parser.y"
6271      {
6272    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6273   }
6274      break;
6275  
6276 <  case 551:
6277 < /* Line 1813 of yacc.c  */
6278 < #line 2676 "conf_parser.y"
6276 >  case 555:
6277 > /* Line 1787 of yacc.c  */
6278 > #line 2656 "conf_parser.y"
6279      {
6280    ConfigFileEntry.oper_only_umodes = 0;
6281   }
6282      break;
6283  
6284 <  case 555:
6285 < /* Line 1813 of yacc.c  */
6286 < #line 2682 "conf_parser.y"
6284 >  case 559:
6285 > /* Line 1787 of yacc.c  */
6286 > #line 2662 "conf_parser.y"
6287      {
6288    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6289   }
6290      break;
6291  
6292 <  case 556:
6293 < /* Line 1813 of yacc.c  */
6294 < #line 2685 "conf_parser.y"
6292 >  case 560:
6293 > /* Line 1787 of yacc.c  */
6294 > #line 2665 "conf_parser.y"
6295      {
6296    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6297   }
6298      break;
6299  
6300 <  case 557:
6301 < /* Line 1813 of yacc.c  */
6302 < #line 2688 "conf_parser.y"
6300 >  case 561:
6301 > /* Line 1787 of yacc.c  */
6302 > #line 2668 "conf_parser.y"
6303      {
6304    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6305   }
6306      break;
6307  
6308 <  case 558:
6309 < /* Line 1813 of yacc.c  */
6310 < #line 2691 "conf_parser.y"
6308 >  case 562:
6309 > /* Line 1787 of yacc.c  */
6310 > #line 2671 "conf_parser.y"
6311      {
6312    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6313   }
6314      break;
6315  
6316 <  case 559:
6317 < /* Line 1813 of yacc.c  */
6318 < #line 2694 "conf_parser.y"
6316 >  case 563:
6317 > /* Line 1787 of yacc.c  */
6318 > #line 2674 "conf_parser.y"
6319      {
6320    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6321   }
6322      break;
6323  
6324 <  case 560:
6325 < /* Line 1813 of yacc.c  */
6326 < #line 2697 "conf_parser.y"
6324 >  case 564:
6325 > /* Line 1787 of yacc.c  */
6326 > #line 2677 "conf_parser.y"
6327      {
6328    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6329   }
6330      break;
6331  
6332 <  case 561:
6333 < /* Line 1813 of yacc.c  */
6334 < #line 2700 "conf_parser.y"
6332 >  case 565:
6333 > /* Line 1787 of yacc.c  */
6334 > #line 2680 "conf_parser.y"
6335      {
6336    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6337   }
6338      break;
6339  
6340 <  case 562:
6341 < /* Line 1813 of yacc.c  */
6342 < #line 2703 "conf_parser.y"
6340 >  case 566:
6341 > /* Line 1787 of yacc.c  */
6342 > #line 2683 "conf_parser.y"
6343      {
6344    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6345   }
6346      break;
6347  
6348 <  case 563:
6349 < /* Line 1813 of yacc.c  */
6350 < #line 2706 "conf_parser.y"
6348 >  case 567:
6349 > /* Line 1787 of yacc.c  */
6350 > #line 2686 "conf_parser.y"
6351      {
6352    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6353   }
6354      break;
6355  
6356 <  case 564:
6357 < /* Line 1813 of yacc.c  */
6358 < #line 2709 "conf_parser.y"
6356 >  case 568:
6357 > /* Line 1787 of yacc.c  */
6358 > #line 2689 "conf_parser.y"
6359      {
6360    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6361   }
6362      break;
6363  
6364 <  case 565:
6365 < /* Line 1813 of yacc.c  */
6366 < #line 2712 "conf_parser.y"
6364 >  case 569:
6365 > /* Line 1787 of yacc.c  */
6366 > #line 2692 "conf_parser.y"
6367      {
6368    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6369   }
6370      break;
6371  
6372 <  case 566:
6373 < /* Line 1813 of yacc.c  */
6374 < #line 2715 "conf_parser.y"
6372 >  case 570:
6373 > /* Line 1787 of yacc.c  */
6374 > #line 2695 "conf_parser.y"
6375      {
6376    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6377   }
6378      break;
6379  
6380 <  case 567:
6381 < /* Line 1813 of yacc.c  */
6382 < #line 2718 "conf_parser.y"
6380 >  case 571:
6381 > /* Line 1787 of yacc.c  */
6382 > #line 2698 "conf_parser.y"
6383      {
6384    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6385   }
6386      break;
6387  
6388 <  case 568:
6389 < /* Line 1813 of yacc.c  */
6390 < #line 2721 "conf_parser.y"
6388 >  case 572:
6389 > /* Line 1787 of yacc.c  */
6390 > #line 2701 "conf_parser.y"
6391      {
6392    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6393   }
6394      break;
6395  
6396 <  case 569:
6397 < /* Line 1813 of yacc.c  */
6398 < #line 2724 "conf_parser.y"
6396 >  case 573:
6397 > /* Line 1787 of yacc.c  */
6398 > #line 2704 "conf_parser.y"
6399      {
6400    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6401   }
6402      break;
6403  
6404 <  case 570:
6405 < /* Line 1813 of yacc.c  */
6406 < #line 2727 "conf_parser.y"
6404 >  case 574:
6405 > /* Line 1787 of yacc.c  */
6406 > #line 2707 "conf_parser.y"
6407      {
6408    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6409   }
6410      break;
6411  
6412 <  case 571:
6413 < /* Line 1813 of yacc.c  */
6414 < #line 2730 "conf_parser.y"
6412 >  case 575:
6413 > /* Line 1787 of yacc.c  */
6414 > #line 2710 "conf_parser.y"
6415      {
6416    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6417   }
6418      break;
6419  
6420 <  case 572:
6421 < /* Line 1813 of yacc.c  */
6422 < #line 2733 "conf_parser.y"
6420 >  case 576:
6421 > /* Line 1787 of yacc.c  */
6422 > #line 2713 "conf_parser.y"
6423      {
6424    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6425   }
6426      break;
6427  
6428 <  case 573:
6429 < /* Line 1813 of yacc.c  */
6430 < #line 2736 "conf_parser.y"
6428 >  case 577:
6429 > /* Line 1787 of yacc.c  */
6430 > #line 2716 "conf_parser.y"
6431      {
6432    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6433   }
6434      break;
6435  
6436 <  case 574:
6437 < /* Line 1813 of yacc.c  */
6438 < #line 2739 "conf_parser.y"
6436 >  case 578:
6437 > /* Line 1787 of yacc.c  */
6438 > #line 2719 "conf_parser.y"
6439      {
6440    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6441   }
6442      break;
6443  
6444 <  case 575:
6445 < /* Line 1813 of yacc.c  */
6446 < #line 2744 "conf_parser.y"
6444 >  case 579:
6445 > /* Line 1787 of yacc.c  */
6446 > #line 2722 "conf_parser.y"
6447      {
6448 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6448 >  ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6449   }
6450      break;
6451  
6452 <  case 576:
6453 < /* Line 1813 of yacc.c  */
6454 < #line 2749 "conf_parser.y"
6452 >  case 580:
6453 > /* Line 1787 of yacc.c  */
6454 > #line 2727 "conf_parser.y"
6455      {
6456 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6456 >  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6457   }
6458      break;
6459  
6460 <  case 577:
6461 < /* Line 1813 of yacc.c  */
6462 < #line 2754 "conf_parser.y"
6460 >  case 581:
6461 > /* Line 1787 of yacc.c  */
6462 > #line 2732 "conf_parser.y"
6463      {
6464 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6464 >  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6465   }
6466      break;
6467  
6468 <  case 596:
6469 < /* Line 1813 of yacc.c  */
6470 < #line 2777 "conf_parser.y"
6468 >  case 582:
6469 > /* Line 1787 of yacc.c  */
6470 > #line 2737 "conf_parser.y"
6471      {
6472 <  ConfigChannel.disable_fake_channels = yylval.number;
6472 >  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6473   }
6474      break;
6475  
6476 <  case 597:
6477 < /* Line 1813 of yacc.c  */
6478 < #line 2782 "conf_parser.y"
6476 >  case 599:
6477 > /* Line 1787 of yacc.c  */
6478 > #line 2760 "conf_parser.y"
6479      {
6480 <  ConfigChannel.restrict_channels = yylval.number;
6480 >  ConfigChannel.disable_fake_channels = yylval.number;
6481   }
6482      break;
6483  
6484 <  case 598:
6485 < /* Line 1813 of yacc.c  */
6486 < #line 2787 "conf_parser.y"
6484 >  case 600:
6485 > /* Line 1787 of yacc.c  */
6486 > #line 2765 "conf_parser.y"
6487      {
6488    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6489   }
6490      break;
6491  
6492 <  case 599:
6493 < /* Line 1813 of yacc.c  */
6494 < #line 2792 "conf_parser.y"
6492 >  case 601:
6493 > /* Line 1787 of yacc.c  */
6494 > #line 2770 "conf_parser.y"
6495      {
6496    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6497   }
6498      break;
6499  
6500 <  case 600:
6501 < /* Line 1813 of yacc.c  */
6502 < #line 2797 "conf_parser.y"
6500 >  case 602:
6501 > /* Line 1787 of yacc.c  */
6502 > #line 2775 "conf_parser.y"
6503      {
6504    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6505   }
6506      break;
6507  
6508 <  case 601:
6509 < /* Line 1813 of yacc.c  */
6510 < #line 2802 "conf_parser.y"
6508 >  case 603:
6509 > /* Line 1787 of yacc.c  */
6510 > #line 2780 "conf_parser.y"
6511      {
6512    ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6513   }
6514      break;
6515  
6516 <  case 602:
6517 < /* Line 1813 of yacc.c  */
6518 < #line 2807 "conf_parser.y"
6549 <    {
6550 <  ConfigChannel.quiet_on_ban = yylval.number;
6551 < }
6552 <    break;
6553 <
6554 <  case 603:
6555 < /* Line 1813 of yacc.c  */
6556 < #line 2812 "conf_parser.y"
6516 >  case 604:
6517 > /* Line 1787 of yacc.c  */
6518 > #line 2785 "conf_parser.y"
6519      {
6520    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6521   }
6522      break;
6523  
6524 <  case 604:
6525 < /* Line 1813 of yacc.c  */
6526 < #line 2817 "conf_parser.y"
6524 >  case 605:
6525 > /* Line 1787 of yacc.c  */
6526 > #line 2790 "conf_parser.y"
6527      {
6528    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6529   }
6530      break;
6531  
6532 <  case 605:
6533 < /* Line 1813 of yacc.c  */
6534 < #line 2822 "conf_parser.y"
6532 >  case 606:
6533 > /* Line 1787 of yacc.c  */
6534 > #line 2795 "conf_parser.y"
6535      {
6536    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6537   }
6538      break;
6539  
6540 <  case 606:
6541 < /* Line 1813 of yacc.c  */
6542 < #line 2827 "conf_parser.y"
6540 >  case 607:
6541 > /* Line 1787 of yacc.c  */
6542 > #line 2800 "conf_parser.y"
6543      {
6544    ConfigChannel.no_create_on_split = yylval.number;
6545   }
6546      break;
6547  
6548 <  case 607:
6549 < /* Line 1813 of yacc.c  */
6550 < #line 2832 "conf_parser.y"
6548 >  case 608:
6549 > /* Line 1787 of yacc.c  */
6550 > #line 2805 "conf_parser.y"
6551      {
6552    ConfigChannel.no_join_on_split = yylval.number;
6553   }
6554      break;
6555  
6556 <  case 608:
6557 < /* Line 1813 of yacc.c  */
6558 < #line 2837 "conf_parser.y"
6556 >  case 609:
6557 > /* Line 1787 of yacc.c  */
6558 > #line 2810 "conf_parser.y"
6559      {
6560    GlobalSetOptions.joinfloodcount = yylval.number;
6561   }
6562      break;
6563  
6564 <  case 609:
6565 < /* Line 1813 of yacc.c  */
6566 < #line 2842 "conf_parser.y"
6564 >  case 610:
6565 > /* Line 1787 of yacc.c  */
6566 > #line 2815 "conf_parser.y"
6567      {
6568    GlobalSetOptions.joinfloodtime = yylval.number;
6569   }
6570      break;
6571  
6572 <  case 620:
6573 < /* Line 1813 of yacc.c  */
6574 < #line 2860 "conf_parser.y"
6572 >  case 622:
6573 > /* Line 1787 of yacc.c  */
6574 > #line 2834 "conf_parser.y"
6575      {
6576    if (conf_parser_ctx.pass == 2)
6577      ConfigServerHide.flatten_links = yylval.number;
6578   }
6579      break;
6580  
6581 <  case 621:
6582 < /* Line 1813 of yacc.c  */
6583 < #line 2866 "conf_parser.y"
6581 >  case 623:
6582 > /* Line 1787 of yacc.c  */
6583 > #line 2840 "conf_parser.y"
6584      {
6585    if (conf_parser_ctx.pass == 2)
6586      ConfigServerHide.hide_servers = yylval.number;
6587   }
6588      break;
6589  
6590 <  case 622:
6591 < /* Line 1813 of yacc.c  */
6592 < #line 2872 "conf_parser.y"
6590 >  case 624:
6591 > /* Line 1787 of yacc.c  */
6592 > #line 2846 "conf_parser.y"
6593 >    {
6594 >  if (conf_parser_ctx.pass == 2)
6595 >    ConfigServerHide.hide_services = yylval.number;
6596 > }
6597 >    break;
6598 >
6599 >  case 625:
6600 > /* Line 1787 of yacc.c  */
6601 > #line 2852 "conf_parser.y"
6602      {
6603    if (conf_parser_ctx.pass == 2)
6604    {
# Line 6637 | Line 6608 | yyreduce:
6608   }
6609      break;
6610  
6611 <  case 623:
6612 < /* Line 1813 of yacc.c  */
6613 < #line 2881 "conf_parser.y"
6611 >  case 626:
6612 > /* Line 1787 of yacc.c  */
6613 > #line 2861 "conf_parser.y"
6614      {
6615    if (conf_parser_ctx.pass == 2)
6616    {
# Line 6654 | Line 6625 | yyreduce:
6625   }
6626      break;
6627  
6628 <  case 624:
6629 < /* Line 1813 of yacc.c  */
6630 < #line 2895 "conf_parser.y"
6628 >  case 627:
6629 > /* Line 1787 of yacc.c  */
6630 > #line 2875 "conf_parser.y"
6631      {
6632    if (conf_parser_ctx.pass == 2)
6633      ConfigServerHide.hidden = yylval.number;
6634   }
6635      break;
6636  
6637 <  case 625:
6638 < /* Line 1813 of yacc.c  */
6639 < #line 2901 "conf_parser.y"
6637 >  case 628:
6638 > /* Line 1787 of yacc.c  */
6639 > #line 2881 "conf_parser.y"
6640      {
6641    if (conf_parser_ctx.pass == 2)
6642      ConfigServerHide.hide_server_ips = yylval.number;
# Line 6673 | Line 6644 | yyreduce:
6644      break;
6645  
6646  
6647 < /* Line 1813 of yacc.c  */
6648 < #line 6678 "conf_parser.c"
6647 > /* Line 1787 of yacc.c  */
6648 > #line 6649 "conf_parser.c"
6649        default: break;
6650      }
6651    /* User semantic actions sometimes alter yychar, and that requires

Comparing ircd-hybrid/trunk/src/conf_parser.c (property svn:keywords):
Revision 1646 by michael, Wed Nov 7 21:02:43 2012 UTC vs.
Revision 1946 by michael, Sun May 5 10:21:40 2013 UTC

# Line 0 | Line 1
1 + Id Revision

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)