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 2853 by michael, Sat Jan 18 16:34:27 2014 UTC vs.
Revision 4258 by michael, Fri Jul 18 20:46:48 2014 UTC

# Line 62 | Line 62
62  
63  
64   /* Copy the first part of user declarations.  */
65 < #line 25 "conf_parser.y" /* yacc.c:339  */
65 > #line 28 "conf_parser.y" /* yacc.c:339  */
66  
67  
68   #define YY_NO_UNPUT
# Line 81 | Line 81
81   #include "irc_string.h"
82   #include "memory.h"
83   #include "modules.h"
84 < #include "s_serv.h"
84 > #include "server.h"
85   #include "hostmask.h"
86   #include "send.h"
87   #include "listener.h"
88   #include "resv.h"
89   #include "numeric.h"
90 < #include "s_user.h"
90 > #include "user.h"
91   #include "motd.h"
92  
93   #ifdef HAVE_LIBCRYPTO
# Line 103 | Line 103 | int yylex(void);
103  
104   static struct
105   {
106 <  struct {
106 >  struct
107 >  {
108      dlink_list list;
109    } mask,
110      leaf,
111      hub;
112  
113 <  struct {
113 >  struct
114 >  {
115      char buf[IRCD_BUFSIZE];
116    } name,
117      user,
# Line 123 | Line 125 | static struct
125      spass,
126      class;
127  
128 <  struct {
128 >  struct
129 >  {
130      unsigned int value;
131    } flags,
132      modes,
# Line 142 | Line 145 | static struct
145      max_ident,
146      max_sendq,
147      max_recvq,
148 +    max_channels,
149      cidr_bitlen_ipv4,
150      cidr_bitlen_ipv6,
151      number_per_cidr;
# Line 177 | Line 181 | reset_block_state(void)
181   }
182  
183  
184 < #line 181 "conf_parser.c" /* yacc.c:339  */
184 > #line 185 "conf_parser.c" /* yacc.c:339  */
185  
186   # ifndef YY_NULLPTR
187   #  if defined __cplusplus && 201103L <= __cplusplus
# Line 260 | Line 264 | extern int yydebug;
264      HAVENT_READ_CONF = 303,
265      HIDDEN = 304,
266      HIDDEN_NAME = 305,
267 <    HIDE_IDLE_FROM_OPERS = 306,
268 <    HIDE_SERVER_IPS = 307,
269 <    HIDE_SERVERS = 308,
270 <    HIDE_SERVICES = 309,
271 <    HIDE_SPOOF_IPS = 310,
272 <    HOST = 311,
273 <    HUB = 312,
274 <    HUB_MASK = 313,
275 <    IGNORE_BOGUS_TS = 314,
276 <    INVISIBLE_ON_CONNECT = 315,
277 <    IP = 316,
278 <    IRCD_AUTH = 317,
279 <    IRCD_FLAGS = 318,
280 <    IRCD_SID = 319,
281 <    JOIN_FLOOD_COUNT = 320,
282 <    JOIN_FLOOD_TIME = 321,
283 <    KILL = 322,
284 <    KILL_CHASE_TIME_LIMIT = 323,
285 <    KLINE = 324,
286 <    KLINE_EXEMPT = 325,
287 <    KNOCK_DELAY = 326,
288 <    KNOCK_DELAY_CHANNEL = 327,
289 <    LEAF_MASK = 328,
290 <    LINKS_DELAY = 329,
291 <    LISTEN = 330,
292 <    MASK = 331,
293 <    MAX_ACCEPT = 332,
294 <    MAX_BANS = 333,
295 <    MAX_CHANS_PER_OPER = 334,
296 <    MAX_CHANS_PER_USER = 335,
297 <    MAX_GLOBAL = 336,
298 <    MAX_IDENT = 337,
299 <    MAX_IDLE = 338,
300 <    MAX_LOCAL = 339,
301 <    MAX_NICK_CHANGES = 340,
302 <    MAX_NICK_LENGTH = 341,
303 <    MAX_NICK_TIME = 342,
304 <    MAX_NUMBER = 343,
305 <    MAX_TARGETS = 344,
306 <    MAX_TOPIC_LENGTH = 345,
307 <    MAX_WATCH = 346,
308 <    MIN_IDLE = 347,
309 <    MIN_NONWILDCARD = 348,
310 <    MIN_NONWILDCARD_SIMPLE = 349,
311 <    MODULE = 350,
312 <    MODULES = 351,
313 <    MOTD = 352,
314 <    NAME = 353,
315 <    NEED_IDENT = 354,
316 <    NEED_PASSWORD = 355,
317 <    NETWORK_DESC = 356,
318 <    NETWORK_NAME = 357,
319 <    NICK = 358,
320 <    NO_CREATE_ON_SPLIT = 359,
321 <    NO_JOIN_ON_SPLIT = 360,
322 <    NO_OPER_FLOOD = 361,
323 <    NO_TILDE = 362,
324 <    NUMBER = 363,
325 <    NUMBER_PER_CIDR = 364,
326 <    NUMBER_PER_IP = 365,
327 <    OPER_ONLY_UMODES = 366,
328 <    OPER_PASS_RESV = 367,
329 <    OPER_UMODES = 368,
330 <    OPERATOR = 369,
331 <    OPERS_BYPASS_CALLERID = 370,
332 <    PACE_WAIT = 371,
333 <    PACE_WAIT_SIMPLE = 372,
334 <    PASSWORD = 373,
335 <    PATH = 374,
336 <    PING_COOKIE = 375,
337 <    PING_TIME = 376,
338 <    PORT = 377,
339 <    QSTRING = 378,
340 <    RANDOM_IDLE = 379,
341 <    REASON = 380,
342 <    REDIRPORT = 381,
343 <    REDIRSERV = 382,
344 <    REHASH = 383,
345 <    REMOTE = 384,
346 <    REMOTEBAN = 385,
347 <    RESV = 386,
348 <    RESV_EXEMPT = 387,
349 <    RSA_PRIVATE_KEY_FILE = 388,
350 <    RSA_PUBLIC_KEY_FILE = 389,
351 <    SECONDS = 390,
352 <    MINUTES = 391,
353 <    HOURS = 392,
354 <    DAYS = 393,
355 <    WEEKS = 394,
356 <    MONTHS = 395,
357 <    YEARS = 396,
358 <    SEND_PASSWORD = 397,
359 <    SENDQ = 398,
360 <    SERVERHIDE = 399,
361 <    SERVERINFO = 400,
362 <    SHORT_MOTD = 401,
363 <    SPOOF = 402,
364 <    SPOOF_NOTICE = 403,
365 <    SQUIT = 404,
366 <    SSL_CERTIFICATE_FILE = 405,
367 <    SSL_CERTIFICATE_FINGERPRINT = 406,
368 <    SSL_CONNECTION_REQUIRED = 407,
369 <    SSL_DH_PARAM_FILE = 408,
370 <    STATS_E_DISABLED = 409,
371 <    STATS_I_OPER_ONLY = 410,
372 <    STATS_K_OPER_ONLY = 411,
373 <    STATS_O_OPER_ONLY = 412,
374 <    STATS_P_OPER_ONLY = 413,
375 <    STATS_U_OPER_ONLY = 414,
376 <    T_ALL = 415,
377 <    T_BOTS = 416,
378 <    T_CALLERID = 417,
379 <    T_CCONN = 418,
380 <    T_CLUSTER = 419,
381 <    T_DEAF = 420,
382 <    T_DEBUG = 421,
383 <    T_DLINE = 422,
384 <    T_EXTERNAL = 423,
385 <    T_FARCONNECT = 424,
386 <    T_FILE = 425,
387 <    T_FULL = 426,
388 <    T_GLOBOPS = 427,
389 <    T_INVISIBLE = 428,
390 <    T_IPV4 = 429,
391 <    T_IPV6 = 430,
392 <    T_LOCOPS = 431,
393 <    T_LOG = 432,
394 <    T_MAX_CLIENTS = 433,
395 <    T_NCHANGE = 434,
396 <    T_NONONREG = 435,
397 <    T_OPERWALL = 436,
398 <    T_RECVQ = 437,
399 <    T_REJ = 438,
400 <    T_RESTART = 439,
401 <    T_SERVER = 440,
402 <    T_SERVICE = 441,
403 <    T_SERVICES_NAME = 442,
404 <    T_SERVNOTICE = 443,
405 <    T_SET = 444,
406 <    T_SHARED = 445,
407 <    T_SIZE = 446,
408 <    T_SKILL = 447,
409 <    T_SOFTCALLERID = 448,
410 <    T_SPY = 449,
411 <    T_SSL = 450,
412 <    T_SSL_CIPHER_LIST = 451,
413 <    T_SSL_CLIENT_METHOD = 452,
414 <    T_SSL_SERVER_METHOD = 453,
415 <    T_SSLV3 = 454,
416 <    T_TLSV1 = 455,
417 <    T_UMODES = 456,
418 <    T_UNAUTH = 457,
419 <    T_UNDLINE = 458,
420 <    T_UNLIMITED = 459,
421 <    T_UNRESV = 460,
422 <    T_UNXLINE = 461,
423 <    T_WALLOP = 462,
424 <    T_WALLOPS = 463,
425 <    T_WEBIRC = 464,
426 <    TBOOL = 465,
427 <    THROTTLE_TIME = 466,
428 <    TKLINE_EXPIRE_NOTICES = 467,
429 <    TMASKED = 468,
430 <    TRUE_NO_OPER_FLOOD = 469,
431 <    TS_MAX_DELTA = 470,
432 <    TS_WARN_DELTA = 471,
433 <    TWODOTS = 472,
434 <    TYPE = 473,
435 <    UNKLINE = 474,
436 <    USE_EGD = 475,
437 <    USE_LOGGING = 476,
438 <    USER = 477,
439 <    VHOST = 478,
440 <    VHOST6 = 479,
441 <    WARN_NO_NLINE = 480,
442 <    XLINE = 481
267 >    HIDE_CHANS = 306,
268 >    HIDE_IDLE = 307,
269 >    HIDE_IDLE_FROM_OPERS = 308,
270 >    HIDE_SERVER_IPS = 309,
271 >    HIDE_SERVERS = 310,
272 >    HIDE_SERVICES = 311,
273 >    HIDE_SPOOF_IPS = 312,
274 >    HOST = 313,
275 >    HUB = 314,
276 >    HUB_MASK = 315,
277 >    IGNORE_BOGUS_TS = 316,
278 >    INVISIBLE_ON_CONNECT = 317,
279 >    INVITE_CLIENT_COUNT = 318,
280 >    INVITE_CLIENT_TIME = 319,
281 >    IP = 320,
282 >    IRCD_AUTH = 321,
283 >    IRCD_FLAGS = 322,
284 >    IRCD_SID = 323,
285 >    JOIN_FLOOD_COUNT = 324,
286 >    JOIN_FLOOD_TIME = 325,
287 >    KILL = 326,
288 >    KILL_CHASE_TIME_LIMIT = 327,
289 >    KLINE = 328,
290 >    KLINE_EXEMPT = 329,
291 >    KNOCK_CLIENT_COUNT = 330,
292 >    KNOCK_CLIENT_TIME = 331,
293 >    KNOCK_DELAY_CHANNEL = 332,
294 >    LEAF_MASK = 333,
295 >    LINKS_DELAY = 334,
296 >    LISTEN = 335,
297 >    MASK = 336,
298 >    MAX_ACCEPT = 337,
299 >    MAX_BANS = 338,
300 >    MAX_CHANNELS = 339,
301 >    MAX_GLOBAL = 340,
302 >    MAX_IDENT = 341,
303 >    MAX_IDLE = 342,
304 >    MAX_LOCAL = 343,
305 >    MAX_NICK_CHANGES = 344,
306 >    MAX_NICK_LENGTH = 345,
307 >    MAX_NICK_TIME = 346,
308 >    MAX_NUMBER = 347,
309 >    MAX_TARGETS = 348,
310 >    MAX_TOPIC_LENGTH = 349,
311 >    MAX_WATCH = 350,
312 >    MIN_IDLE = 351,
313 >    MIN_NONWILDCARD = 352,
314 >    MIN_NONWILDCARD_SIMPLE = 353,
315 >    MODULE = 354,
316 >    MODULES = 355,
317 >    MOTD = 356,
318 >    NAME = 357,
319 >    NEED_IDENT = 358,
320 >    NEED_PASSWORD = 359,
321 >    NETWORK_DESC = 360,
322 >    NETWORK_NAME = 361,
323 >    NICK = 362,
324 >    NO_CREATE_ON_SPLIT = 363,
325 >    NO_JOIN_ON_SPLIT = 364,
326 >    NO_OPER_FLOOD = 365,
327 >    NO_TILDE = 366,
328 >    NUMBER = 367,
329 >    NUMBER_PER_CIDR = 368,
330 >    NUMBER_PER_IP = 369,
331 >    OPER_ONLY_UMODES = 370,
332 >    OPER_PASS_RESV = 371,
333 >    OPER_UMODES = 372,
334 >    OPERATOR = 373,
335 >    OPERS_BYPASS_CALLERID = 374,
336 >    PACE_WAIT = 375,
337 >    PACE_WAIT_SIMPLE = 376,
338 >    PASSWORD = 377,
339 >    PATH = 378,
340 >    PING_COOKIE = 379,
341 >    PING_TIME = 380,
342 >    PORT = 381,
343 >    QSTRING = 382,
344 >    RANDOM_IDLE = 383,
345 >    REASON = 384,
346 >    REDIRPORT = 385,
347 >    REDIRSERV = 386,
348 >    REHASH = 387,
349 >    REMOTE = 388,
350 >    REMOTEBAN = 389,
351 >    RESV = 390,
352 >    RESV_EXEMPT = 391,
353 >    RSA_PRIVATE_KEY_FILE = 392,
354 >    RSA_PUBLIC_KEY_FILE = 393,
355 >    SECONDS = 394,
356 >    MINUTES = 395,
357 >    HOURS = 396,
358 >    DAYS = 397,
359 >    WEEKS = 398,
360 >    MONTHS = 399,
361 >    YEARS = 400,
362 >    SEND_PASSWORD = 401,
363 >    SENDQ = 402,
364 >    SERVERHIDE = 403,
365 >    SERVERINFO = 404,
366 >    SHORT_MOTD = 405,
367 >    SPOOF = 406,
368 >    SPOOF_NOTICE = 407,
369 >    SQUIT = 408,
370 >    SSL_CERTIFICATE_FILE = 409,
371 >    SSL_CERTIFICATE_FINGERPRINT = 410,
372 >    SSL_CONNECTION_REQUIRED = 411,
373 >    SSL_DH_ELLIPTIC_CURVE = 412,
374 >    SSL_DH_PARAM_FILE = 413,
375 >    SSL_MESSAGE_DIGEST_ALGORITHM = 414,
376 >    STATS_E_DISABLED = 415,
377 >    STATS_I_OPER_ONLY = 416,
378 >    STATS_K_OPER_ONLY = 417,
379 >    STATS_O_OPER_ONLY = 418,
380 >    STATS_P_OPER_ONLY = 419,
381 >    STATS_U_OPER_ONLY = 420,
382 >    T_ALL = 421,
383 >    T_BOTS = 422,
384 >    T_CALLERID = 423,
385 >    T_CCONN = 424,
386 >    T_CLUSTER = 425,
387 >    T_DEAF = 426,
388 >    T_DEBUG = 427,
389 >    T_DLINE = 428,
390 >    T_EXTERNAL = 429,
391 >    T_FARCONNECT = 430,
392 >    T_FILE = 431,
393 >    T_FULL = 432,
394 >    T_GLOBOPS = 433,
395 >    T_INVISIBLE = 434,
396 >    T_IPV4 = 435,
397 >    T_IPV6 = 436,
398 >    T_LOCOPS = 437,
399 >    T_LOG = 438,
400 >    T_MAX_CLIENTS = 439,
401 >    T_NCHANGE = 440,
402 >    T_NONONREG = 441,
403 >    T_RECVQ = 442,
404 >    T_REJ = 443,
405 >    T_RESTART = 444,
406 >    T_SERVER = 445,
407 >    T_SERVICE = 446,
408 >    T_SERVICES_NAME = 447,
409 >    T_SERVNOTICE = 448,
410 >    T_SET = 449,
411 >    T_SHARED = 450,
412 >    T_SIZE = 451,
413 >    T_SKILL = 452,
414 >    T_SOFTCALLERID = 453,
415 >    T_SPY = 454,
416 >    T_SSL = 455,
417 >    T_SSL_CIPHER_LIST = 456,
418 >    T_UMODES = 457,
419 >    T_UNAUTH = 458,
420 >    T_UNDLINE = 459,
421 >    T_UNLIMITED = 460,
422 >    T_UNRESV = 461,
423 >    T_UNXLINE = 462,
424 >    T_WALLOP = 463,
425 >    T_WALLOPS = 464,
426 >    T_WEBIRC = 465,
427 >    TBOOL = 466,
428 >    THROTTLE_COUNT = 467,
429 >    THROTTLE_TIME = 468,
430 >    TKLINE_EXPIRE_NOTICES = 469,
431 >    TMASKED = 470,
432 >    TRUE_NO_OPER_FLOOD = 471,
433 >    TS_MAX_DELTA = 472,
434 >    TS_WARN_DELTA = 473,
435 >    TWODOTS = 474,
436 >    TYPE = 475,
437 >    UNKLINE = 476,
438 >    USE_EGD = 477,
439 >    USE_LOGGING = 478,
440 >    USER = 479,
441 >    VHOST = 480,
442 >    VHOST6 = 481,
443 >    WARN_NO_CONNECT_BLOCK = 482,
444 >    XLINE = 483
445    };
446   #endif
447   /* Tokens.  */
# Line 487 | Line 493 | extern int yydebug;
493   #define HAVENT_READ_CONF 303
494   #define HIDDEN 304
495   #define HIDDEN_NAME 305
496 < #define HIDE_IDLE_FROM_OPERS 306
497 < #define HIDE_SERVER_IPS 307
498 < #define HIDE_SERVERS 308
499 < #define HIDE_SERVICES 309
500 < #define HIDE_SPOOF_IPS 310
501 < #define HOST 311
502 < #define HUB 312
503 < #define HUB_MASK 313
504 < #define IGNORE_BOGUS_TS 314
505 < #define INVISIBLE_ON_CONNECT 315
506 < #define IP 316
507 < #define IRCD_AUTH 317
508 < #define IRCD_FLAGS 318
509 < #define IRCD_SID 319
510 < #define JOIN_FLOOD_COUNT 320
511 < #define JOIN_FLOOD_TIME 321
512 < #define KILL 322
513 < #define KILL_CHASE_TIME_LIMIT 323
514 < #define KLINE 324
515 < #define KLINE_EXEMPT 325
516 < #define KNOCK_DELAY 326
517 < #define KNOCK_DELAY_CHANNEL 327
518 < #define LEAF_MASK 328
519 < #define LINKS_DELAY 329
520 < #define LISTEN 330
521 < #define MASK 331
522 < #define MAX_ACCEPT 332
523 < #define MAX_BANS 333
524 < #define MAX_CHANS_PER_OPER 334
525 < #define MAX_CHANS_PER_USER 335
526 < #define MAX_GLOBAL 336
527 < #define MAX_IDENT 337
528 < #define MAX_IDLE 338
529 < #define MAX_LOCAL 339
530 < #define MAX_NICK_CHANGES 340
531 < #define MAX_NICK_LENGTH 341
532 < #define MAX_NICK_TIME 342
533 < #define MAX_NUMBER 343
534 < #define MAX_TARGETS 344
535 < #define MAX_TOPIC_LENGTH 345
536 < #define MAX_WATCH 346
537 < #define MIN_IDLE 347
538 < #define MIN_NONWILDCARD 348
539 < #define MIN_NONWILDCARD_SIMPLE 349
540 < #define MODULE 350
541 < #define MODULES 351
542 < #define MOTD 352
543 < #define NAME 353
544 < #define NEED_IDENT 354
545 < #define NEED_PASSWORD 355
546 < #define NETWORK_DESC 356
547 < #define NETWORK_NAME 357
548 < #define NICK 358
549 < #define NO_CREATE_ON_SPLIT 359
550 < #define NO_JOIN_ON_SPLIT 360
551 < #define NO_OPER_FLOOD 361
552 < #define NO_TILDE 362
553 < #define NUMBER 363
554 < #define NUMBER_PER_CIDR 364
555 < #define NUMBER_PER_IP 365
556 < #define OPER_ONLY_UMODES 366
557 < #define OPER_PASS_RESV 367
558 < #define OPER_UMODES 368
559 < #define OPERATOR 369
560 < #define OPERS_BYPASS_CALLERID 370
561 < #define PACE_WAIT 371
562 < #define PACE_WAIT_SIMPLE 372
563 < #define PASSWORD 373
564 < #define PATH 374
565 < #define PING_COOKIE 375
566 < #define PING_TIME 376
567 < #define PORT 377
568 < #define QSTRING 378
569 < #define RANDOM_IDLE 379
570 < #define REASON 380
571 < #define REDIRPORT 381
572 < #define REDIRSERV 382
573 < #define REHASH 383
574 < #define REMOTE 384
575 < #define REMOTEBAN 385
576 < #define RESV 386
577 < #define RESV_EXEMPT 387
578 < #define RSA_PRIVATE_KEY_FILE 388
579 < #define RSA_PUBLIC_KEY_FILE 389
580 < #define SECONDS 390
581 < #define MINUTES 391
582 < #define HOURS 392
583 < #define DAYS 393
584 < #define WEEKS 394
585 < #define MONTHS 395
586 < #define YEARS 396
587 < #define SEND_PASSWORD 397
588 < #define SENDQ 398
589 < #define SERVERHIDE 399
590 < #define SERVERINFO 400
591 < #define SHORT_MOTD 401
592 < #define SPOOF 402
593 < #define SPOOF_NOTICE 403
594 < #define SQUIT 404
595 < #define SSL_CERTIFICATE_FILE 405
596 < #define SSL_CERTIFICATE_FINGERPRINT 406
597 < #define SSL_CONNECTION_REQUIRED 407
598 < #define SSL_DH_PARAM_FILE 408
599 < #define STATS_E_DISABLED 409
600 < #define STATS_I_OPER_ONLY 410
601 < #define STATS_K_OPER_ONLY 411
602 < #define STATS_O_OPER_ONLY 412
603 < #define STATS_P_OPER_ONLY 413
604 < #define STATS_U_OPER_ONLY 414
605 < #define T_ALL 415
606 < #define T_BOTS 416
607 < #define T_CALLERID 417
608 < #define T_CCONN 418
609 < #define T_CLUSTER 419
610 < #define T_DEAF 420
611 < #define T_DEBUG 421
612 < #define T_DLINE 422
613 < #define T_EXTERNAL 423
614 < #define T_FARCONNECT 424
615 < #define T_FILE 425
616 < #define T_FULL 426
617 < #define T_GLOBOPS 427
618 < #define T_INVISIBLE 428
619 < #define T_IPV4 429
620 < #define T_IPV6 430
621 < #define T_LOCOPS 431
622 < #define T_LOG 432
623 < #define T_MAX_CLIENTS 433
624 < #define T_NCHANGE 434
625 < #define T_NONONREG 435
626 < #define T_OPERWALL 436
627 < #define T_RECVQ 437
628 < #define T_REJ 438
629 < #define T_RESTART 439
630 < #define T_SERVER 440
631 < #define T_SERVICE 441
632 < #define T_SERVICES_NAME 442
633 < #define T_SERVNOTICE 443
634 < #define T_SET 444
635 < #define T_SHARED 445
636 < #define T_SIZE 446
637 < #define T_SKILL 447
638 < #define T_SOFTCALLERID 448
639 < #define T_SPY 449
640 < #define T_SSL 450
641 < #define T_SSL_CIPHER_LIST 451
642 < #define T_SSL_CLIENT_METHOD 452
643 < #define T_SSL_SERVER_METHOD 453
644 < #define T_SSLV3 454
645 < #define T_TLSV1 455
646 < #define T_UMODES 456
647 < #define T_UNAUTH 457
648 < #define T_UNDLINE 458
649 < #define T_UNLIMITED 459
650 < #define T_UNRESV 460
651 < #define T_UNXLINE 461
652 < #define T_WALLOP 462
653 < #define T_WALLOPS 463
654 < #define T_WEBIRC 464
655 < #define TBOOL 465
656 < #define THROTTLE_TIME 466
657 < #define TKLINE_EXPIRE_NOTICES 467
658 < #define TMASKED 468
659 < #define TRUE_NO_OPER_FLOOD 469
660 < #define TS_MAX_DELTA 470
661 < #define TS_WARN_DELTA 471
662 < #define TWODOTS 472
663 < #define TYPE 473
664 < #define UNKLINE 474
665 < #define USE_EGD 475
666 < #define USE_LOGGING 476
667 < #define USER 477
668 < #define VHOST 478
669 < #define VHOST6 479
670 < #define WARN_NO_NLINE 480
671 < #define XLINE 481
496 > #define HIDE_CHANS 306
497 > #define HIDE_IDLE 307
498 > #define HIDE_IDLE_FROM_OPERS 308
499 > #define HIDE_SERVER_IPS 309
500 > #define HIDE_SERVERS 310
501 > #define HIDE_SERVICES 311
502 > #define HIDE_SPOOF_IPS 312
503 > #define HOST 313
504 > #define HUB 314
505 > #define HUB_MASK 315
506 > #define IGNORE_BOGUS_TS 316
507 > #define INVISIBLE_ON_CONNECT 317
508 > #define INVITE_CLIENT_COUNT 318
509 > #define INVITE_CLIENT_TIME 319
510 > #define IP 320
511 > #define IRCD_AUTH 321
512 > #define IRCD_FLAGS 322
513 > #define IRCD_SID 323
514 > #define JOIN_FLOOD_COUNT 324
515 > #define JOIN_FLOOD_TIME 325
516 > #define KILL 326
517 > #define KILL_CHASE_TIME_LIMIT 327
518 > #define KLINE 328
519 > #define KLINE_EXEMPT 329
520 > #define KNOCK_CLIENT_COUNT 330
521 > #define KNOCK_CLIENT_TIME 331
522 > #define KNOCK_DELAY_CHANNEL 332
523 > #define LEAF_MASK 333
524 > #define LINKS_DELAY 334
525 > #define LISTEN 335
526 > #define MASK 336
527 > #define MAX_ACCEPT 337
528 > #define MAX_BANS 338
529 > #define MAX_CHANNELS 339
530 > #define MAX_GLOBAL 340
531 > #define MAX_IDENT 341
532 > #define MAX_IDLE 342
533 > #define MAX_LOCAL 343
534 > #define MAX_NICK_CHANGES 344
535 > #define MAX_NICK_LENGTH 345
536 > #define MAX_NICK_TIME 346
537 > #define MAX_NUMBER 347
538 > #define MAX_TARGETS 348
539 > #define MAX_TOPIC_LENGTH 349
540 > #define MAX_WATCH 350
541 > #define MIN_IDLE 351
542 > #define MIN_NONWILDCARD 352
543 > #define MIN_NONWILDCARD_SIMPLE 353
544 > #define MODULE 354
545 > #define MODULES 355
546 > #define MOTD 356
547 > #define NAME 357
548 > #define NEED_IDENT 358
549 > #define NEED_PASSWORD 359
550 > #define NETWORK_DESC 360
551 > #define NETWORK_NAME 361
552 > #define NICK 362
553 > #define NO_CREATE_ON_SPLIT 363
554 > #define NO_JOIN_ON_SPLIT 364
555 > #define NO_OPER_FLOOD 365
556 > #define NO_TILDE 366
557 > #define NUMBER 367
558 > #define NUMBER_PER_CIDR 368
559 > #define NUMBER_PER_IP 369
560 > #define OPER_ONLY_UMODES 370
561 > #define OPER_PASS_RESV 371
562 > #define OPER_UMODES 372
563 > #define OPERATOR 373
564 > #define OPERS_BYPASS_CALLERID 374
565 > #define PACE_WAIT 375
566 > #define PACE_WAIT_SIMPLE 376
567 > #define PASSWORD 377
568 > #define PATH 378
569 > #define PING_COOKIE 379
570 > #define PING_TIME 380
571 > #define PORT 381
572 > #define QSTRING 382
573 > #define RANDOM_IDLE 383
574 > #define REASON 384
575 > #define REDIRPORT 385
576 > #define REDIRSERV 386
577 > #define REHASH 387
578 > #define REMOTE 388
579 > #define REMOTEBAN 389
580 > #define RESV 390
581 > #define RESV_EXEMPT 391
582 > #define RSA_PRIVATE_KEY_FILE 392
583 > #define RSA_PUBLIC_KEY_FILE 393
584 > #define SECONDS 394
585 > #define MINUTES 395
586 > #define HOURS 396
587 > #define DAYS 397
588 > #define WEEKS 398
589 > #define MONTHS 399
590 > #define YEARS 400
591 > #define SEND_PASSWORD 401
592 > #define SENDQ 402
593 > #define SERVERHIDE 403
594 > #define SERVERINFO 404
595 > #define SHORT_MOTD 405
596 > #define SPOOF 406
597 > #define SPOOF_NOTICE 407
598 > #define SQUIT 408
599 > #define SSL_CERTIFICATE_FILE 409
600 > #define SSL_CERTIFICATE_FINGERPRINT 410
601 > #define SSL_CONNECTION_REQUIRED 411
602 > #define SSL_DH_ELLIPTIC_CURVE 412
603 > #define SSL_DH_PARAM_FILE 413
604 > #define SSL_MESSAGE_DIGEST_ALGORITHM 414
605 > #define STATS_E_DISABLED 415
606 > #define STATS_I_OPER_ONLY 416
607 > #define STATS_K_OPER_ONLY 417
608 > #define STATS_O_OPER_ONLY 418
609 > #define STATS_P_OPER_ONLY 419
610 > #define STATS_U_OPER_ONLY 420
611 > #define T_ALL 421
612 > #define T_BOTS 422
613 > #define T_CALLERID 423
614 > #define T_CCONN 424
615 > #define T_CLUSTER 425
616 > #define T_DEAF 426
617 > #define T_DEBUG 427
618 > #define T_DLINE 428
619 > #define T_EXTERNAL 429
620 > #define T_FARCONNECT 430
621 > #define T_FILE 431
622 > #define T_FULL 432
623 > #define T_GLOBOPS 433
624 > #define T_INVISIBLE 434
625 > #define T_IPV4 435
626 > #define T_IPV6 436
627 > #define T_LOCOPS 437
628 > #define T_LOG 438
629 > #define T_MAX_CLIENTS 439
630 > #define T_NCHANGE 440
631 > #define T_NONONREG 441
632 > #define T_RECVQ 442
633 > #define T_REJ 443
634 > #define T_RESTART 444
635 > #define T_SERVER 445
636 > #define T_SERVICE 446
637 > #define T_SERVICES_NAME 447
638 > #define T_SERVNOTICE 448
639 > #define T_SET 449
640 > #define T_SHARED 450
641 > #define T_SIZE 451
642 > #define T_SKILL 452
643 > #define T_SOFTCALLERID 453
644 > #define T_SPY 454
645 > #define T_SSL 455
646 > #define T_SSL_CIPHER_LIST 456
647 > #define T_UMODES 457
648 > #define T_UNAUTH 458
649 > #define T_UNDLINE 459
650 > #define T_UNLIMITED 460
651 > #define T_UNRESV 461
652 > #define T_UNXLINE 462
653 > #define T_WALLOP 463
654 > #define T_WALLOPS 464
655 > #define T_WEBIRC 465
656 > #define TBOOL 466
657 > #define THROTTLE_COUNT 467
658 > #define THROTTLE_TIME 468
659 > #define TKLINE_EXPIRE_NOTICES 469
660 > #define TMASKED 470
661 > #define TRUE_NO_OPER_FLOOD 471
662 > #define TS_MAX_DELTA 472
663 > #define TS_WARN_DELTA 473
664 > #define TWODOTS 474
665 > #define TYPE 475
666 > #define UNKLINE 476
667 > #define USE_EGD 477
668 > #define USE_LOGGING 478
669 > #define USER 479
670 > #define VHOST 480
671 > #define VHOST6 481
672 > #define WARN_NO_CONNECT_BLOCK 482
673 > #define XLINE 483
674  
675   /* Value type.  */
676   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
677   typedef union YYSTYPE YYSTYPE;
678   union YYSTYPE
679   {
680 < #line 140 "conf_parser.y" /* yacc.c:355  */
680 > #line 147 "conf_parser.y" /* yacc.c:355  */
681  
682    int number;
683    char *string;
684  
685 < #line 678 "conf_parser.c" /* yacc.c:355  */
685 > #line 686 "conf_parser.c" /* yacc.c:355  */
686   };
687   # define YYSTYPE_IS_TRIVIAL 1
688   # define YYSTYPE_IS_DECLARED 1
# Line 689 | Line 697 | int yyparse (void);
697  
698   /* Copy the second part of user declarations.  */
699  
700 < #line 693 "conf_parser.c" /* yacc.c:358  */
700 > #line 701 "conf_parser.c" /* yacc.c:358  */
701  
702   #ifdef short
703   # undef short
# Line 931 | Line 939 | union yyalloc
939   /* YYFINAL -- State number of the termination state.  */
940   #define YYFINAL  2
941   /* YYLAST -- Last index in YYTABLE.  */
942 < #define YYLAST   1233
942 > #define YYLAST   1364
943  
944   /* YYNTOKENS -- Number of terminals.  */
945 < #define YYNTOKENS  233
945 > #define YYNTOKENS  235
946   /* YYNNTS -- Number of nonterminals.  */
947 < #define YYNNTS  291
947 > #define YYNNTS  289
948   /* YYNRULES -- Number of rules.  */
949 < #define YYNRULES  657
949 > #define YYNRULES  653
950   /* YYNSTATES -- Number of states.  */
951   #define YYNSTATES  1288
952  
953   /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
954     by yylex, with out-of-bounds checking.  */
955   #define YYUNDEFTOK  2
956 < #define YYMAXUTOK   481
956 > #define YYMAXUTOK   483
957  
958   #define YYTRANSLATE(YYX)                                                \
959    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 958 | Line 966 | static const yytype_uint8 yytranslate[]
966         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
967         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
968         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
969 <       2,     2,     2,     2,   231,     2,     2,     2,     2,     2,
970 <       2,     2,     2,     2,     2,     2,     2,     2,   232,   227,
971 <       2,   230,     2,     2,     2,     2,     2,     2,     2,     2,
969 >       2,     2,     2,     2,   233,     2,     2,     2,     2,     2,
970 >       2,     2,     2,     2,     2,     2,     2,     2,   234,   229,
971 >       2,   232,     2,     2,     2,     2,     2,     2,     2,     2,
972         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
973         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
974         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
975         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
976         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
977 <       2,     2,     2,   229,     2,   228,     2,     2,     2,     2,
977 >       2,     2,     2,   231,     2,   230,     2,     2,     2,     2,
978         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
979         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
980         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1002 | Line 1010 | static const yytype_uint8 yytranslate[]
1010       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1011       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1012       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1013 <     225,   226
1013 >     225,   226,   227,   228
1014   };
1015  
1016   #if YYDEBUG
1017    /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1018   static const yytype_uint16 yyrline[] =
1019   {
1020 <       0,   370,   370,   371,   374,   375,   376,   377,   378,   379,
1021 <     380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
1022 <     390,   391,   392,   393,   394,   395,   396,   400,   400,   401,
1023 <     405,   409,   413,   417,   421,   425,   429,   435,   435,   436,
1024 <     437,   438,   439,   446,   449,   449,   450,   450,   450,   452,
1025 <     458,   465,   467,   467,   468,   468,   469,   469,   470,   470,
1026 <     471,   471,   472,   472,   473,   473,   474,   474,   475,   475,
1027 <     476,   477,   480,   481,   483,   483,   484,   490,   498,   498,
1028 <     499,   505,   513,   555,   613,   641,   649,   664,   679,   688,
1029 <     702,   711,   739,   769,   794,   816,   838,   847,   849,   849,
1030 <     850,   850,   851,   851,   853,   862,   871,   884,   883,   901,
1031 <     901,   902,   902,   902,   904,   910,   919,   920,   920,   922,
1032 <     922,   923,   925,   932,   932,   945,   946,   948,   948,   949,
1033 <     949,   951,   959,   962,   968,   967,   973,   973,   974,   978,
1034 <     982,   986,   990,   994,   998,  1002,  1006,  1017,  1016,  1096,
1035 <    1096,  1097,  1097,  1097,  1098,  1098,  1098,  1099,  1099,  1100,
1036 <    1101,  1101,  1103,  1109,  1115,  1121,  1132,  1138,  1144,  1155,
1037 <    1162,  1161,  1167,  1167,  1168,  1172,  1176,  1180,  1184,  1188,
1038 <    1192,  1196,  1200,  1204,  1208,  1212,  1216,  1220,  1224,  1228,
1039 <    1232,  1236,  1240,  1244,  1248,  1255,  1254,  1260,  1260,  1261,
1040 <    1265,  1269,  1273,  1277,  1281,  1285,  1289,  1293,  1297,  1301,
1041 <    1305,  1309,  1313,  1317,  1321,  1325,  1329,  1333,  1337,  1341,
1042 <    1345,  1349,  1353,  1364,  1363,  1424,  1424,  1425,  1426,  1426,
1043 <    1427,  1428,  1429,  1430,  1431,  1432,  1433,  1434,  1435,  1435,
1044 <    1436,  1437,  1438,  1439,  1441,  1447,  1453,  1459,  1465,  1471,
1045 <    1477,  1483,  1489,  1495,  1502,  1508,  1514,  1520,  1529,  1539,
1046 <    1538,  1544,  1544,  1545,  1549,  1560,  1559,  1566,  1565,  1570,
1047 <    1570,  1571,  1575,  1579,  1585,  1585,  1586,  1586,  1586,  1586,
1048 <    1586,  1588,  1588,  1590,  1590,  1592,  1606,  1626,  1632,  1642,
1049 <    1641,  1683,  1683,  1684,  1684,  1684,  1684,  1685,  1685,  1685,
1050 <    1686,  1686,  1688,  1694,  1700,  1706,  1718,  1717,  1723,  1723,
1051 <    1724,  1728,  1732,  1736,  1740,  1744,  1748,  1752,  1756,  1760,
1052 <    1766,  1780,  1789,  1803,  1802,  1817,  1817,  1818,  1818,  1818,
1053 <    1818,  1820,  1826,  1832,  1842,  1844,  1844,  1845,  1845,  1847,
1054 <    1863,  1862,  1887,  1887,  1888,  1888,  1888,  1888,  1890,  1896,
1055 <    1916,  1915,  1921,  1921,  1922,  1926,  1930,  1934,  1938,  1942,
1056 <    1946,  1950,  1954,  1958,  1968,  1967,  1988,  1988,  1989,  1989,
1057 <    1989,  1991,  1998,  1997,  2003,  2003,  2004,  2008,  2012,  2016,
1058 <    2020,  2024,  2028,  2032,  2036,  2040,  2050,  2049,  2121,  2121,
1059 <    2122,  2122,  2122,  2123,  2123,  2124,  2125,  2125,  2125,  2126,
1060 <    2126,  2126,  2127,  2127,  2128,  2130,  2136,  2142,  2148,  2161,
1061 <    2174,  2180,  2186,  2190,  2199,  2198,  2203,  2203,  2204,  2208,
1062 <    2214,  2225,  2231,  2237,  2243,  2259,  2258,  2284,  2284,  2285,
1063 <    2285,  2285,  2287,  2307,  2317,  2316,  2343,  2343,  2344,  2344,
1064 <    2344,  2346,  2352,  2361,  2363,  2363,  2364,  2364,  2366,  2384,
1065 <    2383,  2406,  2406,  2407,  2407,  2407,  2409,  2415,  2424,  2427,
1066 <    2427,  2428,  2428,  2429,  2429,  2430,  2430,  2431,  2431,  2432,
1067 <    2432,  2433,  2434,  2435,  2435,  2436,  2436,  2437,  2437,  2438,
1068 <    2438,  2439,  2440,  2440,  2441,  2441,  2442,  2442,  2443,  2443,
1069 <    2444,  2444,  2445,  2445,  2446,  2446,  2447,  2447,  2448,  2449,
1070 <    2450,  2450,  2451,  2451,  2452,  2453,  2454,  2455,  2455,  2456,
1071 <    2457,  2460,  2465,  2471,  2477,  2483,  2489,  2494,  2499,  2504,
1072 <    2509,  2514,  2519,  2524,  2529,  2534,  2539,  2544,  2549,  2554,
1073 <    2560,  2571,  2576,  2581,  2586,  2591,  2596,  2601,  2604,  2609,
1074 <    2612,  2617,  2622,  2627,  2632,  2637,  2642,  2647,  2652,  2657,
1075 <    2662,  2667,  2672,  2681,  2690,  2695,  2700,  2706,  2705,  2710,
1076 <    2710,  2711,  2714,  2717,  2720,  2723,  2726,  2729,  2732,  2735,
1077 <    2738,  2741,  2744,  2747,  2750,  2753,  2756,  2759,  2762,  2765,
1078 <    2768,  2771,  2777,  2776,  2781,  2781,  2782,  2785,  2788,  2791,
1079 <    2794,  2797,  2800,  2803,  2806,  2809,  2812,  2815,  2818,  2821,
1080 <    2824,  2827,  2830,  2833,  2836,  2839,  2842,  2847,  2852,  2857,
1081 <    2866,  2869,  2869,  2870,  2871,  2871,  2872,  2872,  2873,  2874,
1082 <    2875,  2876,  2877,  2877,  2878,  2878,  2880,  2885,  2890,  2895,
1083 <    2900,  2905,  2910,  2915,  2920,  2925,  2930,  2935,  2943,  2946,
1084 <    2946,  2947,  2947,  2948,  2949,  2950,  2951,  2951,  2952,  2953,
1085 <    2955,  2961,  2967,  2973,  2979,  2988,  3002,  3008
1020 >       0,   379,   379,   380,   383,   384,   385,   386,   387,   388,
1021 >     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
1022 >     399,   400,   401,   402,   403,   404,   405,   409,   409,   410,
1023 >     411,   412,   413,   414,   415,   416,   417,   420,   420,   421,
1024 >     422,   423,   424,   431,   434,   434,   435,   435,   435,   437,
1025 >     443,   450,   452,   452,   453,   454,   455,   456,   457,   458,
1026 >     459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
1027 >     469,   470,   473,   515,   573,   602,   610,   624,   652,   667,
1028 >     682,   691,   705,   714,   742,   772,   797,   819,   841,   850,
1029 >     852,   852,   853,   854,   855,   856,   858,   867,   876,   889,
1030 >     888,   906,   906,   907,   907,   907,   909,   915,   924,   925,
1031 >     925,   927,   927,   928,   930,   937,   937,   950,   951,   953,
1032 >     953,   954,   954,   956,   964,   967,   973,   972,   978,   978,
1033 >     979,   983,   987,   991,   995,   999,  1003,  1007,  1011,  1022,
1034 >    1021,  1107,  1107,  1108,  1109,  1110,  1111,  1112,  1113,  1114,
1035 >    1115,  1116,  1117,  1118,  1120,  1126,  1132,  1138,  1149,  1155,
1036 >    1161,  1172,  1179,  1178,  1184,  1184,  1185,  1189,  1193,  1197,
1037 >    1201,  1205,  1209,  1213,  1217,  1221,  1225,  1229,  1233,  1237,
1038 >    1241,  1245,  1249,  1253,  1257,  1261,  1265,  1269,  1276,  1275,
1039 >    1281,  1281,  1282,  1286,  1290,  1294,  1298,  1302,  1306,  1310,
1040 >    1314,  1318,  1322,  1326,  1330,  1334,  1338,  1342,  1346,  1350,
1041 >    1354,  1358,  1362,  1366,  1370,  1381,  1380,  1442,  1442,  1443,
1042 >    1444,  1445,  1446,  1447,  1448,  1449,  1450,  1451,  1452,  1453,
1043 >    1454,  1455,  1455,  1456,  1457,  1458,  1459,  1461,  1467,  1473,
1044 >    1479,  1485,  1491,  1497,  1503,  1509,  1515,  1521,  1528,  1534,
1045 >    1540,  1546,  1555,  1565,  1564,  1570,  1570,  1571,  1575,  1586,
1046 >    1585,  1592,  1591,  1596,  1596,  1597,  1601,  1605,  1611,  1611,
1047 >    1612,  1612,  1612,  1612,  1612,  1614,  1614,  1616,  1616,  1618,
1048 >    1632,  1650,  1656,  1666,  1665,  1707,  1707,  1708,  1709,  1710,
1049 >    1711,  1712,  1713,  1714,  1715,  1716,  1718,  1724,  1730,  1736,
1050 >    1748,  1747,  1753,  1753,  1754,  1758,  1762,  1766,  1770,  1774,
1051 >    1778,  1782,  1786,  1790,  1796,  1810,  1819,  1833,  1832,  1847,
1052 >    1847,  1848,  1848,  1848,  1848,  1850,  1856,  1862,  1872,  1874,
1053 >    1874,  1875,  1875,  1877,  1893,  1892,  1917,  1917,  1918,  1918,
1054 >    1918,  1918,  1920,  1926,  1946,  1945,  1951,  1951,  1952,  1956,
1055 >    1960,  1964,  1968,  1972,  1976,  1980,  1984,  1988,  1998,  1997,
1056 >    2018,  2018,  2019,  2019,  2019,  2021,  2028,  2027,  2033,  2033,
1057 >    2034,  2038,  2042,  2046,  2050,  2054,  2058,  2062,  2066,  2070,
1058 >    2080,  2079,  2151,  2151,  2152,  2153,  2154,  2155,  2156,  2157,
1059 >    2158,  2159,  2160,  2161,  2162,  2163,  2164,  2165,  2166,  2168,
1060 >    2174,  2180,  2186,  2199,  2212,  2218,  2224,  2228,  2237,  2236,
1061 >    2241,  2241,  2242,  2246,  2252,  2263,  2269,  2275,  2281,  2297,
1062 >    2296,  2322,  2322,  2323,  2323,  2323,  2325,  2345,  2355,  2354,
1063 >    2381,  2381,  2382,  2382,  2382,  2384,  2390,  2399,  2401,  2401,
1064 >    2402,  2402,  2404,  2422,  2421,  2444,  2444,  2445,  2445,  2445,
1065 >    2447,  2453,  2462,  2465,  2465,  2466,  2467,  2468,  2469,  2470,
1066 >    2471,  2472,  2473,  2474,  2475,  2476,  2477,  2478,  2479,  2480,
1067 >    2481,  2482,  2483,  2484,  2485,  2486,  2487,  2488,  2489,  2490,
1068 >    2491,  2492,  2493,  2494,  2495,  2496,  2497,  2498,  2499,  2500,
1069 >    2501,  2502,  2503,  2504,  2505,  2506,  2507,  2508,  2509,  2510,
1070 >    2511,  2512,  2513,  2514,  2517,  2522,  2528,  2534,  2540,  2546,
1071 >    2551,  2556,  2561,  2566,  2571,  2576,  2581,  2586,  2591,  2596,
1072 >    2601,  2606,  2611,  2617,  2628,  2633,  2638,  2643,  2648,  2653,
1073 >    2658,  2661,  2666,  2669,  2674,  2679,  2684,  2689,  2694,  2699,
1074 >    2704,  2709,  2714,  2719,  2724,  2733,  2738,  2743,  2748,  2754,
1075 >    2753,  2758,  2758,  2759,  2762,  2765,  2768,  2771,  2774,  2777,
1076 >    2780,  2783,  2786,  2789,  2792,  2795,  2798,  2801,  2804,  2807,
1077 >    2810,  2813,  2816,  2819,  2822,  2828,  2827,  2832,  2832,  2833,
1078 >    2836,  2839,  2842,  2845,  2848,  2851,  2854,  2857,  2860,  2863,
1079 >    2866,  2869,  2872,  2875,  2878,  2881,  2884,  2887,  2890,  2895,
1080 >    2900,  2905,  2914,  2917,  2917,  2918,  2919,  2920,  2921,  2922,
1081 >    2923,  2924,  2925,  2926,  2927,  2928,  2929,  2930,  2931,  2932,
1082 >    2934,  2939,  2944,  2949,  2954,  2959,  2964,  2969,  2974,  2979,
1083 >    2984,  2989,  2994,  2999,  3007,  3010,  3010,  3011,  3012,  3013,
1084 >    3014,  3015,  3016,  3017,  3018,  3019,  3021,  3027,  3033,  3039,
1085 >    3045,  3054,  3069,  3075
1086   };
1087   #endif
1088  
# Line 1095 | Line 1103 | static const char *const yytname[] =
1103    "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINE_DURATION",
1104    "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1105    "GLINE_REQUEST_DURATION", "GLOBAL_KILL", "HAVENT_READ_CONF", "HIDDEN",
1106 <  "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS", "HIDE_SERVERS",
1107 <  "HIDE_SERVICES", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1108 <  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "IRCD_AUTH",
1106 >  "HIDDEN_NAME", "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS",
1107 >  "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS",
1108 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1109 >  "INVITE_CLIENT_COUNT", "INVITE_CLIENT_TIME", "IP", "IRCD_AUTH",
1110    "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "KILL",
1111 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_DELAY",
1112 <  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "MASK",
1113 <  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1114 <  "MAX_GLOBAL", "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1111 >  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_CLIENT_COUNT",
1112 >  "KNOCK_CLIENT_TIME", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1113 >  "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL",
1114 >  "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1115    "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1116    "MAX_TOPIC_LENGTH", "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD",
1117    "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "MOTD", "NAME",
# Line 1117 | Line 1126 | static const char *const yytname[] =
1126    "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1127    "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1128    "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1129 <  "SSL_CONNECTION_REQUIRED", "SSL_DH_PARAM_FILE", "STATS_E_DISABLED",
1130 <  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1131 <  "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS",
1132 <  "T_CALLERID", "T_CCONN", "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE",
1133 <  "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1134 <  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS",
1135 <  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART",
1136 <  "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET",
1137 <  "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1138 <  "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1139 <  "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED",
1140 <  "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1141 <  "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1129 >  "SSL_CONNECTION_REQUIRED", "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1130 >  "SSL_MESSAGE_DIGEST_ALGORITHM", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1131 >  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY",
1132 >  "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS", "T_CALLERID", "T_CCONN",
1133 >  "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1134 >  "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS", "T_INVISIBLE", "T_IPV4",
1135 >  "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS", "T_NCHANGE",
1136 >  "T_NONONREG", "T_RECVQ", "T_REJ", "T_RESTART", "T_SERVER", "T_SERVICE",
1137 >  "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET", "T_SHARED", "T_SIZE",
1138 >  "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL", "T_SSL_CIPHER_LIST",
1139 >  "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV",
1140 >  "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1141 >  "THROTTLE_COUNT", "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1142    "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1143    "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1144 <  "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", "':'",
1145 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1146 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1147 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1148 <  "serverinfo_item", "serverinfo_ssl_client_method",
1140 <  "serverinfo_ssl_server_method", "client_method_types",
1141 <  "client_method_type_item", "server_method_types",
1142 <  "server_method_type_item", "serverinfo_ssl_certificate_file",
1144 >  "WARN_NO_CONNECT_BLOCK", "XLINE", "';'", "'}'", "'{'", "'='", "','",
1145 >  "':'", "$accept", "conf", "conf_item", "timespec_", "timespec",
1146 >  "sizespec_", "sizespec", "modules_entry", "modules_items",
1147 >  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1148 >  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_certificate_file",
1149    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1150 <  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1150 >  "serverinfo_ssl_cipher_list", "serverinfo_ssl_message_digest_algorithm",
1151 >  "serverinfo_ssl_dh_elliptic_curve", "serverinfo_name", "serverinfo_sid",
1152    "serverinfo_description", "serverinfo_network_name",
1153    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1154    "serverinfo_max_clients", "serverinfo_max_nick_length",
# Line 1160 | Line 1167 | static const char *const yytname[] =
1167    "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1168    "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1169    "class_name", "class_ping_time", "class_number_per_ip",
1170 <  "class_connectfreq", "class_max_number", "class_max_global",
1171 <  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1172 <  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1170 >  "class_connectfreq", "class_max_channels", "class_max_number",
1171 >  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1172 >  "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1173    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1174    "class_flags", "$@8", "class_flags_items", "class_flags_item",
1175    "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
# Line 1200 | Line 1207 | static const char *const yytname[] =
1207    "general_max_accept", "general_anti_spam_exit_message_time",
1208    "general_ts_warn_delta", "general_ts_max_delta",
1209    "general_havent_read_conf", "general_invisible_on_connect",
1210 <  "general_warn_no_nline", "general_stats_e_disabled",
1210 >  "general_warn_no_connect_block", "general_stats_e_disabled",
1211    "general_stats_o_oper_only", "general_stats_P_oper_only",
1212    "general_stats_u_oper_only", "general_stats_k_oper_only",
1213    "general_stats_i_oper_only", "general_pace_wait",
# Line 1208 | Line 1215 | static const char *const yytname[] =
1215    "general_pace_wait_simple", "general_short_motd",
1216    "general_no_oper_flood", "general_true_no_oper_flood",
1217    "general_oper_pass_resv", "general_dots_in_ident", "general_max_targets",
1218 <  "general_use_egd", "general_egdpool_path", "general_services_name",
1219 <  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1220 <  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1221 <  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1222 <  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1223 <  "general_default_floodcount", "channel_entry", "channel_items",
1224 <  "channel_item", "channel_disable_fake_channels", "channel_knock_delay",
1225 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1226 <  "channel_max_chans_per_oper", "channel_max_bans",
1218 >  "general_services_name", "general_ping_cookie", "general_disable_auth",
1219 >  "general_throttle_count", "general_throttle_time", "general_oper_umodes",
1220 >  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1221 >  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1222 >  "general_min_nonwildcard_simple", "general_default_floodcount",
1223 >  "channel_entry", "channel_items", "channel_item",
1224 >  "channel_disable_fake_channels", "channel_invite_client_count",
1225 >  "channel_invite_client_time", "channel_knock_client_count",
1226 >  "channel_knock_client_time", "channel_knock_delay_channel",
1227 >  "channel_max_channels", "channel_max_bans",
1228    "channel_default_split_user_count", "channel_default_split_server_count",
1229    "channel_no_create_on_split", "channel_no_join_on_split",
1230    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
# Line 1255 | Line 1263 | static const yytype_uint16 yytoknum[] =
1263       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1264       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1265       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1266 <     475,   476,   477,   478,   479,   480,   481,    59,   125,   123,
1267 <      61,    44,    58
1266 >     475,   476,   477,   478,   479,   480,   481,   482,   483,    59,
1267 >     125,   123,    61,    44,    58
1268   };
1269   # endif
1270  
1271 < #define YYPACT_NINF -755
1271 > #define YYPACT_NINF -1029
1272  
1273   #define yypact_value_is_default(Yystate) \
1274 <  (!!((Yystate) == (-755)))
1274 >  (!!((Yystate) == (-1029)))
1275  
1276 < #define YYTABLE_NINF -124
1276 > #define YYTABLE_NINF -116
1277  
1278   #define yytable_value_is_error(Yytable_value) \
1279    0
# Line 1274 | Line 1282 | static const yytype_uint16 yytoknum[] =
1282       STATE-NUM.  */
1283   static const yytype_int16 yypact[] =
1284   {
1285 <    -755,   717,  -755,  -198,  -223,  -208,  -755,  -755,  -755,  -186,
1286 <    -755,  -184,  -755,  -755,  -755,  -179,  -755,  -755,  -755,  -168,
1287 <    -154,  -755,  -146,  -123,  -755,  -755,  -755,  -755,  -755,  -755,
1288 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1289 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   282,
1290 <     963,   -84,   -59,   -46,   130,   -45,   414,   -39,   -26,   -19,
1291 <      79,   -18,   -11,    21,   503,   408,    40,    39,    53,    41,
1292 <     -14,    -1,    64,    66,     7,  -755,  -755,  -755,  -755,  -755,
1293 <      81,    82,    96,   100,   102,   104,   105,   117,   119,   121,
1294 <     127,   128,    13,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1295 <    -755,  -755,  -755,  -755,  -755,  -755,   723,   577,    61,  -755,
1296 <     131,    10,  -755,  -755,    36,  -755,   132,   133,   135,   139,
1297 <     141,   142,   143,   144,   146,   148,   151,   153,   157,   158,
1298 <     160,   162,   164,   165,   166,   168,   170,   180,   182,   183,
1299 <     187,   188,   189,  -755,   192,  -755,   193,   195,   197,   199,
1300 <     200,   201,   202,   206,   207,   208,   209,   212,   213,   216,
1301 <     217,   219,   221,   222,   223,   108,  -755,  -755,  -755,  -755,
1302 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1303 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1304 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1305 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1306 <    -755,  -755,  -755,  -755,  -755,  -755,   353,     8,   292,    29,
1307 <     227,   231,    24,  -755,  -755,  -755,    22,   546,    47,  -755,
1308 <     236,   237,   240,   246,   248,   251,   253,   254,    15,  -755,
1309 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,    60,   255,
1310 <     257,   259,   260,   262,   263,   265,   266,   272,   288,   291,
1311 <     294,   303,   305,   306,   307,   308,     9,  -755,  -755,  -755,
1312 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1313 <    -755,  -755,  -755,  -755,  -755,     4,    65,   309,    19,  -755,
1314 <    -755,  -755,   155,  -755,   313,    23,  -755,  -755,    62,  -755,
1315 <     215,   352,   365,   270,  -755,   252,   436,   335,   438,   440,
1316 <     440,   440,   443,   451,   454,   355,   356,   340,  -755,   347,
1317 <     346,   351,   354,  -755,   357,   358,   360,   362,   366,   367,
1318 <     368,   369,   370,   372,   373,   377,   258,  -755,  -755,  -755,
1319 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1320 <    -755,  -755,  -755,  -755,   381,   382,   383,   384,   385,   386,
1321 <     387,  -755,   388,   390,   391,   392,   393,   394,   397,   326,
1322 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1323 <    -755,  -755,  -755,  -755,  -755,  -755,   406,   407,    69,  -755,
1324 <    -755,  -755,   460,   411,  -755,  -755,   412,   413,    48,  -755,
1325 <    -755,  -755,   375,   440,   440,   401,   487,   431,   537,   523,
1326 <     437,   440,   439,   540,   543,   440,   547,   446,   447,   448,
1327 <     440,   551,   552,   440,   553,   554,   555,   557,   456,   441,
1328 <     457,   442,   458,   440,   440,   459,   464,   466,    58,    95,
1329 <     467,   468,   469,   558,   440,   472,   473,   440,   440,   474,
1330 <     475,   461,  -755,   462,   463,   465,  -755,   471,   476,   477,
1331 <     479,   480,   163,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1332 <    -755,  -755,  -755,   481,   482,    50,  -755,  -755,  -755,   489,
1333 <     484,   490,  -755,   492,  -755,    25,  -755,  -755,  -755,  -755,
1334 <    -755,   563,   564,   496,  -755,   498,   499,   506,    18,  -755,
1335 <    -755,  -755,   510,   515,   516,  -755,   518,   519,   527,   528,
1336 <     529,  -755,   531,    14,  -755,  -755,  -755,  -755,  -755,  -755,
1337 <    -755,  -755,  -755,  -755,  -755,   513,   532,   533,   534,    11,
1338 <    -755,  -755,  -755,  -755,   493,   494,   544,   567,   556,   559,
1339 <     560,   440,   526,  -755,  -755,   569,   561,   571,   562,   594,
1340 <     603,   642,   644,   649,   651,   652,   668,   654,   -99,   -42,
1341 <     655,   657,   566,  -755,   568,   572,  -755,    73,  -755,  -755,
1342 <    -755,  -755,   573,   570,  -755,   565,   658,   574,  -755,   581,
1343 <     579,  -755,   582,    27,  -755,  -755,  -755,  -755,   589,   590,
1344 <     591,  -755,   592,   593,   595,   596,   267,   597,   598,   599,
1345 <     600,   601,   602,   607,   608,  -755,  -755,   674,   677,   440,
1346 <     606,   680,   683,   440,   690,   691,   440,   707,   729,   732,
1347 <     440,   733,   733,   615,  -755,  -755,   720,   129,   728,   646,
1348 <     731,   735,   629,   745,   746,   762,   748,   750,   751,   752,
1349 <     653,  -755,   756,   759,   656,  -755,   660,  -755,   761,   765,
1350 <     662,  -755,   663,   665,   666,   669,   670,   671,   672,   675,
1351 <     679,   687,   692,   694,   695,   697,   698,   704,   705,   706,
1352 <     710,   711,   715,   716,   719,   721,   730,   738,   740,   684,
1353 <     741,   747,   749,   753,   754,   760,   763,   766,   767,   771,
1354 <     772,   773,   774,   775,   776,   777,   778,   779,   780,   781,
1355 <     782,   783,   784,  -755,  -755,   788,   685,   714,   794,   793,
1356 <     811,   824,   827,   785,  -755,   837,   839,   786,  -755,  -755,
1357 <     854,   856,   787,   796,   789,  -755,   791,   792,  -755,  -755,
1358 <     866,   873,   795,  -755,  -755,   891,   805,   797,   897,   898,
1359 <     900,   901,   815,   800,   903,   804,  -755,  -755,   909,   910,
1360 <     913,   810,  -755,   812,   813,   817,   818,   819,   820,   821,
1361 <     822,  -755,   823,   825,   826,   828,   829,   830,   831,   832,
1362 <     833,   834,   835,   836,   838,  -755,  -755,  -209,  -755,  -755,
1363 <    -755,  -189,  -755,   842,   843,  -755,  -755,   915,   841,   845,
1364 <    -755,   846,  -755,    26,   847,  -755,  -755,   928,   848,   931,
1365 <     849,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   440,
1366 <     440,   440,   440,   440,   440,   440,  -755,  -755,  -755,  -755,
1367 <    -755,  -755,  -755,  -755,  -755,  -755,   850,   852,   853,   -34,
1368 <     855,   857,   858,   859,   860,   861,   862,   863,   864,   865,
1369 <     289,   867,   868,  -755,   869,   870,   871,   872,   874,   875,
1370 <     876,     5,   877,   878,   879,   880,   881,   882,   883,  -755,
1371 <     884,   885,  -755,  -755,   886,   887,  -755,  -755,  -755,  -755,
1372 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1373 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1374 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1375 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1376 <    -755,  -755,  -755,  -755,  -755,  -174,  -755,  -755,  -755,  -755,
1377 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1378 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -172,
1379 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1380 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1381 <    -755,  -755,   888,   889,   245,   890,   892,   893,   894,   895,
1382 <    -755,   896,   899,  -755,   902,   904,   -16,   907,   844,  -755,
1383 <    -755,  -755,  -755,   905,   906,  -755,   908,   911,   524,   912,
1384 <     914,   916,   917,   918,   790,   919,  -755,   920,   921,   922,
1385 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1386 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1387 <    -755,  -755,  -755,   -99,  -755,   -42,  -755,  -755,   923,   584,
1388 <    -755,  -755,   924,   851,   925,  -755,    57,  -755,  -755,  -755,
1389 <    -755,  -755,   926,   769,   927,  -755,  -755,  -755,  -755,  -755,
1390 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -171,  -755,
1391 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1392 <     733,   733,   733,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1393 <    -755,  -755,  -755,  -755,  -755,  -755,  -155,  -755,  -755,  -755,
1394 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1395 <     684,  -755,   747,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1396 <    -755,  -755,  -755,  -755,  -755,   -50,  -755,  -755,  -755,  -755,
1397 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -49,
1398 <    -755,   956,   796,   929,  -755,  -755,  -755,  -755,  -755,   930,
1399 <    -755,  -755,   932,  -755,  -755,  -755,  -755,   933,  -755,  -755,
1400 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -23,
1401 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1402 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1403 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,   -15,  -755,  -755,
1404 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1405 <    -755,  -755,  -755,  -755,  -755,  -755,     0,  -755,  -755,   943,
1406 <    -101,   936,   934,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1407 <    -755,  -755,  -755,  -755,  -755,    30,  -755,  -755,  -755,   -34,
1408 <    -755,  -755,  -755,  -755,     5,  -755,  -755,  -755,   245,  -755,
1409 <     -16,  -755,  -755,  -755,   954,   964,   971,  -755,   524,  -755,
1410 <     790,  -755,   584,   940,   941,   942,   297,  -755,  -755,   769,
1411 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1412 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1413 <    -755,  -755,    55,  -755,  -755,  -755,   297,  -755
1285 >   -1029,   664, -1029,  -192,  -221,  -211, -1029, -1029, -1029,  -208,
1286 >   -1029,  -202, -1029, -1029, -1029,  -200, -1029, -1029, -1029,  -180,
1287 >    -173, -1029,  -170,  -158, -1029, -1029, -1029, -1029, -1029, -1029,
1288 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1289 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   260,
1290 >     727,  -155,  -149,  -135,    16,  -129,   390,  -123,  -111,  -106,
1291 >      24,   -89,   -88,   -83,   507,   436,   -78,     2,    34,   -77,
1292 >     -64,   -62,   -61,   -56,     8, -1029, -1029, -1029, -1029, -1029,
1293 >     -55,   -24,   -17,   -12,   -11,    -9,    -2,    31,    35,    56,
1294 >      72,    74,    79,    84,   104, -1029, -1029, -1029, -1029, -1029,
1295 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1296 >     692,   293,    20, -1029,   101,    15, -1029, -1029,    26, -1029,
1297 >     106,   114,   125,   126,   138,   140,   141,   154,   161,   162,
1298 >     167,   168,   171,   172,   173,   174,   176,   177,   181,   182,
1299 >     183,   184,   189,   190,   192,   198, -1029,   201, -1029,   208,
1300 >     209,   210,   211,   218,   225,   227,   228,   231,   232,   234,
1301 >     235,   236,   237,   238,   239,   243,   244,   245,    42, -1029,
1302 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1303 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1304 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1305 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1306 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   323,    90,
1307 >     391,    45,   248,   250,    23, -1029, -1029, -1029,    17,   411,
1308 >     326, -1029,   252,   254,   257,   258,   259,   261,   267,   271,
1309 >      10, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1310 >      99,   280,   284,   287,   288,   290,   292,   295,   296,   297,
1311 >     299,   300,   302,   303,   307,   313,   314,   327,    92, -1029,
1312 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1313 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029,     7,   120,   332,
1314 >      41, -1029, -1029, -1029,    60, -1029,   333,    73, -1029, -1029,
1315 >       4, -1029,   175,   365,   431,   158, -1029,   459,   460,   363,
1316 >     463,   464,   465,   464,   467,   464,   464,   468,   472,   374,
1317 >     377,   360, -1029,   362,   367,   368,   369, -1029,   373,   378,
1318 >     379,   380,   383,   384,   387,   392,   394,   395,   396,   400,
1319 >     401,   195, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1320 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1321 >     393,   404,   408,   409,   410,   412,   413, -1029,   415,   416,
1322 >     419,   428,   434,   435,   440,   272, -1029, -1029, -1029, -1029,
1323 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1324 >   -1029, -1029,   442,   445,    27, -1029, -1029, -1029,   496,   414,
1325 >   -1029, -1029,   451,   453,    70, -1029, -1029, -1029,   381,   464,
1326 >     464,   446,   551,   473,   577,   479,   464,   481,   582,   583,
1327 >     464,   584,   486,   487,   489,   464,   593,   597,   464,   598,
1328 >     600,   601,   602,   504,   484,   506,   488,   508,   464,   464,
1329 >     510,   511,   512,  -181,  -179,   513,   515,   516,   604,   617,
1330 >     464,   521,   522,   464,   464,   523,   514, -1029,   517,   505,
1331 >     519, -1029,   520,   524,   525,   526,   528,   117, -1029, -1029,
1332 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   529,   530,
1333 >      54, -1029, -1029, -1029,   518,   531,   534, -1029,   536, -1029,
1334 >      12, -1029, -1029, -1029, -1029, -1029,   609,   612,   538, -1029,
1335 >     540,   539,   541,    14, -1029, -1029, -1029,   543,   542,   549,
1336 >   -1029,   555,   557,   560,   561,   563, -1029,   566,   199, -1029,
1337 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1338 >     546,   568,   569,   575,    40, -1029, -1029, -1029, -1029,   537,
1339 >     559,   603,   615,   605,   607,   608,   464,   579, -1029, -1029,
1340 >     626,   611,   627,   697,   703,   693,   696,   698,   699,   700,
1341 >     701,   702,   704,   712,   705,   706,   710,   613, -1029,   614,
1342 >     606, -1029,    93, -1029, -1029, -1029, -1029,   619,   616, -1029,
1343 >      21,   713,   620, -1029,   621,   622, -1029,   630,    11, -1029,
1344 >   -1029, -1029, -1029,   623,   624,   636, -1029,   638,   640,   641,
1345 >     643,   224,   644,   647,   649,   651,   652,   654,   655,   656,
1346 >     660,   661, -1029, -1029,   729,   732,   464,   659,   736,   739,
1347 >     781,   464,   782,   783,   464,   719,   784,   786,   464,   787,
1348 >     787,   671, -1029, -1029,   777,  -113,   780,   707,   785,   788,
1349 >     678,   790,   794,   802,   796,   797,   798,   799,   709, -1029,
1350 >     801,   803,   716, -1029,   721, -1029,   807,   808,   723, -1029,
1351 >     724,   726,   730,   733,   735,   737,   738,   743,   744,   745,
1352 >     747,   748,   749,   750,   752,   753,   754,   755,   756,   757,
1353 >     758,   759,   760,   761,   762,   763,   772,   764,   689,   765,
1354 >     766,   767,   768,   769,   770,   771,   773,   774,   775,   776,
1355 >     778,   779,   789,   791,   792,   793,   795,   800,   804,   805,
1356 >   -1029, -1029,   809,   718,   731,   821,   844,   834,   841,   874,
1357 >     806, -1029,   879,   882,   810, -1029, -1029,   883,   884,   811,
1358 >     900,   812, -1029,   813,   815, -1029, -1029,   886,   887,   816,
1359 >   -1029, -1029,   888,   814,   817,   889,   890,   892,   896,   819,
1360 >     818,   899,   822, -1029, -1029,   901,   904,   905,   823, -1029,
1361 >     824,   825,   826,   827,   828,   829,   830,   831, -1029,   832,
1362 >     833,   835,   836,   837,   838,   839,   840,   842,   843,   845,
1363 >     846,   847,   848,   849,   850,   851, -1029, -1029,   909,   852,
1364 >     853, -1029,   854, -1029,   163,   856, -1029, -1029,   910,   855,
1365 >     911,   857, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1366 >     464,   464,   464,   464,   464,   464,   464, -1029, -1029, -1029,
1367 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   859,
1368 >     860,   861,   -31,   862,   863,   864,   865,   866,   867,   868,
1369 >     869,   870,   871,   872,   334,   873,   875, -1029,   876,   877,
1370 >     878,   880,   881,   885,   891,    18,   893,   894,   895,   897,
1371 >     898,   902,   903, -1029,   906,   907, -1029, -1029,   908,   912,
1372 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1373 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1374 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1375 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1376 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029,  -177, -1029, -1029,
1377 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1378 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1379 >   -1029, -1029,  -176, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1380 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1381 >   -1029, -1029, -1029, -1029, -1029,   913,   914,   535,   915,   916,
1382 >     917,   918,   919, -1029,   920,   921, -1029,   922,   923,     1,
1383 >     934,   924, -1029, -1029, -1029, -1029,   925,   926, -1029,   927,
1384 >     929,   497,   930,   931,   932,   933,   935,   734,   936, -1029,
1385 >     937,   938,   939, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1386 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1387 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   940,
1388 >     448, -1029, -1029,   941,   942,   943, -1029,    13, -1029, -1029,
1389 >   -1029, -1029, -1029,   944,   452,   947, -1029, -1029, -1029, -1029,
1390 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   -44,
1391 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1392 >   -1029, -1029,   787,   787,   787, -1029, -1029, -1029, -1029, -1029,
1393 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,    -7, -1029,
1394 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1395 >   -1029, -1029,   772, -1029,   689, -1029, -1029, -1029, -1029, -1029,
1396 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029,    57, -1029, -1029,
1397 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1398 >   -1029,    66, -1029,   928,   900,   948, -1029, -1029, -1029, -1029,
1399 >   -1029,   945, -1029, -1029,   946, -1029, -1029, -1029, -1029,   949,
1400 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1401 >      96, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1402 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1403 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   102,
1404 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1405 >   -1029, -1029, -1029, -1029, -1029, -1029,   119, -1029, -1029,   954,
1406 >     -93,   950,   952, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1407 >   -1029, -1029, -1029, -1029, -1029,   155, -1029, -1029, -1029,   -31,
1408 >   -1029, -1029, -1029, -1029,    18, -1029, -1029, -1029,   535, -1029,
1409 >       1, -1029, -1029, -1029,   970,   975,   978, -1029,   497, -1029,
1410 >     734, -1029,   448,   955,   956,   957,   425, -1029, -1029,   452,
1411 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1412 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1413 >   -1029, -1029,   156, -1029, -1029, -1029,   425, -1029
1414   };
1415  
1416    /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
# Line 1410 | Line 1418 | static const yytype_int16 yypact[] =
1418       means the default is an error.  */
1419   static const yytype_uint16 yydefact[] =
1420   {
1421 <       2,     0,     1,     0,     0,     0,   223,   386,   434,     0,
1422 <     449,     0,   289,   425,   265,     0,   107,   147,   323,     0,
1423 <       0,   364,     0,     0,   340,     3,    23,    11,     4,    24,
1421 >       2,     0,     1,     0,     0,     0,   215,   380,   428,     0,
1422 >     443,     0,   283,   419,   259,     0,    99,   139,   317,     0,
1423 >       0,   358,     0,     0,   334,     3,    23,    11,     4,    24,
1424         5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1425        18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1426         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1427         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1428 <       0,     0,     0,     0,     0,    99,   100,   102,   101,   625,
1428 >       0,     0,     0,     0,     0,    91,    92,    94,    93,   619,
1429 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1430 >       0,     0,     0,     0,     0,   604,   618,   606,   607,   608,
1431 >     609,   610,   611,   605,   612,   613,   614,   615,   616,   617,
1432 >       0,     0,     0,   441,     0,     0,   439,   440,     0,   503,
1433 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1434 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1435 >       0,     0,     0,     0,     0,     0,   575,     0,   549,     0,
1436 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1437 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   454,
1438 >     500,   502,   494,   495,   496,   497,   498,   493,   465,   455,
1439 >     456,   457,   458,   459,   460,   461,   462,   463,   464,   490,
1440 >     466,   467,   499,   469,   474,   475,   470,   472,   471,   483,
1441 >     484,   473,   476,   477,   478,   479,   468,   481,   501,   491,
1442 >     492,   488,   489,   482,   480,   486,   487,   485,     0,     0,
1443 >       0,     0,     0,     0,     0,    45,    46,    47,     0,     0,
1444 >       0,   645,     0,     0,     0,     0,     0,     0,     0,     0,
1445 >       0,   636,   637,   638,   639,   640,   643,   641,   642,   644,
1446         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1447 <       0,     0,     0,   612,   624,   614,   615,   616,   617,   613,
1448 <     618,   619,   620,   621,   622,   623,     0,     0,     0,   447,
1449 <       0,     0,   445,   446,     0,   510,     0,     0,     0,     0,
1447 >       0,     0,     0,     0,     0,     0,     0,     0,     0,    53,
1448 >      68,    65,    63,    69,    70,    64,    54,    67,    57,    58,
1449 >      59,    55,    66,    60,    61,    62,    56,     0,     0,     0,
1450 >       0,   110,   111,   112,     0,   332,     0,     0,   330,   331,
1451 >       0,    95,     0,     0,     0,     0,    90,     0,     0,     0,
1452         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1453 +       0,     0,   603,     0,     0,     0,     0,   253,     0,     0,
1454         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1455 <       0,     0,     0,   582,     0,   557,     0,     0,     0,     0,
1455 >       0,     0,   218,   219,   222,   224,   225,   226,   227,   228,
1456 >     229,   230,   231,   232,   220,   221,   223,   233,   234,   235,
1457 >       0,     0,     0,     0,     0,     0,     0,   408,     0,     0,
1458 >       0,     0,     0,     0,     0,     0,   383,   384,   385,   386,
1459 >     387,   388,   389,   391,   390,   393,   397,   394,   395,   396,
1460 >     392,   434,     0,     0,     0,   431,   432,   433,     0,     0,
1461 >     438,   449,     0,     0,     0,   446,   447,   448,     0,     0,
1462         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1429       0,     0,     0,     0,     0,     0,   460,   507,   509,   501,
1430     502,   503,   504,   505,   500,   471,   461,   462,   463,   464,
1431     465,   466,   467,   468,   469,   470,   497,   472,   473,   506,
1432     475,   480,   481,   476,   478,   477,   491,   492,   479,   482,
1433     483,   484,   485,   474,   487,   488,   489,   508,   498,   499,
1434     496,   490,   486,   494,   495,   493,     0,     0,     0,     0,
1435       0,     0,     0,    45,    46,    47,     0,     0,     0,   649,
1436       0,     0,     0,     0,     0,     0,     0,     0,     0,   640,
1437     641,   642,   643,   644,   647,   645,   646,   648,     0,     0,
1463         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1439       0,     0,     0,     0,     0,     0,     0,    53,    68,    69,
1440      67,    64,    63,    70,    54,    66,    57,    58,    59,    55,
1441      65,    60,    61,    62,    56,     0,     0,     0,     0,   118,
1442     119,   120,     0,   338,     0,     0,   336,   337,     0,   103,
1443       0,     0,     0,     0,    98,     0,     0,     0,     0,     0,
1444       0,     0,     0,     0,     0,     0,     0,     0,   611,     0,
1445       0,     0,     0,   259,     0,     0,     0,     0,     0,     0,
1446       0,     0,     0,     0,     0,     0,     0,   226,   227,   230,
1447     232,   233,   234,   235,   236,   237,   238,   239,   228,   229,
1448     231,   240,   241,   242,     0,     0,     0,     0,     0,     0,
1449       0,   414,     0,     0,     0,     0,     0,     0,     0,     0,
1450     389,   390,   391,   392,   393,   394,   395,   397,   396,   399,
1451     403,   400,   401,   402,   398,   440,     0,     0,     0,   437,
1452     438,   439,     0,     0,   444,   455,     0,     0,     0,   452,
1453     453,   454,     0,     0,     0,     0,     0,     0,     0,     0,
1464         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1465         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1466 +       0,     0,     0,     0,     0,     0,     0,   453,     0,     0,
1467 +       0,   300,     0,     0,     0,     0,     0,     0,   286,   287,
1468 +     288,   289,   294,   290,   291,   292,   293,   425,     0,     0,
1469 +       0,   422,   423,   424,     0,     0,     0,   261,     0,   271,
1470 +       0,   269,   270,   272,   273,    48,     0,     0,     0,    44,
1471 +       0,     0,     0,     0,   102,   103,   104,     0,     0,     0,
1472 +     188,     0,     0,     0,     0,     0,   162,     0,     0,   142,
1473 +     143,   144,   145,   148,   149,   150,   151,   147,   146,   152,
1474 +       0,     0,     0,     0,     0,   320,   321,   322,   323,     0,
1475 +       0,     0,     0,     0,     0,     0,     0,     0,   635,    71,
1476         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1477 +       0,     0,     0,     0,     0,     0,     0,     0,    52,     0,
1478 +       0,   366,     0,   361,   362,   363,   113,     0,     0,   109,
1479 +       0,     0,     0,   329,     0,     0,   344,     0,     0,   337,
1480 +     338,   339,   340,     0,     0,     0,    89,     0,     0,     0,
1481 +       0,    27,     0,     0,     0,     0,     0,     0,     0,     0,
1482 +       0,     0,   602,   236,     0,     0,     0,     0,     0,     0,
1483         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1484 <       0,     0,   459,     0,     0,     0,   306,     0,     0,     0,
1485 <       0,     0,     0,   292,   293,   294,   295,   300,   296,   297,
1486 <     298,   299,   431,     0,     0,     0,   428,   429,   430,     0,
1461 <       0,     0,   267,     0,   277,     0,   275,   276,   278,   279,
1462 <      48,     0,     0,     0,    44,     0,     0,     0,     0,   110,
1463 <     111,   112,     0,     0,     0,   195,     0,     0,     0,     0,
1464 <       0,   170,     0,     0,   150,   151,   152,   153,   156,   157,
1465 <     158,   159,   155,   154,   160,     0,     0,     0,     0,     0,
1466 <     326,   327,   328,   329,     0,     0,     0,     0,     0,     0,
1467 <       0,     0,     0,   639,    71,     0,     0,     0,     0,     0,
1484 >       0,     0,   217,   398,     0,     0,     0,     0,     0,     0,
1485 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   382,
1486 >       0,     0,     0,   430,     0,   437,     0,     0,     0,   445,
1487         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1469       0,     0,     0,    52,     0,     0,   372,     0,   367,   368,
1470     369,   121,     0,     0,   117,     0,     0,     0,   335,     0,
1471       0,   350,     0,     0,   343,   344,   345,   346,     0,     0,
1472       0,    97,     0,     0,     0,     0,    27,     0,     0,     0,
1473       0,     0,     0,     0,     0,   610,   243,     0,     0,     0,
1488         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1475       0,     0,     0,     0,   225,   404,     0,     0,     0,     0,
1489         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1477       0,   388,     0,     0,     0,   436,     0,   443,     0,     0,
1478       0,   451,     0,     0,     0,     0,     0,     0,     0,     0,
1490         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1491         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1492 +     452,   295,     0,     0,     0,     0,     0,     0,     0,     0,
1493 +       0,   285,     0,     0,     0,   421,   274,     0,     0,     0,
1494 +       0,     0,   268,     0,     0,    43,   105,     0,     0,     0,
1495 +     101,   153,     0,     0,     0,     0,     0,     0,     0,     0,
1496 +       0,     0,     0,   141,   324,     0,     0,     0,     0,   319,
1497 +       0,     0,     0,     0,     0,     0,     0,     0,   634,     0,
1498         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1499 +       0,     0,     0,     0,     0,     0,    51,   364,     0,     0,
1500 +       0,   360,     0,   108,     0,     0,   328,   341,     0,     0,
1501 +       0,     0,   336,    98,    97,    96,   629,   628,   620,   621,
1502 +      27,    27,    27,    27,    27,    27,    27,    29,    28,   622,
1503 +     632,   633,   623,   624,   625,   627,   626,   630,   631,     0,
1504         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1505 <       0,     0,     0,   458,   301,     0,     0,     0,     0,     0,
1484 <       0,     0,     0,     0,   291,     0,     0,     0,   427,   280,
1485 <       0,     0,     0,     0,     0,   274,     0,     0,    43,   113,
1486 <       0,     0,     0,   109,   161,     0,     0,     0,     0,     0,
1487 <       0,     0,     0,     0,     0,     0,   149,   330,     0,     0,
1488 <       0,     0,   325,     0,     0,     0,     0,     0,     0,     0,
1489 <       0,   638,     0,     0,     0,     0,     0,     0,     0,     0,
1490 <       0,     0,     0,     0,     0,    76,    77,     0,    75,    80,
1491 <      81,     0,    79,     0,     0,    51,   370,     0,     0,     0,
1492 <     366,     0,   116,     0,     0,   334,   347,     0,     0,     0,
1493 <       0,   342,   106,   105,   104,   633,   632,   626,   636,    27,
1494 <      27,    27,    27,    27,    27,    27,    29,    28,   637,   627,
1495 <     628,   631,   630,   629,   634,   635,     0,     0,     0,     0,
1505 >       0,     0,     0,     0,    37,     0,     0,   216,     0,     0,
1506         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1507 <      37,     0,     0,   224,     0,     0,     0,     0,     0,     0,
1508 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   387,
1509 <       0,     0,   435,   448,     0,     0,   450,   523,   527,   542,
1510 <     512,   609,   555,   549,   552,   522,   514,   513,   516,   517,
1511 <     515,   530,   520,   521,   531,   519,   526,   525,   524,   550,
1512 <     511,   607,   608,   546,   592,   586,   603,   587,   588,   589,
1513 <     597,   606,   590,   600,   604,   593,   605,   598,   594,   599,
1514 <     591,   602,   596,   595,   601,     0,   585,   548,   566,   561,
1515 <     578,   562,   563,   564,   572,   581,   565,   575,   579,   568,
1516 <     580,   573,   569,   574,   567,   577,   571,   570,   576,     0,
1517 <     560,   543,   541,   544,   554,   545,   533,   539,   540,   537,
1518 <     538,   534,   535,   536,   553,   556,   518,   547,   529,   528,
1519 <     551,   532,     0,     0,     0,     0,     0,     0,     0,     0,
1520 <     290,     0,     0,   426,     0,     0,     0,   285,   281,   284,
1521 <     266,    49,    50,     0,     0,   108,     0,     0,     0,     0,
1522 <       0,     0,     0,     0,     0,     0,   148,     0,     0,     0,
1523 <     324,   651,   650,   656,   654,   657,   652,   653,   655,    88,
1524 <      96,    87,    94,    95,    86,    90,    89,    83,    82,    84,
1525 <      93,    85,    72,     0,    73,     0,    91,    92,     0,     0,
1526 <     365,   122,     0,     0,     0,   134,     0,   126,   127,   129,
1527 <     128,   339,     0,     0,     0,   341,    30,    31,    32,    33,
1528 <      34,    35,    36,   254,   255,   247,   264,   263,     0,   262,
1529 <     249,   251,   258,   250,   248,   257,   244,   256,   246,   245,
1530 <      37,    37,    37,    39,    38,   252,   253,   409,   412,   413,
1531 <     423,   420,   406,   421,   418,   419,     0,   417,   422,   405,
1532 <     411,   408,   410,   424,   407,   441,   442,   456,   457,   583,
1533 <       0,   558,     0,   304,   305,   314,   311,   316,   312,   313,
1534 <     319,   315,   317,   310,   318,     0,   309,   303,   322,   321,
1535 <     320,   302,   433,   432,   288,   287,   272,   273,   271,     0,
1536 <     270,     0,     0,     0,   114,   115,   169,   165,   215,   202,
1537 <     212,   211,   200,   205,   222,   214,   220,   204,   207,   217,
1538 <     219,   216,   213,   221,   208,   210,   218,   206,   209,     0,
1539 <     198,   162,   164,   166,   167,   168,   179,   174,   191,   175,
1540 <     176,   177,   185,   194,   178,   188,   192,   181,   193,   186,
1541 <     182,   187,   180,   190,   184,   183,   189,     0,   173,   163,
1542 <     333,   331,   332,    74,    78,   371,   376,   382,   385,   378,
1543 <     384,   379,   383,   381,   377,   380,     0,   375,   130,     0,
1544 <       0,     0,     0,   125,   348,   354,   360,   363,   356,   362,
1545 <     357,   361,   359,   355,   358,     0,   353,   349,   260,     0,
1546 <      40,    41,    42,   415,     0,   584,   559,   307,     0,   268,
1547 <       0,   286,   283,   282,     0,     0,     0,   196,     0,   171,
1548 <       0,   373,     0,     0,     0,     0,     0,   124,   351,     0,
1549 <     261,   416,   308,   269,   201,   199,   203,   197,   172,   374,
1540 <     131,   133,   132,   140,   145,   144,   139,   142,   146,   143,
1541 <     138,   141,     0,   137,   352,   135,     0,   136
1507 >       0,     0,     0,   381,     0,     0,   429,   442,     0,     0,
1508 >     444,   516,   520,   535,   505,   601,   546,   542,   515,   507,
1509 >     506,   509,   510,   508,   523,   513,   514,   524,   512,   519,
1510 >     518,   517,   543,   504,   599,   600,   539,   585,   579,   595,
1511 >     580,   581,   582,   590,   598,   583,   592,   596,   586,   597,
1512 >     587,   591,   584,   594,   589,   588,   593,     0,   578,   541,
1513 >     558,   559,   560,   553,   571,   554,   555,   556,   566,   574,
1514 >     557,   568,   572,   562,   573,   563,   567,   561,   570,   565,
1515 >     564,   569,     0,   552,   536,   534,   537,   545,   538,   526,
1516 >     532,   533,   530,   531,   527,   528,   529,   544,   547,   548,
1517 >     511,   540,   522,   521,   525,     0,     0,     0,     0,     0,
1518 >       0,     0,     0,   284,     0,     0,   420,     0,     0,     0,
1519 >     279,   275,   278,   260,    49,    50,     0,     0,   100,     0,
1520 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   140,
1521 >       0,     0,     0,   318,   647,   646,   652,   650,   653,   648,
1522 >     649,   651,    80,    88,    79,    86,    87,    78,    82,    81,
1523 >      73,    72,    77,    74,    76,    85,    75,    83,    84,     0,
1524 >       0,   359,   114,     0,     0,     0,   126,     0,   118,   119,
1525 >     121,   120,   333,     0,     0,     0,   335,    30,    31,    32,
1526 >      33,    34,    35,    36,   248,   249,   240,   258,   257,     0,
1527 >     256,   241,   243,   245,   252,   244,   242,   251,   237,   250,
1528 >     239,   238,    37,    37,    37,    39,    38,   246,   247,   403,
1529 >     406,   407,   417,   414,   400,   415,   412,   413,     0,   411,
1530 >     416,   399,   405,   402,   404,   418,   401,   435,   436,   450,
1531 >     451,   576,     0,   550,     0,   298,   299,   308,   305,   310,
1532 >     306,   307,   313,   309,   311,   304,   312,     0,   303,   297,
1533 >     316,   315,   314,   296,   427,   426,   282,   281,   266,   267,
1534 >     265,     0,   264,     0,     0,     0,   106,   107,   161,   157,
1535 >     208,   195,   205,   204,   193,   198,   214,   207,   212,   197,
1536 >     200,   209,   211,   206,   213,   201,   203,   210,   199,   202,
1537 >       0,   191,   154,   156,   158,   159,   160,   171,   172,   173,
1538 >     166,   184,   167,   168,   169,   179,   187,   170,   181,   185,
1539 >     175,   186,   176,   180,   174,   183,   178,   177,   182,     0,
1540 >     165,   155,   327,   325,   326,   365,   370,   376,   379,   372,
1541 >     378,   373,   377,   375,   371,   374,     0,   369,   122,     0,
1542 >       0,     0,     0,   117,   342,   348,   354,   357,   350,   356,
1543 >     351,   355,   353,   349,   352,     0,   347,   343,   254,     0,
1544 >      40,    41,    42,   409,     0,   577,   551,   301,     0,   262,
1545 >       0,   280,   277,   276,     0,     0,     0,   189,     0,   163,
1546 >       0,   367,     0,     0,     0,     0,     0,   116,   345,     0,
1547 >     255,   410,   302,   263,   194,   192,   196,   190,   164,   368,
1548 >     123,   125,   124,   132,   137,   136,   131,   134,   138,   135,
1549 >     130,   133,     0,   129,   346,   127,     0,   128
1550   };
1551  
1552    /* YYPGOTO[NTERM-NUM].  */
1553   static const yytype_int16 yypgoto[] =
1554   {
1555 <    -755,  -755,  -755,  -298,  -307,  -754,  -621,  -755,  -755,   935,
1556 <    -755,  -755,  -755,  -755,   619,  -755,  -755,  -755,   107,  -755,
1557 <      93,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1558 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  1051,  -755,
1559 <    -755,  -755,  -755,  -755,  -755,   630,  -755,  -755,  -755,  -755,
1560 <     937,  -755,  -755,  -755,  -755,    91,  -755,  -755,  -755,  -755,
1561 <    -755,  -152,  -755,  -755,  -755,   623,  -755,  -755,  -755,  -755,
1562 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -113,  -755,  -755,
1563 <    -755,  -108,  -755,  -755,  -755,   806,  -755,  -755,  -755,  -755,
1564 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1565 <    -755,  -755,  -755,  -755,   -77,  -755,  -755,  -755,  -755,  -755,
1566 <     -82,  -755,   678,  -755,  -755,  -755,    28,  -755,  -755,  -755,
1567 <    -755,  -755,   708,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1568 <     -79,  -755,  -755,  -755,  -755,  -755,  -755,   643,  -755,  -755,
1569 <    -755,  -755,  -755,   938,  -755,  -755,  -755,  -755,   588,  -755,
1570 <    -755,  -755,  -755,  -755,   -86,  -755,  -755,  -755,   609,  -755,
1571 <    -755,  -755,  -755,   -78,  -755,  -755,  -755,   808,  -755,  -755,
1572 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -56,
1573 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   700,  -755,
1574 <    -755,  -755,  -755,  -755,   798,  -755,  -755,  -755,  -755,  1068,
1575 <    -755,  -755,  -755,  -755,   799,  -755,  -755,  -755,  -755,  1015,
1576 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1577 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1578 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1579 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1580 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,    80,  -755,  -755,
1581 <    -755,    83,  -755,  -755,  -755,  -755,  -755,  1089,  -755,  -755,
1582 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1583 <    -755,  -755,   946,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1576 <    -755
1555 >   -1029, -1029, -1029,  -435,  -309, -1028,  -629, -1029, -1029,   963,
1556 >   -1029, -1029, -1029, -1029,   951, -1029, -1029, -1029, -1029, -1029,
1557 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1558 >   -1029, -1029, -1029, -1029,   953, -1029, -1029, -1029, -1029, -1029,
1559 >   -1029,   544, -1029, -1029, -1029, -1029,   958, -1029, -1029, -1029,
1560 >   -1029,     9, -1029, -1029, -1029, -1029, -1029,  -238, -1029, -1029,
1561 >   -1029,   545, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1562 >   -1029, -1029, -1029,  -138, -1029, -1029, -1029,  -178, -1029, -1029,
1563 >   -1029,   858, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1564 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1565 >   -1029,  -156, -1029, -1029, -1029, -1029, -1029,  -127, -1029,   625,
1566 >   -1029, -1029, -1029,   -18, -1029, -1029, -1029, -1029, -1029,   650,
1567 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029,  -120, -1029, -1029,
1568 >   -1029, -1029, -1029, -1029,   585, -1029, -1029, -1029, -1029, -1029,
1569 >     959, -1029, -1029, -1029, -1029,   533, -1029, -1029, -1029, -1029,
1570 >   -1029,  -134, -1029, -1029, -1029,   556, -1029, -1029, -1029, -1029,
1571 >    -122, -1029, -1029, -1029,   820, -1029, -1029, -1029, -1029, -1029,
1572 >   -1029, -1029, -1029, -1029, -1029, -1029,  -105, -1029, -1029, -1029,
1573 >   -1029, -1029, -1029, -1029, -1029,   653, -1029, -1029, -1029, -1029,
1574 >   -1029,   740, -1029, -1029, -1029, -1029,  1023, -1029, -1029, -1029,
1575 >   -1029,   960, -1029, -1029, -1029, -1029,   971, -1029, -1029, -1029,
1576 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1577 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1578 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1579 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1580 >   -1029, -1029, -1029,    36, -1029, -1029, -1029,    61, -1029, -1029,
1581 >   -1029, -1029, -1029,  1077, -1029, -1029, -1029, -1029, -1029, -1029,
1582 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1583 >     961, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029
1584   };
1585  
1586    /* YYDEFGOTO[NTERM-NUM].  */
1587   static const yytype_int16 yydefgoto[] =
1588   {
1589 <      -1,     1,    25,   816,   817,  1073,  1074,    26,   222,   223,
1590 <     224,   225,    27,   266,   267,   268,   269,   777,   778,   781,
1591 <     782,   270,   271,   272,   273,   274,   275,   276,   277,   278,
1592 <     279,   280,   281,   282,   283,   284,    28,    74,    75,    76,
1593 <      77,    78,    29,    61,   498,   499,   500,   501,    30,   288,
1594 <     289,   290,   291,   292,  1036,  1037,  1038,  1039,  1040,  1211,
1595 <    1282,  1283,    31,    62,   513,   514,   515,   516,   517,   518,
1596 <     519,   520,   521,   522,   523,   743,  1187,  1188,   524,   737,
1597 <    1159,  1160,    32,    51,   336,   337,   338,   339,   340,   341,
1598 <     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1599 <     352,   353,   610,  1058,  1059,    33,    59,   484,   722,  1129,
1600 <    1130,   485,   486,   487,  1133,   978,   979,   488,   489,    34,
1601 <      57,   462,   463,   464,   465,   466,   467,   468,   707,  1115,
1602 <    1116,   469,   470,   471,    35,    63,   529,   530,   531,   532,
1603 <     533,    36,   295,   296,   297,    37,    69,   583,   584,   585,
1604 <     586,   587,   798,  1225,  1226,    38,    66,   567,   568,   569,
1605 <     570,   788,  1206,  1207,    39,    52,   369,   370,   371,   372,
1606 <     373,   374,   375,   376,   377,   378,   379,   632,  1086,  1087,
1607 <     380,   381,   382,   383,   384,    40,    58,   475,   476,   477,
1608 <     478,    41,    53,   388,   389,   390,   391,    42,   111,   112,
1609 <     113,    43,    55,   398,   399,   400,   401,    44,   165,   166,
1610 <     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1611 <     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1612 <     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1613 <     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1614 <     207,   208,   209,   210,   211,   431,   939,   940,   212,   429,
1615 <     915,   916,   213,   214,   215,    45,    92,    93,    94,    95,
1616 <      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1617 <      46,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1611 <     247
1589 >      -1,     1,    25,   817,   818,  1075,  1076,    26,   224,   225,
1590 >     226,   227,    27,   268,   269,   270,   271,   272,   273,   274,
1591 >     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1592 >     285,   286,    28,    74,    75,    76,    77,    78,    29,    61,
1593 >     503,   504,   505,   506,    30,   290,   291,   292,   293,   294,
1594 >    1037,  1038,  1039,  1040,  1041,  1211,  1282,  1283,    31,    62,
1595 >     518,   519,   520,   521,   522,   523,   524,   525,   526,   527,
1596 >     528,   750,  1189,  1190,   529,   744,  1160,  1161,    32,    51,
1597 >     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
1598 >     351,   352,   353,   354,   355,   356,   357,   358,   359,   617,
1599 >    1059,  1060,    33,    59,   489,   729,  1131,  1132,   490,   491,
1600 >     492,  1135,   981,   982,   493,   494,    34,    57,   467,   468,
1601 >     469,   470,   471,   472,   473,   714,  1117,  1118,   474,   475,
1602 >     476,    35,    63,   534,   535,   536,   537,   538,    36,   297,
1603 >     298,   299,    37,    69,   588,   589,   590,   591,   592,   799,
1604 >    1225,  1226,    38,    66,   572,   573,   574,   575,   789,  1206,
1605 >    1207,    39,    52,   375,   376,   377,   378,   379,   380,   381,
1606 >     382,   383,   384,   385,   640,  1088,  1089,   386,   387,   388,
1607 >     389,   390,    40,    58,   480,   481,   482,   483,    41,    53,
1608 >     394,   395,   396,   397,    42,   115,   116,   117,    43,    55,
1609 >     404,   405,   406,   407,    44,   168,   169,   170,   171,   172,
1610 >     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1611 >     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1612 >     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1613 >     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1614 >     213,   436,   942,   943,   214,   434,   917,   918,   215,   216,
1615 >     217,    45,    94,    95,    96,    97,    98,    99,   100,   101,
1616 >     102,   103,   104,   105,   106,   107,   108,   109,    46,   240,
1617 >     241,   242,   243,   244,   245,   246,   247,   248,   249
1618   };
1619  
1620    /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
# Line 1616 | Line 1622 | static const yytype_int16 yydefgoto[] =
1622       number is the opposite.  If YYTABLE_NINF, syntax error.  */
1623   static const yytype_int16 yytable[] =
1624   {
1625 <     841,   842,   597,   598,   599,   564,    49,   840,    70,   472,
1626 <     248,   109,   525,  1084,    79,   502,   229,  1056,  1022,   495,
1627 <     286,    50,  1023,   495,   293,   219,   479,  1032,   579,    47,
1628 <      48,   503,    71,  1126,   249,    80,    81,   395,  1024,    72,
1629 <     286,    82,  1025,    54,   230,    56,   526,   504,   525,   395,
1630 <      60,   472,   231,  1099,   293,  1101,  1228,  1100,  1032,  1102,
1631 <    1229,    64,   385,   579,   232,   233,   250,   234,   235,   236,
1632 <     385,   110,  1233,   251,   564,    65,  1234,   505,    83,    84,
1633 <     219,   480,   526,    67,    85,    86,   481,   527,   482,   237,
1634 <    1057,    87,    88,    89,   496,   252,   653,   654,   496,   253,
1635 <     775,   776,   565,  1254,   661,    73,    68,   254,   665,   115,
1636 <     255,   256,   506,   670,   116,   117,   673,    90,    91,   220,
1637 <     118,   294,   386,   527,  1033,   580,   683,   684,   119,   120,
1638 <     386,   109,   507,   473,   396,   121,   528,   696,   122,   123,
1639 <     699,   700,   257,   221,   124,   106,   396,   483,   508,   125,
1640 <     126,   294,   127,   128,   129,  1033,   130,   779,   780,   258,
1641 <     580,   397,   259,   131,   453,   509,   510,   132,   133,  1127,
1642 <     107,   565,   528,   397,   220,   473,   134,  1237,  1239,  1128,
1643 <     454,  1238,  1240,   108,   114,   135,   387,   260,   497,  -123,
1644 <     216,   110,   497,   136,   387,   137,   455,   138,   221,   139,
1645 <    1085,   140,   141,   217,  1247,   261,   262,   263,  1248,  -123,
1646 <     218,   226,  1249,   299,   142,   511,  1250,  1034,   227,   143,
1647 <     144,   145,   566,   146,   147,   148,   456,  1251,   149,   300,
1648 <     474,  1252,   264,   265,   760,   303,   512,   562,   393,   751,
1649 <     287,   317,   745,   542,  1035,   581,   732,   573,  1034,   582,
1650 <     228,   577,   493,   724,   150,   800,   490,  1258,  1105,   319,
1651 <     287,  1259,   151,   152,   153,   154,   155,   156,   688,   285,
1652 <     298,   689,   474,   320,   321,  1035,   650,   322,   717,  1106,
1653 <     581,   457,  1285,    70,   582,  1212,  1286,   544,  1107,   458,
1654 <     459,   566,   571,   479,   301,   157,   302,   644,  1070,  1071,
1655 <    1072,   789,   828,   845,   846,   690,   832,    71,   691,   835,
1656 <     460,   305,   306,   839,    72,  1108,  1230,  1231,  1232,   158,
1657 <     159,   323,   160,   161,   162,   575,   307,   354,   163,   355,
1658 <     308,   356,   309,   164,   310,   311,   451,  1273,   588,   324,
1659 <     325,   326,   327,   357,  1109,  1110,   328,   312,   480,   313,
1660 <     329,   314,  1111,   481,   453,   482,   330,   315,   316,   358,
1661 <     592,   392,   402,   403,  1274,   404,  1275,   331,   332,   405,
1662 <     454,   406,   407,   408,   409,   596,   410,  1112,   411,   333,
1663 <      73,   412,   359,   413,   360,   461,   455,   414,   415,   361,
1664 <     416,   713,   417,  1113,   418,   419,   420,   840,   421,   362,
1665 <     422,   334,   809,   810,   811,   812,   813,   814,   815,   248,
1666 <     423,  1276,   424,   425,   483,   115,   456,   426,   427,   428,
1667 <     116,   117,   430,   432,   363,   433,   118,   434,  1277,   435,
1668 <     436,   437,   438,   249,   119,   120,   439,   440,   441,   442,
1669 <     335,   121,   443,   444,   122,   123,   445,   446,   364,   447,
1670 <     124,   448,   449,   450,  1114,   125,   126,   491,   127,   128,
1671 <     129,   492,   130,  1278,  1279,   250,   534,   535,   365,   131,
1672 <     536,   457,   251,   132,   133,   589,   537,   366,   538,   458,
1673 <     459,   539,   134,   540,   541,   545,   623,   546,   590,   547,
1674 <     548,   135,   549,   550,   252,   551,   552,   591,   253,   136,
1675 <     460,   137,   553,   138,   229,   139,   254,   140,   141,   255,
1676 <     256,  1046,  1047,  1048,  1049,  1050,  1051,  1052,   554,  1280,
1677 <     142,   555,   367,  1281,   556,   143,   144,   145,  1138,   146,
1678 <     147,   148,   230,   557,   149,   558,   559,   560,   561,   572,
1679 <     231,   257,  1139,   576,   593,   594,   595,   502,   596,   368,
1680 <    1140,   600,   232,   233,   640,   234,   235,   236,   258,   601,
1681 <     150,   259,   602,   503,  1141,   603,   604,   605,   151,   152,
1682 <     153,   154,   155,   156,   606,   461,   607,   237,   354,   504,
1683 <     355,   608,   356,   646,   609,   652,   260,   611,   612,  1255,
1684 <     613,  1142,   614,  1143,   357,   656,   615,   616,   617,   618,
1685 <     619,   157,   620,   621,   261,   262,   263,   622,   625,   505,
1686 <     358,   655,   626,   627,   628,   629,   630,   631,   633,  1144,
1687 <     634,   635,   636,   637,   638,   158,   159,   639,   160,   161,
1688 <     162,   264,   265,   359,   163,   360,   642,   643,   647,   164,
1689 <     361,   657,   648,   649,   506,   658,   659,   660,   663,   662,
1690 <     362,   664,  1145,  1196,  1146,   666,   667,   668,   669,   671,
1691 <     672,   674,   675,   676,   507,   677,   678,   680,   682,   685,
1692 <     765,   679,   681,  1147,   686,   363,   687,   692,   693,   694,
1693 <     508,   695,   697,   698,   701,   702,   726,   727,   703,   704,
1694 <     756,  1148,   762,   705,   764,   706,  1149,   509,   510,   364,
1695 <    1150,   708,   766,   753,   754,  1151,   709,   710,  1152,   711,
1696 <     712,   715,   716,  1153,   720,  1197,   719,     2,     3,   365,
1697 <     721,     4,   723,   728,   319,   729,   767,  1154,   366,   730,
1698 <    1155,     5,  1156,   894,     6,     7,   731,   734,   320,   321,
1699 <     747,     8,   322,  1157,  1198,   735,   736,   511,   738,   739,
1700 <    1158,  1199,     9,   761,   755,    10,    11,   740,   741,   742,
1701 <    1200,   744,   748,   749,   750,   768,   757,   769,   512,   758,
1702 <     759,   763,   770,   367,   771,   772,   773,   774,   783,    12,
1703 <     784,   794,   826,   791,    13,   827,   323,  1201,   830,  1202,
1704 <    1203,   831,    14,   785,   793,   786,   918,   792,   833,   834,
1705 <     368,   795,   787,  1204,   324,   325,   326,   327,   796,   797,
1706 <    1205,   328,   799,    15,    16,   329,   802,   803,   804,   805,
1707 <     806,   330,   807,   808,   818,   819,   820,   821,   822,   823,
1708 <     836,    17,   331,   332,   824,   825,   829,   837,  1215,  1166,
1709 <     838,   840,   843,   844,   333,   895,   896,   897,    18,   898,
1710 <     899,   847,   900,   901,   849,   902,   848,   903,   850,   851,
1711 <     904,    19,    20,   905,   906,   907,   334,   908,   852,   853,
1712 <     854,   855,   909,   856,   857,   858,   910,   911,   912,   860,
1713 <     859,    21,   861,   862,   864,   563,   913,   863,   865,   866,
1714 <     867,   914,   868,   869,    22,   963,   870,   871,   872,   873,
1715 <    1216,   966,   874,    23,   977,   335,   875,    24,   919,   920,
1716 <     921,   962,   922,   923,   876,   924,   925,   965,   926,   877,
1717 <     927,   878,   879,   928,   880,   881,   929,   930,   931,  1217,
1718 <     932,   882,   883,   884,   967,   933,  1218,   885,   886,   934,
1719 <     935,   936,   887,   888,   964,  1219,   889,   968,   890,   937,
1720 <     969,  1167,  1168,  1169,   938,  1170,  1171,   891,  1172,  1173,
1721 <     971,  1174,   972,  1175,    79,   892,  1176,   893,   917,  1177,
1722 <    1178,  1179,  1220,  1180,  1221,  1222,   941,   974,  1181,   975,
1723 <     942,   943,  1182,  1183,  1184,    80,    81,   944,  1223,   983,
1724 <     945,    82,  1185,   946,   947,  1224,   984,  1186,   948,   949,
1725 <     950,   951,   952,   953,   954,   955,   956,   957,   958,   959,
1726 <     960,   961,   970,   973,   986,   987,   980,   976,   981,   982,
1727 <     989,   990,   985,   991,   992,   993,   995,   988,    83,    84,
1728 <     994,   996,   997,   998,    85,    86,   999,  1000,  1028,  1001,
1729 <    1002,    87,    88,    89,  1003,  1004,  1005,  1006,  1007,  1008,
1730 <    1009,  1042,  1010,  1011,  1044,  1012,  1013,  1014,  1015,  1016,
1731 <    1017,  1018,  1019,  1020,  1241,  1021,  1253,    90,    91,  1026,
1732 <    1027,  1029,  1030,  1031,  1041,  1132,  1045,  1053,  1043,  1054,
1733 <    1055,  1209,  1060,  1264,  1061,  1062,  1063,  1064,  1065,  1066,
1734 <    1067,  1068,  1069,  1265,  1075,  1076,  1077,  1078,  1079,  1080,
1735 <    1266,  1081,  1082,  1083,  1088,  1089,  1090,  1091,  1092,  1093,
1736 <    1094,  1095,  1096,  1097,  1098,  1103,  1104,  1117,  1194,  1118,
1737 <    1119,  1120,  1121,  1122,  1131,   304,  1123,  1213,   733,  1124,
1738 <    1193,  1125,  1134,  1135,  1287,  1136,   746,  1268,  1137,  1161,
1739 <    1267,  1162,   624,  1163,  1164,  1165,  1189,  1190,  1191,  1192,
1740 <    1195,  1208,  1260,  1214,  1227,  1210,  1243,   494,  1263,  1262,
1741 <    1242,  1257,  1244,   725,  1245,  1246,  1256,  1270,  1271,  1272,
1742 <     714,   801,   752,  1284,  1269,   718,   790,   641,  1261,   394,
1743 <     452,   318,  1236,  1235,   543,     0,   645,     0,     0,     0,
1744 <       0,     0,     0,     0,     0,     0,     0,   651,     0,     0,
1625 >     845,   846,   602,   288,   604,   584,   606,   607,   569,    70,
1626 >      49,   231,   584,   484,  1033,   500,   113,   113,   500,   844,
1627 >      50,   391,  1057,    54,   221,   221,  1086,   401,   391,    56,
1628 >     695,    60,   697,    71,   696,   295,   698,    47,    48,   232,
1629 >      72,   530,   288,   119,  1230,  1231,  1232,   233,   120,   121,
1630 >    1128,    64,  1101,  1103,   122,   477,  1102,  1104,    65,   234,
1631 >     235,    67,   123,   124,   236,   237,   238,   849,   850,   125,
1632 >     485,   401,   126,    68,   295,   531,   110,   486,   127,   487,
1633 >     114,   114,   111,   128,   129,   392,   130,   131,   132,   239,
1634 >     133,   477,   392,   250,   569,   501,   112,  1058,   501,   134,
1635 >     661,   662,   118,   135,   136,    79,   585,   668,   218,   570,
1636 >      73,   672,  1254,   585,   137,  1034,   677,   251,   458,   680,
1637 >     219,   532,   222,   222,   138,   220,    80,    81,   402,   690,
1638 >     691,   139,    82,   140,   459,   141,   296,   142,   488,   143,
1639 >     144,   704,   228,   229,   707,   708,   223,   223,   230,   393,
1640 >     460,   252,   145,   287,   300,   403,   393,   146,   147,   148,
1641 >     253,   149,   150,   151,  1033,   301,   152,    83,    84,   533,
1642 >     302,   303,   402,    85,    86,   296,   304,   307,  -115,    87,
1643 >      88,    89,   254,   478,   461,  1228,   255,    90,    91,  1229,
1644 >     502,  1129,   153,   502,   256,   570,   323,   257,   258,   403,
1645 >     507,  1130,   154,   155,   156,   157,   158,   159,   308,  1035,
1646 >     324,   325,    92,    93,   326,   309,   508,  -115,  1087,   478,
1647 >     310,   311,  1233,   312,   586,   289,  1234,   571,   587,   259,
1648 >     313,   586,   509,  1036,   160,   587,   580,   767,   305,   462,
1649 >     547,   801,   731,  1212,   739,   399,   260,   463,   464,   261,
1650 >     262,   263,   794,   498,   161,   162,   163,   652,   164,   165,
1651 >     166,    70,   327,   314,   289,  1034,   510,   315,   465,   167,
1652 >     758,   578,   456,   360,   495,   361,   264,   362,   479,   328,
1653 >     329,   330,   331,   332,   724,    71,  1237,   333,   316,   363,
1654 >    1238,   334,    72,   265,   360,  1239,   361,   335,   362,  1240,
1655 >     658,   511,   593,   582,   317,   364,   318,   831,   336,   337,
1656 >     363,   319,   836,   571,   479,   839,   320,   266,   267,   843,
1657 >     338,   512,   567,   790,   458,  1247,   364,   530,   549,  1248,
1658 >     365,  1249,   366,   398,   321,  1250,   601,   513,   408,   367,
1659 >     459,   466,   339,  1072,  1073,  1074,   409,   720,  1251,   576,
1660 >     368,   365,  1252,   366,   514,   515,   460,   410,   411,  1035,
1661 >     367,   531,    73,   810,   811,   812,   813,   814,   815,   816,
1662 >     412,   368,   413,   414,   369,  1047,  1048,  1049,  1050,  1051,
1663 >    1052,  1053,   340,  1036,  1258,  1285,   415,   596,  1259,  1286,
1664 >     461,   119,   484,   416,   417,   369,   120,   121,   370,   418,
1665 >     419,   516,   122,   420,   421,   422,   423,   532,   424,   425,
1666 >     123,   124,   507,   426,   427,   428,   429,   125,   371,   370,
1667 >     126,   430,   431,   517,   432,   631,   127,   372,   508,   752,
1668 >     433,   128,   129,   435,   130,   131,   132,   250,   133,   371,
1669 >     437,   438,   439,   440,   509,   462,   844,   134,   372,   485,
1670 >     441,   135,   136,   463,   464,   533,   486,   442,   487,   443,
1671 >     444,   251,   137,   445,   446,  1273,   447,   448,   449,   450,
1672 >     451,   452,   138,   373,   465,   453,   454,   455,   510,   139,
1673 >     496,   140,   497,   141,   539,   142,   540,   143,   144,   541,
1674 >     542,   543,   594,   544,   373,   252,  1274,   374,  1275,   545,
1675 >     145,  1140,   648,   546,   253,   146,   147,   148,   231,   149,
1676 >     150,   151,   550,   511,   152,  1141,   551,   488,   374,   552,
1677 >     553,  1196,   554,  1142,   555,  1215,   254,   556,   557,   558,
1678 >     255,   559,   560,   512,   561,   562,   232,  1143,   256,   563,
1679 >     153,   257,   258,  1276,   233,   564,   565,   466,  1107,   513,
1680 >     154,   155,   156,   157,   158,   159,   234,   235,   595,   566,
1681 >    1277,   236,   237,   238,   577,   581,   514,   515,  1144,  1108,
1682 >    1145,   597,   598,   259,   599,   600,   601,   603,  1109,   605,
1683 >     608,  1255,   160,  1197,   609,   610,   239,  1216,   611,   612,
1684 >     260,   613,   660,   261,   262,   263,  1146,  1278,  1279,   614,
1685 >     615,   616,   161,   162,   163,   618,   164,   165,   166,  1110,
1686 >     619,   620,   621,   516,  1198,   622,   623,   167,  1217,   624,
1687 >     264,  1199,   633,   654,   625,  1218,   626,   627,   628,  1147,
1688 >    1200,  1148,   629,   630,  1219,   517,   634,   265,  1111,  1112,
1689 >     635,   636,   637,   655,   638,   639,  1113,   641,   642,  1280,
1690 >    1149,   643,  1201,  1281,  1202,  1203,  1220,   663,  1221,  1222,
1691 >     644,   266,   267,   664,     2,     3,   645,   646,     4,  1204,
1692 >    1150,  1114,   647,  1223,   650,  1151,  1205,   651,     5,  1152,
1693 >    1224,     6,     7,   656,   665,   657,  1153,  1115,     8,   666,
1694 >     667,  1154,   669,   323,   670,   671,   673,   674,   675,     9,
1695 >     676,  1155,    10,    11,  1156,   678,  1157,   324,   325,   679,
1696 >     681,   326,   682,   683,   684,   685,   686,   687,  1158,   689,
1697 >     688,   692,   693,   694,   699,  1159,   700,   701,    79,   703,
1698 >      12,   702,   705,   706,   709,    13,   733,   712,   920,   734,
1699 >     921,   922,   763,   710,    14,  1116,   711,   726,   760,    80,
1700 >      81,   713,   715,   769,   771,    82,   716,   717,   718,   327,
1701 >     719,   722,   723,   727,    15,    16,   728,   735,   730,   736,
1702 >     761,   737,   741,   738,   742,   754,   328,   329,   330,   331,
1703 >     332,   743,    17,  1167,   333,  1168,  1169,   745,   334,   746,
1704 >      83,    84,   747,   748,   335,   749,    85,    86,   751,    18,
1705 >     755,   756,    87,    88,    89,   336,   337,   757,   768,   772,
1706 >      90,    91,    19,    20,   762,   773,   764,   338,   765,   766,
1707 >     774,   897,   770,   775,   782,   776,   777,   778,   779,   780,
1708 >     792,   781,   783,   784,    21,    92,    93,   785,   788,   339,
1709 >     795,   829,   786,   787,   830,   793,   840,    22,   833,   796,
1710 >     797,   834,   803,   804,   798,    23,   923,   924,   925,    24,
1711 >     926,   927,   800,   928,   929,   805,   930,   806,   931,   807,
1712 >     808,   932,   809,   819,   933,   934,   820,   935,   821,   340,
1713 >     822,   823,   936,   824,   825,   826,   937,   938,   939,   827,
1714 >     828,   832,   940,   835,   837,   838,   841,   941,   842,   844,
1715 >     847,  1170,  1171,  1172,   848,  1173,  1174,   851,  1175,  1176,
1716 >     855,  1177,   853,  1178,   858,   854,  1179,   856,   852,  1180,
1717 >    1181,   857,  1182,   859,   860,   861,   862,  1183,   864,   966,
1718 >     865,  1184,  1185,  1186,   868,   869,   965,  1187,   863,   898,
1719 >     899,   900,  1188,   901,   902,   866,   903,   904,   968,   905,
1720 >     867,   906,   870,   871,   907,   872,   969,   908,   909,   873,
1721 >     910,   970,   874,   967,   875,   911,   876,   877,   971,   912,
1722 >     913,   914,   878,   879,   880,   915,   881,   882,   883,   884,
1723 >     916,   885,   886,   887,   888,   889,   890,   891,   892,   893,
1724 >     894,   895,   896,   919,   944,   945,   946,   947,   948,   949,
1725 >     950,   972,   951,   952,   953,   954,   974,   955,   956,   975,
1726 >     977,   978,   980,   986,   987,   989,   992,   993,   957,   994,
1727 >     958,   959,   960,   995,   961,   990,   998,   306,  1000,   962,
1728 >     996,  1001,  1002,   963,   964,   973,  1029,  1043,  1045,   976,
1729 >    1241,   983,   984,   979,   985,   988,  1213,   740,  1287,   991,
1730 >     997,   999,  1003,  1004,  1005,  1006,  1007,  1008,  1009,  1010,
1731 >    1011,  1012,  1013,   753,  1014,  1015,  1016,  1017,  1018,  1019,
1732 >    1267,  1020,  1021,  1260,  1022,  1023,  1024,  1025,  1026,  1027,
1733 >    1028,  1253,  1031,  1032,  1030,  1042,  1046,  1044,  1054,  1055,
1734 >    1056,  1061,  1062,  1063,  1064,  1065,  1066,  1067,  1068,  1069,
1735 >    1070,  1071,  1077,  1264,  1078,  1079,  1080,  1081,  1265,  1082,
1736 >    1083,  1266,  1268,  1263,  1084,   732,  1242,   721,  1262,   759,
1737 >    1085,   802,  1090,  1091,  1092,  1284,  1093,  1094,   791,  1261,
1738 >    1269,  1095,  1096,   725,   653,  1097,  1098,  1099,   400,   457,
1739 >    1236,  1100,  1105,  1106,  1119,  1120,  1121,  1122,  1123,  1124,
1740 >    1125,  1126,  1127,  1133,  1136,  1137,  1138,  1134,  1139,  1162,
1741 >    1163,  1164,  1165,  1235,  1166,  1191,  1192,  1193,  1194,  1195,
1742 >    1208,   322,     0,  1214,  1209,  1210,  1227,  1243,     0,  1244,
1743 >    1245,  1257,  1256,  1246,  1270,  1271,  1272,   499,     0,     0,
1744 >       0,     0,     0,     0,     0,   649,     0,     0,     0,   632,
1745 >       0,   548,     0,     0,     0,     0,     0,     0,     0,     0,
1746 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   568,
1747 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1748 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1749 >       0,     0,     0,     0,     0,     0,     0,     0,   579,     0,
1750 >       0,     0,     0,     0,     0,     0,   583,     0,     0,     0,
1751 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1752 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1753 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1754 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1755         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1756         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1757 <       0,     0,     0,     0,     0,   574,     0,     0,     0,     0,
1758 <       0,     0,     0,   578
1757 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1758 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1759 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1760 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1761 >       0,     0,     0,     0,   659
1762   };
1763  
1764   static const yytype_int16 yycheck[] =
1765   {
1766 <     621,   622,   309,   310,   311,     1,   229,   108,     1,     1,
1767 <       1,     1,     1,     8,     1,     1,     1,    51,   227,     1,
1768 <       1,   229,   231,     1,     1,     1,     1,     1,     1,   227,
1769 <     228,    17,    25,    49,    25,    22,    23,     1,   227,    32,
1770 <       1,    28,   231,   229,    29,   229,    35,    33,     1,     1,
1771 <     229,     1,    37,   227,     1,   227,   227,   231,     1,   231,
1772 <     231,   229,     1,     1,    49,    50,    57,    52,    53,    54,
1773 <       1,    61,   227,    64,     1,   229,   231,    63,    65,    66,
1774 <       1,    56,    35,   229,    71,    72,    61,    76,    63,    74,
1775 <     124,    78,    79,    80,    76,    86,   403,   404,    76,    90,
1776 <     199,   200,    98,   204,   411,    98,   229,    98,   415,     1,
1777 <     101,   102,    98,   420,     6,     7,   423,   104,   105,    95,
1778 <      12,    98,    61,    76,    98,    98,   433,   434,    20,    21,
1779 <      61,     1,   118,   125,    98,    27,   125,   444,    30,    31,
1780 <     447,   448,   133,   119,    36,   229,    98,   122,   134,    41,
1781 <      42,    98,    44,    45,    46,    98,    48,   199,   200,   150,
1782 <      98,   125,   153,    55,     1,   151,   152,    59,    60,   185,
1783 <     229,    98,   125,   125,    95,   125,    68,   227,   227,   195,
1784 <      17,   231,   231,   229,   229,    77,   125,   178,   170,   170,
1785 <     229,    61,   170,    85,   125,    87,    33,    89,   119,    91,
1786 <     195,    93,    94,   229,   227,   196,   197,   198,   231,   170,
1787 <     229,   229,   227,   227,   106,   201,   231,   191,   229,   111,
1788 <     112,   113,   218,   115,   116,   117,    63,   227,   120,   230,
1789 <     222,   231,   223,   224,   541,   228,   222,   228,   228,   228,
1790 <     221,   228,   228,   228,   218,   218,   228,   228,   191,   222,
1791 <     229,   228,   228,   228,   146,   228,   227,   227,    13,     1,
1792 <     221,   231,   154,   155,   156,   157,   158,   159,   210,   229,
1793 <     229,   213,   222,    15,    16,   218,   228,    19,   228,    34,
1794 <     218,   118,   227,     1,   222,   228,   231,   227,    43,   126,
1795 <     127,   218,   227,     1,   230,   187,   230,   228,     9,    10,
1796 <      11,   228,   609,   174,   175,   210,   613,    25,   213,   616,
1797 <     147,   230,   230,   620,    32,    70,  1070,  1071,  1072,   211,
1798 <     212,    63,   214,   215,   216,   170,   230,     1,   220,     3,
1799 <     230,     5,   230,   225,   230,   230,   228,    40,   123,    81,
1800 <      82,    83,    84,    17,    99,   100,    88,   230,    56,   230,
1801 <      92,   230,   107,    61,     1,    63,    98,   230,   230,    33,
1802 <     108,   230,   230,   230,    67,   230,    69,   109,   110,   230,
1803 <      17,   230,   230,   230,   230,   108,   230,   132,   230,   121,
1804 <      98,   230,    56,   230,    58,   222,    33,   230,   230,    63,
1805 <     230,   228,   230,   148,   230,   230,   230,   108,   230,    73,
1806 <     230,   143,   135,   136,   137,   138,   139,   140,   141,     1,
1807 <     230,   114,   230,   230,   122,     1,    63,   230,   230,   230,
1808 <       6,     7,   230,   230,    98,   230,    12,   230,   131,   230,
1809 <     230,   230,   230,    25,    20,    21,   230,   230,   230,   230,
1810 <     182,    27,   230,   230,    30,    31,   230,   230,   122,   230,
1811 <      36,   230,   230,   230,   209,    41,    42,   230,    44,    45,
1812 <      46,   230,    48,   166,   167,    57,   230,   230,   142,    55,
1813 <     230,   118,    64,    59,    60,   123,   230,   151,   230,   126,
1814 <     127,   230,    68,   230,   230,   230,   228,   230,   123,   230,
1815 <     230,    77,   230,   230,    86,   230,   230,   227,    90,    85,
1816 <     147,    87,   230,    89,     1,    91,    98,    93,    94,   101,
1817 <     102,   809,   810,   811,   812,   813,   814,   815,   230,   222,
1818 <     106,   230,   196,   226,   230,   111,   112,   113,     4,   115,
1819 <     116,   117,    29,   230,   120,   230,   230,   230,   230,   230,
1820 <      37,   133,    18,   230,   108,   210,   108,     1,   108,   223,
1821 <      26,   108,    49,    50,   228,    52,    53,    54,   150,   108,
1822 <     146,   153,   108,    17,    40,   210,   210,   227,   154,   155,
1823 <     156,   157,   158,   159,   227,   222,   230,    74,     1,    33,
1824 <       3,   230,     5,   123,   230,   210,   178,   230,   230,  1210,
1825 <     230,    67,   230,    69,    17,   108,   230,   230,   230,   230,
1826 <     230,   187,   230,   230,   196,   197,   198,   230,   227,    63,
1827 <      33,   210,   230,   230,   230,   230,   230,   230,   230,    95,
1828 <     230,   230,   230,   230,   230,   211,   212,   230,   214,   215,
1829 <     216,   223,   224,    56,   220,    58,   230,   230,   227,   225,
1830 <      63,   210,   230,   230,    98,   108,   123,   210,   108,   210,
1831 <      73,   108,   128,    69,   130,   108,   210,   210,   210,   108,
1832 <     108,   108,   108,   108,   118,   108,   210,   210,   210,   210,
1833 <     108,   230,   230,   149,   210,    98,   210,   210,   210,   210,
1834 <     134,   123,   210,   210,   210,   210,   123,   123,   227,   227,
1835 <     123,   167,   123,   230,   123,   230,   172,   151,   152,   122,
1836 <     176,   230,   108,   210,   210,   181,   230,   230,   184,   230,
1837 <     230,   230,   230,   189,   230,   131,   227,     0,     1,   142,
1838 <     230,     4,   230,   227,     1,   227,   123,   203,   151,   230,
1839 <     206,    14,   208,    49,    17,    18,   230,   227,    15,    16,
1840 <     227,    24,    19,   219,   160,   230,   230,   201,   230,   230,
1841 <     226,   167,    35,   227,   210,    38,    39,   230,   230,   230,
1842 <     176,   230,   230,   230,   230,   123,   210,   123,   222,   210,
1843 <     210,   210,   123,   196,   123,   123,   108,   123,   123,    62,
1844 <     123,   123,   108,   210,    67,   108,    63,   203,   108,   205,
1845 <     206,   108,    75,   227,   229,   227,    49,   227,   108,   108,
1846 <     223,   227,   230,   219,    81,    82,    83,    84,   227,   230,
1847 <     226,    88,   230,    96,    97,    92,   227,   227,   227,   227,
1848 <     227,    98,   227,   227,   227,   227,   227,   227,   227,   227,
1849 <     123,   114,   109,   110,   227,   227,   230,   108,    69,    49,
1850 <     108,   108,   227,   123,   121,   161,   162,   163,   131,   165,
1851 <     166,   123,   168,   169,   123,   171,   210,   173,   123,   230,
1852 <     176,   144,   145,   179,   180,   181,   143,   183,   123,   123,
1853 <     108,   123,   188,   123,   123,   123,   192,   193,   194,   123,
1854 <     227,   164,   123,   227,   123,   266,   202,   227,   123,   227,
1855 <     227,   207,   227,   227,   177,   210,   227,   227,   227,   227,
1856 <     131,   108,   227,   186,   108,   182,   227,   190,   161,   162,
1857 <     163,   123,   165,   166,   227,   168,   169,   123,   171,   227,
1858 <     173,   227,   227,   176,   227,   227,   179,   180,   181,   160,
1859 <     183,   227,   227,   227,   123,   188,   167,   227,   227,   192,
1860 <     193,   194,   227,   227,   230,   176,   227,   123,   227,   202,
1861 <     123,   161,   162,   163,   207,   165,   166,   227,   168,   169,
1862 <     123,   171,   123,   173,     1,   227,   176,   227,   227,   179,
1863 <     180,   181,   203,   183,   205,   206,   227,   123,   188,   123,
1864 <     227,   227,   192,   193,   194,    22,    23,   227,   219,   123,
1865 <     227,    28,   202,   227,   227,   226,   123,   207,   227,   227,
1866 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1867 <     227,   227,   227,   227,   123,   210,   227,   230,   227,   227,
1868 <     123,   123,   227,   123,   123,   210,   123,   230,    65,    66,
1869 <     230,   227,   123,   123,    71,    72,   123,   227,   123,   227,
1870 <     227,    78,    79,    80,   227,   227,   227,   227,   227,   227,
1871 <     227,   123,   227,   227,   123,   227,   227,   227,   227,   227,
1872 <     227,   227,   227,   227,   108,   227,   123,   104,   105,   227,
1873 <     227,   230,   227,   227,   227,   231,   227,   227,   230,   227,
1874 <     227,   230,   227,   129,   227,   227,   227,   227,   227,   227,
1875 <     227,   227,   227,   129,   227,   227,   227,   227,   227,   227,
1876 <     129,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1877 <     227,   227,   227,   227,   227,   227,   227,   227,  1025,   227,
1878 <     227,   227,   227,   227,   217,    74,   227,  1036,   498,   227,
1879 <    1023,   227,   227,   227,  1286,   227,   513,  1250,   227,   227,
1880 <    1248,   227,   336,   227,   227,   227,   227,   227,   227,   227,
1881 <     227,   227,  1229,   227,   227,   230,   227,   222,  1240,  1238,
1882 <    1132,   227,   232,   485,   232,   232,   230,   227,   227,   227,
1883 <     462,   583,   529,  1259,  1252,   475,   567,   369,  1234,   111,
1884 <     165,    92,  1102,  1100,   238,    -1,   388,    -1,    -1,    -1,
1885 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,   398,    -1,    -1,
1766 >     629,   630,   311,     1,   313,     1,   315,   316,     1,     1,
1767 >     231,     1,     1,     1,     1,     1,     1,     1,     1,   112,
1768 >     231,     1,    53,   231,     1,     1,     8,     1,     1,   231,
1769 >     211,   231,   211,    25,   215,     1,   215,   229,   230,    29,
1770 >      32,     1,     1,     1,  1072,  1073,  1074,    37,     6,     7,
1771 >      49,   231,   229,   229,    12,     1,   233,   233,   231,    49,
1772 >      50,   231,    20,    21,    54,    55,    56,   180,   181,    27,
1773 >      58,     1,    30,   231,     1,    35,   231,    65,    36,    67,
1774 >      65,    65,   231,    41,    42,    65,    44,    45,    46,    79,
1775 >      48,     1,    65,     1,     1,    81,   231,   128,    81,    57,
1776 >     409,   410,   231,    61,    62,     1,   102,   416,   231,   102,
1777 >     102,   420,   205,   102,    72,   102,   425,    25,     1,   428,
1778 >     231,    81,    99,    99,    82,   231,    22,    23,   102,   438,
1779 >     439,    89,    28,    91,    17,    93,   102,    95,   126,    97,
1780 >      98,   450,   231,   231,   453,   454,   123,   123,   231,   129,
1781 >      33,    59,   110,   231,   231,   129,   129,   115,   116,   117,
1782 >      68,   119,   120,   121,     1,   229,   124,    63,    64,   129,
1783 >     232,   232,   102,    69,    70,   102,   232,   232,   176,    75,
1784 >      76,    77,    90,   129,    67,   229,    94,    83,    84,   233,
1785 >     176,   190,   150,   176,   102,   102,     1,   105,   106,   129,
1786 >       1,   200,   160,   161,   162,   163,   164,   165,   232,   196,
1787 >      15,    16,   108,   109,    19,   232,    17,   176,   200,   129,
1788 >     232,   232,   229,   232,   220,   223,   233,   220,   224,   137,
1789 >     232,   220,    33,   220,   192,   224,   176,   546,   230,   122,
1790 >     230,   230,   230,   230,   230,   230,   154,   130,   131,   157,
1791 >     158,   159,   231,   230,   212,   213,   214,   230,   216,   217,
1792 >     218,     1,    67,   232,   223,   102,    67,   232,   151,   227,
1793 >     230,   230,   230,     1,   229,     3,   184,     5,   224,    84,
1794 >      85,    86,    87,    88,   230,    25,   229,    92,   232,    17,
1795 >     233,    96,    32,   201,     1,   229,     3,   102,     5,   233,
1796 >     230,   102,   127,   230,   232,    33,   232,   616,   113,   114,
1797 >      17,   232,   621,   220,   224,   624,   232,   225,   226,   628,
1798 >     125,   122,   230,   230,     1,   229,    33,     1,   229,   233,
1799 >      58,   229,    60,   232,   230,   233,   112,   138,   232,    67,
1800 >      17,   224,   147,     9,    10,    11,   232,   230,   229,   229,
1801 >      78,    58,   233,    60,   155,   156,    33,   232,   232,   196,
1802 >      67,    35,   102,   139,   140,   141,   142,   143,   144,   145,
1803 >     232,    78,   232,   232,   102,   810,   811,   812,   813,   814,
1804 >     815,   816,   187,   220,   229,   229,   232,   229,   233,   233,
1805 >      67,     1,     1,   232,   232,   102,     6,     7,   126,   232,
1806 >     232,   202,    12,   232,   232,   232,   232,    81,   232,   232,
1807 >      20,    21,     1,   232,   232,   232,   232,    27,   146,   126,
1808 >      30,   232,   232,   224,   232,   230,    36,   155,    17,   230,
1809 >     232,    41,    42,   232,    44,    45,    46,     1,    48,   146,
1810 >     232,   232,   232,   232,    33,   122,   112,    57,   155,    58,
1811 >     232,    61,    62,   130,   131,   129,    65,   232,    67,   232,
1812 >     232,    25,    72,   232,   232,    40,   232,   232,   232,   232,
1813 >     232,   232,    82,   201,   151,   232,   232,   232,    67,    89,
1814 >     232,    91,   232,    93,   232,    95,   232,    97,    98,   232,
1815 >     232,   232,   127,   232,   201,    59,    71,   225,    73,   232,
1816 >     110,     4,   230,   232,    68,   115,   116,   117,     1,   119,
1817 >     120,   121,   232,   102,   124,    18,   232,   126,   225,   232,
1818 >     232,    73,   232,    26,   232,    73,    90,   232,   232,   232,
1819 >      94,   232,   232,   122,   232,   232,    29,    40,   102,   232,
1820 >     150,   105,   106,   118,    37,   232,   232,   224,    13,   138,
1821 >     160,   161,   162,   163,   164,   165,    49,    50,   127,   232,
1822 >     135,    54,    55,    56,   232,   232,   155,   156,    71,    34,
1823 >      73,   112,   112,   137,   211,   112,   112,   112,    43,   112,
1824 >     112,  1210,   192,   135,   112,   211,    79,   135,   211,   229,
1825 >     154,   229,   211,   157,   158,   159,    99,   172,   173,   232,
1826 >     232,   232,   212,   213,   214,   232,   216,   217,   218,    74,
1827 >     232,   232,   232,   202,   166,   232,   232,   227,   166,   232,
1828 >     184,   173,   229,   127,   232,   173,   232,   232,   232,   132,
1829 >     182,   134,   232,   232,   182,   224,   232,   201,   103,   104,
1830 >     232,   232,   232,   229,   232,   232,   111,   232,   232,   224,
1831 >     153,   232,   204,   228,   206,   207,   204,   211,   206,   207,
1832 >     232,   225,   226,   112,     0,     1,   232,   232,     4,   221,
1833 >     173,   136,   232,   221,   232,   178,   228,   232,    14,   182,
1834 >     228,    17,    18,   232,   211,   232,   189,   152,    24,   112,
1835 >     211,   194,   211,     1,   112,   112,   112,   211,   211,    35,
1836 >     211,   204,    38,    39,   207,   112,   209,    15,    16,   112,
1837 >     112,    19,   112,   112,   112,   211,   232,   211,   221,   211,
1838 >     232,   211,   211,   211,   211,   228,   211,   211,     1,   112,
1839 >      66,   127,   211,   211,   211,    71,   127,   232,    49,   127,
1840 >      51,    52,   127,   229,    80,   210,   229,   229,   211,    22,
1841 >      23,   232,   232,   127,   127,    28,   232,   232,   232,    67,
1842 >     232,   232,   232,   232,   100,   101,   232,   229,   232,   229,
1843 >     211,   232,   229,   232,   232,   229,    84,    85,    86,    87,
1844 >      88,   232,   118,    49,    92,    51,    52,   232,    96,   232,
1845 >      63,    64,   232,   232,   102,   232,    69,    70,   232,   135,
1846 >     232,   232,    75,    76,    77,   113,   114,   232,   229,   112,
1847 >      83,    84,   148,   149,   211,   112,   211,   125,   211,   211,
1848 >     127,    49,   211,   127,   112,   127,   127,   127,   127,   127,
1849 >     211,   127,   127,   127,   170,   108,   109,   127,   232,   147,
1850 >     127,   112,   229,   229,   112,   229,   127,   183,   112,   229,
1851 >     229,   112,   229,   229,   232,   191,   167,   168,   169,   195,
1852 >     171,   172,   232,   174,   175,   229,   177,   229,   179,   229,
1853 >     229,   182,   229,   229,   185,   186,   229,   188,   229,   187,
1854 >     229,   229,   193,   229,   229,   229,   197,   198,   199,   229,
1855 >     229,   232,   203,   112,   112,   112,   112,   208,   112,   112,
1856 >     229,   167,   168,   169,   127,   171,   172,   127,   174,   175,
1857 >     232,   177,   127,   179,   112,   127,   182,   127,   211,   185,
1858 >     186,   127,   188,   127,   127,   127,   127,   193,   127,   211,
1859 >     127,   197,   198,   199,   127,   127,   127,   203,   229,   167,
1860 >     168,   169,   208,   171,   172,   229,   174,   175,   127,   177,
1861 >     229,   179,   229,   229,   182,   229,   112,   185,   186,   229,
1862 >     188,   127,   229,   232,   229,   193,   229,   229,   127,   197,
1863 >     198,   199,   229,   229,   229,   203,   229,   229,   229,   229,
1864 >     208,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1865 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1866 >     229,   127,   229,   229,   229,   229,   127,   229,   229,   127,
1867 >     127,   127,   112,   127,   127,   127,   127,   127,   229,   127,
1868 >     229,   229,   229,   127,   229,   211,   127,    74,   127,   229,
1869 >     211,   127,   127,   229,   229,   229,   127,   127,   127,   229,
1870 >     112,   229,   229,   232,   229,   229,  1037,   503,  1286,   232,
1871 >     232,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1872 >     229,   229,   229,   518,   229,   229,   229,   229,   229,   229,
1873 >    1248,   229,   229,  1229,   229,   229,   229,   229,   229,   229,
1874 >     229,   127,   229,   229,   232,   229,   229,   232,   229,   229,
1875 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1876 >     229,   229,   229,   133,   229,   229,   229,   229,   133,   229,
1877 >     229,   133,  1250,  1240,   229,   490,  1134,   467,  1238,   534,
1878 >     229,   588,   229,   229,   229,  1259,   229,   229,   572,  1234,
1879 >    1252,   229,   229,   480,   394,   229,   229,   229,   115,   168,
1880 >    1104,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1881 >     229,   229,   229,   219,   229,   229,   229,   233,   229,   229,
1882 >     229,   229,   229,  1102,   229,   229,   229,   229,   229,   229,
1883 >     229,    94,    -1,   229,   232,   232,   229,   229,    -1,   234,
1884 >     234,   229,   232,   234,   229,   229,   229,   224,    -1,    -1,
1885 >      -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,   341,
1886 >      -1,   240,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1887 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   268,
1888 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1889 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1890 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   290,    -1,
1891 >      -1,    -1,    -1,    -1,    -1,    -1,   297,    -1,    -1,    -1,
1892 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1893 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1894 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1895 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1896 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1897 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1898 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1899 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1900        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1901        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1902 <      -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,
1870 <      -1,    -1,    -1,   295
1902 >      -1,    -1,    -1,    -1,   404
1903   };
1904  
1905    /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1906       symbol of state STATE-NUM.  */
1907   static const yytype_uint16 yystos[] =
1908   {
1909 <       0,   234,     0,     1,     4,    14,    17,    18,    24,    35,
1910 <      38,    39,    62,    67,    75,    96,    97,   114,   131,   144,
1911 <     145,   164,   177,   186,   190,   235,   240,   245,   269,   275,
1912 <     281,   295,   315,   338,   352,   367,   374,   378,   388,   397,
1913 <     418,   424,   430,   434,   440,   498,   513,   227,   228,   229,
1914 <     229,   316,   398,   425,   229,   435,   229,   353,   419,   339,
1915 <     229,   276,   296,   368,   229,   229,   389,   229,   229,   379,
1916 <       1,    25,    32,    98,   270,   271,   272,   273,   274,     1,
1917 <      22,    23,    28,    65,    66,    71,    72,    78,    79,    80,
1918 <     104,   105,   499,   500,   501,   502,   503,   504,   505,   506,
1919 <     507,   508,   509,   510,   511,   512,   229,   229,   229,     1,
1920 <      61,   431,   432,   433,   229,     1,     6,     7,    12,    20,
1921 <      21,    27,    30,    31,    36,    41,    42,    44,    45,    46,
1922 <      48,    55,    59,    60,    68,    77,    85,    87,    89,    91,
1923 <      93,    94,   106,   111,   112,   113,   115,   116,   117,   120,
1924 <     146,   154,   155,   156,   157,   158,   159,   187,   211,   212,
1925 <     214,   215,   216,   220,   225,   441,   442,   443,   444,   445,
1926 <     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
1927 <     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
1928 <     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
1929 <     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
1930 <     486,   487,   491,   495,   496,   497,   229,   229,   229,     1,
1931 <      95,   119,   241,   242,   243,   244,   229,   229,   229,     1,
1932 <      29,    37,    49,    50,    52,    53,    54,    74,   514,   515,
1933 <     516,   517,   518,   519,   520,   521,   522,   523,     1,    25,
1934 <      57,    64,    86,    90,    98,   101,   102,   133,   150,   153,
1935 <     178,   196,   197,   198,   223,   224,   246,   247,   248,   249,
1936 <     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1937 <     264,   265,   266,   267,   268,   229,     1,   221,   282,   283,
1938 <     284,   285,   286,     1,    98,   375,   376,   377,   229,   227,
1939 <     230,   230,   230,   228,   271,   230,   230,   230,   230,   230,
1940 <     230,   230,   230,   230,   230,   230,   230,   228,   500,     1,
1941 <      15,    16,    19,    63,    81,    82,    83,    84,    88,    92,
1942 <      98,   109,   110,   121,   143,   182,   317,   318,   319,   320,
1943 <     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
1944 <     331,   332,   333,   334,     1,     3,     5,    17,    33,    56,
1945 <      58,    63,    73,    98,   122,   142,   151,   196,   223,   399,
1946 <     400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
1947 <     413,   414,   415,   416,   417,     1,    61,   125,   426,   427,
1948 <     428,   429,   230,   228,   432,     1,    98,   125,   436,   437,
1949 <     438,   439,   230,   230,   230,   230,   230,   230,   230,   230,
1950 <     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1951 <     230,   230,   230,   230,   230,   230,   230,   230,   230,   492,
1952 <     230,   488,   230,   230,   230,   230,   230,   230,   230,   230,
1953 <     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1954 <     230,   228,   442,     1,    17,    33,    63,   118,   126,   127,
1955 <     147,   222,   354,   355,   356,   357,   358,   359,   360,   364,
1956 <     365,   366,     1,   125,   222,   420,   421,   422,   423,     1,
1957 <      56,    61,    63,   122,   340,   344,   345,   346,   350,   351,
1958 <     227,   230,   230,   228,   242,     1,    76,   170,   277,   278,
1959 <     279,   280,     1,    17,    33,    63,    98,   118,   134,   151,
1960 <     152,   201,   222,   297,   298,   299,   300,   301,   302,   303,
1961 <     304,   305,   306,   307,   311,     1,    35,    76,   125,   369,
1962 <     370,   371,   372,   373,   230,   230,   230,   230,   230,   230,
1963 <     230,   230,   228,   515,   227,   230,   230,   230,   230,   230,
1964 <     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1965 <     230,   230,   228,   247,     1,    98,   218,   390,   391,   392,
1966 <     393,   227,   230,   228,   283,   170,   230,   228,   376,     1,
1967 <      98,   218,   222,   380,   381,   382,   383,   384,   123,   123,
1968 <     123,   227,   108,   108,   210,   108,   108,   237,   237,   237,
1969 <     108,   108,   108,   210,   210,   227,   227,   230,   230,   230,
1970 <     335,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1971 <     230,   230,   230,   228,   318,   227,   230,   230,   230,   230,
1972 <     230,   230,   410,   230,   230,   230,   230,   230,   230,   230,
1973 <     228,   400,   230,   230,   228,   427,   123,   227,   230,   230,
1974 <     228,   437,   210,   237,   237,   210,   108,   210,   108,   123,
1975 <     210,   237,   210,   108,   108,   237,   108,   210,   210,   210,
1976 <     237,   108,   108,   237,   108,   108,   108,   108,   210,   230,
1977 <     210,   230,   210,   237,   237,   210,   210,   210,   210,   213,
1978 <     210,   213,   210,   210,   210,   123,   237,   210,   210,   237,
1979 <     237,   210,   210,   227,   227,   230,   230,   361,   230,   230,
1980 <     230,   230,   230,   228,   355,   230,   230,   228,   421,   227,
1981 <     230,   230,   341,   230,   228,   345,   123,   123,   227,   227,
1982 <     230,   230,   228,   278,   227,   230,   230,   312,   230,   230,
1983 <     230,   230,   230,   308,   230,   228,   298,   227,   230,   230,
1984 <     230,   228,   370,   210,   210,   210,   123,   210,   210,   210,
1985 <     237,   227,   123,   210,   123,   108,   108,   123,   123,   123,
1986 <     123,   123,   123,   108,   123,   199,   200,   250,   251,   199,
1987 <     200,   252,   253,   123,   123,   227,   227,   230,   394,   228,
1988 <     391,   210,   227,   229,   123,   227,   227,   230,   385,   230,
1989 <     228,   381,   227,   227,   227,   227,   227,   227,   227,   135,
1990 <     136,   137,   138,   139,   140,   141,   236,   237,   227,   227,
1991 <     227,   227,   227,   227,   227,   227,   108,   108,   237,   230,
1992 <     108,   108,   237,   108,   108,   237,   123,   108,   108,   237,
1993 <     108,   239,   239,   227,   123,   174,   175,   123,   210,   123,
1994 <     123,   230,   123,   123,   108,   123,   123,   123,   123,   227,
1995 <     123,   123,   227,   227,   123,   123,   227,   227,   227,   227,
1996 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1997 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1998 <     227,   227,   227,   227,    49,   161,   162,   163,   165,   166,
1999 <     168,   169,   171,   173,   176,   179,   180,   181,   183,   188,
2000 <     192,   193,   194,   202,   207,   493,   494,   227,    49,   161,
2001 <     162,   163,   165,   166,   168,   169,   171,   173,   176,   179,
2002 <     180,   181,   183,   188,   192,   193,   194,   202,   207,   489,
2003 <     490,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2004 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2005 <     227,   227,   123,   210,   230,   123,   108,   123,   123,   123,
2006 <     227,   123,   123,   227,   123,   123,   230,   108,   348,   349,
2007 <     227,   227,   227,   123,   123,   227,   123,   210,   230,   123,
2008 <     123,   123,   123,   210,   230,   123,   227,   123,   123,   123,
2009 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2010 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2011 <     227,   227,   227,   231,   227,   231,   227,   227,   123,   230,
2012 <     227,   227,     1,    98,   191,   218,   287,   288,   289,   290,
2013 <     291,   227,   123,   230,   123,   227,   236,   236,   236,   236,
2014 <     236,   236,   236,   227,   227,   227,    51,   124,   336,   337,
2015 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2016 <       9,    10,    11,   238,   239,   227,   227,   227,   227,   227,
2017 <     227,   227,   227,   227,     8,   195,   411,   412,   227,   227,
2018 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2019 <     231,   227,   231,   227,   227,    13,    34,    43,    70,    99,
2020 <     100,   107,   132,   148,   209,   362,   363,   227,   227,   227,
2021 <     227,   227,   227,   227,   227,   227,    49,   185,   195,   342,
2022 <     343,   217,   231,   347,   227,   227,   227,   227,     4,    18,
2023 <      26,    40,    67,    69,    95,   128,   130,   149,   167,   172,
2024 <     176,   181,   184,   189,   203,   206,   208,   219,   226,   313,
2025 <     314,   227,   227,   227,   227,   227,    49,   161,   162,   163,
2026 <     165,   166,   168,   169,   171,   173,   176,   179,   180,   181,
2027 <     183,   188,   192,   193,   194,   202,   207,   309,   310,   227,
2028 <     227,   227,   227,   251,   253,   227,    69,   131,   160,   167,
2029 <     176,   203,   205,   206,   219,   226,   395,   396,   227,   230,
2030 <     230,   292,   228,   288,   227,    69,   131,   160,   167,   176,
2031 <     203,   205,   206,   219,   226,   386,   387,   227,   227,   231,
2032 <     238,   238,   238,   227,   231,   494,   490,   227,   231,   227,
2033 <     231,   108,   349,   227,   232,   232,   232,   227,   231,   227,
2034 <     231,   227,   231,   123,   204,   239,   230,   227,   227,   231,
2035 <     337,   412,   363,   343,   129,   129,   129,   314,   310,   396,
2036 <     227,   227,   227,    40,    67,    69,   114,   131,   166,   167,
2037 <     222,   226,   293,   294,   387,   227,   231,   294
1909 >       0,   236,     0,     1,     4,    14,    17,    18,    24,    35,
1910 >      38,    39,    66,    71,    80,   100,   101,   118,   135,   148,
1911 >     149,   170,   183,   191,   195,   237,   242,   247,   267,   273,
1912 >     279,   293,   313,   337,   351,   366,   373,   377,   387,   396,
1913 >     417,   423,   429,   433,   439,   496,   513,   229,   230,   231,
1914 >     231,   314,   397,   424,   231,   434,   231,   352,   418,   338,
1915 >     231,   274,   294,   367,   231,   231,   388,   231,   231,   378,
1916 >       1,    25,    32,   102,   268,   269,   270,   271,   272,     1,
1917 >      22,    23,    28,    63,    64,    69,    70,    75,    76,    77,
1918 >      83,    84,   108,   109,   497,   498,   499,   500,   501,   502,
1919 >     503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
1920 >     231,   231,   231,     1,    65,   430,   431,   432,   231,     1,
1921 >       6,     7,    12,    20,    21,    27,    30,    36,    41,    42,
1922 >      44,    45,    46,    48,    57,    61,    62,    72,    82,    89,
1923 >      91,    93,    95,    97,    98,   110,   115,   116,   117,   119,
1924 >     120,   121,   124,   150,   160,   161,   162,   163,   164,   165,
1925 >     192,   212,   213,   214,   216,   217,   218,   227,   440,   441,
1926 >     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
1927 >     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1928 >     462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1929 >     472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
1930 >     482,   483,   484,   485,   489,   493,   494,   495,   231,   231,
1931 >     231,     1,    99,   123,   243,   244,   245,   246,   231,   231,
1932 >     231,     1,    29,    37,    49,    50,    54,    55,    56,    79,
1933 >     514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
1934 >       1,    25,    59,    68,    90,    94,   102,   105,   106,   137,
1935 >     154,   157,   158,   159,   184,   201,   225,   226,   248,   249,
1936 >     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1937 >     260,   261,   262,   263,   264,   265,   266,   231,     1,   223,
1938 >     280,   281,   282,   283,   284,     1,   102,   374,   375,   376,
1939 >     231,   229,   232,   232,   232,   230,   269,   232,   232,   232,
1940 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1941 >     232,   230,   498,     1,    15,    16,    19,    67,    84,    85,
1942 >      86,    87,    88,    92,    96,   102,   113,   114,   125,   147,
1943 >     187,   315,   316,   317,   318,   319,   320,   321,   322,   323,
1944 >     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
1945 >       1,     3,     5,    17,    33,    58,    60,    67,    78,   102,
1946 >     126,   146,   155,   201,   225,   398,   399,   400,   401,   402,
1947 >     403,   404,   405,   406,   407,   408,   412,   413,   414,   415,
1948 >     416,     1,    65,   129,   425,   426,   427,   428,   232,   230,
1949 >     431,     1,   102,   129,   435,   436,   437,   438,   232,   232,
1950 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1951 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1952 >     232,   232,   232,   232,   490,   232,   486,   232,   232,   232,
1953 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1954 >     232,   232,   232,   232,   232,   232,   230,   441,     1,    17,
1955 >      33,    67,   122,   130,   131,   151,   224,   353,   354,   355,
1956 >     356,   357,   358,   359,   363,   364,   365,     1,   129,   224,
1957 >     419,   420,   421,   422,     1,    58,    65,    67,   126,   339,
1958 >     343,   344,   345,   349,   350,   229,   232,   232,   230,   244,
1959 >       1,    81,   176,   275,   276,   277,   278,     1,    17,    33,
1960 >      67,   102,   122,   138,   155,   156,   202,   224,   295,   296,
1961 >     297,   298,   299,   300,   301,   302,   303,   304,   305,   309,
1962 >       1,    35,    81,   129,   368,   369,   370,   371,   372,   232,
1963 >     232,   232,   232,   232,   232,   232,   232,   230,   515,   229,
1964 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1965 >     232,   232,   232,   232,   232,   232,   232,   230,   249,     1,
1966 >     102,   220,   389,   390,   391,   392,   229,   232,   230,   281,
1967 >     176,   232,   230,   375,     1,   102,   220,   224,   379,   380,
1968 >     381,   382,   383,   127,   127,   127,   229,   112,   112,   211,
1969 >     112,   112,   239,   112,   239,   112,   239,   239,   112,   112,
1970 >     211,   211,   229,   229,   232,   232,   232,   334,   232,   232,
1971 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1972 >     232,   230,   316,   229,   232,   232,   232,   232,   232,   232,
1973 >     409,   232,   232,   232,   232,   232,   232,   232,   230,   399,
1974 >     232,   232,   230,   426,   127,   229,   232,   232,   230,   436,
1975 >     211,   239,   239,   211,   112,   211,   112,   211,   239,   211,
1976 >     112,   112,   239,   112,   211,   211,   211,   239,   112,   112,
1977 >     239,   112,   112,   112,   112,   211,   232,   211,   232,   211,
1978 >     239,   239,   211,   211,   211,   211,   215,   211,   215,   211,
1979 >     211,   211,   127,   112,   239,   211,   211,   239,   239,   211,
1980 >     229,   229,   232,   232,   360,   232,   232,   232,   232,   232,
1981 >     230,   354,   232,   232,   230,   420,   229,   232,   232,   340,
1982 >     232,   230,   344,   127,   127,   229,   229,   232,   232,   230,
1983 >     276,   229,   232,   232,   310,   232,   232,   232,   232,   232,
1984 >     306,   232,   230,   296,   229,   232,   232,   232,   230,   369,
1985 >     211,   211,   211,   127,   211,   211,   211,   239,   229,   127,
1986 >     211,   127,   112,   112,   127,   127,   127,   127,   127,   127,
1987 >     127,   127,   112,   127,   127,   127,   229,   229,   232,   393,
1988 >     230,   390,   211,   229,   231,   127,   229,   229,   232,   384,
1989 >     232,   230,   380,   229,   229,   229,   229,   229,   229,   229,
1990 >     139,   140,   141,   142,   143,   144,   145,   238,   239,   229,
1991 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   112,
1992 >     112,   239,   232,   112,   112,   112,   239,   112,   112,   239,
1993 >     127,   112,   112,   239,   112,   241,   241,   229,   127,   180,
1994 >     181,   127,   211,   127,   127,   232,   127,   127,   112,   127,
1995 >     127,   127,   127,   229,   127,   127,   229,   229,   127,   127,
1996 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1997 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1998 >     229,   229,   229,   229,   229,   229,   229,    49,   167,   168,
1999 >     169,   171,   172,   174,   175,   177,   179,   182,   185,   186,
2000 >     188,   193,   197,   198,   199,   203,   208,   491,   492,   229,
2001 >      49,    51,    52,   167,   168,   169,   171,   172,   174,   175,
2002 >     177,   179,   182,   185,   186,   188,   193,   197,   198,   199,
2003 >     203,   208,   487,   488,   229,   229,   229,   229,   229,   229,
2004 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2005 >     229,   229,   229,   229,   229,   127,   211,   232,   127,   112,
2006 >     127,   127,   127,   229,   127,   127,   229,   127,   127,   232,
2007 >     112,   347,   348,   229,   229,   229,   127,   127,   229,   127,
2008 >     211,   232,   127,   127,   127,   127,   211,   232,   127,   229,
2009 >     127,   127,   127,   229,   229,   229,   229,   229,   229,   229,
2010 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2011 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   127,
2012 >     232,   229,   229,     1,   102,   196,   220,   285,   286,   287,
2013 >     288,   289,   229,   127,   232,   127,   229,   238,   238,   238,
2014 >     238,   238,   238,   238,   229,   229,   229,    53,   128,   335,
2015 >     336,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2016 >     229,   229,     9,    10,    11,   240,   241,   229,   229,   229,
2017 >     229,   229,   229,   229,   229,   229,     8,   200,   410,   411,
2018 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2019 >     229,   229,   233,   229,   233,   229,   229,    13,    34,    43,
2020 >      74,   103,   104,   111,   136,   152,   210,   361,   362,   229,
2021 >     229,   229,   229,   229,   229,   229,   229,   229,    49,   190,
2022 >     200,   341,   342,   219,   233,   346,   229,   229,   229,   229,
2023 >       4,    18,    26,    40,    71,    73,    99,   132,   134,   153,
2024 >     173,   178,   182,   189,   194,   204,   207,   209,   221,   228,
2025 >     311,   312,   229,   229,   229,   229,   229,    49,    51,    52,
2026 >     167,   168,   169,   171,   172,   174,   175,   177,   179,   182,
2027 >     185,   186,   188,   193,   197,   198,   199,   203,   208,   307,
2028 >     308,   229,   229,   229,   229,   229,    73,   135,   166,   173,
2029 >     182,   204,   206,   207,   221,   228,   394,   395,   229,   232,
2030 >     232,   290,   230,   286,   229,    73,   135,   166,   173,   182,
2031 >     204,   206,   207,   221,   228,   385,   386,   229,   229,   233,
2032 >     240,   240,   240,   229,   233,   492,   488,   229,   233,   229,
2033 >     233,   112,   348,   229,   234,   234,   234,   229,   233,   229,
2034 >     233,   229,   233,   127,   205,   241,   232,   229,   229,   233,
2035 >     336,   411,   362,   342,   133,   133,   133,   312,   308,   395,
2036 >     229,   229,   229,    40,    71,    73,   118,   135,   172,   173,
2037 >     224,   228,   291,   292,   386,   229,   233,   292
2038   };
2039  
2040    /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2041   static const yytype_uint16 yyr1[] =
2042   {
2043 <       0,   233,   234,   234,   235,   235,   235,   235,   235,   235,
2044 <     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2013 <     235,   235,   235,   235,   235,   235,   235,   236,   236,   237,
2043 >       0,   235,   236,   236,   237,   237,   237,   237,   237,   237,
2044 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
2045       237,   237,   237,   237,   237,   237,   237,   238,   238,   239,
2046 <     239,   239,   239,   240,   241,   241,   242,   242,   242,   243,
2047 <     244,   245,   246,   246,   247,   247,   247,   247,   247,   247,
2048 <     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2049 <     247,   247,   248,   249,   250,   250,   251,   251,   252,   252,
2050 <     253,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2051 <     262,   263,   264,   265,   266,   267,   268,   269,   270,   270,
2052 <     271,   271,   271,   271,   272,   273,   274,   276,   275,   277,
2053 <     277,   278,   278,   278,   279,   280,   281,   282,   282,   283,
2054 <     283,   283,   284,   286,   285,   287,   287,   288,   288,   288,
2055 <     288,   289,   290,   290,   292,   291,   293,   293,   294,   294,
2056 <     294,   294,   294,   294,   294,   294,   294,   296,   295,   297,
2057 <     297,   298,   298,   298,   298,   298,   298,   298,   298,   298,
2058 <     298,   298,   299,   300,   301,   302,   303,   304,   305,   306,
2059 <     308,   307,   309,   309,   310,   310,   310,   310,   310,   310,
2060 <     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
2061 <     310,   310,   310,   310,   310,   312,   311,   313,   313,   314,
2062 <     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
2063 <     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
2064 <     314,   314,   314,   316,   315,   317,   317,   318,   318,   318,
2065 <     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2066 <     318,   318,   318,   318,   319,   320,   321,   322,   323,   324,
2067 <     325,   326,   327,   328,   329,   330,   331,   332,   333,   335,
2068 <     334,   336,   336,   337,   337,   339,   338,   341,   340,   342,
2069 <     342,   343,   343,   343,   344,   344,   345,   345,   345,   345,
2070 <     345,   347,   346,   348,   348,   349,   349,   350,   351,   353,
2071 <     352,   354,   354,   355,   355,   355,   355,   355,   355,   355,
2072 <     355,   355,   356,   357,   358,   359,   361,   360,   362,   362,
2073 <     363,   363,   363,   363,   363,   363,   363,   363,   363,   363,
2074 <     364,   365,   366,   368,   367,   369,   369,   370,   370,   370,
2075 <     370,   371,   372,   373,   374,   375,   375,   376,   376,   377,
2076 <     379,   378,   380,   380,   381,   381,   381,   381,   382,   383,
2077 <     385,   384,   386,   386,   387,   387,   387,   387,   387,   387,
2078 <     387,   387,   387,   387,   389,   388,   390,   390,   391,   391,
2079 <     391,   392,   394,   393,   395,   395,   396,   396,   396,   396,
2080 <     396,   396,   396,   396,   396,   396,   398,   397,   399,   399,
2081 <     400,   400,   400,   400,   400,   400,   400,   400,   400,   400,
2082 <     400,   400,   400,   400,   400,   401,   402,   403,   404,   405,
2083 <     406,   407,   408,   408,   410,   409,   411,   411,   412,   412,
2084 <     413,   414,   415,   416,   417,   419,   418,   420,   420,   421,
2085 <     421,   421,   422,   423,   425,   424,   426,   426,   427,   427,
2086 <     427,   428,   429,   430,   431,   431,   432,   432,   433,   435,
2087 <     434,   436,   436,   437,   437,   437,   438,   439,   440,   441,
2088 <     441,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2089 <     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2090 <     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2091 <     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2092 <     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2093 <     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
2094 <     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
2095 <     462,   463,   464,   465,   466,   467,   468,   469,   469,   470,
2096 <     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
2097 <     480,   481,   482,   483,   484,   485,   486,   488,   487,   489,
2098 <     489,   490,   490,   490,   490,   490,   490,   490,   490,   490,
2099 <     490,   490,   490,   490,   490,   490,   490,   490,   490,   490,
2100 <     490,   490,   492,   491,   493,   493,   494,   494,   494,   494,
2101 <     494,   494,   494,   494,   494,   494,   494,   494,   494,   494,
2102 <     494,   494,   494,   494,   494,   494,   494,   495,   496,   497,
2103 <     498,   499,   499,   500,   500,   500,   500,   500,   500,   500,
2104 <     500,   500,   500,   500,   500,   500,   501,   502,   503,   504,
2105 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
2106 <     514,   515,   515,   515,   515,   515,   515,   515,   515,   515,
2107 <     516,   517,   518,   519,   520,   521,   522,   523
2046 >     239,   239,   239,   239,   239,   239,   239,   240,   240,   241,
2047 >     241,   241,   241,   242,   243,   243,   244,   244,   244,   245,
2048 >     246,   247,   248,   248,   249,   249,   249,   249,   249,   249,
2049 >     249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
2050 >     249,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2051 >     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2052 >     268,   268,   269,   269,   269,   269,   270,   271,   272,   274,
2053 >     273,   275,   275,   276,   276,   276,   277,   278,   279,   280,
2054 >     280,   281,   281,   281,   282,   284,   283,   285,   285,   286,
2055 >     286,   286,   286,   287,   288,   288,   290,   289,   291,   291,
2056 >     292,   292,   292,   292,   292,   292,   292,   292,   292,   294,
2057 >     293,   295,   295,   296,   296,   296,   296,   296,   296,   296,
2058 >     296,   296,   296,   296,   297,   298,   299,   300,   301,   302,
2059 >     303,   304,   306,   305,   307,   307,   308,   308,   308,   308,
2060 >     308,   308,   308,   308,   308,   308,   308,   308,   308,   308,
2061 >     308,   308,   308,   308,   308,   308,   308,   308,   310,   309,
2062 >     311,   311,   312,   312,   312,   312,   312,   312,   312,   312,
2063 >     312,   312,   312,   312,   312,   312,   312,   312,   312,   312,
2064 >     312,   312,   312,   312,   312,   314,   313,   315,   315,   316,
2065 >     316,   316,   316,   316,   316,   316,   316,   316,   316,   316,
2066 >     316,   316,   316,   316,   316,   316,   316,   317,   318,   319,
2067 >     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
2068 >     330,   331,   332,   334,   333,   335,   335,   336,   336,   338,
2069 >     337,   340,   339,   341,   341,   342,   342,   342,   343,   343,
2070 >     344,   344,   344,   344,   344,   346,   345,   347,   347,   348,
2071 >     348,   349,   350,   352,   351,   353,   353,   354,   354,   354,
2072 >     354,   354,   354,   354,   354,   354,   355,   356,   357,   358,
2073 >     360,   359,   361,   361,   362,   362,   362,   362,   362,   362,
2074 >     362,   362,   362,   362,   363,   364,   365,   367,   366,   368,
2075 >     368,   369,   369,   369,   369,   370,   371,   372,   373,   374,
2076 >     374,   375,   375,   376,   378,   377,   379,   379,   380,   380,
2077 >     380,   380,   381,   382,   384,   383,   385,   385,   386,   386,
2078 >     386,   386,   386,   386,   386,   386,   386,   386,   388,   387,
2079 >     389,   389,   390,   390,   390,   391,   393,   392,   394,   394,
2080 >     395,   395,   395,   395,   395,   395,   395,   395,   395,   395,
2081 >     397,   396,   398,   398,   399,   399,   399,   399,   399,   399,
2082 >     399,   399,   399,   399,   399,   399,   399,   399,   399,   400,
2083 >     401,   402,   403,   404,   405,   406,   407,   407,   409,   408,
2084 >     410,   410,   411,   411,   412,   413,   414,   415,   416,   418,
2085 >     417,   419,   419,   420,   420,   420,   421,   422,   424,   423,
2086 >     425,   425,   426,   426,   426,   427,   428,   429,   430,   430,
2087 >     431,   431,   432,   434,   433,   435,   435,   436,   436,   436,
2088 >     437,   438,   439,   440,   440,   441,   441,   441,   441,   441,
2089 >     441,   441,   441,   441,   441,   441,   441,   441,   441,   441,
2090 >     441,   441,   441,   441,   441,   441,   441,   441,   441,   441,
2091 >     441,   441,   441,   441,   441,   441,   441,   441,   441,   441,
2092 >     441,   441,   441,   441,   441,   441,   441,   441,   441,   441,
2093 >     441,   441,   441,   441,   442,   443,   444,   445,   446,   447,
2094 >     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
2095 >     458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
2096 >     468,   468,   469,   469,   470,   471,   472,   473,   474,   475,
2097 >     476,   477,   478,   479,   480,   481,   482,   483,   484,   486,
2098 >     485,   487,   487,   488,   488,   488,   488,   488,   488,   488,
2099 >     488,   488,   488,   488,   488,   488,   488,   488,   488,   488,
2100 >     488,   488,   488,   488,   488,   490,   489,   491,   491,   492,
2101 >     492,   492,   492,   492,   492,   492,   492,   492,   492,   492,
2102 >     492,   492,   492,   492,   492,   492,   492,   492,   492,   493,
2103 >     494,   495,   496,   497,   497,   498,   498,   498,   498,   498,
2104 >     498,   498,   498,   498,   498,   498,   498,   498,   498,   498,
2105 >     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
2106 >     509,   510,   511,   512,   513,   514,   514,   515,   515,   515,
2107 >     515,   515,   515,   515,   515,   515,   516,   517,   518,   519,
2108 >     520,   521,   522,   523
2109   };
2110  
2111    /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
# Line 2086 | Line 2118 | static const yytype_uint8 yyr2[] =
2118         3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
2119         4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
2120         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2089       1,     2,     4,     4,     3,     1,     1,     1,     3,     1,
2090       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
2091       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
2092       1,     1,     1,     2,     4,     4,     4,     0,     6,     2,
2093       1,     1,     1,     2,     4,     4,     5,     2,     1,     1,
2094       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
2095       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
2096       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
2097       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2121         1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
2122 <       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2123 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2124 <       1,     1,     1,     1,     1,     0,     5,     3,     1,     3,
2125 <       1,     3,     1,     3,     1,     1,     1,     1,     1,     1,
2122 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     5,
2123 >       2,     1,     1,     1,     1,     2,     4,     4,     4,     0,
2124 >       6,     2,     1,     1,     1,     2,     4,     4,     5,     2,
2125 >       1,     1,     1,     2,     4,     0,     6,     2,     1,     1,
2126 >       1,     1,     2,     4,     4,     4,     0,     5,     3,     1,
2127 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
2128 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2129 >       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
2130 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2131         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2132 <       1,     1,     1,     0,     6,     2,     1,     1,     1,     1,
2132 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
2133 >       3,     1,     3,     1,     3,     1,     3,     1,     1,     1,
2134         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2135 <       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
2107 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
2108 <       5,     3,     1,     1,     1,     0,     6,     0,     5,     3,
2109 <       1,     1,     1,     1,     2,     1,     1,     1,     1,     1,
2110 <       2,     0,     5,     3,     1,     1,     3,     4,     4,     0,
2111 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2112 <       1,     2,     4,     4,     4,     4,     0,     5,     3,     1,
2135 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2136         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2137 <       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2138 <       2,     4,     4,     4,     5,     2,     1,     1,     1,     4,
2139 <       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
2137 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
2138 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2139 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     0,
2140 >       6,     0,     5,     3,     1,     1,     1,     1,     2,     1,
2141 >       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
2142 >       3,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2143 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2144         0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2145 <       1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
2146 <       2,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2147 <       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
2148 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2149 <       1,     1,     1,     1,     2,     4,     4,     4,     4,     4,
2150 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
2124 <       4,     4,     4,     4,     4,     0,     6,     2,     1,     1,
2125 <       1,     1,     4,     4,     0,     6,     2,     1,     1,     1,
2126 <       1,     4,     4,     5,     2,     1,     1,     1,     4,     0,
2127 <       6,     2,     1,     1,     1,     1,     4,     4,     5,     2,
2145 >       1,     1,     1,     1,     4,     4,     4,     0,     6,     2,
2146 >       1,     1,     1,     1,     2,     4,     4,     4,     5,     2,
2147 >       1,     1,     1,     4,     0,     6,     2,     1,     1,     1,
2148 >       1,     2,     4,     4,     0,     5,     3,     1,     1,     1,
2149 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
2150 >       2,     1,     1,     1,     2,     4,     0,     5,     3,     1,
2151         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2152 +       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
2153 +       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
2154 +       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2155 +       3,     1,     1,     1,     4,     4,     4,     4,     4,     0,
2156 +       6,     2,     1,     1,     1,     1,     4,     4,     0,     6,
2157 +       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
2158 +       1,     1,     4,     0,     6,     2,     1,     1,     1,     1,
2159 +       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2160         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2161         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2162         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2163         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2164 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2164 >       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
2165         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2166         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2167         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2168 <       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
2168 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
2169 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2170         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2171 +       1,     1,     1,     1,     1,     0,     5,     3,     1,     1,
2172         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2173 <       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
2173 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2174 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2175         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2176 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
2177 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2176 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2177 >       4,     4,     4,     4,     5,     2,     1,     1,     1,     1,
2178         1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
2179 <       4,     4,     4,     4,     4,     4,     4,     4,     5,     2,
2146 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2147 <       4,     4,     4,     4,     4,     4,     4,     4
2179 >       4,     4,     4,     4
2180   };
2181  
2182  
# Line 2821 | Line 2853 | yyreduce:
2853    switch (yyn)
2854      {
2855          case 27:
2856 < #line 400 "conf_parser.y" /* yacc.c:1646  */
2856 > #line 409 "conf_parser.y" /* yacc.c:1646  */
2857      { (yyval.number) = 0; }
2858 < #line 2827 "conf_parser.c" /* yacc.c:1646  */
2858 > #line 2859 "conf_parser.c" /* yacc.c:1646  */
2859      break;
2860  
2861    case 29:
2862 < #line 402 "conf_parser.y" /* yacc.c:1646  */
2863 <    {
2864 <                        (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number);
2833 <                }
2834 < #line 2835 "conf_parser.c" /* yacc.c:1646  */
2862 > #line 410 "conf_parser.y" /* yacc.c:1646  */
2863 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2864 > #line 2865 "conf_parser.c" /* yacc.c:1646  */
2865      break;
2866  
2867    case 30:
2868 < #line 406 "conf_parser.y" /* yacc.c:1646  */
2869 <    {
2870 <                        (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number);
2841 <                }
2842 < #line 2843 "conf_parser.c" /* yacc.c:1646  */
2868 > #line 411 "conf_parser.y" /* yacc.c:1646  */
2869 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2870 > #line 2871 "conf_parser.c" /* yacc.c:1646  */
2871      break;
2872  
2873    case 31:
2874 < #line 410 "conf_parser.y" /* yacc.c:1646  */
2875 <    {
2876 <                        (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number);
2849 <                }
2850 < #line 2851 "conf_parser.c" /* yacc.c:1646  */
2874 > #line 412 "conf_parser.y" /* yacc.c:1646  */
2875 >    { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2876 > #line 2877 "conf_parser.c" /* yacc.c:1646  */
2877      break;
2878  
2879    case 32:
2880 < #line 414 "conf_parser.y" /* yacc.c:1646  */
2881 <    {
2882 <                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number);
2857 <                }
2858 < #line 2859 "conf_parser.c" /* yacc.c:1646  */
2880 > #line 413 "conf_parser.y" /* yacc.c:1646  */
2881 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2882 > #line 2883 "conf_parser.c" /* yacc.c:1646  */
2883      break;
2884  
2885    case 33:
2886 < #line 418 "conf_parser.y" /* yacc.c:1646  */
2887 <    {
2888 <                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number);
2865 <                }
2866 < #line 2867 "conf_parser.c" /* yacc.c:1646  */
2886 > #line 414 "conf_parser.y" /* yacc.c:1646  */
2887 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2888 > #line 2889 "conf_parser.c" /* yacc.c:1646  */
2889      break;
2890  
2891    case 34:
2892 < #line 422 "conf_parser.y" /* yacc.c:1646  */
2893 <    {
2894 <                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number);
2873 <                }
2874 < #line 2875 "conf_parser.c" /* yacc.c:1646  */
2892 > #line 415 "conf_parser.y" /* yacc.c:1646  */
2893 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2894 > #line 2895 "conf_parser.c" /* yacc.c:1646  */
2895      break;
2896  
2897    case 35:
2898 < #line 426 "conf_parser.y" /* yacc.c:1646  */
2899 <    {
2900 <                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number);
2881 <                }
2882 < #line 2883 "conf_parser.c" /* yacc.c:1646  */
2898 > #line 416 "conf_parser.y" /* yacc.c:1646  */
2899 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2900 > #line 2901 "conf_parser.c" /* yacc.c:1646  */
2901      break;
2902  
2903    case 36:
2904 < #line 430 "conf_parser.y" /* yacc.c:1646  */
2905 <    {
2906 <                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number);
2889 <                }
2890 < #line 2891 "conf_parser.c" /* yacc.c:1646  */
2904 > #line 417 "conf_parser.y" /* yacc.c:1646  */
2905 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2906 > #line 2907 "conf_parser.c" /* yacc.c:1646  */
2907      break;
2908  
2909    case 37:
2910 < #line 435 "conf_parser.y" /* yacc.c:1646  */
2910 > #line 420 "conf_parser.y" /* yacc.c:1646  */
2911      { (yyval.number) = 0; }
2912 < #line 2897 "conf_parser.c" /* yacc.c:1646  */
2912 > #line 2913 "conf_parser.c" /* yacc.c:1646  */
2913      break;
2914  
2915    case 39:
2916 < #line 436 "conf_parser.y" /* yacc.c:1646  */
2916 > #line 421 "conf_parser.y" /* yacc.c:1646  */
2917      { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2918 < #line 2903 "conf_parser.c" /* yacc.c:1646  */
2918 > #line 2919 "conf_parser.c" /* yacc.c:1646  */
2919      break;
2920  
2921    case 40:
2922 < #line 437 "conf_parser.y" /* yacc.c:1646  */
2922 > #line 422 "conf_parser.y" /* yacc.c:1646  */
2923      { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2924 < #line 2909 "conf_parser.c" /* yacc.c:1646  */
2924 > #line 2925 "conf_parser.c" /* yacc.c:1646  */
2925      break;
2926  
2927    case 41:
2928 < #line 438 "conf_parser.y" /* yacc.c:1646  */
2928 > #line 423 "conf_parser.y" /* yacc.c:1646  */
2929      { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2930 < #line 2915 "conf_parser.c" /* yacc.c:1646  */
2930 > #line 2931 "conf_parser.c" /* yacc.c:1646  */
2931      break;
2932  
2933    case 42:
2934 < #line 439 "conf_parser.y" /* yacc.c:1646  */
2934 > #line 424 "conf_parser.y" /* yacc.c:1646  */
2935      { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2936 < #line 2921 "conf_parser.c" /* yacc.c:1646  */
2936 > #line 2937 "conf_parser.c" /* yacc.c:1646  */
2937      break;
2938  
2939    case 49:
2940 < #line 453 "conf_parser.y" /* yacc.c:1646  */
2940 > #line 438 "conf_parser.y" /* yacc.c:1646  */
2941      {
2942    if (conf_parser_ctx.pass == 2)
2943      add_conf_module(libio_basename(yylval.string));
2944   }
2945 < #line 2930 "conf_parser.c" /* yacc.c:1646  */
2945 > #line 2946 "conf_parser.c" /* yacc.c:1646  */
2946      break;
2947  
2948    case 50:
2949 < #line 459 "conf_parser.y" /* yacc.c:1646  */
2949 > #line 444 "conf_parser.y" /* yacc.c:1646  */
2950      {
2951    if (conf_parser_ctx.pass == 2)
2952      mod_add_path(yylval.string);
2953   }
2954 < #line 2939 "conf_parser.c" /* yacc.c:1646  */
2954 > #line 2955 "conf_parser.c" /* yacc.c:1646  */
2955      break;
2956  
2957 <  case 76:
2958 < #line 485 "conf_parser.y" /* yacc.c:1646  */
2943 <    {
2944 < #ifdef HAVE_LIBCRYPTO
2945 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2946 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
2947 < #endif
2948 < }
2949 < #line 2950 "conf_parser.c" /* yacc.c:1646  */
2950 <    break;
2951 <
2952 <  case 77:
2953 < #line 491 "conf_parser.y" /* yacc.c:1646  */
2954 <    {
2955 < #ifdef HAVE_LIBCRYPTO
2956 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2957 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
2958 < #endif
2959 < }
2960 < #line 2961 "conf_parser.c" /* yacc.c:1646  */
2961 <    break;
2962 <
2963 <  case 80:
2964 < #line 500 "conf_parser.y" /* yacc.c:1646  */
2965 <    {
2966 < #ifdef HAVE_LIBCRYPTO
2967 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2968 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
2969 < #endif
2970 < }
2971 < #line 2972 "conf_parser.c" /* yacc.c:1646  */
2972 <    break;
2973 <
2974 <  case 81:
2975 < #line 506 "conf_parser.y" /* yacc.c:1646  */
2957 >  case 72:
2958 > #line 474 "conf_parser.y" /* yacc.c:1646  */
2959      {
2960   #ifdef HAVE_LIBCRYPTO
2961    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2979    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
2980 #endif
2981 }
2982 #line 2983 "conf_parser.c" /* yacc.c:1646  */
2983    break;
2984
2985  case 82:
2986 #line 514 "conf_parser.y" /* yacc.c:1646  */
2987    {
2988 #ifdef HAVE_LIBCRYPTO
2989  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2962    {
2963      if (!ServerInfo.rsa_private_key_file)
2964      {
# Line 3024 | Line 2996 | yyreduce:
2996    }
2997   #endif
2998   }
2999 < #line 3028 "conf_parser.c" /* yacc.c:1646  */
2999 > #line 3000 "conf_parser.c" /* yacc.c:1646  */
3000      break;
3001  
3002 <  case 83:
3003 < #line 556 "conf_parser.y" /* yacc.c:1646  */
3002 >  case 73:
3003 > #line 516 "conf_parser.y" /* yacc.c:1646  */
3004      {
3005   #ifdef HAVE_LIBCRYPTO
3006    BIO *file = NULL;
# Line 3085 | Line 3057 | yyreduce:
3057    }
3058   #endif
3059   }
3060 < #line 3089 "conf_parser.c" /* yacc.c:1646  */
3060 > #line 3061 "conf_parser.c" /* yacc.c:1646  */
3061      break;
3062  
3063 <  case 84:
3064 < #line 614 "conf_parser.y" /* yacc.c:1646  */
3063 >  case 74:
3064 > #line 574 "conf_parser.y" /* yacc.c:1646  */
3065      {
3094 /* TBD - XXX: error reporting */
3066   #ifdef HAVE_LIBCRYPTO
3067    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3068    {
# Line 3113 | Line 3084 | yyreduce:
3084          DH_free(dh);
3085        }
3086      }
3087 +    else
3088 +      conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- could not open/read Diffie-Hellman parameter file");
3089    }
3090   #endif
3091   }
3092 < #line 3120 "conf_parser.c" /* yacc.c:1646  */
3092 > #line 3093 "conf_parser.c" /* yacc.c:1646  */
3093      break;
3094  
3095 <  case 85:
3096 < #line 642 "conf_parser.y" /* yacc.c:1646  */
3095 >  case 75:
3096 > #line 603 "conf_parser.y" /* yacc.c:1646  */
3097      {
3098   #ifdef HAVE_LIBCRYPTO
3099    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3100      SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3101   #endif
3102   }
3103 < #line 3131 "conf_parser.c" /* yacc.c:1646  */
3103 > #line 3104 "conf_parser.c" /* yacc.c:1646  */
3104      break;
3105  
3106 <  case 86:
3107 < #line 650 "conf_parser.y" /* yacc.c:1646  */
3106 >  case 76:
3107 > #line 611 "conf_parser.y" /* yacc.c:1646  */
3108 >    {
3109 > #ifdef HAVE_LIBCRYPTO
3110 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3111 >  {
3112 >    if ((ServerInfo.message_digest_algorithm = EVP_get_digestbyname(yylval.string)) == NULL)
3113 >    {
3114 >      ServerInfo.message_digest_algorithm = EVP_sha256();
3115 >      conf_error_report("Ignoring serverinfo::ssl_message_digest_algorithm -- unknown message digest algorithm");
3116 >    }
3117 >  }
3118 > #endif
3119 > }
3120 > #line 3121 "conf_parser.c" /* yacc.c:1646  */
3121 >    break;
3122 >
3123 >  case 77:
3124 > #line 625 "conf_parser.y" /* yacc.c:1646  */
3125 >    {
3126 > #ifdef HAVE_LIBCRYPTO
3127 > #if OPENSSL_VERSION_NUMBER >= 0x1000005FL && !defined(OPENSSL_NO_ECDH)
3128 >  int nid = 0;
3129 >  EC_KEY *key = NULL;
3130 >
3131 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3132 >  {
3133 >    if ((nid = OBJ_sn2nid(yylval.string)) == 0)
3134 >    {
3135 >        conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- unknown curve name");
3136 >        break;
3137 >    }
3138 >
3139 >    if ((key = EC_KEY_new_by_curve_name(nid)) == NULL)
3140 >    {
3141 >      conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- could not create curve");
3142 >      break;
3143 >    }
3144 >
3145 >    SSL_CTX_set_tmp_ecdh(ServerInfo.server_ctx, key);
3146 >    EC_KEY_free(key);
3147 > }
3148 > #endif
3149 > #endif
3150 > }
3151 > #line 3152 "conf_parser.c" /* yacc.c:1646  */
3152 >    break;
3153 >
3154 >  case 78:
3155 > #line 653 "conf_parser.y" /* yacc.c:1646  */
3156      {
3157    /* this isn't rehashable */
3158    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3145 | Line 3166 | yyreduce:
3166      }
3167    }
3168   }
3169 < #line 3149 "conf_parser.c" /* yacc.c:1646  */
3169 > #line 3170 "conf_parser.c" /* yacc.c:1646  */
3170      break;
3171  
3172 <  case 87:
3173 < #line 665 "conf_parser.y" /* yacc.c:1646  */
3172 >  case 79:
3173 > #line 668 "conf_parser.y" /* yacc.c:1646  */
3174      {
3175    /* this isn't rehashable */
3176    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3163 | Line 3184 | yyreduce:
3184      }
3185    }
3186   }
3187 < #line 3167 "conf_parser.c" /* yacc.c:1646  */
3187 > #line 3188 "conf_parser.c" /* yacc.c:1646  */
3188      break;
3189  
3190 <  case 88:
3191 < #line 680 "conf_parser.y" /* yacc.c:1646  */
3190 >  case 80:
3191 > #line 683 "conf_parser.y" /* yacc.c:1646  */
3192      {
3193    if (conf_parser_ctx.pass == 2)
3194    {
# Line 3175 | Line 3196 | yyreduce:
3196      ServerInfo.description = xstrdup(yylval.string);
3197    }
3198   }
3199 < #line 3179 "conf_parser.c" /* yacc.c:1646  */
3199 > #line 3200 "conf_parser.c" /* yacc.c:1646  */
3200      break;
3201  
3202 <  case 89:
3203 < #line 689 "conf_parser.y" /* yacc.c:1646  */
3202 >  case 81:
3203 > #line 692 "conf_parser.y" /* yacc.c:1646  */
3204      {
3205    if (conf_parser_ctx.pass == 2)
3206    {
3207      char *p;
3208  
3209 <    if ((p = strchr(yylval.string, ' ')) != NULL)
3210 <      p = '\0';
3209 >    if ((p = strchr(yylval.string, ' ')))
3210 >      *p = '\0';
3211  
3212      MyFree(ServerInfo.network_name);
3213      ServerInfo.network_name = xstrdup(yylval.string);
3214    }
3215   }
3216 < #line 3196 "conf_parser.c" /* yacc.c:1646  */
3216 > #line 3217 "conf_parser.c" /* yacc.c:1646  */
3217      break;
3218  
3219 <  case 90:
3220 < #line 703 "conf_parser.y" /* yacc.c:1646  */
3219 >  case 82:
3220 > #line 706 "conf_parser.y" /* yacc.c:1646  */
3221      {
3222    if (conf_parser_ctx.pass != 2)
3223      break;
# Line 3204 | Line 3225 | yyreduce:
3225    MyFree(ServerInfo.network_desc);
3226    ServerInfo.network_desc = xstrdup(yylval.string);
3227   }
3228 < #line 3208 "conf_parser.c" /* yacc.c:1646  */
3228 > #line 3229 "conf_parser.c" /* yacc.c:1646  */
3229      break;
3230  
3231 <  case 91:
3232 < #line 712 "conf_parser.y" /* yacc.c:1646  */
3231 >  case 83:
3232 > #line 715 "conf_parser.y" /* yacc.c:1646  */
3233      {
3234    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3235    {
# Line 3224 | Line 3245 | yyreduce:
3245        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3246      else
3247      {
3248 <      assert(res != NULL);
3248 >      assert(res);
3249  
3250        memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3251        ServerInfo.ip.ss.ss_family = res->ai_family;
# Line 3235 | Line 3256 | yyreduce:
3256      }
3257    }
3258   }
3259 < #line 3239 "conf_parser.c" /* yacc.c:1646  */
3259 > #line 3260 "conf_parser.c" /* yacc.c:1646  */
3260      break;
3261  
3262 <  case 92:
3263 < #line 740 "conf_parser.y" /* yacc.c:1646  */
3262 >  case 84:
3263 > #line 743 "conf_parser.y" /* yacc.c:1646  */
3264      {
3265   #ifdef IPV6
3266    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3256 | Line 3277 | yyreduce:
3277        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3278      else
3279      {
3280 <      assert(res != NULL);
3280 >      assert(res);
3281  
3282        memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3283        ServerInfo.ip6.ss.ss_family = res->ai_family;
# Line 3268 | Line 3289 | yyreduce:
3289    }
3290   #endif
3291   }
3292 < #line 3272 "conf_parser.c" /* yacc.c:1646  */
3292 > #line 3293 "conf_parser.c" /* yacc.c:1646  */
3293      break;
3294  
3295 <  case 93:
3296 < #line 770 "conf_parser.y" /* yacc.c:1646  */
3295 >  case 85:
3296 > #line 773 "conf_parser.y" /* yacc.c:1646  */
3297      {
3298    if (conf_parser_ctx.pass != 2)
3299      break;
3300  
3301    if ((yyvsp[-1].number) < MAXCLIENTS_MIN)
3302    {
3303 <    char buf[IRCD_BUFSIZE];
3303 >    char buf[IRCD_BUFSIZE] = "";
3304  
3305      snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3306      conf_error_report(buf);
# Line 3287 | Line 3308 | yyreduce:
3308    }
3309    else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3310    {
3311 <    char buf[IRCD_BUFSIZE];
3311 >    char buf[IRCD_BUFSIZE] = "";
3312  
3313      snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3314      conf_error_report(buf);
# Line 3296 | Line 3317 | yyreduce:
3317    else
3318      ServerInfo.max_clients = (yyvsp[-1].number);
3319   }
3320 < #line 3300 "conf_parser.c" /* yacc.c:1646  */
3320 > #line 3321 "conf_parser.c" /* yacc.c:1646  */
3321      break;
3322  
3323 <  case 94:
3324 < #line 795 "conf_parser.y" /* yacc.c:1646  */
3323 >  case 86:
3324 > #line 798 "conf_parser.y" /* yacc.c:1646  */
3325      {
3326    if (conf_parser_ctx.pass != 2)
3327      break;
# Line 3312 | Line 3333 | yyreduce:
3333    }
3334    else if ((yyvsp[-1].number) > NICKLEN)
3335    {
3336 <    char buf[IRCD_BUFSIZE];
3336 >    char buf[IRCD_BUFSIZE] = "";
3337  
3338      snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3339      conf_error_report(buf);
# Line 3321 | Line 3342 | yyreduce:
3342    else
3343      ServerInfo.max_nick_length = (yyvsp[-1].number);
3344   }
3345 < #line 3325 "conf_parser.c" /* yacc.c:1646  */
3345 > #line 3346 "conf_parser.c" /* yacc.c:1646  */
3346      break;
3347  
3348 <  case 95:
3349 < #line 817 "conf_parser.y" /* yacc.c:1646  */
3348 >  case 87:
3349 > #line 820 "conf_parser.y" /* yacc.c:1646  */
3350      {
3351    if (conf_parser_ctx.pass != 2)
3352      break;
# Line 3337 | Line 3358 | yyreduce:
3358    }
3359    else if ((yyvsp[-1].number) > TOPICLEN)
3360    {
3361 <    char buf[IRCD_BUFSIZE];
3361 >    char buf[IRCD_BUFSIZE] = "";
3362  
3363      snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3364      conf_error_report(buf);
# Line 3346 | Line 3367 | yyreduce:
3367    else
3368      ServerInfo.max_topic_length = (yyvsp[-1].number);
3369   }
3370 < #line 3350 "conf_parser.c" /* yacc.c:1646  */
3370 > #line 3371 "conf_parser.c" /* yacc.c:1646  */
3371      break;
3372  
3373 <  case 96:
3374 < #line 839 "conf_parser.y" /* yacc.c:1646  */
3373 >  case 88:
3374 > #line 842 "conf_parser.y" /* yacc.c:1646  */
3375      {
3376    if (conf_parser_ctx.pass == 2)
3377      ServerInfo.hub = yylval.number;
3378   }
3379 < #line 3359 "conf_parser.c" /* yacc.c:1646  */
3379 > #line 3380 "conf_parser.c" /* yacc.c:1646  */
3380      break;
3381  
3382 <  case 104:
3383 < #line 854 "conf_parser.y" /* yacc.c:1646  */
3382 >  case 96:
3383 > #line 859 "conf_parser.y" /* yacc.c:1646  */
3384      {
3385    if (conf_parser_ctx.pass != 2)
3386      break;
# Line 3367 | Line 3388 | yyreduce:
3388    MyFree(AdminInfo.name);
3389    AdminInfo.name = xstrdup(yylval.string);
3390   }
3391 < #line 3371 "conf_parser.c" /* yacc.c:1646  */
3391 > #line 3392 "conf_parser.c" /* yacc.c:1646  */
3392      break;
3393  
3394 <  case 105:
3395 < #line 863 "conf_parser.y" /* yacc.c:1646  */
3394 >  case 97:
3395 > #line 868 "conf_parser.y" /* yacc.c:1646  */
3396      {
3397    if (conf_parser_ctx.pass != 2)
3398      break;
# Line 3379 | Line 3400 | yyreduce:
3400    MyFree(AdminInfo.email);
3401    AdminInfo.email = xstrdup(yylval.string);
3402   }
3403 < #line 3383 "conf_parser.c" /* yacc.c:1646  */
3403 > #line 3404 "conf_parser.c" /* yacc.c:1646  */
3404      break;
3405  
3406 <  case 106:
3407 < #line 872 "conf_parser.y" /* yacc.c:1646  */
3406 >  case 98:
3407 > #line 877 "conf_parser.y" /* yacc.c:1646  */
3408      {
3409    if (conf_parser_ctx.pass != 2)
3410      break;
# Line 3391 | Line 3412 | yyreduce:
3412    MyFree(AdminInfo.description);
3413    AdminInfo.description = xstrdup(yylval.string);
3414   }
3415 < #line 3395 "conf_parser.c" /* yacc.c:1646  */
3415 > #line 3416 "conf_parser.c" /* yacc.c:1646  */
3416      break;
3417  
3418 <  case 107:
3419 < #line 884 "conf_parser.y" /* yacc.c:1646  */
3418 >  case 99:
3419 > #line 889 "conf_parser.y" /* yacc.c:1646  */
3420      {
3421    if (conf_parser_ctx.pass == 2)
3422      reset_block_state();
3423   }
3424 < #line 3404 "conf_parser.c" /* yacc.c:1646  */
3424 > #line 3425 "conf_parser.c" /* yacc.c:1646  */
3425      break;
3426  
3427 <  case 108:
3428 < #line 888 "conf_parser.y" /* yacc.c:1646  */
3427 >  case 100:
3428 > #line 893 "conf_parser.y" /* yacc.c:1646  */
3429      {
3430    dlink_node *ptr = NULL;
3431  
# Line 3417 | Line 3438 | yyreduce:
3438    DLINK_FOREACH(ptr, block_state.mask.list.head)
3439      motd_add(ptr->data, block_state.file.buf);
3440   }
3441 < #line 3421 "conf_parser.c" /* yacc.c:1646  */
3441 > #line 3442 "conf_parser.c" /* yacc.c:1646  */
3442      break;
3443  
3444 <  case 114:
3445 < #line 905 "conf_parser.y" /* yacc.c:1646  */
3444 >  case 106:
3445 > #line 910 "conf_parser.y" /* yacc.c:1646  */
3446      {
3447    if (conf_parser_ctx.pass == 2)
3448      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3449   }
3450 < #line 3430 "conf_parser.c" /* yacc.c:1646  */
3450 > #line 3451 "conf_parser.c" /* yacc.c:1646  */
3451      break;
3452  
3453 <  case 115:
3454 < #line 911 "conf_parser.y" /* yacc.c:1646  */
3453 >  case 107:
3454 > #line 916 "conf_parser.y" /* yacc.c:1646  */
3455      {
3456    if (conf_parser_ctx.pass == 2)
3457      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3458   }
3459 < #line 3439 "conf_parser.c" /* yacc.c:1646  */
3459 > #line 3460 "conf_parser.c" /* yacc.c:1646  */
3460      break;
3461  
3462 <  case 122:
3463 < #line 926 "conf_parser.y" /* yacc.c:1646  */
3462 >  case 114:
3463 > #line 931 "conf_parser.y" /* yacc.c:1646  */
3464      {
3465    if (conf_parser_ctx.pass == 2)
3466      ConfigLoggingEntry.use_logging = yylval.number;
3467   }
3468 < #line 3448 "conf_parser.c" /* yacc.c:1646  */
3468 > #line 3469 "conf_parser.c" /* yacc.c:1646  */
3469      break;
3470  
3471 <  case 123:
3472 < #line 932 "conf_parser.y" /* yacc.c:1646  */
3471 >  case 115:
3472 > #line 937 "conf_parser.y" /* yacc.c:1646  */
3473      {
3474    if (conf_parser_ctx.pass == 2)
3475      reset_block_state();
3476   }
3477 < #line 3457 "conf_parser.c" /* yacc.c:1646  */
3477 > #line 3478 "conf_parser.c" /* yacc.c:1646  */
3478      break;
3479  
3480 <  case 124:
3481 < #line 936 "conf_parser.y" /* yacc.c:1646  */
3480 >  case 116:
3481 > #line 941 "conf_parser.y" /* yacc.c:1646  */
3482      {
3483    if (conf_parser_ctx.pass != 2)
3484      break;
# Line 3466 | Line 3487 | yyreduce:
3487      log_set_file(block_state.type.value, block_state.size.value,
3488                   block_state.file.buf);
3489   }
3490 < #line 3470 "conf_parser.c" /* yacc.c:1646  */
3490 > #line 3491 "conf_parser.c" /* yacc.c:1646  */
3491      break;
3492  
3493 <  case 131:
3494 < #line 952 "conf_parser.y" /* yacc.c:1646  */
3493 >  case 123:
3494 > #line 957 "conf_parser.y" /* yacc.c:1646  */
3495      {
3496    if (conf_parser_ctx.pass != 2)
3497      break;
3498  
3499    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3500   }
3501 < #line 3481 "conf_parser.c" /* yacc.c:1646  */
3501 > #line 3502 "conf_parser.c" /* yacc.c:1646  */
3502      break;
3503  
3504 <  case 132:
3505 < #line 960 "conf_parser.y" /* yacc.c:1646  */
3504 >  case 124:
3505 > #line 965 "conf_parser.y" /* yacc.c:1646  */
3506      {
3507    block_state.size.value = (yyvsp[-1].number);
3508   }
3509 < #line 3489 "conf_parser.c" /* yacc.c:1646  */
3509 > #line 3510 "conf_parser.c" /* yacc.c:1646  */
3510      break;
3511  
3512 <  case 133:
3513 < #line 963 "conf_parser.y" /* yacc.c:1646  */
3512 >  case 125:
3513 > #line 968 "conf_parser.y" /* yacc.c:1646  */
3514      {
3515    block_state.size.value = 0;
3516   }
3517 < #line 3497 "conf_parser.c" /* yacc.c:1646  */
3517 > #line 3518 "conf_parser.c" /* yacc.c:1646  */
3518      break;
3519  
3520 <  case 134:
3521 < #line 968 "conf_parser.y" /* yacc.c:1646  */
3520 >  case 126:
3521 > #line 973 "conf_parser.y" /* yacc.c:1646  */
3522      {
3523    if (conf_parser_ctx.pass == 2)
3524      block_state.type.value = 0;
3525   }
3526 < #line 3506 "conf_parser.c" /* yacc.c:1646  */
3526 > #line 3527 "conf_parser.c" /* yacc.c:1646  */
3527      break;
3528  
3529 <  case 138:
3530 < #line 975 "conf_parser.y" /* yacc.c:1646  */
3529 >  case 130:
3530 > #line 980 "conf_parser.y" /* yacc.c:1646  */
3531      {
3532    if (conf_parser_ctx.pass == 2)
3533      block_state.type.value = LOG_TYPE_USER;
3534   }
3535 < #line 3515 "conf_parser.c" /* yacc.c:1646  */
3535 > #line 3536 "conf_parser.c" /* yacc.c:1646  */
3536      break;
3537  
3538 <  case 139:
3539 < #line 979 "conf_parser.y" /* yacc.c:1646  */
3538 >  case 131:
3539 > #line 984 "conf_parser.y" /* yacc.c:1646  */
3540      {
3541    if (conf_parser_ctx.pass == 2)
3542      block_state.type.value = LOG_TYPE_OPER;
3543   }
3544 < #line 3524 "conf_parser.c" /* yacc.c:1646  */
3544 > #line 3545 "conf_parser.c" /* yacc.c:1646  */
3545      break;
3546  
3547 <  case 140:
3548 < #line 983 "conf_parser.y" /* yacc.c:1646  */
3547 >  case 132:
3548 > #line 988 "conf_parser.y" /* yacc.c:1646  */
3549      {
3550    if (conf_parser_ctx.pass == 2)
3551      block_state.type.value = LOG_TYPE_GLINE;
3552   }
3553 < #line 3533 "conf_parser.c" /* yacc.c:1646  */
3553 > #line 3554 "conf_parser.c" /* yacc.c:1646  */
3554      break;
3555  
3556 <  case 141:
3557 < #line 987 "conf_parser.y" /* yacc.c:1646  */
3556 >  case 133:
3557 > #line 992 "conf_parser.y" /* yacc.c:1646  */
3558      {
3559    if (conf_parser_ctx.pass == 2)
3560      block_state.type.value = LOG_TYPE_XLINE;
3561   }
3562 < #line 3542 "conf_parser.c" /* yacc.c:1646  */
3562 > #line 3563 "conf_parser.c" /* yacc.c:1646  */
3563      break;
3564  
3565 <  case 142:
3566 < #line 991 "conf_parser.y" /* yacc.c:1646  */
3565 >  case 134:
3566 > #line 996 "conf_parser.y" /* yacc.c:1646  */
3567      {
3568    if (conf_parser_ctx.pass == 2)
3569      block_state.type.value = LOG_TYPE_RESV;
3570   }
3571 < #line 3551 "conf_parser.c" /* yacc.c:1646  */
3571 > #line 3572 "conf_parser.c" /* yacc.c:1646  */
3572      break;
3573  
3574 <  case 143:
3575 < #line 995 "conf_parser.y" /* yacc.c:1646  */
3574 >  case 135:
3575 > #line 1000 "conf_parser.y" /* yacc.c:1646  */
3576      {
3577    if (conf_parser_ctx.pass == 2)
3578      block_state.type.value = LOG_TYPE_DLINE;
3579   }
3580 < #line 3560 "conf_parser.c" /* yacc.c:1646  */
3580 > #line 3581 "conf_parser.c" /* yacc.c:1646  */
3581      break;
3582  
3583 <  case 144:
3584 < #line 999 "conf_parser.y" /* yacc.c:1646  */
3583 >  case 136:
3584 > #line 1004 "conf_parser.y" /* yacc.c:1646  */
3585      {
3586    if (conf_parser_ctx.pass == 2)
3587      block_state.type.value = LOG_TYPE_KLINE;
3588   }
3589 < #line 3569 "conf_parser.c" /* yacc.c:1646  */
3589 > #line 3590 "conf_parser.c" /* yacc.c:1646  */
3590      break;
3591  
3592 <  case 145:
3593 < #line 1003 "conf_parser.y" /* yacc.c:1646  */
3592 >  case 137:
3593 > #line 1008 "conf_parser.y" /* yacc.c:1646  */
3594      {
3595    if (conf_parser_ctx.pass == 2)
3596      block_state.type.value = LOG_TYPE_KILL;
3597   }
3598 < #line 3578 "conf_parser.c" /* yacc.c:1646  */
3598 > #line 3599 "conf_parser.c" /* yacc.c:1646  */
3599      break;
3600  
3601 <  case 146:
3602 < #line 1007 "conf_parser.y" /* yacc.c:1646  */
3601 >  case 138:
3602 > #line 1012 "conf_parser.y" /* yacc.c:1646  */
3603      {
3604    if (conf_parser_ctx.pass == 2)
3605      block_state.type.value = LOG_TYPE_DEBUG;
3606   }
3607 < #line 3587 "conf_parser.c" /* yacc.c:1646  */
3607 > #line 3608 "conf_parser.c" /* yacc.c:1646  */
3608      break;
3609  
3610 <  case 147:
3611 < #line 1017 "conf_parser.y" /* yacc.c:1646  */
3610 >  case 139:
3611 > #line 1022 "conf_parser.y" /* yacc.c:1646  */
3612      {
3613    if (conf_parser_ctx.pass != 2)
3614      break;
# Line 3595 | Line 3616 | yyreduce:
3616    reset_block_state();
3617    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3618   }
3619 < #line 3599 "conf_parser.c" /* yacc.c:1646  */
3619 > #line 3620 "conf_parser.c" /* yacc.c:1646  */
3620      break;
3621  
3622 <  case 148:
3623 < #line 1024 "conf_parser.y" /* yacc.c:1646  */
3622 >  case 140:
3623 > #line 1029 "conf_parser.y" /* yacc.c:1646  */
3624      {
3625    dlink_node *ptr = NULL;
3626  
# Line 3657 | Line 3678 | yyreduce:
3678  
3679        if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3680        {
3681 <        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
3681 >        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- file doesn't exist");
3682          break;
3683        }
3684  
3685        if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3686 <        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3686 >        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key invalid; check key syntax");
3687 >      else
3688 >      {
3689 >        if (RSA_size(pkey) > 128)
3690 >          ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key size must be 1024 or below");
3691 >        else
3692 >          conf->rsa_public_key = pkey;
3693 >      }
3694  
3667      conf->rsa_public_key = pkey;
3695        BIO_set_close(file, BIO_CLOSE);
3696        BIO_free(file);
3697      }
3698   #endif /* HAVE_LIBCRYPTO */
3699    }
3700   }
3701 < #line 3675 "conf_parser.c" /* yacc.c:1646  */
3701 > #line 3702 "conf_parser.c" /* yacc.c:1646  */
3702      break;
3703  
3704 <  case 162:
3705 < #line 1104 "conf_parser.y" /* yacc.c:1646  */
3704 >  case 154:
3705 > #line 1121 "conf_parser.y" /* yacc.c:1646  */
3706      {
3707    if (conf_parser_ctx.pass == 2)
3708      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3709   }
3710 < #line 3684 "conf_parser.c" /* yacc.c:1646  */
3710 > #line 3711 "conf_parser.c" /* yacc.c:1646  */
3711      break;
3712  
3713 <  case 163:
3714 < #line 1110 "conf_parser.y" /* yacc.c:1646  */
3713 >  case 155:
3714 > #line 1127 "conf_parser.y" /* yacc.c:1646  */
3715      {
3716    if (conf_parser_ctx.pass == 2)
3717      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3718   }
3719 < #line 3693 "conf_parser.c" /* yacc.c:1646  */
3719 > #line 3720 "conf_parser.c" /* yacc.c:1646  */
3720      break;
3721  
3722 <  case 164:
3723 < #line 1116 "conf_parser.y" /* yacc.c:1646  */
3722 >  case 156:
3723 > #line 1133 "conf_parser.y" /* yacc.c:1646  */
3724      {
3725    if (conf_parser_ctx.pass == 2)
3726      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3727   }
3728 < #line 3702 "conf_parser.c" /* yacc.c:1646  */
3728 > #line 3729 "conf_parser.c" /* yacc.c:1646  */
3729      break;
3730  
3731 <  case 165:
3732 < #line 1122 "conf_parser.y" /* yacc.c:1646  */
3731 >  case 157:
3732 > #line 1139 "conf_parser.y" /* yacc.c:1646  */
3733      {
3734    if (conf_parser_ctx.pass != 2)
3735      break;
# Line 3712 | Line 3739 | yyreduce:
3739    else
3740      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3741   }
3742 < #line 3716 "conf_parser.c" /* yacc.c:1646  */
3742 > #line 3743 "conf_parser.c" /* yacc.c:1646  */
3743      break;
3744  
3745 <  case 166:
3746 < #line 1133 "conf_parser.y" /* yacc.c:1646  */
3745 >  case 158:
3746 > #line 1150 "conf_parser.y" /* yacc.c:1646  */
3747      {
3748    if (conf_parser_ctx.pass == 2)
3749      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3750   }
3751 < #line 3725 "conf_parser.c" /* yacc.c:1646  */
3751 > #line 3752 "conf_parser.c" /* yacc.c:1646  */
3752      break;
3753  
3754 <  case 167:
3755 < #line 1139 "conf_parser.y" /* yacc.c:1646  */
3754 >  case 159:
3755 > #line 1156 "conf_parser.y" /* yacc.c:1646  */
3756      {
3757    if (conf_parser_ctx.pass == 2)
3758      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3759   }
3760 < #line 3734 "conf_parser.c" /* yacc.c:1646  */
3760 > #line 3761 "conf_parser.c" /* yacc.c:1646  */
3761      break;
3762  
3763 <  case 168:
3764 < #line 1145 "conf_parser.y" /* yacc.c:1646  */
3763 >  case 160:
3764 > #line 1162 "conf_parser.y" /* yacc.c:1646  */
3765      {
3766    if (conf_parser_ctx.pass != 2)
3767      break;
# Line 3744 | Line 3771 | yyreduce:
3771    else
3772      block_state.flags.value &= ~CONF_FLAGS_SSL;
3773   }
3747 #line 3748 "conf_parser.c" /* yacc.c:1646  */
3748    break;
3749
3750  case 169:
3751 #line 1156 "conf_parser.y" /* yacc.c:1646  */
3752    {
3753  if (conf_parser_ctx.pass == 2)
3754    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3755 }
3756 #line 3757 "conf_parser.c" /* yacc.c:1646  */
3757    break;
3758
3759  case 170:
3760 #line 1162 "conf_parser.y" /* yacc.c:1646  */
3761    {
3762  if (conf_parser_ctx.pass == 2)
3763    block_state.modes.value = 0;
3764 }
3765 #line 3766 "conf_parser.c" /* yacc.c:1646  */
3766    break;
3767
3768  case 174:
3769 #line 1169 "conf_parser.y" /* yacc.c:1646  */
3770    {
3771  if (conf_parser_ctx.pass == 2)
3772    block_state.modes.value |= UMODE_BOTS;
3773 }
3774   #line 3775 "conf_parser.c" /* yacc.c:1646  */
3775      break;
3776  
3777 <  case 175:
3777 >  case 161:
3778   #line 1173 "conf_parser.y" /* yacc.c:1646  */
3779      {
3780    if (conf_parser_ctx.pass == 2)
3781 <    block_state.modes.value |= UMODE_CCONN;
3781 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3782   }
3783   #line 3784 "conf_parser.c" /* yacc.c:1646  */
3784      break;
3785  
3786 <  case 176:
3787 < #line 1177 "conf_parser.y" /* yacc.c:1646  */
3786 >  case 162:
3787 > #line 1179 "conf_parser.y" /* yacc.c:1646  */
3788      {
3789    if (conf_parser_ctx.pass == 2)
3790 <    block_state.modes.value |= UMODE_DEAF;
3790 >    block_state.modes.value = 0;
3791   }
3792   #line 3793 "conf_parser.c" /* yacc.c:1646  */
3793      break;
3794  
3795 <  case 177:
3796 < #line 1181 "conf_parser.y" /* yacc.c:1646  */
3795 >  case 166:
3796 > #line 1186 "conf_parser.y" /* yacc.c:1646  */
3797      {
3798    if (conf_parser_ctx.pass == 2)
3799 <    block_state.modes.value |= UMODE_DEBUG;
3799 >    block_state.modes.value |= UMODE_BOTS;
3800   }
3801   #line 3802 "conf_parser.c" /* yacc.c:1646  */
3802      break;
3803  
3804 <  case 178:
3805 < #line 1185 "conf_parser.y" /* yacc.c:1646  */
3804 >  case 167:
3805 > #line 1190 "conf_parser.y" /* yacc.c:1646  */
3806      {
3807    if (conf_parser_ctx.pass == 2)
3808 <    block_state.modes.value |= UMODE_FULL;
3808 >    block_state.modes.value |= UMODE_CCONN;
3809   }
3810   #line 3811 "conf_parser.c" /* yacc.c:1646  */
3811      break;
3812  
3813 <  case 179:
3814 < #line 1189 "conf_parser.y" /* yacc.c:1646  */
3813 >  case 168:
3814 > #line 1194 "conf_parser.y" /* yacc.c:1646  */
3815      {
3816    if (conf_parser_ctx.pass == 2)
3817 <    block_state.modes.value |= UMODE_HIDDEN;
3817 >    block_state.modes.value |= UMODE_DEAF;
3818   }
3819   #line 3820 "conf_parser.c" /* yacc.c:1646  */
3820      break;
3821  
3822 <  case 180:
3823 < #line 1193 "conf_parser.y" /* yacc.c:1646  */
3822 >  case 169:
3823 > #line 1198 "conf_parser.y" /* yacc.c:1646  */
3824      {
3825    if (conf_parser_ctx.pass == 2)
3826 <    block_state.modes.value |= UMODE_SKILL;
3826 >    block_state.modes.value |= UMODE_DEBUG;
3827   }
3828   #line 3829 "conf_parser.c" /* yacc.c:1646  */
3829      break;
3830  
3831 <  case 181:
3832 < #line 1197 "conf_parser.y" /* yacc.c:1646  */
3831 >  case 170:
3832 > #line 1202 "conf_parser.y" /* yacc.c:1646  */
3833      {
3834    if (conf_parser_ctx.pass == 2)
3835 <    block_state.modes.value |= UMODE_NCHANGE;
3835 >    block_state.modes.value |= UMODE_FULL;
3836   }
3837   #line 3838 "conf_parser.c" /* yacc.c:1646  */
3838      break;
3839  
3840 <  case 182:
3841 < #line 1201 "conf_parser.y" /* yacc.c:1646  */
3840 >  case 171:
3841 > #line 1206 "conf_parser.y" /* yacc.c:1646  */
3842      {
3843    if (conf_parser_ctx.pass == 2)
3844 <    block_state.modes.value |= UMODE_REJ;
3844 >    block_state.modes.value |= UMODE_HIDDEN;
3845   }
3846   #line 3847 "conf_parser.c" /* yacc.c:1646  */
3847      break;
3848  
3849 <  case 183:
3850 < #line 1205 "conf_parser.y" /* yacc.c:1646  */
3849 >  case 172:
3850 > #line 1210 "conf_parser.y" /* yacc.c:1646  */
3851      {
3852    if (conf_parser_ctx.pass == 2)
3853 <    block_state.modes.value |= UMODE_UNAUTH;
3853 >    block_state.modes.value |= UMODE_HIDECHANS;
3854   }
3855   #line 3856 "conf_parser.c" /* yacc.c:1646  */
3856      break;
3857  
3858 <  case 184:
3859 < #line 1209 "conf_parser.y" /* yacc.c:1646  */
3858 >  case 173:
3859 > #line 1214 "conf_parser.y" /* yacc.c:1646  */
3860      {
3861    if (conf_parser_ctx.pass == 2)
3862 <    block_state.modes.value |= UMODE_SPY;
3862 >    block_state.modes.value |= UMODE_HIDEIDLE;
3863   }
3864   #line 3865 "conf_parser.c" /* yacc.c:1646  */
3865      break;
3866  
3867 <  case 185:
3868 < #line 1213 "conf_parser.y" /* yacc.c:1646  */
3867 >  case 174:
3868 > #line 1218 "conf_parser.y" /* yacc.c:1646  */
3869      {
3870    if (conf_parser_ctx.pass == 2)
3871 <    block_state.modes.value |= UMODE_EXTERNAL;
3871 >    block_state.modes.value |= UMODE_SKILL;
3872   }
3873   #line 3874 "conf_parser.c" /* yacc.c:1646  */
3874      break;
3875  
3876 <  case 186:
3877 < #line 1217 "conf_parser.y" /* yacc.c:1646  */
3876 >  case 175:
3877 > #line 1222 "conf_parser.y" /* yacc.c:1646  */
3878      {
3879    if (conf_parser_ctx.pass == 2)
3880 <    block_state.modes.value |= UMODE_OPERWALL;
3880 >    block_state.modes.value |= UMODE_NCHANGE;
3881   }
3882   #line 3883 "conf_parser.c" /* yacc.c:1646  */
3883      break;
3884  
3885 <  case 187:
3886 < #line 1221 "conf_parser.y" /* yacc.c:1646  */
3885 >  case 176:
3886 > #line 1226 "conf_parser.y" /* yacc.c:1646  */
3887      {
3888    if (conf_parser_ctx.pass == 2)
3889 <    block_state.modes.value |= UMODE_SERVNOTICE;
3889 >    block_state.modes.value |= UMODE_REJ;
3890   }
3891   #line 3892 "conf_parser.c" /* yacc.c:1646  */
3892      break;
3893  
3894 <  case 188:
3895 < #line 1225 "conf_parser.y" /* yacc.c:1646  */
3894 >  case 177:
3895 > #line 1230 "conf_parser.y" /* yacc.c:1646  */
3896      {
3897    if (conf_parser_ctx.pass == 2)
3898 <    block_state.modes.value |= UMODE_INVISIBLE;
3898 >    block_state.modes.value |= UMODE_UNAUTH;
3899   }
3900   #line 3901 "conf_parser.c" /* yacc.c:1646  */
3901      break;
3902  
3903 <  case 189:
3904 < #line 1229 "conf_parser.y" /* yacc.c:1646  */
3903 >  case 178:
3904 > #line 1234 "conf_parser.y" /* yacc.c:1646  */
3905      {
3906    if (conf_parser_ctx.pass == 2)
3907 <    block_state.modes.value |= UMODE_WALLOP;
3907 >    block_state.modes.value |= UMODE_SPY;
3908   }
3909   #line 3910 "conf_parser.c" /* yacc.c:1646  */
3910      break;
3911  
3912 <  case 190:
3913 < #line 1233 "conf_parser.y" /* yacc.c:1646  */
3912 >  case 179:
3913 > #line 1238 "conf_parser.y" /* yacc.c:1646  */
3914      {
3915    if (conf_parser_ctx.pass == 2)
3916 <    block_state.modes.value |= UMODE_SOFTCALLERID;
3916 >    block_state.modes.value |= UMODE_EXTERNAL;
3917   }
3918   #line 3919 "conf_parser.c" /* yacc.c:1646  */
3919      break;
3920  
3921 <  case 191:
3922 < #line 1237 "conf_parser.y" /* yacc.c:1646  */
3921 >  case 180:
3922 > #line 1242 "conf_parser.y" /* yacc.c:1646  */
3923      {
3924    if (conf_parser_ctx.pass == 2)
3925 <    block_state.modes.value |= UMODE_CALLERID;
3925 >    block_state.modes.value |= UMODE_SERVNOTICE;
3926   }
3927   #line 3928 "conf_parser.c" /* yacc.c:1646  */
3928      break;
3929  
3930 <  case 192:
3931 < #line 1241 "conf_parser.y" /* yacc.c:1646  */
3930 >  case 181:
3931 > #line 1246 "conf_parser.y" /* yacc.c:1646  */
3932      {
3933    if (conf_parser_ctx.pass == 2)
3934 <    block_state.modes.value |= UMODE_LOCOPS;
3934 >    block_state.modes.value |= UMODE_INVISIBLE;
3935   }
3936   #line 3937 "conf_parser.c" /* yacc.c:1646  */
3937      break;
3938  
3939 <  case 193:
3940 < #line 1245 "conf_parser.y" /* yacc.c:1646  */
3939 >  case 182:
3940 > #line 1250 "conf_parser.y" /* yacc.c:1646  */
3941      {
3942    if (conf_parser_ctx.pass == 2)
3943 <    block_state.modes.value |= UMODE_REGONLY;
3943 >    block_state.modes.value |= UMODE_WALLOP;
3944   }
3945   #line 3946 "conf_parser.c" /* yacc.c:1646  */
3946      break;
3947  
3948 <  case 194:
3949 < #line 1249 "conf_parser.y" /* yacc.c:1646  */
3948 >  case 183:
3949 > #line 1254 "conf_parser.y" /* yacc.c:1646  */
3950      {
3951    if (conf_parser_ctx.pass == 2)
3952 <    block_state.modes.value |= UMODE_FARCONNECT;
3952 >    block_state.modes.value |= UMODE_SOFTCALLERID;
3953   }
3954   #line 3955 "conf_parser.c" /* yacc.c:1646  */
3955      break;
3956  
3957 <  case 195:
3958 < #line 1255 "conf_parser.y" /* yacc.c:1646  */
3957 >  case 184:
3958 > #line 1258 "conf_parser.y" /* yacc.c:1646  */
3959      {
3960    if (conf_parser_ctx.pass == 2)
3961 <    block_state.port.value = 0;
3961 >    block_state.modes.value |= UMODE_CALLERID;
3962   }
3963   #line 3964 "conf_parser.c" /* yacc.c:1646  */
3964      break;
3965  
3966 <  case 199:
3966 >  case 185:
3967   #line 1262 "conf_parser.y" /* yacc.c:1646  */
3968      {
3969    if (conf_parser_ctx.pass == 2)
3970 <    block_state.port.value |= OPER_FLAG_KILL_REMOTE;
3970 >    block_state.modes.value |= UMODE_LOCOPS;
3971   }
3972   #line 3973 "conf_parser.c" /* yacc.c:1646  */
3973      break;
3974  
3975 <  case 200:
3975 >  case 186:
3976   #line 1266 "conf_parser.y" /* yacc.c:1646  */
3977      {
3978    if (conf_parser_ctx.pass == 2)
3979 <    block_state.port.value |= OPER_FLAG_KILL;
3979 >    block_state.modes.value |= UMODE_REGONLY;
3980   }
3981   #line 3982 "conf_parser.c" /* yacc.c:1646  */
3982      break;
3983  
3984 <  case 201:
3984 >  case 187:
3985   #line 1270 "conf_parser.y" /* yacc.c:1646  */
3986      {
3987    if (conf_parser_ctx.pass == 2)
3988 <    block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
3988 >    block_state.modes.value |= UMODE_FARCONNECT;
3989   }
3990   #line 3991 "conf_parser.c" /* yacc.c:1646  */
3991      break;
3992  
3993 <  case 202:
3994 < #line 1274 "conf_parser.y" /* yacc.c:1646  */
3993 >  case 188:
3994 > #line 1276 "conf_parser.y" /* yacc.c:1646  */
3995      {
3996    if (conf_parser_ctx.pass == 2)
3997 <    block_state.port.value |= OPER_FLAG_CONNECT;
3997 >    block_state.port.value = 0;
3998   }
3999   #line 4000 "conf_parser.c" /* yacc.c:1646  */
4000      break;
4001  
4002 <  case 203:
4003 < #line 1278 "conf_parser.y" /* yacc.c:1646  */
4002 >  case 192:
4003 > #line 1283 "conf_parser.y" /* yacc.c:1646  */
4004      {
4005    if (conf_parser_ctx.pass == 2)
4006 <    block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4006 >    block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4007   }
4008   #line 4009 "conf_parser.c" /* yacc.c:1646  */
4009      break;
4010  
4011 <  case 204:
4012 < #line 1282 "conf_parser.y" /* yacc.c:1646  */
4011 >  case 193:
4012 > #line 1287 "conf_parser.y" /* yacc.c:1646  */
4013      {
4014    if (conf_parser_ctx.pass == 2)
4015 <    block_state.port.value |= OPER_FLAG_SQUIT;
4015 >    block_state.port.value |= OPER_FLAG_KILL;
4016   }
4017   #line 4018 "conf_parser.c" /* yacc.c:1646  */
4018      break;
4019  
4020 <  case 205:
4021 < #line 1286 "conf_parser.y" /* yacc.c:1646  */
4020 >  case 194:
4021 > #line 1291 "conf_parser.y" /* yacc.c:1646  */
4022      {
4023    if (conf_parser_ctx.pass == 2)
4024 <    block_state.port.value |= OPER_FLAG_K;
4024 >    block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4025   }
4026   #line 4027 "conf_parser.c" /* yacc.c:1646  */
4027      break;
4028  
4029 <  case 206:
4030 < #line 1290 "conf_parser.y" /* yacc.c:1646  */
4029 >  case 195:
4030 > #line 1295 "conf_parser.y" /* yacc.c:1646  */
4031      {
4032    if (conf_parser_ctx.pass == 2)
4033 <    block_state.port.value |= OPER_FLAG_UNKLINE;
4033 >    block_state.port.value |= OPER_FLAG_CONNECT;
4034   }
4035   #line 4036 "conf_parser.c" /* yacc.c:1646  */
4036      break;
4037  
4038 <  case 207:
4039 < #line 1294 "conf_parser.y" /* yacc.c:1646  */
4038 >  case 196:
4039 > #line 1299 "conf_parser.y" /* yacc.c:1646  */
4040      {
4041    if (conf_parser_ctx.pass == 2)
4042 <    block_state.port.value |= OPER_FLAG_DLINE;
4042 >    block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4043   }
4044   #line 4045 "conf_parser.c" /* yacc.c:1646  */
4045      break;
4046  
4047 <  case 208:
4048 < #line 1298 "conf_parser.y" /* yacc.c:1646  */
4047 >  case 197:
4048 > #line 1303 "conf_parser.y" /* yacc.c:1646  */
4049      {
4050    if (conf_parser_ctx.pass == 2)
4051 <    block_state.port.value |= OPER_FLAG_UNDLINE;
4051 >    block_state.port.value |= OPER_FLAG_SQUIT;
4052   }
4053   #line 4054 "conf_parser.c" /* yacc.c:1646  */
4054      break;
4055  
4056 <  case 209:
4057 < #line 1302 "conf_parser.y" /* yacc.c:1646  */
4056 >  case 198:
4057 > #line 1307 "conf_parser.y" /* yacc.c:1646  */
4058      {
4059    if (conf_parser_ctx.pass == 2)
4060 <    block_state.port.value |= OPER_FLAG_XLINE;
4060 >    block_state.port.value |= OPER_FLAG_KLINE;
4061   }
4062   #line 4063 "conf_parser.c" /* yacc.c:1646  */
4063      break;
4064  
4065 <  case 210:
4066 < #line 1306 "conf_parser.y" /* yacc.c:1646  */
4065 >  case 199:
4066 > #line 1311 "conf_parser.y" /* yacc.c:1646  */
4067      {
4068    if (conf_parser_ctx.pass == 2)
4069 <    block_state.port.value |= OPER_FLAG_UNXLINE;
4069 >    block_state.port.value |= OPER_FLAG_UNKLINE;
4070   }
4071   #line 4072 "conf_parser.c" /* yacc.c:1646  */
4072      break;
4073  
4074 <  case 211:
4075 < #line 1310 "conf_parser.y" /* yacc.c:1646  */
4074 >  case 200:
4075 > #line 1315 "conf_parser.y" /* yacc.c:1646  */
4076      {
4077    if (conf_parser_ctx.pass == 2)
4078 <    block_state.port.value |= OPER_FLAG_GLINE;
4078 >    block_state.port.value |= OPER_FLAG_DLINE;
4079   }
4080   #line 4081 "conf_parser.c" /* yacc.c:1646  */
4081      break;
4082  
4083 <  case 212:
4084 < #line 1314 "conf_parser.y" /* yacc.c:1646  */
4083 >  case 201:
4084 > #line 1319 "conf_parser.y" /* yacc.c:1646  */
4085      {
4086    if (conf_parser_ctx.pass == 2)
4087 <    block_state.port.value |= OPER_FLAG_DIE;
4087 >    block_state.port.value |= OPER_FLAG_UNDLINE;
4088   }
4089   #line 4090 "conf_parser.c" /* yacc.c:1646  */
4090      break;
4091  
4092 <  case 213:
4093 < #line 1318 "conf_parser.y" /* yacc.c:1646  */
4092 >  case 202:
4093 > #line 1323 "conf_parser.y" /* yacc.c:1646  */
4094      {
4095    if (conf_parser_ctx.pass == 2)
4096 <    block_state.port.value |= OPER_FLAG_RESTART;
4096 >    block_state.port.value |= OPER_FLAG_XLINE;
4097   }
4098   #line 4099 "conf_parser.c" /* yacc.c:1646  */
4099      break;
4100  
4101 <  case 214:
4102 < #line 1322 "conf_parser.y" /* yacc.c:1646  */
4101 >  case 203:
4102 > #line 1327 "conf_parser.y" /* yacc.c:1646  */
4103      {
4104    if (conf_parser_ctx.pass == 2)
4105 <    block_state.port.value |= OPER_FLAG_REHASH;
4105 >    block_state.port.value |= OPER_FLAG_UNXLINE;
4106   }
4107   #line 4108 "conf_parser.c" /* yacc.c:1646  */
4108      break;
4109  
4110 <  case 215:
4111 < #line 1326 "conf_parser.y" /* yacc.c:1646  */
4110 >  case 204:
4111 > #line 1331 "conf_parser.y" /* yacc.c:1646  */
4112      {
4113    if (conf_parser_ctx.pass == 2)
4114 <    block_state.port.value |= OPER_FLAG_ADMIN;
4114 >    block_state.port.value |= OPER_FLAG_GLINE;
4115   }
4116   #line 4117 "conf_parser.c" /* yacc.c:1646  */
4117      break;
4118  
4119 <  case 216:
4120 < #line 1330 "conf_parser.y" /* yacc.c:1646  */
4119 >  case 205:
4120 > #line 1335 "conf_parser.y" /* yacc.c:1646  */
4121      {
4122    if (conf_parser_ctx.pass == 2)
4123 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4123 >    block_state.port.value |= OPER_FLAG_DIE;
4124   }
4125   #line 4126 "conf_parser.c" /* yacc.c:1646  */
4126      break;
4127  
4128 <  case 217:
4129 < #line 1334 "conf_parser.y" /* yacc.c:1646  */
4128 >  case 206:
4129 > #line 1339 "conf_parser.y" /* yacc.c:1646  */
4130      {
4131    if (conf_parser_ctx.pass == 2)
4132 <    block_state.port.value |= OPER_FLAG_GLOBOPS;
4132 >    block_state.port.value |= OPER_FLAG_RESTART;
4133   }
4134   #line 4135 "conf_parser.c" /* yacc.c:1646  */
4135      break;
4136  
4137 <  case 218:
4138 < #line 1338 "conf_parser.y" /* yacc.c:1646  */
4137 >  case 207:
4138 > #line 1343 "conf_parser.y" /* yacc.c:1646  */
4139      {
4140    if (conf_parser_ctx.pass == 2)
4141 <    block_state.port.value |= OPER_FLAG_WALLOPS;
4141 >    block_state.port.value |= OPER_FLAG_REHASH;
4142   }
4143   #line 4144 "conf_parser.c" /* yacc.c:1646  */
4144      break;
4145  
4146 <  case 219:
4147 < #line 1342 "conf_parser.y" /* yacc.c:1646  */
4146 >  case 208:
4147 > #line 1347 "conf_parser.y" /* yacc.c:1646  */
4148      {
4149    if (conf_parser_ctx.pass == 2)
4150 <    block_state.port.value |= OPER_FLAG_LOCOPS;
4150 >    block_state.port.value |= OPER_FLAG_ADMIN;
4151   }
4152   #line 4153 "conf_parser.c" /* yacc.c:1646  */
4153      break;
4154  
4155 <  case 220:
4156 < #line 1346 "conf_parser.y" /* yacc.c:1646  */
4155 >  case 209:
4156 > #line 1351 "conf_parser.y" /* yacc.c:1646  */
4157      {
4158    if (conf_parser_ctx.pass == 2)
4159 <    block_state.port.value |= OPER_FLAG_REMOTEBAN;
4159 >    block_state.port.value |= OPER_FLAG_GLOBOPS;
4160   }
4161   #line 4162 "conf_parser.c" /* yacc.c:1646  */
4162      break;
4163  
4164 <  case 221:
4165 < #line 1350 "conf_parser.y" /* yacc.c:1646  */
4164 >  case 210:
4165 > #line 1355 "conf_parser.y" /* yacc.c:1646  */
4166      {
4167    if (conf_parser_ctx.pass == 2)
4168 <    block_state.port.value |= OPER_FLAG_SET;
4168 >    block_state.port.value |= OPER_FLAG_WALLOPS;
4169   }
4170   #line 4171 "conf_parser.c" /* yacc.c:1646  */
4171      break;
4172  
4173 <  case 222:
4174 < #line 1354 "conf_parser.y" /* yacc.c:1646  */
4173 >  case 211:
4174 > #line 1359 "conf_parser.y" /* yacc.c:1646  */
4175      {
4176    if (conf_parser_ctx.pass == 2)
4177 <    block_state.port.value |= OPER_FLAG_MODULE;
4177 >    block_state.port.value |= OPER_FLAG_LOCOPS;
4178   }
4179   #line 4180 "conf_parser.c" /* yacc.c:1646  */
4180      break;
4181  
4182 <  case 223:
4183 < #line 1364 "conf_parser.y" /* yacc.c:1646  */
4182 >  case 212:
4183 > #line 1363 "conf_parser.y" /* yacc.c:1646  */
4184 >    {
4185 >  if (conf_parser_ctx.pass == 2)
4186 >    block_state.port.value |= OPER_FLAG_REMOTEBAN;
4187 > }
4188 > #line 4189 "conf_parser.c" /* yacc.c:1646  */
4189 >    break;
4190 >
4191 >  case 213:
4192 > #line 1367 "conf_parser.y" /* yacc.c:1646  */
4193 >    {
4194 >  if (conf_parser_ctx.pass == 2)
4195 >    block_state.port.value |= OPER_FLAG_SET;
4196 > }
4197 > #line 4198 "conf_parser.c" /* yacc.c:1646  */
4198 >    break;
4199 >
4200 >  case 214:
4201 > #line 1371 "conf_parser.y" /* yacc.c:1646  */
4202 >    {
4203 >  if (conf_parser_ctx.pass == 2)
4204 >    block_state.port.value |= OPER_FLAG_MODULE;
4205 > }
4206 > #line 4207 "conf_parser.c" /* yacc.c:1646  */
4207 >    break;
4208 >
4209 >  case 215:
4210 > #line 1381 "conf_parser.y" /* yacc.c:1646  */
4211      {
4212    if (conf_parser_ctx.pass != 1)
4213      break;
# Line 4193 | Line 4220 | yyreduce:
4220    block_state.max_sendq.value = DEFAULT_SENDQ;
4221    block_state.max_recvq.value = DEFAULT_RECVQ;
4222   }
4223 < #line 4197 "conf_parser.c" /* yacc.c:1646  */
4223 > #line 4224 "conf_parser.c" /* yacc.c:1646  */
4224      break;
4225  
4226 <  case 224:
4227 < #line 1376 "conf_parser.y" /* yacc.c:1646  */
4226 >  case 216:
4227 > #line 1393 "conf_parser.y" /* yacc.c:1646  */
4228      {
4229    struct ClassItem *class = NULL;
4230  
# Line 4222 | Line 4249 | yyreduce:
4249    class->max_ident = block_state.max_ident.value;
4250    class->max_sendq = block_state.max_sendq.value;
4251    class->max_recvq = block_state.max_recvq.value;
4252 +  class->max_channels = block_state.max_channels.value;
4253  
4254    if (block_state.min_idle.value > block_state.max_idle.value)
4255    {
# Line 4245 | Line 4273 | yyreduce:
4273    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4274    class->number_per_cidr = block_state.number_per_cidr.value;
4275   }
4276 < #line 4249 "conf_parser.c" /* yacc.c:1646  */
4276 > #line 4277 "conf_parser.c" /* yacc.c:1646  */
4277      break;
4278  
4279 <  case 244:
4280 < #line 1442 "conf_parser.y" /* yacc.c:1646  */
4279 >  case 237:
4280 > #line 1462 "conf_parser.y" /* yacc.c:1646  */
4281      {
4282    if (conf_parser_ctx.pass == 1)
4283      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4284   }
4285 < #line 4258 "conf_parser.c" /* yacc.c:1646  */
4285 > #line 4286 "conf_parser.c" /* yacc.c:1646  */
4286      break;
4287  
4288 <  case 245:
4289 < #line 1448 "conf_parser.y" /* yacc.c:1646  */
4288 >  case 238:
4289 > #line 1468 "conf_parser.y" /* yacc.c:1646  */
4290      {
4291    if (conf_parser_ctx.pass == 1)
4292      block_state.ping_freq.value = (yyvsp[-1].number);
4293   }
4294 < #line 4267 "conf_parser.c" /* yacc.c:1646  */
4294 > #line 4295 "conf_parser.c" /* yacc.c:1646  */
4295      break;
4296  
4297 <  case 246:
4298 < #line 1454 "conf_parser.y" /* yacc.c:1646  */
4297 >  case 239:
4298 > #line 1474 "conf_parser.y" /* yacc.c:1646  */
4299      {
4300    if (conf_parser_ctx.pass == 1)
4301      block_state.max_perip.value = (yyvsp[-1].number);
4302   }
4303 < #line 4276 "conf_parser.c" /* yacc.c:1646  */
4303 > #line 4304 "conf_parser.c" /* yacc.c:1646  */
4304      break;
4305  
4306 <  case 247:
4307 < #line 1460 "conf_parser.y" /* yacc.c:1646  */
4306 >  case 240:
4307 > #line 1480 "conf_parser.y" /* yacc.c:1646  */
4308      {
4309    if (conf_parser_ctx.pass == 1)
4310      block_state.con_freq.value = (yyvsp[-1].number);
4311   }
4312 < #line 4285 "conf_parser.c" /* yacc.c:1646  */
4312 > #line 4313 "conf_parser.c" /* yacc.c:1646  */
4313      break;
4314  
4315 <  case 248:
4316 < #line 1466 "conf_parser.y" /* yacc.c:1646  */
4315 >  case 241:
4316 > #line 1486 "conf_parser.y" /* yacc.c:1646  */
4317 >    {
4318 >  if (conf_parser_ctx.pass == 1)
4319 >    block_state.max_channels.value = (yyvsp[-1].number);
4320 > }
4321 > #line 4322 "conf_parser.c" /* yacc.c:1646  */
4322 >    break;
4323 >
4324 >  case 242:
4325 > #line 1492 "conf_parser.y" /* yacc.c:1646  */
4326      {
4327    if (conf_parser_ctx.pass == 1)
4328      block_state.max_total.value = (yyvsp[-1].number);
4329   }
4330 < #line 4294 "conf_parser.c" /* yacc.c:1646  */
4330 > #line 4331 "conf_parser.c" /* yacc.c:1646  */
4331      break;
4332  
4333 <  case 249:
4334 < #line 1472 "conf_parser.y" /* yacc.c:1646  */
4333 >  case 243:
4334 > #line 1498 "conf_parser.y" /* yacc.c:1646  */
4335      {
4336    if (conf_parser_ctx.pass == 1)
4337      block_state.max_global.value = (yyvsp[-1].number);
4338   }
4339 < #line 4303 "conf_parser.c" /* yacc.c:1646  */
4339 > #line 4340 "conf_parser.c" /* yacc.c:1646  */
4340      break;
4341  
4342 <  case 250:
4343 < #line 1478 "conf_parser.y" /* yacc.c:1646  */
4342 >  case 244:
4343 > #line 1504 "conf_parser.y" /* yacc.c:1646  */
4344      {
4345    if (conf_parser_ctx.pass == 1)
4346      block_state.max_local.value = (yyvsp[-1].number);
4347   }
4348 < #line 4312 "conf_parser.c" /* yacc.c:1646  */
4348 > #line 4349 "conf_parser.c" /* yacc.c:1646  */
4349      break;
4350  
4351 <  case 251:
4352 < #line 1484 "conf_parser.y" /* yacc.c:1646  */
4351 >  case 245:
4352 > #line 1510 "conf_parser.y" /* yacc.c:1646  */
4353      {
4354    if (conf_parser_ctx.pass == 1)
4355      block_state.max_ident.value = (yyvsp[-1].number);
4356   }
4357 < #line 4321 "conf_parser.c" /* yacc.c:1646  */
4357 > #line 4358 "conf_parser.c" /* yacc.c:1646  */
4358      break;
4359  
4360 <  case 252:
4361 < #line 1490 "conf_parser.y" /* yacc.c:1646  */
4360 >  case 246:
4361 > #line 1516 "conf_parser.y" /* yacc.c:1646  */
4362      {
4363    if (conf_parser_ctx.pass == 1)
4364      block_state.max_sendq.value = (yyvsp[-1].number);
4365   }
4366 < #line 4330 "conf_parser.c" /* yacc.c:1646  */
4366 > #line 4367 "conf_parser.c" /* yacc.c:1646  */
4367      break;
4368  
4369 <  case 253:
4370 < #line 1496 "conf_parser.y" /* yacc.c:1646  */
4369 >  case 247:
4370 > #line 1522 "conf_parser.y" /* yacc.c:1646  */
4371      {
4372    if (conf_parser_ctx.pass == 1)
4373      if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4374        block_state.max_recvq.value = (yyvsp[-1].number);
4375   }
4376 < #line 4340 "conf_parser.c" /* yacc.c:1646  */
4376 > #line 4377 "conf_parser.c" /* yacc.c:1646  */
4377      break;
4378  
4379 <  case 254:
4380 < #line 1503 "conf_parser.y" /* yacc.c:1646  */
4379 >  case 248:
4380 > #line 1529 "conf_parser.y" /* yacc.c:1646  */
4381      {
4382    if (conf_parser_ctx.pass == 1)
4383      block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4384   }
4385 < #line 4349 "conf_parser.c" /* yacc.c:1646  */
4385 > #line 4386 "conf_parser.c" /* yacc.c:1646  */
4386      break;
4387  
4388 <  case 255:
4389 < #line 1509 "conf_parser.y" /* yacc.c:1646  */
4388 >  case 249:
4389 > #line 1535 "conf_parser.y" /* yacc.c:1646  */
4390      {
4391    if (conf_parser_ctx.pass == 1)
4392      block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4393   }
4394 < #line 4358 "conf_parser.c" /* yacc.c:1646  */
4394 > #line 4395 "conf_parser.c" /* yacc.c:1646  */
4395      break;
4396  
4397 <  case 256:
4398 < #line 1515 "conf_parser.y" /* yacc.c:1646  */
4397 >  case 250:
4398 > #line 1541 "conf_parser.y" /* yacc.c:1646  */
4399      {
4400    if (conf_parser_ctx.pass == 1)
4401      block_state.number_per_cidr.value = (yyvsp[-1].number);
4402   }
4403 < #line 4367 "conf_parser.c" /* yacc.c:1646  */
4403 > #line 4404 "conf_parser.c" /* yacc.c:1646  */
4404      break;
4405  
4406 <  case 257:
4407 < #line 1521 "conf_parser.y" /* yacc.c:1646  */
4406 >  case 251:
4407 > #line 1547 "conf_parser.y" /* yacc.c:1646  */
4408      {
4409    if (conf_parser_ctx.pass != 1)
4410      break;
# Line 4375 | Line 4412 | yyreduce:
4412    block_state.min_idle.value = (yyvsp[-1].number);
4413    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4414   }
4415 < #line 4379 "conf_parser.c" /* yacc.c:1646  */
4415 > #line 4416 "conf_parser.c" /* yacc.c:1646  */
4416      break;
4417  
4418 <  case 258:
4419 < #line 1530 "conf_parser.y" /* yacc.c:1646  */
4418 >  case 252:
4419 > #line 1556 "conf_parser.y" /* yacc.c:1646  */
4420      {
4421    if (conf_parser_ctx.pass != 1)
4422      break;
# Line 4387 | Line 4424 | yyreduce:
4424    block_state.max_idle.value = (yyvsp[-1].number);
4425    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4426   }
4427 < #line 4391 "conf_parser.c" /* yacc.c:1646  */
4427 > #line 4428 "conf_parser.c" /* yacc.c:1646  */
4428      break;
4429  
4430 <  case 259:
4431 < #line 1539 "conf_parser.y" /* yacc.c:1646  */
4430 >  case 253:
4431 > #line 1565 "conf_parser.y" /* yacc.c:1646  */
4432      {
4433    if (conf_parser_ctx.pass == 1)
4434      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4435   }
4436 < #line 4400 "conf_parser.c" /* yacc.c:1646  */
4436 > #line 4437 "conf_parser.c" /* yacc.c:1646  */
4437      break;
4438  
4439 <  case 263:
4440 < #line 1546 "conf_parser.y" /* yacc.c:1646  */
4439 >  case 257:
4440 > #line 1572 "conf_parser.y" /* yacc.c:1646  */
4441      {
4442    if (conf_parser_ctx.pass == 1)
4443      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4444   }
4445 < #line 4409 "conf_parser.c" /* yacc.c:1646  */
4445 > #line 4446 "conf_parser.c" /* yacc.c:1646  */
4446      break;
4447  
4448 <  case 264:
4449 < #line 1550 "conf_parser.y" /* yacc.c:1646  */
4448 >  case 258:
4449 > #line 1576 "conf_parser.y" /* yacc.c:1646  */
4450      {
4451    if (conf_parser_ctx.pass == 1)
4452      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4453   }
4454 < #line 4418 "conf_parser.c" /* yacc.c:1646  */
4454 > #line 4455 "conf_parser.c" /* yacc.c:1646  */
4455      break;
4456  
4457 <  case 265:
4458 < #line 1560 "conf_parser.y" /* yacc.c:1646  */
4457 >  case 259:
4458 > #line 1586 "conf_parser.y" /* yacc.c:1646  */
4459      {
4460    if (conf_parser_ctx.pass == 2)
4461      reset_block_state();
4462   }
4463 < #line 4427 "conf_parser.c" /* yacc.c:1646  */
4463 > #line 4464 "conf_parser.c" /* yacc.c:1646  */
4464      break;
4465  
4466 <  case 267:
4467 < #line 1566 "conf_parser.y" /* yacc.c:1646  */
4466 >  case 261:
4467 > #line 1592 "conf_parser.y" /* yacc.c:1646  */
4468      {
4469    block_state.flags.value = 0;
4470   }
4471 < #line 4435 "conf_parser.c" /* yacc.c:1646  */
4471 > #line 4472 "conf_parser.c" /* yacc.c:1646  */
4472      break;
4473  
4474 <  case 271:
4475 < #line 1572 "conf_parser.y" /* yacc.c:1646  */
4474 >  case 265:
4475 > #line 1598 "conf_parser.y" /* yacc.c:1646  */
4476      {
4477    if (conf_parser_ctx.pass == 2)
4478      block_state.flags.value |= LISTENER_SSL;
4479   }
4480 < #line 4444 "conf_parser.c" /* yacc.c:1646  */
4480 > #line 4481 "conf_parser.c" /* yacc.c:1646  */
4481      break;
4482  
4483 <  case 272:
4484 < #line 1576 "conf_parser.y" /* yacc.c:1646  */
4483 >  case 266:
4484 > #line 1602 "conf_parser.y" /* yacc.c:1646  */
4485      {
4486    if (conf_parser_ctx.pass == 2)
4487      block_state.flags.value |= LISTENER_HIDDEN;
4488   }
4489 < #line 4453 "conf_parser.c" /* yacc.c:1646  */
4489 > #line 4490 "conf_parser.c" /* yacc.c:1646  */
4490      break;
4491  
4492 <  case 273:
4493 < #line 1580 "conf_parser.y" /* yacc.c:1646  */
4492 >  case 267:
4493 > #line 1606 "conf_parser.y" /* yacc.c:1646  */
4494      {
4495    if (conf_parser_ctx.pass == 2)
4496     block_state.flags.value |= LISTENER_SERVER;
4497   }
4498 < #line 4462 "conf_parser.c" /* yacc.c:1646  */
4498 > #line 4499 "conf_parser.c" /* yacc.c:1646  */
4499      break;
4500  
4501 <  case 281:
4502 < #line 1588 "conf_parser.y" /* yacc.c:1646  */
4501 >  case 275:
4502 > #line 1614 "conf_parser.y" /* yacc.c:1646  */
4503      { block_state.flags.value = 0; }
4504 < #line 4468 "conf_parser.c" /* yacc.c:1646  */
4504 > #line 4505 "conf_parser.c" /* yacc.c:1646  */
4505      break;
4506  
4507 <  case 285:
4508 < #line 1593 "conf_parser.y" /* yacc.c:1646  */
4507 >  case 279:
4508 > #line 1619 "conf_parser.y" /* yacc.c:1646  */
4509      {
4510    if (conf_parser_ctx.pass == 2)
4511    {
# Line 4478 | Line 4515 | yyreduce:
4515   #endif
4516        {
4517          conf_error_report("SSL not available - port closed");
4518 <        break;
4518 >        break;
4519        }
4520      add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4521    }
4522   }
4523 < #line 4487 "conf_parser.c" /* yacc.c:1646  */
4523 > #line 4524 "conf_parser.c" /* yacc.c:1646  */
4524      break;
4525  
4526 <  case 286:
4527 < #line 1607 "conf_parser.y" /* yacc.c:1646  */
4526 >  case 280:
4527 > #line 1633 "conf_parser.y" /* yacc.c:1646  */
4528      {
4529    if (conf_parser_ctx.pass == 2)
4530    {
4494    int i;
4495
4531      if (block_state.flags.value & LISTENER_SSL)
4532   #ifdef HAVE_LIBCRYPTO
4533        if (!ServerInfo.server_ctx)
4534   #endif
4535        {
4536          conf_error_report("SSL not available - port closed");
4537 <        break;
4537 >        break;
4538        }
4539  
4540 <    for (i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4540 >    for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4541        add_listener(i, block_state.addr.buf, block_state.flags.value);
4542    }
4543   }
4544 < #line 4510 "conf_parser.c" /* yacc.c:1646  */
4544 > #line 4545 "conf_parser.c" /* yacc.c:1646  */
4545      break;
4546  
4547 <  case 287:
4548 < #line 1627 "conf_parser.y" /* yacc.c:1646  */
4547 >  case 281:
4548 > #line 1651 "conf_parser.y" /* yacc.c:1646  */
4549      {
4550    if (conf_parser_ctx.pass == 2)
4551      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4552   }
4553 < #line 4519 "conf_parser.c" /* yacc.c:1646  */
4553 > #line 4554 "conf_parser.c" /* yacc.c:1646  */
4554      break;
4555  
4556 <  case 288:
4557 < #line 1633 "conf_parser.y" /* yacc.c:1646  */
4556 >  case 282:
4557 > #line 1657 "conf_parser.y" /* yacc.c:1646  */
4558      {
4559    if (conf_parser_ctx.pass == 2)
4560      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4561   }
4562 < #line 4528 "conf_parser.c" /* yacc.c:1646  */
4562 > #line 4563 "conf_parser.c" /* yacc.c:1646  */
4563      break;
4564  
4565 <  case 289:
4566 < #line 1642 "conf_parser.y" /* yacc.c:1646  */
4565 >  case 283:
4566 > #line 1666 "conf_parser.y" /* yacc.c:1646  */
4567      {
4568    if (conf_parser_ctx.pass == 2)
4569      reset_block_state();
4570   }
4571 < #line 4537 "conf_parser.c" /* yacc.c:1646  */
4571 > #line 4572 "conf_parser.c" /* yacc.c:1646  */
4572      break;
4573  
4574 <  case 290:
4575 < #line 1646 "conf_parser.y" /* yacc.c:1646  */
4574 >  case 284:
4575 > #line 1670 "conf_parser.y" /* yacc.c:1646  */
4576      {
4577    dlink_node *ptr = NULL;
4578  
# Line 4574 | Line 4609 | yyreduce:
4609      add_conf_by_address(CONF_CLIENT, conf);
4610    }
4611   }
4612 < #line 4578 "conf_parser.c" /* yacc.c:1646  */
4612 > #line 4613 "conf_parser.c" /* yacc.c:1646  */
4613      break;
4614  
4615 <  case 302:
4616 < #line 1689 "conf_parser.y" /* yacc.c:1646  */
4615 >  case 296:
4616 > #line 1719 "conf_parser.y" /* yacc.c:1646  */
4617      {
4618    if (conf_parser_ctx.pass == 2)
4619      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4620   }
4621 < #line 4587 "conf_parser.c" /* yacc.c:1646  */
4621 > #line 4622 "conf_parser.c" /* yacc.c:1646  */
4622      break;
4623  
4624 <  case 303:
4625 < #line 1695 "conf_parser.y" /* yacc.c:1646  */
4624 >  case 297:
4625 > #line 1725 "conf_parser.y" /* yacc.c:1646  */
4626      {
4627    if (conf_parser_ctx.pass == 2)
4628      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4629   }
4630 < #line 4596 "conf_parser.c" /* yacc.c:1646  */
4630 > #line 4631 "conf_parser.c" /* yacc.c:1646  */
4631      break;
4632  
4633 <  case 304:
4634 < #line 1701 "conf_parser.y" /* yacc.c:1646  */
4633 >  case 298:
4634 > #line 1731 "conf_parser.y" /* yacc.c:1646  */
4635      {
4636    if (conf_parser_ctx.pass == 2)
4637      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4638   }
4639 < #line 4605 "conf_parser.c" /* yacc.c:1646  */
4639 > #line 4640 "conf_parser.c" /* yacc.c:1646  */
4640      break;
4641  
4642 <  case 305:
4643 < #line 1707 "conf_parser.y" /* yacc.c:1646  */
4642 >  case 299:
4643 > #line 1737 "conf_parser.y" /* yacc.c:1646  */
4644      {
4645    if (conf_parser_ctx.pass == 2)
4646    {
# Line 4615 | Line 4650 | yyreduce:
4650        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4651    }
4652   }
4653 < #line 4619 "conf_parser.c" /* yacc.c:1646  */
4653 > #line 4654 "conf_parser.c" /* yacc.c:1646  */
4654      break;
4655  
4656 <  case 306:
4657 < #line 1718 "conf_parser.y" /* yacc.c:1646  */
4656 >  case 300:
4657 > #line 1748 "conf_parser.y" /* yacc.c:1646  */
4658      {
4659    if (conf_parser_ctx.pass == 2)
4660      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4661   }
4662 < #line 4628 "conf_parser.c" /* yacc.c:1646  */
4662 > #line 4663 "conf_parser.c" /* yacc.c:1646  */
4663      break;
4664  
4665 <  case 310:
4666 < #line 1725 "conf_parser.y" /* yacc.c:1646  */
4665 >  case 304:
4666 > #line 1755 "conf_parser.y" /* yacc.c:1646  */
4667      {
4668    if (conf_parser_ctx.pass == 2)
4669      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4670   }
4671 < #line 4637 "conf_parser.c" /* yacc.c:1646  */
4671 > #line 4672 "conf_parser.c" /* yacc.c:1646  */
4672      break;
4673  
4674 <  case 311:
4675 < #line 1729 "conf_parser.y" /* yacc.c:1646  */
4674 >  case 305:
4675 > #line 1759 "conf_parser.y" /* yacc.c:1646  */
4676      {
4677    if (conf_parser_ctx.pass == 2)
4678      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4679   }
4680 < #line 4646 "conf_parser.c" /* yacc.c:1646  */
4680 > #line 4681 "conf_parser.c" /* yacc.c:1646  */
4681      break;
4682  
4683 <  case 312:
4684 < #line 1733 "conf_parser.y" /* yacc.c:1646  */
4683 >  case 306:
4684 > #line 1763 "conf_parser.y" /* yacc.c:1646  */
4685      {
4686    if (conf_parser_ctx.pass == 2)
4687      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4688   }
4689 < #line 4655 "conf_parser.c" /* yacc.c:1646  */
4689 > #line 4690 "conf_parser.c" /* yacc.c:1646  */
4690      break;
4691  
4692 <  case 313:
4693 < #line 1737 "conf_parser.y" /* yacc.c:1646  */
4692 >  case 307:
4693 > #line 1767 "conf_parser.y" /* yacc.c:1646  */
4694      {
4695    if (conf_parser_ctx.pass == 2)
4696      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4697   }
4698 < #line 4664 "conf_parser.c" /* yacc.c:1646  */
4698 > #line 4699 "conf_parser.c" /* yacc.c:1646  */
4699      break;
4700  
4701 <  case 314:
4702 < #line 1741 "conf_parser.y" /* yacc.c:1646  */
4701 >  case 308:
4702 > #line 1771 "conf_parser.y" /* yacc.c:1646  */
4703      {
4704    if (conf_parser_ctx.pass == 2)
4705      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4706   }
4707 < #line 4673 "conf_parser.c" /* yacc.c:1646  */
4707 > #line 4708 "conf_parser.c" /* yacc.c:1646  */
4708      break;
4709  
4710 <  case 315:
4711 < #line 1745 "conf_parser.y" /* yacc.c:1646  */
4710 >  case 309:
4711 > #line 1775 "conf_parser.y" /* yacc.c:1646  */
4712      {
4713    if (conf_parser_ctx.pass == 2)
4714      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4715   }
4716 < #line 4682 "conf_parser.c" /* yacc.c:1646  */
4716 > #line 4717 "conf_parser.c" /* yacc.c:1646  */
4717      break;
4718  
4719 <  case 316:
4720 < #line 1749 "conf_parser.y" /* yacc.c:1646  */
4719 >  case 310:
4720 > #line 1779 "conf_parser.y" /* yacc.c:1646  */
4721      {
4722    if (conf_parser_ctx.pass == 2)
4723      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4724   }
4725 < #line 4691 "conf_parser.c" /* yacc.c:1646  */
4725 > #line 4726 "conf_parser.c" /* yacc.c:1646  */
4726      break;
4727  
4728 <  case 317:
4729 < #line 1753 "conf_parser.y" /* yacc.c:1646  */
4728 >  case 311:
4729 > #line 1783 "conf_parser.y" /* yacc.c:1646  */
4730      {
4731    if (conf_parser_ctx.pass == 2)
4732      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4733   }
4734 < #line 4700 "conf_parser.c" /* yacc.c:1646  */
4734 > #line 4735 "conf_parser.c" /* yacc.c:1646  */
4735      break;
4736  
4737 <  case 318:
4738 < #line 1757 "conf_parser.y" /* yacc.c:1646  */
4737 >  case 312:
4738 > #line 1787 "conf_parser.y" /* yacc.c:1646  */
4739      {
4740    if (conf_parser_ctx.pass == 2)
4741      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4742   }
4743 < #line 4709 "conf_parser.c" /* yacc.c:1646  */
4743 > #line 4744 "conf_parser.c" /* yacc.c:1646  */
4744      break;
4745  
4746 <  case 319:
4747 < #line 1761 "conf_parser.y" /* yacc.c:1646  */
4746 >  case 313:
4747 > #line 1791 "conf_parser.y" /* yacc.c:1646  */
4748      {
4749    if (conf_parser_ctx.pass == 2)
4750      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4751   }
4752 < #line 4718 "conf_parser.c" /* yacc.c:1646  */
4752 > #line 4753 "conf_parser.c" /* yacc.c:1646  */
4753      break;
4754  
4755 <  case 320:
4756 < #line 1767 "conf_parser.y" /* yacc.c:1646  */
4755 >  case 314:
4756 > #line 1797 "conf_parser.y" /* yacc.c:1646  */
4757      {
4758    if (conf_parser_ctx.pass != 2)
4759      break;
4760  
4761 <  if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4761 >  if (valid_hostname(yylval.string))
4762    {
4763      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4764      block_state.flags.value |= CONF_FLAGS_SPOOF_IP;
# Line 4731 | Line 4766 | yyreduce:
4766    else
4767      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4768   }
4769 < #line 4735 "conf_parser.c" /* yacc.c:1646  */
4769 > #line 4770 "conf_parser.c" /* yacc.c:1646  */
4770      break;
4771  
4772 <  case 321:
4773 < #line 1781 "conf_parser.y" /* yacc.c:1646  */
4772 >  case 315:
4773 > #line 1811 "conf_parser.y" /* yacc.c:1646  */
4774      {
4775    if (conf_parser_ctx.pass != 2)
4776      break;
# Line 4743 | Line 4778 | yyreduce:
4778    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4779    block_state.flags.value |= CONF_FLAGS_REDIR;
4780   }
4781 < #line 4747 "conf_parser.c" /* yacc.c:1646  */
4781 > #line 4782 "conf_parser.c" /* yacc.c:1646  */
4782      break;
4783  
4784 <  case 322:
4785 < #line 1790 "conf_parser.y" /* yacc.c:1646  */
4784 >  case 316:
4785 > #line 1820 "conf_parser.y" /* yacc.c:1646  */
4786      {
4787    if (conf_parser_ctx.pass != 2)
4788      break;
# Line 4755 | Line 4790 | yyreduce:
4790    block_state.flags.value |= CONF_FLAGS_REDIR;
4791    block_state.port.value = (yyvsp[-1].number);
4792   }
4793 < #line 4759 "conf_parser.c" /* yacc.c:1646  */
4793 > #line 4794 "conf_parser.c" /* yacc.c:1646  */
4794      break;
4795  
4796 <  case 323:
4797 < #line 1803 "conf_parser.y" /* yacc.c:1646  */
4796 >  case 317:
4797 > #line 1833 "conf_parser.y" /* yacc.c:1646  */
4798      {
4799    if (conf_parser_ctx.pass != 2)
4800      break;
# Line 4767 | Line 4802 | yyreduce:
4802    reset_block_state();
4803    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4804   }
4805 < #line 4771 "conf_parser.c" /* yacc.c:1646  */
4805 > #line 4806 "conf_parser.c" /* yacc.c:1646  */
4806      break;
4807  
4808 <  case 324:
4809 < #line 1810 "conf_parser.y" /* yacc.c:1646  */
4808 >  case 318:
4809 > #line 1840 "conf_parser.y" /* yacc.c:1646  */
4810      {
4811    if (conf_parser_ctx.pass != 2)
4812      break;
4813  
4814    create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4815   }
4816 < #line 4782 "conf_parser.c" /* yacc.c:1646  */
4816 > #line 4817 "conf_parser.c" /* yacc.c:1646  */
4817      break;
4818  
4819 <  case 331:
4820 < #line 1821 "conf_parser.y" /* yacc.c:1646  */
4819 >  case 325:
4820 > #line 1851 "conf_parser.y" /* yacc.c:1646  */
4821      {
4822    if (conf_parser_ctx.pass == 2)
4823      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4824   }
4825 < #line 4791 "conf_parser.c" /* yacc.c:1646  */
4825 > #line 4826 "conf_parser.c" /* yacc.c:1646  */
4826      break;
4827  
4828 <  case 332:
4829 < #line 1827 "conf_parser.y" /* yacc.c:1646  */
4828 >  case 326:
4829 > #line 1857 "conf_parser.y" /* yacc.c:1646  */
4830      {
4831    if (conf_parser_ctx.pass == 2)
4832      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4833   }
4834 < #line 4800 "conf_parser.c" /* yacc.c:1646  */
4834 > #line 4835 "conf_parser.c" /* yacc.c:1646  */
4835      break;
4836  
4837 <  case 333:
4838 < #line 1833 "conf_parser.y" /* yacc.c:1646  */
4837 >  case 327:
4838 > #line 1863 "conf_parser.y" /* yacc.c:1646  */
4839      {
4840    if (conf_parser_ctx.pass == 2)
4841      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4842   }
4843 < #line 4809 "conf_parser.c" /* yacc.c:1646  */
4843 > #line 4844 "conf_parser.c" /* yacc.c:1646  */
4844      break;
4845  
4846 <  case 339:
4847 < #line 1848 "conf_parser.y" /* yacc.c:1646  */
4846 >  case 333:
4847 > #line 1878 "conf_parser.y" /* yacc.c:1646  */
4848      {
4849    if (conf_parser_ctx.pass != 2)
4850      break;
# Line 4820 | Line 4855 | yyreduce:
4855      conf->name = xstrdup(yylval.string);
4856    }
4857   }
4858 < #line 4824 "conf_parser.c" /* yacc.c:1646  */
4858 > #line 4859 "conf_parser.c" /* yacc.c:1646  */
4859      break;
4860  
4861 <  case 340:
4862 < #line 1863 "conf_parser.y" /* yacc.c:1646  */
4861 >  case 334:
4862 > #line 1893 "conf_parser.y" /* yacc.c:1646  */
4863      {
4864    if (conf_parser_ctx.pass != 2)
4865      break;
# Line 4836 | Line 4871 | yyreduce:
4871    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4872    block_state.flags.value = SHARED_ALL;
4873   }
4874 < #line 4840 "conf_parser.c" /* yacc.c:1646  */
4874 > #line 4875 "conf_parser.c" /* yacc.c:1646  */
4875      break;
4876  
4877 <  case 341:
4878 < #line 1874 "conf_parser.y" /* yacc.c:1646  */
4877 >  case 335:
4878 > #line 1904 "conf_parser.y" /* yacc.c:1646  */
4879      {
4880    struct MaskItem *conf = NULL;
4881  
# Line 4853 | Line 4888 | yyreduce:
4888    conf->user = xstrdup(block_state.user.buf);
4889    conf->host = xstrdup(block_state.host.buf);
4890   }
4891 < #line 4857 "conf_parser.c" /* yacc.c:1646  */
4891 > #line 4892 "conf_parser.c" /* yacc.c:1646  */
4892      break;
4893  
4894 <  case 348:
4895 < #line 1891 "conf_parser.y" /* yacc.c:1646  */
4894 >  case 342:
4895 > #line 1921 "conf_parser.y" /* yacc.c:1646  */
4896      {
4897    if (conf_parser_ctx.pass == 2)
4898      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4899   }
4900 < #line 4866 "conf_parser.c" /* yacc.c:1646  */
4900 > #line 4901 "conf_parser.c" /* yacc.c:1646  */
4901      break;
4902  
4903 <  case 349:
4904 < #line 1897 "conf_parser.y" /* yacc.c:1646  */
4903 >  case 343:
4904 > #line 1927 "conf_parser.y" /* yacc.c:1646  */
4905      {
4906    if (conf_parser_ctx.pass == 2)
4907    {
# Line 4884 | Line 4919 | yyreduce:
4919      split_nuh(&nuh);
4920    }
4921   }
4922 < #line 4888 "conf_parser.c" /* yacc.c:1646  */
4922 > #line 4923 "conf_parser.c" /* yacc.c:1646  */
4923      break;
4924  
4925 <  case 350:
4926 < #line 1916 "conf_parser.y" /* yacc.c:1646  */
4925 >  case 344:
4926 > #line 1946 "conf_parser.y" /* yacc.c:1646  */
4927      {
4928    if (conf_parser_ctx.pass == 2)
4929      block_state.flags.value = 0;
4930   }
4931 < #line 4897 "conf_parser.c" /* yacc.c:1646  */
4931 > #line 4932 "conf_parser.c" /* yacc.c:1646  */
4932      break;
4933  
4934 <  case 354:
4935 < #line 1923 "conf_parser.y" /* yacc.c:1646  */
4934 >  case 348:
4935 > #line 1953 "conf_parser.y" /* yacc.c:1646  */
4936      {
4937    if (conf_parser_ctx.pass == 2)
4938      block_state.flags.value |= SHARED_KLINE;
4939   }
4940 < #line 4906 "conf_parser.c" /* yacc.c:1646  */
4940 > #line 4941 "conf_parser.c" /* yacc.c:1646  */
4941      break;
4942  
4943 <  case 355:
4944 < #line 1927 "conf_parser.y" /* yacc.c:1646  */
4943 >  case 349:
4944 > #line 1957 "conf_parser.y" /* yacc.c:1646  */
4945      {
4946    if (conf_parser_ctx.pass == 2)
4947      block_state.flags.value |= SHARED_UNKLINE;
4948   }
4949 < #line 4915 "conf_parser.c" /* yacc.c:1646  */
4949 > #line 4950 "conf_parser.c" /* yacc.c:1646  */
4950      break;
4951  
4952 <  case 356:
4953 < #line 1931 "conf_parser.y" /* yacc.c:1646  */
4952 >  case 350:
4953 > #line 1961 "conf_parser.y" /* yacc.c:1646  */
4954      {
4955    if (conf_parser_ctx.pass == 2)
4956      block_state.flags.value |= SHARED_DLINE;
4957   }
4958 < #line 4924 "conf_parser.c" /* yacc.c:1646  */
4958 > #line 4959 "conf_parser.c" /* yacc.c:1646  */
4959      break;
4960  
4961 <  case 357:
4962 < #line 1935 "conf_parser.y" /* yacc.c:1646  */
4961 >  case 351:
4962 > #line 1965 "conf_parser.y" /* yacc.c:1646  */
4963      {
4964    if (conf_parser_ctx.pass == 2)
4965      block_state.flags.value |= SHARED_UNDLINE;
4966   }
4967 < #line 4933 "conf_parser.c" /* yacc.c:1646  */
4967 > #line 4968 "conf_parser.c" /* yacc.c:1646  */
4968      break;
4969  
4970 <  case 358:
4971 < #line 1939 "conf_parser.y" /* yacc.c:1646  */
4970 >  case 352:
4971 > #line 1969 "conf_parser.y" /* yacc.c:1646  */
4972      {
4973    if (conf_parser_ctx.pass == 2)
4974      block_state.flags.value |= SHARED_XLINE;
4975   }
4976 < #line 4942 "conf_parser.c" /* yacc.c:1646  */
4976 > #line 4977 "conf_parser.c" /* yacc.c:1646  */
4977      break;
4978  
4979 <  case 359:
4980 < #line 1943 "conf_parser.y" /* yacc.c:1646  */
4979 >  case 353:
4980 > #line 1973 "conf_parser.y" /* yacc.c:1646  */
4981      {
4982    if (conf_parser_ctx.pass == 2)
4983      block_state.flags.value |= SHARED_UNXLINE;
4984   }
4985 < #line 4951 "conf_parser.c" /* yacc.c:1646  */
4985 > #line 4986 "conf_parser.c" /* yacc.c:1646  */
4986      break;
4987  
4988 <  case 360:
4989 < #line 1947 "conf_parser.y" /* yacc.c:1646  */
4988 >  case 354:
4989 > #line 1977 "conf_parser.y" /* yacc.c:1646  */
4990      {
4991    if (conf_parser_ctx.pass == 2)
4992      block_state.flags.value |= SHARED_RESV;
4993   }
4994 < #line 4960 "conf_parser.c" /* yacc.c:1646  */
4994 > #line 4995 "conf_parser.c" /* yacc.c:1646  */
4995      break;
4996  
4997 <  case 361:
4998 < #line 1951 "conf_parser.y" /* yacc.c:1646  */
4997 >  case 355:
4998 > #line 1981 "conf_parser.y" /* yacc.c:1646  */
4999      {
5000    if (conf_parser_ctx.pass == 2)
5001      block_state.flags.value |= SHARED_UNRESV;
5002   }
5003 < #line 4969 "conf_parser.c" /* yacc.c:1646  */
5003 > #line 5004 "conf_parser.c" /* yacc.c:1646  */
5004      break;
5005  
5006 <  case 362:
5007 < #line 1955 "conf_parser.y" /* yacc.c:1646  */
5006 >  case 356:
5007 > #line 1985 "conf_parser.y" /* yacc.c:1646  */
5008      {
5009    if (conf_parser_ctx.pass == 2)
5010      block_state.flags.value |= SHARED_LOCOPS;
5011   }
5012 < #line 4978 "conf_parser.c" /* yacc.c:1646  */
5012 > #line 5013 "conf_parser.c" /* yacc.c:1646  */
5013      break;
5014  
5015 <  case 363:
5016 < #line 1959 "conf_parser.y" /* yacc.c:1646  */
5015 >  case 357:
5016 > #line 1989 "conf_parser.y" /* yacc.c:1646  */
5017      {
5018    if (conf_parser_ctx.pass == 2)
5019      block_state.flags.value = SHARED_ALL;
5020   }
5021 < #line 4987 "conf_parser.c" /* yacc.c:1646  */
5021 > #line 5022 "conf_parser.c" /* yacc.c:1646  */
5022      break;
5023  
5024 <  case 364:
5025 < #line 1968 "conf_parser.y" /* yacc.c:1646  */
5024 >  case 358:
5025 > #line 1998 "conf_parser.y" /* yacc.c:1646  */
5026      {
5027    if (conf_parser_ctx.pass != 2)
5028      break;
# Line 4997 | Line 5032 | yyreduce:
5032    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5033    block_state.flags.value = SHARED_ALL;
5034   }
5035 < #line 5001 "conf_parser.c" /* yacc.c:1646  */
5035 > #line 5036 "conf_parser.c" /* yacc.c:1646  */
5036      break;
5037  
5038 <  case 365:
5039 < #line 1977 "conf_parser.y" /* yacc.c:1646  */
5038 >  case 359:
5039 > #line 2007 "conf_parser.y" /* yacc.c:1646  */
5040      {
5041    struct MaskItem *conf = NULL;
5042  
# Line 5012 | Line 5047 | yyreduce:
5047    conf->flags = block_state.flags.value;
5048    conf->name = xstrdup(block_state.name.buf);
5049   }
5050 < #line 5016 "conf_parser.c" /* yacc.c:1646  */
5050 > #line 5051 "conf_parser.c" /* yacc.c:1646  */
5051      break;
5052  
5053 <  case 371:
5054 < #line 1992 "conf_parser.y" /* yacc.c:1646  */
5053 >  case 365:
5054 > #line 2022 "conf_parser.y" /* yacc.c:1646  */
5055      {
5056    if (conf_parser_ctx.pass == 2)
5057      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5058   }
5059 < #line 5025 "conf_parser.c" /* yacc.c:1646  */
5059 > #line 5060 "conf_parser.c" /* yacc.c:1646  */
5060      break;
5061  
5062 <  case 372:
5063 < #line 1998 "conf_parser.y" /* yacc.c:1646  */
5062 >  case 366:
5063 > #line 2028 "conf_parser.y" /* yacc.c:1646  */
5064      {
5065    if (conf_parser_ctx.pass == 2)
5066      block_state.flags.value = 0;
5067   }
5068 < #line 5034 "conf_parser.c" /* yacc.c:1646  */
5068 > #line 5069 "conf_parser.c" /* yacc.c:1646  */
5069      break;
5070  
5071 <  case 376:
5072 < #line 2005 "conf_parser.y" /* yacc.c:1646  */
5071 >  case 370:
5072 > #line 2035 "conf_parser.y" /* yacc.c:1646  */
5073      {
5074    if (conf_parser_ctx.pass == 2)
5075      block_state.flags.value |= SHARED_KLINE;
5076   }
5077 < #line 5043 "conf_parser.c" /* yacc.c:1646  */
5077 > #line 5078 "conf_parser.c" /* yacc.c:1646  */
5078      break;
5079  
5080 <  case 377:
5081 < #line 2009 "conf_parser.y" /* yacc.c:1646  */
5080 >  case 371:
5081 > #line 2039 "conf_parser.y" /* yacc.c:1646  */
5082      {
5083    if (conf_parser_ctx.pass == 2)
5084      block_state.flags.value |= SHARED_UNKLINE;
5085   }
5086 < #line 5052 "conf_parser.c" /* yacc.c:1646  */
5086 > #line 5087 "conf_parser.c" /* yacc.c:1646  */
5087      break;
5088  
5089 <  case 378:
5090 < #line 2013 "conf_parser.y" /* yacc.c:1646  */
5089 >  case 372:
5090 > #line 2043 "conf_parser.y" /* yacc.c:1646  */
5091      {
5092    if (conf_parser_ctx.pass == 2)
5093      block_state.flags.value |= SHARED_DLINE;
5094   }
5095 < #line 5061 "conf_parser.c" /* yacc.c:1646  */
5095 > #line 5096 "conf_parser.c" /* yacc.c:1646  */
5096      break;
5097  
5098 <  case 379:
5099 < #line 2017 "conf_parser.y" /* yacc.c:1646  */
5098 >  case 373:
5099 > #line 2047 "conf_parser.y" /* yacc.c:1646  */
5100      {
5101    if (conf_parser_ctx.pass == 2)
5102      block_state.flags.value |= SHARED_UNDLINE;
5103   }
5104 < #line 5070 "conf_parser.c" /* yacc.c:1646  */
5104 > #line 5105 "conf_parser.c" /* yacc.c:1646  */
5105      break;
5106  
5107 <  case 380:
5108 < #line 2021 "conf_parser.y" /* yacc.c:1646  */
5107 >  case 374:
5108 > #line 2051 "conf_parser.y" /* yacc.c:1646  */
5109      {
5110    if (conf_parser_ctx.pass == 2)
5111      block_state.flags.value |= SHARED_XLINE;
5112   }
5113 < #line 5079 "conf_parser.c" /* yacc.c:1646  */
5113 > #line 5114 "conf_parser.c" /* yacc.c:1646  */
5114      break;
5115  
5116 <  case 381:
5117 < #line 2025 "conf_parser.y" /* yacc.c:1646  */
5116 >  case 375:
5117 > #line 2055 "conf_parser.y" /* yacc.c:1646  */
5118      {
5119    if (conf_parser_ctx.pass == 2)
5120      block_state.flags.value |= SHARED_UNXLINE;
5121   }
5122 < #line 5088 "conf_parser.c" /* yacc.c:1646  */
5122 > #line 5123 "conf_parser.c" /* yacc.c:1646  */
5123      break;
5124  
5125 <  case 382:
5126 < #line 2029 "conf_parser.y" /* yacc.c:1646  */
5125 >  case 376:
5126 > #line 2059 "conf_parser.y" /* yacc.c:1646  */
5127      {
5128    if (conf_parser_ctx.pass == 2)
5129      block_state.flags.value |= SHARED_RESV;
5130   }
5131 < #line 5097 "conf_parser.c" /* yacc.c:1646  */
5131 > #line 5132 "conf_parser.c" /* yacc.c:1646  */
5132      break;
5133  
5134 <  case 383:
5135 < #line 2033 "conf_parser.y" /* yacc.c:1646  */
5134 >  case 377:
5135 > #line 2063 "conf_parser.y" /* yacc.c:1646  */
5136      {
5137    if (conf_parser_ctx.pass == 2)
5138      block_state.flags.value |= SHARED_UNRESV;
5139   }
5140 < #line 5106 "conf_parser.c" /* yacc.c:1646  */
5140 > #line 5141 "conf_parser.c" /* yacc.c:1646  */
5141      break;
5142  
5143 <  case 384:
5144 < #line 2037 "conf_parser.y" /* yacc.c:1646  */
5143 >  case 378:
5144 > #line 2067 "conf_parser.y" /* yacc.c:1646  */
5145      {
5146    if (conf_parser_ctx.pass == 2)
5147      block_state.flags.value |= SHARED_LOCOPS;
5148   }
5149 < #line 5115 "conf_parser.c" /* yacc.c:1646  */
5149 > #line 5150 "conf_parser.c" /* yacc.c:1646  */
5150      break;
5151  
5152 <  case 385:
5153 < #line 2041 "conf_parser.y" /* yacc.c:1646  */
5152 >  case 379:
5153 > #line 2071 "conf_parser.y" /* yacc.c:1646  */
5154      {
5155    if (conf_parser_ctx.pass == 2)
5156      block_state.flags.value = SHARED_ALL;
5157   }
5158 < #line 5124 "conf_parser.c" /* yacc.c:1646  */
5158 > #line 5159 "conf_parser.c" /* yacc.c:1646  */
5159      break;
5160  
5161 <  case 386:
5162 < #line 2050 "conf_parser.y" /* yacc.c:1646  */
5161 >  case 380:
5162 > #line 2080 "conf_parser.y" /* yacc.c:1646  */
5163      {
5164  
5165    if (conf_parser_ctx.pass != 2)
# Line 5134 | Line 5169 | yyreduce:
5169    block_state.aftype.value = AF_INET;
5170    block_state.port.value = PORTNUM;
5171   }
5172 < #line 5138 "conf_parser.c" /* yacc.c:1646  */
5172 > #line 5173 "conf_parser.c" /* yacc.c:1646  */
5173      break;
5174  
5175 <  case 387:
5176 < #line 2059 "conf_parser.y" /* yacc.c:1646  */
5175 >  case 381:
5176 > #line 2089 "conf_parser.y" /* yacc.c:1646  */
5177      {
5178    struct MaskItem *conf = NULL;
5179    struct addrinfo hints, *res;
# Line 5188 | Line 5223 | yyreduce:
5223        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", block_state.bind.buf);
5224      else
5225      {
5226 <      assert(res != NULL);
5226 >      assert(res);
5227  
5228        memcpy(&conf->bind, res->ai_addr, res->ai_addrlen);
5229        conf->bind.ss.ss_family = res->ai_family;
# Line 5200 | Line 5235 | yyreduce:
5235    conf_add_class_to_conf(conf, block_state.class.buf);
5236    lookup_confhost(conf);
5237   }
5238 < #line 5204 "conf_parser.c" /* yacc.c:1646  */
5238 > #line 5239 "conf_parser.c" /* yacc.c:1646  */
5239      break;
5240  
5241 <  case 405:
5242 < #line 2131 "conf_parser.y" /* yacc.c:1646  */
5241 >  case 399:
5242 > #line 2169 "conf_parser.y" /* yacc.c:1646  */
5243      {
5244    if (conf_parser_ctx.pass == 2)
5245      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5246   }
5247 < #line 5213 "conf_parser.c" /* yacc.c:1646  */
5247 > #line 5248 "conf_parser.c" /* yacc.c:1646  */
5248      break;
5249  
5250 <  case 406:
5251 < #line 2137 "conf_parser.y" /* yacc.c:1646  */
5250 >  case 400:
5251 > #line 2175 "conf_parser.y" /* yacc.c:1646  */
5252      {
5253    if (conf_parser_ctx.pass == 2)
5254      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5255   }
5256 < #line 5222 "conf_parser.c" /* yacc.c:1646  */
5256 > #line 5257 "conf_parser.c" /* yacc.c:1646  */
5257      break;
5258  
5259 <  case 407:
5260 < #line 2143 "conf_parser.y" /* yacc.c:1646  */
5259 >  case 401:
5260 > #line 2181 "conf_parser.y" /* yacc.c:1646  */
5261      {
5262    if (conf_parser_ctx.pass == 2)
5263      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5264   }
5265 < #line 5231 "conf_parser.c" /* yacc.c:1646  */
5265 > #line 5266 "conf_parser.c" /* yacc.c:1646  */
5266      break;
5267  
5268 <  case 408:
5269 < #line 2149 "conf_parser.y" /* yacc.c:1646  */
5268 >  case 402:
5269 > #line 2187 "conf_parser.y" /* yacc.c:1646  */
5270      {
5271    if (conf_parser_ctx.pass != 2)
5272      break;
5273  
5274    if ((yyvsp[-1].string)[0] == ':')
5275      conf_error_report("Server passwords cannot begin with a colon");
5276 <  else if (strchr((yyvsp[-1].string), ' ') != NULL)
5276 >  else if (strchr((yyvsp[-1].string), ' '))
5277      conf_error_report("Server passwords cannot contain spaces");
5278    else
5279      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5280   }
5281 < #line 5247 "conf_parser.c" /* yacc.c:1646  */
5281 > #line 5282 "conf_parser.c" /* yacc.c:1646  */
5282      break;
5283  
5284 <  case 409:
5285 < #line 2162 "conf_parser.y" /* yacc.c:1646  */
5284 >  case 403:
5285 > #line 2200 "conf_parser.y" /* yacc.c:1646  */
5286      {
5287    if (conf_parser_ctx.pass != 2)
5288      break;
5289  
5290    if ((yyvsp[-1].string)[0] == ':')
5291      conf_error_report("Server passwords cannot begin with a colon");
5292 <  else if (strchr((yyvsp[-1].string), ' ') != NULL)
5292 >  else if (strchr((yyvsp[-1].string), ' '))
5293      conf_error_report("Server passwords cannot contain spaces");
5294    else
5295      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5296   }
5297 < #line 5263 "conf_parser.c" /* yacc.c:1646  */
5297 > #line 5298 "conf_parser.c" /* yacc.c:1646  */
5298      break;
5299  
5300 <  case 410:
5301 < #line 2175 "conf_parser.y" /* yacc.c:1646  */
5300 >  case 404:
5301 > #line 2213 "conf_parser.y" /* yacc.c:1646  */
5302      {
5303    if (conf_parser_ctx.pass == 2)
5304      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5305   }
5306 < #line 5272 "conf_parser.c" /* yacc.c:1646  */
5306 > #line 5307 "conf_parser.c" /* yacc.c:1646  */
5307      break;
5308  
5309 <  case 411:
5310 < #line 2181 "conf_parser.y" /* yacc.c:1646  */
5309 >  case 405:
5310 > #line 2219 "conf_parser.y" /* yacc.c:1646  */
5311      {
5312    if (conf_parser_ctx.pass == 2)
5313      block_state.port.value = (yyvsp[-1].number);
5314   }
5315 < #line 5281 "conf_parser.c" /* yacc.c:1646  */
5315 > #line 5316 "conf_parser.c" /* yacc.c:1646  */
5316      break;
5317  
5318 <  case 412:
5319 < #line 2187 "conf_parser.y" /* yacc.c:1646  */
5318 >  case 406:
5319 > #line 2225 "conf_parser.y" /* yacc.c:1646  */
5320      {
5321    if (conf_parser_ctx.pass == 2)
5322      block_state.aftype.value = AF_INET;
5323   }
5324 < #line 5290 "conf_parser.c" /* yacc.c:1646  */
5324 > #line 5325 "conf_parser.c" /* yacc.c:1646  */
5325      break;
5326  
5327 <  case 413:
5328 < #line 2191 "conf_parser.y" /* yacc.c:1646  */
5327 >  case 407:
5328 > #line 2229 "conf_parser.y" /* yacc.c:1646  */
5329      {
5330   #ifdef IPV6
5331    if (conf_parser_ctx.pass == 2)
5332      block_state.aftype.value = AF_INET6;
5333   #endif
5334   }
5335 < #line 5301 "conf_parser.c" /* yacc.c:1646  */
5335 > #line 5336 "conf_parser.c" /* yacc.c:1646  */
5336      break;
5337  
5338 <  case 414:
5339 < #line 2199 "conf_parser.y" /* yacc.c:1646  */
5338 >  case 408:
5339 > #line 2237 "conf_parser.y" /* yacc.c:1646  */
5340      {
5341    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5342   }
5343 < #line 5309 "conf_parser.c" /* yacc.c:1646  */
5343 > #line 5344 "conf_parser.c" /* yacc.c:1646  */
5344      break;
5345  
5346 <  case 418:
5347 < #line 2205 "conf_parser.y" /* yacc.c:1646  */
5346 >  case 412:
5347 > #line 2243 "conf_parser.y" /* yacc.c:1646  */
5348      {
5349    if (conf_parser_ctx.pass == 2)
5350      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5351   }
5352 < #line 5318 "conf_parser.c" /* yacc.c:1646  */
5352 > #line 5353 "conf_parser.c" /* yacc.c:1646  */
5353      break;
5354  
5355 <  case 419:
5356 < #line 2209 "conf_parser.y" /* yacc.c:1646  */
5355 >  case 413:
5356 > #line 2247 "conf_parser.y" /* yacc.c:1646  */
5357      {
5358    if (conf_parser_ctx.pass == 2)
5359      block_state.flags.value |= CONF_FLAGS_SSL;
5360   }
5361 < #line 5327 "conf_parser.c" /* yacc.c:1646  */
5361 > #line 5362 "conf_parser.c" /* yacc.c:1646  */
5362      break;
5363  
5364 <  case 420:
5365 < #line 2215 "conf_parser.y" /* yacc.c:1646  */
5364 >  case 414:
5365 > #line 2253 "conf_parser.y" /* yacc.c:1646  */
5366      {
5367    if (conf_parser_ctx.pass == 2)
5368    {
# Line 5337 | Line 5372 | yyreduce:
5372        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5373    }
5374   }
5375 < #line 5341 "conf_parser.c" /* yacc.c:1646  */
5375 > #line 5376 "conf_parser.c" /* yacc.c:1646  */
5376      break;
5377  
5378 <  case 421:
5379 < #line 2226 "conf_parser.y" /* yacc.c:1646  */
5378 >  case 415:
5379 > #line 2264 "conf_parser.y" /* yacc.c:1646  */
5380      {
5381    if (conf_parser_ctx.pass == 2)
5382      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5383   }
5384 < #line 5350 "conf_parser.c" /* yacc.c:1646  */
5384 > #line 5385 "conf_parser.c" /* yacc.c:1646  */
5385      break;
5386  
5387 <  case 422:
5388 < #line 2232 "conf_parser.y" /* yacc.c:1646  */
5387 >  case 416:
5388 > #line 2270 "conf_parser.y" /* yacc.c:1646  */
5389      {
5390    if (conf_parser_ctx.pass == 2)
5391      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5392   }
5393 < #line 5359 "conf_parser.c" /* yacc.c:1646  */
5393 > #line 5394 "conf_parser.c" /* yacc.c:1646  */
5394      break;
5395  
5396 <  case 423:
5397 < #line 2238 "conf_parser.y" /* yacc.c:1646  */
5396 >  case 417:
5397 > #line 2276 "conf_parser.y" /* yacc.c:1646  */
5398      {
5399    if (conf_parser_ctx.pass == 2)
5400      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5401   }
5402 < #line 5368 "conf_parser.c" /* yacc.c:1646  */
5402 > #line 5403 "conf_parser.c" /* yacc.c:1646  */
5403      break;
5404  
5405 <  case 424:
5406 < #line 2244 "conf_parser.y" /* yacc.c:1646  */
5405 >  case 418:
5406 > #line 2282 "conf_parser.y" /* yacc.c:1646  */
5407      {
5408   #ifdef HAVE_LIBCRYPTO
5409    if (conf_parser_ctx.pass == 2)
# Line 5378 | Line 5413 | yyreduce:
5413      conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5414   #endif
5415   }
5416 < #line 5382 "conf_parser.c" /* yacc.c:1646  */
5416 > #line 5417 "conf_parser.c" /* yacc.c:1646  */
5417      break;
5418  
5419 <  case 425:
5420 < #line 2259 "conf_parser.y" /* yacc.c:1646  */
5419 >  case 419:
5420 > #line 2297 "conf_parser.y" /* yacc.c:1646  */
5421      {
5422    if (conf_parser_ctx.pass == 2)
5423      reset_block_state();
5424   }
5425 < #line 5391 "conf_parser.c" /* yacc.c:1646  */
5425 > #line 5426 "conf_parser.c" /* yacc.c:1646  */
5426      break;
5427  
5428 <  case 426:
5429 < #line 2263 "conf_parser.y" /* yacc.c:1646  */
5428 >  case 420:
5429 > #line 2301 "conf_parser.y" /* yacc.c:1646  */
5430      {
5431    struct MaskItem *conf = NULL;
5432  
# Line 5412 | Line 5447 | yyreduce:
5447      conf->reason = xstrdup(CONF_NOREASON);
5448    add_conf_by_address(CONF_KLINE, conf);
5449   }
5450 < #line 5416 "conf_parser.c" /* yacc.c:1646  */
5450 > #line 5451 "conf_parser.c" /* yacc.c:1646  */
5451      break;
5452  
5453 <  case 432:
5454 < #line 2288 "conf_parser.y" /* yacc.c:1646  */
5453 >  case 426:
5454 > #line 2326 "conf_parser.y" /* yacc.c:1646  */
5455      {
5456  
5457    if (conf_parser_ctx.pass == 2)
# Line 5435 | Line 5470 | yyreduce:
5470      split_nuh(&nuh);
5471    }
5472   }
5473 < #line 5439 "conf_parser.c" /* yacc.c:1646  */
5473 > #line 5474 "conf_parser.c" /* yacc.c:1646  */
5474      break;
5475  
5476 <  case 433:
5477 < #line 2308 "conf_parser.y" /* yacc.c:1646  */
5476 >  case 427:
5477 > #line 2346 "conf_parser.y" /* yacc.c:1646  */
5478      {
5479    if (conf_parser_ctx.pass == 2)
5480      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5481   }
5482 < #line 5448 "conf_parser.c" /* yacc.c:1646  */
5482 > #line 5483 "conf_parser.c" /* yacc.c:1646  */
5483      break;
5484  
5485 <  case 434:
5486 < #line 2317 "conf_parser.y" /* yacc.c:1646  */
5485 >  case 428:
5486 > #line 2355 "conf_parser.y" /* yacc.c:1646  */
5487      {
5488    if (conf_parser_ctx.pass == 2)
5489      reset_block_state();
5490   }
5491 < #line 5457 "conf_parser.c" /* yacc.c:1646  */
5491 > #line 5492 "conf_parser.c" /* yacc.c:1646  */
5492      break;
5493  
5494 <  case 435:
5495 < #line 2321 "conf_parser.y" /* yacc.c:1646  */
5494 >  case 429:
5495 > #line 2359 "conf_parser.y" /* yacc.c:1646  */
5496      {
5497    struct MaskItem *conf = NULL;
5498  
# Line 5479 | Line 5514 | yyreduce:
5514      add_conf_by_address(CONF_DLINE, conf);
5515    }
5516   }
5517 < #line 5483 "conf_parser.c" /* yacc.c:1646  */
5517 > #line 5518 "conf_parser.c" /* yacc.c:1646  */
5518      break;
5519  
5520 <  case 441:
5521 < #line 2347 "conf_parser.y" /* yacc.c:1646  */
5520 >  case 435:
5521 > #line 2385 "conf_parser.y" /* yacc.c:1646  */
5522      {
5523    if (conf_parser_ctx.pass == 2)
5524      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5525   }
5526 < #line 5492 "conf_parser.c" /* yacc.c:1646  */
5526 > #line 5527 "conf_parser.c" /* yacc.c:1646  */
5527      break;
5528  
5529 <  case 442:
5530 < #line 2353 "conf_parser.y" /* yacc.c:1646  */
5529 >  case 436:
5530 > #line 2391 "conf_parser.y" /* yacc.c:1646  */
5531      {
5532    if (conf_parser_ctx.pass == 2)
5533      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5534   }
5535 < #line 5501 "conf_parser.c" /* yacc.c:1646  */
5535 > #line 5536 "conf_parser.c" /* yacc.c:1646  */
5536      break;
5537  
5538 <  case 448:
5539 < #line 2367 "conf_parser.y" /* yacc.c:1646  */
5538 >  case 442:
5539 > #line 2405 "conf_parser.y" /* yacc.c:1646  */
5540      {
5541    if (conf_parser_ctx.pass == 2)
5542    {
# Line 5514 | Line 5549 | yyreduce:
5549      }
5550    }
5551   }
5552 < #line 5518 "conf_parser.c" /* yacc.c:1646  */
5552 > #line 5553 "conf_parser.c" /* yacc.c:1646  */
5553      break;
5554  
5555 <  case 449:
5556 < #line 2384 "conf_parser.y" /* yacc.c:1646  */
5555 >  case 443:
5556 > #line 2422 "conf_parser.y" /* yacc.c:1646  */
5557      {
5558    if (conf_parser_ctx.pass == 2)
5559      reset_block_state();
5560   }
5561 < #line 5527 "conf_parser.c" /* yacc.c:1646  */
5561 > #line 5562 "conf_parser.c" /* yacc.c:1646  */
5562      break;
5563  
5564 <  case 450:
5565 < #line 2388 "conf_parser.y" /* yacc.c:1646  */
5564 >  case 444:
5565 > #line 2426 "conf_parser.y" /* yacc.c:1646  */
5566      {
5567    struct MaskItem *conf = NULL;
5568  
# Line 5545 | Line 5580 | yyreduce:
5580    else
5581      conf->reason = xstrdup(CONF_NOREASON);
5582   }
5583 < #line 5549 "conf_parser.c" /* yacc.c:1646  */
5583 > #line 5584 "conf_parser.c" /* yacc.c:1646  */
5584      break;
5585  
5586 <  case 456:
5587 < #line 2410 "conf_parser.y" /* yacc.c:1646  */
5586 >  case 450:
5587 > #line 2448 "conf_parser.y" /* yacc.c:1646  */
5588      {
5589    if (conf_parser_ctx.pass == 2)
5590      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5591   }
5592 < #line 5558 "conf_parser.c" /* yacc.c:1646  */
5592 > #line 5593 "conf_parser.c" /* yacc.c:1646  */
5593      break;
5594  
5595 <  case 457:
5596 < #line 2416 "conf_parser.y" /* yacc.c:1646  */
5595 >  case 451:
5596 > #line 2454 "conf_parser.y" /* yacc.c:1646  */
5597      {
5598    if (conf_parser_ctx.pass == 2)
5599      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5600   }
5601 < #line 5567 "conf_parser.c" /* yacc.c:1646  */
5601 > #line 5602 "conf_parser.c" /* yacc.c:1646  */
5602      break;
5603  
5604 <  case 511:
5605 < #line 2461 "conf_parser.y" /* yacc.c:1646  */
5604 >  case 504:
5605 > #line 2518 "conf_parser.y" /* yacc.c:1646  */
5606      {
5607    ConfigFileEntry.max_watch = (yyvsp[-1].number);
5608   }
5609 < #line 5575 "conf_parser.c" /* yacc.c:1646  */
5609 > #line 5610 "conf_parser.c" /* yacc.c:1646  */
5610      break;
5611  
5612 <  case 512:
5613 < #line 2466 "conf_parser.y" /* yacc.c:1646  */
5612 >  case 505:
5613 > #line 2523 "conf_parser.y" /* yacc.c:1646  */
5614      {
5615    if (conf_parser_ctx.pass == 2)
5616      ConfigFileEntry.cycle_on_host_change = yylval.number;
5617   }
5618 < #line 5584 "conf_parser.c" /* yacc.c:1646  */
5618 > #line 5619 "conf_parser.c" /* yacc.c:1646  */
5619      break;
5620  
5621 <  case 513:
5622 < #line 2472 "conf_parser.y" /* yacc.c:1646  */
5621 >  case 506:
5622 > #line 2529 "conf_parser.y" /* yacc.c:1646  */
5623      {
5624    if (conf_parser_ctx.pass == 2)
5625      ConfigFileEntry.glines = yylval.number;
5626   }
5627 < #line 5593 "conf_parser.c" /* yacc.c:1646  */
5627 > #line 5628 "conf_parser.c" /* yacc.c:1646  */
5628      break;
5629  
5630 <  case 514:
5631 < #line 2478 "conf_parser.y" /* yacc.c:1646  */
5630 >  case 507:
5631 > #line 2535 "conf_parser.y" /* yacc.c:1646  */
5632      {
5633    if (conf_parser_ctx.pass == 2)
5634      ConfigFileEntry.gline_time = (yyvsp[-1].number);
5635   }
5636 < #line 5602 "conf_parser.c" /* yacc.c:1646  */
5636 > #line 5637 "conf_parser.c" /* yacc.c:1646  */
5637      break;
5638  
5639 <  case 515:
5640 < #line 2484 "conf_parser.y" /* yacc.c:1646  */
5639 >  case 508:
5640 > #line 2541 "conf_parser.y" /* yacc.c:1646  */
5641      {
5642    if (conf_parser_ctx.pass == 2)
5643      ConfigFileEntry.gline_request_time = (yyvsp[-1].number);
5644   }
5645 < #line 5611 "conf_parser.c" /* yacc.c:1646  */
5645 > #line 5646 "conf_parser.c" /* yacc.c:1646  */
5646      break;
5647  
5648 <  case 516:
5649 < #line 2490 "conf_parser.y" /* yacc.c:1646  */
5648 >  case 509:
5649 > #line 2547 "conf_parser.y" /* yacc.c:1646  */
5650      {
5651    ConfigFileEntry.gline_min_cidr = (yyvsp[-1].number);
5652   }
5653 < #line 5619 "conf_parser.c" /* yacc.c:1646  */
5653 > #line 5654 "conf_parser.c" /* yacc.c:1646  */
5654      break;
5655  
5656 <  case 517:
5657 < #line 2495 "conf_parser.y" /* yacc.c:1646  */
5656 >  case 510:
5657 > #line 2552 "conf_parser.y" /* yacc.c:1646  */
5658      {
5659    ConfigFileEntry.gline_min_cidr6 = (yyvsp[-1].number);
5660   }
5661 < #line 5627 "conf_parser.c" /* yacc.c:1646  */
5661 > #line 5662 "conf_parser.c" /* yacc.c:1646  */
5662      break;
5663  
5664 <  case 518:
5665 < #line 2500 "conf_parser.y" /* yacc.c:1646  */
5664 >  case 511:
5665 > #line 2557 "conf_parser.y" /* yacc.c:1646  */
5666      {
5667    ConfigFileEntry.tkline_expire_notices = yylval.number;
5668   }
5669 < #line 5635 "conf_parser.c" /* yacc.c:1646  */
5669 > #line 5670 "conf_parser.c" /* yacc.c:1646  */
5670      break;
5671  
5672 <  case 519:
5673 < #line 2505 "conf_parser.y" /* yacc.c:1646  */
5672 >  case 512:
5673 > #line 2562 "conf_parser.y" /* yacc.c:1646  */
5674      {
5675    ConfigFileEntry.kill_chase_time_limit = (yyvsp[-1].number);
5676   }
5677 < #line 5643 "conf_parser.c" /* yacc.c:1646  */
5677 > #line 5678 "conf_parser.c" /* yacc.c:1646  */
5678      break;
5679  
5680 <  case 520:
5681 < #line 2510 "conf_parser.y" /* yacc.c:1646  */
5680 >  case 513:
5681 > #line 2567 "conf_parser.y" /* yacc.c:1646  */
5682      {
5683    ConfigFileEntry.hide_spoof_ips = yylval.number;
5684   }
5685 < #line 5651 "conf_parser.c" /* yacc.c:1646  */
5685 > #line 5686 "conf_parser.c" /* yacc.c:1646  */
5686      break;
5687  
5688 <  case 521:
5689 < #line 2515 "conf_parser.y" /* yacc.c:1646  */
5688 >  case 514:
5689 > #line 2572 "conf_parser.y" /* yacc.c:1646  */
5690      {
5691    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5692   }
5693 < #line 5659 "conf_parser.c" /* yacc.c:1646  */
5693 > #line 5694 "conf_parser.c" /* yacc.c:1646  */
5694      break;
5695  
5696 <  case 522:
5697 < #line 2520 "conf_parser.y" /* yacc.c:1646  */
5696 >  case 515:
5697 > #line 2577 "conf_parser.y" /* yacc.c:1646  */
5698      {
5699    ConfigFileEntry.failed_oper_notice = yylval.number;
5700   }
5701 < #line 5667 "conf_parser.c" /* yacc.c:1646  */
5701 > #line 5702 "conf_parser.c" /* yacc.c:1646  */
5702      break;
5703  
5704 <  case 523:
5705 < #line 2525 "conf_parser.y" /* yacc.c:1646  */
5704 >  case 516:
5705 > #line 2582 "conf_parser.y" /* yacc.c:1646  */
5706      {
5707    ConfigFileEntry.anti_nick_flood = yylval.number;
5708   }
5709 < #line 5675 "conf_parser.c" /* yacc.c:1646  */
5709 > #line 5710 "conf_parser.c" /* yacc.c:1646  */
5710      break;
5711  
5712 <  case 524:
5713 < #line 2530 "conf_parser.y" /* yacc.c:1646  */
5712 >  case 517:
5713 > #line 2587 "conf_parser.y" /* yacc.c:1646  */
5714      {
5715 <  ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5715 >  ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5716   }
5717 < #line 5683 "conf_parser.c" /* yacc.c:1646  */
5717 > #line 5718 "conf_parser.c" /* yacc.c:1646  */
5718      break;
5719  
5720 <  case 525:
5721 < #line 2535 "conf_parser.y" /* yacc.c:1646  */
5720 >  case 518:
5721 > #line 2592 "conf_parser.y" /* yacc.c:1646  */
5722      {
5723    ConfigFileEntry.max_nick_changes = (yyvsp[-1].number);
5724   }
5725 < #line 5691 "conf_parser.c" /* yacc.c:1646  */
5725 > #line 5726 "conf_parser.c" /* yacc.c:1646  */
5726      break;
5727  
5728 <  case 526:
5729 < #line 2540 "conf_parser.y" /* yacc.c:1646  */
5728 >  case 519:
5729 > #line 2597 "conf_parser.y" /* yacc.c:1646  */
5730      {
5731    ConfigFileEntry.max_accept = (yyvsp[-1].number);
5732   }
5733 < #line 5699 "conf_parser.c" /* yacc.c:1646  */
5733 > #line 5734 "conf_parser.c" /* yacc.c:1646  */
5734      break;
5735  
5736 <  case 527:
5737 < #line 2545 "conf_parser.y" /* yacc.c:1646  */
5736 >  case 520:
5737 > #line 2602 "conf_parser.y" /* yacc.c:1646  */
5738      {
5739    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[-1].number);
5740   }
5741 < #line 5707 "conf_parser.c" /* yacc.c:1646  */
5741 > #line 5742 "conf_parser.c" /* yacc.c:1646  */
5742      break;
5743  
5744 <  case 528:
5745 < #line 2550 "conf_parser.y" /* yacc.c:1646  */
5744 >  case 521:
5745 > #line 2607 "conf_parser.y" /* yacc.c:1646  */
5746      {
5747    ConfigFileEntry.ts_warn_delta = (yyvsp[-1].number);
5748   }
5749 < #line 5715 "conf_parser.c" /* yacc.c:1646  */
5749 > #line 5750 "conf_parser.c" /* yacc.c:1646  */
5750      break;
5751  
5752 <  case 529:
5753 < #line 2555 "conf_parser.y" /* yacc.c:1646  */
5752 >  case 522:
5753 > #line 2612 "conf_parser.y" /* yacc.c:1646  */
5754      {
5755    if (conf_parser_ctx.pass == 2)
5756      ConfigFileEntry.ts_max_delta = (yyvsp[-1].number);
5757   }
5758 < #line 5724 "conf_parser.c" /* yacc.c:1646  */
5758 > #line 5759 "conf_parser.c" /* yacc.c:1646  */
5759      break;
5760  
5761 <  case 530:
5762 < #line 2561 "conf_parser.y" /* yacc.c:1646  */
5761 >  case 523:
5762 > #line 2618 "conf_parser.y" /* yacc.c:1646  */
5763      {
5764    if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5765    {
# Line 5734 | Line 5769 | yyreduce:
5769      exit(0);
5770    }
5771   }
5772 < #line 5738 "conf_parser.c" /* yacc.c:1646  */
5772 > #line 5773 "conf_parser.c" /* yacc.c:1646  */
5773      break;
5774  
5775 <  case 531:
5776 < #line 2572 "conf_parser.y" /* yacc.c:1646  */
5775 >  case 524:
5776 > #line 2629 "conf_parser.y" /* yacc.c:1646  */
5777      {
5778    ConfigFileEntry.invisible_on_connect = yylval.number;
5779   }
5780 < #line 5746 "conf_parser.c" /* yacc.c:1646  */
5780 > #line 5781 "conf_parser.c" /* yacc.c:1646  */
5781      break;
5782  
5783 <  case 532:
5784 < #line 2577 "conf_parser.y" /* yacc.c:1646  */
5783 >  case 525:
5784 > #line 2634 "conf_parser.y" /* yacc.c:1646  */
5785      {
5786 <  ConfigFileEntry.warn_no_nline = yylval.number;
5786 >  ConfigFileEntry.warn_no_connect_block = yylval.number;
5787   }
5788 < #line 5754 "conf_parser.c" /* yacc.c:1646  */
5788 > #line 5789 "conf_parser.c" /* yacc.c:1646  */
5789      break;
5790  
5791 <  case 533:
5792 < #line 2582 "conf_parser.y" /* yacc.c:1646  */
5791 >  case 526:
5792 > #line 2639 "conf_parser.y" /* yacc.c:1646  */
5793      {
5794    ConfigFileEntry.stats_e_disabled = yylval.number;
5795   }
5796 < #line 5762 "conf_parser.c" /* yacc.c:1646  */
5796 > #line 5797 "conf_parser.c" /* yacc.c:1646  */
5797      break;
5798  
5799 <  case 534:
5800 < #line 2587 "conf_parser.y" /* yacc.c:1646  */
5799 >  case 527:
5800 > #line 2644 "conf_parser.y" /* yacc.c:1646  */
5801      {
5802    ConfigFileEntry.stats_o_oper_only = yylval.number;
5803   }
5804 < #line 5770 "conf_parser.c" /* yacc.c:1646  */
5804 > #line 5805 "conf_parser.c" /* yacc.c:1646  */
5805      break;
5806  
5807 <  case 535:
5808 < #line 2592 "conf_parser.y" /* yacc.c:1646  */
5807 >  case 528:
5808 > #line 2649 "conf_parser.y" /* yacc.c:1646  */
5809      {
5810    ConfigFileEntry.stats_P_oper_only = yylval.number;
5811   }
5812 < #line 5778 "conf_parser.c" /* yacc.c:1646  */
5812 > #line 5813 "conf_parser.c" /* yacc.c:1646  */
5813      break;
5814  
5815 <  case 536:
5816 < #line 2597 "conf_parser.y" /* yacc.c:1646  */
5815 >  case 529:
5816 > #line 2654 "conf_parser.y" /* yacc.c:1646  */
5817      {
5818    ConfigFileEntry.stats_u_oper_only = yylval.number;
5819   }
5820 < #line 5786 "conf_parser.c" /* yacc.c:1646  */
5820 > #line 5821 "conf_parser.c" /* yacc.c:1646  */
5821      break;
5822  
5823 <  case 537:
5824 < #line 2602 "conf_parser.y" /* yacc.c:1646  */
5823 >  case 530:
5824 > #line 2659 "conf_parser.y" /* yacc.c:1646  */
5825      {
5826    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5827   }
5828 < #line 5794 "conf_parser.c" /* yacc.c:1646  */
5828 > #line 5829 "conf_parser.c" /* yacc.c:1646  */
5829      break;
5830  
5831 <  case 538:
5832 < #line 2605 "conf_parser.y" /* yacc.c:1646  */
5831 >  case 531:
5832 > #line 2662 "conf_parser.y" /* yacc.c:1646  */
5833      {
5834    ConfigFileEntry.stats_k_oper_only = 1;
5835   }
5836 < #line 5802 "conf_parser.c" /* yacc.c:1646  */
5836 > #line 5837 "conf_parser.c" /* yacc.c:1646  */
5837      break;
5838  
5839 <  case 539:
5840 < #line 2610 "conf_parser.y" /* yacc.c:1646  */
5839 >  case 532:
5840 > #line 2667 "conf_parser.y" /* yacc.c:1646  */
5841      {
5842    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5843   }
5844 < #line 5810 "conf_parser.c" /* yacc.c:1646  */
5844 > #line 5845 "conf_parser.c" /* yacc.c:1646  */
5845      break;
5846  
5847 <  case 540:
5848 < #line 2613 "conf_parser.y" /* yacc.c:1646  */
5847 >  case 533:
5848 > #line 2670 "conf_parser.y" /* yacc.c:1646  */
5849      {
5850    ConfigFileEntry.stats_i_oper_only = 1;
5851   }
5852 < #line 5818 "conf_parser.c" /* yacc.c:1646  */
5852 > #line 5853 "conf_parser.c" /* yacc.c:1646  */
5853      break;
5854  
5855 <  case 541:
5856 < #line 2618 "conf_parser.y" /* yacc.c:1646  */
5855 >  case 534:
5856 > #line 2675 "conf_parser.y" /* yacc.c:1646  */
5857      {
5858    ConfigFileEntry.pace_wait = (yyvsp[-1].number);
5859   }
5860 < #line 5826 "conf_parser.c" /* yacc.c:1646  */
5860 > #line 5861 "conf_parser.c" /* yacc.c:1646  */
5861      break;
5862  
5863 <  case 542:
5864 < #line 2623 "conf_parser.y" /* yacc.c:1646  */
5863 >  case 535:
5864 > #line 2680 "conf_parser.y" /* yacc.c:1646  */
5865      {
5866    ConfigFileEntry.caller_id_wait = (yyvsp[-1].number);
5867   }
5868 < #line 5834 "conf_parser.c" /* yacc.c:1646  */
5868 > #line 5869 "conf_parser.c" /* yacc.c:1646  */
5869      break;
5870  
5871 <  case 543:
5872 < #line 2628 "conf_parser.y" /* yacc.c:1646  */
5871 >  case 536:
5872 > #line 2685 "conf_parser.y" /* yacc.c:1646  */
5873      {
5874    ConfigFileEntry.opers_bypass_callerid = yylval.number;
5875   }
5876 < #line 5842 "conf_parser.c" /* yacc.c:1646  */
5876 > #line 5877 "conf_parser.c" /* yacc.c:1646  */
5877      break;
5878  
5879 <  case 544:
5880 < #line 2633 "conf_parser.y" /* yacc.c:1646  */
5879 >  case 537:
5880 > #line 2690 "conf_parser.y" /* yacc.c:1646  */
5881      {
5882    ConfigFileEntry.pace_wait_simple = (yyvsp[-1].number);
5883   }
5884 < #line 5850 "conf_parser.c" /* yacc.c:1646  */
5884 > #line 5885 "conf_parser.c" /* yacc.c:1646  */
5885      break;
5886  
5887 <  case 545:
5888 < #line 2638 "conf_parser.y" /* yacc.c:1646  */
5887 >  case 538:
5888 > #line 2695 "conf_parser.y" /* yacc.c:1646  */
5889      {
5890    ConfigFileEntry.short_motd = yylval.number;
5891   }
5892 < #line 5858 "conf_parser.c" /* yacc.c:1646  */
5892 > #line 5893 "conf_parser.c" /* yacc.c:1646  */
5893      break;
5894  
5895 <  case 546:
5896 < #line 2643 "conf_parser.y" /* yacc.c:1646  */
5895 >  case 539:
5896 > #line 2700 "conf_parser.y" /* yacc.c:1646  */
5897      {
5898    ConfigFileEntry.no_oper_flood = yylval.number;
5899   }
5900 < #line 5866 "conf_parser.c" /* yacc.c:1646  */
5900 > #line 5901 "conf_parser.c" /* yacc.c:1646  */
5901      break;
5902  
5903 <  case 547:
5904 < #line 2648 "conf_parser.y" /* yacc.c:1646  */
5903 >  case 540:
5904 > #line 2705 "conf_parser.y" /* yacc.c:1646  */
5905      {
5906    ConfigFileEntry.true_no_oper_flood = yylval.number;
5907   }
5908 < #line 5874 "conf_parser.c" /* yacc.c:1646  */
5908 > #line 5909 "conf_parser.c" /* yacc.c:1646  */
5909      break;
5910  
5911 <  case 548:
5912 < #line 2653 "conf_parser.y" /* yacc.c:1646  */
5911 >  case 541:
5912 > #line 2710 "conf_parser.y" /* yacc.c:1646  */
5913      {
5914    ConfigFileEntry.oper_pass_resv = yylval.number;
5915   }
5916 < #line 5882 "conf_parser.c" /* yacc.c:1646  */
5916 > #line 5917 "conf_parser.c" /* yacc.c:1646  */
5917      break;
5918  
5919 <  case 549:
5920 < #line 2658 "conf_parser.y" /* yacc.c:1646  */
5919 >  case 542:
5920 > #line 2715 "conf_parser.y" /* yacc.c:1646  */
5921      {
5922    ConfigFileEntry.dots_in_ident = (yyvsp[-1].number);
5923   }
5924 < #line 5890 "conf_parser.c" /* yacc.c:1646  */
5924 > #line 5925 "conf_parser.c" /* yacc.c:1646  */
5925      break;
5926  
5927 <  case 550:
5928 < #line 2663 "conf_parser.y" /* yacc.c:1646  */
5927 >  case 543:
5928 > #line 2720 "conf_parser.y" /* yacc.c:1646  */
5929      {
5930    ConfigFileEntry.max_targets = (yyvsp[-1].number);
5931   }
5932 < #line 5898 "conf_parser.c" /* yacc.c:1646  */
5932 > #line 5933 "conf_parser.c" /* yacc.c:1646  */
5933      break;
5934  
5935 <  case 551:
5936 < #line 2668 "conf_parser.y" /* yacc.c:1646  */
5902 <    {
5903 <  ConfigFileEntry.use_egd = yylval.number;
5904 < }
5905 < #line 5906 "conf_parser.c" /* yacc.c:1646  */
5906 <    break;
5907 <
5908 <  case 552:
5909 < #line 2673 "conf_parser.y" /* yacc.c:1646  */
5910 <    {
5911 <  if (conf_parser_ctx.pass == 2)
5912 <  {
5913 <    MyFree(ConfigFileEntry.egdpool_path);
5914 <    ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
5915 <  }
5916 < }
5917 < #line 5918 "conf_parser.c" /* yacc.c:1646  */
5918 <    break;
5919 <
5920 <  case 553:
5921 < #line 2682 "conf_parser.y" /* yacc.c:1646  */
5935 >  case 544:
5936 > #line 2725 "conf_parser.y" /* yacc.c:1646  */
5937      {
5938    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
5939    {
# Line 5926 | Line 5941 | yyreduce:
5941      ConfigFileEntry.service_name = xstrdup(yylval.string);
5942    }
5943   }
5944 < #line 5930 "conf_parser.c" /* yacc.c:1646  */
5944 > #line 5945 "conf_parser.c" /* yacc.c:1646  */
5945      break;
5946  
5947 <  case 554:
5948 < #line 2691 "conf_parser.y" /* yacc.c:1646  */
5947 >  case 545:
5948 > #line 2734 "conf_parser.y" /* yacc.c:1646  */
5949      {
5950    ConfigFileEntry.ping_cookie = yylval.number;
5951   }
5952 < #line 5938 "conf_parser.c" /* yacc.c:1646  */
5952 > #line 5953 "conf_parser.c" /* yacc.c:1646  */
5953      break;
5954  
5955 <  case 555:
5956 < #line 2696 "conf_parser.y" /* yacc.c:1646  */
5955 >  case 546:
5956 > #line 2739 "conf_parser.y" /* yacc.c:1646  */
5957      {
5958    ConfigFileEntry.disable_auth = yylval.number;
5959   }
5960 < #line 5946 "conf_parser.c" /* yacc.c:1646  */
5960 > #line 5961 "conf_parser.c" /* yacc.c:1646  */
5961      break;
5962  
5963 <  case 556:
5964 < #line 2701 "conf_parser.y" /* yacc.c:1646  */
5963 >  case 547:
5964 > #line 2744 "conf_parser.y" /* yacc.c:1646  */
5965      {
5966 <  ConfigFileEntry.throttle_time = yylval.number;
5966 >  ConfigFileEntry.throttle_count = (yyvsp[-1].number);
5967   }
5968 < #line 5954 "conf_parser.c" /* yacc.c:1646  */
5968 > #line 5969 "conf_parser.c" /* yacc.c:1646  */
5969      break;
5970  
5971 <  case 557:
5972 < #line 2706 "conf_parser.y" /* yacc.c:1646  */
5971 >  case 548:
5972 > #line 2749 "conf_parser.y" /* yacc.c:1646  */
5973 >    {
5974 >  ConfigFileEntry.throttle_time = (yyvsp[-1].number);
5975 > }
5976 > #line 5977 "conf_parser.c" /* yacc.c:1646  */
5977 >    break;
5978 >
5979 >  case 549:
5980 > #line 2754 "conf_parser.y" /* yacc.c:1646  */
5981      {
5982    ConfigFileEntry.oper_umodes = 0;
5983   }
5984 < #line 5962 "conf_parser.c" /* yacc.c:1646  */
5984 > #line 5985 "conf_parser.c" /* yacc.c:1646  */
5985      break;
5986  
5987 <  case 561:
5988 < #line 2712 "conf_parser.y" /* yacc.c:1646  */
5987 >  case 553:
5988 > #line 2760 "conf_parser.y" /* yacc.c:1646  */
5989      {
5990    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
5991   }
5992 < #line 5970 "conf_parser.c" /* yacc.c:1646  */
5992 > #line 5993 "conf_parser.c" /* yacc.c:1646  */
5993      break;
5994  
5995 <  case 562:
5996 < #line 2715 "conf_parser.y" /* yacc.c:1646  */
5995 >  case 554:
5996 > #line 2763 "conf_parser.y" /* yacc.c:1646  */
5997      {
5998    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
5999   }
6000 < #line 5978 "conf_parser.c" /* yacc.c:1646  */
6000 > #line 6001 "conf_parser.c" /* yacc.c:1646  */
6001      break;
6002  
6003 <  case 563:
6004 < #line 2718 "conf_parser.y" /* yacc.c:1646  */
6003 >  case 555:
6004 > #line 2766 "conf_parser.y" /* yacc.c:1646  */
6005      {
6006    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6007   }
6008 < #line 5986 "conf_parser.c" /* yacc.c:1646  */
6008 > #line 6009 "conf_parser.c" /* yacc.c:1646  */
6009      break;
6010  
6011 <  case 564:
6012 < #line 2721 "conf_parser.y" /* yacc.c:1646  */
6011 >  case 556:
6012 > #line 2769 "conf_parser.y" /* yacc.c:1646  */
6013      {
6014    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6015   }
6016 < #line 5994 "conf_parser.c" /* yacc.c:1646  */
6016 > #line 6017 "conf_parser.c" /* yacc.c:1646  */
6017      break;
6018  
6019 <  case 565:
6020 < #line 2724 "conf_parser.y" /* yacc.c:1646  */
6019 >  case 557:
6020 > #line 2772 "conf_parser.y" /* yacc.c:1646  */
6021      {
6022    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6023   }
6024 < #line 6002 "conf_parser.c" /* yacc.c:1646  */
6024 > #line 6025 "conf_parser.c" /* yacc.c:1646  */
6025      break;
6026  
6027 <  case 566:
6028 < #line 2727 "conf_parser.y" /* yacc.c:1646  */
6027 >  case 558:
6028 > #line 2775 "conf_parser.y" /* yacc.c:1646  */
6029      {
6030    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6031   }
6032 < #line 6010 "conf_parser.c" /* yacc.c:1646  */
6032 > #line 6033 "conf_parser.c" /* yacc.c:1646  */
6033      break;
6034  
6035 <  case 567:
6036 < #line 2730 "conf_parser.y" /* yacc.c:1646  */
6035 >  case 559:
6036 > #line 2778 "conf_parser.y" /* yacc.c:1646  */
6037 >    {
6038 >  ConfigFileEntry.oper_umodes |= UMODE_HIDECHANS;
6039 > }
6040 > #line 6041 "conf_parser.c" /* yacc.c:1646  */
6041 >    break;
6042 >
6043 >  case 560:
6044 > #line 2781 "conf_parser.y" /* yacc.c:1646  */
6045 >    {
6046 >  ConfigFileEntry.oper_umodes |= UMODE_HIDEIDLE;
6047 > }
6048 > #line 6049 "conf_parser.c" /* yacc.c:1646  */
6049 >    break;
6050 >
6051 >  case 561:
6052 > #line 2784 "conf_parser.y" /* yacc.c:1646  */
6053      {
6054    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6055   }
6056 < #line 6018 "conf_parser.c" /* yacc.c:1646  */
6056 > #line 6057 "conf_parser.c" /* yacc.c:1646  */
6057      break;
6058  
6059 <  case 568:
6060 < #line 2733 "conf_parser.y" /* yacc.c:1646  */
6059 >  case 562:
6060 > #line 2787 "conf_parser.y" /* yacc.c:1646  */
6061      {
6062    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6063   }
6064 < #line 6026 "conf_parser.c" /* yacc.c:1646  */
6064 > #line 6065 "conf_parser.c" /* yacc.c:1646  */
6065      break;
6066  
6067 <  case 569:
6068 < #line 2736 "conf_parser.y" /* yacc.c:1646  */
6067 >  case 563:
6068 > #line 2790 "conf_parser.y" /* yacc.c:1646  */
6069      {
6070    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6071   }
6072 < #line 6034 "conf_parser.c" /* yacc.c:1646  */
6072 > #line 6073 "conf_parser.c" /* yacc.c:1646  */
6073      break;
6074  
6075 <  case 570:
6076 < #line 2739 "conf_parser.y" /* yacc.c:1646  */
6075 >  case 564:
6076 > #line 2793 "conf_parser.y" /* yacc.c:1646  */
6077      {
6078    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6079   }
6080 < #line 6042 "conf_parser.c" /* yacc.c:1646  */
6080 > #line 6081 "conf_parser.c" /* yacc.c:1646  */
6081      break;
6082  
6083 <  case 571:
6084 < #line 2742 "conf_parser.y" /* yacc.c:1646  */
6083 >  case 565:
6084 > #line 2796 "conf_parser.y" /* yacc.c:1646  */
6085      {
6086    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6087   }
6088 < #line 6050 "conf_parser.c" /* yacc.c:1646  */
6088 > #line 6089 "conf_parser.c" /* yacc.c:1646  */
6089      break;
6090  
6091 <  case 572:
6092 < #line 2745 "conf_parser.y" /* yacc.c:1646  */
6091 >  case 566:
6092 > #line 2799 "conf_parser.y" /* yacc.c:1646  */
6093      {
6094    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6095   }
6096 < #line 6058 "conf_parser.c" /* yacc.c:1646  */
6058 <    break;
6059 <
6060 <  case 573:
6061 < #line 2748 "conf_parser.y" /* yacc.c:1646  */
6062 <    {
6063 <  ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6064 < }
6065 < #line 6066 "conf_parser.c" /* yacc.c:1646  */
6096 > #line 6097 "conf_parser.c" /* yacc.c:1646  */
6097      break;
6098  
6099 <  case 574:
6100 < #line 2751 "conf_parser.y" /* yacc.c:1646  */
6099 >  case 567:
6100 > #line 2802 "conf_parser.y" /* yacc.c:1646  */
6101      {
6102    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6103   }
6104 < #line 6074 "conf_parser.c" /* yacc.c:1646  */
6104 > #line 6105 "conf_parser.c" /* yacc.c:1646  */
6105      break;
6106  
6107 <  case 575:
6108 < #line 2754 "conf_parser.y" /* yacc.c:1646  */
6107 >  case 568:
6108 > #line 2805 "conf_parser.y" /* yacc.c:1646  */
6109      {
6110    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6111   }
6112 < #line 6082 "conf_parser.c" /* yacc.c:1646  */
6112 > #line 6113 "conf_parser.c" /* yacc.c:1646  */
6113      break;
6114  
6115 <  case 576:
6116 < #line 2757 "conf_parser.y" /* yacc.c:1646  */
6115 >  case 569:
6116 > #line 2808 "conf_parser.y" /* yacc.c:1646  */
6117      {
6118    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6119   }
6120 < #line 6090 "conf_parser.c" /* yacc.c:1646  */
6120 > #line 6121 "conf_parser.c" /* yacc.c:1646  */
6121      break;
6122  
6123 <  case 577:
6124 < #line 2760 "conf_parser.y" /* yacc.c:1646  */
6123 >  case 570:
6124 > #line 2811 "conf_parser.y" /* yacc.c:1646  */
6125      {
6126    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6127   }
6128 < #line 6098 "conf_parser.c" /* yacc.c:1646  */
6128 > #line 6129 "conf_parser.c" /* yacc.c:1646  */
6129      break;
6130  
6131 <  case 578:
6132 < #line 2763 "conf_parser.y" /* yacc.c:1646  */
6131 >  case 571:
6132 > #line 2814 "conf_parser.y" /* yacc.c:1646  */
6133      {
6134    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6135   }
6136 < #line 6106 "conf_parser.c" /* yacc.c:1646  */
6136 > #line 6137 "conf_parser.c" /* yacc.c:1646  */
6137      break;
6138  
6139 <  case 579:
6140 < #line 2766 "conf_parser.y" /* yacc.c:1646  */
6139 >  case 572:
6140 > #line 2817 "conf_parser.y" /* yacc.c:1646  */
6141      {
6142    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6143   }
6144 < #line 6114 "conf_parser.c" /* yacc.c:1646  */
6144 > #line 6145 "conf_parser.c" /* yacc.c:1646  */
6145      break;
6146  
6147 <  case 580:
6148 < #line 2769 "conf_parser.y" /* yacc.c:1646  */
6147 >  case 573:
6148 > #line 2820 "conf_parser.y" /* yacc.c:1646  */
6149      {
6150    ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6151   }
6152 < #line 6122 "conf_parser.c" /* yacc.c:1646  */
6152 > #line 6153 "conf_parser.c" /* yacc.c:1646  */
6153      break;
6154  
6155 <  case 581:
6156 < #line 2772 "conf_parser.y" /* yacc.c:1646  */
6155 >  case 574:
6156 > #line 2823 "conf_parser.y" /* yacc.c:1646  */
6157      {
6158    ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6159   }
6160 < #line 6130 "conf_parser.c" /* yacc.c:1646  */
6160 > #line 6161 "conf_parser.c" /* yacc.c:1646  */
6161      break;
6162  
6163 <  case 582:
6164 < #line 2777 "conf_parser.y" /* yacc.c:1646  */
6163 >  case 575:
6164 > #line 2828 "conf_parser.y" /* yacc.c:1646  */
6165      {
6166    ConfigFileEntry.oper_only_umodes = 0;
6167   }
6168 < #line 6138 "conf_parser.c" /* yacc.c:1646  */
6168 > #line 6169 "conf_parser.c" /* yacc.c:1646  */
6169      break;
6170  
6171 <  case 586:
6172 < #line 2783 "conf_parser.y" /* yacc.c:1646  */
6171 >  case 579:
6172 > #line 2834 "conf_parser.y" /* yacc.c:1646  */
6173      {
6174    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6175   }
6176 < #line 6146 "conf_parser.c" /* yacc.c:1646  */
6176 > #line 6177 "conf_parser.c" /* yacc.c:1646  */
6177      break;
6178  
6179 <  case 587:
6180 < #line 2786 "conf_parser.y" /* yacc.c:1646  */
6179 >  case 580:
6180 > #line 2837 "conf_parser.y" /* yacc.c:1646  */
6181      {
6182    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6183   }
6184 < #line 6154 "conf_parser.c" /* yacc.c:1646  */
6184 > #line 6185 "conf_parser.c" /* yacc.c:1646  */
6185      break;
6186  
6187 <  case 588:
6188 < #line 2789 "conf_parser.y" /* yacc.c:1646  */
6187 >  case 581:
6188 > #line 2840 "conf_parser.y" /* yacc.c:1646  */
6189      {
6190    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6191   }
6192 < #line 6162 "conf_parser.c" /* yacc.c:1646  */
6192 > #line 6193 "conf_parser.c" /* yacc.c:1646  */
6193      break;
6194  
6195 <  case 589:
6196 < #line 2792 "conf_parser.y" /* yacc.c:1646  */
6195 >  case 582:
6196 > #line 2843 "conf_parser.y" /* yacc.c:1646  */
6197      {
6198    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6199   }
6200 < #line 6170 "conf_parser.c" /* yacc.c:1646  */
6200 > #line 6201 "conf_parser.c" /* yacc.c:1646  */
6201      break;
6202  
6203 <  case 590:
6204 < #line 2795 "conf_parser.y" /* yacc.c:1646  */
6205 <    {
6203 >  case 583:
6204 > #line 2846 "conf_parser.y" /* yacc.c:1646  */
6205 >    {
6206    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6207   }
6208 < #line 6178 "conf_parser.c" /* yacc.c:1646  */
6208 > #line 6209 "conf_parser.c" /* yacc.c:1646  */
6209      break;
6210  
6211 <  case 591:
6212 < #line 2798 "conf_parser.y" /* yacc.c:1646  */
6211 >  case 584:
6212 > #line 2849 "conf_parser.y" /* yacc.c:1646  */
6213      {
6214    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6215   }
6216 < #line 6186 "conf_parser.c" /* yacc.c:1646  */
6216 > #line 6217 "conf_parser.c" /* yacc.c:1646  */
6217      break;
6218  
6219 <  case 592:
6220 < #line 2801 "conf_parser.y" /* yacc.c:1646  */
6219 >  case 585:
6220 > #line 2852 "conf_parser.y" /* yacc.c:1646  */
6221      {
6222    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6223   }
6224 < #line 6194 "conf_parser.c" /* yacc.c:1646  */
6224 > #line 6225 "conf_parser.c" /* yacc.c:1646  */
6225      break;
6226  
6227 <  case 593:
6228 < #line 2804 "conf_parser.y" /* yacc.c:1646  */
6227 >  case 586:
6228 > #line 2855 "conf_parser.y" /* yacc.c:1646  */
6229      {
6230    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6231   }
6232 < #line 6202 "conf_parser.c" /* yacc.c:1646  */
6232 > #line 6233 "conf_parser.c" /* yacc.c:1646  */
6233      break;
6234  
6235 <  case 594:
6236 < #line 2807 "conf_parser.y" /* yacc.c:1646  */
6235 >  case 587:
6236 > #line 2858 "conf_parser.y" /* yacc.c:1646  */
6237      {
6238    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6239   }
6240 < #line 6210 "conf_parser.c" /* yacc.c:1646  */
6240 > #line 6241 "conf_parser.c" /* yacc.c:1646  */
6241      break;
6242  
6243 <  case 595:
6244 < #line 2810 "conf_parser.y" /* yacc.c:1646  */
6243 >  case 588:
6244 > #line 2861 "conf_parser.y" /* yacc.c:1646  */
6245      {
6246    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6247   }
6248 < #line 6218 "conf_parser.c" /* yacc.c:1646  */
6248 > #line 6249 "conf_parser.c" /* yacc.c:1646  */
6249      break;
6250  
6251 <  case 596:
6252 < #line 2813 "conf_parser.y" /* yacc.c:1646  */
6251 >  case 589:
6252 > #line 2864 "conf_parser.y" /* yacc.c:1646  */
6253      {
6254    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6255   }
6256 < #line 6226 "conf_parser.c" /* yacc.c:1646  */
6256 > #line 6257 "conf_parser.c" /* yacc.c:1646  */
6257      break;
6258  
6259 <  case 597:
6260 < #line 2816 "conf_parser.y" /* yacc.c:1646  */
6259 >  case 590:
6260 > #line 2867 "conf_parser.y" /* yacc.c:1646  */
6261      {
6262    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6263   }
6264 < #line 6234 "conf_parser.c" /* yacc.c:1646  */
6264 > #line 6265 "conf_parser.c" /* yacc.c:1646  */
6265      break;
6266  
6267 <  case 598:
6268 < #line 2819 "conf_parser.y" /* yacc.c:1646  */
6238 <    {
6239 <  ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6240 < }
6241 < #line 6242 "conf_parser.c" /* yacc.c:1646  */
6242 <    break;
6243 <
6244 <  case 599:
6245 < #line 2822 "conf_parser.y" /* yacc.c:1646  */
6267 >  case 591:
6268 > #line 2870 "conf_parser.y" /* yacc.c:1646  */
6269      {
6270    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6271   }
6272 < #line 6250 "conf_parser.c" /* yacc.c:1646  */
6272 > #line 6273 "conf_parser.c" /* yacc.c:1646  */
6273      break;
6274  
6275 <  case 600:
6276 < #line 2825 "conf_parser.y" /* yacc.c:1646  */
6275 >  case 592:
6276 > #line 2873 "conf_parser.y" /* yacc.c:1646  */
6277      {
6278    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6279   }
6280 < #line 6258 "conf_parser.c" /* yacc.c:1646  */
6280 > #line 6281 "conf_parser.c" /* yacc.c:1646  */
6281      break;
6282  
6283 <  case 601:
6284 < #line 2828 "conf_parser.y" /* yacc.c:1646  */
6283 >  case 593:
6284 > #line 2876 "conf_parser.y" /* yacc.c:1646  */
6285      {
6286    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6287   }
6288 < #line 6266 "conf_parser.c" /* yacc.c:1646  */
6288 > #line 6289 "conf_parser.c" /* yacc.c:1646  */
6289      break;
6290  
6291 <  case 602:
6292 < #line 2831 "conf_parser.y" /* yacc.c:1646  */
6291 >  case 594:
6292 > #line 2879 "conf_parser.y" /* yacc.c:1646  */
6293      {
6294    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6295   }
6296 < #line 6274 "conf_parser.c" /* yacc.c:1646  */
6296 > #line 6297 "conf_parser.c" /* yacc.c:1646  */
6297      break;
6298  
6299 <  case 603:
6300 < #line 2834 "conf_parser.y" /* yacc.c:1646  */
6299 >  case 595:
6300 > #line 2882 "conf_parser.y" /* yacc.c:1646  */
6301      {
6302    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6303   }
6304 < #line 6282 "conf_parser.c" /* yacc.c:1646  */
6304 > #line 6305 "conf_parser.c" /* yacc.c:1646  */
6305      break;
6306  
6307 <  case 604:
6308 < #line 2837 "conf_parser.y" /* yacc.c:1646  */
6307 >  case 596:
6308 > #line 2885 "conf_parser.y" /* yacc.c:1646  */
6309      {
6310    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6311   }
6312 < #line 6290 "conf_parser.c" /* yacc.c:1646  */
6312 > #line 6313 "conf_parser.c" /* yacc.c:1646  */
6313      break;
6314  
6315 <  case 605:
6316 < #line 2840 "conf_parser.y" /* yacc.c:1646  */
6315 >  case 597:
6316 > #line 2888 "conf_parser.y" /* yacc.c:1646  */
6317      {
6318    ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6319   }
6320 < #line 6298 "conf_parser.c" /* yacc.c:1646  */
6320 > #line 6321 "conf_parser.c" /* yacc.c:1646  */
6321      break;
6322  
6323 <  case 606:
6324 < #line 2843 "conf_parser.y" /* yacc.c:1646  */
6323 >  case 598:
6324 > #line 2891 "conf_parser.y" /* yacc.c:1646  */
6325      {
6326    ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6327   }
6328 < #line 6306 "conf_parser.c" /* yacc.c:1646  */
6328 > #line 6329 "conf_parser.c" /* yacc.c:1646  */
6329      break;
6330  
6331 <  case 607:
6332 < #line 2848 "conf_parser.y" /* yacc.c:1646  */
6331 >  case 599:
6332 > #line 2896 "conf_parser.y" /* yacc.c:1646  */
6333      {
6334    ConfigFileEntry.min_nonwildcard = (yyvsp[-1].number);
6335   }
6336 < #line 6314 "conf_parser.c" /* yacc.c:1646  */
6336 > #line 6337 "conf_parser.c" /* yacc.c:1646  */
6337      break;
6338  
6339 <  case 608:
6340 < #line 2853 "conf_parser.y" /* yacc.c:1646  */
6339 >  case 600:
6340 > #line 2901 "conf_parser.y" /* yacc.c:1646  */
6341      {
6342    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[-1].number);
6343   }
6344 < #line 6322 "conf_parser.c" /* yacc.c:1646  */
6344 > #line 6345 "conf_parser.c" /* yacc.c:1646  */
6345      break;
6346  
6347 <  case 609:
6348 < #line 2858 "conf_parser.y" /* yacc.c:1646  */
6347 >  case 601:
6348 > #line 2906 "conf_parser.y" /* yacc.c:1646  */
6349      {
6350    ConfigFileEntry.default_floodcount = (yyvsp[-1].number);
6351   }
6352 < #line 6330 "conf_parser.c" /* yacc.c:1646  */
6352 > #line 6353 "conf_parser.c" /* yacc.c:1646  */
6353      break;
6354  
6355 <  case 626:
6356 < #line 2881 "conf_parser.y" /* yacc.c:1646  */
6355 >  case 620:
6356 > #line 2935 "conf_parser.y" /* yacc.c:1646  */
6357      {
6358    ConfigChannel.disable_fake_channels = yylval.number;
6359   }
6360 < #line 6338 "conf_parser.c" /* yacc.c:1646  */
6360 > #line 6361 "conf_parser.c" /* yacc.c:1646  */
6361      break;
6362  
6363 <  case 627:
6364 < #line 2886 "conf_parser.y" /* yacc.c:1646  */
6363 >  case 621:
6364 > #line 2940 "conf_parser.y" /* yacc.c:1646  */
6365      {
6366 <  ConfigChannel.knock_delay = (yyvsp[-1].number);
6366 >  ConfigChannel.invite_client_count = (yyvsp[-1].number);
6367   }
6368 < #line 6346 "conf_parser.c" /* yacc.c:1646  */
6368 > #line 6369 "conf_parser.c" /* yacc.c:1646  */
6369      break;
6370  
6371 <  case 628:
6372 < #line 2891 "conf_parser.y" /* yacc.c:1646  */
6371 >  case 622:
6372 > #line 2945 "conf_parser.y" /* yacc.c:1646  */
6373      {
6374 <  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6374 >  ConfigChannel.invite_client_time = (yyvsp[-1].number);
6375   }
6376 < #line 6354 "conf_parser.c" /* yacc.c:1646  */
6376 > #line 6377 "conf_parser.c" /* yacc.c:1646  */
6377      break;
6378  
6379 <  case 629:
6380 < #line 2896 "conf_parser.y" /* yacc.c:1646  */
6379 >  case 623:
6380 > #line 2950 "conf_parser.y" /* yacc.c:1646  */
6381      {
6382 <  ConfigChannel.max_chans_per_user = (yyvsp[-1].number);
6382 >  ConfigChannel.knock_client_count = (yyvsp[-1].number);
6383   }
6384 < #line 6362 "conf_parser.c" /* yacc.c:1646  */
6384 > #line 6385 "conf_parser.c" /* yacc.c:1646  */
6385      break;
6386  
6387 <  case 630:
6388 < #line 2901 "conf_parser.y" /* yacc.c:1646  */
6387 >  case 624:
6388 > #line 2955 "conf_parser.y" /* yacc.c:1646  */
6389      {
6390 <  ConfigChannel.max_chans_per_oper = (yyvsp[-1].number);
6390 >  ConfigChannel.knock_client_time = (yyvsp[-1].number);
6391   }
6392 < #line 6370 "conf_parser.c" /* yacc.c:1646  */
6392 > #line 6393 "conf_parser.c" /* yacc.c:1646  */
6393      break;
6394  
6395 <  case 631:
6396 < #line 2906 "conf_parser.y" /* yacc.c:1646  */
6395 >  case 625:
6396 > #line 2960 "conf_parser.y" /* yacc.c:1646  */
6397 >    {
6398 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6399 > }
6400 > #line 6401 "conf_parser.c" /* yacc.c:1646  */
6401 >    break;
6402 >
6403 >  case 626:
6404 > #line 2965 "conf_parser.y" /* yacc.c:1646  */
6405 >    {
6406 >  ConfigChannel.max_channels = (yyvsp[-1].number);
6407 > }
6408 > #line 6409 "conf_parser.c" /* yacc.c:1646  */
6409 >    break;
6410 >
6411 >  case 627:
6412 > #line 2970 "conf_parser.y" /* yacc.c:1646  */
6413      {
6414    ConfigChannel.max_bans = (yyvsp[-1].number);
6415   }
6416 < #line 6378 "conf_parser.c" /* yacc.c:1646  */
6416 > #line 6417 "conf_parser.c" /* yacc.c:1646  */
6417      break;
6418  
6419 <  case 632:
6420 < #line 2911 "conf_parser.y" /* yacc.c:1646  */
6419 >  case 628:
6420 > #line 2975 "conf_parser.y" /* yacc.c:1646  */
6421      {
6422    ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6423   }
6424 < #line 6386 "conf_parser.c" /* yacc.c:1646  */
6424 > #line 6425 "conf_parser.c" /* yacc.c:1646  */
6425      break;
6426  
6427 <  case 633:
6428 < #line 2916 "conf_parser.y" /* yacc.c:1646  */
6427 >  case 629:
6428 > #line 2980 "conf_parser.y" /* yacc.c:1646  */
6429      {
6430    ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6431   }
6432 < #line 6394 "conf_parser.c" /* yacc.c:1646  */
6432 > #line 6433 "conf_parser.c" /* yacc.c:1646  */
6433      break;
6434  
6435 <  case 634:
6436 < #line 2921 "conf_parser.y" /* yacc.c:1646  */
6435 >  case 630:
6436 > #line 2985 "conf_parser.y" /* yacc.c:1646  */
6437      {
6438    ConfigChannel.no_create_on_split = yylval.number;
6439   }
6440 < #line 6402 "conf_parser.c" /* yacc.c:1646  */
6440 > #line 6441 "conf_parser.c" /* yacc.c:1646  */
6441      break;
6442  
6443 <  case 635:
6444 < #line 2926 "conf_parser.y" /* yacc.c:1646  */
6443 >  case 631:
6444 > #line 2990 "conf_parser.y" /* yacc.c:1646  */
6445      {
6446    ConfigChannel.no_join_on_split = yylval.number;
6447   }
6448 < #line 6410 "conf_parser.c" /* yacc.c:1646  */
6448 > #line 6449 "conf_parser.c" /* yacc.c:1646  */
6449      break;
6450  
6451 <  case 636:
6452 < #line 2931 "conf_parser.y" /* yacc.c:1646  */
6451 >  case 632:
6452 > #line 2995 "conf_parser.y" /* yacc.c:1646  */
6453      {
6454    GlobalSetOptions.joinfloodcount = yylval.number;
6455   }
6456 < #line 6418 "conf_parser.c" /* yacc.c:1646  */
6456 > #line 6457 "conf_parser.c" /* yacc.c:1646  */
6457      break;
6458  
6459 <  case 637:
6460 < #line 2936 "conf_parser.y" /* yacc.c:1646  */
6459 >  case 633:
6460 > #line 3000 "conf_parser.y" /* yacc.c:1646  */
6461      {
6462 <  GlobalSetOptions.joinfloodtime = yylval.number;
6462 >  GlobalSetOptions.joinfloodtime = (yyvsp[-1].number);
6463   }
6464 < #line 6426 "conf_parser.c" /* yacc.c:1646  */
6464 > #line 6465 "conf_parser.c" /* yacc.c:1646  */
6465      break;
6466  
6467 <  case 650:
6468 < #line 2956 "conf_parser.y" /* yacc.c:1646  */
6467 >  case 646:
6468 > #line 3022 "conf_parser.y" /* yacc.c:1646  */
6469      {
6470    if (conf_parser_ctx.pass == 2)
6471      ConfigServerHide.flatten_links = yylval.number;
6472   }
6473 < #line 6435 "conf_parser.c" /* yacc.c:1646  */
6473 > #line 6474 "conf_parser.c" /* yacc.c:1646  */
6474      break;
6475  
6476 <  case 651:
6477 < #line 2962 "conf_parser.y" /* yacc.c:1646  */
6476 >  case 647:
6477 > #line 3028 "conf_parser.y" /* yacc.c:1646  */
6478      {
6479    if (conf_parser_ctx.pass == 2)
6480      ConfigServerHide.disable_remote_commands = yylval.number;
6481   }
6482 < #line 6444 "conf_parser.c" /* yacc.c:1646  */
6482 > #line 6483 "conf_parser.c" /* yacc.c:1646  */
6483      break;
6484  
6485 <  case 652:
6486 < #line 2968 "conf_parser.y" /* yacc.c:1646  */
6485 >  case 648:
6486 > #line 3034 "conf_parser.y" /* yacc.c:1646  */
6487      {
6488    if (conf_parser_ctx.pass == 2)
6489      ConfigServerHide.hide_servers = yylval.number;
6490   }
6491 < #line 6453 "conf_parser.c" /* yacc.c:1646  */
6491 > #line 6492 "conf_parser.c" /* yacc.c:1646  */
6492      break;
6493  
6494 <  case 653:
6495 < #line 2974 "conf_parser.y" /* yacc.c:1646  */
6494 >  case 649:
6495 > #line 3040 "conf_parser.y" /* yacc.c:1646  */
6496      {
6497    if (conf_parser_ctx.pass == 2)
6498      ConfigServerHide.hide_services = yylval.number;
6499   }
6500 < #line 6462 "conf_parser.c" /* yacc.c:1646  */
6500 > #line 6501 "conf_parser.c" /* yacc.c:1646  */
6501      break;
6502  
6503 <  case 654:
6504 < #line 2980 "conf_parser.y" /* yacc.c:1646  */
6503 >  case 650:
6504 > #line 3046 "conf_parser.y" /* yacc.c:1646  */
6505      {
6506    if (conf_parser_ctx.pass == 2)
6507    {
# Line 6470 | Line 6509 | yyreduce:
6509      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6510    }
6511   }
6512 < #line 6474 "conf_parser.c" /* yacc.c:1646  */
6512 > #line 6513 "conf_parser.c" /* yacc.c:1646  */
6513      break;
6514  
6515 <  case 655:
6516 < #line 2989 "conf_parser.y" /* yacc.c:1646  */
6515 >  case 651:
6516 > #line 3055 "conf_parser.y" /* yacc.c:1646  */
6517      {
6518    if (conf_parser_ctx.pass == 2)
6519    {
6520      if (((yyvsp[-1].number) > 0) && ConfigServerHide.links_disabled == 1)
6521      {
6522 <      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[-1].number));
6522 >      event_write_links_file.when = (yyvsp[-1].number);
6523 >      event_addish(&event_write_links_file, NULL);
6524        ConfigServerHide.links_disabled = 0;
6525      }
6526  
6527      ConfigServerHide.links_delay = (yyvsp[-1].number);
6528    }
6529   }
6530 < #line 6491 "conf_parser.c" /* yacc.c:1646  */
6530 > #line 6531 "conf_parser.c" /* yacc.c:1646  */
6531      break;
6532  
6533 <  case 656:
6534 < #line 3003 "conf_parser.y" /* yacc.c:1646  */
6533 >  case 652:
6534 > #line 3070 "conf_parser.y" /* yacc.c:1646  */
6535      {
6536    if (conf_parser_ctx.pass == 2)
6537      ConfigServerHide.hidden = yylval.number;
6538   }
6539 < #line 6500 "conf_parser.c" /* yacc.c:1646  */
6539 > #line 6540 "conf_parser.c" /* yacc.c:1646  */
6540      break;
6541  
6542 <  case 657:
6543 < #line 3009 "conf_parser.y" /* yacc.c:1646  */
6542 >  case 653:
6543 > #line 3076 "conf_parser.y" /* yacc.c:1646  */
6544      {
6545    if (conf_parser_ctx.pass == 2)
6546      ConfigServerHide.hide_server_ips = yylval.number;
6547   }
6548 < #line 6509 "conf_parser.c" /* yacc.c:1646  */
6548 > #line 6549 "conf_parser.c" /* yacc.c:1646  */
6549      break;
6550  
6551  
6552 < #line 6513 "conf_parser.c" /* yacc.c:1646  */
6552 > #line 6553 "conf_parser.c" /* yacc.c:1646  */
6553        default: break;
6554      }
6555    /* User semantic actions sometimes alter yychar, and that requires

Diff Legend

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