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 6595 by michael, Wed Oct 21 20:20:45 2015 UTC vs.
Revision 7131 by michael, Mon Jan 25 19:12:25 2016 UTC

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

Diff Legend

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