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 3506 by michael, Sun May 11 17:03:20 2014 UTC vs.
Revision 7061 by michael, Mon Jan 18 18:56:34 2016 UTC

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

Diff Legend

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