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 1650 by michael, Sat Nov 10 20:57:51 2012 UTC vs.
Revision 2229 by michael, Thu Jun 13 20:10:27 2013 UTC

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

Comparing ircd-hybrid/trunk/src/conf_parser.c (property svn:keywords):
Revision 1650 by michael, Sat Nov 10 20:57:51 2012 UTC vs.
Revision 2229 by michael, Thu Jun 13 20:10:27 2013 UTC

# Line 0 | Line 1
1 + Id Revision

Diff Legend

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