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-8/src/ircd_parser.c (file contents), Revision 1294 by michael, Wed Feb 22 20:48:30 2012 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1460 by michael, Fri Jul 6 14:32:53 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.5.  */
1 > /* A Bison parser, made by GNU Bison 2.5.1.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6    
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.5"
47 > #define YYBISON_VERSION "2.5.1"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 66 | Line 66
66   /* Copy the first part of user declarations.  */
67  
68   /* Line 268 of yacc.c  */
69 < #line 25 "ircd_parser.y"
69 > #line 25 "conf_parser.y"
70  
71  
72   #define YY_NO_UNPUT
# Line 77 | Line 77
77   #include "stdinc.h"
78   #include "ircd.h"
79   #include "list.h"
80 < #include "s_conf.h"
80 > #include "conf.h"
81   #include "event.h"
82 < #include "s_log.h"
82 > #include "log.h"
83   #include "client.h"     /* for UMODE_ALL only */
84   #include "irc_string.h"
85   #include "sprintf_irc.h"
# Line 97 | Line 97
97   #include <openssl/rsa.h>
98   #include <openssl/bio.h>
99   #include <openssl/pem.h>
100 + #include <openssl/dh.h>
101   #endif
102  
103 + int yylex(void);
104 +
105   static char *class_name = NULL;
106   static struct ConfItem *yy_conf = NULL;
107   static struct AccessItem *yy_aconf = NULL;
# Line 107 | Line 110 | static struct ClassItem *yy_class = NULL
110   static char *yy_class_name = NULL;
111  
112   static dlink_list col_conf_list  = { NULL, NULL, 0 };
110 static dlink_list hub_conf_list  = { NULL, NULL, 0 };
111 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
113   static unsigned int listener_flags = 0;
114   static unsigned int regex_ban = 0;
115   static char userbuf[IRCD_BUFSIZE];
# Line 149 | Line 150 | free_collect_item(struct CollectItem *it
150    MyFree(item);
151   }
152  
152 static void
153 unhook_hub_leaf_confs(void)
154 {
155  dlink_node *ptr;
156  dlink_node *next_ptr;
157  struct CollectItem *yy_hconf;
158  struct CollectItem *yy_lconf;
159
160  DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
161  {
162    yy_hconf = ptr->data;
163    dlinkDelete(&yy_hconf->node, &hub_conf_list);
164    free_collect_item(yy_hconf);
165  }
166
167  DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
168  {
169    yy_lconf = ptr->data;
170    dlinkDelete(&yy_lconf->node, &leaf_conf_list);
171    free_collect_item(yy_lconf);
172  }
173 }
174
153  
154  
155   /* Line 268 of yacc.c  */
156 < #line 179 "ircd_parser.c"
156 > #line 157 "conf_parser.c"
157 >
158 > # ifndef YY_NULL
159 > #  if defined __cplusplus && 201103L <= __cplusplus
160 > #   define YY_NULL nullptr
161 > #  else
162 > #   define YY_NULL 0
163 > #  endif
164 > # endif
165  
166   /* Enabling traces.  */
167   #ifndef YYDEBUG
# Line 212 | Line 198 | unhook_hub_leaf_confs(void)
198       AUTOCONN = 265,
199       T_BLOCK = 266,
200       BURST_AWAY = 267,
201 <     BURST_TOPICWHO = 268,
202 <     BYTES = 269,
203 <     KBYTES = 270,
204 <     MBYTES = 271,
205 <     GBYTES = 272,
206 <     TBYTES = 273,
207 <     CALLER_ID_WAIT = 274,
208 <     CAN_FLOOD = 275,
209 <     CHANNEL = 276,
210 <     CIDR_BITLEN_IPV4 = 277,
211 <     CIDR_BITLEN_IPV6 = 278,
212 <     CIPHER_PREFERENCE = 279,
213 <     CLASS = 280,
214 <     COMPRESSED = 281,
215 <     COMPRESSION_LEVEL = 282,
216 <     CONNECT = 283,
217 <     CONNECTFREQ = 284,
218 <     CRYPTLINK = 285,
219 <     DEFAULT_CIPHER_PREFERENCE = 286,
220 <     DEFAULT_FLOODCOUNT = 287,
221 <     DEFAULT_SPLIT_SERVER_COUNT = 288,
222 <     DEFAULT_SPLIT_USER_COUNT = 289,
223 <     DENY = 290,
224 <     DESCRIPTION = 291,
225 <     DIE = 292,
226 <     DISABLE_AUTH = 293,
227 <     DISABLE_FAKE_CHANNELS = 294,
228 <     DISABLE_HIDDEN = 295,
229 <     DISABLE_LOCAL_CHANNELS = 296,
230 <     DISABLE_REMOTE_COMMANDS = 297,
231 <     DOTS_IN_IDENT = 298,
232 <     DURATION = 299,
233 <     EGDPOOL_PATH = 300,
234 <     EMAIL = 301,
235 <     ENABLE = 302,
236 <     ENCRYPTED = 303,
237 <     EXCEED_LIMIT = 304,
238 <     EXEMPT = 305,
239 <     FAILED_OPER_NOTICE = 306,
240 <     IRCD_FLAGS = 307,
241 <     FLATTEN_LINKS = 308,
242 <     GECOS = 309,
243 <     GENERAL = 310,
244 <     GLINE = 311,
245 <     GLINES = 312,
246 <     GLINE_EXEMPT = 313,
247 <     GLINE_TIME = 314,
248 <     GLINE_MIN_CIDR = 315,
249 <     GLINE_MIN_CIDR6 = 316,
250 <     GLOBAL_KILL = 317,
251 <     IRCD_AUTH = 318,
252 <     NEED_IDENT = 319,
253 <     HAVENT_READ_CONF = 320,
254 <     HIDDEN = 321,
255 <     HIDDEN_NAME = 322,
256 <     HIDE_SERVER_IPS = 323,
257 <     HIDE_SERVERS = 324,
258 <     HIDE_SPOOF_IPS = 325,
259 <     HOST = 326,
260 <     HUB = 327,
261 <     HUB_MASK = 328,
262 <     IGNORE_BOGUS_TS = 329,
263 <     INVISIBLE_ON_CONNECT = 330,
264 <     IP = 331,
265 <     KILL = 332,
266 <     KILL_CHASE_TIME_LIMIT = 333,
267 <     KLINE = 334,
268 <     KLINE_EXEMPT = 335,
269 <     KLINE_REASON = 336,
270 <     KLINE_WITH_REASON = 337,
271 <     KNOCK_DELAY = 338,
272 <     KNOCK_DELAY_CHANNEL = 339,
273 <     LEAF_MASK = 340,
274 <     LINKS_DELAY = 341,
275 <     LISTEN = 342,
276 <     T_LOG = 343,
277 <     MAX_ACCEPT = 344,
278 <     MAX_BANS = 345,
279 <     MAX_CHANS_PER_USER = 346,
280 <     MAX_GLOBAL = 347,
281 <     MAX_IDENT = 348,
282 <     MAX_LOCAL = 349,
283 <     MAX_NICK_CHANGES = 350,
284 <     MAX_NICK_TIME = 351,
285 <     MAX_NUMBER = 352,
286 <     MAX_TARGETS = 353,
287 <     MAX_WATCH = 354,
288 <     MESSAGE_LOCALE = 355,
289 <     MIN_NONWILDCARD = 356,
290 <     MIN_NONWILDCARD_SIMPLE = 357,
291 <     MODULE = 358,
292 <     MODULES = 359,
293 <     NAME = 360,
294 <     NEED_PASSWORD = 361,
295 <     NETWORK_DESC = 362,
296 <     NETWORK_NAME = 363,
297 <     NICK = 364,
298 <     NICK_CHANGES = 365,
299 <     NO_CREATE_ON_SPLIT = 366,
300 <     NO_JOIN_ON_SPLIT = 367,
301 <     NO_OPER_FLOOD = 368,
302 <     NO_TILDE = 369,
303 <     NUMBER = 370,
304 <     NUMBER_PER_IDENT = 371,
305 <     NUMBER_PER_CIDR = 372,
306 <     NUMBER_PER_IP = 373,
307 <     NUMBER_PER_IP_GLOBAL = 374,
308 <     OPERATOR = 375,
309 <     OPERS_BYPASS_CALLERID = 376,
310 <     OPER_ONLY_UMODES = 377,
311 <     OPER_PASS_RESV = 378,
312 <     OPER_SPY_T = 379,
313 <     OPER_UMODES = 380,
314 <     JOIN_FLOOD_COUNT = 381,
315 <     JOIN_FLOOD_TIME = 382,
316 <     PACE_WAIT = 383,
317 <     PACE_WAIT_SIMPLE = 384,
318 <     PASSWORD = 385,
319 <     PATH = 386,
320 <     PING_COOKIE = 387,
321 <     PING_TIME = 388,
322 <     PING_WARNING = 389,
323 <     PORT = 390,
324 <     QSTRING = 391,
325 <     QUIET_ON_BAN = 392,
326 <     REASON = 393,
327 <     REDIRPORT = 394,
328 <     REDIRSERV = 395,
329 <     REGEX_T = 396,
330 <     REHASH = 397,
331 <     TREJECT_HOLD_TIME = 398,
332 <     REMOTE = 399,
333 <     REMOTEBAN = 400,
334 <     RESTRICT_CHANNELS = 401,
335 <     RESTRICTED = 402,
336 <     RSA_PRIVATE_KEY_FILE = 403,
337 <     RSA_PUBLIC_KEY_FILE = 404,
338 <     SSL_CERTIFICATE_FILE = 405,
339 <     T_SSL_CONNECTION_METHOD = 406,
340 <     T_SSLV3 = 407,
341 <     T_TLSV1 = 408,
342 <     RESV = 409,
343 <     RESV_EXEMPT = 410,
344 <     SECONDS = 411,
345 <     MINUTES = 412,
346 <     HOURS = 413,
347 <     DAYS = 414,
348 <     WEEKS = 415,
349 <     SENDQ = 416,
350 <     SEND_PASSWORD = 417,
351 <     SERVERHIDE = 418,
352 <     SERVERINFO = 419,
353 <     SERVLINK_PATH = 420,
354 <     IRCD_SID = 421,
355 <     TKLINE_EXPIRE_NOTICES = 422,
356 <     T_SHARED = 423,
357 <     T_CLUSTER = 424,
358 <     TYPE = 425,
359 <     SHORT_MOTD = 426,
360 <     SILENT = 427,
361 <     SPOOF = 428,
362 <     SPOOF_NOTICE = 429,
363 <     STATS_E_DISABLED = 430,
364 <     STATS_I_OPER_ONLY = 431,
365 <     STATS_K_OPER_ONLY = 432,
366 <     STATS_O_OPER_ONLY = 433,
367 <     STATS_P_OPER_ONLY = 434,
368 <     TBOOL = 435,
369 <     TMASKED = 436,
370 <     T_REJECT = 437,
371 <     TS_MAX_DELTA = 438,
372 <     TS_WARN_DELTA = 439,
373 <     TWODOTS = 440,
374 <     T_ALL = 441,
375 <     T_BOTS = 442,
376 <     T_SOFTCALLERID = 443,
377 <     T_CALLERID = 444,
378 <     T_CCONN = 445,
379 <     T_CCONN_FULL = 446,
380 <     T_CLIENT_FLOOD = 447,
381 <     T_DEAF = 448,
382 <     T_DEBUG = 449,
383 <     T_DLINE = 450,
384 <     T_DRONE = 451,
385 <     T_EXTERNAL = 452,
386 <     T_FULL = 453,
387 <     T_INVISIBLE = 454,
388 <     T_IPV4 = 455,
389 <     T_IPV6 = 456,
390 <     T_LOCOPS = 457,
391 <     T_MAX_CLIENTS = 458,
392 <     T_NCHANGE = 459,
393 <     T_OPERWALL = 460,
394 <     T_REJ = 461,
395 <     T_SERVER = 462,
396 <     T_SERVNOTICE = 463,
201 >     BYTES = 268,
202 >     KBYTES = 269,
203 >     MBYTES = 270,
204 >     GBYTES = 271,
205 >     TBYTES = 272,
206 >     CALLER_ID_WAIT = 273,
207 >     CAN_FLOOD = 274,
208 >     CHANNEL = 275,
209 >     CIDR_BITLEN_IPV4 = 276,
210 >     CIDR_BITLEN_IPV6 = 277,
211 >     CLASS = 278,
212 >     CONNECT = 279,
213 >     CONNECTFREQ = 280,
214 >     DEFAULT_FLOODCOUNT = 281,
215 >     DEFAULT_SPLIT_SERVER_COUNT = 282,
216 >     DEFAULT_SPLIT_USER_COUNT = 283,
217 >     DENY = 284,
218 >     DESCRIPTION = 285,
219 >     DIE = 286,
220 >     DISABLE_AUTH = 287,
221 >     DISABLE_FAKE_CHANNELS = 288,
222 >     DISABLE_HIDDEN = 289,
223 >     DISABLE_LOCAL_CHANNELS = 290,
224 >     DISABLE_REMOTE_COMMANDS = 291,
225 >     DOTS_IN_IDENT = 292,
226 >     DURATION = 293,
227 >     EGDPOOL_PATH = 294,
228 >     EMAIL = 295,
229 >     ENABLE = 296,
230 >     ENCRYPTED = 297,
231 >     EXCEED_LIMIT = 298,
232 >     EXEMPT = 299,
233 >     FAILED_OPER_NOTICE = 300,
234 >     IRCD_FLAGS = 301,
235 >     FLATTEN_LINKS = 302,
236 >     GECOS = 303,
237 >     GENERAL = 304,
238 >     GLINE = 305,
239 >     GLINE_DURATION = 306,
240 >     GLINE_ENABLE = 307,
241 >     GLINE_EXEMPT = 308,
242 >     GLINE_TIME = 309,
243 >     GLINE_REQUEST_DURATION = 310,
244 >     GLINE_MIN_CIDR = 311,
245 >     GLINE_MIN_CIDR6 = 312,
246 >     GLOBAL_KILL = 313,
247 >     IRCD_AUTH = 314,
248 >     NEED_IDENT = 315,
249 >     HAVENT_READ_CONF = 316,
250 >     HIDDEN = 317,
251 >     HIDDEN_NAME = 318,
252 >     HIDE_SERVER_IPS = 319,
253 >     HIDE_SERVERS = 320,
254 >     HIDE_SPOOF_IPS = 321,
255 >     HOST = 322,
256 >     HUB = 323,
257 >     HUB_MASK = 324,
258 >     IGNORE_BOGUS_TS = 325,
259 >     INVISIBLE_ON_CONNECT = 326,
260 >     IP = 327,
261 >     KILL = 328,
262 >     KILL_CHASE_TIME_LIMIT = 329,
263 >     KLINE = 330,
264 >     KLINE_EXEMPT = 331,
265 >     KLINE_REASON = 332,
266 >     KLINE_WITH_REASON = 333,
267 >     KNOCK_DELAY = 334,
268 >     KNOCK_DELAY_CHANNEL = 335,
269 >     LEAF_MASK = 336,
270 >     LINKS_DELAY = 337,
271 >     LISTEN = 338,
272 >     T_LOG = 339,
273 >     MAX_ACCEPT = 340,
274 >     MAX_BANS = 341,
275 >     MAX_CHANS_PER_OPER = 342,
276 >     MAX_CHANS_PER_USER = 343,
277 >     MAX_GLOBAL = 344,
278 >     MAX_IDENT = 345,
279 >     MAX_LOCAL = 346,
280 >     MAX_NICK_CHANGES = 347,
281 >     MAX_NICK_TIME = 348,
282 >     MAX_NUMBER = 349,
283 >     MAX_TARGETS = 350,
284 >     MAX_WATCH = 351,
285 >     MESSAGE_LOCALE = 352,
286 >     MIN_NONWILDCARD = 353,
287 >     MIN_NONWILDCARD_SIMPLE = 354,
288 >     MODULE = 355,
289 >     MODULES = 356,
290 >     NAME = 357,
291 >     NEED_PASSWORD = 358,
292 >     NETWORK_DESC = 359,
293 >     NETWORK_NAME = 360,
294 >     NICK = 361,
295 >     NICK_CHANGES = 362,
296 >     NO_CREATE_ON_SPLIT = 363,
297 >     NO_JOIN_ON_SPLIT = 364,
298 >     NO_OPER_FLOOD = 365,
299 >     NO_TILDE = 366,
300 >     NUMBER = 367,
301 >     NUMBER_PER_IDENT = 368,
302 >     NUMBER_PER_CIDR = 369,
303 >     NUMBER_PER_IP = 370,
304 >     NUMBER_PER_IP_GLOBAL = 371,
305 >     OPERATOR = 372,
306 >     OPERS_BYPASS_CALLERID = 373,
307 >     OPER_ONLY_UMODES = 374,
308 >     OPER_PASS_RESV = 375,
309 >     OPER_SPY_T = 376,
310 >     OPER_UMODES = 377,
311 >     JOIN_FLOOD_COUNT = 378,
312 >     JOIN_FLOOD_TIME = 379,
313 >     PACE_WAIT = 380,
314 >     PACE_WAIT_SIMPLE = 381,
315 >     PASSWORD = 382,
316 >     PATH = 383,
317 >     PING_COOKIE = 384,
318 >     PING_TIME = 385,
319 >     PING_WARNING = 386,
320 >     PORT = 387,
321 >     QSTRING = 388,
322 >     QUIET_ON_BAN = 389,
323 >     REASON = 390,
324 >     REDIRPORT = 391,
325 >     REDIRSERV = 392,
326 >     REGEX_T = 393,
327 >     REHASH = 394,
328 >     TREJECT_HOLD_TIME = 395,
329 >     REMOTE = 396,
330 >     REMOTEBAN = 397,
331 >     RESTRICT_CHANNELS = 398,
332 >     RESTRICTED = 399,
333 >     RSA_PRIVATE_KEY_FILE = 400,
334 >     RSA_PUBLIC_KEY_FILE = 401,
335 >     SSL_CERTIFICATE_FILE = 402,
336 >     SSL_DH_PARAM_FILE = 403,
337 >     T_SSL_CLIENT_METHOD = 404,
338 >     T_SSL_SERVER_METHOD = 405,
339 >     T_SSLV3 = 406,
340 >     T_TLSV1 = 407,
341 >     RESV = 408,
342 >     RESV_EXEMPT = 409,
343 >     SECONDS = 410,
344 >     MINUTES = 411,
345 >     HOURS = 412,
346 >     DAYS = 413,
347 >     WEEKS = 414,
348 >     SENDQ = 415,
349 >     SEND_PASSWORD = 416,
350 >     SERVERHIDE = 417,
351 >     SERVERINFO = 418,
352 >     IRCD_SID = 419,
353 >     TKLINE_EXPIRE_NOTICES = 420,
354 >     T_SHARED = 421,
355 >     T_CLUSTER = 422,
356 >     TYPE = 423,
357 >     SHORT_MOTD = 424,
358 >     SILENT = 425,
359 >     SPOOF = 426,
360 >     SPOOF_NOTICE = 427,
361 >     STATS_E_DISABLED = 428,
362 >     STATS_I_OPER_ONLY = 429,
363 >     STATS_K_OPER_ONLY = 430,
364 >     STATS_O_OPER_ONLY = 431,
365 >     STATS_P_OPER_ONLY = 432,
366 >     TBOOL = 433,
367 >     TMASKED = 434,
368 >     T_REJECT = 435,
369 >     TS_MAX_DELTA = 436,
370 >     TS_WARN_DELTA = 437,
371 >     TWODOTS = 438,
372 >     T_ALL = 439,
373 >     T_BOTS = 440,
374 >     T_SOFTCALLERID = 441,
375 >     T_CALLERID = 442,
376 >     T_CCONN = 443,
377 >     T_CCONN_FULL = 444,
378 >     T_SSL_CIPHER_LIST = 445,
379 >     T_CLIENT_FLOOD = 446,
380 >     T_DEAF = 447,
381 >     T_DEBUG = 448,
382 >     T_DLINE = 449,
383 >     T_DRONE = 450,
384 >     T_EXTERNAL = 451,
385 >     T_FULL = 452,
386 >     T_INVISIBLE = 453,
387 >     T_IPV4 = 454,
388 >     T_IPV6 = 455,
389 >     T_LOCOPS = 456,
390 >     T_MAX_CLIENTS = 457,
391 >     T_NCHANGE = 458,
392 >     T_OPERWALL = 459,
393 >     T_REJ = 460,
394 >     T_SERVER = 461,
395 >     T_SERVNOTICE = 462,
396 >     T_SET = 463,
397       T_SKILL = 464,
398       T_SPY = 465,
399       T_SSL = 466,
400       T_UMODES = 467,
401       T_UNAUTH = 468,
402 <     T_UNLIMITED = 469,
403 <     T_UNRESV = 470,
404 <     T_UNXLINE = 471,
405 <     T_GLOBOPS = 472,
406 <     T_WALLOP = 473,
407 <     T_RESTART = 474,
408 <     T_SERVICE = 475,
409 <     T_SERVICES_NAME = 476,
410 <     T_TIMESTAMP = 477,
402 >     T_UNDLINE = 469,
403 >     T_UNLIMITED = 470,
404 >     T_UNRESV = 471,
405 >     T_UNXLINE = 472,
406 >     T_GLOBOPS = 473,
407 >     T_WALLOP = 474,
408 >     T_RESTART = 475,
409 >     T_SERVICE = 476,
410 >     T_SERVICES_NAME = 477,
411       THROTTLE_TIME = 478,
412       TOPICBURST = 479,
413       TRUE_NO_OPER_FLOOD = 480,
# Line 456 | Line 442 | unhook_hub_leaf_confs(void)
442   #define AUTOCONN 265
443   #define T_BLOCK 266
444   #define BURST_AWAY 267
445 < #define BURST_TOPICWHO 268
446 < #define BYTES 269
447 < #define KBYTES 270
448 < #define MBYTES 271
449 < #define GBYTES 272
450 < #define TBYTES 273
451 < #define CALLER_ID_WAIT 274
452 < #define CAN_FLOOD 275
453 < #define CHANNEL 276
454 < #define CIDR_BITLEN_IPV4 277
455 < #define CIDR_BITLEN_IPV6 278
456 < #define CIPHER_PREFERENCE 279
457 < #define CLASS 280
458 < #define COMPRESSED 281
459 < #define COMPRESSION_LEVEL 282
460 < #define CONNECT 283
461 < #define CONNECTFREQ 284
462 < #define CRYPTLINK 285
463 < #define DEFAULT_CIPHER_PREFERENCE 286
464 < #define DEFAULT_FLOODCOUNT 287
465 < #define DEFAULT_SPLIT_SERVER_COUNT 288
466 < #define DEFAULT_SPLIT_USER_COUNT 289
467 < #define DENY 290
468 < #define DESCRIPTION 291
469 < #define DIE 292
470 < #define DISABLE_AUTH 293
471 < #define DISABLE_FAKE_CHANNELS 294
472 < #define DISABLE_HIDDEN 295
473 < #define DISABLE_LOCAL_CHANNELS 296
474 < #define DISABLE_REMOTE_COMMANDS 297
475 < #define DOTS_IN_IDENT 298
476 < #define DURATION 299
477 < #define EGDPOOL_PATH 300
478 < #define EMAIL 301
479 < #define ENABLE 302
480 < #define ENCRYPTED 303
481 < #define EXCEED_LIMIT 304
482 < #define EXEMPT 305
483 < #define FAILED_OPER_NOTICE 306
484 < #define IRCD_FLAGS 307
485 < #define FLATTEN_LINKS 308
486 < #define GECOS 309
487 < #define GENERAL 310
488 < #define GLINE 311
489 < #define GLINES 312
490 < #define GLINE_EXEMPT 313
491 < #define GLINE_TIME 314
492 < #define GLINE_MIN_CIDR 315
493 < #define GLINE_MIN_CIDR6 316
494 < #define GLOBAL_KILL 317
495 < #define IRCD_AUTH 318
496 < #define NEED_IDENT 319
497 < #define HAVENT_READ_CONF 320
498 < #define HIDDEN 321
499 < #define HIDDEN_NAME 322
500 < #define HIDE_SERVER_IPS 323
501 < #define HIDE_SERVERS 324
502 < #define HIDE_SPOOF_IPS 325
503 < #define HOST 326
504 < #define HUB 327
505 < #define HUB_MASK 328
506 < #define IGNORE_BOGUS_TS 329
507 < #define INVISIBLE_ON_CONNECT 330
508 < #define IP 331
509 < #define KILL 332
510 < #define KILL_CHASE_TIME_LIMIT 333
511 < #define KLINE 334
512 < #define KLINE_EXEMPT 335
513 < #define KLINE_REASON 336
514 < #define KLINE_WITH_REASON 337
515 < #define KNOCK_DELAY 338
516 < #define KNOCK_DELAY_CHANNEL 339
517 < #define LEAF_MASK 340
518 < #define LINKS_DELAY 341
519 < #define LISTEN 342
520 < #define T_LOG 343
521 < #define MAX_ACCEPT 344
522 < #define MAX_BANS 345
523 < #define MAX_CHANS_PER_USER 346
524 < #define MAX_GLOBAL 347
525 < #define MAX_IDENT 348
526 < #define MAX_LOCAL 349
527 < #define MAX_NICK_CHANGES 350
528 < #define MAX_NICK_TIME 351
529 < #define MAX_NUMBER 352
530 < #define MAX_TARGETS 353
531 < #define MAX_WATCH 354
532 < #define MESSAGE_LOCALE 355
533 < #define MIN_NONWILDCARD 356
534 < #define MIN_NONWILDCARD_SIMPLE 357
535 < #define MODULE 358
536 < #define MODULES 359
537 < #define NAME 360
538 < #define NEED_PASSWORD 361
539 < #define NETWORK_DESC 362
540 < #define NETWORK_NAME 363
541 < #define NICK 364
542 < #define NICK_CHANGES 365
543 < #define NO_CREATE_ON_SPLIT 366
544 < #define NO_JOIN_ON_SPLIT 367
545 < #define NO_OPER_FLOOD 368
546 < #define NO_TILDE 369
547 < #define NUMBER 370
548 < #define NUMBER_PER_IDENT 371
549 < #define NUMBER_PER_CIDR 372
550 < #define NUMBER_PER_IP 373
551 < #define NUMBER_PER_IP_GLOBAL 374
552 < #define OPERATOR 375
553 < #define OPERS_BYPASS_CALLERID 376
554 < #define OPER_ONLY_UMODES 377
555 < #define OPER_PASS_RESV 378
556 < #define OPER_SPY_T 379
557 < #define OPER_UMODES 380
558 < #define JOIN_FLOOD_COUNT 381
559 < #define JOIN_FLOOD_TIME 382
560 < #define PACE_WAIT 383
561 < #define PACE_WAIT_SIMPLE 384
562 < #define PASSWORD 385
563 < #define PATH 386
564 < #define PING_COOKIE 387
565 < #define PING_TIME 388
566 < #define PING_WARNING 389
567 < #define PORT 390
568 < #define QSTRING 391
569 < #define QUIET_ON_BAN 392
570 < #define REASON 393
571 < #define REDIRPORT 394
572 < #define REDIRSERV 395
573 < #define REGEX_T 396
574 < #define REHASH 397
575 < #define TREJECT_HOLD_TIME 398
576 < #define REMOTE 399
577 < #define REMOTEBAN 400
578 < #define RESTRICT_CHANNELS 401
579 < #define RESTRICTED 402
580 < #define RSA_PRIVATE_KEY_FILE 403
581 < #define RSA_PUBLIC_KEY_FILE 404
582 < #define SSL_CERTIFICATE_FILE 405
583 < #define T_SSL_CONNECTION_METHOD 406
584 < #define T_SSLV3 407
585 < #define T_TLSV1 408
586 < #define RESV 409
587 < #define RESV_EXEMPT 410
588 < #define SECONDS 411
589 < #define MINUTES 412
590 < #define HOURS 413
591 < #define DAYS 414
592 < #define WEEKS 415
593 < #define SENDQ 416
594 < #define SEND_PASSWORD 417
595 < #define SERVERHIDE 418
596 < #define SERVERINFO 419
597 < #define SERVLINK_PATH 420
598 < #define IRCD_SID 421
599 < #define TKLINE_EXPIRE_NOTICES 422
600 < #define T_SHARED 423
601 < #define T_CLUSTER 424
602 < #define TYPE 425
603 < #define SHORT_MOTD 426
604 < #define SILENT 427
605 < #define SPOOF 428
606 < #define SPOOF_NOTICE 429
607 < #define STATS_E_DISABLED 430
608 < #define STATS_I_OPER_ONLY 431
609 < #define STATS_K_OPER_ONLY 432
610 < #define STATS_O_OPER_ONLY 433
611 < #define STATS_P_OPER_ONLY 434
612 < #define TBOOL 435
613 < #define TMASKED 436
614 < #define T_REJECT 437
615 < #define TS_MAX_DELTA 438
616 < #define TS_WARN_DELTA 439
617 < #define TWODOTS 440
618 < #define T_ALL 441
619 < #define T_BOTS 442
620 < #define T_SOFTCALLERID 443
621 < #define T_CALLERID 444
622 < #define T_CCONN 445
623 < #define T_CCONN_FULL 446
624 < #define T_CLIENT_FLOOD 447
625 < #define T_DEAF 448
626 < #define T_DEBUG 449
627 < #define T_DLINE 450
628 < #define T_DRONE 451
629 < #define T_EXTERNAL 452
630 < #define T_FULL 453
631 < #define T_INVISIBLE 454
632 < #define T_IPV4 455
633 < #define T_IPV6 456
634 < #define T_LOCOPS 457
635 < #define T_MAX_CLIENTS 458
636 < #define T_NCHANGE 459
637 < #define T_OPERWALL 460
638 < #define T_REJ 461
639 < #define T_SERVER 462
640 < #define T_SERVNOTICE 463
445 > #define BYTES 268
446 > #define KBYTES 269
447 > #define MBYTES 270
448 > #define GBYTES 271
449 > #define TBYTES 272
450 > #define CALLER_ID_WAIT 273
451 > #define CAN_FLOOD 274
452 > #define CHANNEL 275
453 > #define CIDR_BITLEN_IPV4 276
454 > #define CIDR_BITLEN_IPV6 277
455 > #define CLASS 278
456 > #define CONNECT 279
457 > #define CONNECTFREQ 280
458 > #define DEFAULT_FLOODCOUNT 281
459 > #define DEFAULT_SPLIT_SERVER_COUNT 282
460 > #define DEFAULT_SPLIT_USER_COUNT 283
461 > #define DENY 284
462 > #define DESCRIPTION 285
463 > #define DIE 286
464 > #define DISABLE_AUTH 287
465 > #define DISABLE_FAKE_CHANNELS 288
466 > #define DISABLE_HIDDEN 289
467 > #define DISABLE_LOCAL_CHANNELS 290
468 > #define DISABLE_REMOTE_COMMANDS 291
469 > #define DOTS_IN_IDENT 292
470 > #define DURATION 293
471 > #define EGDPOOL_PATH 294
472 > #define EMAIL 295
473 > #define ENABLE 296
474 > #define ENCRYPTED 297
475 > #define EXCEED_LIMIT 298
476 > #define EXEMPT 299
477 > #define FAILED_OPER_NOTICE 300
478 > #define IRCD_FLAGS 301
479 > #define FLATTEN_LINKS 302
480 > #define GECOS 303
481 > #define GENERAL 304
482 > #define GLINE 305
483 > #define GLINE_DURATION 306
484 > #define GLINE_ENABLE 307
485 > #define GLINE_EXEMPT 308
486 > #define GLINE_TIME 309
487 > #define GLINE_REQUEST_DURATION 310
488 > #define GLINE_MIN_CIDR 311
489 > #define GLINE_MIN_CIDR6 312
490 > #define GLOBAL_KILL 313
491 > #define IRCD_AUTH 314
492 > #define NEED_IDENT 315
493 > #define HAVENT_READ_CONF 316
494 > #define HIDDEN 317
495 > #define HIDDEN_NAME 318
496 > #define HIDE_SERVER_IPS 319
497 > #define HIDE_SERVERS 320
498 > #define HIDE_SPOOF_IPS 321
499 > #define HOST 322
500 > #define HUB 323
501 > #define HUB_MASK 324
502 > #define IGNORE_BOGUS_TS 325
503 > #define INVISIBLE_ON_CONNECT 326
504 > #define IP 327
505 > #define KILL 328
506 > #define KILL_CHASE_TIME_LIMIT 329
507 > #define KLINE 330
508 > #define KLINE_EXEMPT 331
509 > #define KLINE_REASON 332
510 > #define KLINE_WITH_REASON 333
511 > #define KNOCK_DELAY 334
512 > #define KNOCK_DELAY_CHANNEL 335
513 > #define LEAF_MASK 336
514 > #define LINKS_DELAY 337
515 > #define LISTEN 338
516 > #define T_LOG 339
517 > #define MAX_ACCEPT 340
518 > #define MAX_BANS 341
519 > #define MAX_CHANS_PER_OPER 342
520 > #define MAX_CHANS_PER_USER 343
521 > #define MAX_GLOBAL 344
522 > #define MAX_IDENT 345
523 > #define MAX_LOCAL 346
524 > #define MAX_NICK_CHANGES 347
525 > #define MAX_NICK_TIME 348
526 > #define MAX_NUMBER 349
527 > #define MAX_TARGETS 350
528 > #define MAX_WATCH 351
529 > #define MESSAGE_LOCALE 352
530 > #define MIN_NONWILDCARD 353
531 > #define MIN_NONWILDCARD_SIMPLE 354
532 > #define MODULE 355
533 > #define MODULES 356
534 > #define NAME 357
535 > #define NEED_PASSWORD 358
536 > #define NETWORK_DESC 359
537 > #define NETWORK_NAME 360
538 > #define NICK 361
539 > #define NICK_CHANGES 362
540 > #define NO_CREATE_ON_SPLIT 363
541 > #define NO_JOIN_ON_SPLIT 364
542 > #define NO_OPER_FLOOD 365
543 > #define NO_TILDE 366
544 > #define NUMBER 367
545 > #define NUMBER_PER_IDENT 368
546 > #define NUMBER_PER_CIDR 369
547 > #define NUMBER_PER_IP 370
548 > #define NUMBER_PER_IP_GLOBAL 371
549 > #define OPERATOR 372
550 > #define OPERS_BYPASS_CALLERID 373
551 > #define OPER_ONLY_UMODES 374
552 > #define OPER_PASS_RESV 375
553 > #define OPER_SPY_T 376
554 > #define OPER_UMODES 377
555 > #define JOIN_FLOOD_COUNT 378
556 > #define JOIN_FLOOD_TIME 379
557 > #define PACE_WAIT 380
558 > #define PACE_WAIT_SIMPLE 381
559 > #define PASSWORD 382
560 > #define PATH 383
561 > #define PING_COOKIE 384
562 > #define PING_TIME 385
563 > #define PING_WARNING 386
564 > #define PORT 387
565 > #define QSTRING 388
566 > #define QUIET_ON_BAN 389
567 > #define REASON 390
568 > #define REDIRPORT 391
569 > #define REDIRSERV 392
570 > #define REGEX_T 393
571 > #define REHASH 394
572 > #define TREJECT_HOLD_TIME 395
573 > #define REMOTE 396
574 > #define REMOTEBAN 397
575 > #define RESTRICT_CHANNELS 398
576 > #define RESTRICTED 399
577 > #define RSA_PRIVATE_KEY_FILE 400
578 > #define RSA_PUBLIC_KEY_FILE 401
579 > #define SSL_CERTIFICATE_FILE 402
580 > #define SSL_DH_PARAM_FILE 403
581 > #define T_SSL_CLIENT_METHOD 404
582 > #define T_SSL_SERVER_METHOD 405
583 > #define T_SSLV3 406
584 > #define T_TLSV1 407
585 > #define RESV 408
586 > #define RESV_EXEMPT 409
587 > #define SECONDS 410
588 > #define MINUTES 411
589 > #define HOURS 412
590 > #define DAYS 413
591 > #define WEEKS 414
592 > #define SENDQ 415
593 > #define SEND_PASSWORD 416
594 > #define SERVERHIDE 417
595 > #define SERVERINFO 418
596 > #define IRCD_SID 419
597 > #define TKLINE_EXPIRE_NOTICES 420
598 > #define T_SHARED 421
599 > #define T_CLUSTER 422
600 > #define TYPE 423
601 > #define SHORT_MOTD 424
602 > #define SILENT 425
603 > #define SPOOF 426
604 > #define SPOOF_NOTICE 427
605 > #define STATS_E_DISABLED 428
606 > #define STATS_I_OPER_ONLY 429
607 > #define STATS_K_OPER_ONLY 430
608 > #define STATS_O_OPER_ONLY 431
609 > #define STATS_P_OPER_ONLY 432
610 > #define TBOOL 433
611 > #define TMASKED 434
612 > #define T_REJECT 435
613 > #define TS_MAX_DELTA 436
614 > #define TS_WARN_DELTA 437
615 > #define TWODOTS 438
616 > #define T_ALL 439
617 > #define T_BOTS 440
618 > #define T_SOFTCALLERID 441
619 > #define T_CALLERID 442
620 > #define T_CCONN 443
621 > #define T_CCONN_FULL 444
622 > #define T_SSL_CIPHER_LIST 445
623 > #define T_CLIENT_FLOOD 446
624 > #define T_DEAF 447
625 > #define T_DEBUG 448
626 > #define T_DLINE 449
627 > #define T_DRONE 450
628 > #define T_EXTERNAL 451
629 > #define T_FULL 452
630 > #define T_INVISIBLE 453
631 > #define T_IPV4 454
632 > #define T_IPV6 455
633 > #define T_LOCOPS 456
634 > #define T_MAX_CLIENTS 457
635 > #define T_NCHANGE 458
636 > #define T_OPERWALL 459
637 > #define T_REJ 460
638 > #define T_SERVER 461
639 > #define T_SERVNOTICE 462
640 > #define T_SET 463
641   #define T_SKILL 464
642   #define T_SPY 465
643   #define T_SSL 466
644   #define T_UMODES 467
645   #define T_UNAUTH 468
646 < #define T_UNLIMITED 469
647 < #define T_UNRESV 470
648 < #define T_UNXLINE 471
649 < #define T_GLOBOPS 472
650 < #define T_WALLOP 473
651 < #define T_RESTART 474
652 < #define T_SERVICE 475
653 < #define T_SERVICES_NAME 476
654 < #define T_TIMESTAMP 477
646 > #define T_UNDLINE 469
647 > #define T_UNLIMITED 470
648 > #define T_UNRESV 471
649 > #define T_UNXLINE 472
650 > #define T_GLOBOPS 473
651 > #define T_WALLOP 474
652 > #define T_RESTART 475
653 > #define T_SERVICE 476
654 > #define T_SERVICES_NAME 477
655   #define THROTTLE_TIME 478
656   #define TOPICBURST 479
657   #define TRUE_NO_OPER_FLOOD 480
# Line 695 | Line 681 | unhook_hub_leaf_confs(void)
681   typedef union YYSTYPE
682   {
683  
684 < /* Line 293 of yacc.c  */
685 < #line 132 "ircd_parser.y"
684 > /* Line 295 of yacc.c  */
685 > #line 110 "conf_parser.y"
686  
687    int number;
688    char *string;
689  
690  
691  
692 < /* Line 293 of yacc.c  */
693 < #line 708 "ircd_parser.c"
692 > /* Line 295 of yacc.c  */
693 > #line 694 "conf_parser.c"
694   } YYSTYPE;
695   # define YYSTYPE_IS_TRIVIAL 1
696   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 715 | Line 701 | typedef union YYSTYPE
701   /* Copy the second part of user declarations.  */
702  
703  
704 < /* Line 343 of yacc.c  */
705 < #line 720 "ircd_parser.c"
704 > /* Line 345 of yacc.c  */
705 > #line 706 "conf_parser.c"
706  
707   #ifdef short
708   # undef short
# Line 822 | Line 808 | YYID (yyi)
808   #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
809       || defined __cplusplus || defined _MSC_VER)
810   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
811 +      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
812   #     ifndef EXIT_SUCCESS
813   #      define EXIT_SUCCESS 0
814   #     endif
# Line 913 | Line 900 | union yyalloc
900   #endif
901  
902   #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
903 < /* Copy COUNT objects from FROM to TO.  The source and destination do
903 > /* Copy COUNT objects from SRC to DST.  The source and destination do
904     not overlap.  */
905   # ifndef YYCOPY
906   #  if defined __GNUC__ && 1 < __GNUC__
907 < #   define YYCOPY(To, From, Count) \
908 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
907 > #   define YYCOPY(Dst, Src, Count) \
908 >      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
909   #  else
910 < #   define YYCOPY(To, From, Count)              \
911 <      do                                        \
912 <        {                                       \
913 <          YYSIZE_T yyi;                         \
914 <          for (yyi = 0; yyi < (Count); yyi++)   \
915 <            (To)[yyi] = (From)[yyi];            \
916 <        }                                       \
910 > #   define YYCOPY(Dst, Src, Count)              \
911 >      do                                        \
912 >        {                                       \
913 >          YYSIZE_T yyi;                         \
914 >          for (yyi = 0; yyi < (Count); yyi++)   \
915 >            (Dst)[yyi] = (Src)[yyi];            \
916 >        }                                       \
917        while (YYID (0))
918   #  endif
919   # endif
# Line 935 | Line 922 | union yyalloc
922   /* YYFINAL -- State number of the termination state.  */
923   #define YYFINAL  2
924   /* YYLAST -- Last index in YYTABLE.  */
925 < #define YYLAST   1351
925 > #define YYLAST   1259
926  
927   /* YYNTOKENS -- Number of terminals.  */
928   #define YYNTOKENS  249
929   /* YYNNTS -- Number of nonterminals.  */
930 < #define YYNNTS  306
930 > #define YYNNTS  292
931   /* YYNRULES -- Number of rules.  */
932 < #define YYNRULES  670
932 > #define YYNRULES  647
933   /* YYNRULES -- Number of states.  */
934 < #define YYNSTATES  1318
934 > #define YYNSTATES  1275
935  
936   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
937   #define YYUNDEFTOK  2
# Line 1015 | Line 1002 | static const yytype_uint16 yyprhs[] =
1002   {
1003         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1004        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1005 <      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
1006 <      61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
1007 <      95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
1008 <     133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1009 <     154,   156,   158,   160,   162,   165,   166,   172,   176,   178,
1010 <     180,   182,   187,   192,   197,   202,   207,   212,   217,   222,
1011 <     227,   232,   237,   243,   246,   248,   250,   252,   254,   257,
1012 <     262,   267,   272,   278,   281,   283,   285,   287,   289,   292,
1013 <     297,   302,   303,   310,   313,   315,   317,   319,   321,   324,
1014 <     329,   334,   339,   340,   346,   350,   352,   354,   356,   358,
1015 <     360,   362,   364,   366,   367,   374,   377,   379,   381,   383,
1016 <     385,   387,   389,   391,   393,   395,   398,   403,   408,   413,
1017 <     418,   423,   428,   429,   435,   439,   441,   443,   445,   447,
1018 <     449,   451,   453,   455,   457,   459,   461,   463,   465,   467,
1019 <     469,   471,   473,   475,   477,   479,   481,   482,   488,   492,
1020 <     494,   496,   498,   500,   502,   504,   506,   508,   510,   512,
1021 <     514,   516,   518,   520,   522,   524,   526,   527,   534,   537,
1022 <     539,   541,   543,   545,   547,   549,   551,   553,   555,   557,
1023 <     559,   561,   563,   565,   568,   573,   578,   583,   588,   593,
1024 <     598,   603,   608,   613,   618,   623,   628,   633,   634,   641,
1025 <     642,   648,   652,   654,   656,   658,   660,   663,   665,   667,
1026 <     669,   671,   673,   676,   677,   683,   687,   689,   691,   695,
1027 <     700,   705,   706,   713,   716,   718,   720,   722,   724,   726,
1028 <     728,   730,   732,   734,   737,   742,   747,   752,   757,   758,
1029 <     764,   768,   770,   772,   774,   776,   778,   780,   782,   784,
1030 <     786,   788,   793,   798,   803,   804,   811,   814,   816,   818,
1031 <     820,   822,   825,   830,   835,   840,   846,   849,   851,   853,
1032 <     855,   860,   861,   868,   871,   873,   875,   877,   879,   882,
1033 <     887,   892,   893,   899,   903,   905,   907,   909,   911,   913,
1034 <     915,   917,   919,   921,   923,   925,   927,   928,   935,   938,
1035 <     940,   942,   944,   947,   952,   953,   959,   963,   965,   967,
1036 <     969,   971,   973,   975,   977,   979,   981,   983,   985,   987,
1037 <     988,   995,   998,  1000,  1002,  1004,  1006,  1008,  1010,  1012,
1038 <    1014,  1016,  1018,  1020,  1022,  1024,  1026,  1028,  1031,  1036,
1039 <    1041,  1046,  1051,  1056,  1061,  1066,  1071,  1072,  1078,  1082,
1040 <    1084,  1086,  1088,  1090,  1092,  1094,  1099,  1104,  1109,  1114,
1041 <    1119,  1124,  1125,  1132,  1133,  1139,  1143,  1145,  1147,  1150,
1042 <    1152,  1154,  1156,  1158,  1160,  1165,  1170,  1171,  1178,  1181,
1043 <    1183,  1185,  1187,  1189,  1194,  1199,  1205,  1208,  1210,  1212,
1044 <    1214,  1219,  1220,  1227,  1228,  1234,  1238,  1240,  1242,  1245,
1045 <    1247,  1249,  1251,  1253,  1255,  1260,  1265,  1271,  1274,  1276,
1046 <    1278,  1280,  1282,  1284,  1286,  1288,  1290,  1292,  1294,  1296,
1047 <    1298,  1300,  1302,  1304,  1306,  1308,  1310,  1312,  1314,  1316,
1048 <    1318,  1320,  1322,  1324,  1326,  1328,  1330,  1332,  1334,  1336,
1049 <    1338,  1340,  1342,  1344,  1346,  1348,  1350,  1352,  1354,  1356,
1050 <    1358,  1360,  1362,  1364,  1366,  1368,  1370,  1372,  1374,  1376,
1051 <    1378,  1380,  1382,  1384,  1386,  1391,  1396,  1401,  1406,  1411,
1052 <    1416,  1421,  1426,  1431,  1436,  1441,  1446,  1451,  1456,  1461,
1053 <    1466,  1471,  1476,  1481,  1486,  1491,  1496,  1501,  1506,  1511,
1054 <    1516,  1521,  1526,  1531,  1536,  1541,  1546,  1551,  1556,  1561,
1055 <    1566,  1571,  1576,  1581,  1586,  1591,  1596,  1601,  1606,  1611,
1056 <    1616,  1621,  1626,  1631,  1636,  1637,  1643,  1647,  1649,  1651,
1057 <    1653,  1655,  1657,  1659,  1661,  1663,  1665,  1667,  1669,  1671,
1058 <    1673,  1675,  1677,  1679,  1681,  1683,  1685,  1687,  1689,  1690,
1059 <    1696,  1700,  1702,  1704,  1706,  1708,  1710,  1712,  1714,  1716,
1060 <    1718,  1720,  1722,  1724,  1726,  1728,  1730,  1732,  1734,  1736,
1061 <    1738,  1740,  1742,  1747,  1752,  1757,  1762,  1763,  1770,  1773,
1062 <    1775,  1777,  1779,  1781,  1783,  1785,  1787,  1789,  1794,  1799,
1063 <    1800,  1806,  1810,  1812,  1814,  1816,  1821,  1826,  1827,  1833,
1064 <    1837,  1839,  1841,  1843,  1849,  1852,  1854,  1856,  1858,  1860,
1065 <    1862,  1864,  1866,  1868,  1870,  1872,  1874,  1876,  1878,  1880,
1066 <    1882,  1884,  1886,  1888,  1890,  1892,  1897,  1902,  1907,  1912,
1067 <    1917,  1922,  1927,  1932,  1937,  1942,  1947,  1952,  1957,  1962,
1081 <    1967,  1972,  1977,  1982,  1988,  1991,  1993,  1995,  1997,  1999,
1082 <    2001,  2003,  2005,  2007,  2009,  2014,  2019,  2024,  2029,  2034,
1083 <    2039
1005 >      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
1006 >      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
1007 >      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
1008 >     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1009 >     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
1010 >     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
1011 >     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
1012 >     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
1013 >     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
1014 >     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
1015 >     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
1016 >     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
1017 >     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
1018 >     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
1019 >     477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
1020 >     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
1021 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1022 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
1023 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
1024 >     587,   589,   591,   594,   599,   604,   609,   614,   619,   624,
1025 >     629,   634,   639,   644,   649,   654,   659,   660,   667,   668,
1026 >     674,   678,   680,   682,   684,   686,   689,   691,   693,   695,
1027 >     697,   699,   702,   703,   709,   713,   715,   717,   721,   726,
1028 >     731,   732,   739,   742,   744,   746,   748,   750,   752,   754,
1029 >     756,   758,   760,   763,   768,   773,   778,   783,   784,   790,
1030 >     794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
1031 >     814,   819,   824,   829,   830,   837,   840,   842,   844,   846,
1032 >     848,   851,   856,   861,   866,   872,   875,   877,   879,   881,
1033 >     886,   887,   894,   897,   899,   901,   903,   905,   908,   913,
1034 >     918,   919,   925,   929,   931,   933,   935,   937,   939,   941,
1035 >     943,   945,   947,   949,   951,   952,   959,   962,   964,   966,
1036 >     968,   971,   976,   977,   983,   987,   989,   991,   993,   995,
1037 >     997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1038 >    1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1039 >    1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1040 >    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1110,
1041 >    1112,  1117,  1122,  1127,  1132,  1137,  1138,  1145,  1146,  1152,
1042 >    1156,  1158,  1160,  1163,  1165,  1167,  1169,  1171,  1173,  1178,
1043 >    1183,  1184,  1191,  1194,  1196,  1198,  1200,  1202,  1207,  1212,
1044 >    1218,  1221,  1223,  1225,  1227,  1232,  1233,  1240,  1241,  1247,
1045 >    1251,  1253,  1255,  1258,  1260,  1262,  1264,  1266,  1268,  1273,
1046 >    1278,  1284,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1047 >    1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1048 >    1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1049 >    1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1050 >    1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1051 >    1383,  1385,  1387,  1389,  1391,  1393,  1395,  1397,  1399,  1404,
1052 >    1409,  1414,  1419,  1424,  1429,  1434,  1439,  1444,  1449,  1454,
1053 >    1459,  1464,  1469,  1474,  1479,  1484,  1489,  1494,  1499,  1504,
1054 >    1509,  1514,  1519,  1524,  1529,  1534,  1539,  1544,  1549,  1554,
1055 >    1559,  1564,  1569,  1574,  1579,  1584,  1589,  1594,  1599,  1604,
1056 >    1609,  1614,  1619,  1624,  1629,  1634,  1639,  1644,  1649,  1650,
1057 >    1656,  1660,  1662,  1664,  1666,  1668,  1670,  1672,  1674,  1676,
1058 >    1678,  1680,  1682,  1684,  1686,  1688,  1690,  1692,  1694,  1696,
1059 >    1698,  1700,  1702,  1703,  1709,  1713,  1715,  1717,  1719,  1721,
1060 >    1723,  1725,  1727,  1729,  1731,  1733,  1735,  1737,  1739,  1741,
1061 >    1743,  1745,  1747,  1749,  1751,  1753,  1755,  1760,  1765,  1770,
1062 >    1775,  1781,  1784,  1786,  1788,  1790,  1792,  1794,  1796,  1798,
1063 >    1800,  1802,  1804,  1806,  1808,  1810,  1812,  1814,  1816,  1818,
1064 >    1820,  1822,  1824,  1829,  1834,  1839,  1844,  1849,  1854,  1859,
1065 >    1864,  1869,  1874,  1879,  1884,  1889,  1894,  1899,  1904,  1909,
1066 >    1914,  1920,  1923,  1925,  1927,  1929,  1931,  1933,  1935,  1937,
1067 >    1939,  1941,  1946,  1951,  1956,  1961,  1966,  1971
1068   };
1069  
1070   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1071   static const yytype_int16 yyrhs[] =
1072   {
1073 <     250,     0,    -1,    -1,   250,   251,    -1,   279,    -1,   285,
1074 <      -1,   300,    -1,   524,    -1,   318,    -1,   335,    -1,   349,
1075 <      -1,   261,    -1,   545,    -1,   364,    -1,   371,    -1,   375,
1076 <      -1,   385,    -1,   394,    -1,   415,    -1,   425,    -1,   431,
1077 <      -1,   445,    -1,   508,    -1,   435,    -1,   256,    -1,     1,
1078 <     244,    -1,     1,   245,    -1,    -1,   253,    -1,   115,   252,
1079 <      -1,   115,   156,   252,    -1,   115,   157,   252,    -1,   115,
1080 <     158,   252,    -1,   115,   159,   252,    -1,   115,   160,   252,
1081 <      -1,    -1,   255,    -1,   115,   254,    -1,   115,    14,   254,
1082 <      -1,   115,    15,   254,    -1,   115,    16,   254,    -1,   104,
1083 <     246,   257,   245,   244,    -1,   257,   258,    -1,   258,    -1,
1084 <     259,    -1,   260,    -1,     1,   244,    -1,   103,   247,   136,
1085 <     244,    -1,   131,   247,   136,   244,    -1,   164,   246,   262,
1086 <     245,   244,    -1,   262,   263,    -1,   263,    -1,   270,    -1,
1087 <     275,    -1,   278,    -1,   272,    -1,   273,    -1,   274,    -1,
1088 <     277,    -1,   269,    -1,   276,    -1,   271,    -1,   268,    -1,
1089 <     264,    -1,     1,   244,    -1,    -1,   151,   265,   247,   266,
1090 <     244,    -1,   266,   248,   267,    -1,   267,    -1,   152,    -1,
1091 <     153,    -1,   150,   247,   136,   244,    -1,   148,   247,   136,
1092 <     244,    -1,   105,   247,   136,   244,    -1,   166,   247,   136,
1093 <     244,    -1,    36,   247,   136,   244,    -1,   108,   247,   136,
1094 <     244,    -1,   107,   247,   136,   244,    -1,   237,   247,   136,
1095 <     244,    -1,   238,   247,   136,   244,    -1,   203,   247,   115,
1096 <     244,    -1,    72,   247,   180,   244,    -1,     5,   246,   280,
1097 <     245,   244,    -1,   280,   281,    -1,   281,    -1,   282,    -1,
1098 <     284,    -1,   283,    -1,     1,   244,    -1,   105,   247,   136,
1099 <     244,    -1,    46,   247,   136,   244,    -1,    36,   247,   136,
1100 <     244,    -1,    88,   246,   286,   245,   244,    -1,   286,   287,
1101 <      -1,   287,    -1,   288,    -1,   289,    -1,   290,    -1,     1,
1102 <     244,    -1,   235,   247,   180,   244,    -1,   222,   247,   180,
1103 <     244,    -1,    -1,   291,   243,   246,   292,   245,   244,    -1,
1104 <     292,   293,    -1,   293,    -1,   294,    -1,   296,    -1,   295,
1105 <      -1,     1,   244,    -1,   105,   247,   136,   244,    -1,   242,
1106 <     247,   255,   244,    -1,   242,   247,   214,   244,    -1,    -1,
1107 <     170,   297,   247,   298,   244,    -1,   298,   248,   299,    -1,
1108 <     299,    -1,   230,    -1,   120,    -1,    56,    -1,   195,    -1,
1109 <      79,    -1,    77,    -1,   194,    -1,    -1,   120,   301,   246,
1110 <     302,   245,   244,    -1,   302,   303,    -1,   303,    -1,   304,
1111 <      -1,   305,    -1,   306,    -1,   310,    -1,   309,    -1,   307,
1112 <      -1,   308,    -1,   314,    -1,     1,   244,    -1,   105,   247,
1113 <     136,   244,    -1,   230,   247,   136,   244,    -1,   130,   247,
1114 <     136,   244,    -1,    48,   247,   180,   244,    -1,   149,   247,
1115 <     136,   244,    -1,    25,   247,   136,   244,    -1,    -1,   212,
1116 <     311,   247,   312,   244,    -1,   312,   248,   313,    -1,   313,
1117 <      -1,   187,    -1,   190,    -1,   191,    -1,   193,    -1,   194,
1118 <      -1,   198,    -1,    66,    -1,   209,    -1,   204,    -1,   206,
1119 <      -1,   213,    -1,   210,    -1,   197,    -1,   205,    -1,   208,
1120 <      -1,   199,    -1,   218,    -1,   188,    -1,   189,    -1,   202,
1121 <      -1,    -1,    52,   315,   247,   316,   244,    -1,   316,   248,
1122 <     317,    -1,   317,    -1,    62,    -1,   144,    -1,    79,    -1,
1123 <     229,    -1,   239,    -1,    56,    -1,    37,    -1,   219,    -1,
1124 <     142,    -1,     5,    -1,   110,    -1,   205,    -1,   217,    -1,
1125 <     124,    -1,   145,    -1,   103,    -1,    -1,    25,   319,   246,
1126 <     320,   245,   244,    -1,   320,   321,    -1,   321,    -1,   322,
1127 <      -1,   332,    -1,   333,    -1,   323,    -1,   324,    -1,   334,
1128 <      -1,   325,    -1,   326,    -1,   327,    -1,   328,    -1,   329,
1129 <      -1,   330,    -1,   331,    -1,     1,   244,    -1,   105,   247,
1130 <     136,   244,    -1,   133,   247,   253,   244,    -1,   134,   247,
1131 <     253,   244,    -1,   118,   247,   115,   244,    -1,    29,   247,
1132 <     253,   244,    -1,    97,   247,   115,   244,    -1,    92,   247,
1133 <     115,   244,    -1,    94,   247,   115,   244,    -1,    93,   247,
1134 <     115,   244,    -1,   161,   247,   255,   244,    -1,    22,   247,
1135 <     115,   244,    -1,    23,   247,   115,   244,    -1,   117,   247,
1136 <     115,   244,    -1,    -1,    87,   336,   246,   341,   245,   244,
1137 <      -1,    -1,    52,   338,   247,   339,   244,    -1,   339,   248,
1138 <     340,    -1,   340,    -1,   211,    -1,    66,    -1,   207,    -1,
1139 <     341,   342,    -1,   342,    -1,   343,    -1,   337,    -1,   347,
1140 <      -1,   348,    -1,     1,   244,    -1,    -1,   135,   247,   345,
1141 <     344,   244,    -1,   345,   248,   346,    -1,   346,    -1,   115,
1142 <      -1,   115,   185,   115,    -1,    76,   247,   136,   244,    -1,
1143 <      71,   247,   136,   244,    -1,    -1,    63,   350,   246,   351,
1144 <     245,   244,    -1,   351,   352,    -1,   352,    -1,   353,    -1,
1145 <     354,    -1,   355,    -1,   357,    -1,   361,    -1,   362,    -1,
1146 <     363,    -1,   356,    -1,     1,   244,    -1,   230,   247,   136,
1147 <     244,    -1,   130,   247,   136,   244,    -1,    25,   247,   136,
1148 <     244,    -1,    48,   247,   180,   244,    -1,    -1,    52,   358,
1149 <     247,   359,   244,    -1,   359,   248,   360,    -1,   360,    -1,
1150 <     174,    -1,    49,    -1,    80,    -1,    64,    -1,    20,    -1,
1151 <     114,    -1,    58,    -1,   155,    -1,   106,    -1,   173,   247,
1152 <     136,   244,    -1,   140,   247,   136,   244,    -1,   139,   247,
1153 <     115,   244,    -1,    -1,   154,   365,   246,   366,   245,   244,
1154 <      -1,   366,   367,    -1,   367,    -1,   368,    -1,   369,    -1,
1155 <     370,    -1,     1,   244,    -1,   138,   247,   136,   244,    -1,
1156 <      21,   247,   136,   244,    -1,   109,   247,   136,   244,    -1,
1157 <     220,   246,   372,   245,   244,    -1,   372,   373,    -1,   373,
1158 <      -1,   374,    -1,     1,    -1,   105,   247,   136,   244,    -1,
1159 <      -1,   168,   376,   246,   377,   245,   244,    -1,   377,   378,
1160 <      -1,   378,    -1,   379,    -1,   380,    -1,   381,    -1,     1,
1161 <     244,    -1,   105,   247,   136,   244,    -1,   230,   247,   136,
1162 <     244,    -1,    -1,   170,   382,   247,   383,   244,    -1,   383,
1163 <     248,   384,    -1,   384,    -1,    79,    -1,   226,    -1,   229,
1164 <      -1,   239,    -1,   227,    -1,   216,    -1,   154,    -1,   228,
1165 <      -1,   215,    -1,   202,    -1,   186,    -1,    -1,   169,   386,
1166 <     246,   387,   245,   244,    -1,   387,   388,    -1,   388,    -1,
1167 <     389,    -1,   390,    -1,     1,   244,    -1,   105,   247,   136,
1168 <     244,    -1,    -1,   170,   391,   247,   392,   244,    -1,   392,
1169 <     248,   393,    -1,   393,    -1,    79,    -1,   226,    -1,   229,
1170 <      -1,   239,    -1,   227,    -1,   216,    -1,   154,    -1,   228,
1171 <      -1,   215,    -1,   202,    -1,   186,    -1,    -1,    28,   395,
1172 <     246,   396,   245,   244,    -1,   396,   397,    -1,   397,    -1,
1173 <     398,    -1,   399,    -1,   400,    -1,   401,    -1,   402,    -1,
1174 <     404,    -1,   403,    -1,   405,    -1,   411,    -1,   412,    -1,
1175 <     413,    -1,   410,    -1,   409,    -1,   414,    -1,     1,   244,
1176 <      -1,   105,   247,   136,   244,    -1,    71,   247,   136,   244,
1177 <      -1,   237,   247,   136,   244,    -1,   162,   247,   136,   244,
1178 <      -1,     3,   247,   136,   244,    -1,   135,   247,   115,   244,
1179 <      -1,     6,   247,   200,   244,    -1,     6,   247,   201,   244,
1180 <      -1,    -1,    52,   406,   247,   407,   244,    -1,   407,   248,
1181 <     408,    -1,   408,    -1,    26,    -1,    30,    -1,    10,    -1,
1182 <      12,    -1,   224,    -1,   149,   247,   136,   244,    -1,    48,
1183 <     247,   180,   244,    -1,    73,   247,   136,   244,    -1,    85,
1184 <     247,   136,   244,    -1,    25,   247,   136,   244,    -1,    24,
1185 <     247,   136,   244,    -1,    -1,    77,   416,   246,   421,   245,
1186 <     244,    -1,    -1,   170,   418,   247,   419,   244,    -1,   419,
1187 <     248,   420,    -1,   420,    -1,   141,    -1,   421,   422,    -1,
1188 <     422,    -1,   423,    -1,   424,    -1,   417,    -1,     1,    -1,
1189 <     230,   247,   136,   244,    -1,   138,   247,   136,   244,    -1,
1190 <      -1,    35,   426,   246,   427,   245,   244,    -1,   427,   428,
1191 <      -1,   428,    -1,   429,    -1,   430,    -1,     1,    -1,    76,
1192 <     247,   136,   244,    -1,   138,   247,   136,   244,    -1,    50,
1193 <     246,   432,   245,   244,    -1,   432,   433,    -1,   433,    -1,
1194 <     434,    -1,     1,    -1,    76,   247,   136,   244,    -1,    -1,
1195 <      54,   436,   246,   441,   245,   244,    -1,    -1,   170,   438,
1196 <     247,   439,   244,    -1,   439,   248,   440,    -1,   440,    -1,
1197 <     141,    -1,   441,   442,    -1,   442,    -1,   443,    -1,   444,
1198 <      -1,   437,    -1,     1,    -1,   105,   247,   136,   244,    -1,
1199 <     138,   247,   136,   244,    -1,    55,   246,   446,   245,   244,
1200 <      -1,   446,   447,    -1,   447,    -1,   455,    -1,   456,    -1,
1201 <     458,    -1,   459,    -1,   460,    -1,   461,    -1,   462,    -1,
1202 <     463,    -1,   464,    -1,   465,    -1,   454,    -1,   467,    -1,
1203 <     468,    -1,   469,    -1,   470,    -1,   485,    -1,   472,    -1,
1204 <     474,    -1,   476,    -1,   475,    -1,   479,    -1,   473,    -1,
1205 <     480,    -1,   481,    -1,   482,    -1,   483,    -1,   484,    -1,
1206 <     500,    -1,   486,    -1,   490,    -1,   491,    -1,   496,    -1,
1207 <     477,    -1,   478,    -1,   506,    -1,   504,    -1,   505,    -1,
1208 <     487,    -1,   457,    -1,   488,    -1,   489,    -1,   507,    -1,
1209 <     495,    -1,   466,    -1,   493,    -1,   494,    -1,   453,    -1,
1210 <     449,    -1,   450,    -1,   451,    -1,   452,    -1,   471,    -1,
1211 <     448,    -1,   492,    -1,     1,    -1,    99,   247,   115,   244,
1212 <      -1,    60,   247,   115,   244,    -1,    61,   247,   115,   244,
1213 <      -1,   236,   247,   180,   244,    -1,   143,   247,   253,   244,
1214 <      -1,   167,   247,   180,   244,    -1,    78,   247,   253,   244,
1215 <      -1,    70,   247,   180,   244,    -1,    74,   247,   180,   244,
1216 <      -1,    42,   247,   180,   244,    -1,    51,   247,   180,   244,
1217 <      -1,     8,   247,   180,   244,    -1,    96,   247,   253,   244,
1218 <      -1,    95,   247,   115,   244,    -1,    89,   247,   115,   244,
1219 <      -1,     9,   247,   253,   244,    -1,   184,   247,   253,   244,
1220 <      -1,   183,   247,   253,   244,    -1,    65,   247,   115,   244,
1221 <      -1,    82,   247,   180,   244,    -1,    81,   247,   136,   244,
1222 <      -1,    75,   247,   180,   244,    -1,   241,   247,   180,   244,
1223 <      -1,   175,   247,   180,   244,    -1,   178,   247,   180,   244,
1224 <      -1,   179,   247,   180,   244,    -1,   177,   247,   180,   244,
1225 <      -1,   177,   247,   181,   244,    -1,   176,   247,   180,   244,
1226 <      -1,   176,   247,   181,   244,    -1,   128,   247,   253,   244,
1227 <      -1,    19,   247,   253,   244,    -1,   121,   247,   180,   244,
1228 <      -1,   129,   247,   253,   244,    -1,   171,   247,   180,   244,
1229 <      -1,   113,   247,   180,   244,    -1,   225,   247,   180,   244,
1230 <      -1,   123,   247,   180,   244,    -1,   100,   247,   136,   244,
1231 <      -1,    43,   247,   115,   244,    -1,    98,   247,   115,   244,
1232 <      -1,   165,   247,   136,   244,    -1,    31,   247,   136,   244,
1233 <      -1,    27,   247,   115,   244,    -1,   231,   247,   180,   244,
1234 <      -1,    45,   247,   136,   244,    -1,   221,   247,   136,   244,
1235 <      -1,   132,   247,   180,   244,    -1,    38,   247,   180,   244,
1236 <      -1,   223,   247,   253,   244,    -1,    -1,   125,   497,   247,
1237 <     498,   244,    -1,   498,   248,   499,    -1,   499,    -1,   187,
1238 <      -1,   190,    -1,   191,    -1,   193,    -1,   194,    -1,   198,
1239 <      -1,    66,    -1,   209,    -1,   204,    -1,   206,    -1,   213,
1240 <      -1,   210,    -1,   197,    -1,   205,    -1,   208,    -1,   199,
1241 <      -1,   218,    -1,   188,    -1,   189,    -1,   202,    -1,    -1,
1242 <     122,   501,   247,   502,   244,    -1,   502,   248,   503,    -1,
1243 <     503,    -1,   187,    -1,   190,    -1,   191,    -1,   193,    -1,
1244 <     194,    -1,   198,    -1,   209,    -1,    66,    -1,   204,    -1,
1245 <     206,    -1,   213,    -1,   210,    -1,   197,    -1,   205,    -1,
1246 <     208,    -1,   199,    -1,   218,    -1,   188,    -1,   189,    -1,
1247 <     202,    -1,   101,   247,   115,   244,    -1,   102,   247,   115,
1248 <     244,    -1,    32,   247,   115,   244,    -1,   192,   247,   255,
1249 <     244,    -1,    -1,    57,   509,   246,   510,   245,   244,    -1,
1250 <     510,   511,    -1,   511,    -1,   512,    -1,   513,    -1,   514,
1251 <      -1,   518,    -1,   519,    -1,   520,    -1,     1,    -1,    47,
1252 <     247,   180,   244,    -1,    44,   247,   253,   244,    -1,    -1,
1253 <      88,   515,   247,   516,   244,    -1,   516,   248,   517,    -1,
1254 <     517,    -1,   182,    -1,    11,    -1,   230,   247,   136,   244,
1255 <      -1,   105,   247,   136,   244,    -1,    -1,     4,   521,   247,
1256 <     522,   244,    -1,   522,   248,   523,    -1,   523,    -1,   182,
1257 <      -1,    11,    -1,    21,   246,   525,   245,   244,    -1,   525,
1258 <     526,    -1,   526,    -1,   529,    -1,   530,    -1,   531,    -1,
1259 <     532,    -1,   537,    -1,   533,    -1,   534,    -1,   535,    -1,
1260 <     536,    -1,   538,    -1,   539,    -1,   540,    -1,   528,    -1,
1261 <     541,    -1,   542,    -1,   543,    -1,   544,    -1,   527,    -1,
1262 <       1,    -1,    39,   247,   180,   244,    -1,   146,   247,   180,
1263 <     244,    -1,    41,   247,   180,   244,    -1,   232,   247,   180,
1264 <     244,    -1,   233,   247,   180,   244,    -1,   234,   247,   180,
1265 <     244,    -1,    83,   247,   253,   244,    -1,    84,   247,   253,
1266 <     244,    -1,    91,   247,   115,   244,    -1,   137,   247,   180,
1267 <     244,    -1,    90,   247,   115,   244,    -1,    34,   247,   115,
1268 <     244,    -1,    33,   247,   115,   244,    -1,   111,   247,   180,
1269 <     244,    -1,   112,   247,   180,   244,    -1,    13,   247,   180,
1270 <     244,    -1,   126,   247,   115,   244,    -1,   127,   247,   253,
1287 <     244,    -1,   163,   246,   546,   245,   244,    -1,   546,   547,
1288 <      -1,   547,    -1,   548,    -1,   549,    -1,   551,    -1,   553,
1289 <      -1,   552,    -1,   550,    -1,   554,    -1,     1,    -1,    53,
1290 <     247,   180,   244,    -1,    69,   247,   180,   244,    -1,    67,
1291 <     247,   136,   244,    -1,    86,   247,   253,   244,    -1,    66,
1292 <     247,   180,   244,    -1,    40,   247,   180,   244,    -1,    68,
1293 <     247,   180,   244,    -1
1073 >     250,     0,    -1,    -1,   250,   251,    -1,   283,    -1,   289,
1074 >      -1,   303,    -1,   510,    -1,   321,    -1,   338,    -1,   352,
1075 >      -1,   261,    -1,   531,    -1,   367,    -1,   374,    -1,   378,
1076 >      -1,   388,    -1,   397,    -1,   417,    -1,   427,    -1,   433,
1077 >      -1,   447,    -1,   437,    -1,   256,    -1,     1,   244,    -1,
1078 >       1,   245,    -1,    -1,   253,    -1,   112,   252,    -1,   112,
1079 >     155,   252,    -1,   112,   156,   252,    -1,   112,   157,   252,
1080 >      -1,   112,   158,   252,    -1,   112,   159,   252,    -1,    -1,
1081 >     255,    -1,   112,   254,    -1,   112,    13,   254,    -1,   112,
1082 >      14,   254,    -1,   112,    15,   254,    -1,   101,   246,   257,
1083 >     245,   244,    -1,   257,   258,    -1,   258,    -1,   259,    -1,
1084 >     260,    -1,     1,   244,    -1,   100,   247,   133,   244,    -1,
1085 >     128,   247,   133,   244,    -1,   163,   246,   262,   245,   244,
1086 >      -1,   262,   263,    -1,   263,    -1,   274,    -1,   279,    -1,
1087 >     282,    -1,   276,    -1,   277,    -1,   278,    -1,   281,    -1,
1088 >     272,    -1,   271,    -1,   280,    -1,   275,    -1,   270,    -1,
1089 >     264,    -1,   265,    -1,   273,    -1,     1,   244,    -1,   149,
1090 >     247,   266,   244,    -1,   150,   247,   268,   244,    -1,   266,
1091 >     248,   267,    -1,   267,    -1,   151,    -1,   152,    -1,   268,
1092 >     248,   269,    -1,   269,    -1,   151,    -1,   152,    -1,   147,
1093 >     247,   133,   244,    -1,   145,   247,   133,   244,    -1,   148,
1094 >     247,   133,   244,    -1,   190,   247,   133,   244,    -1,   102,
1095 >     247,   133,   244,    -1,   164,   247,   133,   244,    -1,    30,
1096 >     247,   133,   244,    -1,   105,   247,   133,   244,    -1,   104,
1097 >     247,   133,   244,    -1,   237,   247,   133,   244,    -1,   238,
1098 >     247,   133,   244,    -1,   202,   247,   112,   244,    -1,    68,
1099 >     247,   178,   244,    -1,     5,   246,   284,   245,   244,    -1,
1100 >     284,   285,    -1,   285,    -1,   286,    -1,   288,    -1,   287,
1101 >      -1,     1,   244,    -1,   102,   247,   133,   244,    -1,    40,
1102 >     247,   133,   244,    -1,    30,   247,   133,   244,    -1,    84,
1103 >     246,   290,   245,   244,    -1,   290,   291,    -1,   291,    -1,
1104 >     292,    -1,   293,    -1,     1,   244,    -1,   235,   247,   178,
1105 >     244,    -1,    -1,   294,   243,   246,   295,   245,   244,    -1,
1106 >     295,   296,    -1,   296,    -1,   297,    -1,   299,    -1,   298,
1107 >      -1,     1,   244,    -1,   102,   247,   133,   244,    -1,   242,
1108 >     247,   255,   244,    -1,   242,   247,   215,   244,    -1,    -1,
1109 >     168,   300,   247,   301,   244,    -1,   301,   248,   302,    -1,
1110 >     302,    -1,   230,    -1,   117,    -1,    50,    -1,   194,    -1,
1111 >      75,    -1,    73,    -1,   193,    -1,    -1,   117,   304,   246,
1112 >     305,   245,   244,    -1,   305,   306,    -1,   306,    -1,   307,
1113 >      -1,   308,    -1,   309,    -1,   313,    -1,   312,    -1,   310,
1114 >      -1,   311,    -1,   317,    -1,     1,   244,    -1,   102,   247,
1115 >     133,   244,    -1,   230,   247,   133,   244,    -1,   127,   247,
1116 >     133,   244,    -1,    42,   247,   178,   244,    -1,   146,   247,
1117 >     133,   244,    -1,    23,   247,   133,   244,    -1,    -1,   212,
1118 >     314,   247,   315,   244,    -1,   315,   248,   316,    -1,   316,
1119 >      -1,   185,    -1,   188,    -1,   189,    -1,   192,    -1,   193,
1120 >      -1,   197,    -1,    62,    -1,   209,    -1,   203,    -1,   205,
1121 >      -1,   213,    -1,   210,    -1,   196,    -1,   204,    -1,   207,
1122 >      -1,   198,    -1,   219,    -1,   186,    -1,   187,    -1,   201,
1123 >      -1,    -1,    46,   318,   247,   319,   244,    -1,   319,   248,
1124 >     320,    -1,   320,    -1,    58,    -1,   141,    -1,    75,    -1,
1125 >     229,    -1,   194,    -1,   214,    -1,   239,    -1,    50,    -1,
1126 >      31,    -1,   220,    -1,   139,    -1,     5,    -1,   107,    -1,
1127 >     204,    -1,   218,    -1,   121,    -1,   142,    -1,   208,    -1,
1128 >     100,    -1,    -1,    23,   322,   246,   323,   245,   244,    -1,
1129 >     323,   324,    -1,   324,    -1,   325,    -1,   335,    -1,   336,
1130 >      -1,   326,    -1,   327,    -1,   337,    -1,   328,    -1,   329,
1131 >      -1,   330,    -1,   331,    -1,   332,    -1,   333,    -1,   334,
1132 >      -1,     1,   244,    -1,   102,   247,   133,   244,    -1,   130,
1133 >     247,   253,   244,    -1,   131,   247,   253,   244,    -1,   115,
1134 >     247,   112,   244,    -1,    25,   247,   253,   244,    -1,    94,
1135 >     247,   112,   244,    -1,    89,   247,   112,   244,    -1,    91,
1136 >     247,   112,   244,    -1,    90,   247,   112,   244,    -1,   160,
1137 >     247,   255,   244,    -1,    21,   247,   112,   244,    -1,    22,
1138 >     247,   112,   244,    -1,   114,   247,   112,   244,    -1,    -1,
1139 >      83,   339,   246,   344,   245,   244,    -1,    -1,    46,   341,
1140 >     247,   342,   244,    -1,   342,   248,   343,    -1,   343,    -1,
1141 >     211,    -1,    62,    -1,   206,    -1,   344,   345,    -1,   345,
1142 >      -1,   346,    -1,   340,    -1,   350,    -1,   351,    -1,     1,
1143 >     244,    -1,    -1,   132,   247,   348,   347,   244,    -1,   348,
1144 >     248,   349,    -1,   349,    -1,   112,    -1,   112,   183,   112,
1145 >      -1,    72,   247,   133,   244,    -1,    67,   247,   133,   244,
1146 >      -1,    -1,    59,   353,   246,   354,   245,   244,    -1,   354,
1147 >     355,    -1,   355,    -1,   356,    -1,   357,    -1,   358,    -1,
1148 >     360,    -1,   364,    -1,   365,    -1,   366,    -1,   359,    -1,
1149 >       1,   244,    -1,   230,   247,   133,   244,    -1,   127,   247,
1150 >     133,   244,    -1,    23,   247,   133,   244,    -1,    42,   247,
1151 >     178,   244,    -1,    -1,    46,   361,   247,   362,   244,    -1,
1152 >     362,   248,   363,    -1,   363,    -1,   172,    -1,    43,    -1,
1153 >      76,    -1,    60,    -1,    19,    -1,   111,    -1,    53,    -1,
1154 >     154,    -1,   103,    -1,   171,   247,   133,   244,    -1,   137,
1155 >     247,   133,   244,    -1,   136,   247,   112,   244,    -1,    -1,
1156 >     153,   368,   246,   369,   245,   244,    -1,   369,   370,    -1,
1157 >     370,    -1,   371,    -1,   372,    -1,   373,    -1,     1,   244,
1158 >      -1,   135,   247,   133,   244,    -1,    20,   247,   133,   244,
1159 >      -1,   106,   247,   133,   244,    -1,   221,   246,   375,   245,
1160 >     244,    -1,   375,   376,    -1,   376,    -1,   377,    -1,     1,
1161 >      -1,   102,   247,   133,   244,    -1,    -1,   166,   379,   246,
1162 >     380,   245,   244,    -1,   380,   381,    -1,   381,    -1,   382,
1163 >      -1,   383,    -1,   384,    -1,     1,   244,    -1,   102,   247,
1164 >     133,   244,    -1,   230,   247,   133,   244,    -1,    -1,   168,
1165 >     385,   247,   386,   244,    -1,   386,   248,   387,    -1,   387,
1166 >      -1,    75,    -1,   229,    -1,   194,    -1,   214,    -1,   239,
1167 >      -1,   217,    -1,   153,    -1,   216,    -1,   201,    -1,   184,
1168 >      -1,    -1,   167,   389,   246,   390,   245,   244,    -1,   390,
1169 >     391,    -1,   391,    -1,   392,    -1,   393,    -1,     1,   244,
1170 >      -1,   102,   247,   133,   244,    -1,    -1,   168,   394,   247,
1171 >     395,   244,    -1,   395,   248,   396,    -1,   396,    -1,    75,
1172 >      -1,   229,    -1,   194,    -1,   214,    -1,   239,    -1,   217,
1173 >      -1,   153,    -1,   216,    -1,   201,    -1,   184,    -1,    -1,
1174 >      24,   398,   246,   399,   245,   244,    -1,   399,   400,    -1,
1175 >     400,    -1,   401,    -1,   402,    -1,   403,    -1,   404,    -1,
1176 >     405,    -1,   407,    -1,   406,    -1,   416,    -1,   408,    -1,
1177 >     413,    -1,   414,    -1,   415,    -1,   412,    -1,     1,   244,
1178 >      -1,   102,   247,   133,   244,    -1,    67,   247,   133,   244,
1179 >      -1,   237,   247,   133,   244,    -1,   161,   247,   133,   244,
1180 >      -1,     3,   247,   133,   244,    -1,   132,   247,   112,   244,
1181 >      -1,     6,   247,   199,   244,    -1,     6,   247,   200,   244,
1182 >      -1,    -1,    46,   409,   247,   410,   244,    -1,   410,   248,
1183 >     411,    -1,   411,    -1,    10,    -1,    12,    -1,   224,    -1,
1184 >     211,    -1,    42,   247,   178,   244,    -1,    69,   247,   133,
1185 >     244,    -1,    81,   247,   133,   244,    -1,    23,   247,   133,
1186 >     244,    -1,   190,   247,   133,   244,    -1,    -1,    73,   418,
1187 >     246,   423,   245,   244,    -1,    -1,   168,   420,   247,   421,
1188 >     244,    -1,   421,   248,   422,    -1,   422,    -1,   138,    -1,
1189 >     423,   424,    -1,   424,    -1,   425,    -1,   426,    -1,   419,
1190 >      -1,     1,    -1,   230,   247,   133,   244,    -1,   135,   247,
1191 >     133,   244,    -1,    -1,    29,   428,   246,   429,   245,   244,
1192 >      -1,   429,   430,    -1,   430,    -1,   431,    -1,   432,    -1,
1193 >       1,    -1,    72,   247,   133,   244,    -1,   135,   247,   133,
1194 >     244,    -1,    44,   246,   434,   245,   244,    -1,   434,   435,
1195 >      -1,   435,    -1,   436,    -1,     1,    -1,    72,   247,   133,
1196 >     244,    -1,    -1,    48,   438,   246,   443,   245,   244,    -1,
1197 >      -1,   168,   440,   247,   441,   244,    -1,   441,   248,   442,
1198 >      -1,   442,    -1,   138,    -1,   443,   444,    -1,   444,    -1,
1199 >     445,    -1,   446,    -1,   439,    -1,     1,    -1,   102,   247,
1200 >     133,   244,    -1,   135,   247,   133,   244,    -1,    49,   246,
1201 >     448,   245,   244,    -1,   448,   449,    -1,   449,    -1,   460,
1202 >      -1,   461,    -1,   463,    -1,   464,    -1,   465,    -1,   466,
1203 >      -1,   467,    -1,   468,    -1,   469,    -1,   470,    -1,   459,
1204 >      -1,   472,    -1,   473,    -1,   474,    -1,   475,    -1,   490,
1205 >      -1,   477,    -1,   479,    -1,   481,    -1,   480,    -1,   484,
1206 >      -1,   478,    -1,   485,    -1,   486,    -1,   487,    -1,   488,
1207 >      -1,   489,    -1,   502,    -1,   491,    -1,   492,    -1,   493,
1208 >      -1,   498,    -1,   482,    -1,   483,    -1,   508,    -1,   506,
1209 >      -1,   507,    -1,   462,    -1,   509,    -1,   497,    -1,   471,
1210 >      -1,   495,    -1,   496,    -1,   458,    -1,   451,    -1,   452,
1211 >      -1,   453,    -1,   454,    -1,   455,    -1,   456,    -1,   457,
1212 >      -1,   476,    -1,   450,    -1,   494,    -1,     1,    -1,    96,
1213 >     247,   112,   244,    -1,    52,   247,   178,   244,    -1,    51,
1214 >     247,   253,   244,    -1,    55,   247,   253,   244,    -1,    56,
1215 >     247,   112,   244,    -1,    57,   247,   112,   244,    -1,   236,
1216 >     247,   178,   244,    -1,   140,   247,   253,   244,    -1,   165,
1217 >     247,   178,   244,    -1,    74,   247,   253,   244,    -1,    66,
1218 >     247,   178,   244,    -1,    70,   247,   178,   244,    -1,    36,
1219 >     247,   178,   244,    -1,    45,   247,   178,   244,    -1,     8,
1220 >     247,   178,   244,    -1,    93,   247,   253,   244,    -1,    92,
1221 >     247,   112,   244,    -1,    85,   247,   112,   244,    -1,     9,
1222 >     247,   253,   244,    -1,   182,   247,   253,   244,    -1,   181,
1223 >     247,   253,   244,    -1,    61,   247,   112,   244,    -1,    78,
1224 >     247,   178,   244,    -1,    77,   247,   133,   244,    -1,    71,
1225 >     247,   178,   244,    -1,   241,   247,   178,   244,    -1,   173,
1226 >     247,   178,   244,    -1,   176,   247,   178,   244,    -1,   177,
1227 >     247,   178,   244,    -1,   175,   247,   178,   244,    -1,   175,
1228 >     247,   179,   244,    -1,   174,   247,   178,   244,    -1,   174,
1229 >     247,   179,   244,    -1,   125,   247,   253,   244,    -1,    18,
1230 >     247,   253,   244,    -1,   118,   247,   178,   244,    -1,   126,
1231 >     247,   253,   244,    -1,   169,   247,   178,   244,    -1,   110,
1232 >     247,   178,   244,    -1,   225,   247,   178,   244,    -1,   120,
1233 >     247,   178,   244,    -1,    97,   247,   133,   244,    -1,    37,
1234 >     247,   112,   244,    -1,    95,   247,   112,   244,    -1,   231,
1235 >     247,   178,   244,    -1,    39,   247,   133,   244,    -1,   222,
1236 >     247,   133,   244,    -1,   129,   247,   178,   244,    -1,    32,
1237 >     247,   178,   244,    -1,   223,   247,   253,   244,    -1,    -1,
1238 >     122,   499,   247,   500,   244,    -1,   500,   248,   501,    -1,
1239 >     501,    -1,   185,    -1,   188,    -1,   189,    -1,   192,    -1,
1240 >     193,    -1,   197,    -1,    62,    -1,   209,    -1,   203,    -1,
1241 >     205,    -1,   213,    -1,   210,    -1,   196,    -1,   204,    -1,
1242 >     207,    -1,   198,    -1,   219,    -1,   186,    -1,   187,    -1,
1243 >     201,    -1,    -1,   119,   503,   247,   504,   244,    -1,   504,
1244 >     248,   505,    -1,   505,    -1,   185,    -1,   188,    -1,   189,
1245 >      -1,   192,    -1,   193,    -1,   197,    -1,   209,    -1,    62,
1246 >      -1,   203,    -1,   205,    -1,   213,    -1,   210,    -1,   196,
1247 >      -1,   204,    -1,   207,    -1,   198,    -1,   219,    -1,   186,
1248 >      -1,   187,    -1,   201,    -1,    98,   247,   112,   244,    -1,
1249 >      99,   247,   112,   244,    -1,    26,   247,   112,   244,    -1,
1250 >     191,   247,   255,   244,    -1,    20,   246,   511,   245,   244,
1251 >      -1,   511,   512,    -1,   512,    -1,   515,    -1,   516,    -1,
1252 >     517,    -1,   518,    -1,   524,    -1,   519,    -1,   520,    -1,
1253 >     521,    -1,   522,    -1,   523,    -1,   525,    -1,   526,    -1,
1254 >     527,    -1,   514,    -1,   528,    -1,   529,    -1,   530,    -1,
1255 >     513,    -1,     1,    -1,    33,   247,   178,   244,    -1,   143,
1256 >     247,   178,   244,    -1,    35,   247,   178,   244,    -1,   232,
1257 >     247,   178,   244,    -1,   233,   247,   178,   244,    -1,   234,
1258 >     247,   178,   244,    -1,    79,   247,   253,   244,    -1,    80,
1259 >     247,   253,   244,    -1,    88,   247,   112,   244,    -1,    87,
1260 >     247,   112,   244,    -1,   134,   247,   178,   244,    -1,    86,
1261 >     247,   112,   244,    -1,    28,   247,   112,   244,    -1,    27,
1262 >     247,   112,   244,    -1,   108,   247,   178,   244,    -1,   109,
1263 >     247,   178,   244,    -1,   123,   247,   112,   244,    -1,   124,
1264 >     247,   253,   244,    -1,   162,   246,   532,   245,   244,    -1,
1265 >     532,   533,    -1,   533,    -1,   534,    -1,   535,    -1,   537,
1266 >      -1,   539,    -1,   538,    -1,   536,    -1,   540,    -1,     1,
1267 >      -1,    47,   247,   178,   244,    -1,    65,   247,   178,   244,
1268 >      -1,    63,   247,   133,   244,    -1,    82,   247,   253,   244,
1269 >      -1,    62,   247,   178,   244,    -1,    34,   247,   178,   244,
1270 >      -1,    64,   247,   178,   244,    -1
1271   };
1272  
1273   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1274   static const yytype_uint16 yyrline[] =
1275   {
1276 <       0,   379,   379,   380,   383,   384,   385,   386,   387,   388,
1277 <     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
1278 <     399,   400,   401,   402,   403,   404,   405,   409,   409,   410,
1279 <     414,   418,   422,   426,   430,   436,   436,   437,   438,   439,
1280 <     440,   447,   450,   450,   451,   451,   451,   453,   459,   466,
1281 <     468,   468,   469,   469,   470,   470,   471,   471,   472,   473,
1282 <     473,   474,   474,   475,   476,   480,   479,   498,   498,   499,
1283 <     505,   513,   547,   607,   622,   637,   646,   660,   669,   697,
1284 <     727,   750,   759,   761,   761,   762,   762,   763,   763,   765,
1285 <     774,   783,   795,   796,   796,   798,   798,   798,   799,   801,
1286 <     807,   814,   814,   824,   825,   827,   827,   828,   828,   830,
1287 <     835,   838,   844,   843,   849,   849,   850,   854,   858,   862,
1288 <     866,   870,   874,   885,   884,   982,   982,   983,   983,   983,
1289 <     984,   984,   984,   985,   985,   985,   987,   999,  1036,  1048,
1290 <    1059,  1101,  1111,  1110,  1116,  1116,  1117,  1121,  1125,  1129,
1291 <    1133,  1137,  1141,  1145,  1149,  1153,  1157,  1161,  1165,  1169,
1292 <    1173,  1177,  1181,  1185,  1189,  1193,  1200,  1199,  1205,  1205,
1293 <    1206,  1210,  1214,  1218,  1222,  1226,  1230,  1234,  1238,  1242,
1294 <    1246,  1250,  1254,  1258,  1262,  1266,  1277,  1276,  1326,  1326,
1295 <    1327,  1328,  1328,  1329,  1330,  1331,  1332,  1333,  1334,  1335,
1296 <    1336,  1337,  1338,  1339,  1341,  1350,  1356,  1362,  1368,  1374,
1297 <    1380,  1386,  1392,  1398,  1404,  1410,  1416,  1426,  1425,  1442,
1298 <    1441,  1446,  1446,  1447,  1451,  1455,  1463,  1463,  1464,  1464,
1299 <    1464,  1464,  1464,  1466,  1466,  1468,  1468,  1470,  1484,  1504,
1300 <    1513,  1526,  1525,  1594,  1594,  1595,  1595,  1595,  1595,  1596,
1301 <    1596,  1596,  1597,  1597,  1599,  1636,  1649,  1658,  1670,  1669,
1302 <    1673,  1673,  1674,  1678,  1682,  1686,  1690,  1694,  1698,  1702,
1303 <    1706,  1713,  1732,  1742,  1756,  1755,  1771,  1771,  1772,  1772,
1304 <    1772,  1772,  1774,  1783,  1798,  1811,  1813,  1813,  1814,  1814,
1305 <    1816,  1832,  1831,  1847,  1847,  1848,  1848,  1848,  1848,  1850,
1306 <    1859,  1882,  1881,  1887,  1887,  1888,  1892,  1896,  1900,  1904,
1307 <    1908,  1912,  1916,  1920,  1924,  1928,  1938,  1937,  1954,  1954,
1308 <    1955,  1955,  1955,  1957,  1964,  1963,  1969,  1969,  1970,  1974,
1309 <    1978,  1982,  1986,  1990,  1994,  1998,  2002,  2006,  2010,  2020,
1310 <    2019,  2162,  2162,  2163,  2163,  2163,  2164,  2164,  2165,  2165,
1311 <    2166,  2166,  2166,  2167,  2167,  2168,  2168,  2169,  2171,  2183,
1312 <    2192,  2218,  2236,  2254,  2260,  2264,  2273,  2272,  2276,  2276,
1313 <    2277,  2287,  2291,  2295,  2299,  2305,  2346,  2357,  2370,  2383,
1314 <    2392,  2428,  2427,  2491,  2490,  2494,  2494,  2495,  2501,  2501,
1315 <    2502,  2502,  2502,  2502,  2504,  2523,  2533,  2532,  2555,  2555,
1316 <    2556,  2556,  2556,  2558,  2564,  2573,  2575,  2575,  2576,  2576,
1317 <    2578,  2597,  2596,  2644,  2643,  2647,  2647,  2648,  2654,  2654,
1318 <    2655,  2655,  2655,  2655,  2657,  2663,  2672,  2675,  2675,  2676,
1319 <    2676,  2677,  2677,  2678,  2678,  2679,  2679,  2680,  2680,  2681,
1320 <    2681,  2682,  2682,  2683,  2683,  2684,  2684,  2685,  2685,  2686,
1321 <    2686,  2687,  2687,  2688,  2688,  2689,  2690,  2690,  2691,  2691,
1322 <    2692,  2692,  2693,  2693,  2694,  2694,  2695,  2695,  2696,  2697,
1323 <    2697,  2698,  2698,  2699,  2700,  2701,  2701,  2702,  2702,  2703,
1324 <    2703,  2704,  2704,  2705,  2708,  2713,  2718,  2723,  2728,  2733,
1325 <    2738,  2743,  2748,  2753,  2758,  2763,  2768,  2773,  2778,  2783,
1326 <    2788,  2793,  2799,  2810,  2815,  2824,  2829,  2834,  2839,  2844,
1327 <    2849,  2852,  2857,  2860,  2865,  2870,  2875,  2880,  2885,  2890,
1328 <    2895,  2900,  2905,  2916,  2921,  2926,  2935,  2967,  2985,  2990,
1329 <    2999,  3008,  3013,  3018,  3024,  3023,  3028,  3028,  3029,  3032,
1330 <    3035,  3038,  3041,  3044,  3047,  3050,  3053,  3056,  3059,  3062,
1331 <    3065,  3068,  3071,  3074,  3077,  3080,  3083,  3086,  3092,  3091,
1332 <    3096,  3096,  3097,  3100,  3103,  3106,  3109,  3112,  3115,  3118,
1333 <    3121,  3124,  3127,  3130,  3133,  3136,  3139,  3142,  3145,  3148,
1334 <    3151,  3154,  3159,  3164,  3169,  3174,  3184,  3183,  3207,  3207,
1335 <    3208,  3209,  3210,  3211,  3212,  3213,  3214,  3216,  3222,  3229,
1336 <    3228,  3233,  3233,  3234,  3238,  3244,  3278,  3288,  3287,  3337,
1337 <    3337,  3338,  3342,  3351,  3354,  3354,  3355,  3355,  3356,  3356,
1338 <    3357,  3357,  3358,  3358,  3359,  3359,  3360,  3361,  3361,  3362,
1339 <    3362,  3363,  3363,  3364,  3364,  3366,  3371,  3376,  3381,  3386,
1340 <    3391,  3396,  3401,  3406,  3411,  3416,  3421,  3426,  3431,  3436,
1364 <    3441,  3446,  3451,  3459,  3462,  3462,  3463,  3463,  3464,  3465,
1365 <    3466,  3466,  3467,  3468,  3470,  3476,  3482,  3491,  3505,  3511,
1366 <    3517
1276 >       0,   357,   357,   358,   361,   362,   363,   364,   365,   366,
1277 >     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
1278 >     377,   378,   379,   380,   381,   382,   386,   386,   387,   391,
1279 >     395,   399,   403,   407,   413,   413,   414,   415,   416,   417,
1280 >     424,   427,   427,   428,   428,   428,   430,   436,   443,   445,
1281 >     445,   446,   446,   447,   447,   448,   448,   449,   449,   450,
1282 >     450,   451,   451,   452,   452,   453,   454,   457,   458,   460,
1283 >     460,   461,   467,   475,   475,   476,   482,   490,   529,   588,
1284 >     616,   624,   639,   654,   663,   677,   686,   714,   744,   767,
1285 >     776,   778,   778,   779,   779,   780,   780,   782,   791,   800,
1286 >     812,   813,   813,   815,   815,   816,   818,   825,   825,   835,
1287 >     836,   838,   838,   839,   839,   841,   846,   849,   855,   854,
1288 >     860,   860,   861,   865,   869,   873,   877,   881,   885,   896,
1289 >     895,   993,   993,   994,   994,   994,   995,   995,   995,   996,
1290 >     996,   996,   998,  1007,  1044,  1056,  1067,  1109,  1119,  1118,
1291 >    1124,  1124,  1125,  1129,  1133,  1137,  1141,  1145,  1149,  1153,
1292 >    1157,  1161,  1165,  1169,  1173,  1177,  1181,  1185,  1189,  1193,
1293 >    1197,  1201,  1208,  1207,  1213,  1213,  1214,  1218,  1222,  1226,
1294 >    1230,  1234,  1238,  1242,  1246,  1250,  1254,  1258,  1262,  1266,
1295 >    1270,  1274,  1278,  1282,  1286,  1297,  1296,  1346,  1346,  1347,
1296 >    1348,  1348,  1349,  1350,  1351,  1352,  1353,  1354,  1355,  1356,
1297 >    1357,  1358,  1359,  1361,  1370,  1376,  1382,  1388,  1394,  1400,
1298 >    1406,  1412,  1418,  1424,  1430,  1436,  1446,  1445,  1462,  1461,
1299 >    1466,  1466,  1467,  1471,  1475,  1483,  1483,  1484,  1484,  1484,
1300 >    1484,  1484,  1486,  1486,  1488,  1488,  1490,  1504,  1524,  1533,
1301 >    1546,  1545,  1614,  1614,  1615,  1615,  1615,  1615,  1616,  1616,
1302 >    1616,  1617,  1617,  1619,  1654,  1667,  1676,  1688,  1687,  1691,
1303 >    1691,  1692,  1696,  1700,  1704,  1708,  1712,  1716,  1720,  1724,
1304 >    1731,  1750,  1760,  1774,  1773,  1789,  1789,  1790,  1790,  1790,
1305 >    1790,  1792,  1801,  1816,  1829,  1831,  1831,  1832,  1832,  1834,
1306 >    1850,  1849,  1865,  1865,  1866,  1866,  1866,  1866,  1868,  1877,
1307 >    1900,  1899,  1905,  1905,  1906,  1910,  1914,  1918,  1922,  1926,
1308 >    1930,  1934,  1938,  1942,  1952,  1951,  1968,  1968,  1969,  1969,
1309 >    1969,  1971,  1978,  1977,  1983,  1983,  1984,  1988,  1992,  1996,
1310 >    2000,  2004,  2008,  2012,  2016,  2020,  2030,  2029,  2080,  2080,
1311 >    2081,  2081,  2081,  2082,  2082,  2083,  2083,  2083,  2084,  2084,
1312 >    2084,  2085,  2085,  2086,  2088,  2097,  2106,  2132,  2150,  2168,
1313 >    2174,  2178,  2187,  2186,  2190,  2190,  2191,  2195,  2199,  2203,
1314 >    2209,  2220,  2231,  2242,  2251,  2270,  2269,  2335,  2334,  2338,
1315 >    2338,  2339,  2345,  2345,  2346,  2346,  2346,  2346,  2348,  2367,
1316 >    2377,  2376,  2401,  2401,  2402,  2402,  2402,  2404,  2410,  2419,
1317 >    2421,  2421,  2422,  2422,  2424,  2443,  2442,  2490,  2489,  2493,
1318 >    2493,  2494,  2500,  2500,  2501,  2501,  2501,  2501,  2503,  2509,
1319 >    2518,  2521,  2521,  2522,  2522,  2523,  2523,  2524,  2524,  2525,
1320 >    2525,  2526,  2526,  2527,  2527,  2528,  2528,  2529,  2529,  2530,
1321 >    2530,  2531,  2531,  2532,  2532,  2533,  2533,  2534,  2534,  2535,
1322 >    2536,  2536,  2537,  2537,  2538,  2538,  2539,  2539,  2540,  2540,
1323 >    2541,  2542,  2543,  2543,  2544,  2545,  2546,  2546,  2547,  2547,
1324 >    2548,  2549,  2549,  2550,  2550,  2551,  2551,  2552,  2555,  2560,
1325 >    2566,  2572,  2578,  2583,  2588,  2593,  2598,  2603,  2608,  2613,
1326 >    2618,  2623,  2628,  2633,  2638,  2643,  2648,  2653,  2658,  2664,
1327 >    2675,  2680,  2689,  2694,  2699,  2704,  2709,  2714,  2717,  2722,
1328 >    2725,  2730,  2735,  2740,  2745,  2750,  2755,  2760,  2765,  2770,
1329 >    2781,  2786,  2791,  2796,  2805,  2814,  2819,  2824,  2830,  2829,
1330 >    2834,  2834,  2835,  2838,  2841,  2844,  2847,  2850,  2853,  2856,
1331 >    2859,  2862,  2865,  2868,  2871,  2874,  2877,  2880,  2883,  2886,
1332 >    2889,  2892,  2898,  2897,  2902,  2902,  2903,  2906,  2909,  2912,
1333 >    2915,  2918,  2921,  2924,  2927,  2930,  2933,  2936,  2939,  2942,
1334 >    2945,  2948,  2951,  2954,  2957,  2960,  2965,  2970,  2975,  2980,
1335 >    2989,  2992,  2992,  2993,  2993,  2994,  2994,  2994,  2995,  2995,
1336 >    2996,  2996,  2997,  2997,  2998,  2999,  2999,  3000,  3001,  3001,
1337 >    3002,  3002,  3004,  3009,  3014,  3019,  3024,  3029,  3034,  3039,
1338 >    3044,  3049,  3054,  3059,  3064,  3069,  3074,  3079,  3084,  3089,
1339 >    3097,  3100,  3100,  3101,  3101,  3102,  3103,  3104,  3104,  3105,
1340 >    3106,  3108,  3114,  3120,  3129,  3143,  3149,  3155
1341   };
1342   #endif
1343  
# Line 1374 | Line 1348 | static const char *const yytname[] =
1348   {
1349    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1350    "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1351 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1352 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1353 <  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE", "CLASS",
1354 <  "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ", "CRYPTLINK",
1355 <  "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1356 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1357 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1358 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1359 <  "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL", "ENABLE",
1360 <  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1361 <  "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINES",
1388 <  "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1351 >  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BYTES", "KBYTES", "MBYTES",
1352 >  "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1353 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1354 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1355 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1356 >  "DISABLE_FAKE_CHANNELS", "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS",
1357 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH",
1358 >  "EMAIL", "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1359 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1360 >  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_TIME",
1361 >  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1362    "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1363    "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1364    "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1365    "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1366    "KLINE_REASON", "KLINE_WITH_REASON", "KNOCK_DELAY",
1367    "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "T_LOG",
1368 <  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL",
1369 <  "MAX_IDENT", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_TIME",
1370 <  "MAX_NUMBER", "MAX_TARGETS", "MAX_WATCH", "MESSAGE_LOCALE",
1371 <  "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME",
1372 <  "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1373 <  "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1374 <  "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1375 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID",
1376 <  "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1377 <  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1378 <  "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1379 <  "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1380 <  "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1381 <  "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1382 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1368 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1369 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL", "MAX_NICK_CHANGES",
1370 >  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_WATCH",
1371 >  "MESSAGE_LOCALE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE",
1372 >  "MODULES", "NAME", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME",
1373 >  "NICK", "NICK_CHANGES", "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT",
1374 >  "NO_OPER_FLOOD", "NO_TILDE", "NUMBER", "NUMBER_PER_IDENT",
1375 >  "NUMBER_PER_CIDR", "NUMBER_PER_IP", "NUMBER_PER_IP_GLOBAL", "OPERATOR",
1376 >  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1377 >  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1378 >  "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1379 >  "PING_TIME", "PING_WARNING", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON",
1380 >  "REDIRPORT", "REDIRSERV", "REGEX_T", "REHASH", "TREJECT_HOLD_TIME",
1381 >  "REMOTE", "REMOTEBAN", "RESTRICT_CHANNELS", "RESTRICTED",
1382 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE",
1383 >  "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1384    "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1385    "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1386 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1387 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1388 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1389 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1390 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1391 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1392 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE",
1386 >  "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED",
1387 >  "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF", "SPOOF_NOTICE",
1388 >  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1389 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT",
1390 >  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1391 >  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1392 >  "T_SSL_CIPHER_LIST", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE",
1393    "T_DRONE", "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6",
1394    "T_LOCOPS", "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ",
1395 <  "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1396 <  "T_UNAUTH", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1397 <  "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "T_TIMESTAMP",
1398 <  "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1399 <  "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1400 <  "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1401 <  "XLINE", "WARN", "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'",
1402 <  "'{'", "'='", "','", "$accept", "conf", "conf_item", "timespec_",
1395 >  "T_SERVER", "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL",
1396 >  "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV",
1397 >  "T_UNXLINE", "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE",
1398 >  "T_SERVICES_NAME", "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD",
1399 >  "TKLINE", "TXLINE", "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT",
1400 >  "USE_INVEX", "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST",
1401 >  "VHOST6", "XLINE", "WARN", "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'",
1402 >  "'}'", "'{'", "'='", "','", "$accept", "conf", "conf_item", "timespec_",
1403    "timespec", "sizespec_", "sizespec", "modules_entry", "modules_items",
1404    "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1405 <  "serverinfo_items", "serverinfo_item",
1406 <  "serverinfo_ssl_connection_method", "$@1", "method_types",
1407 <  "method_type_item", "serverinfo_ssl_certificate_file",
1408 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1405 >  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_client_method",
1406 >  "serverinfo_ssl_server_method", "client_method_types",
1407 >  "client_method_type_item", "server_method_types",
1408 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1409 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1410 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1411    "serverinfo_description", "serverinfo_network_name",
1412    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1413    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1414    "admin_item", "admin_name", "admin_email", "admin_description",
1415    "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1416 <  "logging_timestamp", "logging_file_entry", "$@2", "logging_file_items",
1417 <  "logging_file_item", "logging_file_name", "logging_file_size",
1418 <  "logging_file_type", "$@3", "logging_file_type_items",
1419 <  "logging_file_type_item", "oper_entry", "$@4", "oper_items", "oper_item",
1420 <  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1421 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@5",
1422 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@6",
1423 <  "oper_flags_items", "oper_flags_item", "class_entry", "$@7",
1424 <  "class_items", "class_item", "class_name", "class_ping_time",
1425 <  "class_ping_warning", "class_number_per_ip", "class_connectfreq",
1426 <  "class_max_number", "class_max_global", "class_max_local",
1427 <  "class_max_ident", "class_sendq", "class_cidr_bitlen_ipv4",
1428 <  "class_cidr_bitlen_ipv6", "class_number_per_cidr", "listen_entry", "$@8",
1429 <  "listen_flags", "$@9", "listen_flags_items", "listen_flags_item",
1430 <  "listen_items", "listen_item", "listen_port", "$@10", "port_items",
1431 <  "port_item", "listen_address", "listen_host", "auth_entry", "$@11",
1432 <  "auth_items", "auth_item", "auth_user", "auth_passwd", "auth_class",
1433 <  "auth_encrypted", "auth_flags", "$@12", "auth_flags_items",
1434 <  "auth_flags_item", "auth_spoof", "auth_redir_serv", "auth_redir_port",
1435 <  "resv_entry", "$@13", "resv_items", "resv_item", "resv_creason",
1436 <  "resv_channel", "resv_nick", "service_entry", "service_items",
1437 <  "service_item", "service_name", "shared_entry", "$@14", "shared_items",
1438 <  "shared_item", "shared_name", "shared_user", "shared_type", "$@15",
1439 <  "shared_types", "shared_type_item", "cluster_entry", "$@16",
1440 <  "cluster_items", "cluster_item", "cluster_name", "cluster_type", "$@17",
1441 <  "cluster_types", "cluster_type_item", "connect_entry", "$@18",
1442 <  "connect_items", "connect_item", "connect_name", "connect_host",
1443 <  "connect_vhost", "connect_send_password", "connect_accept_password",
1444 <  "connect_port", "connect_aftype", "connect_flags", "$@19",
1445 <  "connect_flags_items", "connect_flags_item",
1446 <  "connect_rsa_public_key_file", "connect_encrypted", "connect_hub_mask",
1447 <  "connect_leaf_mask", "connect_class", "connect_cipher_preference",
1448 <  "kill_entry", "$@20", "kill_type", "$@21", "kill_type_items",
1449 <  "kill_type_item", "kill_items", "kill_item", "kill_user", "kill_reason",
1450 <  "deny_entry", "$@22", "deny_items", "deny_item", "deny_ip",
1451 <  "deny_reason", "exempt_entry", "exempt_items", "exempt_item",
1452 <  "exempt_ip", "gecos_entry", "$@23", "gecos_flags", "$@24",
1453 <  "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",
1454 <  "gecos_name", "gecos_reason", "general_entry", "general_items",
1455 <  "general_item", "general_max_watch", "general_gline_min_cidr",
1416 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1417 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1418 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1419 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1420 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1421 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1422 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1423 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1424 >  "class_ping_time", "class_ping_warning", "class_number_per_ip",
1425 >  "class_connectfreq", "class_max_number", "class_max_global",
1426 >  "class_max_local", "class_max_ident", "class_sendq",
1427 >  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1428 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1429 >  "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1430 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1431 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1432 >  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1433 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1434 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1435 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1436 >  "service_entry", "service_items", "service_item", "service_name",
1437 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1438 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1439 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1440 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1441 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1442 >  "connect_host", "connect_vhost", "connect_send_password",
1443 >  "connect_accept_password", "connect_port", "connect_aftype",
1444 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1445 >  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1446 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1447 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1448 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1449 >  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1450 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1451 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1452 >  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1453 >  "general_entry", "general_items", "general_item", "general_max_watch",
1454 >  "general_gline_enable", "general_gline_duration",
1455 >  "general_gline_request_duration", "general_gline_min_cidr",
1456    "general_gline_min_cidr6", "general_use_whois_actually",
1457    "general_reject_hold_time", "general_tkline_expire_notices",
1458    "general_kill_chase_time_limit", "general_hide_spoof_ips",
# Line 1495 | Line 1471 | static const char *const yytname[] =
1471    "general_short_motd", "general_no_oper_flood",
1472    "general_true_no_oper_flood", "general_oper_pass_resv",
1473    "general_message_locale", "general_dots_in_ident", "general_max_targets",
1474 <  "general_servlink_path", "general_default_cipher_preference",
1475 <  "general_compression_level", "general_use_egd", "general_egdpool_path",
1476 <  "general_services_name", "general_ping_cookie", "general_disable_auth",
1477 <  "general_throttle_time", "general_oper_umodes", "$@25", "umode_oitems",
1478 <  "umode_oitem", "general_oper_only_umodes", "$@26", "umode_items",
1479 <  "umode_item", "general_min_nonwildcard",
1480 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1481 <  "general_client_flood", "gline_entry", "$@27", "gline_items",
1482 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@28",
1483 <  "gline_logging_types", "gline_logging_type_item", "gline_user",
1484 <  "gline_server", "gline_action", "$@29", "gdeny_types", "gdeny_type_item",
1509 <  "channel_entry", "channel_items", "channel_item",
1510 <  "channel_disable_fake_channels", "channel_restrict_channels",
1511 <  "channel_disable_local_channels", "channel_use_except",
1512 <  "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1513 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1474 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1475 >  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1476 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1477 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1478 >  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1479 >  "general_default_floodcount", "general_client_flood", "channel_entry",
1480 >  "channel_items", "channel_item", "channel_disable_fake_channels",
1481 >  "channel_restrict_channels", "channel_disable_local_channels",
1482 >  "channel_use_except", "channel_use_invex", "channel_use_knock",
1483 >  "channel_knock_delay", "channel_knock_delay_channel",
1484 >  "channel_max_chans_per_user", "channel_max_chans_per_oper",
1485    "channel_quiet_on_ban", "channel_max_bans",
1486    "channel_default_split_user_count", "channel_default_split_server_count",
1487    "channel_no_create_on_split", "channel_no_join_on_split",
1488 <  "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1489 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1490 <  "serverhide_flatten_links", "serverhide_hide_servers",
1491 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1492 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1488 >  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1489 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1490 >  "serverhide_hide_servers", "serverhide_hidden_name",
1491 >  "serverhide_links_delay", "serverhide_hidden",
1492 >  "serverhide_disable_hidden", "serverhide_hide_server_ips", YY_NULL
1493   };
1494   #endif
1495  
# Line 1560 | Line 1531 | static const yytype_uint16 yyr1[] =
1531   {
1532         0,   249,   250,   250,   251,   251,   251,   251,   251,   251,
1533       251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
1534 <     251,   251,   251,   251,   251,   251,   251,   252,   252,   253,
1535 <     253,   253,   253,   253,   253,   254,   254,   255,   255,   255,
1536 <     255,   256,   257,   257,   258,   258,   258,   259,   260,   261,
1537 <     262,   262,   263,   263,   263,   263,   263,   263,   263,   263,
1538 <     263,   263,   263,   263,   263,   265,   264,   266,   266,   267,
1539 <     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
1540 <     277,   278,   279,   280,   280,   281,   281,   281,   281,   282,
1541 <     283,   284,   285,   286,   286,   287,   287,   287,   287,   288,
1542 <     289,   291,   290,   292,   292,   293,   293,   293,   293,   294,
1543 <     295,   295,   297,   296,   298,   298,   299,   299,   299,   299,
1544 <     299,   299,   299,   301,   300,   302,   302,   303,   303,   303,
1545 <     303,   303,   303,   303,   303,   303,   304,   305,   306,   307,
1546 <     308,   309,   311,   310,   312,   312,   313,   313,   313,   313,
1547 <     313,   313,   313,   313,   313,   313,   313,   313,   313,   313,
1548 <     313,   313,   313,   313,   313,   313,   315,   314,   316,   316,
1549 <     317,   317,   317,   317,   317,   317,   317,   317,   317,   317,
1550 <     317,   317,   317,   317,   317,   317,   319,   318,   320,   320,
1551 <     321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1552 <     321,   321,   321,   321,   322,   323,   324,   325,   326,   327,
1553 <     328,   329,   330,   331,   332,   333,   334,   336,   335,   338,
1554 <     337,   339,   339,   340,   340,   340,   341,   341,   342,   342,
1555 <     342,   342,   342,   344,   343,   345,   345,   346,   346,   347,
1556 <     348,   350,   349,   351,   351,   352,   352,   352,   352,   352,
1557 <     352,   352,   352,   352,   353,   354,   355,   356,   358,   357,
1558 <     359,   359,   360,   360,   360,   360,   360,   360,   360,   360,
1559 <     360,   361,   362,   363,   365,   364,   366,   366,   367,   367,
1560 <     367,   367,   368,   369,   370,   371,   372,   372,   373,   373,
1561 <     374,   376,   375,   377,   377,   378,   378,   378,   378,   379,
1562 <     380,   382,   381,   383,   383,   384,   384,   384,   384,   384,
1563 <     384,   384,   384,   384,   384,   384,   386,   385,   387,   387,
1564 <     388,   388,   388,   389,   391,   390,   392,   392,   393,   393,
1565 <     393,   393,   393,   393,   393,   393,   393,   393,   393,   395,
1566 <     394,   396,   396,   397,   397,   397,   397,   397,   397,   397,
1567 <     397,   397,   397,   397,   397,   397,   397,   397,   398,   399,
1568 <     400,   401,   402,   403,   404,   404,   406,   405,   407,   407,
1569 <     408,   408,   408,   408,   408,   409,   410,   411,   412,   413,
1570 <     414,   416,   415,   418,   417,   419,   419,   420,   421,   421,
1571 <     422,   422,   422,   422,   423,   424,   426,   425,   427,   427,
1572 <     428,   428,   428,   429,   430,   431,   432,   432,   433,   433,
1573 <     434,   436,   435,   438,   437,   439,   439,   440,   441,   441,
1574 <     442,   442,   442,   442,   443,   444,   445,   446,   446,   447,
1575 <     447,   447,   447,   447,   447,   447,   447,   447,   447,   447,
1576 <     447,   447,   447,   447,   447,   447,   447,   447,   447,   447,
1577 <     447,   447,   447,   447,   447,   447,   447,   447,   447,   447,
1578 <     447,   447,   447,   447,   447,   447,   447,   447,   447,   447,
1579 <     447,   447,   447,   447,   447,   447,   447,   447,   447,   447,
1580 <     447,   447,   447,   447,   448,   449,   450,   451,   452,   453,
1581 <     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
1582 <     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
1583 <     474,   474,   475,   475,   476,   477,   478,   479,   480,   481,
1584 <     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
1585 <     492,   493,   494,   495,   497,   496,   498,   498,   499,   499,
1586 <     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1587 <     499,   499,   499,   499,   499,   499,   499,   499,   501,   500,
1588 <     502,   502,   503,   503,   503,   503,   503,   503,   503,   503,
1589 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1590 <     503,   503,   504,   505,   506,   507,   509,   508,   510,   510,
1591 <     511,   511,   511,   511,   511,   511,   511,   512,   513,   515,
1592 <     514,   516,   516,   517,   517,   518,   519,   521,   520,   522,
1593 <     522,   523,   523,   524,   525,   525,   526,   526,   526,   526,
1594 <     526,   526,   526,   526,   526,   526,   526,   526,   526,   526,
1595 <     526,   526,   526,   526,   526,   527,   528,   529,   530,   531,
1596 <     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
1626 <     542,   543,   544,   545,   546,   546,   547,   547,   547,   547,
1627 <     547,   547,   547,   547,   548,   549,   550,   551,   552,   553,
1628 <     554
1534 >     251,   251,   251,   251,   251,   251,   252,   252,   253,   253,
1535 >     253,   253,   253,   253,   254,   254,   255,   255,   255,   255,
1536 >     256,   257,   257,   258,   258,   258,   259,   260,   261,   262,
1537 >     262,   263,   263,   263,   263,   263,   263,   263,   263,   263,
1538 >     263,   263,   263,   263,   263,   263,   263,   264,   265,   266,
1539 >     266,   267,   267,   268,   268,   269,   269,   270,   271,   272,
1540 >     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
1541 >     283,   284,   284,   285,   285,   285,   285,   286,   287,   288,
1542 >     289,   290,   290,   291,   291,   291,   292,   294,   293,   295,
1543 >     295,   296,   296,   296,   296,   297,   298,   298,   300,   299,
1544 >     301,   301,   302,   302,   302,   302,   302,   302,   302,   304,
1545 >     303,   305,   305,   306,   306,   306,   306,   306,   306,   306,
1546 >     306,   306,   307,   308,   309,   310,   311,   312,   314,   313,
1547 >     315,   315,   316,   316,   316,   316,   316,   316,   316,   316,
1548 >     316,   316,   316,   316,   316,   316,   316,   316,   316,   316,
1549 >     316,   316,   318,   317,   319,   319,   320,   320,   320,   320,
1550 >     320,   320,   320,   320,   320,   320,   320,   320,   320,   320,
1551 >     320,   320,   320,   320,   320,   322,   321,   323,   323,   324,
1552 >     324,   324,   324,   324,   324,   324,   324,   324,   324,   324,
1553 >     324,   324,   324,   325,   326,   327,   328,   329,   330,   331,
1554 >     332,   333,   334,   335,   336,   337,   339,   338,   341,   340,
1555 >     342,   342,   343,   343,   343,   344,   344,   345,   345,   345,
1556 >     345,   345,   347,   346,   348,   348,   349,   349,   350,   351,
1557 >     353,   352,   354,   354,   355,   355,   355,   355,   355,   355,
1558 >     355,   355,   355,   356,   357,   358,   359,   361,   360,   362,
1559 >     362,   363,   363,   363,   363,   363,   363,   363,   363,   363,
1560 >     364,   365,   366,   368,   367,   369,   369,   370,   370,   370,
1561 >     370,   371,   372,   373,   374,   375,   375,   376,   376,   377,
1562 >     379,   378,   380,   380,   381,   381,   381,   381,   382,   383,
1563 >     385,   384,   386,   386,   387,   387,   387,   387,   387,   387,
1564 >     387,   387,   387,   387,   389,   388,   390,   390,   391,   391,
1565 >     391,   392,   394,   393,   395,   395,   396,   396,   396,   396,
1566 >     396,   396,   396,   396,   396,   396,   398,   397,   399,   399,
1567 >     400,   400,   400,   400,   400,   400,   400,   400,   400,   400,
1568 >     400,   400,   400,   400,   401,   402,   403,   404,   405,   406,
1569 >     407,   407,   409,   408,   410,   410,   411,   411,   411,   411,
1570 >     412,   413,   414,   415,   416,   418,   417,   420,   419,   421,
1571 >     421,   422,   423,   423,   424,   424,   424,   424,   425,   426,
1572 >     428,   427,   429,   429,   430,   430,   430,   431,   432,   433,
1573 >     434,   434,   435,   435,   436,   438,   437,   440,   439,   441,
1574 >     441,   442,   443,   443,   444,   444,   444,   444,   445,   446,
1575 >     447,   448,   448,   449,   449,   449,   449,   449,   449,   449,
1576 >     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
1577 >     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
1578 >     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
1579 >     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
1580 >     449,   449,   449,   449,   449,   449,   449,   449,   450,   451,
1581 >     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1582 >     462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1583 >     472,   473,   474,   475,   476,   477,   478,   479,   479,   480,
1584 >     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1585 >     490,   491,   492,   493,   494,   495,   496,   497,   499,   498,
1586 >     500,   500,   501,   501,   501,   501,   501,   501,   501,   501,
1587 >     501,   501,   501,   501,   501,   501,   501,   501,   501,   501,
1588 >     501,   501,   503,   502,   504,   504,   505,   505,   505,   505,
1589 >     505,   505,   505,   505,   505,   505,   505,   505,   505,   505,
1590 >     505,   505,   505,   505,   505,   505,   506,   507,   508,   509,
1591 >     510,   511,   511,   512,   512,   512,   512,   512,   512,   512,
1592 >     512,   512,   512,   512,   512,   512,   512,   512,   512,   512,
1593 >     512,   512,   513,   514,   515,   516,   517,   518,   519,   520,
1594 >     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
1595 >     531,   532,   532,   533,   533,   533,   533,   533,   533,   533,
1596 >     533,   534,   535,   536,   537,   538,   539,   540
1597   };
1598  
1599   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1633 | Line 1601 | static const yytype_uint8 yyr2[] =
1601   {
1602         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1603         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1604 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1605 <       3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1606 <       3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1639 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1640 <       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
1641 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1642 <       4,     4,     5,     2,     1,     1,     1,     1,     2,     4,
1643 <       4,     4,     5,     2,     1,     1,     1,     1,     2,     4,
1644 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1645 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1646 <       1,     1,     1,     0,     6,     2,     1,     1,     1,     1,
1647 <       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1648 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1604 >       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1605 >       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1606 >       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1607         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1608 <       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1608 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1609 >       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1610 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1611 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1612 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1613 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1614 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1615 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1616 >       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1617 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1618         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1619 <       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1619 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1620         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1621 <       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1622 <       4,     4,     4,     4,     4,     4,     4,     0,     6,     0,
1623 <       5,     3,     1,     1,     1,     1,     2,     1,     1,     1,
1624 <       1,     1,     2,     0,     5,     3,     1,     1,     3,     4,
1625 <       4,     0,     6,     2,     1,     1,     1,     1,     1,     1,
1626 <       1,     1,     1,     2,     4,     4,     4,     4,     0,     5,
1627 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1628 <       1,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1629 <       1,     2,     4,     4,     4,     5,     2,     1,     1,     1,
1630 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1631 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1621 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1622 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1623 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1624 >       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1625 >       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1626 >       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1627 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1628 >       1,     1,     2,     4,     4,     4,     4,     0,     5,     3,
1629 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1630 >       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1631 >       2,     4,     4,     4,     5,     2,     1,     1,     1,     4,
1632 >       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1633 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1634 >       1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
1635 >       2,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1636         1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1666       1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
1667       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1668       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1669       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1670       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1671       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1672       4,     0,     6,     0,     5,     3,     1,     1,     2,     1,
1673       1,     1,     1,     1,     4,     4,     0,     6,     2,     1,
1674       1,     1,     1,     4,     4,     5,     2,     1,     1,     1,
1675       4,     0,     6,     0,     5,     3,     1,     1,     2,     1,
1676       1,     1,     1,     1,     4,     4,     5,     2,     1,     1,
1637         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1638 +       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1639 +       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1640 +       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1641 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1642 +       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1643 +       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1644 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1645 +       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1646         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1647         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1648         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1649         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1650 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1650 >       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1651         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1652         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1653         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1654         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1655 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1688 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1689 <       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
1655 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1656         3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1657         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1658 <       1,     1,     4,     4,     4,     4,     0,     6,     2,     1,
1659 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     0,
1660 <       5,     3,     1,     1,     1,     4,     4,     0,     5,     3,
1661 <       1,     1,     1,     5,     2,     1,     1,     1,     1,     1,
1658 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1659 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1660 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1661 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1662         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1663 <       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1663 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1664         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1665 <       4,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1666 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1701 <       4
1665 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1666 >       1,     4,     4,     4,     4,     4,     4,     4
1667   };
1668  
1669   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1706 | Line 1671 | static const yytype_uint8 yyr2[] =
1671     means the default is an error.  */
1672   static const yytype_uint16 yydefact[] =
1673   {
1674 <       2,     0,     1,     0,     0,     0,   186,   339,   396,     0,
1675 <     411,     0,   586,   241,   381,   217,     0,     0,   123,   274,
1676 <       0,     0,   291,   316,     0,     3,    24,    11,     4,     5,
1677 <       6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1678 <      19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1674 >       2,     0,     1,     0,     0,     0,   195,   346,   400,     0,
1675 >     415,     0,   250,   385,   226,     0,     0,   129,   283,     0,
1676 >       0,   300,   324,     0,     3,    23,    11,     4,     5,     6,
1677 >       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1678 >      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1679         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1680         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1681 <       0,     0,     0,     0,     0,    84,    85,    87,    86,   634,
1681 >       0,     0,    92,    93,    95,    94,   611,     0,     0,     0,
1682         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1683 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   615,
1684 <     633,   628,   616,   617,   618,   619,   621,   622,   623,   624,
1685 <     620,   625,   626,   627,   629,   630,   631,   632,     0,     0,
1686 <       0,   409,     0,     0,   407,   408,     0,   483,     0,     0,
1683 >       0,     0,     0,     0,     0,     0,   592,   610,   606,   593,
1684 >     594,   595,   596,   598,   599,   600,   601,   602,   597,   603,
1685 >     604,   605,   607,   608,   609,     0,     0,     0,   413,     0,
1686 >       0,   411,   412,     0,   487,     0,     0,     0,     0,     0,
1687         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1688         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1689 <       0,     0,     0,     0,     0,     0,     0,     0,   558,     0,
1725 <     534,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1689 >       0,     0,     0,     0,     0,     0,   562,     0,   538,     0,
1690         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1727       0,     0,     0,   428,   481,   476,   477,   478,   479,   475,
1728     439,   429,   430,   467,   431,   432,   433,   434,   435,   436,
1729     437,   438,   472,   440,   441,   442,   443,   480,   445,   450,
1730     446,   448,   447,   461,   462,   449,   451,   452,   453,   454,
1731     455,   444,   457,   466,   468,   469,   458,   459,   482,   473,
1732     474,   471,   460,   456,   464,   465,   463,   470,     0,     0,
1733       0,     0,     0,     0,     0,     0,    94,    95,    96,    97,
1734       0,     0,     0,     0,     0,    43,    44,    45,     0,     0,
1735     663,     0,     0,     0,     0,     0,     0,     0,     0,   655,
1736     656,   657,   661,   658,   660,   659,   662,     0,     0,     0,
1737       0,     0,     0,     0,     0,    65,     0,     0,     0,     0,
1738       0,    51,    63,    62,    59,    52,    61,    55,    56,    57,
1739      53,    60,    58,    54,     0,     0,   289,     0,     0,   287,
1740     288,    88,     0,     0,     0,     0,    83,     0,     0,     0,
1691         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1692 <       0,     0,     0,     0,     0,     0,   614,     0,     0,     0,
1692 >     432,   485,   477,   478,   479,   480,   481,   482,   483,   476,
1693 >     443,   433,   434,   470,   435,   436,   437,   438,   439,   440,
1694 >     441,   442,   473,   444,   445,   446,   447,   484,   449,   454,
1695 >     450,   452,   451,   465,   466,   453,   455,   456,   457,   458,
1696 >     459,   448,   461,   462,   463,   486,   474,   475,   472,   464,
1697 >     460,   468,   469,   467,   471,     0,     0,     0,     0,     0,
1698 >       0,   102,   103,   104,     0,     0,     0,     0,     0,    42,
1699 >      43,    44,     0,     0,   640,     0,     0,     0,     0,     0,
1700 >       0,     0,     0,   632,   633,   634,   638,   635,   637,   636,
1701 >     639,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1702 >       0,     0,     0,     0,     0,     0,     0,     0,    50,    63,
1703 >      64,    62,    59,    58,    65,    51,    61,    54,    55,    56,
1704 >      52,    60,    57,    53,     0,     0,   298,     0,     0,   296,
1705 >     297,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1706         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1707 <       0,     0,   189,   190,   193,   194,   196,   197,   198,   199,
1745 <     200,   201,   202,   191,   192,   195,     0,     0,     0,     0,
1746 <       0,     0,   366,     0,     0,     0,     0,     0,     0,     0,
1747 <       0,     0,   342,   343,   344,   345,   346,   347,   349,   348,
1748 <     350,   355,   354,   351,   352,   353,   356,   402,     0,     0,
1749 <       0,   399,   400,   401,     0,     0,   406,   423,     0,     0,
1750 <     413,   422,     0,   419,   420,   421,     0,     0,     0,     0,
1707 >       0,     0,     0,     0,     0,     0,   591,     0,     0,     0,
1708         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1709 +       0,     0,   198,   199,   202,   203,   205,   206,   207,   208,
1710 +     209,   210,   211,   200,   201,   204,     0,     0,     0,     0,
1711 +       0,   372,     0,     0,     0,     0,     0,     0,     0,     0,
1712 +       0,   349,   350,   351,   352,   353,   354,   356,   355,   358,
1713 +     362,   359,   360,   361,   357,   406,     0,     0,     0,   403,
1714 +     404,   405,     0,     0,   410,   427,     0,     0,   417,   426,
1715 +       0,   423,   424,   425,     0,     0,     0,     0,     0,     0,
1716         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1717         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1718         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1719         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1720 <       0,   427,   596,   607,     0,     0,   599,     0,     0,     0,
1721 <     589,   590,   591,   592,   593,   594,   595,     0,     0,     0,
1722 <     258,     0,     0,     0,     0,     0,     0,   244,   245,   246,
1723 <     247,   252,   248,   249,   250,   251,   393,     0,   383,     0,
1724 <     392,     0,   389,   390,   391,     0,   219,     0,     0,     0,
1725 <     229,     0,   227,   228,   230,   231,    98,     0,     0,     0,
1726 <      93,     0,    46,     0,     0,     0,    42,     0,     0,     0,
1727 <     166,     0,     0,     0,   142,     0,     0,   126,   127,   128,
1728 <     129,   132,   133,   131,   130,   134,     0,     0,     0,     0,
1729 <       0,   277,   278,   279,   280,     0,     0,     0,     0,     0,
1766 <       0,     0,     0,   654,    64,     0,     0,     0,     0,     0,
1767 <       0,     0,     0,     0,     0,     0,     0,     0,    50,     0,
1768 <       0,   301,     0,     0,   294,   295,   296,   297,     0,     0,
1769 <     324,     0,   319,   320,   321,     0,     0,   286,     0,     0,
1770 <       0,    82,     0,     0,     0,     0,     0,    27,     0,     0,
1720 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   431,
1721 >       0,     0,     0,   267,     0,     0,     0,     0,     0,     0,
1722 >     253,   254,   255,   256,   261,   257,   258,   259,   260,   397,
1723 >       0,   387,     0,   396,     0,   393,   394,   395,     0,   228,
1724 >       0,     0,     0,   238,     0,   236,   237,   239,   240,   105,
1725 >       0,     0,   101,     0,    45,     0,     0,     0,    41,     0,
1726 >       0,     0,   172,     0,     0,     0,   148,     0,     0,   132,
1727 >     133,   134,   135,   138,   139,   137,   136,   140,     0,     0,
1728 >       0,     0,     0,   286,   287,   288,   289,     0,     0,     0,
1729 >       0,     0,     0,     0,     0,   631,    66,     0,     0,     0,
1730         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1731 <       0,   613,   203,     0,     0,     0,     0,     0,     0,     0,
1732 <       0,     0,     0,     0,     0,     0,     0,   188,   357,     0,
1731 >       0,     0,     0,    49,     0,     0,   310,     0,     0,   303,
1732 >     304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1733 >       0,     0,   295,     0,     0,     0,    90,     0,     0,     0,
1734 >       0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
1735 >       0,     0,     0,     0,     0,     0,   590,   212,     0,     0,
1736         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1737 <       0,     0,     0,     0,   341,     0,     0,     0,   398,     0,
1738 <     405,     0,     0,     0,     0,   418,     0,     0,     0,     0,
1737 >       0,     0,   197,   363,     0,     0,     0,     0,     0,     0,
1738 >       0,     0,     0,     0,     0,     0,     0,     0,   348,     0,
1739 >       0,     0,   402,     0,   409,     0,     0,     0,     0,   422,
1740         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1741         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1742         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1743         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1744 <       0,     0,     0,     0,     0,    35,     0,     0,     0,     0,
1745 <       0,     0,     0,   426,     0,     0,     0,     0,     0,     0,
1746 <       0,   588,   253,     0,     0,     0,     0,     0,     0,     0,
1747 <       0,     0,   243,     0,     0,     0,     0,   388,   232,     0,
1748 <       0,     0,     0,     0,   226,     0,     0,    92,     0,     0,
1749 <       0,    41,   135,     0,     0,     0,     0,     0,     0,     0,
1750 <       0,     0,   125,   281,     0,     0,     0,     0,   276,     0,
1751 <       0,     0,     0,     0,     0,     0,   653,     0,     0,     0,
1752 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
1753 <     298,     0,     0,     0,     0,   293,   322,     0,     0,     0,
1754 <     318,     0,   285,    91,    90,    89,   650,   647,   646,   635,
1755 <     637,    27,    27,    27,    27,    27,    29,    28,   641,   642,
1756 <     645,   643,   648,   649,   651,   652,   644,   636,   638,   639,
1757 <     640,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1758 <       0,     0,     0,     0,   187,     0,     0,     0,     0,     0,
1744 >       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
1745 >       0,     0,     0,     0,     0,     0,     0,   430,   262,     0,
1746 >       0,     0,     0,     0,     0,     0,     0,     0,   252,     0,
1747 >       0,     0,     0,   392,   241,     0,     0,     0,     0,     0,
1748 >     235,     0,   100,     0,     0,     0,    40,   141,     0,     0,
1749 >       0,     0,     0,     0,     0,     0,     0,   131,   290,     0,
1750 >       0,     0,     0,   285,     0,     0,     0,     0,     0,     0,
1751 >       0,   630,     0,     0,     0,     0,     0,     0,     0,     0,
1752 >      71,    72,     0,    70,    75,    76,     0,    74,     0,     0,
1753 >       0,     0,     0,    48,   307,     0,     0,     0,     0,   302,
1754 >     330,     0,     0,     0,   326,     0,   294,    99,    98,    97,
1755 >     625,   624,   612,   614,    26,    26,    26,    26,    26,    28,
1756 >      27,   618,   619,   623,   621,   620,   626,   627,   628,   629,
1757 >     622,   613,   615,   616,   617,     0,     0,     0,     0,     0,
1758 >       0,     0,     0,     0,     0,     0,     0,     0,   196,     0,
1759         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1760 <     340,     0,     0,   397,   410,     0,     0,     0,   412,   495,
1761 <     499,   515,   527,   526,   584,   532,   493,   523,   529,   494,
1762 <     485,   486,   502,   491,   492,   505,   490,   504,   503,   498,
1763 <     497,   496,   524,   484,   522,   582,   583,   519,   516,   569,
1764 <     562,   579,   580,   563,   564,   565,   566,   574,   567,   577,
1765 <     581,   570,   575,   571,   576,   568,   573,   572,   578,     0,
1766 <     561,   521,   544,   538,   555,   556,   539,   540,   541,   542,
1767 <     550,   543,   553,   557,   546,   551,   547,   552,   545,   549,
1768 <     548,   554,     0,   537,   514,   517,   531,   488,   525,   489,
1769 <     518,   507,   512,   513,   510,   511,   508,   509,   501,   500,
1770 <      35,    35,    35,    37,    36,   585,   530,   533,   520,   528,
1771 <     487,   506,     0,     0,     0,     0,     0,     0,   587,     0,
1772 <       0,     0,     0,     0,     0,     0,     0,   242,     0,     0,
1773 <       0,   382,     0,     0,     0,   237,   233,   236,   218,   100,
1774 <      99,     0,     0,   112,     0,     0,   104,   105,   107,   106,
1775 <      47,    48,     0,     0,     0,     0,     0,     0,     0,     0,
1776 <     124,     0,     0,     0,   275,   669,   664,   668,   666,   670,
1777 <     665,   667,    75,    81,    73,    77,    76,    72,    71,    69,
1778 <      70,     0,    68,    74,    80,    78,    79,     0,     0,     0,
1779 <     292,     0,     0,   317,   290,    30,    31,    32,    33,    34,
1780 <     214,   215,   208,   210,   212,   211,   209,   204,   216,   207,
1781 <     205,   206,   213,   362,   364,   365,   380,   379,   376,   372,
1782 <     373,   370,   371,   374,     0,   369,   359,   377,   378,   358,
1783 <     363,   375,   361,   360,   403,   404,   424,   425,   417,     0,
1784 <     416,   559,     0,   535,     0,    38,    39,    40,   612,   611,
1785 <       0,   610,   598,   597,   604,   603,     0,   602,   606,   605,
1786 <     256,   257,   266,   263,   268,   265,   264,   270,   267,   269,
1787 <     262,     0,   261,   255,   273,   272,   271,   254,   395,   387,
1788 <       0,   386,   394,   224,   225,   223,     0,   222,   240,   239,
1789 <       0,     0,     0,   108,     0,     0,     0,     0,   103,   141,
1790 <     139,   179,   176,   175,   170,   172,   185,   180,   183,   178,
1791 <     171,   184,   181,   182,   177,   173,   174,     0,   169,   136,
1792 <     138,   140,   152,   146,   163,   164,   147,   148,   149,   150,
1793 <     158,   151,   161,   165,   154,   159,   155,   160,   153,   157,
1794 <     156,   162,     0,   145,   137,   283,   284,   282,    66,     0,
1795 <     299,   305,   311,   315,   314,   313,   310,   306,   309,   312,
1796 <     307,   308,     0,   304,   300,   323,   328,   334,   338,   337,
1797 <     336,   333,   329,   332,   335,   330,   331,     0,   327,   367,
1798 <       0,   414,     0,   560,   536,   608,     0,   600,     0,   259,
1799 <       0,   384,     0,   220,     0,   238,   235,   234,     0,     0,
1800 <       0,     0,   102,   167,     0,   143,     0,    67,   302,     0,
1801 <     325,     0,   368,   415,   609,   601,   260,   385,   221,   109,
1839 <     118,   121,   120,   117,   122,   119,   116,     0,   115,   111,
1840 <     110,   168,   144,   303,   326,   113,     0,   114
1760 >       0,     0,     0,   347,     0,     0,   401,   414,     0,     0,
1761 >       0,   416,   502,   506,   522,   588,   536,   500,   530,   533,
1762 >     501,   490,   489,   491,   492,   493,   509,   498,   499,   512,
1763 >     497,   511,   510,   505,   504,   503,   531,   488,   529,   586,
1764 >     587,   526,   523,   573,   566,   583,   584,   567,   568,   569,
1765 >     570,   578,   571,   581,   585,   574,   579,   575,   580,   572,
1766 >     577,   576,   582,     0,   565,   528,   548,   542,   559,   560,
1767 >     543,   544,   545,   546,   554,   547,   557,   561,   550,   555,
1768 >     551,   556,   549,   553,   552,   558,     0,   541,   521,   524,
1769 >     535,   495,   496,   525,   514,   519,   520,   517,   518,   515,
1770 >     516,   508,   507,    34,    34,    34,    36,    35,   589,   534,
1771 >     537,   527,   532,   494,   513,     0,     0,     0,     0,     0,
1772 >       0,     0,     0,   251,     0,     0,     0,   386,     0,     0,
1773 >       0,   246,   242,   245,   227,   106,     0,     0,   118,     0,
1774 >       0,   110,   111,   113,   112,    46,    47,     0,     0,     0,
1775 >       0,     0,     0,     0,     0,   130,     0,     0,     0,   284,
1776 >     646,   641,   645,   643,   647,   642,   644,    83,    89,    81,
1777 >      85,    84,    78,    77,    79,    67,     0,    68,     0,    82,
1778 >      80,    88,    86,    87,     0,     0,     0,   301,     0,     0,
1779 >     325,   299,    29,    30,    31,    32,    33,   223,   224,   217,
1780 >     219,   221,   220,   218,   213,   225,   216,   214,   215,   222,
1781 >     368,   370,   371,   383,   380,   376,   377,   379,   378,     0,
1782 >     375,   365,   381,   382,   364,   369,   367,   384,   366,   407,
1783 >     408,   428,   429,   421,     0,   420,   563,     0,   539,     0,
1784 >      37,    38,    39,   265,   266,   275,   272,   277,   274,   273,
1785 >     279,   276,   278,   271,     0,   270,   264,   282,   281,   280,
1786 >     263,   399,   391,     0,   390,   398,   233,   234,   232,     0,
1787 >     231,   249,   248,     0,     0,     0,   114,     0,     0,     0,
1788 >       0,   109,   147,   145,   187,   184,   183,   176,   178,   194,
1789 >     188,   191,   186,   177,   192,   180,   189,   193,   181,   190,
1790 >     185,   179,   182,     0,   175,   142,   144,   146,   158,   152,
1791 >     169,   170,   153,   154,   155,   156,   164,   157,   167,   171,
1792 >     160,   165,   161,   166,   159,   163,   162,   168,     0,   151,
1793 >     143,   292,   293,   291,    69,    73,   308,   314,   320,   323,
1794 >     316,   322,   317,   321,   319,   315,   318,     0,   313,   309,
1795 >     331,   336,   342,   345,   338,   344,   339,   343,   341,   337,
1796 >     340,     0,   335,   373,     0,   418,     0,   564,   540,   268,
1797 >       0,   388,     0,   229,     0,   247,   244,   243,     0,     0,
1798 >       0,     0,   108,   173,     0,   149,     0,   311,     0,   333,
1799 >       0,   374,   419,   269,   389,   230,   115,   124,   127,   126,
1800 >     123,   128,   125,   122,     0,   121,   117,   116,   174,   150,
1801 >     312,   334,   119,     0,   120
1802   };
1803  
1804   /* YYDEFGOTO[NTERM-NUM].  */
1805   static const yytype_int16 yydefgoto[] =
1806   {
1807 <      -1,     1,    25,   836,   837,   983,   984,    26,   254,   255,
1808 <     256,   257,    27,   290,   291,   292,   582,  1061,  1062,   293,
1809 <     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
1810 <      28,    74,    75,    76,    77,    78,    29,   245,   246,   247,
1811 <     248,   249,   250,  1025,  1026,  1027,  1028,  1029,  1175,  1307,
1812 <    1308,    30,    63,   546,   547,   548,   549,   550,   551,   552,
1813 <     553,   554,   779,  1222,  1223,   555,   775,  1197,  1198,    31,
1814 <      51,   351,   352,   353,   354,   355,   356,   357,   358,   359,
1815 <     360,   361,   362,   363,   364,   365,    32,    60,   520,   759,
1816 <    1166,  1167,   521,   522,   523,  1172,  1016,  1017,   524,   525,
1817 <      33,    58,   496,   497,   498,   499,   500,   501,   502,   745,
1818 <    1151,  1152,   503,   504,   505,    34,    64,   560,   561,   562,
1819 <     563,   564,    35,   308,   309,   310,    36,    67,   593,   594,
1820 <     595,   596,   597,   812,  1242,  1243,    37,    68,   601,   602,
1821 <     603,   604,   818,  1257,  1258,    38,    52,   381,   382,   383,
1822 <     384,   385,   386,   387,   388,   389,   390,   654,  1104,  1105,
1823 <     391,   392,   393,   394,   395,   396,    39,    59,   510,   754,
1824 <    1160,  1161,   511,   512,   513,   514,    40,    53,   400,   401,
1825 <     402,   403,    41,   123,   124,   125,    42,    55,   411,   673,
1826 <    1119,  1120,   412,   413,   414,   415,    43,   182,   183,   184,
1827 <     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1828 <     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1829 <     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1830 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1831 <     225,   226,   227,   228,   229,   230,   231,   232,   448,   962,
1832 <     963,   233,   446,   939,   940,   234,   235,   236,   237,    44,
1833 <      57,   479,   480,   481,   482,   483,   737,  1136,  1137,   484,
1834 <     485,   486,   734,  1130,  1131,    45,    98,    99,   100,   101,
1835 <     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1836 <     112,   113,   114,   115,   116,   117,    46,   268,   269,   270,
1876 <     271,   272,   273,   274,   275,   276
1807 >      -1,     1,    24,   819,   820,   966,   967,    25,   248,   249,
1808 >     250,   251,    26,   287,   288,   289,   290,   782,   783,   786,
1809 >     787,   291,   292,   293,   294,   295,   296,   297,   298,   299,
1810 >     300,   301,   302,   303,    27,    71,    72,    73,    74,    75,
1811 >      28,   240,   241,   242,   243,   244,  1000,  1001,  1002,  1003,
1812 >    1004,  1138,  1264,  1265,    29,    60,   528,   529,   530,   531,
1813 >     532,   533,   534,   535,   536,   754,  1188,  1189,   537,   750,
1814 >    1163,  1164,    30,    49,   351,   352,   353,   354,   355,   356,
1815 >     357,   358,   359,   360,   361,   362,   363,   364,   365,    31,
1816 >      57,   503,   735,  1129,  1130,   504,   505,   506,  1135,   992,
1817 >     993,   507,   508,    32,    55,   479,   480,   481,   482,   483,
1818 >     484,   485,   721,  1114,  1115,   486,   487,   488,    33,    61,
1819 >     542,   543,   544,   545,   546,    34,   308,   309,   310,    35,
1820 >      64,   578,   579,   580,   581,   582,   796,  1207,  1208,    36,
1821 >      65,   586,   587,   588,   589,   802,  1221,  1222,    37,    50,
1822 >     380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
1823 >     638,  1079,  1080,   390,   391,   392,   393,   394,    38,    56,
1824 >     493,   730,  1123,  1124,   494,   495,   496,   497,    39,    51,
1825 >     398,   399,   400,   401,    40,   120,   121,   122,    41,    53,
1826 >     409,   657,  1094,  1095,   410,   411,   412,   413,    42,   179,
1827 >     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1828 >     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1829 >     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1830 >     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1831 >     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1832 >     447,   946,   947,   230,   445,   923,   924,   231,   232,   233,
1833 >     234,    43,    95,    96,    97,    98,    99,   100,   101,   102,
1834 >     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1835 >     113,   114,    44,   262,   263,   264,   265,   266,   267,   268,
1836 >     269,   270
1837   };
1838  
1839   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1840     STATE-NUM.  */
1841 < #define YYPACT_NINF -635
1841 > #define YYPACT_NINF -784
1842   static const yytype_int16 yypact[] =
1843   {
1844 <    -635,   676,  -635,  -199,  -237,  -225,  -635,  -635,  -635,  -222,
1845 <    -635,  -217,  -635,  -635,  -635,  -635,  -198,  -193,  -635,  -635,
1846 <    -185,  -175,  -635,  -635,  -164,  -635,  -635,  -635,  -635,  -635,
1847 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1848 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,   318,
1849 <     632,  -154,  -151,  -146,    10,  -128,   431,  -119,  -113,   -92,
1850 <     -84,    89,    35,   -76,   -73,   450,   471,   -53,   -42,     9,
1851 <    -207,  -112,   -41,   -38,    11,  -635,  -635,  -635,  -635,  -635,
1852 <     -33,   -23,   -21,    29,    39,    48,    59,    65,   106,   111,
1853 <     113,   120,   121,   123,   130,   136,   137,   139,   147,  -635,
1854 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1855 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,   744,   545,
1856 <       4,  -635,   140,    17,  -635,  -635,    58,  -635,   143,   146,
1857 <     148,   151,   152,   155,   156,   158,   166,   168,   169,   171,
1858 <     172,   174,   175,   177,   178,   180,   183,   184,   186,   187,
1859 <     188,   190,   197,   198,   199,   201,   202,   205,  -635,   207,
1860 <    -635,   209,   213,   217,   219,   221,   223,   224,   228,   230,
1861 <     233,   234,   236,   237,   238,   240,   241,   242,   246,   247,
1862 <     248,   250,    24,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1863 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1864 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1865 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1866 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1867 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,   312,   395,
1868 <      13,   330,    44,   252,   253,    75,  -635,  -635,  -635,  -635,
1869 <      28,   194,   255,   257,    40,  -635,  -635,  -635,   337,    49,
1870 <    -635,   261,   263,   264,   268,   274,   275,   277,   214,  -635,
1871 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,   254,   281,   290,
1872 <     291,   292,   293,   294,   298,  -635,   300,   303,   308,   310,
1873 <     191,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1874 <    -635,  -635,  -635,  -635,     5,     2,  -635,   311,    27,  -635,
1875 <    -635,  -635,   321,   387,   425,   320,  -635,   153,   447,   451,
1876 <     385,   391,   457,   457,   458,   460,   397,   400,   467,   457,
1877 <     403,   404,   405,   406,   407,   344,  -635,   345,   343,   347,
1878 <     348,   352,   353,   354,   356,   357,   358,   364,   365,   370,
1879 <     373,   210,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1880 <    -635,  -635,  -635,  -635,  -635,  -635,   380,   379,   381,   382,
1881 <     384,   388,  -635,   389,   393,   394,   396,   399,   401,   402,
1882 <     410,   216,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1883 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,   411,   412,
1884 <      12,  -635,  -635,  -635,   455,   383,  -635,  -635,   413,   416,
1885 <    -635,  -635,    72,  -635,  -635,  -635,   454,   457,   457,   477,
1886 <     506,   529,   473,   484,   532,   515,   488,   554,   555,   563,
1887 <     495,   502,   503,   457,   548,   505,   572,   573,   457,   574,
1888 <     575,   556,   578,   580,   511,   516,   452,   518,   456,   457,
1889 <     457,   522,   457,   569,   526,   530,   537,   -16,    -2,   539,
1890 <     544,   457,   457,   597,   589,   457,   547,   549,   552,   557,
1891 <     490,  -635,  -635,  -635,   481,   491,  -635,   493,   500,    16,
1892 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,   498,   501,   504,
1893 <    -635,   507,   508,   509,   510,   513,   196,  -635,  -635,  -635,
1894 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,   514,  -635,   524,
1895 <    -635,   167,  -635,  -635,  -635,   521,  -635,   525,   527,   536,
1896 <    -635,    63,  -635,  -635,  -635,  -635,  -635,   570,   611,   533,
1897 <    -635,   109,  -635,   599,   613,   550,  -635,   558,   553,   559,
1898 <    -635,   565,   566,   567,  -635,   571,     6,  -635,  -635,  -635,
1899 <    -635,  -635,  -635,  -635,  -635,  -635,   579,   577,   581,   584,
1900 <      21,  -635,  -635,  -635,  -635,   612,   623,   624,   616,   627,
1901 <     636,   457,   585,  -635,  -635,   681,   639,   684,   689,   690,
1902 <     696,   697,   587,   706,   728,   710,   711,   604,  -635,   606,
1903 <     605,  -635,   608,    64,  -635,  -635,  -635,  -635,   607,   609,
1904 <    -635,   100,  -635,  -635,  -635,   717,   614,  -635,   615,   619,
1905 <     625,  -635,   626,   628,   629,   630,   631,   251,   635,   637,
1906 <     638,   640,   641,   642,   643,   644,   645,   646,   647,   648,
1907 <     649,  -635,  -635,   742,   745,   457,   752,   753,   765,   768,
1908 <     735,   779,   782,   457,   457,   597,   654,  -635,  -635,   763,
1909 <      52,   764,   766,   723,   657,   770,   771,   772,   773,   786,
1910 <     774,   780,   783,   680,  -635,   784,   789,   683,  -635,   687,
1911 <    -635,   799,   800,   691,   695,  -635,   704,   707,   708,   712,
1912 <     713,   715,   719,   726,   727,   729,   736,   739,   740,   747,
1913 <     751,   755,   758,   759,   760,   761,   767,   769,   775,   776,
1914 <     777,   778,   781,   785,   787,   790,   724,   791,   756,   792,
1915 <     793,   794,   795,   796,   797,   798,   801,   802,   803,   804,
1916 <     805,   806,   807,   808,   809,   276,   810,   811,   812,   813,
1917 <     814,   815,   816,  -635,   693,   457,   820,   694,   831,   832,
1918 <     817,  -635,  -635,   836,   827,   741,   853,   893,   873,   874,
1919 <     876,   818,  -635,   878,   819,   879,   821,  -635,  -635,   822,
1920 <     880,   881,   903,   823,  -635,   824,   826,  -635,   108,   828,
1921 <     829,  -635,  -635,   887,   844,   830,   890,   891,   892,   833,
1922 <     894,   834,  -635,  -635,   896,   897,   907,   835,  -635,   837,
1923 <     838,   839,   840,   841,   842,   843,  -635,   845,   846,   847,
1924 <     848,   849,   850,   851,    32,   852,   854,   855,   856,  -635,
1925 <    -635,   908,   857,   927,   858,  -635,  -635,   928,   859,   861,
1926 <    -635,   863,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1927 <    -635,   457,   457,   457,   457,   457,  -635,  -635,  -635,  -635,
1928 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1929 <    -635,   864,   865,   866,   867,   868,   869,   870,   871,   872,
1930 <     875,   877,   882,   883,  -635,   884,   885,   886,   888,   889,
1931 <     895,   164,   898,   899,   900,   901,   902,   904,   905,   906,
1932 <    -635,   909,   910,  -635,  -635,   911,   912,   930,  -635,  -635,
1933 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1934 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1935 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1936 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1937 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -229,
1938 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1939 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1940 <    -635,  -635,  -221,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1941 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1942 <     597,   597,   597,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1943 <    -635,  -635,    38,   913,   914,    41,   915,   916,  -635,   917,
1944 <     918,   721,   919,   920,   921,   922,   923,  -635,   924,   933,
1945 <     925,  -635,   -50,   926,   929,   932,   931,  -635,  -635,  -635,
1946 <    -635,   934,   935,  -635,   936,   107,  -635,  -635,  -635,  -635,
1947 <    -635,  -635,   937,   940,   576,   941,   942,   943,   788,   944,
1948 <    -635,   945,   946,   947,  -635,  -635,  -635,  -635,  -635,  -635,
1949 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1950 <    -635,  -218,  -635,  -635,  -635,  -635,  -635,   948,   560,   949,
1951 <    -635,   950,   582,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1952 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1953 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1954 <    -635,  -635,  -635,  -635,  -210,  -635,  -635,  -635,  -635,  -635,
1955 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -209,
1956 <    -635,  -635,   724,  -635,   756,  -635,  -635,  -635,  -635,  -635,
1957 <    -204,  -635,  -635,  -635,  -635,  -635,  -176,  -635,  -635,  -635,
1958 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1959 <    -635,  -170,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1960 <    -167,  -635,  -635,  -635,  -635,  -635,  -165,  -635,  -635,  -635,
1961 <     960,   903,   951,  -635,   952,   953,  -111,   954,  -635,  -635,
1962 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1963 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -157,  -635,  -635,
1964 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1965 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1966 <    -635,  -635,   -19,  -635,  -635,  -635,  -635,  -635,  -635,    32,
1967 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1968 <    -635,  -635,    31,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1969 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,    81,  -635,  -635,
1970 <     164,  -635,   930,  -635,  -635,  -635,    38,  -635,    41,  -635,
1971 <     721,  -635,   933,  -635,   -50,  -635,  -635,  -635,   955,   284,
2012 <     957,   958,  -635,  -635,   576,  -635,   788,  -635,  -635,   560,
2013 <    -635,   582,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
2014 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,    86,  -635,  -635,
2015 <    -635,  -635,  -635,  -635,  -635,  -635,   284,  -635
1844 >    -784,   688,  -784,  -234,  -225,  -219,  -784,  -784,  -784,  -217,
1845 >    -784,  -206,  -784,  -784,  -784,  -204,  -201,  -784,  -784,  -198,
1846 >    -196,  -784,  -784,  -193,  -784,  -784,  -784,  -784,  -784,  -784,
1847 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1848 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,   106,   597,  -186,
1849 >    -171,  -169,    15,  -158,   378,  -152,  -144,  -123,     3,    60,
1850 >    -113,   -96,   663,   431,   -84,   -68,    22,   -55,   -50,   -45,
1851 >     -36,    19,  -784,  -784,  -784,  -784,  -784,   -18,   -13,    26,
1852 >      28,    33,    37,    44,    50,    70,    81,    84,    86,    87,
1853 >      89,    92,    93,    94,    96,    11,  -784,  -784,  -784,  -784,
1854 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1855 >    -784,  -784,  -784,  -784,  -784,   755,   459,    13,  -784,    97,
1856 >      29,  -784,  -784,    24,  -784,    99,   100,   101,   103,   108,
1857 >     112,   115,   116,   119,   120,   124,   128,   130,   131,   133,
1858 >     136,   137,   138,   147,   152,   153,   154,   156,   158,   159,
1859 >     162,   169,   171,   173,   175,   177,  -784,   178,  -784,   179,
1860 >     184,   190,   193,   194,   195,   196,   198,   199,   200,   203,
1861 >     204,   206,   207,   210,   212,   217,   219,   220,   221,   129,
1862 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1863 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1864 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1865 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1866 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1867 >    -784,  -784,  -784,  -784,  -784,   516,    63,   270,    91,   222,
1868 >      17,  -784,  -784,  -784,   110,   164,   225,   231,    73,  -784,
1869 >    -784,  -784,   483,    88,  -784,   232,   234,   236,   238,   239,
1870 >     242,   243,    18,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1871 >    -784,   247,   245,   246,   248,   255,   261,   263,   264,   266,
1872 >     268,   272,   274,   275,   276,   277,   280,   174,  -784,  -784,
1873 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1874 >    -784,  -784,  -784,  -784,     2,     4,  -784,   283,    56,  -784,
1875 >    -784,  -784,   240,   288,   361,   287,  -784,   402,   420,   356,
1876 >     359,   426,   426,   429,   430,   432,   367,   370,   437,   426,
1877 >     372,   386,   388,   389,   390,   328,  -784,   330,   323,   335,
1878 >     336,   337,   339,   341,   342,   345,   347,   349,   350,   352,
1879 >     355,   267,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1880 >    -784,  -784,  -784,  -784,  -784,  -784,   331,   357,   358,   360,
1881 >     364,  -784,   365,   366,   369,   376,   379,   380,   384,   387,
1882 >     326,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1883 >    -784,  -784,  -784,  -784,  -784,  -784,   391,   392,    21,  -784,
1884 >    -784,  -784,   444,   362,  -784,  -784,   394,   395,  -784,  -784,
1885 >      14,  -784,  -784,  -784,   439,   426,   426,   496,   466,   467,
1886 >     525,   513,   469,   426,   477,   426,   547,   548,   549,   484,
1887 >     487,   488,   426,   534,   492,   559,   560,   426,   562,   563,
1888 >     546,   568,   569,   508,   512,   447,   520,   453,   426,   426,
1889 >     523,   426,   524,   526,   529,   104,   107,   536,   538,   426,
1890 >     426,   579,   570,   426,   544,   552,   556,   561,   480,  -784,
1891 >     494,   504,   505,  -784,   506,   510,   511,   517,   518,     5,
1892 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1893 >     521,  -784,   522,  -784,    42,  -784,  -784,  -784,   497,  -784,
1894 >     527,   528,   531,  -784,    12,  -784,  -784,  -784,  -784,  -784,
1895 >     577,   499,  -784,   514,  -784,   629,   630,   539,  -784,   540,
1896 >     541,   543,  -784,   545,   550,   551,  -784,   553,    69,  -784,
1897 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,   542,   554,
1898 >     555,   566,    16,  -784,  -784,  -784,  -784,   589,   592,   595,
1899 >     652,   613,   617,   426,   564,  -784,  -784,   666,   618,   670,
1900 >     673,   674,   676,   677,   679,   144,   161,   681,   682,   705,
1901 >     685,   687,   575,  -784,   578,   574,  -784,   576,    85,  -784,
1902 >    -784,  -784,  -784,   580,   581,  -784,    62,  -784,  -784,  -784,
1903 >     692,   582,  -784,   583,   588,   590,  -784,   591,   593,   594,
1904 >     596,   233,   598,   599,   603,   604,   608,   609,   612,   614,
1905 >     615,   616,   619,   620,   621,   622,  -784,  -784,   721,   724,
1906 >     426,   727,   749,   750,   756,   734,   764,   765,   426,   426,
1907 >     579,   636,  -784,  -784,   748,   126,   759,   710,   647,   767,
1908 >     768,   769,   770,   785,   771,   773,   774,   654,  -784,   775,
1909 >     783,   675,  -784,   680,  -784,   787,   792,   684,   683,  -784,
1910 >     689,   693,   701,   704,   709,   712,   716,   718,   722,   726,
1911 >     728,   730,   731,   732,   733,   735,   736,   737,   738,   739,
1912 >     740,   741,   742,   743,   744,   745,   746,   747,   751,   752,
1913 >     753,   686,   757,   725,   758,   760,   761,   762,   763,   766,
1914 >     772,   776,   777,   778,   779,   780,   781,   782,   784,    41,
1915 >     786,   788,   789,   790,   791,   793,   794,  -784,  -784,   803,
1916 >     800,   702,   821,   853,   835,   836,   838,   795,  -784,   859,
1917 >     796,   860,   797,  -784,  -784,   798,   861,   865,   887,   802,
1918 >    -784,   804,  -784,    23,   805,   806,  -784,  -784,   867,   825,
1919 >     807,   875,   876,   878,   808,   879,   809,  -784,  -784,   880,
1920 >     881,   882,   812,  -784,   813,   814,   815,   816,   817,   818,
1921 >     819,  -784,   820,   822,   823,   824,   826,   827,   828,   829,
1922 >    -784,  -784,  -207,  -784,  -784,  -784,  -182,  -784,   830,   831,
1923 >     832,   833,   834,  -784,  -784,   884,   837,   885,   839,  -784,
1924 >    -784,   886,   840,   841,  -784,   842,  -784,  -784,  -784,  -784,
1925 >    -784,  -784,  -784,  -784,   426,   426,   426,   426,   426,  -784,
1926 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1927 >    -784,  -784,  -784,  -784,  -784,   844,   845,   846,   847,   848,
1928 >     849,   850,   851,   852,   854,   855,   856,   857,  -784,   858,
1929 >     862,   863,   864,   866,    66,   868,   869,   870,   871,   872,
1930 >     873,   874,   877,  -784,   883,   888,  -784,  -784,   889,   890,
1931 >     891,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1932 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1933 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1934 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1935 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1936 >    -784,  -784,  -784,  -177,  -784,  -784,  -784,  -784,  -784,  -784,
1937 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1938 >    -784,  -784,  -784,  -784,  -784,  -784,  -176,  -784,  -784,  -784,
1939 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1940 >    -784,  -784,  -784,   579,   579,   579,  -784,  -784,  -784,  -784,
1941 >    -784,  -784,  -784,  -784,  -784,   892,   893,   639,   894,   895,
1942 >     896,   897,   898,  -784,   899,   902,   900,  -784,   -54,   901,
1943 >     903,   914,   799,  -784,  -784,  -784,   904,   905,  -784,   906,
1944 >      25,  -784,  -784,  -784,  -784,  -784,  -784,   907,   910,   515,
1945 >     911,   912,   913,   754,   915,  -784,   916,   917,   918,  -784,
1946 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1947 >    -784,  -784,  -784,  -784,  -784,  -784,   144,  -784,   161,  -784,
1948 >    -784,  -784,  -784,  -784,   919,   434,   920,  -784,   921,   565,
1949 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1950 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1951 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -175,
1952 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1953 >    -784,  -784,  -784,  -784,  -135,  -784,  -784,   686,  -784,   725,
1954 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1955 >    -784,  -784,  -784,  -784,  -130,  -784,  -784,  -784,  -784,  -784,
1956 >    -784,  -784,  -784,   -81,  -784,  -784,  -784,  -784,  -784,   -65,
1957 >    -784,  -784,  -784,   924,   887,   922,  -784,   909,   923,  -105,
1958 >     925,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1959 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1960 >    -784,  -784,  -784,   -39,  -784,  -784,  -784,  -784,  -784,  -784,
1961 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1962 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,   -32,  -784,
1963 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1964 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,   -31,  -784,  -784,
1965 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1966 >    -784,    -8,  -784,  -784,    66,  -784,   891,  -784,  -784,  -784,
1967 >     639,  -784,   902,  -784,   -54,  -784,  -784,  -784,   927,   363,
1968 >     928,   929,  -784,  -784,   515,  -784,   754,  -784,   434,  -784,
1969 >     565,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1970 >    -784,  -784,  -784,  -784,    -7,  -784,  -784,  -784,  -784,  -784,
1971 >    -784,  -784,  -784,   363,  -784
1972   };
1973  
1974   /* YYPGOTO[NTERM-NUM].  */
1975   static const yytype_int16 yypgoto[] =
1976   {
1977 <    -635,  -635,  -635,  -459,  -321,  -634,  -463,  -635,  -635,   956,
1978 <    -635,  -635,  -635,  -635,   862,  -635,  -635,  -635,  -153,  -635,
1979 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1980 <    -635,  -635,  1023,  -635,  -635,  -635,  -635,  -635,   959,  -635,
1981 <    -635,  -635,  -635,  -635,    76,  -635,  -635,  -635,  -635,  -635,
1982 <    -213,  -635,  -635,  -635,   588,  -635,  -635,  -635,  -635,  -635,
1983 <    -635,  -635,  -635,  -635,  -168,  -635,  -635,  -635,  -162,  -635,
1984 <    -635,  -635,   825,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1985 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1986 <    -635,  -150,  -635,   602,  -635,  -635,  -635,   -51,  -635,  -635,
1987 <    -635,  -635,  -635,   651,  -635,  -635,  -635,  -635,  -635,  -635,
1988 <    -635,  -145,  -635,  -635,  -635,  -635,  -635,  -635,   591,  -635,
1989 <    -635,  -635,  -635,  -635,   938,  -635,  -635,  -635,  -635,   538,
1990 <    -635,  -635,  -635,  -635,  -635,  -152,  -635,  -635,  -635,   534,
1991 <    -635,  -635,  -635,  -635,  -155,  -635,  -635,  -635,   757,  -635,
1992 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -120,
1993 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1994 <    -635,  -131,  -635,   660,  -635,  -635,  -635,  -635,  -635,   860,
1995 <    -635,  -635,  -635,  -635,  1049,  -635,  -635,  -635,  -635,  -635,
1996 <    -635,   -88,  -635,   939,  -635,  -635,  -635,  -635,   993,  -635,
1997 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1998 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
1999 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
2000 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
2001 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
2002 <      53,  -635,  -635,  -635,    74,  -635,  -635,  -635,  -635,  -635,
2003 <    -635,  -635,   701,  -635,  -635,  -635,  -635,  -635,   -71,  -635,
2004 <    -635,  -635,  -635,  -635,   -63,  -635,  -635,  1107,  -635,  -635,
2005 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,
2006 <    -635,  -635,  -635,  -635,  -635,  -635,  -635,  -635,   961,  -635,
2051 <    -635,  -635,  -635,  -635,  -635,  -635
1977 >    -784,  -784,  -784,  -783,  -320,  -745,  -461,  -784,  -784,   926,
1978 >    -784,  -784,  -784,  -784,   843,  -784,  -784,  -784,    -9,  -784,
1979 >       6,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1980 >    -784,  -784,  -784,  -784,  -784,  -784,   960,  -784,  -784,  -784,
1981 >    -784,  -784,   811,  -784,  -784,  -784,  -784,    52,  -784,  -784,
1982 >    -784,  -784,  -784,  -208,  -784,  -784,  -784,   600,  -784,  -784,
1983 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -167,  -784,  -784,
1984 >    -784,  -164,  -784,  -784,  -784,   908,  -784,  -784,  -784,  -784,
1985 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1986 >    -784,  -784,  -784,  -784,  -165,  -784,   601,  -784,  -784,  -784,
1987 >     -53,  -784,  -784,  -784,  -784,  -784,   624,  -784,  -784,  -784,
1988 >    -784,  -784,  -784,  -784,  -148,  -784,  -784,  -784,  -784,  -784,
1989 >    -784,   567,  -784,  -784,  -784,  -784,  -784,   930,  -784,  -784,
1990 >    -784,  -784,   533,  -784,  -784,  -784,  -784,  -784,  -129,  -784,
1991 >    -784,  -784,   537,  -784,  -784,  -784,  -784,  -146,  -784,  -784,
1992 >    -784,   801,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1993 >    -784,  -784,  -104,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1994 >    -784,  -784,  -784,  -110,  -784,   631,  -784,  -784,  -784,  -784,
1995 >    -784,   810,  -784,  -784,  -784,  -784,  1004,  -784,  -784,  -784,
1996 >    -784,  -784,  -784,  -100,  -784,   719,  -784,  -784,  -784,  -784,
1997 >     952,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1998 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1999 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
2000 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
2001 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
2002 >    -784,  -784,    36,  -784,  -784,  -784,    49,  -784,  -784,  -784,
2003 >    -784,  -784,  -784,  1054,  -784,  -784,  -784,  -784,  -784,  -784,
2004 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
2005 >    -784,  -784,  -784,  -784,   931,  -784,  -784,  -784,  -784,  -784,
2006 >    -784,  -784
2007   };
2008  
2009   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2010     positive, shift that token.  If negative, reduce the rule which
2011     number is the opposite.  If YYTABLE_NINF, syntax error.  */
2012 < #define YYTABLE_NINF -102
2012 > #define YYTABLE_NINF -108
2013   static const yytype_int16 yytable[] =
2014   {
2015 <     726,   618,   619,   598,   725,   397,   589,   537,   625,    49,
2016 <     306,   121,    70,   397,   506,  1121,  1163,   472,   121,  1122,
2017 <     473,    50,   556,  1123,    54,   127,  1228,  1124,   306,    56,
2018 <    1229,   538,   128,   129,  1259,  1261,   251,   311,  1260,  1262,
2019 <    1265,   251,   557,   130,  1266,    47,    48,    71,    61,  1128,
2020 <     556,   131,  1134,    62,   539,   132,   133,    72,   540,   407,
2021 <     474,    65,   134,   475,   515,   589,   135,   136,  1267,   137,
2022 <     557,    66,  1268,   407,  1269,   138,   242,  1271,  1270,  1273,
2023 <     398,  1272,    69,  1274,   139,   140,   122,  1283,   398,   141,
2024 <     242,  1284,   118,   122,   142,   119,   677,   678,   143,   144,
2025 <     120,   598,   145,  1280,   476,   146,   147,   599,  1021,  1021,
2026 <     590,   541,   693,   148,   307,   516,    73,   698,   126,   149,
2027 <     150,   477,   151,   152,   153,   154,   155,   238,   709,   710,
2028 <     558,   712,   307,   239,   517,   312,   542,   156,   252,   518,
2029 <     723,   724,   399,   252,   728,   157,   158,   159,    79,   160,
2030 <     399,   507,   161,   162,   240,   543,   163,  1164,   558,   559,
2031 <      80,  1165,   241,   408,   717,   718,   253,   164,   506,   590,
2032 <     258,   253,   600,   259,  1099,   591,  1100,   408,   719,   720,
2033 <      81,    82,   863,   508,  1059,  1060,    83,   559,    84,   165,
2034 <    1101,   166,   277,   304,  1102,   167,   409,   487,   519,   168,
2035 <     169,   170,   171,   172,   305,   599,   313,   173,   174,   314,
2036 <     409,   337,  1022,  1022,   317,   260,   175,   366,   544,   367,
2037 <    1129,   488,   368,  1135,   318,  1285,   319,   278,   410,  1286,
2038 <      85,    86,   338,   339,   591,   592,   545,    87,    88,   340,
2039 <     369,   370,   410,   509,   489,   176,   478,   177,   490,   178,
2040 <     795,   781,   866,   867,   261,   179,   315,   667,    89,    90,
2041 <     180,   740,   405,   279,   371,   181,   787,   262,   372,   470,
2042 <     600,   531,   606,    91,    92,  1288,   320,  1023,  1023,  1289,
2043 <     263,   264,   265,   266,    93,   535,   321,   373,   526,   374,
2044 <     980,   981,   982,    94,   592,   322,   280,   243,   281,   282,
2045 <     267,   375,   341,   342,   343,   507,   323,   344,   763,   814,
2046 <     244,   243,   324,   472,   853,   345,   473,   674,  -101,    70,
2047 <     529,   376,   861,   862,   244,  1290,   491,   346,   347,  1291,
2048 <    1315,   515,  -101,   612,  1316,   492,   493,   508,   537,   283,
2049 <    1300,   284,   285,   348,   349,   819,  1125,  1126,  1127,  1024,
2050 <    1024,   377,  1177,   325,    71,   768,   474,   286,   326,   475,
2051 <     327,  1301,   538,  1302,    72,   378,   617,   328,   329,   494,
2052 <     330,   350,  1075,  1076,  1077,  1078,  1079,   331,   379,    95,
2053 <      96,    97,   516,   332,   333,   539,   334,   404,  1103,   540,
2054 <     416,   725,   335,   417,   287,   418,   487,   509,   419,   420,
2055 <     476,   517,   421,   422,  1303,   423,   518,   831,   832,   833,
2056 <     834,   835,   756,   424,   993,   425,   426,   477,   427,   428,
2057 <     488,   429,   430,    73,   431,   432,   495,   433,   288,   289,
2058 <     434,   435,   127,   436,   437,   438,   587,   439,   532,   128,
2059 <     129,   751,   541,   489,   440,   441,   442,   490,   443,   444,
2060 <     130,   260,   445,   380,   447,   646,   449,   608,   131,   572,
2061 <     450,   663,   132,   133,   451,   519,   452,   542,   453,   134,
2062 <     454,   455,   277,   135,   136,   456,   137,   457,  1304,  1305,
2063 <     458,   459,   138,   460,   461,   462,   543,   463,   464,   465,
2064 <     261,   139,   140,   466,   467,   468,   141,   469,   574,   527,
2065 <     528,   142,   533,   262,   534,   143,   144,   278,   565,   145,
2066 <     566,   567,   146,   147,  1306,   568,   263,   264,   265,   266,
2067 <     148,   569,   570,   609,   571,   491,   149,   150,   575,   151,
2068 <     152,   153,   154,   155,   492,   493,   267,   576,   577,   578,
2069 <     579,   580,   478,   279,   156,   581,   366,   583,   367,   544,
2070 <     584,   368,   157,   158,   159,   585,   160,   586,   605,   161,
2071 <     162,   610,   613,   163,   611,   615,   614,   545,   494,   369,
2072 <     370,   616,   617,   620,   164,   621,   280,   622,   281,   282,
2073 <     623,  1181,   624,   626,   627,   628,   629,   630,   631,   632,
2074 <     633,   669,   679,   371,   634,   635,   165,   372,   166,   636,
2075 <     637,   638,   167,   639,   640,   641,   168,   169,   170,   171,
2076 <     172,   642,   643,  1182,   173,   174,   373,   644,   374,   283,
2077 <     645,   284,   285,   175,   648,   495,   649,   670,   650,   651,
2078 <     375,   652,  1183,    79,   676,   653,   655,   286,  1184,  1231,
2079 <     656,   657,   680,   658,   681,    80,   659,   684,   660,   661,
2080 <     376,   685,   176,   682,   177,  1185,   178,   662,   665,   666,
2081 <     671,  1246,   179,   672,   683,    81,    82,   180,   686,   687,
2082 <     688,    83,   181,    84,   287,   690,     2,     3,   689,  1186,
2083 <     377,     4,   691,   692,   694,   695,  1187,   696,   697,   699,
2084 <     700,   704,   701,   702,   378,   703,   705,     5,   707,   706,
2085 <    1188,     6,   711,   708,     7,   713,   714,   379,   288,   289,
2086 <     715,     8,   725,  1281,  1232,    85,    86,   716,  1189,   721,
2087 <    1190,  1191,    87,    88,   722,   727,     9,   729,   735,   730,
2088 <      10,    11,   731,    12,   733,   769,  1247,   732,   736,    13,
2089 <     738,  1142,   742,    89,    90,   337,  1233,   739,   743,   770,
2090 <     765,   744,   792,    14,   746,   747,   748,   749,    91,    92,
2091 <     750,   753,  1234,    15,    16,   758,   338,   339,  1248,    93,
2092 <    1143,   755,   760,   340,   761,  1235,  1236,   767,    94,  1144,
2093 <      17,  1192,   380,   762,  1249,  1145,  1237,  1238,  1239,  1240,
2094 <     919,   766,   789,  1193,   771,  1194,    18,  1250,  1251,  1241,
2095 <     773,  1146,   772,   790,   791,  1195,   774,   793,  1252,  1253,
2096 <    1254,  1255,   776,   777,   778,  1196,   794,   797,   780,   798,
2097 <     799,  1256,   942,   783,   784,   800,   801,  1147,   785,   796,
2098 <      19,   786,   802,   803,   804,  1148,   341,   342,   343,    20,
2099 <      21,   344,   805,   806,    22,    23,   807,   808,   809,   345,
2100 <     810,   816,   811,   821,  1202,   813,   817,   851,   822,   823,
2101 <     852,   346,   347,   824,    95,    96,    97,   854,   855,   825,
2102 <     826,   858,   827,   828,   829,   830,  1149,   348,   349,   838,
2103 <     856,   839,   840,   857,   841,   842,   843,   844,   845,   846,
2104 <     847,   848,   849,   850,   859,  1150,    24,   860,   864,   865,
2105 <     868,   876,   869,   870,   871,   350,   872,   873,   874,   875,
2106 <     877,   920,   921,   922,   923,   924,   878,   925,   926,   879,
2107 <     881,   927,   928,   929,   880,   882,   930,   883,   931,   932,
2108 <     933,   884,   934,   935,   936,   885,   886,   937,   887,   888,
2109 <     992,   995,   938,   943,   944,   945,   946,   947,   889,   948,
2110 <     949,   890,   891,   950,   951,   952,   892,   893,   953,   894,
2111 <     954,   955,   956,   895,   957,   958,   959,   996,   997,   960,
2112 <     896,   897,   999,   898,   961,  1203,  1204,  1205,  1206,  1207,
2113 <     899,  1208,  1209,   900,   901,  1210,  1211,  1212,  1001,  1002,
2114 <    1213,   902,  1214,  1215,  1216,   903,  1217,  1218,  1219,   904,
2115 <     994,  1220,   905,   906,   907,   908,  1221,  1000,  1003,  1004,
2116 <    1005,   909,  1006,   910,  1008,  1010,  1013,  1014,  1015,   911,
2117 <     912,   913,   914,  1032,  1033,   915,  1035,  1036,  1037,   916,
2118 <    1039,   917,  1041,  1042,   918,   941,   964,   965,   966,   967,
2119 <     968,   969,   970,  1043,  1067,   971,   972,   973,   974,   975,
2120 <     976,   977,   978,   979,   985,   986,   987,   988,   989,   990,
2121 <     991,   998,  1007,  1069,  1071,  1011,  1009,  1018,  1019,  1012,
2122 <    1020,  1118,  1030,  1031,  1159,  1275,  1287,  1034,  1040,  1044,
2123 <    1038,  1045,  1046,  1047,  1048,  1049,  1050,  1051,  1278,  1052,
2124 <    1053,  1054,  1055,  1056,  1057,  1058,  1063,   316,  1064,  1065,
2125 <    1066,  1178,  1070,  1317,  1068,  1073,  1072,  1074,  1080,  1081,
2126 <    1082,  1083,  1084,  1085,  1086,  1087,  1088,  1170,  1312,  1089,
2127 <    1276,  1090,  1311,   764,  1298,  1296,  1091,  1092,  1093,  1094,
2128 <    1095,   815,  1096,  1097,   782,   820,  1314,  1313,   664,  1098,
2129 <    1292,  1297,  1106,  1107,  1108,  1109,  1110,   752,  1111,  1112,
2130 <    1113,   788,   588,  1114,  1115,  1116,  1117,  1132,  1133,  1138,
2131 <    1139,  1140,  1141,  1153,  1154,  1155,  1156,  1157,  1158,  1162,
2132 <    1168,   757,   406,  1169,  1293,   471,   647,  1264,  1173,  1171,
2133 <     741,  1179,  1174,  1176,  1180,  1199,  1200,  1201,  1224,  1225,
2134 <    1226,  1227,  1230,  1244,  1245,  1277,  1263,  1295,  1282,  1299,
2135 <    1279,  1309,  1310,  1294,   530,   336,     0,     0,     0,     0,
2181 <     536,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2182 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   573,
2183 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2184 <       0,     0,     0,     0,     0,     0,   607,     0,     0,     0,
2015 >     710,   602,   603,   574,   238,   583,   470,   709,  1126,   610,
2016 >      45,    46,    76,   498,   395,   405,   118,   538,   238,   254,
2017 >      67,    47,   395,   306,   996,   405,   996,    48,   471,    52,
2018 >     118,  1052,  1053,  1054,  1055,  1056,   539,  1035,    77,    78,
2019 >      54,  1036,    58,   489,    79,    59,    80,   472,    62,    68,
2020 >      63,   473,   255,    66,   963,   964,   965,   306,   499,    69,
2021 >     115,   245,  1037,   583,   489,   256,  1038,  1096,  1098,  1223,
2022 >     519,  1097,  1099,  1224,   245,   116,  1075,   117,  1076,   500,
2023 >     257,   258,   259,   260,   501,   396,   574,   119,   123,   538,
2024 >      81,    82,   520,   396,   235,   661,   662,    83,    84,    85,
2025 >     261,   119,   236,   669,   575,   671,   584,    67,   539,  1225,
2026 >    1240,   521,   678,  1226,  1229,   522,   406,   683,  1230,    86,
2027 >      87,    70,   540,   237,   307,   997,   406,   997,   694,   695,
2028 >     124,   697,   474,   252,    88,    89,    68,   125,   126,   707,
2029 >     708,   475,   476,   712,   502,    90,    69,   127,   397,   407,
2030 >     253,   541,  1127,   709,    91,   128,   397,  1128,   307,   407,
2031 >     246,   129,   304,  1231,   584,   130,   131,  1232,   132,   847,
2032 >     576,   523,   585,   246,   133,   271,   477,   490,   305,  1233,
2033 >     134,   135,   408,  1234,   136,   137,   138,   575,   247,   311,
2034 >     139,   998,   408,   998,   540,   140,   524,   312,   490,   141,
2035 >     142,   247,   313,   143,   272,  1243,   144,   145,    70,  1244,
2036 >     491,   314,  1245,  1247,   146,   525,  1246,  1248,  1100,  1101,
2037 >    1102,   147,   148,   541,   149,   150,   151,   152,   153,   317,
2038 >     585,   491,   577,   770,   318,   478,  1249,  1272,   239,   154,
2039 >    1250,  1273,   273,    92,    93,    94,  -107,   155,   156,   157,
2040 >     727,   158,   239,   576,   159,   160,   335,   739,   161,   658,
2041 >    -107,   762,   511,   554,   315,   999,   651,   999,   337,   162,
2042 >    1140,   498,   492,   319,   403,   320,   274,  1077,   275,   276,
2043 >     321,   526,   701,   702,   322,   703,   704,   732,   338,   339,
2044 >    1078,   323,   340,   492,   163,   780,   781,   324,   164,   527,
2045 >     837,   591,   165,   166,   167,   168,   169,   803,   845,   846,
2046 >     170,   171,   784,   785,   756,   577,   499,   325,   517,   277,
2047 >     172,   278,   279,   280,   281,   850,   851,   366,   326,   367,
2048 >     798,   327,   368,   328,   329,   509,   330,   500,   282,   331,
2049 >     332,   333,   501,   334,   402,   601,   414,   415,   416,   369,
2050 >     417,   173,   174,   513,   175,   418,   341,   342,   343,   419,
2051 >     176,   344,   420,   421,   283,   177,   422,   423,   370,   345,
2052 >     178,   424,   371,   593,   468,   425,   284,   426,   427,   124,
2053 >     428,   346,   347,   429,   430,   431,   125,   126,   814,   815,
2054 >     816,   817,   818,   372,   432,   373,   127,   348,   349,   433,
2055 >     434,   435,   502,   436,   128,   437,   438,   374,   514,   439,
2056 >     129,   285,   286,  1257,   130,   131,   440,   132,   441,   572,
2057 >     442,   594,   443,   133,   444,   446,   448,   350,   375,   134,
2058 >     135,   449,   271,   136,   137,   138,  1258,   450,  1259,   139,
2059 >     451,   452,   453,   454,   140,   455,   456,   457,   141,   142,
2060 >     458,   459,   143,   460,   461,   144,   145,   462,   376,   463,
2061 >     366,   272,   367,   146,   464,   368,   465,   466,   467,   510,
2062 >     147,   148,   515,   149,   150,   151,   152,   153,   516,   547,
2063 >    1260,   548,   369,   549,   519,   550,   551,   377,   154,   552,
2064 >     553,   556,   557,   558,   595,   559,   155,   156,   157,   273,
2065 >     158,   370,   560,   159,   160,   371,   520,   161,   561,  1197,
2066 >     562,   563,   631,   564,   597,   565,   378,   470,   162,   566,
2067 >    1144,   567,   568,   569,   570,   521,   372,   571,   373,   522,
2068 >     590,   596,   598,   274,   599,   275,   276,   600,   601,   471,
2069 >     374,   604,   605,   163,   606,   607,  1145,   164,   608,   609,
2070 >     611,   165,   166,   167,   168,   169,  1261,  1262,   472,   170,
2071 >     171,   375,   473,   379,   612,  1146,   613,   614,   615,   172,
2072 >     618,   647,   616,  1147,   617,   633,   277,   653,   278,   279,
2073 >     280,   281,   619,   620,   621,   523,   622,  1198,   623,   624,
2074 >    1148,   376,   625,  1263,   626,   282,   627,   628,    76,   629,
2075 >     173,   174,   630,   175,   634,   635,   654,   636,   663,   176,
2076 >     524,   637,   639,   640,   177,  1149,   641,   660,  1199,   178,
2077 >     377,   283,  1150,   642,    77,    78,   643,   644,  1200,   525,
2078 >      79,   645,    80,   284,   646,  1201,  1151,   666,   649,   650,
2079 >    1211,   655,   656,   474,   664,   665,   667,   668,  1202,   378,
2080 >    1203,  1204,   475,   476,  1152,   670,  1153,  1154,  1105,   672,
2081 >     673,   674,   675,  1205,   254,   676,   677,   679,   285,   286,
2082 >     680,   681,   682,  1206,   684,   685,    81,    82,  1241,   686,
2083 >     687,   688,  1106,    83,    84,    85,   689,   477,     2,     3,
2084 >     690,   709,  1107,     4,   691,   526,   379,   255,   692,  1108,
2085 >     693,   696,   698,   711,   699,    86,    87,   700,     5,  1155,
2086 >     256,     6,     7,   527,   705,  1109,   706,     8,  1212,  1156,
2087 >      88,    89,   713,  1157,   717,   257,   258,   259,   260,  1158,
2088 >     714,    90,     9,  1159,   715,  1160,    10,    11,   718,   716,
2089 >      91,   734,  1110,   742,  1161,   261,   478,    12,   903,  1213,
2090 >    1111,   719,   720,   722,  1162,   741,   337,   723,   724,  1214,
2091 >     743,    13,   744,   745,   725,   726,  1215,   764,   729,   731,
2092 >     765,    14,    15,   766,   736,   737,   338,   339,   738,  1216,
2093 >     340,  1217,  1218,   746,   747,   767,   758,   926,   748,    16,
2094 >     749,   768,   751,  1112,  1219,   769,   773,   752,   753,   772,
2095 >     755,   759,   760,   774,  1220,    17,   775,   776,   771,   777,
2096 >     778,  1113,   779,   761,   788,   789,  1168,   790,   791,   793,
2097 >     792,   795,   794,   797,   800,   805,   806,   807,   801,    92,
2098 >      93,    94,   808,   835,   809,   810,   836,   811,   812,   838,
2099 >     813,    18,   821,   822,   341,   342,   343,   823,   824,   344,
2100 >      19,    20,   825,   826,    21,    22,   827,   345,   828,   829,
2101 >     830,   839,   840,   831,   832,   833,   834,   842,   841,   346,
2102 >     347,   904,   905,   906,   907,   908,   843,   844,   909,   910,
2103 >     848,   849,   911,   912,   913,   348,   349,   914,   853,   915,
2104 >     916,   917,   852,   918,   854,   919,   920,   859,   863,   921,
2105 >     855,   856,   857,   858,   860,   922,   861,   862,   864,    23,
2106 >     927,   928,   929,   930,   931,   350,   865,   932,   933,   866,
2107 >     868,   934,   935,   936,   867,   869,   937,   871,   938,   939,
2108 >     940,   870,   941,   872,   942,   943,   975,   873,   944,  1169,
2109 >    1170,  1171,  1172,  1173,   945,   874,  1174,  1175,   875,   977,
2110 >    1176,  1177,  1178,   876,   978,  1179,   877,  1180,  1181,  1182,
2111 >     878,  1183,   879,  1184,  1185,   979,   880,  1186,   980,   981,
2112 >     881,   982,   882,  1187,   883,   884,   885,   886,   976,   887,
2113 >     888,   889,   890,   891,   892,   893,   894,   895,   896,   897,
2114 >     898,   899,   984,   986,   989,   900,   901,   902,   990,   991,
2115 >    1007,   925,   948,  1008,   949,   950,   951,   952,  1010,  1011,
2116 >     953,  1012,  1014,  1016,  1017,  1018,   954,  1044,  1046,  1048,
2117 >     955,   956,   957,   958,   959,   960,   961,  1194,   962,  1093,
2118 >     968,   316,   969,   970,   971,   972,  1235,   973,   974,   983,
2119 >    1122,   987,  1238,   985,  1195,   988,   994,  1134,   995,  1005,
2120 >    1006,   512,  1141,  1015,  1009,  1013,  1019,  1020,  1021,  1022,
2121 >    1023,  1024,  1025,  1026,  1027,  1274,  1028,  1029,  1030,  1255,
2122 >    1031,  1032,  1033,  1034,  1039,  1040,  1041,  1042,  1043,  1269,
2123 >    1268,  1236,  1253,  1047,  1045,  1050,  1051,  1049,  1057,  1058,
2124 >    1059,  1060,  1061,  1062,  1063,  1064,  1065,  1133,  1066,  1067,
2125 >    1068,  1069,  1070,   728,  1271,   740,  1071,  1072,  1073,   763,
2126 >    1074,   799,  1081,  1082,  1083,  1084,  1085,  1086,  1087,  1270,
2127 >    1251,  1088,  1254,   804,   404,   733,  1252,  1089,   757,   659,
2128 >     573,   469,  1090,  1091,  1092,  1228,  1103,  1104,  1116,  1117,
2129 >    1118,  1119,  1120,  1121,  1125,  1131,  1227,  1132,  1136,   336,
2130 >       0,  1142,  1137,  1139,  1143,  1165,  1166,  1167,     0,  1190,
2131 >    1191,  1192,  1193,  1196,  1209,  1210,  1237,     0,     0,  1242,
2132 >    1239,  1256,  1266,  1267,   518,     0,     0,     0,     0,     0,
2133 >       0,   648,     0,     0,     0,     0,     0,     0,     0,     0,
2134 >       0,     0,     0,   555,     0,     0,     0,     0,     0,     0,
2135 >       0,     0,     0,     0,     0,     0,     0,     0,   652,     0,
2136         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2186     668,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2137         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2138 +       0,     0,     0,     0,     0,     0,     0,     0,   592,     0,
2139         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2140 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2190 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2191 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2192 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2193 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2194 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2195 <       0,   675
2140 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   632
2141   };
2142  
2143   #define yypact_value_is_default(yystate) \
2144 <  ((yystate) == (-635))
2144 >  ((yystate) == (-784))
2145  
2146   #define yytable_value_is_error(yytable_value) \
2147    YYID (0)
2148  
2149   static const yytype_int16 yycheck[] =
2150   {
2151 <     463,   322,   323,     1,   115,     1,     1,     1,   329,   246,
2152 <       1,     1,     1,     1,     1,   244,    66,     1,     1,   248,
2153 <       4,   246,     1,   244,   246,     1,   244,   248,     1,   246,
2154 <     248,    25,     8,     9,   244,   244,     1,   244,   248,   248,
2155 <     244,     1,    21,    19,   248,   244,   245,    36,   246,    11,
2156 <       1,    27,    11,   246,    48,    31,    32,    46,    52,     1,
2157 <      44,   246,    38,    47,     1,     1,    42,    43,   244,    45,
2158 <      21,   246,   248,     1,   244,    51,     1,   244,   248,   244,
2159 <      76,   248,   246,   248,    60,    61,    76,   244,    76,    65,
2160 <       1,   248,   246,    76,    70,   246,   417,   418,    74,    75,
2161 <     246,     1,    78,   214,    88,    81,    82,   105,     1,     1,
2162 <     105,   105,   433,    89,   105,    52,   105,   438,   246,    95,
2163 <      96,   105,    98,    99,   100,   101,   102,   246,   449,   450,
2164 <     109,   452,   105,   246,    71,   247,   130,   113,   103,    76,
2165 <     461,   462,   138,   103,   465,   121,   122,   123,     1,   125,
2166 <     138,   138,   128,   129,   246,   149,   132,   207,   109,   138,
2167 <      13,   211,   246,   105,   180,   181,   131,   143,     1,   105,
2168 <     246,   131,   170,   246,    10,   170,    12,   105,   180,   181,
2169 <      33,    34,   645,   170,   152,   153,    39,   138,    41,   165,
2170 <      26,   167,     1,   246,    30,   171,   138,     1,   135,   175,
2171 <     176,   177,   178,   179,   246,   105,   247,   183,   184,   247,
2172 <     138,     1,   105,   105,   247,     1,   192,     1,   212,     3,
2173 <     182,    25,     6,   182,   247,   244,   247,    36,   170,   248,
2174 <      83,    84,    22,    23,   170,   230,   230,    90,    91,    29,
2175 <      24,    25,   170,   230,    48,   221,   230,   223,    52,   225,
2176 <     571,   245,   200,   201,    40,   231,   245,   245,   111,   112,
2177 <     236,   245,   245,    72,    48,   241,   245,    53,    52,   245,
2178 <     170,   243,   245,   126,   127,   244,   247,   170,   170,   248,
2179 <      66,    67,    68,    69,   137,   245,   247,    71,   244,    73,
2180 <      14,    15,    16,   146,   230,   247,   105,   222,   107,   108,
2181 <      86,    85,    92,    93,    94,   138,   247,    97,   245,   245,
2182 <     235,   222,   247,     1,   635,   105,     4,   245,   243,     1,
2183 <     245,   105,   643,   644,   235,   244,   130,   117,   118,   248,
2184 <     244,     1,   243,   180,   248,   139,   140,   170,     1,   148,
2185 <      56,   150,   151,   133,   134,   245,   980,   981,   982,   242,
2186 <     242,   135,   245,   247,    36,   246,    44,   166,   247,    47,
2187 <     247,    77,    25,    79,    46,   149,   115,   247,   247,   173,
2188 <     247,   161,   831,   832,   833,   834,   835,   247,   162,   232,
2189 <     233,   234,    52,   247,   247,    48,   247,   247,   224,    52,
2190 <     247,   115,   245,   247,   203,   247,     1,   230,   247,   247,
2191 <      88,    71,   247,   247,   120,   247,    76,   156,   157,   158,
2192 <     159,   160,   245,   247,   735,   247,   247,   105,   247,   247,
2193 <      25,   247,   247,   105,   247,   247,   230,   247,   237,   238,
2194 <     247,   247,     1,   247,   247,   247,   245,   247,   244,     8,
2195 <       9,   245,   105,    48,   247,   247,   247,    52,   247,   247,
2196 <      19,     1,   247,   237,   247,   245,   247,   136,    27,   245,
2197 <     247,   245,    31,    32,   247,   135,   247,   130,   247,    38,
2198 <     247,   247,     1,    42,    43,   247,    45,   247,   194,   195,
2199 <     247,   247,    51,   247,   247,   247,   149,   247,   247,   247,
2200 <      40,    60,    61,   247,   247,   247,    65,   247,   244,   247,
2201 <     247,    70,   247,    53,   247,    74,    75,    36,   247,    78,
2202 <     247,   247,    81,    82,   230,   247,    66,    67,    68,    69,
2203 <      89,   247,   247,   136,   247,   130,    95,    96,   247,    98,
2204 <      99,   100,   101,   102,   139,   140,    86,   247,   247,   247,
2205 <     247,   247,   230,    72,   113,   247,     1,   247,     3,   212,
2206 <     247,     6,   121,   122,   123,   247,   125,   247,   247,   128,
2207 <     129,   136,   115,   132,   244,   180,   115,   230,   173,    24,
2208 <      25,   180,   115,   115,   143,   115,   105,   180,   107,   108,
2209 <     180,     5,   115,   180,   180,   180,   180,   180,   244,   244,
2210 <     247,   136,   115,    48,   247,   247,   165,    52,   167,   247,
2211 <     247,   247,   171,   247,   247,   247,   175,   176,   177,   178,
2212 <     179,   247,   247,    37,   183,   184,    71,   247,    73,   148,
2213 <     247,   150,   151,   192,   244,   230,   247,   244,   247,   247,
2214 <      85,   247,    56,     1,   180,   247,   247,   166,    62,    79,
2215 <     247,   247,   136,   247,   115,    13,   247,   115,   247,   247,
2216 <     105,   136,   221,   180,   223,    79,   225,   247,   247,   247,
2217 <     247,    79,   231,   247,   180,    33,    34,   236,   180,   115,
2218 <     115,    39,   241,    41,   203,   180,     0,     1,   115,   103,
2219 <     135,     5,   180,   180,   136,   180,   110,   115,   115,   115,
2220 <     115,   180,   136,   115,   149,   115,   180,    21,   180,   247,
2221 <     124,    25,   180,   247,    28,   136,   180,   162,   237,   238,
2222 <     180,    35,   115,  1176,   154,    83,    84,   180,   142,   180,
2223 <     144,   145,    90,    91,   180,   136,    50,   180,   247,   180,
2224 <      54,    55,   180,    57,   244,   136,   154,   180,   247,    63,
2225 <     247,    20,   244,   111,   112,     1,   186,   247,   247,   136,
2226 <     180,   247,   136,    77,   247,   247,   247,   247,   126,   127,
2227 <     247,   247,   202,    87,    88,   244,    22,    23,   186,   137,
2228 <      49,   247,   247,    29,   247,   215,   216,   244,   146,    58,
2229 <     104,   205,   237,   247,   202,    64,   226,   227,   228,   229,
2230 <      66,   180,   180,   217,   244,   219,   120,   215,   216,   239,
2231 <     247,    80,   244,   180,   180,   229,   247,   180,   226,   227,
2232 <     228,   229,   247,   247,   247,   239,   180,   136,   247,   180,
2233 <     136,   239,    66,   244,   247,   136,   136,   106,   247,   244,
2234 <     154,   247,   136,   136,   247,   114,    92,    93,    94,   163,
2235 <     164,    97,   136,   115,   168,   169,   136,   136,   244,   105,
2236 <     244,   244,   247,   136,    66,   247,   247,   115,   244,   244,
2237 <     115,   117,   118,   244,   232,   233,   234,   115,   115,   244,
2238 <     244,   136,   244,   244,   244,   244,   155,   133,   134,   244,
2239 <     115,   244,   244,   115,   244,   244,   244,   244,   244,   244,
2240 <     244,   244,   244,   244,   115,   174,   220,   115,   244,   136,
2241 <     136,   115,   136,   180,   247,   161,   136,   136,   136,   136,
2242 <     136,   187,   188,   189,   190,   191,   136,   193,   194,   136,
2243 <     136,   197,   198,   199,   244,   136,   202,   244,   204,   205,
2244 <     206,   244,   208,   209,   210,   136,   136,   213,   247,   244,
2245 <     247,   247,   218,   187,   188,   189,   190,   191,   244,   193,
2246 <     194,   244,   244,   197,   198,   199,   244,   244,   202,   244,
2247 <     204,   205,   206,   244,   208,   209,   210,   136,   136,   213,
2248 <     244,   244,   136,   244,   218,   187,   188,   189,   190,   191,
2304 <     244,   193,   194,   244,   244,   197,   198,   199,   247,   136,
2305 <     202,   244,   204,   205,   206,   244,   208,   209,   210,   244,
2306 <     180,   213,   244,   244,   244,   244,   218,   180,   115,   136,
2307 <     136,   244,   136,   244,   136,   136,   136,   136,   115,   244,
2308 <     244,   244,   244,   136,   180,   244,   136,   136,   136,   244,
2309 <     136,   244,   136,   136,   244,   244,   244,   244,   244,   244,
2310 <     244,   244,   244,   136,   136,   244,   244,   244,   244,   244,
2311 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2312 <     244,   244,   244,   136,   136,   244,   247,   244,   244,   247,
2313 <     244,   141,   244,   244,   141,   115,  1229,   247,   244,   244,
2314 <     247,   244,   244,   244,   244,   244,   244,   244,   136,   244,
2315 <     244,   244,   244,   244,   244,   244,   244,    74,   244,   244,
2316 <     244,  1025,   244,  1316,   247,   244,   247,   244,   244,   244,
2317 <     244,   244,   244,   244,   244,   244,   244,   185,  1286,   244,
2318 <    1171,   244,  1284,   521,  1274,  1270,   244,   244,   244,   244,
2319 <     244,   593,   244,   244,   546,   601,  1291,  1289,   381,   244,
2320 <    1260,  1272,   244,   244,   244,   244,   244,   496,   244,   244,
2321 <     244,   560,   290,   244,   244,   244,   244,   244,   244,   244,
2151 >     461,   321,   322,     1,     1,     1,     1,   112,    62,   329,
2152 >     244,   245,     1,     1,     1,     1,     1,     1,     1,     1,
2153 >       1,   246,     1,     1,     1,     1,     1,   246,    23,   246,
2154 >       1,   814,   815,   816,   817,   818,    20,   244,    27,    28,
2155 >     246,   248,   246,     1,    33,   246,    35,    42,   246,    30,
2156 >     246,    46,    34,   246,    13,    14,    15,     1,    46,    40,
2157 >     246,     1,   244,     1,     1,    47,   248,   244,   244,   244,
2158 >       1,   248,   248,   248,     1,   246,    10,   246,    12,    67,
2159 >      62,    63,    64,    65,    72,    72,     1,    72,   246,     1,
2160 >      79,    80,    23,    72,   246,   415,   416,    86,    87,    88,
2161 >      82,    72,   246,   423,   102,   425,   102,     1,    20,   244,
2162 >     215,    42,   432,   248,   244,    46,   102,   437,   248,   108,
2163 >     109,   102,   106,   246,   102,   102,   102,   102,   448,   449,
2164 >       1,   451,   127,   246,   123,   124,    30,     8,     9,   459,
2165 >     460,   136,   137,   463,   132,   134,    40,    18,   135,   135,
2166 >     246,   135,   206,   112,   143,    26,   135,   211,   102,   135,
2167 >     100,    32,   246,   244,   102,    36,    37,   248,    39,   630,
2168 >     168,   102,   168,   100,    45,     1,   171,   135,   246,   244,
2169 >      51,    52,   168,   248,    55,    56,    57,   102,   128,   244,
2170 >      61,   168,   168,   168,   106,    66,   127,   247,   135,    70,
2171 >      71,   128,   247,    74,    30,   244,    77,    78,   102,   248,
2172 >     168,   247,   244,   244,    85,   146,   248,   248,   963,   964,
2173 >     965,    92,    93,   135,    95,    96,    97,    98,    99,   247,
2174 >     168,   168,   230,   553,   247,   230,   244,   244,   235,   110,
2175 >     248,   248,    68,   232,   233,   234,   243,   118,   119,   120,
2176 >     245,   122,   235,   168,   125,   126,   245,   245,   129,   245,
2177 >     243,   245,   245,   245,   245,   242,   245,   242,     1,   140,
2178 >     245,     1,   230,   247,   245,   247,   102,   211,   104,   105,
2179 >     247,   212,   178,   179,   247,   178,   179,   245,    21,    22,
2180 >     224,   247,    25,   230,   165,   151,   152,   247,   169,   230,
2181 >     620,   245,   173,   174,   175,   176,   177,   245,   628,   629,
2182 >     181,   182,   151,   152,   245,   230,    46,   247,   245,   145,
2183 >     191,   147,   148,   149,   150,   199,   200,     1,   247,     3,
2184 >     245,   247,     6,   247,   247,   244,   247,    67,   164,   247,
2185 >     247,   247,    72,   247,   247,   112,   247,   247,   247,    23,
2186 >     247,   222,   223,   243,   225,   247,    89,    90,    91,   247,
2187 >     231,    94,   247,   247,   190,   236,   247,   247,    42,   102,
2188 >     241,   247,    46,   133,   245,   247,   202,   247,   247,     1,
2189 >     247,   114,   115,   247,   247,   247,     8,     9,   155,   156,
2190 >     157,   158,   159,    67,   247,    69,    18,   130,   131,   247,
2191 >     247,   247,   132,   247,    26,   247,   247,    81,   244,   247,
2192 >      32,   237,   238,    50,    36,    37,   247,    39,   247,   245,
2193 >     247,   133,   247,    45,   247,   247,   247,   160,   102,    51,
2194 >      52,   247,     1,    55,    56,    57,    73,   247,    75,    61,
2195 >     247,   247,   247,   247,    66,   247,   247,   247,    70,    71,
2196 >     247,   247,    74,   247,   247,    77,    78,   247,   132,   247,
2197 >       1,    30,     3,    85,   247,     6,   247,   247,   247,   247,
2198 >      92,    93,   247,    95,    96,    97,    98,    99,   247,   247,
2199 >     117,   247,    23,   247,     1,   247,   247,   161,   110,   247,
2200 >     247,   244,   247,   247,   133,   247,   118,   119,   120,    68,
2201 >     122,    42,   247,   125,   126,    46,    23,   129,   247,    75,
2202 >     247,   247,   245,   247,   112,   247,   190,     1,   140,   247,
2203 >       5,   247,   247,   247,   247,    42,    67,   247,    69,    46,
2204 >     247,   244,   112,   102,   178,   104,   105,   178,   112,    23,
2205 >      81,   112,   112,   165,   112,   178,    31,   169,   178,   112,
2206 >     178,   173,   174,   175,   176,   177,   193,   194,    42,   181,
2207 >     182,   102,    46,   237,   178,    50,   178,   178,   178,   191,
2208 >     247,   245,   244,    58,   244,   244,   145,   133,   147,   148,
2209 >     149,   150,   247,   247,   247,   102,   247,   153,   247,   247,
2210 >      75,   132,   247,   230,   247,   164,   247,   247,     1,   247,
2211 >     222,   223,   247,   225,   247,   247,   244,   247,   112,   231,
2212 >     127,   247,   247,   247,   236,   100,   247,   178,   184,   241,
2213 >     161,   190,   107,   247,    27,    28,   247,   247,   194,   146,
2214 >      33,   247,    35,   202,   247,   201,   121,   112,   247,   247,
2215 >      75,   247,   247,   127,   178,   178,   133,   178,   214,   190,
2216 >     216,   217,   136,   137,   139,   178,   141,   142,    19,   112,
2217 >     112,   112,   178,   229,     1,   178,   178,   133,   237,   238,
2218 >     178,   112,   112,   239,   112,   112,    79,    80,  1139,   133,
2219 >     112,   112,    43,    86,    87,    88,   178,   171,     0,     1,
2220 >     178,   112,    53,     5,   247,   212,   237,    34,   178,    60,
2221 >     247,   178,   178,   133,   178,   108,   109,   178,    20,   194,
2222 >      47,    23,    24,   230,   178,    76,   178,    29,   153,   204,
2223 >     123,   124,   178,   208,   244,    62,    63,    64,    65,   214,
2224 >     178,   134,    44,   218,   178,   220,    48,    49,   244,   178,
2225 >     143,   244,   103,   244,   229,    82,   230,    59,    62,   184,
2226 >     111,   247,   247,   247,   239,   178,     1,   247,   247,   194,
2227 >     246,    73,   133,   133,   247,   247,   201,   178,   247,   247,
2228 >     178,    83,    84,   178,   247,   247,    21,    22,   247,   214,
2229 >      25,   216,   217,   244,   244,   133,   244,    62,   247,   101,
2230 >     247,   178,   247,   154,   229,   178,   178,   247,   247,   133,
2231 >     247,   247,   247,   133,   239,   117,   133,   133,   244,   133,
2232 >     133,   172,   133,   247,   133,   133,    62,   112,   133,   244,
2233 >     133,   247,   244,   247,   244,   133,   244,   244,   247,   232,
2234 >     233,   234,   244,   112,   244,   244,   112,   244,   244,   112,
2235 >     244,   153,   244,   244,    89,    90,    91,   244,   244,    94,
2236 >     162,   163,   244,   244,   166,   167,   244,   102,   244,   244,
2237 >     244,   112,   112,   244,   244,   244,   244,   133,   112,   114,
2238 >     115,   185,   186,   187,   188,   189,   112,   112,   192,   193,
2239 >     244,   133,   196,   197,   198,   130,   131,   201,   178,   203,
2240 >     204,   205,   133,   207,   247,   209,   210,   112,   244,   213,
2241 >     133,   133,   133,   133,   133,   219,   133,   133,   133,   221,
2242 >     185,   186,   187,   188,   189,   160,   133,   192,   193,   244,
2243 >     133,   196,   197,   198,   244,   133,   201,   244,   203,   204,
2244 >     205,   247,   207,   244,   209,   210,   133,   244,   213,   185,
2245 >     186,   187,   188,   189,   219,   244,   192,   193,   244,   247,
2246 >     196,   197,   198,   244,   133,   201,   244,   203,   204,   205,
2247 >     244,   207,   244,   209,   210,   112,   244,   213,   133,   133,
2248 >     244,   133,   244,   219,   244,   244,   244,   244,   178,   244,
2249       244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2250 <     244,   511,   123,   244,  1262,   182,   351,  1124,   244,   248,
2251 <     479,   244,   247,   247,   244,   244,   244,   244,   244,   244,
2252 <     244,   244,   244,   244,   244,   244,  1122,  1268,   244,   244,
2253 <     247,   244,   244,  1266,   245,    98,    -1,    -1,    -1,    -1,
2254 <     254,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2255 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   268,
2250 >     244,   244,   133,   133,   133,   244,   244,   244,   133,   112,
2251 >     133,   244,   244,   178,   244,   244,   244,   244,   133,   133,
2252 >     244,   133,   133,   133,   133,   133,   244,   133,   133,   133,
2253 >     244,   244,   244,   244,   244,   244,   244,  1036,   244,   138,
2254 >     244,    71,   244,   244,   244,   244,   112,   244,   244,   244,
2255 >     138,   244,   133,   247,  1038,   247,   244,   248,   244,   244,
2256 >     244,   240,  1000,   244,   247,   247,   244,   244,   244,   244,
2257 >     244,   244,   244,   244,   244,  1273,   244,   244,   244,  1234,
2258 >     244,   244,   244,   244,   244,   244,   244,   244,   244,  1246,
2259 >    1244,  1134,  1230,   244,   247,   244,   244,   247,   244,   244,
2260 >     244,   244,   244,   244,   244,   244,   244,   183,   244,   244,
2261 >     244,   244,   244,   479,  1250,   504,   244,   244,   244,   542,
2262 >     244,   578,   244,   244,   244,   244,   244,   244,   244,  1248,
2263 >    1224,   244,  1232,   586,   120,   494,  1226,   244,   528,   410,
2264 >     287,   179,   244,   244,   244,  1099,   244,   244,   244,   244,
2265 >     244,   244,   244,   244,   244,   244,  1097,   244,   244,    95,
2266 >      -1,   244,   247,   247,   244,   244,   244,   244,    -1,   244,
2267 >     244,   244,   244,   244,   244,   244,   244,    -1,    -1,   244,
2268 >     247,   244,   244,   244,   248,    -1,    -1,    -1,    -1,    -1,
2269 >      -1,   380,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2270 >      -1,    -1,    -1,   262,    -1,    -1,    -1,    -1,    -1,    -1,
2271 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   398,    -1,
2272        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2330      -1,    -1,    -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,
2273        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2274 <     400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2274 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   308,    -1,
2275        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2276 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2335 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2336 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2337 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2338 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2339 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2340 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2341 <      -1,   412
2276 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   351
2277   };
2278  
2279   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2280     symbol of state STATE-NUM.  */
2281   static const yytype_uint16 yystos[] =
2282   {
2283 <       0,   250,     0,     1,     5,    21,    25,    28,    35,    50,
2284 <      54,    55,    57,    63,    77,    87,    88,   104,   120,   154,
2285 <     163,   164,   168,   169,   220,   251,   256,   261,   279,   285,
2286 <     300,   318,   335,   349,   364,   371,   375,   385,   394,   415,
2287 <     425,   431,   435,   445,   508,   524,   545,   244,   245,   246,
2288 <     246,   319,   395,   426,   246,   436,   246,   509,   350,   416,
2289 <     336,   246,   246,   301,   365,   246,   246,   376,   386,   246,
2290 <       1,    36,    46,   105,   280,   281,   282,   283,   284,     1,
2291 <      13,    33,    34,    39,    41,    83,    84,    90,    91,   111,
2292 <     112,   126,   127,   137,   146,   232,   233,   234,   525,   526,
2293 <     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
2294 <     537,   538,   539,   540,   541,   542,   543,   544,   246,   246,
2295 <     246,     1,    76,   432,   433,   434,   246,     1,     8,     9,
2296 <      19,    27,    31,    32,    38,    42,    43,    45,    51,    60,
2297 <      61,    65,    70,    74,    75,    78,    81,    82,    89,    95,
2298 <      96,    98,    99,   100,   101,   102,   113,   121,   122,   123,
2299 <     125,   128,   129,   132,   143,   165,   167,   171,   175,   176,
2300 <     177,   178,   179,   183,   184,   192,   221,   223,   225,   231,
2301 <     236,   241,   446,   447,   448,   449,   450,   451,   452,   453,
2302 <     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2303 <     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
2304 <     474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
2305 <     484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
2306 <     494,   495,   496,   500,   504,   505,   506,   507,   246,   246,
2307 <     246,   246,     1,   222,   235,   286,   287,   288,   289,   290,
2308 <     291,     1,   103,   131,   257,   258,   259,   260,   246,   246,
2309 <       1,    40,    53,    66,    67,    68,    69,    86,   546,   547,
2310 <     548,   549,   550,   551,   552,   553,   554,     1,    36,    72,
2311 <     105,   107,   108,   148,   150,   151,   166,   203,   237,   238,
2312 <     262,   263,   264,   268,   269,   270,   271,   272,   273,   274,
2313 <     275,   276,   277,   278,   246,   246,     1,   105,   372,   373,
2314 <     374,   244,   247,   247,   247,   245,   281,   247,   247,   247,
2283 >       0,   250,     0,     1,     5,    20,    23,    24,    29,    44,
2284 >      48,    49,    59,    73,    83,    84,   101,   117,   153,   162,
2285 >     163,   166,   167,   221,   251,   256,   261,   283,   289,   303,
2286 >     321,   338,   352,   367,   374,   378,   388,   397,   417,   427,
2287 >     433,   437,   447,   510,   531,   244,   245,   246,   246,   322,
2288 >     398,   428,   246,   438,   246,   353,   418,   339,   246,   246,
2289 >     304,   368,   246,   246,   379,   389,   246,     1,    30,    40,
2290 >     102,   284,   285,   286,   287,   288,     1,    27,    28,    33,
2291 >      35,    79,    80,    86,    87,    88,   108,   109,   123,   124,
2292 >     134,   143,   232,   233,   234,   511,   512,   513,   514,   515,
2293 >     516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
2294 >     526,   527,   528,   529,   530,   246,   246,   246,     1,    72,
2295 >     434,   435,   436,   246,     1,     8,     9,    18,    26,    32,
2296 >      36,    37,    39,    45,    51,    52,    55,    56,    57,    61,
2297 >      66,    70,    71,    74,    77,    78,    85,    92,    93,    95,
2298 >      96,    97,    98,    99,   110,   118,   119,   120,   122,   125,
2299 >     126,   129,   140,   165,   169,   173,   174,   175,   176,   177,
2300 >     181,   182,   191,   222,   223,   225,   231,   236,   241,   448,
2301 >     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
2302 >     459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
2303 >     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
2304 >     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
2305 >     489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
2306 >     502,   506,   507,   508,   509,   246,   246,   246,     1,   235,
2307 >     290,   291,   292,   293,   294,     1,   100,   128,   257,   258,
2308 >     259,   260,   246,   246,     1,    34,    47,    62,    63,    64,
2309 >      65,    82,   532,   533,   534,   535,   536,   537,   538,   539,
2310 >     540,     1,    30,    68,   102,   104,   105,   145,   147,   148,
2311 >     149,   150,   164,   190,   202,   237,   238,   262,   263,   264,
2312 >     265,   270,   271,   272,   273,   274,   275,   276,   277,   278,
2313 >     279,   280,   281,   282,   246,   246,     1,   102,   375,   376,
2314 >     377,   244,   247,   247,   247,   245,   285,   247,   247,   247,
2315       247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2316 <     247,   247,   247,   247,   247,   245,   526,     1,    22,    23,
2317 <      29,    92,    93,    94,    97,   105,   117,   118,   133,   134,
2318 <     161,   320,   321,   322,   323,   324,   325,   326,   327,   328,
2319 <     329,   330,   331,   332,   333,   334,     1,     3,     6,    24,
2320 <      25,    48,    52,    71,    73,    85,   105,   135,   149,   162,
2321 <     237,   396,   397,   398,   399,   400,   401,   402,   403,   404,
2322 <     405,   409,   410,   411,   412,   413,   414,     1,    76,   138,
2323 <     427,   428,   429,   430,   247,   245,   433,     1,   105,   138,
2324 <     170,   437,   441,   442,   443,   444,   247,   247,   247,   247,
2316 >     247,   247,   247,   247,   247,   245,   512,     1,    21,    22,
2317 >      25,    89,    90,    91,    94,   102,   114,   115,   130,   131,
2318 >     160,   323,   324,   325,   326,   327,   328,   329,   330,   331,
2319 >     332,   333,   334,   335,   336,   337,     1,     3,     6,    23,
2320 >      42,    46,    67,    69,    81,   102,   132,   161,   190,   237,
2321 >     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
2322 >     412,   413,   414,   415,   416,     1,    72,   135,   429,   430,
2323 >     431,   432,   247,   245,   435,     1,   102,   135,   168,   439,
2324 >     443,   444,   445,   446,   247,   247,   247,   247,   247,   247,
2325       247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2326       247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2327 <     247,   247,   247,   247,   247,   247,   501,   247,   497,   247,
2327 >     247,   247,   247,   247,   247,   503,   247,   499,   247,   247,
2328       247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2329 +     247,   247,   247,   247,   247,   247,   247,   247,   245,   449,
2330 +       1,    23,    42,    46,   127,   136,   137,   171,   230,   354,
2331 +     355,   356,   357,   358,   359,   360,   364,   365,   366,     1,
2332 +     135,   168,   230,   419,   423,   424,   425,   426,     1,    46,
2333 +      67,    72,   132,   340,   344,   345,   346,   350,   351,   244,
2334 +     247,   245,   291,   243,   244,   247,   247,   245,   258,     1,
2335 +      23,    42,    46,   102,   127,   146,   212,   230,   305,   306,
2336 +     307,   308,   309,   310,   311,   312,   313,   317,     1,    20,
2337 +     106,   135,   369,   370,   371,   372,   373,   247,   247,   247,
2338 +     247,   247,   247,   247,   245,   533,   244,   247,   247,   247,
2339       247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2340 <     245,   447,     1,     4,    44,    47,    88,   105,   230,   510,
2341 <     511,   512,   513,   514,   518,   519,   520,     1,    25,    48,
2342 <      52,   130,   139,   140,   173,   230,   351,   352,   353,   354,
2343 <     355,   356,   357,   361,   362,   363,     1,   138,   170,   230,
2344 <     417,   421,   422,   423,   424,     1,    52,    71,    76,   135,
2345 <     337,   341,   342,   343,   347,   348,   244,   247,   247,   245,
2346 <     287,   243,   244,   247,   247,   245,   258,     1,    25,    48,
2347 <      52,   105,   130,   149,   212,   230,   302,   303,   304,   305,
2348 <     306,   307,   308,   309,   310,   314,     1,    21,   109,   138,
2349 <     366,   367,   368,   369,   370,   247,   247,   247,   247,   247,
2350 <     247,   247,   245,   547,   244,   247,   247,   247,   247,   247,
2351 <     247,   247,   265,   247,   247,   247,   247,   245,   263,     1,
2352 <     105,   170,   230,   377,   378,   379,   380,   381,     1,   105,
2353 <     170,   387,   388,   389,   390,   247,   245,   373,   136,   136,
2354 <     136,   244,   180,   115,   115,   180,   180,   115,   253,   253,
2355 <     115,   115,   180,   180,   115,   253,   180,   180,   180,   180,
2356 <     180,   244,   244,   247,   247,   247,   247,   247,   247,   247,
2357 <     247,   247,   247,   247,   247,   247,   245,   321,   244,   247,
2358 <     247,   247,   247,   247,   406,   247,   247,   247,   247,   247,
2359 <     247,   247,   247,   245,   397,   247,   247,   245,   428,   136,
2360 <     244,   247,   247,   438,   245,   442,   180,   253,   253,   115,
2361 <     136,   115,   180,   180,   115,   136,   180,   115,   115,   115,
2362 <     180,   180,   180,   253,   136,   180,   115,   115,   253,   115,
2363 <     115,   136,   115,   115,   180,   180,   247,   180,   247,   253,
2364 <     253,   180,   253,   136,   180,   180,   180,   180,   181,   180,
2365 <     181,   180,   180,   253,   253,   115,   255,   136,   253,   180,
2366 <     180,   180,   180,   244,   521,   247,   247,   515,   247,   247,
2367 <     245,   511,   244,   247,   247,   358,   247,   247,   247,   247,
2368 <     247,   245,   352,   247,   418,   247,   245,   422,   244,   338,
2369 <     247,   247,   247,   245,   342,   180,   180,   244,   246,   136,
2370 <     136,   244,   244,   247,   247,   315,   247,   247,   247,   311,
2426 <     247,   245,   303,   244,   247,   247,   247,   245,   367,   180,
2427 <     180,   180,   136,   180,   180,   253,   244,   136,   180,   136,
2428 <     136,   136,   136,   136,   247,   136,   115,   136,   136,   244,
2429 <     244,   247,   382,   247,   245,   378,   244,   247,   391,   245,
2430 <     388,   136,   244,   244,   244,   244,   244,   244,   244,   244,
2431 <     244,   156,   157,   158,   159,   160,   252,   253,   244,   244,
2340 >     247,   247,   245,   263,     1,   102,   168,   230,   380,   381,
2341 >     382,   383,   384,     1,   102,   168,   390,   391,   392,   393,
2342 >     247,   245,   376,   133,   133,   133,   244,   112,   112,   178,
2343 >     178,   112,   253,   253,   112,   112,   112,   178,   178,   112,
2344 >     253,   178,   178,   178,   178,   178,   244,   244,   247,   247,
2345 >     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2346 >     247,   245,   324,   244,   247,   247,   247,   247,   409,   247,
2347 >     247,   247,   247,   247,   247,   247,   247,   245,   400,   247,
2348 >     247,   245,   430,   133,   244,   247,   247,   440,   245,   444,
2349 >     178,   253,   253,   112,   178,   178,   112,   133,   178,   253,
2350 >     178,   253,   112,   112,   112,   178,   178,   178,   253,   133,
2351 >     178,   112,   112,   253,   112,   112,   133,   112,   112,   178,
2352 >     178,   247,   178,   247,   253,   253,   178,   253,   178,   178,
2353 >     178,   178,   179,   178,   179,   178,   178,   253,   253,   112,
2354 >     255,   133,   253,   178,   178,   178,   178,   244,   244,   247,
2355 >     247,   361,   247,   247,   247,   247,   247,   245,   355,   247,
2356 >     420,   247,   245,   424,   244,   341,   247,   247,   247,   245,
2357 >     345,   178,   244,   246,   133,   133,   244,   244,   247,   247,
2358 >     318,   247,   247,   247,   314,   247,   245,   306,   244,   247,
2359 >     247,   247,   245,   370,   178,   178,   178,   133,   178,   178,
2360 >     253,   244,   133,   178,   133,   133,   133,   133,   133,   133,
2361 >     151,   152,   266,   267,   151,   152,   268,   269,   133,   133,
2362 >     112,   133,   133,   244,   244,   247,   385,   247,   245,   381,
2363 >     244,   247,   394,   245,   391,   133,   244,   244,   244,   244,
2364 >     244,   244,   244,   244,   155,   156,   157,   158,   159,   252,
2365 >     253,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2366 >     244,   244,   244,   244,   244,   112,   112,   253,   112,   112,
2367 >     112,   112,   133,   112,   112,   253,   253,   255,   244,   133,
2368 >     199,   200,   133,   178,   247,   133,   133,   133,   133,   112,
2369 >     133,   133,   133,   244,   133,   133,   244,   244,   133,   133,
2370 >     247,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2371       244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2433     244,   115,   115,   253,   115,   115,   115,   115,   136,   115,
2434     115,   253,   253,   255,   244,   136,   200,   201,   136,   136,
2435     180,   247,   136,   136,   136,   136,   115,   136,   136,   136,
2436     244,   136,   136,   244,   244,   136,   136,   247,   244,   244,
2372       244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2373 +     244,   244,   244,    62,   185,   186,   187,   188,   189,   192,
2374 +     193,   196,   197,   198,   201,   203,   204,   205,   207,   209,
2375 +     210,   213,   219,   504,   505,   244,    62,   185,   186,   187,
2376 +     188,   189,   192,   193,   196,   197,   198,   201,   203,   204,
2377 +     205,   207,   209,   210,   213,   219,   500,   501,   244,   244,
2378       244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2379 <     244,   244,   244,   244,   244,   244,   244,   244,   244,    66,
2380 <     187,   188,   189,   190,   191,   193,   194,   197,   198,   199,
2381 <     202,   204,   205,   206,   208,   209,   210,   213,   218,   502,
2382 <     503,   244,    66,   187,   188,   189,   190,   191,   193,   194,
2383 <     197,   198,   199,   202,   204,   205,   206,   208,   209,   210,
2384 <     213,   218,   498,   499,   244,   244,   244,   244,   244,   244,
2379 >     244,   244,   244,    13,    14,    15,   254,   255,   244,   244,
2380 >     244,   244,   244,   244,   244,   133,   178,   247,   133,   112,
2381 >     133,   133,   133,   244,   133,   247,   133,   244,   247,   133,
2382 >     133,   112,   348,   349,   244,   244,     1,   102,   168,   242,
2383 >     295,   296,   297,   298,   299,   244,   244,   133,   178,   247,
2384 >     133,   133,   133,   247,   133,   244,   133,   133,   133,   244,
2385       244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2386 <      14,    15,    16,   254,   255,   244,   244,   244,   244,   244,
2387 <     244,   244,   247,   253,   180,   247,   136,   136,   244,   136,
2388 <     180,   247,   136,   115,   136,   136,   136,   244,   136,   247,
2449 <     136,   244,   247,   136,   136,   115,   345,   346,   244,   244,
2450 <     244,     1,   105,   170,   242,   292,   293,   294,   295,   296,
2451 <     244,   244,   136,   180,   247,   136,   136,   136,   247,   136,
2452 <     244,   136,   136,   136,   244,   244,   244,   244,   244,   244,
2453 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   152,
2454 <     153,   266,   267,   244,   244,   244,   244,   136,   247,   136,
2455 <     244,   136,   247,   244,   244,   252,   252,   252,   252,   252,
2386 >     244,   244,   244,   244,   244,   244,   248,   244,   248,   244,
2387 >     244,   244,   244,   244,   133,   247,   133,   244,   133,   247,
2388 >     244,   244,   252,   252,   252,   252,   252,   244,   244,   244,
2389       244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2390 <     244,   244,   244,   244,   244,   244,   244,   244,   244,    10,
2391 <      12,    26,    30,   224,   407,   408,   244,   244,   244,   244,
2392 <     244,   244,   244,   244,   244,   244,   244,   244,   141,   439,
2393 <     440,   244,   248,   244,   248,   254,   254,   254,    11,   182,
2394 <     522,   523,   244,   244,    11,   182,   516,   517,   244,   244,
2395 <     244,   244,    20,    49,    58,    64,    80,   106,   114,   155,
2396 <     174,   359,   360,   244,   244,   244,   244,   244,   244,   141,
2397 <     419,   420,   244,    66,   207,   211,   339,   340,   244,   244,
2398 <     185,   248,   344,   244,   247,   297,   247,   245,   293,   244,
2399 <     244,     5,    37,    56,    62,    79,   103,   110,   124,   142,
2400 <     144,   145,   205,   217,   219,   229,   239,   316,   317,   244,
2401 <     244,   244,    66,   187,   188,   189,   190,   191,   193,   194,
2402 <     197,   198,   199,   202,   204,   205,   206,   208,   209,   210,
2403 <     213,   218,   312,   313,   244,   244,   244,   244,   244,   248,
2404 <     244,    79,   154,   186,   202,   215,   216,   226,   227,   228,
2405 <     229,   239,   383,   384,   244,   244,    79,   154,   186,   202,
2406 <     215,   216,   226,   227,   228,   229,   239,   392,   393,   244,
2407 <     248,   244,   248,   503,   499,   244,   248,   244,   248,   244,
2408 <     248,   244,   248,   244,   248,   115,   346,   244,   136,   247,
2409 <     214,   255,   244,   244,   248,   244,   248,   267,   244,   248,
2410 <     244,   248,   408,   440,   523,   517,   360,   420,   340,   244,
2478 <      56,    77,    79,   120,   194,   195,   230,   298,   299,   244,
2479 <     244,   317,   313,   384,   393,   244,   248,   299
2390 >     244,   244,   244,   244,   244,    10,    12,   211,   224,   410,
2391 >     411,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2392 >     244,   244,   244,   138,   441,   442,   244,   248,   244,   248,
2393 >     254,   254,   254,   244,   244,    19,    43,    53,    60,    76,
2394 >     103,   111,   154,   172,   362,   363,   244,   244,   244,   244,
2395 >     244,   244,   138,   421,   422,   244,    62,   206,   211,   342,
2396 >     343,   244,   244,   183,   248,   347,   244,   247,   300,   247,
2397 >     245,   296,   244,   244,     5,    31,    50,    58,    75,   100,
2398 >     107,   121,   139,   141,   142,   194,   204,   208,   214,   218,
2399 >     220,   229,   239,   319,   320,   244,   244,   244,    62,   185,
2400 >     186,   187,   188,   189,   192,   193,   196,   197,   198,   201,
2401 >     203,   204,   205,   207,   209,   210,   213,   219,   315,   316,
2402 >     244,   244,   244,   244,   267,   269,   244,    75,   153,   184,
2403 >     194,   201,   214,   216,   217,   229,   239,   386,   387,   244,
2404 >     244,    75,   153,   184,   194,   201,   214,   216,   217,   229,
2405 >     239,   395,   396,   244,   248,   244,   248,   505,   501,   244,
2406 >     248,   244,   248,   244,   248,   112,   349,   244,   133,   247,
2407 >     215,   255,   244,   244,   248,   244,   248,   244,   248,   244,
2408 >     248,   411,   442,   363,   422,   343,   244,    50,    73,    75,
2409 >     117,   193,   194,   230,   301,   302,   244,   244,   320,   316,
2410 >     387,   396,   244,   248,   302
2411   };
2412  
2413   #define yyerrok         (yyerrstatus = 0)
# Line 2506 | Line 2437 | static const yytype_uint16 yystos[] =
2437  
2438   #define YYRECOVERING()  (!!yyerrstatus)
2439  
2440 < #define YYBACKUP(Token, Value)                                  \
2441 < do                                                              \
2442 <  if (yychar == YYEMPTY && yylen == 1)                          \
2443 <    {                                                           \
2444 <      yychar = (Token);                                         \
2445 <      yylval = (Value);                                         \
2446 <      YYPOPSTACK (1);                                           \
2447 <      goto yybackup;                                            \
2448 <    }                                                           \
2449 <  else                                                          \
2450 <    {                                                           \
2440 > #define YYBACKUP(Token, Value)                                  \
2441 > do                                                              \
2442 >  if (yychar == YYEMPTY)                                        \
2443 >    {                                                           \
2444 >      yychar = (Token);                                         \
2445 >      yylval = (Value);                                         \
2446 >      YYPOPSTACK (yylen);                                       \
2447 >      yystate = *yyssp;                                         \
2448 >      goto yybackup;                                            \
2449 >    }                                                           \
2450 >  else                                                          \
2451 >    {                                                           \
2452        yyerror (YY_("syntax error: cannot back up")); \
2453        YYERROR;                                                  \
2454      }                                                           \
# Line 2611 | Line 2543 | yy_symbol_value_print (yyoutput, yytype,
2543      YYSTYPE const * const yyvaluep;
2544   #endif
2545   {
2546 +  FILE *yyo = yyoutput;
2547 +  YYUSE (yyo);
2548    if (!yyvaluep)
2549      return;
2550   # ifdef YYPRINT
# Line 2862 | Line 2796 | static int
2796   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2797                  yytype_int16 *yyssp, int yytoken)
2798   {
2799 <  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
2799 >  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2800    YYSIZE_T yysize = yysize0;
2801    YYSIZE_T yysize1;
2802    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2803    /* Internationalized format string. */
2804 <  const char *yyformat = 0;
2804 >  const char *yyformat = YY_NULL;
2805    /* Arguments of yyformat. */
2806    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2807    /* Number of reported tokens (one for the "unexpected", one per
# Line 2927 | Line 2861 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2861                      break;
2862                    }
2863                  yyarg[yycount++] = yytname[yyx];
2864 <                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2864 >                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2865                  if (! (yysize <= yysize1
2866                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2867                    return 2;
# Line 3079 | Line 3013 | yyparse ()
3013         `yyss': related to states.
3014         `yyvs': related to semantic values.
3015  
3016 <       Refer to the stacks thru separate pointers, to allow yyoverflow
3016 >       Refer to the stacks through separate pointers, to allow yyoverflow
3017         to reallocate them elsewhere.  */
3018  
3019      /* The state stack.  */
# Line 3310 | Line 3244 | yyreduce:
3244    YY_REDUCE_PRINT (yyn);
3245    switch (yyn)
3246      {
3247 <        case 27:
3247 >        case 26:
3248  
3249 < /* Line 1806 of yacc.c  */
3250 < #line 409 "ircd_parser.y"
3249 > /* Line 1810 of yacc.c  */
3250 > #line 386 "conf_parser.y"
3251      { (yyval.number) = 0; }
3252      break;
3253  
3254 <  case 29:
3254 >  case 28:
3255  
3256 < /* Line 1806 of yacc.c  */
3257 < #line 411 "ircd_parser.y"
3256 > /* Line 1810 of yacc.c  */
3257 > #line 388 "conf_parser.y"
3258      {
3259                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3260                  }
3261      break;
3262  
3263 <  case 30:
3263 >  case 29:
3264  
3265 < /* Line 1806 of yacc.c  */
3266 < #line 415 "ircd_parser.y"
3265 > /* Line 1810 of yacc.c  */
3266 > #line 392 "conf_parser.y"
3267      {
3268                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3269                  }
3270      break;
3271  
3272 <  case 31:
3272 >  case 30:
3273  
3274 < /* Line 1806 of yacc.c  */
3275 < #line 419 "ircd_parser.y"
3274 > /* Line 1810 of yacc.c  */
3275 > #line 396 "conf_parser.y"
3276      {
3277                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3278                  }
3279      break;
3280  
3281 <  case 32:
3281 >  case 31:
3282  
3283 < /* Line 1806 of yacc.c  */
3284 < #line 423 "ircd_parser.y"
3283 > /* Line 1810 of yacc.c  */
3284 > #line 400 "conf_parser.y"
3285      {
3286                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3287                  }
3288      break;
3289  
3290 <  case 33:
3290 >  case 32:
3291  
3292 < /* Line 1806 of yacc.c  */
3293 < #line 427 "ircd_parser.y"
3292 > /* Line 1810 of yacc.c  */
3293 > #line 404 "conf_parser.y"
3294      {
3295                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3296                  }
3297      break;
3298  
3299 <  case 34:
3299 >  case 33:
3300  
3301 < /* Line 1806 of yacc.c  */
3302 < #line 431 "ircd_parser.y"
3301 > /* Line 1810 of yacc.c  */
3302 > #line 408 "conf_parser.y"
3303      {
3304                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3305                  }
3306      break;
3307  
3308 <  case 35:
3308 >  case 34:
3309  
3310 < /* Line 1806 of yacc.c  */
3311 < #line 436 "ircd_parser.y"
3310 > /* Line 1810 of yacc.c  */
3311 > #line 413 "conf_parser.y"
3312      { (yyval.number) = 0; }
3313      break;
3314  
3315 <  case 37:
3315 >  case 36:
3316  
3317 < /* Line 1806 of yacc.c  */
3318 < #line 437 "ircd_parser.y"
3317 > /* Line 1810 of yacc.c  */
3318 > #line 414 "conf_parser.y"
3319      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3320      break;
3321  
3322 <  case 38:
3322 >  case 37:
3323  
3324 < /* Line 1806 of yacc.c  */
3325 < #line 438 "ircd_parser.y"
3324 > /* Line 1810 of yacc.c  */
3325 > #line 415 "conf_parser.y"
3326      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3327      break;
3328  
3329 <  case 39:
3329 >  case 38:
3330  
3331 < /* Line 1806 of yacc.c  */
3332 < #line 439 "ircd_parser.y"
3331 > /* Line 1810 of yacc.c  */
3332 > #line 416 "conf_parser.y"
3333      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3334      break;
3335  
3336 <  case 40:
3336 >  case 39:
3337  
3338 < /* Line 1806 of yacc.c  */
3339 < #line 440 "ircd_parser.y"
3338 > /* Line 1810 of yacc.c  */
3339 > #line 417 "conf_parser.y"
3340      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3341      break;
3342  
3343 <  case 47:
3343 >  case 46:
3344  
3345 < /* Line 1806 of yacc.c  */
3346 < #line 454 "ircd_parser.y"
3345 > /* Line 1810 of yacc.c  */
3346 > #line 431 "conf_parser.y"
3347      {
3348    if (conf_parser_ctx.pass == 2)
3349      add_conf_module(libio_basename(yylval.string));
3350   }
3351      break;
3352  
3353 <  case 48:
3353 >  case 47:
3354  
3355 < /* Line 1806 of yacc.c  */
3356 < #line 460 "ircd_parser.y"
3355 > /* Line 1810 of yacc.c  */
3356 > #line 437 "conf_parser.y"
3357      {
3358    if (conf_parser_ctx.pass == 2)
3359      mod_add_path(yylval.string);
3360   }
3361      break;
3362  
3363 <  case 65:
3363 >  case 71:
3364  
3365 < /* Line 1806 of yacc.c  */
3366 < #line 480 "ircd_parser.y"
3365 > /* Line 1810 of yacc.c  */
3366 > #line 462 "conf_parser.y"
3367      {
3368   #ifdef HAVE_LIBCRYPTO
3369 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3370 <    ServerInfo.tls_version = 0;
3369 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3370 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3371   #endif
3372   }
3373      break;
3374  
3375 <  case 66:
3375 >  case 72:
3376  
3377 < /* Line 1806 of yacc.c  */
3378 < #line 486 "ircd_parser.y"
3377 > /* Line 1810 of yacc.c  */
3378 > #line 468 "conf_parser.y"
3379      {
3380   #ifdef HAVE_LIBCRYPTO
3381 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3382 <  {
3449 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3450 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3451 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3452 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3453 <  }
3381 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3382 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3383   #endif
3384   }
3385      break;
3386  
3387 <  case 69:
3387 >  case 75:
3388  
3389 < /* Line 1806 of yacc.c  */
3390 < #line 500 "ircd_parser.y"
3389 > /* Line 1810 of yacc.c  */
3390 > #line 477 "conf_parser.y"
3391      {
3392   #ifdef HAVE_LIBCRYPTO
3393 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3394 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3393 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3394 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3395   #endif
3396   }
3397      break;
3398  
3399 <  case 70:
3399 >  case 76:
3400  
3401 < /* Line 1806 of yacc.c  */
3402 < #line 506 "ircd_parser.y"
3401 > /* Line 1810 of yacc.c  */
3402 > #line 483 "conf_parser.y"
3403      {
3404   #ifdef HAVE_LIBCRYPTO
3405 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3406 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3405 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3406 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3407   #endif
3408   }
3409      break;
3410  
3411 <  case 71:
3411 >  case 77:
3412  
3413 < /* Line 1806 of yacc.c  */
3414 < #line 514 "ircd_parser.y"
3413 > /* Line 1810 of yacc.c  */
3414 > #line 491 "conf_parser.y"
3415      {
3416   #ifdef HAVE_LIBCRYPTO
3417    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3494 | Line 3423 | yyreduce:
3423      }
3424  
3425      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3426 +                                     SSL_FILETYPE_PEM) <= 0 ||
3427 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3428                                       SSL_FILETYPE_PEM) <= 0)
3429      {
3430        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3501 | Line 3432 | yyreduce:
3432      }
3433  
3434      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3435 +                                    SSL_FILETYPE_PEM) <= 0 ||
3436 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3437                                      SSL_FILETYPE_PEM) <= 0)
3438      {
3439        yyerror(ERR_lib_error_string(ERR_get_error()));
3440        break;
3441      }
3442  
3443 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3443 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3444 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3445      {
3446        yyerror(ERR_lib_error_string(ERR_get_error()));
3447        break;
# Line 3517 | Line 3451 | yyreduce:
3451   }
3452      break;
3453  
3454 <  case 72:
3454 >  case 78:
3455  
3456 < /* Line 1806 of yacc.c  */
3457 < #line 548 "ircd_parser.y"
3456 > /* Line 1810 of yacc.c  */
3457 > #line 530 "conf_parser.y"
3458      {
3459   #ifdef HAVE_LIBCRYPTO
3460    if (conf_parser_ctx.pass == 1)
# Line 3547 | Line 3481 | yyreduce:
3481        break;
3482      }
3483  
3484 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3551 <      0, NULL);
3484 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3485  
3486      BIO_set_close(file, BIO_CLOSE);
3487      BIO_free(file);
# Line 3581 | Line 3514 | yyreduce:
3514   }
3515      break;
3516  
3517 <  case 73:
3517 >  case 79:
3518  
3519 < /* Line 1806 of yacc.c  */
3520 < #line 608 "ircd_parser.y"
3519 > /* Line 1810 of yacc.c  */
3520 > #line 589 "conf_parser.y"
3521 >    {
3522 > /* TBD - XXX: error reporting */
3523 > #ifdef HAVE_LIBCRYPTO
3524 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3525 >  {
3526 >    BIO *file = BIO_new_file(yylval.string, "r");
3527 >
3528 >    if (file)
3529 >    {
3530 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3531 >
3532 >      BIO_free(file);
3533 >
3534 >      if (dh)
3535 >      {
3536 >        if (DH_size(dh) < 128)
3537 >          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3538 >        else
3539 >          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3540 >
3541 >        DH_free(dh);
3542 >      }
3543 >    }
3544 >  }
3545 > #endif
3546 > }
3547 >    break;
3548 >
3549 >  case 80:
3550 >
3551 > /* Line 1810 of yacc.c  */
3552 > #line 617 "conf_parser.y"
3553 >    {
3554 > #ifdef HAVE_LIBCRYPTO
3555 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3556 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3557 > #endif
3558 > }
3559 >    break;
3560 >
3561 >  case 81:
3562 >
3563 > /* Line 1810 of yacc.c  */
3564 > #line 625 "conf_parser.y"
3565      {
3566    /* this isn't rehashable */
3567    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3600 | Line 3577 | yyreduce:
3577   }
3578      break;
3579  
3580 <  case 74:
3580 >  case 82:
3581  
3582 < /* Line 1806 of yacc.c  */
3583 < #line 623 "ircd_parser.y"
3582 > /* Line 1810 of yacc.c  */
3583 > #line 640 "conf_parser.y"
3584      {
3585    /* this isn't rehashable */
3586    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3619 | Line 3596 | yyreduce:
3596   }
3597      break;
3598  
3599 <  case 75:
3599 >  case 83:
3600  
3601 < /* Line 1806 of yacc.c  */
3602 < #line 638 "ircd_parser.y"
3601 > /* Line 1810 of yacc.c  */
3602 > #line 655 "conf_parser.y"
3603      {
3604    if (conf_parser_ctx.pass == 2)
3605    {
# Line 3632 | Line 3609 | yyreduce:
3609   }
3610      break;
3611  
3612 <  case 76:
3612 >  case 84:
3613  
3614 < /* Line 1806 of yacc.c  */
3615 < #line 647 "ircd_parser.y"
3614 > /* Line 1810 of yacc.c  */
3615 > #line 664 "conf_parser.y"
3616      {
3617    if (conf_parser_ctx.pass == 2)
3618    {
# Line 3650 | Line 3627 | yyreduce:
3627   }
3628      break;
3629  
3630 <  case 77:
3630 >  case 85:
3631  
3632 < /* Line 1806 of yacc.c  */
3633 < #line 661 "ircd_parser.y"
3632 > /* Line 1810 of yacc.c  */
3633 > #line 678 "conf_parser.y"
3634      {
3635    if (conf_parser_ctx.pass == 2)
3636    {
# Line 3663 | Line 3640 | yyreduce:
3640   }
3641      break;
3642  
3643 <  case 78:
3643 >  case 86:
3644  
3645 < /* Line 1806 of yacc.c  */
3646 < #line 670 "ircd_parser.y"
3645 > /* Line 1810 of yacc.c  */
3646 > #line 687 "conf_parser.y"
3647      {
3648    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3649    {
# Line 3695 | Line 3672 | yyreduce:
3672   }
3673      break;
3674  
3675 <  case 79:
3675 >  case 87:
3676  
3677 < /* Line 1806 of yacc.c  */
3678 < #line 698 "ircd_parser.y"
3677 > /* Line 1810 of yacc.c  */
3678 > #line 715 "conf_parser.y"
3679      {
3680   #ifdef IPV6
3681    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3729 | Line 3706 | yyreduce:
3706   }
3707      break;
3708  
3709 <  case 80:
3709 >  case 88:
3710  
3711 < /* Line 1806 of yacc.c  */
3712 < #line 728 "ircd_parser.y"
3711 > /* Line 1810 of yacc.c  */
3712 > #line 745 "conf_parser.y"
3713      {
3714    if (conf_parser_ctx.pass == 2)
3715    {
# Line 3756 | Line 3733 | yyreduce:
3733   }
3734      break;
3735  
3736 <  case 81:
3736 >  case 89:
3737  
3738 < /* Line 1806 of yacc.c  */
3739 < #line 751 "ircd_parser.y"
3738 > /* Line 1810 of yacc.c  */
3739 > #line 768 "conf_parser.y"
3740      {
3741    if (conf_parser_ctx.pass == 2)
3742      ServerInfo.hub = yylval.number;
3743   }
3744      break;
3745  
3746 <  case 89:
3746 >  case 97:
3747  
3748 < /* Line 1806 of yacc.c  */
3749 < #line 766 "ircd_parser.y"
3748 > /* Line 1810 of yacc.c  */
3749 > #line 783 "conf_parser.y"
3750      {
3751    if (conf_parser_ctx.pass == 2)
3752    {
# Line 3779 | Line 3756 | yyreduce:
3756   }
3757      break;
3758  
3759 <  case 90:
3759 >  case 98:
3760  
3761 < /* Line 1806 of yacc.c  */
3762 < #line 775 "ircd_parser.y"
3761 > /* Line 1810 of yacc.c  */
3762 > #line 792 "conf_parser.y"
3763      {
3764    if (conf_parser_ctx.pass == 2)
3765    {
# Line 3792 | Line 3769 | yyreduce:
3769   }
3770      break;
3771  
3772 <  case 91:
3772 >  case 99:
3773  
3774 < /* Line 1806 of yacc.c  */
3775 < #line 784 "ircd_parser.y"
3774 > /* Line 1810 of yacc.c  */
3775 > #line 801 "conf_parser.y"
3776      {
3777    if (conf_parser_ctx.pass == 2)
3778    {
# Line 3805 | Line 3782 | yyreduce:
3782   }
3783      break;
3784  
3785 <  case 99:
3785 >  case 106:
3786  
3787 < /* Line 1806 of yacc.c  */
3788 < #line 802 "ircd_parser.y"
3787 > /* Line 1810 of yacc.c  */
3788 > #line 819 "conf_parser.y"
3789      {
3790    if (conf_parser_ctx.pass == 2)
3791      ConfigLoggingEntry.use_logging = yylval.number;
3792   }
3793      break;
3794  
3795 <  case 100:
3819 <
3820 < /* Line 1806 of yacc.c  */
3821 < #line 808 "ircd_parser.y"
3822 <    {
3823 <  if (conf_parser_ctx.pass == 2)
3824 <    ConfigLoggingEntry.timestamp = yylval.number;
3825 < }
3826 <    break;
3827 <
3828 <  case 101:
3795 >  case 107:
3796  
3797 < /* Line 1806 of yacc.c  */
3798 < #line 814 "ircd_parser.y"
3797 > /* Line 1810 of yacc.c  */
3798 > #line 825 "conf_parser.y"
3799      {
3800    lfile[0] = '\0';
3801    ltype = 0;
# Line 3836 | Line 3803 | yyreduce:
3803   }
3804      break;
3805  
3806 <  case 102:
3806 >  case 108:
3807  
3808 < /* Line 1806 of yacc.c  */
3809 < #line 819 "ircd_parser.y"
3808 > /* Line 1810 of yacc.c  */
3809 > #line 830 "conf_parser.y"
3810      {
3811    if (conf_parser_ctx.pass == 2 && ltype > 0)
3812      log_add_file(ltype, lsize, lfile);
3813   }
3814      break;
3815  
3816 <  case 109:
3816 >  case 115:
3817  
3818 < /* Line 1806 of yacc.c  */
3819 < #line 831 "ircd_parser.y"
3818 > /* Line 1810 of yacc.c  */
3819 > #line 842 "conf_parser.y"
3820      {
3821    strlcpy(lfile, yylval.string, sizeof(lfile));
3822   }
3823      break;
3824  
3825 <  case 110:
3825 >  case 116:
3826  
3827 < /* Line 1806 of yacc.c  */
3828 < #line 836 "ircd_parser.y"
3827 > /* Line 1810 of yacc.c  */
3828 > #line 847 "conf_parser.y"
3829      {
3830    lsize = (yyvsp[(3) - (4)].number);
3831   }
3832      break;
3833  
3834 <  case 111:
3834 >  case 117:
3835  
3836 < /* Line 1806 of yacc.c  */
3837 < #line 839 "ircd_parser.y"
3836 > /* Line 1810 of yacc.c  */
3837 > #line 850 "conf_parser.y"
3838      {
3839    lsize = 0;
3840   }
3841      break;
3842  
3843 <  case 112:
3843 >  case 118:
3844  
3845 < /* Line 1806 of yacc.c  */
3846 < #line 844 "ircd_parser.y"
3845 > /* Line 1810 of yacc.c  */
3846 > #line 855 "conf_parser.y"
3847      {
3848    if (conf_parser_ctx.pass == 2)
3849      ltype = 0;
3850   }
3851      break;
3852  
3853 <  case 116:
3853 >  case 122:
3854  
3855 < /* Line 1806 of yacc.c  */
3856 < #line 851 "ircd_parser.y"
3855 > /* Line 1810 of yacc.c  */
3856 > #line 862 "conf_parser.y"
3857      {
3858    if (conf_parser_ctx.pass == 2)
3859      ltype = LOG_TYPE_USER;
3860   }
3861      break;
3862  
3863 <  case 117:
3863 >  case 123:
3864  
3865 < /* Line 1806 of yacc.c  */
3866 < #line 855 "ircd_parser.y"
3865 > /* Line 1810 of yacc.c  */
3866 > #line 866 "conf_parser.y"
3867      {
3868    if (conf_parser_ctx.pass == 2)
3869      ltype = LOG_TYPE_OPER;
3870   }
3871      break;
3872  
3873 <  case 118:
3873 >  case 124:
3874  
3875 < /* Line 1806 of yacc.c  */
3876 < #line 859 "ircd_parser.y"
3875 > /* Line 1810 of yacc.c  */
3876 > #line 870 "conf_parser.y"
3877      {
3878    if (conf_parser_ctx.pass == 2)
3879      ltype = LOG_TYPE_GLINE;
3880   }
3881      break;
3882  
3883 <  case 119:
3883 >  case 125:
3884  
3885 < /* Line 1806 of yacc.c  */
3886 < #line 863 "ircd_parser.y"
3885 > /* Line 1810 of yacc.c  */
3886 > #line 874 "conf_parser.y"
3887      {
3888    if (conf_parser_ctx.pass == 2)
3889      ltype = LOG_TYPE_DLINE;
3890   }
3891      break;
3892  
3893 <  case 120:
3893 >  case 126:
3894  
3895 < /* Line 1806 of yacc.c  */
3896 < #line 867 "ircd_parser.y"
3895 > /* Line 1810 of yacc.c  */
3896 > #line 878 "conf_parser.y"
3897      {
3898    if (conf_parser_ctx.pass == 2)
3899      ltype = LOG_TYPE_KLINE;
3900   }
3901      break;
3902  
3903 <  case 121:
3903 >  case 127:
3904  
3905 < /* Line 1806 of yacc.c  */
3906 < #line 871 "ircd_parser.y"
3905 > /* Line 1810 of yacc.c  */
3906 > #line 882 "conf_parser.y"
3907      {
3908    if (conf_parser_ctx.pass == 2)
3909      ltype = LOG_TYPE_KILL;
3910   }
3911      break;
3912  
3913 <  case 122:
3913 >  case 128:
3914  
3915 < /* Line 1806 of yacc.c  */
3916 < #line 875 "ircd_parser.y"
3915 > /* Line 1810 of yacc.c  */
3916 > #line 886 "conf_parser.y"
3917      {
3918    if (conf_parser_ctx.pass == 2)
3919      ltype = LOG_TYPE_DEBUG;
3920   }
3921      break;
3922  
3923 <  case 123:
3923 >  case 129:
3924  
3925 < /* Line 1806 of yacc.c  */
3926 < #line 885 "ircd_parser.y"
3925 > /* Line 1810 of yacc.c  */
3926 > #line 896 "conf_parser.y"
3927      {
3928    if (conf_parser_ctx.pass == 2)
3929    {
# Line 3972 | Line 3939 | yyreduce:
3939   }
3940      break;
3941  
3942 <  case 124:
3942 >  case 130:
3943  
3944 < /* Line 1806 of yacc.c  */
3945 < #line 898 "ircd_parser.y"
3944 > /* Line 1810 of yacc.c  */
3945 > #line 909 "conf_parser.y"
3946      {
3947    if (conf_parser_ctx.pass == 2)
3948    {
# Line 4011 | Line 3978 | yyreduce:
3978        else
3979          DupString(new_aconf->host, "*");
3980  
3981 <      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->ipnum,
3981 >      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->addr,
3982                                       &new_aconf->bits);
3983  
3984        conf_add_class_to_conf(new_conf, class_name);
# Line 4061 | Line 4028 | yyreduce:
4028   }
4029      break;
4030  
4031 <  case 136:
4031 >  case 142:
4032  
4033 < /* Line 1806 of yacc.c  */
4034 < #line 988 "ircd_parser.y"
4033 > /* Line 1810 of yacc.c  */
4034 > #line 999 "conf_parser.y"
4035      {
4036    if (conf_parser_ctx.pass == 2)
4037    {
4071    if (strlen(yylval.string) > OPERNICKLEN)
4072      yylval.string[OPERNICKLEN] = '\0';
4073
4038      MyFree(yy_conf->name);
4039      DupString(yy_conf->name, yylval.string);
4040    }
4041   }
4042      break;
4043  
4044 <  case 137:
4044 >  case 143:
4045  
4046 < /* Line 1806 of yacc.c  */
4047 < #line 1000 "ircd_parser.y"
4046 > /* Line 1810 of yacc.c  */
4047 > #line 1008 "conf_parser.y"
4048      {
4049    if (conf_parser_ctx.pass == 2)
4050    {
# Line 4102 | Line 4066 | yyreduce:
4066        DupString(yy_aconf->user, userbuf);
4067        DupString(yy_aconf->host, hostbuf);
4068  
4069 <      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->ipnum,
4069 >      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->addr,
4070                                      &yy_aconf->bits);
4071      }
4072      else
# Line 4118 | Line 4082 | yyreduce:
4082   }
4083      break;
4084  
4085 <  case 138:
4085 >  case 144:
4086  
4087 < /* Line 1806 of yacc.c  */
4088 < #line 1037 "ircd_parser.y"
4087 > /* Line 1810 of yacc.c  */
4088 > #line 1045 "conf_parser.y"
4089      {
4090    if (conf_parser_ctx.pass == 2)
4091    {
# Line 4134 | Line 4098 | yyreduce:
4098   }
4099      break;
4100  
4101 <  case 139:
4101 >  case 145:
4102  
4103 < /* Line 1806 of yacc.c  */
4104 < #line 1049 "ircd_parser.y"
4103 > /* Line 1810 of yacc.c  */
4104 > #line 1057 "conf_parser.y"
4105      {
4106    if (conf_parser_ctx.pass == 2)
4107    {
# Line 4149 | Line 4113 | yyreduce:
4113   }
4114      break;
4115  
4116 <  case 140:
4116 >  case 146:
4117  
4118 < /* Line 1806 of yacc.c  */
4119 < #line 1060 "ircd_parser.y"
4118 > /* Line 1810 of yacc.c  */
4119 > #line 1068 "conf_parser.y"
4120      {
4121   #ifdef HAVE_LIBCRYPTO
4122    if (conf_parser_ctx.pass == 2)
# Line 4195 | Line 4159 | yyreduce:
4159   }
4160      break;
4161  
4162 <  case 141:
4162 >  case 147:
4163  
4164 < /* Line 1806 of yacc.c  */
4165 < #line 1102 "ircd_parser.y"
4164 > /* Line 1810 of yacc.c  */
4165 > #line 1110 "conf_parser.y"
4166      {
4167    if (conf_parser_ctx.pass == 2)
4168    {
# Line 4208 | Line 4172 | yyreduce:
4172   }
4173      break;
4174  
4175 <  case 142:
4175 >  case 148:
4176  
4177 < /* Line 1806 of yacc.c  */
4178 < #line 1111 "ircd_parser.y"
4177 > /* Line 1810 of yacc.c  */
4178 > #line 1119 "conf_parser.y"
4179      {
4180    if (conf_parser_ctx.pass == 2)
4181      yy_aconf->modes = 0;
4182   }
4183      break;
4184  
4185 <  case 146:
4185 >  case 152:
4186  
4187 < /* Line 1806 of yacc.c  */
4188 < #line 1118 "ircd_parser.y"
4187 > /* Line 1810 of yacc.c  */
4188 > #line 1126 "conf_parser.y"
4189      {
4190    if (conf_parser_ctx.pass == 2)
4191      yy_aconf->modes |= UMODE_BOTS;
4192   }
4193      break;
4194  
4195 <  case 147:
4195 >  case 153:
4196  
4197 < /* Line 1806 of yacc.c  */
4198 < #line 1122 "ircd_parser.y"
4197 > /* Line 1810 of yacc.c  */
4198 > #line 1130 "conf_parser.y"
4199      {
4200    if (conf_parser_ctx.pass == 2)
4201      yy_aconf->modes |= UMODE_CCONN;
4202   }
4203      break;
4204  
4205 <  case 148:
4205 >  case 154:
4206  
4207 < /* Line 1806 of yacc.c  */
4208 < #line 1126 "ircd_parser.y"
4207 > /* Line 1810 of yacc.c  */
4208 > #line 1134 "conf_parser.y"
4209      {
4210    if (conf_parser_ctx.pass == 2)
4211      yy_aconf->modes |= UMODE_CCONN_FULL;
4212   }
4213      break;
4214  
4215 <  case 149:
4215 >  case 155:
4216  
4217 < /* Line 1806 of yacc.c  */
4218 < #line 1130 "ircd_parser.y"
4217 > /* Line 1810 of yacc.c  */
4218 > #line 1138 "conf_parser.y"
4219      {
4220    if (conf_parser_ctx.pass == 2)
4221      yy_aconf->modes |= UMODE_DEAF;
4222   }
4223      break;
4224  
4225 <  case 150:
4225 >  case 156:
4226  
4227 < /* Line 1806 of yacc.c  */
4228 < #line 1134 "ircd_parser.y"
4227 > /* Line 1810 of yacc.c  */
4228 > #line 1142 "conf_parser.y"
4229      {
4230    if (conf_parser_ctx.pass == 2)
4231      yy_aconf->modes |= UMODE_DEBUG;
4232   }
4233      break;
4234  
4235 <  case 151:
4235 >  case 157:
4236  
4237 < /* Line 1806 of yacc.c  */
4238 < #line 1138 "ircd_parser.y"
4237 > /* Line 1810 of yacc.c  */
4238 > #line 1146 "conf_parser.y"
4239      {
4240    if (conf_parser_ctx.pass == 2)
4241      yy_aconf->modes |= UMODE_FULL;
4242   }
4243      break;
4244  
4245 <  case 152:
4245 >  case 158:
4246  
4247 < /* Line 1806 of yacc.c  */
4248 < #line 1142 "ircd_parser.y"
4247 > /* Line 1810 of yacc.c  */
4248 > #line 1150 "conf_parser.y"
4249      {
4250    if (conf_parser_ctx.pass == 2)
4251      yy_aconf->modes |= UMODE_HIDDEN;
4252   }
4253      break;
4254  
4255 <  case 153:
4255 >  case 159:
4256  
4257 < /* Line 1806 of yacc.c  */
4258 < #line 1146 "ircd_parser.y"
4257 > /* Line 1810 of yacc.c  */
4258 > #line 1154 "conf_parser.y"
4259      {
4260    if (conf_parser_ctx.pass == 2)
4261      yy_aconf->modes |= UMODE_SKILL;
4262   }
4263      break;
4264  
4265 <  case 154:
4265 >  case 160:
4266  
4267 < /* Line 1806 of yacc.c  */
4268 < #line 1150 "ircd_parser.y"
4267 > /* Line 1810 of yacc.c  */
4268 > #line 1158 "conf_parser.y"
4269      {
4270    if (conf_parser_ctx.pass == 2)
4271      yy_aconf->modes |= UMODE_NCHANGE;
4272   }
4273      break;
4274  
4275 <  case 155:
4275 >  case 161:
4276  
4277 < /* Line 1806 of yacc.c  */
4278 < #line 1154 "ircd_parser.y"
4277 > /* Line 1810 of yacc.c  */
4278 > #line 1162 "conf_parser.y"
4279      {
4280    if (conf_parser_ctx.pass == 2)
4281      yy_aconf->modes |= UMODE_REJ;
4282   }
4283      break;
4284  
4285 <  case 156:
4285 >  case 162:
4286  
4287 < /* Line 1806 of yacc.c  */
4288 < #line 1158 "ircd_parser.y"
4287 > /* Line 1810 of yacc.c  */
4288 > #line 1166 "conf_parser.y"
4289      {
4290    if (conf_parser_ctx.pass == 2)
4291      yy_aconf->modes |= UMODE_UNAUTH;
4292   }
4293      break;
4294  
4295 <  case 157:
4295 >  case 163:
4296  
4297 < /* Line 1806 of yacc.c  */
4298 < #line 1162 "ircd_parser.y"
4297 > /* Line 1810 of yacc.c  */
4298 > #line 1170 "conf_parser.y"
4299      {
4300    if (conf_parser_ctx.pass == 2)
4301      yy_aconf->modes |= UMODE_SPY;
4302   }
4303      break;
4304  
4305 <  case 158:
4305 >  case 164:
4306  
4307 < /* Line 1806 of yacc.c  */
4308 < #line 1166 "ircd_parser.y"
4307 > /* Line 1810 of yacc.c  */
4308 > #line 1174 "conf_parser.y"
4309      {
4310    if (conf_parser_ctx.pass == 2)
4311      yy_aconf->modes |= UMODE_EXTERNAL;
4312   }
4313      break;
4314  
4315 <  case 159:
4315 >  case 165:
4316  
4317 < /* Line 1806 of yacc.c  */
4318 < #line 1170 "ircd_parser.y"
4317 > /* Line 1810 of yacc.c  */
4318 > #line 1178 "conf_parser.y"
4319      {
4320    if (conf_parser_ctx.pass == 2)
4321      yy_aconf->modes |= UMODE_OPERWALL;
4322   }
4323      break;
4324  
4325 <  case 160:
4325 >  case 166:
4326  
4327 < /* Line 1806 of yacc.c  */
4328 < #line 1174 "ircd_parser.y"
4327 > /* Line 1810 of yacc.c  */
4328 > #line 1182 "conf_parser.y"
4329      {
4330    if (conf_parser_ctx.pass == 2)
4331      yy_aconf->modes |= UMODE_SERVNOTICE;
4332   }
4333      break;
4334  
4335 <  case 161:
4335 >  case 167:
4336  
4337 < /* Line 1806 of yacc.c  */
4338 < #line 1178 "ircd_parser.y"
4337 > /* Line 1810 of yacc.c  */
4338 > #line 1186 "conf_parser.y"
4339      {
4340    if (conf_parser_ctx.pass == 2)
4341      yy_aconf->modes |= UMODE_INVISIBLE;
4342   }
4343      break;
4344  
4345 <  case 162:
4345 >  case 168:
4346  
4347 < /* Line 1806 of yacc.c  */
4348 < #line 1182 "ircd_parser.y"
4347 > /* Line 1810 of yacc.c  */
4348 > #line 1190 "conf_parser.y"
4349      {
4350    if (conf_parser_ctx.pass == 2)
4351      yy_aconf->modes |= UMODE_WALLOP;
4352   }
4353      break;
4354  
4355 <  case 163:
4355 >  case 169:
4356  
4357 < /* Line 1806 of yacc.c  */
4358 < #line 1186 "ircd_parser.y"
4357 > /* Line 1810 of yacc.c  */
4358 > #line 1194 "conf_parser.y"
4359      {
4360    if (conf_parser_ctx.pass == 2)
4361      yy_aconf->modes |= UMODE_SOFTCALLERID;
4362   }
4363      break;
4364  
4365 <  case 164:
4365 >  case 170:
4366  
4367 < /* Line 1806 of yacc.c  */
4368 < #line 1190 "ircd_parser.y"
4367 > /* Line 1810 of yacc.c  */
4368 > #line 1198 "conf_parser.y"
4369      {
4370    if (conf_parser_ctx.pass == 2)
4371      yy_aconf->modes |= UMODE_CALLERID;
4372   }
4373      break;
4374  
4375 <  case 165:
4375 >  case 171:
4376  
4377 < /* Line 1806 of yacc.c  */
4378 < #line 1194 "ircd_parser.y"
4377 > /* Line 1810 of yacc.c  */
4378 > #line 1202 "conf_parser.y"
4379      {
4380    if (conf_parser_ctx.pass == 2)
4381      yy_aconf->modes |= UMODE_LOCOPS;
4382   }
4383      break;
4384  
4385 <  case 166:
4385 >  case 172:
4386  
4387 < /* Line 1806 of yacc.c  */
4388 < #line 1200 "ircd_parser.y"
4387 > /* Line 1810 of yacc.c  */
4388 > #line 1208 "conf_parser.y"
4389      {
4390    if (conf_parser_ctx.pass == 2)
4391      yy_aconf->port = 0;
4392   }
4393      break;
4394  
4395 <  case 170:
4395 >  case 176:
4396  
4397 < /* Line 1806 of yacc.c  */
4398 < #line 1207 "ircd_parser.y"
4397 > /* Line 1810 of yacc.c  */
4398 > #line 1215 "conf_parser.y"
4399      {
4400    if (conf_parser_ctx.pass == 2)
4401      yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4402   }
4403      break;
4404  
4405 <  case 171:
4405 >  case 177:
4406  
4407 < /* Line 1806 of yacc.c  */
4408 < #line 1211 "ircd_parser.y"
4407 > /* Line 1810 of yacc.c  */
4408 > #line 1219 "conf_parser.y"
4409      {
4410    if (conf_parser_ctx.pass == 2)
4411      yy_aconf->port |= OPER_FLAG_REMOTE;
4412   }
4413      break;
4414  
4415 <  case 172:
4415 >  case 178:
4416  
4417 < /* Line 1806 of yacc.c  */
4418 < #line 1215 "ircd_parser.y"
4417 > /* Line 1810 of yacc.c  */
4418 > #line 1223 "conf_parser.y"
4419      {
4420    if (conf_parser_ctx.pass == 2)
4421      yy_aconf->port |= OPER_FLAG_K;
4422   }
4423      break;
4424  
4425 <  case 173:
4425 >  case 179:
4426  
4427 < /* Line 1806 of yacc.c  */
4428 < #line 1219 "ircd_parser.y"
4427 > /* Line 1810 of yacc.c  */
4428 > #line 1227 "conf_parser.y"
4429      {
4430    if (conf_parser_ctx.pass == 2)
4431      yy_aconf->port |= OPER_FLAG_UNKLINE;
4432   }
4433      break;
4434  
4435 <  case 174:
4435 >  case 180:
4436  
4437 < /* Line 1806 of yacc.c  */
4438 < #line 1223 "ircd_parser.y"
4437 > /* Line 1810 of yacc.c  */
4438 > #line 1231 "conf_parser.y"
4439 >    {
4440 >  if (conf_parser_ctx.pass == 2)
4441 >    yy_aconf->port |= OPER_FLAG_DLINE;
4442 > }
4443 >    break;
4444 >
4445 >  case 181:
4446 >
4447 > /* Line 1810 of yacc.c  */
4448 > #line 1235 "conf_parser.y"
4449 >    {
4450 >  if (conf_parser_ctx.pass == 2)
4451 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4452 > }
4453 >    break;
4454 >
4455 >  case 182:
4456 >
4457 > /* Line 1810 of yacc.c  */
4458 > #line 1239 "conf_parser.y"
4459      {
4460    if (conf_parser_ctx.pass == 2)
4461      yy_aconf->port |= OPER_FLAG_X;
4462   }
4463      break;
4464  
4465 <  case 175:
4465 >  case 183:
4466  
4467 < /* Line 1806 of yacc.c  */
4468 < #line 1227 "ircd_parser.y"
4467 > /* Line 1810 of yacc.c  */
4468 > #line 1243 "conf_parser.y"
4469      {
4470    if (conf_parser_ctx.pass == 2)
4471      yy_aconf->port |= OPER_FLAG_GLINE;
4472   }
4473      break;
4474  
4475 <  case 176:
4475 >  case 184:
4476  
4477 < /* Line 1806 of yacc.c  */
4478 < #line 1231 "ircd_parser.y"
4477 > /* Line 1810 of yacc.c  */
4478 > #line 1247 "conf_parser.y"
4479      {
4480    if (conf_parser_ctx.pass == 2)
4481      yy_aconf->port |= OPER_FLAG_DIE;
4482   }
4483      break;
4484  
4485 <  case 177:
4485 >  case 185:
4486  
4487 < /* Line 1806 of yacc.c  */
4488 < #line 1235 "ircd_parser.y"
4487 > /* Line 1810 of yacc.c  */
4488 > #line 1251 "conf_parser.y"
4489      {
4490    if (conf_parser_ctx.pass == 2)
4491      yy_aconf->port |= OPER_FLAG_RESTART;
4492   }
4493      break;
4494  
4495 <  case 178:
4495 >  case 186:
4496  
4497 < /* Line 1806 of yacc.c  */
4498 < #line 1239 "ircd_parser.y"
4497 > /* Line 1810 of yacc.c  */
4498 > #line 1255 "conf_parser.y"
4499      {
4500    if (conf_parser_ctx.pass == 2)
4501      yy_aconf->port |= OPER_FLAG_REHASH;
4502   }
4503      break;
4504  
4505 <  case 179:
4505 >  case 187:
4506  
4507 < /* Line 1806 of yacc.c  */
4508 < #line 1243 "ircd_parser.y"
4507 > /* Line 1810 of yacc.c  */
4508 > #line 1259 "conf_parser.y"
4509      {
4510    if (conf_parser_ctx.pass == 2)
4511      yy_aconf->port |= OPER_FLAG_ADMIN;
4512   }
4513      break;
4514  
4515 <  case 180:
4515 >  case 188:
4516  
4517 < /* Line 1806 of yacc.c  */
4518 < #line 1247 "ircd_parser.y"
4517 > /* Line 1810 of yacc.c  */
4518 > #line 1263 "conf_parser.y"
4519      {
4520    if (conf_parser_ctx.pass == 2)
4521      yy_aconf->port |= OPER_FLAG_N;
4522   }
4523      break;
4524  
4525 <  case 181:
4525 >  case 189:
4526  
4527 < /* Line 1806 of yacc.c  */
4528 < #line 1251 "ircd_parser.y"
4527 > /* Line 1810 of yacc.c  */
4528 > #line 1267 "conf_parser.y"
4529      {
4530    if (conf_parser_ctx.pass == 2)
4531      yy_aconf->port |= OPER_FLAG_OPERWALL;
4532   }
4533      break;
4534  
4535 <  case 182:
4535 >  case 190:
4536  
4537 < /* Line 1806 of yacc.c  */
4538 < #line 1255 "ircd_parser.y"
4537 > /* Line 1810 of yacc.c  */
4538 > #line 1271 "conf_parser.y"
4539      {
4540    if (conf_parser_ctx.pass == 2)
4541      yy_aconf->port |= OPER_FLAG_GLOBOPS;
4542   }
4543      break;
4544  
4545 <  case 183:
4545 >  case 191:
4546  
4547 < /* Line 1806 of yacc.c  */
4548 < #line 1259 "ircd_parser.y"
4547 > /* Line 1810 of yacc.c  */
4548 > #line 1275 "conf_parser.y"
4549      {
4550    if (conf_parser_ctx.pass == 2)
4551      yy_aconf->port |= OPER_FLAG_OPER_SPY;
4552   }
4553      break;
4554  
4555 <  case 184:
4555 >  case 192:
4556  
4557 < /* Line 1806 of yacc.c  */
4558 < #line 1263 "ircd_parser.y"
4557 > /* Line 1810 of yacc.c  */
4558 > #line 1279 "conf_parser.y"
4559      {
4560    if (conf_parser_ctx.pass == 2)
4561      yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4562   }
4563      break;
4564  
4565 <  case 185:
4565 >  case 193:
4566 >
4567 > /* Line 1810 of yacc.c  */
4568 > #line 1283 "conf_parser.y"
4569 >    {
4570 >  if (conf_parser_ctx.pass == 2)
4571 >    yy_aconf->port |= OPER_FLAG_SET;
4572 > }
4573 >    break;
4574  
4575 < /* Line 1806 of yacc.c  */
4576 < #line 1267 "ircd_parser.y"
4575 >  case 194:
4576 >
4577 > /* Line 1810 of yacc.c  */
4578 > #line 1287 "conf_parser.y"
4579      {
4580    if (conf_parser_ctx.pass == 2)
4581      yy_aconf->port |= OPER_FLAG_MODULE;
4582   }
4583      break;
4584  
4585 <  case 186:
4585 >  case 195:
4586  
4587 < /* Line 1806 of yacc.c  */
4588 < #line 1277 "ircd_parser.y"
4587 > /* Line 1810 of yacc.c  */
4588 > #line 1297 "conf_parser.y"
4589      {
4590    if (conf_parser_ctx.pass == 1)
4591    {
# Line 4601 | Line 4595 | yyreduce:
4595   }
4596      break;
4597  
4598 <  case 187:
4598 >  case 196:
4599  
4600 < /* Line 1806 of yacc.c  */
4601 < #line 1284 "ircd_parser.y"
4600 > /* Line 1810 of yacc.c  */
4601 > #line 1304 "conf_parser.y"
4602      {
4603    if (conf_parser_ctx.pass == 1)
4604    {
# Line 4648 | Line 4642 | yyreduce:
4642   }
4643      break;
4644  
4645 <  case 204:
4645 >  case 213:
4646  
4647 < /* Line 1806 of yacc.c  */
4648 < #line 1342 "ircd_parser.y"
4647 > /* Line 1810 of yacc.c  */
4648 > #line 1362 "conf_parser.y"
4649      {
4650    if (conf_parser_ctx.pass == 1)
4651    {
# Line 4661 | Line 4655 | yyreduce:
4655   }
4656      break;
4657  
4658 <  case 205:
4658 >  case 214:
4659  
4660 < /* Line 1806 of yacc.c  */
4661 < #line 1351 "ircd_parser.y"
4660 > /* Line 1810 of yacc.c  */
4661 > #line 1371 "conf_parser.y"
4662      {
4663    if (conf_parser_ctx.pass == 1)
4664 <    PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4664 >    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4665   }
4666      break;
4667  
4668 <  case 206:
4668 >  case 215:
4669  
4670 < /* Line 1806 of yacc.c  */
4671 < #line 1357 "ircd_parser.y"
4670 > /* Line 1810 of yacc.c  */
4671 > #line 1377 "conf_parser.y"
4672      {
4673    if (conf_parser_ctx.pass == 1)
4674 <    PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4674 >    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4675   }
4676      break;
4677  
4678 <  case 207:
4678 >  case 216:
4679  
4680 < /* Line 1806 of yacc.c  */
4681 < #line 1363 "ircd_parser.y"
4680 > /* Line 1810 of yacc.c  */
4681 > #line 1383 "conf_parser.y"
4682      {
4683    if (conf_parser_ctx.pass == 1)
4684 <    MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4684 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4685   }
4686      break;
4687  
4688 <  case 208:
4688 >  case 217:
4689  
4690 < /* Line 1806 of yacc.c  */
4691 < #line 1369 "ircd_parser.y"
4690 > /* Line 1810 of yacc.c  */
4691 > #line 1389 "conf_parser.y"
4692      {
4693    if (conf_parser_ctx.pass == 1)
4694 <    ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4694 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4695   }
4696      break;
4697  
4698 <  case 209:
4698 >  case 218:
4699  
4700 < /* Line 1806 of yacc.c  */
4701 < #line 1375 "ircd_parser.y"
4700 > /* Line 1810 of yacc.c  */
4701 > #line 1395 "conf_parser.y"
4702      {
4703    if (conf_parser_ctx.pass == 1)
4704 <    MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4704 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4705   }
4706      break;
4707  
4708 <  case 210:
4708 >  case 219:
4709  
4710 < /* Line 1806 of yacc.c  */
4711 < #line 1381 "ircd_parser.y"
4710 > /* Line 1810 of yacc.c  */
4711 > #line 1401 "conf_parser.y"
4712      {
4713    if (conf_parser_ctx.pass == 1)
4714 <    MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4714 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4715   }
4716      break;
4717  
4718 <  case 211:
4718 >  case 220:
4719  
4720 < /* Line 1806 of yacc.c  */
4721 < #line 1387 "ircd_parser.y"
4720 > /* Line 1810 of yacc.c  */
4721 > #line 1407 "conf_parser.y"
4722      {
4723    if (conf_parser_ctx.pass == 1)
4724 <    MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4724 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4725   }
4726      break;
4727  
4728 <  case 212:
4728 >  case 221:
4729  
4730 < /* Line 1806 of yacc.c  */
4731 < #line 1393 "ircd_parser.y"
4730 > /* Line 1810 of yacc.c  */
4731 > #line 1413 "conf_parser.y"
4732      {
4733    if (conf_parser_ctx.pass == 1)
4734 <    MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4734 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4735   }
4736      break;
4737  
4738 <  case 213:
4738 >  case 222:
4739  
4740 < /* Line 1806 of yacc.c  */
4741 < #line 1399 "ircd_parser.y"
4740 > /* Line 1810 of yacc.c  */
4741 > #line 1419 "conf_parser.y"
4742      {
4743    if (conf_parser_ctx.pass == 1)
4744 <    MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4744 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4745   }
4746      break;
4747  
4748 <  case 214:
4748 >  case 223:
4749  
4750 < /* Line 1806 of yacc.c  */
4751 < #line 1405 "ircd_parser.y"
4750 > /* Line 1810 of yacc.c  */
4751 > #line 1425 "conf_parser.y"
4752      {
4753    if (conf_parser_ctx.pass == 1)
4754 <    CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4754 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4755   }
4756      break;
4757  
4758 <  case 215:
4758 >  case 224:
4759  
4760 < /* Line 1806 of yacc.c  */
4761 < #line 1411 "ircd_parser.y"
4760 > /* Line 1810 of yacc.c  */
4761 > #line 1431 "conf_parser.y"
4762      {
4763    if (conf_parser_ctx.pass == 1)
4764 <    CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4764 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4765   }
4766      break;
4767  
4768 <  case 216:
4768 >  case 225:
4769  
4770 < /* Line 1806 of yacc.c  */
4771 < #line 1417 "ircd_parser.y"
4770 > /* Line 1810 of yacc.c  */
4771 > #line 1437 "conf_parser.y"
4772      {
4773    if (conf_parser_ctx.pass == 1)
4774 <    NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4774 >    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4775   }
4776      break;
4777  
4778 <  case 217:
4778 >  case 226:
4779  
4780 < /* Line 1806 of yacc.c  */
4781 < #line 1426 "ircd_parser.y"
4780 > /* Line 1810 of yacc.c  */
4781 > #line 1446 "conf_parser.y"
4782      {
4783    if (conf_parser_ctx.pass == 2)
4784    {
# Line 4794 | Line 4788 | yyreduce:
4788   }
4789      break;
4790  
4791 <  case 218:
4791 >  case 227:
4792  
4793 < /* Line 1806 of yacc.c  */
4794 < #line 1433 "ircd_parser.y"
4793 > /* Line 1810 of yacc.c  */
4794 > #line 1453 "conf_parser.y"
4795      {
4796    if (conf_parser_ctx.pass == 2)
4797    {
# Line 4807 | Line 4801 | yyreduce:
4801   }
4802      break;
4803  
4804 <  case 219:
4804 >  case 228:
4805  
4806 < /* Line 1806 of yacc.c  */
4807 < #line 1442 "ircd_parser.y"
4806 > /* Line 1810 of yacc.c  */
4807 > #line 1462 "conf_parser.y"
4808      {
4809    listener_flags = 0;
4810   }
4811      break;
4812  
4813 <  case 223:
4813 >  case 232:
4814  
4815 < /* Line 1806 of yacc.c  */
4816 < #line 1448 "ircd_parser.y"
4815 > /* Line 1810 of yacc.c  */
4816 > #line 1468 "conf_parser.y"
4817      {
4818    if (conf_parser_ctx.pass == 2)
4819      listener_flags |= LISTENER_SSL;
4820   }
4821      break;
4822  
4823 <  case 224:
4823 >  case 233:
4824  
4825 < /* Line 1806 of yacc.c  */
4826 < #line 1452 "ircd_parser.y"
4825 > /* Line 1810 of yacc.c  */
4826 > #line 1472 "conf_parser.y"
4827      {
4828    if (conf_parser_ctx.pass == 2)
4829      listener_flags |= LISTENER_HIDDEN;
4830   }
4831      break;
4832  
4833 <  case 225:
4833 >  case 234:
4834  
4835 < /* Line 1806 of yacc.c  */
4836 < #line 1456 "ircd_parser.y"
4835 > /* Line 1810 of yacc.c  */
4836 > #line 1476 "conf_parser.y"
4837      {
4838    if (conf_parser_ctx.pass == 2)
4839      listener_flags |= LISTENER_SERVER;
4840   }
4841      break;
4842  
4843 <  case 233:
4843 >  case 242:
4844  
4845 < /* Line 1806 of yacc.c  */
4846 < #line 1466 "ircd_parser.y"
4845 > /* Line 1810 of yacc.c  */
4846 > #line 1486 "conf_parser.y"
4847      { listener_flags = 0; }
4848      break;
4849  
4850 <  case 237:
4850 >  case 246:
4851  
4852 < /* Line 1806 of yacc.c  */
4853 < #line 1471 "ircd_parser.y"
4852 > /* Line 1810 of yacc.c  */
4853 > #line 1491 "conf_parser.y"
4854      {
4855    if (conf_parser_ctx.pass == 2)
4856    {
# Line 4873 | Line 4867 | yyreduce:
4867   }
4868      break;
4869  
4870 <  case 238:
4870 >  case 247:
4871  
4872 < /* Line 1806 of yacc.c  */
4873 < #line 1485 "ircd_parser.y"
4872 > /* Line 1810 of yacc.c  */
4873 > #line 1505 "conf_parser.y"
4874      {
4875    if (conf_parser_ctx.pass == 2)
4876    {
# Line 4897 | Line 4891 | yyreduce:
4891   }
4892      break;
4893  
4894 <  case 239:
4894 >  case 248:
4895  
4896 < /* Line 1806 of yacc.c  */
4897 < #line 1505 "ircd_parser.y"
4896 > /* Line 1810 of yacc.c  */
4897 > #line 1525 "conf_parser.y"
4898      {
4899    if (conf_parser_ctx.pass == 2)
4900    {
# Line 4910 | Line 4904 | yyreduce:
4904   }
4905      break;
4906  
4907 <  case 240:
4907 >  case 249:
4908  
4909 < /* Line 1806 of yacc.c  */
4910 < #line 1514 "ircd_parser.y"
4909 > /* Line 1810 of yacc.c  */
4910 > #line 1534 "conf_parser.y"
4911      {
4912    if (conf_parser_ctx.pass == 2)
4913    {
# Line 4923 | Line 4917 | yyreduce:
4917   }
4918      break;
4919  
4920 <  case 241:
4920 >  case 250:
4921  
4922 < /* Line 1806 of yacc.c  */
4923 < #line 1526 "ircd_parser.y"
4922 > /* Line 1810 of yacc.c  */
4923 > #line 1546 "conf_parser.y"
4924      {
4925    if (conf_parser_ctx.pass == 2)
4926    {
# Line 4941 | Line 4935 | yyreduce:
4935   }
4936      break;
4937  
4938 <  case 242:
4938 >  case 251:
4939  
4940 < /* Line 1806 of yacc.c  */
4941 < #line 1538 "ircd_parser.y"
4940 > /* Line 1810 of yacc.c  */
4941 > #line 1558 "conf_parser.y"
4942      {
4943    if (conf_parser_ctx.pass == 2)
4944    {
# Line 5002 | Line 4996 | yyreduce:
4996   }
4997      break;
4998  
4999 <  case 254:
4999 >  case 263:
5000  
5001 < /* Line 1806 of yacc.c  */
5002 < #line 1600 "ircd_parser.y"
5001 > /* Line 1810 of yacc.c  */
5002 > #line 1620 "conf_parser.y"
5003      {
5004    if (conf_parser_ctx.pass == 2)
5005    {
# Line 5041 | Line 5035 | yyreduce:
5035   }
5036      break;
5037  
5038 <  case 255:
5038 >  case 264:
5039  
5040 < /* Line 1806 of yacc.c  */
5041 < #line 1637 "ircd_parser.y"
5040 > /* Line 1810 of yacc.c  */
5041 > #line 1655 "conf_parser.y"
5042      {
5043    if (conf_parser_ctx.pass == 2)
5044    {
# Line 5058 | Line 5052 | yyreduce:
5052   }
5053      break;
5054  
5055 <  case 256:
5055 >  case 265:
5056  
5057 < /* Line 1806 of yacc.c  */
5058 < #line 1650 "ircd_parser.y"
5057 > /* Line 1810 of yacc.c  */
5058 > #line 1668 "conf_parser.y"
5059      {
5060    if (conf_parser_ctx.pass == 2)
5061    {
# Line 5071 | Line 5065 | yyreduce:
5065   }
5066      break;
5067  
5068 <  case 257:
5068 >  case 266:
5069  
5070 < /* Line 1806 of yacc.c  */
5071 < #line 1659 "ircd_parser.y"
5070 > /* Line 1810 of yacc.c  */
5071 > #line 1677 "conf_parser.y"
5072      {
5073    if (conf_parser_ctx.pass == 2)
5074    {
# Line 5086 | Line 5080 | yyreduce:
5080   }
5081      break;
5082  
5083 <  case 258:
5083 >  case 267:
5084  
5085 < /* Line 1806 of yacc.c  */
5086 < #line 1670 "ircd_parser.y"
5085 > /* Line 1810 of yacc.c  */
5086 > #line 1688 "conf_parser.y"
5087      {
5088   }
5089      break;
5090  
5091 <  case 262:
5091 >  case 271:
5092  
5093 < /* Line 1806 of yacc.c  */
5094 < #line 1675 "ircd_parser.y"
5093 > /* Line 1810 of yacc.c  */
5094 > #line 1693 "conf_parser.y"
5095      {
5096    if (conf_parser_ctx.pass == 2)
5097      yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5098   }
5099      break;
5100  
5101 <  case 263:
5101 >  case 272:
5102  
5103 < /* Line 1806 of yacc.c  */
5104 < #line 1679 "ircd_parser.y"
5103 > /* Line 1810 of yacc.c  */
5104 > #line 1697 "conf_parser.y"
5105      {
5106    if (conf_parser_ctx.pass == 2)
5107      yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5108   }
5109      break;
5110  
5111 <  case 264:
5111 >  case 273:
5112  
5113 < /* Line 1806 of yacc.c  */
5114 < #line 1683 "ircd_parser.y"
5113 > /* Line 1810 of yacc.c  */
5114 > #line 1701 "conf_parser.y"
5115      {
5116    if (conf_parser_ctx.pass == 2)
5117      yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5118   }
5119      break;
5120  
5121 <  case 265:
5121 >  case 274:
5122  
5123 < /* Line 1806 of yacc.c  */
5124 < #line 1687 "ircd_parser.y"
5123 > /* Line 1810 of yacc.c  */
5124 > #line 1705 "conf_parser.y"
5125      {
5126    if (conf_parser_ctx.pass == 2)
5127      yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5128   }
5129      break;
5130  
5131 <  case 266:
5131 >  case 275:
5132  
5133 < /* Line 1806 of yacc.c  */
5134 < #line 1691 "ircd_parser.y"
5133 > /* Line 1810 of yacc.c  */
5134 > #line 1709 "conf_parser.y"
5135      {
5136    if (conf_parser_ctx.pass == 2)
5137      yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5138   }
5139      break;
5140  
5141 <  case 267:
5141 >  case 276:
5142  
5143 < /* Line 1806 of yacc.c  */
5144 < #line 1695 "ircd_parser.y"
5143 > /* Line 1810 of yacc.c  */
5144 > #line 1713 "conf_parser.y"
5145      {
5146    if (conf_parser_ctx.pass == 2)
5147      yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5148   }
5149      break;
5150  
5151 <  case 268:
5151 >  case 277:
5152  
5153 < /* Line 1806 of yacc.c  */
5154 < #line 1699 "ircd_parser.y"
5153 > /* Line 1810 of yacc.c  */
5154 > #line 1717 "conf_parser.y"
5155      {
5156    if (conf_parser_ctx.pass == 2)
5157      yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5158   }
5159      break;
5160  
5161 <  case 269:
5161 >  case 278:
5162  
5163 < /* Line 1806 of yacc.c  */
5164 < #line 1703 "ircd_parser.y"
5163 > /* Line 1810 of yacc.c  */
5164 > #line 1721 "conf_parser.y"
5165      {
5166    if (conf_parser_ctx.pass == 2)
5167      yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5168   }
5169      break;
5170  
5171 <  case 270:
5171 >  case 279:
5172  
5173 < /* Line 1806 of yacc.c  */
5174 < #line 1707 "ircd_parser.y"
5173 > /* Line 1810 of yacc.c  */
5174 > #line 1725 "conf_parser.y"
5175      {
5176    if (conf_parser_ctx.pass == 2)
5177      yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5178   }
5179      break;
5180  
5181 <  case 271:
5181 >  case 280:
5182  
5183 < /* Line 1806 of yacc.c  */
5184 < #line 1714 "ircd_parser.y"
5183 > /* Line 1810 of yacc.c  */
5184 > #line 1732 "conf_parser.y"
5185      {
5186    if (conf_parser_ctx.pass == 2)
5187    {
# Line 5207 | Line 5201 | yyreduce:
5201   }
5202      break;
5203  
5204 <  case 272:
5204 >  case 281:
5205  
5206 < /* Line 1806 of yacc.c  */
5207 < #line 1733 "ircd_parser.y"
5206 > /* Line 1810 of yacc.c  */
5207 > #line 1751 "conf_parser.y"
5208      {
5209    if (conf_parser_ctx.pass == 2)
5210    {
# Line 5221 | Line 5215 | yyreduce:
5215   }
5216      break;
5217  
5218 <  case 273:
5218 >  case 282:
5219  
5220 < /* Line 1806 of yacc.c  */
5221 < #line 1743 "ircd_parser.y"
5220 > /* Line 1810 of yacc.c  */
5221 > #line 1761 "conf_parser.y"
5222      {
5223    if (conf_parser_ctx.pass == 2)
5224    {
# Line 5234 | Line 5228 | yyreduce:
5228   }
5229      break;
5230  
5231 <  case 274:
5231 >  case 283:
5232  
5233 < /* Line 1806 of yacc.c  */
5234 < #line 1756 "ircd_parser.y"
5233 > /* Line 1810 of yacc.c  */
5234 > #line 1774 "conf_parser.y"
5235      {
5236    if (conf_parser_ctx.pass == 2)
5237    {
# Line 5247 | Line 5241 | yyreduce:
5241   }
5242      break;
5243  
5244 <  case 275:
5244 >  case 284:
5245  
5246 < /* Line 1806 of yacc.c  */
5247 < #line 1763 "ircd_parser.y"
5246 > /* Line 1810 of yacc.c  */
5247 > #line 1781 "conf_parser.y"
5248      {
5249    if (conf_parser_ctx.pass == 2)
5250    {
# Line 5260 | Line 5254 | yyreduce:
5254   }
5255      break;
5256  
5257 <  case 282:
5257 >  case 291:
5258  
5259 < /* Line 1806 of yacc.c  */
5260 < #line 1775 "ircd_parser.y"
5259 > /* Line 1810 of yacc.c  */
5260 > #line 1793 "conf_parser.y"
5261      {
5262    if (conf_parser_ctx.pass == 2)
5263    {
# Line 5273 | Line 5267 | yyreduce:
5267   }
5268      break;
5269  
5270 <  case 283:
5270 >  case 292:
5271  
5272 < /* Line 1806 of yacc.c  */
5273 < #line 1784 "ircd_parser.y"
5272 > /* Line 1810 of yacc.c  */
5273 > #line 1802 "conf_parser.y"
5274      {
5275    if (conf_parser_ctx.pass == 2)
5276    {
# Line 5292 | Line 5286 | yyreduce:
5286   }
5287      break;
5288  
5289 <  case 284:
5289 >  case 293:
5290  
5291 < /* Line 1806 of yacc.c  */
5292 < #line 1799 "ircd_parser.y"
5291 > /* Line 1810 of yacc.c  */
5292 > #line 1817 "conf_parser.y"
5293      {
5294    if (conf_parser_ctx.pass == 2)
5295    {
# Line 5306 | Line 5300 | yyreduce:
5300   }
5301      break;
5302  
5303 <  case 290:
5303 >  case 299:
5304  
5305 < /* Line 1806 of yacc.c  */
5306 < #line 1817 "ircd_parser.y"
5305 > /* Line 1810 of yacc.c  */
5306 > #line 1835 "conf_parser.y"
5307      {
5308    if (conf_parser_ctx.pass == 2)
5309    {
# Line 5322 | Line 5316 | yyreduce:
5316   }
5317      break;
5318  
5319 <  case 291:
5319 >  case 300:
5320  
5321 < /* Line 1806 of yacc.c  */
5322 < #line 1832 "ircd_parser.y"
5321 > /* Line 1810 of yacc.c  */
5322 > #line 1850 "conf_parser.y"
5323      {
5324    if (conf_parser_ctx.pass == 2)
5325    {
# Line 5336 | Line 5330 | yyreduce:
5330   }
5331      break;
5332  
5333 <  case 292:
5333 >  case 301:
5334  
5335 < /* Line 1806 of yacc.c  */
5336 < #line 1840 "ircd_parser.y"
5335 > /* Line 1810 of yacc.c  */
5336 > #line 1858 "conf_parser.y"
5337      {
5338    if (conf_parser_ctx.pass == 2)
5339    {
# Line 5348 | Line 5342 | yyreduce:
5342   }
5343      break;
5344  
5345 <  case 299:
5345 >  case 308:
5346  
5347 < /* Line 1806 of yacc.c  */
5348 < #line 1851 "ircd_parser.y"
5347 > /* Line 1810 of yacc.c  */
5348 > #line 1869 "conf_parser.y"
5349      {
5350    if (conf_parser_ctx.pass == 2)
5351    {
# Line 5361 | Line 5355 | yyreduce:
5355   }
5356      break;
5357  
5358 <  case 300:
5358 >  case 309:
5359  
5360 < /* Line 1806 of yacc.c  */
5361 < #line 1860 "ircd_parser.y"
5360 > /* Line 1810 of yacc.c  */
5361 > #line 1878 "conf_parser.y"
5362      {
5363    if (conf_parser_ctx.pass == 2)
5364    {
# Line 5387 | Line 5381 | yyreduce:
5381   }
5382      break;
5383  
5384 <  case 301:
5384 >  case 310:
5385  
5386 < /* Line 1806 of yacc.c  */
5387 < #line 1882 "ircd_parser.y"
5386 > /* Line 1810 of yacc.c  */
5387 > #line 1900 "conf_parser.y"
5388      {
5389    if (conf_parser_ctx.pass == 2)
5390      yy_match_item->action = 0;
5391   }
5392      break;
5393  
5394 <  case 305:
5394 >  case 314:
5395  
5396 < /* Line 1806 of yacc.c  */
5397 < #line 1889 "ircd_parser.y"
5396 > /* Line 1810 of yacc.c  */
5397 > #line 1907 "conf_parser.y"
5398      {
5399    if (conf_parser_ctx.pass == 2)
5400      yy_match_item->action |= SHARED_KLINE;
5401   }
5402      break;
5403  
5404 <  case 306:
5404 >  case 315:
5405  
5406 < /* Line 1806 of yacc.c  */
5407 < #line 1893 "ircd_parser.y"
5406 > /* Line 1810 of yacc.c  */
5407 > #line 1911 "conf_parser.y"
5408      {
5409    if (conf_parser_ctx.pass == 2)
5410 <    yy_match_item->action |= SHARED_TKLINE;
5410 >    yy_match_item->action |= SHARED_UNKLINE;
5411   }
5412      break;
5413  
5414 <  case 307:
5414 >  case 316:
5415  
5416 < /* Line 1806 of yacc.c  */
5417 < #line 1897 "ircd_parser.y"
5416 > /* Line 1810 of yacc.c  */
5417 > #line 1915 "conf_parser.y"
5418      {
5419    if (conf_parser_ctx.pass == 2)
5420 <    yy_match_item->action |= SHARED_UNKLINE;
5420 >    yy_match_item->action |= SHARED_DLINE;
5421   }
5422      break;
5423  
5424 <  case 308:
5424 >  case 317:
5425  
5426 < /* Line 1806 of yacc.c  */
5427 < #line 1901 "ircd_parser.y"
5426 > /* Line 1810 of yacc.c  */
5427 > #line 1919 "conf_parser.y"
5428      {
5429    if (conf_parser_ctx.pass == 2)
5430 <    yy_match_item->action |= SHARED_XLINE;
5430 >    yy_match_item->action |= SHARED_UNDLINE;
5431   }
5432      break;
5433  
5434 <  case 309:
5434 >  case 318:
5435  
5436 < /* Line 1806 of yacc.c  */
5437 < #line 1905 "ircd_parser.y"
5436 > /* Line 1810 of yacc.c  */
5437 > #line 1923 "conf_parser.y"
5438      {
5439    if (conf_parser_ctx.pass == 2)
5440 <    yy_match_item->action |= SHARED_TXLINE;
5440 >    yy_match_item->action |= SHARED_XLINE;
5441   }
5442      break;
5443  
5444 <  case 310:
5444 >  case 319:
5445  
5446 < /* Line 1806 of yacc.c  */
5447 < #line 1909 "ircd_parser.y"
5446 > /* Line 1810 of yacc.c  */
5447 > #line 1927 "conf_parser.y"
5448      {
5449    if (conf_parser_ctx.pass == 2)
5450      yy_match_item->action |= SHARED_UNXLINE;
5451   }
5452      break;
5453  
5454 <  case 311:
5454 >  case 320:
5455  
5456 < /* Line 1806 of yacc.c  */
5457 < #line 1913 "ircd_parser.y"
5456 > /* Line 1810 of yacc.c  */
5457 > #line 1931 "conf_parser.y"
5458      {
5459    if (conf_parser_ctx.pass == 2)
5460      yy_match_item->action |= SHARED_RESV;
5461   }
5462      break;
5463  
5464 <  case 312:
5464 >  case 321:
5465  
5466 < /* Line 1806 of yacc.c  */
5467 < #line 1917 "ircd_parser.y"
5474 <    {
5475 <  if (conf_parser_ctx.pass == 2)
5476 <    yy_match_item->action |= SHARED_TRESV;
5477 < }
5478 <    break;
5479 <
5480 <  case 313:
5481 <
5482 < /* Line 1806 of yacc.c  */
5483 < #line 1921 "ircd_parser.y"
5466 > /* Line 1810 of yacc.c  */
5467 > #line 1935 "conf_parser.y"
5468      {
5469    if (conf_parser_ctx.pass == 2)
5470      yy_match_item->action |= SHARED_UNRESV;
5471   }
5472      break;
5473  
5474 <  case 314:
5474 >  case 322:
5475  
5476 < /* Line 1806 of yacc.c  */
5477 < #line 1925 "ircd_parser.y"
5476 > /* Line 1810 of yacc.c  */
5477 > #line 1939 "conf_parser.y"
5478      {
5479    if (conf_parser_ctx.pass == 2)
5480      yy_match_item->action |= SHARED_LOCOPS;
5481   }
5482      break;
5483  
5484 <  case 315:
5484 >  case 323:
5485  
5486 < /* Line 1806 of yacc.c  */
5487 < #line 1929 "ircd_parser.y"
5486 > /* Line 1810 of yacc.c  */
5487 > #line 1943 "conf_parser.y"
5488      {
5489    if (conf_parser_ctx.pass == 2)
5490      yy_match_item->action = SHARED_ALL;
5491   }
5492      break;
5493  
5494 <  case 316:
5494 >  case 324:
5495  
5496 < /* Line 1806 of yacc.c  */
5497 < #line 1938 "ircd_parser.y"
5496 > /* Line 1810 of yacc.c  */
5497 > #line 1952 "conf_parser.y"
5498      {
5499    if (conf_parser_ctx.pass == 2)
5500    {
# Line 5520 | Line 5504 | yyreduce:
5504   }
5505      break;
5506  
5507 <  case 317:
5507 >  case 325:
5508  
5509 < /* Line 1806 of yacc.c  */
5510 < #line 1945 "ircd_parser.y"
5509 > /* Line 1810 of yacc.c  */
5510 > #line 1959 "conf_parser.y"
5511      {
5512    if (conf_parser_ctx.pass == 2)
5513    {
# Line 5534 | Line 5518 | yyreduce:
5518   }
5519      break;
5520  
5521 <  case 323:
5521 >  case 331:
5522  
5523 < /* Line 1806 of yacc.c  */
5524 < #line 1958 "ircd_parser.y"
5523 > /* Line 1810 of yacc.c  */
5524 > #line 1972 "conf_parser.y"
5525      {
5526    if (conf_parser_ctx.pass == 2)
5527      DupString(yy_conf->name, yylval.string);
5528   }
5529      break;
5530  
5531 <  case 324:
5531 >  case 332:
5532  
5533 < /* Line 1806 of yacc.c  */
5534 < #line 1964 "ircd_parser.y"
5533 > /* Line 1810 of yacc.c  */
5534 > #line 1978 "conf_parser.y"
5535      {
5536    if (conf_parser_ctx.pass == 2)
5537      yy_conf->flags = 0;
5538   }
5539      break;
5540  
5541 <  case 328:
5541 >  case 336:
5542  
5543 < /* Line 1806 of yacc.c  */
5544 < #line 1971 "ircd_parser.y"
5543 > /* Line 1810 of yacc.c  */
5544 > #line 1985 "conf_parser.y"
5545      {
5546    if (conf_parser_ctx.pass == 2)
5547      yy_conf->flags |= SHARED_KLINE;
5548   }
5549      break;
5550  
5551 <  case 329:
5551 >  case 337:
5552  
5553 < /* Line 1806 of yacc.c  */
5554 < #line 1975 "ircd_parser.y"
5553 > /* Line 1810 of yacc.c  */
5554 > #line 1989 "conf_parser.y"
5555      {
5556    if (conf_parser_ctx.pass == 2)
5557 <    yy_conf->flags |= SHARED_TKLINE;
5557 >    yy_conf->flags |= SHARED_UNKLINE;
5558   }
5559      break;
5560  
5561 <  case 330:
5561 >  case 338:
5562  
5563 < /* Line 1806 of yacc.c  */
5564 < #line 1979 "ircd_parser.y"
5563 > /* Line 1810 of yacc.c  */
5564 > #line 1993 "conf_parser.y"
5565      {
5566    if (conf_parser_ctx.pass == 2)
5567 <    yy_conf->flags |= SHARED_UNKLINE;
5567 >    yy_conf->flags |= SHARED_DLINE;
5568   }
5569      break;
5570  
5571 <  case 331:
5571 >  case 339:
5572  
5573 < /* Line 1806 of yacc.c  */
5574 < #line 1983 "ircd_parser.y"
5573 > /* Line 1810 of yacc.c  */
5574 > #line 1997 "conf_parser.y"
5575      {
5576    if (conf_parser_ctx.pass == 2)
5577 <    yy_conf->flags |= SHARED_XLINE;
5577 >    yy_conf->flags |= SHARED_UNDLINE;
5578   }
5579      break;
5580  
5581 <  case 332:
5581 >  case 340:
5582  
5583 < /* Line 1806 of yacc.c  */
5584 < #line 1987 "ircd_parser.y"
5583 > /* Line 1810 of yacc.c  */
5584 > #line 2001 "conf_parser.y"
5585      {
5586    if (conf_parser_ctx.pass == 2)
5587 <    yy_conf->flags |= SHARED_TXLINE;
5587 >    yy_conf->flags |= SHARED_XLINE;
5588   }
5589      break;
5590  
5591 <  case 333:
5591 >  case 341:
5592  
5593 < /* Line 1806 of yacc.c  */
5594 < #line 1991 "ircd_parser.y"
5593 > /* Line 1810 of yacc.c  */
5594 > #line 2005 "conf_parser.y"
5595      {
5596    if (conf_parser_ctx.pass == 2)
5597      yy_conf->flags |= SHARED_UNXLINE;
5598   }
5599      break;
5600  
5601 <  case 334:
5601 >  case 342:
5602  
5603 < /* Line 1806 of yacc.c  */
5604 < #line 1995 "ircd_parser.y"
5603 > /* Line 1810 of yacc.c  */
5604 > #line 2009 "conf_parser.y"
5605      {
5606    if (conf_parser_ctx.pass == 2)
5607      yy_conf->flags |= SHARED_RESV;
5608   }
5609      break;
5610  
5611 <  case 335:
5628 <
5629 < /* Line 1806 of yacc.c  */
5630 < #line 1999 "ircd_parser.y"
5631 <    {
5632 <  if (conf_parser_ctx.pass == 2)
5633 <    yy_conf->flags |= SHARED_TRESV;
5634 < }
5635 <    break;
5636 <
5637 <  case 336:
5611 >  case 343:
5612  
5613 < /* Line 1806 of yacc.c  */
5614 < #line 2003 "ircd_parser.y"
5613 > /* Line 1810 of yacc.c  */
5614 > #line 2013 "conf_parser.y"
5615      {
5616    if (conf_parser_ctx.pass == 2)
5617      yy_conf->flags |= SHARED_UNRESV;
5618   }
5619      break;
5620  
5621 <  case 337:
5621 >  case 344:
5622  
5623 < /* Line 1806 of yacc.c  */
5624 < #line 2007 "ircd_parser.y"
5623 > /* Line 1810 of yacc.c  */
5624 > #line 2017 "conf_parser.y"
5625      {
5626    if (conf_parser_ctx.pass == 2)
5627      yy_conf->flags |= SHARED_LOCOPS;
5628   }
5629      break;
5630  
5631 <  case 338:
5631 >  case 345:
5632  
5633 < /* Line 1806 of yacc.c  */
5634 < #line 2011 "ircd_parser.y"
5633 > /* Line 1810 of yacc.c  */
5634 > #line 2021 "conf_parser.y"
5635      {
5636    if (conf_parser_ctx.pass == 2)
5637      yy_conf->flags = SHARED_ALL;
5638   }
5639      break;
5640  
5641 <  case 339:
5641 >  case 346:
5642  
5643 < /* Line 1806 of yacc.c  */
5644 < #line 2020 "ircd_parser.y"
5643 > /* Line 1810 of yacc.c  */
5644 > #line 2030 "conf_parser.y"
5645      {
5646    if (conf_parser_ctx.pass == 2)
5647    {
# Line 5685 | Line 5659 | yyreduce:
5659   }
5660      break;
5661  
5662 <  case 340:
5662 >  case 347:
5663  
5664 < /* Line 1806 of yacc.c  */
5665 < #line 2035 "ircd_parser.y"
5664 > /* Line 1810 of yacc.c  */
5665 > #line 2045 "conf_parser.y"
5666      {
5667    if (conf_parser_ctx.pass == 2)
5668    {
5669 <    struct CollectItem *yy_hconf=NULL;
5670 <    struct CollectItem *yy_lconf=NULL;
5671 <    dlink_node *ptr;
5672 <    dlink_node *next_ptr;
5673 < #ifdef HAVE_LIBCRYPTO
5674 <    if (yy_aconf->host &&
5675 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5676 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
5703 < #else /* !HAVE_LIBCRYPTO */
5704 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
5705 <          yy_aconf->passwd && yy_aconf->spasswd)
5706 < #endif /* !HAVE_LIBCRYPTO */
5707 <        {
5708 <          if (conf_add_server(yy_conf, class_name) == -1)
5709 <          {
5710 <            delete_conf_item(yy_conf);
5711 <            yy_conf = NULL;
5712 <            yy_aconf = NULL;
5713 <          }
5714 <        }
5715 <        else
5716 <        {
5717 <          /* Even if yy_conf ->name is NULL
5718 <           * should still unhook any hub/leaf confs still pending
5719 <           */
5720 <          unhook_hub_leaf_confs();
5721 <
5722 <          if (yy_conf->name != NULL)
5723 <          {
5724 < #ifndef HAVE_LIBCRYPTO
5725 <            if (IsConfCryptLink(yy_aconf))
5726 <              yyerror("Ignoring connect block -- no OpenSSL support");
5727 < #else
5728 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
5729 <              yyerror("Ignoring connect block -- missing key");
5730 < #endif
5731 <            if (yy_aconf->host == NULL)
5732 <              yyerror("Ignoring connect block -- missing host");
5733 <            else if (!IsConfCryptLink(yy_aconf) &&
5734 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
5735 <              yyerror("Ignoring connect block -- missing password");
5736 <          }
5737 <
5738 <
5739 <          /* XXX
5740 <           * This fixes a try_connections() core (caused by invalid class_ptr
5741 <           * pointers) reported by metalrock. That's an ugly fix, but there
5742 <           * is currently no better way. The entire config subsystem needs an
5743 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
5744 <           * a doubly linked list immediately without any sanity checks!  -Michael
5745 <           */
5746 <          delete_conf_item(yy_conf);
5747 <
5748 <          yy_aconf = NULL;
5749 <          yy_conf = NULL;
5750 <        }
5751 <
5752 <      /*
5753 <       * yy_conf is still pointing at the server that is having
5754 <       * a connect block built for it. This means, y_aconf->name
5755 <       * points to the actual irc name this server will be known as.
5756 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
5757 <       * given in the link list at yy_hconf. Fill in the HUB confs
5758 <       * from this link list now.
5759 <       */        
5760 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
5669 >    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5670 >    {
5671 >      if (conf_add_server(yy_conf, class_name) == -1)
5672 >        delete_conf_item(yy_conf);
5673 >    }
5674 >    else
5675 >    {
5676 >      if (yy_conf->name != NULL)
5677        {
5678 <        struct ConfItem *new_hub_conf;
5679 <        struct MatchItem *match_item;
5680 <
5681 <        yy_hconf = ptr->data;
5766 <
5767 <        /* yy_conf == NULL is a fatal error for this connect block! */
5768 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5769 <        {
5770 <          new_hub_conf = make_conf_item(HUB_TYPE);
5771 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
5772 <          DupString(new_hub_conf->name, yy_conf->name);
5773 <          if (yy_hconf->user != NULL)
5774 <            DupString(match_item->user, yy_hconf->user);
5775 <          else
5776 <            DupString(match_item->user, "*");
5777 <          if (yy_hconf->host != NULL)
5778 <            DupString(match_item->host, yy_hconf->host);
5779 <          else
5780 <            DupString(match_item->host, "*");
5781 <        }
5782 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
5783 <        free_collect_item(yy_hconf);
5678 >        if (yy_aconf->host == NULL)
5679 >          yyerror("Ignoring connect block -- missing host");
5680 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5681 >          yyerror("Ignoring connect block -- missing password");
5682        }
5683  
5684 <      /* Ditto for the LEAF confs */
5685 <
5686 <      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
5687 <      {
5688 <        struct ConfItem *new_leaf_conf;
5689 <        struct MatchItem *match_item;
5690 <
5691 <        yy_lconf = ptr->data;
5684 >      /* XXX
5685 >       * This fixes a try_connections() core (caused by invalid class_ptr
5686 >       * pointers) reported by metalrock. That's an ugly fix, but there
5687 >       * is currently no better way. The entire config subsystem needs an
5688 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5689 >       * a doubly linked list immediately without any sanity checks!  -Michael
5690 >       */
5691 >      delete_conf_item(yy_conf);
5692 >    }
5693  
5694 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5695 <        {
5696 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
5697 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
5799 <          DupString(new_leaf_conf->name, yy_conf->name);
5800 <          if (yy_lconf->user != NULL)
5801 <            DupString(match_item->user, yy_lconf->user);
5802 <          else
5803 <            DupString(match_item->user, "*");
5804 <          if (yy_lconf->host != NULL)
5805 <            DupString(match_item->host, yy_lconf->host);
5806 <          else
5807 <            DupString(match_item->host, "*");
5808 <        }
5809 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
5810 <        free_collect_item(yy_lconf);
5811 <      }
5812 <      MyFree(class_name);
5813 <      class_name = NULL;
5814 <      yy_conf = NULL;
5815 <      yy_aconf = NULL;
5694 >    MyFree(class_name);
5695 >    class_name = NULL;
5696 >    yy_conf = NULL;
5697 >    yy_aconf = NULL;
5698    }
5699   }
5700      break;
5701  
5702 <  case 358:
5702 >  case 364:
5703  
5704 < /* Line 1806 of yacc.c  */
5705 < #line 2172 "ircd_parser.y"
5704 > /* Line 1810 of yacc.c  */
5705 > #line 2089 "conf_parser.y"
5706      {
5707    if (conf_parser_ctx.pass == 2)
5708    {
5827    if (yy_conf->name != NULL)
5828      yyerror("Multiple connect name entry");
5829
5709      MyFree(yy_conf->name);
5710      DupString(yy_conf->name, yylval.string);
5711    }
5712   }
5713      break;
5714  
5715 <  case 359:
5715 >  case 365:
5716  
5717 < /* Line 1806 of yacc.c  */
5718 < #line 2184 "ircd_parser.y"
5717 > /* Line 1810 of yacc.c  */
5718 > #line 2098 "conf_parser.y"
5719      {
5720    if (conf_parser_ctx.pass == 2)
5721    {
# Line 5846 | Line 5725 | yyreduce:
5725   }
5726      break;
5727  
5728 <  case 360:
5728 >  case 366:
5729  
5730 < /* Line 1806 of yacc.c  */
5731 < #line 2193 "ircd_parser.y"
5730 > /* Line 1810 of yacc.c  */
5731 > #line 2107 "conf_parser.y"
5732      {
5733    if (conf_parser_ctx.pass == 2)
5734    {
# Line 5867 | Line 5746 | yyreduce:
5746      {
5747        assert(res != NULL);
5748  
5749 <      memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5750 <      yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5751 <      yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5749 >      memcpy(&yy_aconf->bind, res->ai_addr, res->ai_addrlen);
5750 >      yy_aconf->bind.ss.ss_family = res->ai_family;
5751 >      yy_aconf->bind.ss_len = res->ai_addrlen;
5752        freeaddrinfo(res);
5753      }
5754    }
5755   }
5756      break;
5757  
5758 <  case 361:
5758 >  case 367:
5759  
5760 < /* Line 1806 of yacc.c  */
5761 < #line 2219 "ircd_parser.y"
5760 > /* Line 1810 of yacc.c  */
5761 > #line 2133 "conf_parser.y"
5762      {
5763    if (conf_parser_ctx.pass == 2)
5764    {
# Line 5898 | Line 5777 | yyreduce:
5777   }
5778      break;
5779  
5780 <  case 362:
5780 >  case 368:
5781  
5782 < /* Line 1806 of yacc.c  */
5783 < #line 2237 "ircd_parser.y"
5782 > /* Line 1810 of yacc.c  */
5783 > #line 2151 "conf_parser.y"
5784      {
5785    if (conf_parser_ctx.pass == 2)
5786    {
# Line 5920 | Line 5799 | yyreduce:
5799   }
5800      break;
5801  
5802 <  case 363:
5802 >  case 369:
5803  
5804 < /* Line 1806 of yacc.c  */
5805 < #line 2255 "ircd_parser.y"
5804 > /* Line 1810 of yacc.c  */
5805 > #line 2169 "conf_parser.y"
5806      {
5807    if (conf_parser_ctx.pass == 2)
5808      yy_aconf->port = (yyvsp[(3) - (4)].number);
5809   }
5810      break;
5811  
5812 <  case 364:
5812 >  case 370:
5813  
5814 < /* Line 1806 of yacc.c  */
5815 < #line 2261 "ircd_parser.y"
5814 > /* Line 1810 of yacc.c  */
5815 > #line 2175 "conf_parser.y"
5816      {
5817    if (conf_parser_ctx.pass == 2)
5818      yy_aconf->aftype = AF_INET;
5819   }
5820      break;
5821  
5822 <  case 365:
5822 >  case 371:
5823  
5824 < /* Line 1806 of yacc.c  */
5825 < #line 2265 "ircd_parser.y"
5824 > /* Line 1810 of yacc.c  */
5825 > #line 2179 "conf_parser.y"
5826      {
5827   #ifdef IPV6
5828    if (conf_parser_ctx.pass == 2)
# Line 5952 | Line 5831 | yyreduce:
5831   }
5832      break;
5833  
5834 <  case 366:
5956 <
5957 < /* Line 1806 of yacc.c  */
5958 < #line 2273 "ircd_parser.y"
5959 <    {
5960 < }
5961 <    break;
5962 <
5963 <  case 370:
5964 <
5965 < /* Line 1806 of yacc.c  */
5966 < #line 2278 "ircd_parser.y"
5967 <    {
5968 <  if (conf_parser_ctx.pass == 2)
5969 < #ifndef HAVE_LIBZ
5970 <    yyerror("Ignoring flags = compressed; -- no zlib support");
5971 < #else
5972 < {
5973 <   SetConfCompressed(yy_aconf);
5974 < }
5975 < #endif
5976 < }
5977 <    break;
5978 <
5979 <  case 371:
5834 >  case 372:
5835  
5836 < /* Line 1806 of yacc.c  */
5837 < #line 2288 "ircd_parser.y"
5836 > /* Line 1810 of yacc.c  */
5837 > #line 2187 "conf_parser.y"
5838      {
5984  if (conf_parser_ctx.pass == 2)
5985    SetConfCryptLink(yy_aconf);
5839   }
5840      break;
5841  
5842 <  case 372:
5842 >  case 376:
5843  
5844 < /* Line 1806 of yacc.c  */
5845 < #line 2292 "ircd_parser.y"
5844 > /* Line 1810 of yacc.c  */
5845 > #line 2192 "conf_parser.y"
5846      {
5847    if (conf_parser_ctx.pass == 2)
5848      SetConfAllowAutoConn(yy_aconf);
5849   }
5850      break;
5851  
5852 <  case 373:
5852 >  case 377:
5853  
5854 < /* Line 1806 of yacc.c  */
5855 < #line 2296 "ircd_parser.y"
5854 > /* Line 1810 of yacc.c  */
5855 > #line 2196 "conf_parser.y"
5856      {
5857    if (conf_parser_ctx.pass == 2)
5858      SetConfAwayBurst(yy_aconf);
5859   }
5860      break;
5861  
5862 <  case 374:
5862 >  case 378:
5863  
5864 < /* Line 1806 of yacc.c  */
5865 < #line 2300 "ircd_parser.y"
5864 > /* Line 1810 of yacc.c  */
5865 > #line 2200 "conf_parser.y"
5866      {
5867    if (conf_parser_ctx.pass == 2)
5868      SetConfTopicBurst(yy_aconf);
5869   }
5870      break;
5871  
5872 <  case 375:
5872 >  case 379:
5873  
5874 < /* Line 1806 of yacc.c  */
5875 < #line 2306 "ircd_parser.y"
5874 > /* Line 1810 of yacc.c  */
5875 > #line 2204 "conf_parser.y"
5876      {
6024 #ifdef HAVE_LIBCRYPTO
5877    if (conf_parser_ctx.pass == 2)
5878 <  {
6027 <    BIO *file;
6028 <
6029 <    if (yy_aconf->rsa_public_key != NULL)
6030 <    {
6031 <      RSA_free(yy_aconf->rsa_public_key);
6032 <      yy_aconf->rsa_public_key = NULL;
6033 <    }
6034 <
6035 <    if (yy_aconf->rsa_public_key_file != NULL)
6036 <    {
6037 <      MyFree(yy_aconf->rsa_public_key_file);
6038 <      yy_aconf->rsa_public_key_file = NULL;
6039 <    }
6040 <
6041 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6042 <
6043 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6044 <    {
6045 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6046 <      break;
6047 <    }
6048 <
6049 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6050 <
6051 <    if (yy_aconf->rsa_public_key == NULL)
6052 <    {
6053 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6054 <      break;
6055 <    }
6056 <      
6057 <    BIO_set_close(file, BIO_CLOSE);
6058 <    BIO_free(file);
6059 <  }
6060 < #endif /* HAVE_LIBCRYPTO */
5878 >    SetConfSSL(yy_aconf);
5879   }
5880      break;
5881  
5882 <  case 376:
5882 >  case 380:
5883  
5884 < /* Line 1806 of yacc.c  */
5885 < #line 2347 "ircd_parser.y"
5884 > /* Line 1810 of yacc.c  */
5885 > #line 2210 "conf_parser.y"
5886      {
5887    if (conf_parser_ctx.pass == 2)
5888    {
# Line 6076 | Line 5894 | yyreduce:
5894   }
5895      break;
5896  
5897 <  case 377:
5897 >  case 381:
5898  
5899 < /* Line 1806 of yacc.c  */
5900 < #line 2358 "ircd_parser.y"
5899 > /* Line 1810 of yacc.c  */
5900 > #line 2221 "conf_parser.y"
5901      {
5902    if (conf_parser_ctx.pass == 2)
5903    {
5904 <    struct CollectItem *yy_tmp;
5904 >    char *mask;
5905  
5906 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5907 <    DupString(yy_tmp->host, yylval.string);
6090 <    DupString(yy_tmp->user, "*");
6091 <    dlinkAdd(yy_tmp, &yy_tmp->node, &hub_conf_list);
5906 >    DupString(mask, yylval.string);
5907 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5908    }
5909   }
5910      break;
5911  
5912 <  case 378:
5912 >  case 382:
5913  
5914 < /* Line 1806 of yacc.c  */
5915 < #line 2371 "ircd_parser.y"
5914 > /* Line 1810 of yacc.c  */
5915 > #line 2232 "conf_parser.y"
5916      {
5917    if (conf_parser_ctx.pass == 2)
5918    {
5919 <    struct CollectItem *yy_tmp;
5919 >    char *mask;
5920  
5921 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5922 <    DupString(yy_tmp->host, yylval.string);
6107 <    DupString(yy_tmp->user, "*");
6108 <    dlinkAdd(yy_tmp, &yy_tmp->node, &leaf_conf_list);
5921 >    DupString(mask, yylval.string);
5922 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5923    }
5924   }
5925      break;
5926  
5927 <  case 379:
5927 >  case 383:
5928  
5929 < /* Line 1806 of yacc.c  */
5930 < #line 2384 "ircd_parser.y"
5929 > /* Line 1810 of yacc.c  */
5930 > #line 2243 "conf_parser.y"
5931      {
5932    if (conf_parser_ctx.pass == 2)
5933    {
# Line 6123 | Line 5937 | yyreduce:
5937   }
5938      break;
5939  
5940 <  case 380:
5940 >  case 384:
5941  
5942 < /* Line 1806 of yacc.c  */
5943 < #line 2393 "ircd_parser.y"
5942 > /* Line 1810 of yacc.c  */
5943 > #line 2252 "conf_parser.y"
5944      {
5945   #ifdef HAVE_LIBCRYPTO
5946    if (conf_parser_ctx.pass == 2)
5947    {
5948 <    struct EncCapability *ecap;
5949 <    const char *cipher_name;
6136 <    int found = 0;
6137 <
6138 <    yy_aconf->cipher_preference = NULL;
6139 <    cipher_name = yylval.string;
6140 <
6141 <    for (ecap = CipherTable; ecap->name; ecap++)
6142 <    {
6143 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6144 <          (ecap->cap & CAP_ENC_MASK))
6145 <      {
6146 <        yy_aconf->cipher_preference = ecap;
6147 <        found = 1;
6148 <        break;
6149 <      }
6150 <    }
6151 <
6152 <    if (!found)
6153 <      yyerror("Invalid cipher");
5948 >    MyFree(yy_aconf->cipher_list);
5949 >    DupString(yy_aconf->cipher_list, yylval.string);
5950    }
5951   #else
5952    if (conf_parser_ctx.pass == 2)
5953 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
5953 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5954   #endif
5955   }
5956      break;
5957  
5958 <  case 381:
5958 >  case 385:
5959  
5960 < /* Line 1806 of yacc.c  */
5961 < #line 2428 "ircd_parser.y"
5960 > /* Line 1810 of yacc.c  */
5961 > #line 2270 "conf_parser.y"
5962      {
5963    if (conf_parser_ctx.pass == 2)
5964    {
# Line 6172 | Line 5968 | yyreduce:
5968   }
5969      break;
5970  
5971 <  case 382:
5971 >  case 386:
5972  
5973 < /* Line 1806 of yacc.c  */
5974 < #line 2435 "ircd_parser.y"
5973 > /* Line 1810 of yacc.c  */
5974 > #line 2277 "conf_parser.y"
5975      {
5976    if (conf_parser_ctx.pass == 2)
5977    {
# Line 6214 | Line 6010 | yyreduce:
6010        }
6011        else
6012        {
6013 +        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
6014 +
6015          yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
6016  
6017          DupString(yy_aconf->user, userbuf);
# Line 6223 | Line 6021 | yyreduce:
6021            DupString(yy_aconf->reason, reasonbuf);
6022          else
6023            DupString(yy_aconf->reason, "No reason");
6024 <        add_conf_by_address(CONF_KILL, yy_aconf);
6024 >        add_conf_by_address(CONF_KLINE, yy_aconf);
6025        }
6026      }
6027  
# Line 6232 | Line 6030 | yyreduce:
6030   }
6031      break;
6032  
6033 <  case 383:
6033 >  case 387:
6034  
6035 < /* Line 1806 of yacc.c  */
6036 < #line 2491 "ircd_parser.y"
6035 > /* Line 1810 of yacc.c  */
6036 > #line 2335 "conf_parser.y"
6037      {
6038   }
6039      break;
6040  
6041 <  case 387:
6041 >  case 391:
6042  
6043 < /* Line 1806 of yacc.c  */
6044 < #line 2496 "ircd_parser.y"
6043 > /* Line 1810 of yacc.c  */
6044 > #line 2340 "conf_parser.y"
6045      {
6046    if (conf_parser_ctx.pass == 2)
6047      regex_ban = 1;
6048   }
6049      break;
6050  
6051 <  case 394:
6051 >  case 398:
6052  
6053 < /* Line 1806 of yacc.c  */
6054 < #line 2505 "ircd_parser.y"
6053 > /* Line 1810 of yacc.c  */
6054 > #line 2349 "conf_parser.y"
6055      {
6056    if (conf_parser_ctx.pass == 2)
6057    {
# Line 6273 | Line 6071 | yyreduce:
6071   }
6072      break;
6073  
6074 <  case 395:
6074 >  case 399:
6075  
6076 < /* Line 1806 of yacc.c  */
6077 < #line 2524 "ircd_parser.y"
6076 > /* Line 1810 of yacc.c  */
6077 > #line 2368 "conf_parser.y"
6078      {
6079    if (conf_parser_ctx.pass == 2)
6080      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6081   }
6082      break;
6083  
6084 <  case 396:
6084 >  case 400:
6085  
6086 < /* Line 1806 of yacc.c  */
6087 < #line 2533 "ircd_parser.y"
6086 > /* Line 1810 of yacc.c  */
6087 > #line 2377 "conf_parser.y"
6088      {
6089    if (conf_parser_ctx.pass == 2)
6090      hostbuf[0] = reasonbuf[0] = '\0';
6091   }
6092      break;
6093  
6094 <  case 397:
6094 >  case 401:
6095  
6096 < /* Line 1806 of yacc.c  */
6097 < #line 2537 "ircd_parser.y"
6096 > /* Line 1810 of yacc.c  */
6097 > #line 2381 "conf_parser.y"
6098      {
6099    if (conf_parser_ctx.pass == 2)
6100    {
6101      if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
6102      {
6103 +      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
6104 +
6105        yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
6106        DupString(yy_aconf->host, hostbuf);
6107  
# Line 6316 | Line 6116 | yyreduce:
6116   }
6117      break;
6118  
6119 <  case 403:
6119 >  case 407:
6120  
6121 < /* Line 1806 of yacc.c  */
6122 < #line 2559 "ircd_parser.y"
6121 > /* Line 1810 of yacc.c  */
6122 > #line 2405 "conf_parser.y"
6123      {
6124    if (conf_parser_ctx.pass == 2)
6125      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
6126   }
6127      break;
6128  
6129 <  case 404:
6129 >  case 408:
6130  
6131 < /* Line 1806 of yacc.c  */
6132 < #line 2565 "ircd_parser.y"
6131 > /* Line 1810 of yacc.c  */
6132 > #line 2411 "conf_parser.y"
6133      {
6134    if (conf_parser_ctx.pass == 2)
6135      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6136   }
6137      break;
6138  
6139 <  case 410:
6139 >  case 414:
6140  
6141 < /* Line 1806 of yacc.c  */
6142 < #line 2579 "ircd_parser.y"
6141 > /* Line 1810 of yacc.c  */
6142 > #line 2425 "conf_parser.y"
6143      {
6144    if (conf_parser_ctx.pass == 2)
6145    {
# Line 6355 | Line 6155 | yyreduce:
6155   }
6156      break;
6157  
6158 <  case 411:
6158 >  case 415:
6159  
6160 < /* Line 1806 of yacc.c  */
6161 < #line 2597 "ircd_parser.y"
6160 > /* Line 1810 of yacc.c  */
6161 > #line 2443 "conf_parser.y"
6162      {
6163    if (conf_parser_ctx.pass == 2)
6164    {
# Line 6368 | Line 6168 | yyreduce:
6168   }
6169      break;
6170  
6171 <  case 412:
6171 >  case 416:
6172  
6173 < /* Line 1806 of yacc.c  */
6174 < #line 2604 "ircd_parser.y"
6173 > /* Line 1810 of yacc.c  */
6174 > #line 2450 "conf_parser.y"
6175      {
6176    if (conf_parser_ctx.pass == 2)
6177    {
# Line 6412 | Line 6212 | yyreduce:
6212   }
6213      break;
6214  
6215 <  case 413:
6215 >  case 417:
6216  
6217 < /* Line 1806 of yacc.c  */
6218 < #line 2644 "ircd_parser.y"
6217 > /* Line 1810 of yacc.c  */
6218 > #line 2490 "conf_parser.y"
6219      {
6220   }
6221      break;
6222  
6223 <  case 417:
6223 >  case 421:
6224  
6225 < /* Line 1806 of yacc.c  */
6226 < #line 2649 "ircd_parser.y"
6225 > /* Line 1810 of yacc.c  */
6226 > #line 2495 "conf_parser.y"
6227      {
6228    if (conf_parser_ctx.pass == 2)
6229      regex_ban = 1;
6230   }
6231      break;
6232  
6233 <  case 424:
6233 >  case 428:
6234  
6235 < /* Line 1806 of yacc.c  */
6236 < #line 2658 "ircd_parser.y"
6235 > /* Line 1810 of yacc.c  */
6236 > #line 2504 "conf_parser.y"
6237      {
6238    if (conf_parser_ctx.pass == 2)
6239      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
6240   }
6241      break;
6242  
6243 <  case 425:
6243 >  case 429:
6244  
6245 < /* Line 1806 of yacc.c  */
6246 < #line 2664 "ircd_parser.y"
6245 > /* Line 1810 of yacc.c  */
6246 > #line 2510 "conf_parser.y"
6247      {
6248    if (conf_parser_ctx.pass == 2)
6249      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6250   }
6251      break;
6252  
6253 <  case 484:
6253 >  case 488:
6254  
6255 < /* Line 1806 of yacc.c  */
6256 < #line 2709 "ircd_parser.y"
6255 > /* Line 1810 of yacc.c  */
6256 > #line 2556 "conf_parser.y"
6257      {
6258    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
6259   }
6260      break;
6261  
6262 <  case 485:
6262 >  case 489:
6263 >
6264 > /* Line 1810 of yacc.c  */
6265 > #line 2561 "conf_parser.y"
6266 >    {
6267 >  if (conf_parser_ctx.pass == 2)
6268 >    ConfigFileEntry.glines = yylval.number;
6269 > }
6270 >    break;
6271 >
6272 >  case 490:
6273 >
6274 > /* Line 1810 of yacc.c  */
6275 > #line 2567 "conf_parser.y"
6276 >    {
6277 >  if (conf_parser_ctx.pass == 2)
6278 >    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
6279 > }
6280 >    break;
6281 >
6282 >  case 491:
6283 >
6284 > /* Line 1810 of yacc.c  */
6285 > #line 2573 "conf_parser.y"
6286 >    {
6287 >  if (conf_parser_ctx.pass == 2)
6288 >    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
6289 > }
6290 >    break;
6291 >
6292 >  case 492:
6293  
6294 < /* Line 1806 of yacc.c  */
6295 < #line 2714 "ircd_parser.y"
6294 > /* Line 1810 of yacc.c  */
6295 > #line 2579 "conf_parser.y"
6296      {
6297    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
6298   }
6299      break;
6300  
6301 <  case 486:
6301 >  case 493:
6302  
6303 < /* Line 1806 of yacc.c  */
6304 < #line 2719 "ircd_parser.y"
6303 > /* Line 1810 of yacc.c  */
6304 > #line 2584 "conf_parser.y"
6305      {
6306    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
6307   }
6308      break;
6309  
6310 <  case 487:
6310 >  case 494:
6311  
6312 < /* Line 1806 of yacc.c  */
6313 < #line 2724 "ircd_parser.y"
6312 > /* Line 1810 of yacc.c  */
6313 > #line 2589 "conf_parser.y"
6314      {
6315    ConfigFileEntry.use_whois_actually = yylval.number;
6316   }
6317      break;
6318  
6319 <  case 488:
6319 >  case 495:
6320  
6321 < /* Line 1806 of yacc.c  */
6322 < #line 2729 "ircd_parser.y"
6321 > /* Line 1810 of yacc.c  */
6322 > #line 2594 "conf_parser.y"
6323      {
6324    GlobalSetOptions.rejecttime = yylval.number;
6325   }
6326      break;
6327  
6328 <  case 489:
6328 >  case 496:
6329  
6330 < /* Line 1806 of yacc.c  */
6331 < #line 2734 "ircd_parser.y"
6330 > /* Line 1810 of yacc.c  */
6331 > #line 2599 "conf_parser.y"
6332      {
6333    ConfigFileEntry.tkline_expire_notices = yylval.number;
6334   }
6335      break;
6336  
6337 <  case 490:
6337 >  case 497:
6338  
6339 < /* Line 1806 of yacc.c  */
6340 < #line 2739 "ircd_parser.y"
6339 > /* Line 1810 of yacc.c  */
6340 > #line 2604 "conf_parser.y"
6341      {
6342    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6343   }
6344      break;
6345  
6346 <  case 491:
6346 >  case 498:
6347  
6348 < /* Line 1806 of yacc.c  */
6349 < #line 2744 "ircd_parser.y"
6348 > /* Line 1810 of yacc.c  */
6349 > #line 2609 "conf_parser.y"
6350      {
6351    ConfigFileEntry.hide_spoof_ips = yylval.number;
6352   }
6353      break;
6354  
6355 <  case 492:
6355 >  case 499:
6356  
6357 < /* Line 1806 of yacc.c  */
6358 < #line 2749 "ircd_parser.y"
6357 > /* Line 1810 of yacc.c  */
6358 > #line 2614 "conf_parser.y"
6359      {
6360    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6361   }
6362      break;
6363  
6364 <  case 493:
6364 >  case 500:
6365  
6366 < /* Line 1806 of yacc.c  */
6367 < #line 2754 "ircd_parser.y"
6366 > /* Line 1810 of yacc.c  */
6367 > #line 2619 "conf_parser.y"
6368      {
6369    ConfigFileEntry.disable_remote = yylval.number;
6370   }
6371      break;
6372  
6373 <  case 494:
6373 >  case 501:
6374  
6375 < /* Line 1806 of yacc.c  */
6376 < #line 2759 "ircd_parser.y"
6375 > /* Line 1810 of yacc.c  */
6376 > #line 2624 "conf_parser.y"
6377      {
6378    ConfigFileEntry.failed_oper_notice = yylval.number;
6379   }
6380      break;
6381  
6382 <  case 495:
6382 >  case 502:
6383  
6384 < /* Line 1806 of yacc.c  */
6385 < #line 2764 "ircd_parser.y"
6384 > /* Line 1810 of yacc.c  */
6385 > #line 2629 "conf_parser.y"
6386      {
6387    ConfigFileEntry.anti_nick_flood = yylval.number;
6388   }
6389      break;
6390  
6391 <  case 496:
6391 >  case 503:
6392  
6393 < /* Line 1806 of yacc.c  */
6394 < #line 2769 "ircd_parser.y"
6393 > /* Line 1810 of yacc.c  */
6394 > #line 2634 "conf_parser.y"
6395      {
6396    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6397   }
6398      break;
6399  
6400 <  case 497:
6400 >  case 504:
6401  
6402 < /* Line 1806 of yacc.c  */
6403 < #line 2774 "ircd_parser.y"
6402 > /* Line 1810 of yacc.c  */
6403 > #line 2639 "conf_parser.y"
6404      {
6405    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6406   }
6407      break;
6408  
6409 <  case 498:
6409 >  case 505:
6410  
6411 < /* Line 1806 of yacc.c  */
6412 < #line 2779 "ircd_parser.y"
6411 > /* Line 1810 of yacc.c  */
6412 > #line 2644 "conf_parser.y"
6413      {
6414    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6415   }
6416      break;
6417  
6418 <  case 499:
6418 >  case 506:
6419  
6420 < /* Line 1806 of yacc.c  */
6421 < #line 2784 "ircd_parser.y"
6420 > /* Line 1810 of yacc.c  */
6421 > #line 2649 "conf_parser.y"
6422      {
6423    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6424   }
6425      break;
6426  
6427 <  case 500:
6427 >  case 507:
6428  
6429 < /* Line 1806 of yacc.c  */
6430 < #line 2789 "ircd_parser.y"
6429 > /* Line 1810 of yacc.c  */
6430 > #line 2654 "conf_parser.y"
6431      {
6432    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6433   }
6434      break;
6435  
6436 <  case 501:
6436 >  case 508:
6437  
6438 < /* Line 1806 of yacc.c  */
6439 < #line 2794 "ircd_parser.y"
6438 > /* Line 1810 of yacc.c  */
6439 > #line 2659 "conf_parser.y"
6440      {
6441    if (conf_parser_ctx.pass == 2)
6442      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6443   }
6444      break;
6445  
6446 <  case 502:
6446 >  case 509:
6447  
6448 < /* Line 1806 of yacc.c  */
6449 < #line 2800 "ircd_parser.y"
6448 > /* Line 1810 of yacc.c  */
6449 > #line 2665 "conf_parser.y"
6450      {
6451    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6452    {
# Line 6628 | Line 6458 | yyreduce:
6458   }
6459      break;
6460  
6461 <  case 503:
6461 >  case 510:
6462  
6463 < /* Line 1806 of yacc.c  */
6464 < #line 2811 "ircd_parser.y"
6463 > /* Line 1810 of yacc.c  */
6464 > #line 2676 "conf_parser.y"
6465      {
6466    ConfigFileEntry.kline_with_reason = yylval.number;
6467   }
6468      break;
6469  
6470 <  case 504:
6470 >  case 511:
6471  
6472 < /* Line 1806 of yacc.c  */
6473 < #line 2816 "ircd_parser.y"
6472 > /* Line 1810 of yacc.c  */
6473 > #line 2681 "conf_parser.y"
6474      {
6475    if (conf_parser_ctx.pass == 2)
6476    {
# Line 6650 | Line 6480 | yyreduce:
6480   }
6481      break;
6482  
6483 <  case 505:
6483 >  case 512:
6484  
6485 < /* Line 1806 of yacc.c  */
6486 < #line 2825 "ircd_parser.y"
6485 > /* Line 1810 of yacc.c  */
6486 > #line 2690 "conf_parser.y"
6487      {
6488    ConfigFileEntry.invisible_on_connect = yylval.number;
6489   }
6490      break;
6491  
6492 <  case 506:
6492 >  case 513:
6493  
6494 < /* Line 1806 of yacc.c  */
6495 < #line 2830 "ircd_parser.y"
6494 > /* Line 1810 of yacc.c  */
6495 > #line 2695 "conf_parser.y"
6496      {
6497    ConfigFileEntry.warn_no_nline = yylval.number;
6498   }
6499      break;
6500  
6501 <  case 507:
6501 >  case 514:
6502  
6503 < /* Line 1806 of yacc.c  */
6504 < #line 2835 "ircd_parser.y"
6503 > /* Line 1810 of yacc.c  */
6504 > #line 2700 "conf_parser.y"
6505      {
6506    ConfigFileEntry.stats_e_disabled = yylval.number;
6507   }
6508      break;
6509  
6510 <  case 508:
6510 >  case 515:
6511  
6512 < /* Line 1806 of yacc.c  */
6513 < #line 2840 "ircd_parser.y"
6512 > /* Line 1810 of yacc.c  */
6513 > #line 2705 "conf_parser.y"
6514      {
6515    ConfigFileEntry.stats_o_oper_only = yylval.number;
6516   }
6517      break;
6518  
6519 <  case 509:
6519 >  case 516:
6520  
6521 < /* Line 1806 of yacc.c  */
6522 < #line 2845 "ircd_parser.y"
6521 > /* Line 1810 of yacc.c  */
6522 > #line 2710 "conf_parser.y"
6523      {
6524    ConfigFileEntry.stats_P_oper_only = yylval.number;
6525   }
6526      break;
6527  
6528 <  case 510:
6528 >  case 517:
6529  
6530 < /* Line 1806 of yacc.c  */
6531 < #line 2850 "ircd_parser.y"
6530 > /* Line 1810 of yacc.c  */
6531 > #line 2715 "conf_parser.y"
6532      {
6533    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6534   }
6535      break;
6536  
6537 <  case 511:
6537 >  case 518:
6538  
6539 < /* Line 1806 of yacc.c  */
6540 < #line 2853 "ircd_parser.y"
6539 > /* Line 1810 of yacc.c  */
6540 > #line 2718 "conf_parser.y"
6541      {
6542    ConfigFileEntry.stats_k_oper_only = 1;
6543   }
6544      break;
6545  
6546 <  case 512:
6546 >  case 519:
6547  
6548 < /* Line 1806 of yacc.c  */
6549 < #line 2858 "ircd_parser.y"
6548 > /* Line 1810 of yacc.c  */
6549 > #line 2723 "conf_parser.y"
6550      {
6551    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6552   }
6553      break;
6554  
6555 <  case 513:
6555 >  case 520:
6556  
6557 < /* Line 1806 of yacc.c  */
6558 < #line 2861 "ircd_parser.y"
6557 > /* Line 1810 of yacc.c  */
6558 > #line 2726 "conf_parser.y"
6559      {
6560    ConfigFileEntry.stats_i_oper_only = 1;
6561   }
6562      break;
6563  
6564 <  case 514:
6564 >  case 521:
6565  
6566 < /* Line 1806 of yacc.c  */
6567 < #line 2866 "ircd_parser.y"
6566 > /* Line 1810 of yacc.c  */
6567 > #line 2731 "conf_parser.y"
6568      {
6569    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6570   }
6571      break;
6572  
6573 <  case 515:
6573 >  case 522:
6574  
6575 < /* Line 1806 of yacc.c  */
6576 < #line 2871 "ircd_parser.y"
6575 > /* Line 1810 of yacc.c  */
6576 > #line 2736 "conf_parser.y"
6577      {
6578    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6579   }
6580      break;
6581  
6582 <  case 516:
6582 >  case 523:
6583  
6584 < /* Line 1806 of yacc.c  */
6585 < #line 2876 "ircd_parser.y"
6584 > /* Line 1810 of yacc.c  */
6585 > #line 2741 "conf_parser.y"
6586      {
6587    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6588   }
6589      break;
6590  
6591 <  case 517:
6591 >  case 524:
6592  
6593 < /* Line 1806 of yacc.c  */
6594 < #line 2881 "ircd_parser.y"
6593 > /* Line 1810 of yacc.c  */
6594 > #line 2746 "conf_parser.y"
6595      {
6596    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6597   }
6598      break;
6599  
6600 <  case 518:
6600 >  case 525:
6601  
6602 < /* Line 1806 of yacc.c  */
6603 < #line 2886 "ircd_parser.y"
6602 > /* Line 1810 of yacc.c  */
6603 > #line 2751 "conf_parser.y"
6604      {
6605    ConfigFileEntry.short_motd = yylval.number;
6606   }
6607      break;
6608  
6609 <  case 519:
6609 >  case 526:
6610  
6611 < /* Line 1806 of yacc.c  */
6612 < #line 2891 "ircd_parser.y"
6611 > /* Line 1810 of yacc.c  */
6612 > #line 2756 "conf_parser.y"
6613      {
6614    ConfigFileEntry.no_oper_flood = yylval.number;
6615   }
6616      break;
6617  
6618 <  case 520:
6618 >  case 527:
6619  
6620 < /* Line 1806 of yacc.c  */
6621 < #line 2896 "ircd_parser.y"
6620 > /* Line 1810 of yacc.c  */
6621 > #line 2761 "conf_parser.y"
6622      {
6623    ConfigFileEntry.true_no_oper_flood = yylval.number;
6624   }
6625      break;
6626  
6627 <  case 521:
6627 >  case 528:
6628  
6629 < /* Line 1806 of yacc.c  */
6630 < #line 2901 "ircd_parser.y"
6629 > /* Line 1810 of yacc.c  */
6630 > #line 2766 "conf_parser.y"
6631      {
6632    ConfigFileEntry.oper_pass_resv = yylval.number;
6633   }
6634      break;
6635  
6636 <  case 522:
6636 >  case 529:
6637  
6638 < /* Line 1806 of yacc.c  */
6639 < #line 2906 "ircd_parser.y"
6638 > /* Line 1810 of yacc.c  */
6639 > #line 2771 "conf_parser.y"
6640      {
6641    if (conf_parser_ctx.pass == 2)
6642    {
# Line 6818 | Line 6648 | yyreduce:
6648   }
6649      break;
6650  
6651 <  case 523:
6651 >  case 530:
6652  
6653 < /* Line 1806 of yacc.c  */
6654 < #line 2917 "ircd_parser.y"
6653 > /* Line 1810 of yacc.c  */
6654 > #line 2782 "conf_parser.y"
6655      {
6656    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6657   }
6658      break;
6659  
6660 <  case 524:
6660 >  case 531:
6661  
6662 < /* Line 1806 of yacc.c  */
6663 < #line 2922 "ircd_parser.y"
6662 > /* Line 1810 of yacc.c  */
6663 > #line 2787 "conf_parser.y"
6664      {
6665    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6666   }
6667      break;
6668  
6669 <  case 525:
6840 <
6841 < /* Line 1806 of yacc.c  */
6842 < #line 2927 "ircd_parser.y"
6843 <    {
6844 <  if (conf_parser_ctx.pass == 2)
6845 <  {
6846 <    MyFree(ConfigFileEntry.servlink_path);
6847 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
6848 <  }
6849 < }
6850 <    break;
6851 <
6852 <  case 526:
6853 <
6854 < /* Line 1806 of yacc.c  */
6855 < #line 2936 "ircd_parser.y"
6856 <    {
6857 < #ifdef HAVE_LIBCRYPTO
6858 <  if (conf_parser_ctx.pass == 2)
6859 <  {
6860 <    struct EncCapability *ecap;
6861 <    const char *cipher_name;
6862 <    int found = 0;
6863 <
6864 <    ConfigFileEntry.default_cipher_preference = NULL;
6865 <    cipher_name = yylval.string;
6866 <
6867 <    for (ecap = CipherTable; ecap->name; ecap++)
6868 <    {
6869 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6870 <          (ecap->cap & CAP_ENC_MASK))
6871 <      {
6872 <        ConfigFileEntry.default_cipher_preference = ecap;
6873 <        found = 1;
6874 <        break;
6875 <      }
6876 <    }
6877 <
6878 <    if (!found)
6879 <      yyerror("Invalid cipher");
6880 <  }
6881 < #else
6882 <  if (conf_parser_ctx.pass == 2)
6883 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
6884 < #endif
6885 < }
6886 <    break;
6887 <
6888 <  case 527:
6889 <
6890 < /* Line 1806 of yacc.c  */
6891 < #line 2968 "ircd_parser.y"
6892 <    {
6893 <  if (conf_parser_ctx.pass == 2)
6894 <  {
6895 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
6896 < #ifndef HAVE_LIBZ
6897 <    yyerror("Ignoring compression_level -- no zlib support");
6898 < #else
6899 <    if ((ConfigFileEntry.compression_level < 1) ||
6900 <        (ConfigFileEntry.compression_level > 9))
6901 <    {
6902 <      yyerror("Ignoring invalid compression_level, using default");
6903 <      ConfigFileEntry.compression_level = 0;
6904 <    }
6905 < #endif
6906 <  }
6907 < }
6908 <    break;
6909 <
6910 <  case 528:
6669 >  case 532:
6670  
6671 < /* Line 1806 of yacc.c  */
6672 < #line 2986 "ircd_parser.y"
6671 > /* Line 1810 of yacc.c  */
6672 > #line 2792 "conf_parser.y"
6673      {
6674    ConfigFileEntry.use_egd = yylval.number;
6675   }
6676      break;
6677  
6678 <  case 529:
6678 >  case 533:
6679  
6680 < /* Line 1806 of yacc.c  */
6681 < #line 2991 "ircd_parser.y"
6680 > /* Line 1810 of yacc.c  */
6681 > #line 2797 "conf_parser.y"
6682      {
6683    if (conf_parser_ctx.pass == 2)
6684    {
# Line 6929 | Line 6688 | yyreduce:
6688   }
6689      break;
6690  
6691 <  case 530:
6691 >  case 534:
6692  
6693 < /* Line 1806 of yacc.c  */
6694 < #line 3000 "ircd_parser.y"
6693 > /* Line 1810 of yacc.c  */
6694 > #line 2806 "conf_parser.y"
6695      {
6696    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6697    {
# Line 6942 | Line 6701 | yyreduce:
6701   }
6702      break;
6703  
6704 <  case 531:
6704 >  case 535:
6705  
6706 < /* Line 1806 of yacc.c  */
6707 < #line 3009 "ircd_parser.y"
6706 > /* Line 1810 of yacc.c  */
6707 > #line 2815 "conf_parser.y"
6708      {
6709    ConfigFileEntry.ping_cookie = yylval.number;
6710   }
6711      break;
6712  
6713 <  case 532:
6713 >  case 536:
6714  
6715 < /* Line 1806 of yacc.c  */
6716 < #line 3014 "ircd_parser.y"
6715 > /* Line 1810 of yacc.c  */
6716 > #line 2820 "conf_parser.y"
6717      {
6718    ConfigFileEntry.disable_auth = yylval.number;
6719   }
6720      break;
6721  
6722 <  case 533:
6722 >  case 537:
6723  
6724 < /* Line 1806 of yacc.c  */
6725 < #line 3019 "ircd_parser.y"
6724 > /* Line 1810 of yacc.c  */
6725 > #line 2825 "conf_parser.y"
6726      {
6727    ConfigFileEntry.throttle_time = yylval.number;
6728   }
6729      break;
6730  
6731 <  case 534:
6731 >  case 538:
6732  
6733 < /* Line 1806 of yacc.c  */
6734 < #line 3024 "ircd_parser.y"
6733 > /* Line 1810 of yacc.c  */
6734 > #line 2830 "conf_parser.y"
6735      {
6736    ConfigFileEntry.oper_umodes = 0;
6737   }
6738      break;
6739  
6740 <  case 538:
6740 >  case 542:
6741  
6742 < /* Line 1806 of yacc.c  */
6743 < #line 3030 "ircd_parser.y"
6742 > /* Line 1810 of yacc.c  */
6743 > #line 2836 "conf_parser.y"
6744      {
6745    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6746   }
6747      break;
6748  
6749 <  case 539:
6749 >  case 543:
6750  
6751 < /* Line 1806 of yacc.c  */
6752 < #line 3033 "ircd_parser.y"
6751 > /* Line 1810 of yacc.c  */
6752 > #line 2839 "conf_parser.y"
6753      {
6754    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6755   }
6756      break;
6757  
6758 <  case 540:
6758 >  case 544:
6759  
6760 < /* Line 1806 of yacc.c  */
6761 < #line 3036 "ircd_parser.y"
6760 > /* Line 1810 of yacc.c  */
6761 > #line 2842 "conf_parser.y"
6762      {
6763    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6764   }
6765      break;
6766  
6767 <  case 541:
6767 >  case 545:
6768  
6769 < /* Line 1806 of yacc.c  */
6770 < #line 3039 "ircd_parser.y"
6769 > /* Line 1810 of yacc.c  */
6770 > #line 2845 "conf_parser.y"
6771      {
6772    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6773   }
6774      break;
6775  
6776 <  case 542:
6776 >  case 546:
6777  
6778 < /* Line 1806 of yacc.c  */
6779 < #line 3042 "ircd_parser.y"
6778 > /* Line 1810 of yacc.c  */
6779 > #line 2848 "conf_parser.y"
6780      {
6781    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6782   }
6783      break;
6784  
6785 <  case 543:
6785 >  case 547:
6786  
6787 < /* Line 1806 of yacc.c  */
6788 < #line 3045 "ircd_parser.y"
6787 > /* Line 1810 of yacc.c  */
6788 > #line 2851 "conf_parser.y"
6789      {
6790    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6791   }
6792      break;
6793  
6794 <  case 544:
6794 >  case 548:
6795  
6796 < /* Line 1806 of yacc.c  */
6797 < #line 3048 "ircd_parser.y"
6796 > /* Line 1810 of yacc.c  */
6797 > #line 2854 "conf_parser.y"
6798      {
6799    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6800   }
6801      break;
6802  
6803 <  case 545:
6803 >  case 549:
6804  
6805 < /* Line 1806 of yacc.c  */
6806 < #line 3051 "ircd_parser.y"
6805 > /* Line 1810 of yacc.c  */
6806 > #line 2857 "conf_parser.y"
6807      {
6808    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6809   }
6810      break;
6811  
6812 <  case 546:
6812 >  case 550:
6813  
6814 < /* Line 1806 of yacc.c  */
6815 < #line 3054 "ircd_parser.y"
6814 > /* Line 1810 of yacc.c  */
6815 > #line 2860 "conf_parser.y"
6816      {
6817    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6818   }
6819      break;
6820  
6821 <  case 547:
6821 >  case 551:
6822  
6823 < /* Line 1806 of yacc.c  */
6824 < #line 3057 "ircd_parser.y"
6823 > /* Line 1810 of yacc.c  */
6824 > #line 2863 "conf_parser.y"
6825      {
6826    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6827   }
6828      break;
6829  
6830 <  case 548:
6830 >  case 552:
6831  
6832 < /* Line 1806 of yacc.c  */
6833 < #line 3060 "ircd_parser.y"
6832 > /* Line 1810 of yacc.c  */
6833 > #line 2866 "conf_parser.y"
6834      {
6835    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6836   }
6837      break;
6838  
6839 <  case 549:
6839 >  case 553:
6840  
6841 < /* Line 1806 of yacc.c  */
6842 < #line 3063 "ircd_parser.y"
6841 > /* Line 1810 of yacc.c  */
6842 > #line 2869 "conf_parser.y"
6843      {
6844    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6845   }
6846      break;
6847  
6848 <  case 550:
6848 >  case 554:
6849  
6850 < /* Line 1806 of yacc.c  */
6851 < #line 3066 "ircd_parser.y"
6850 > /* Line 1810 of yacc.c  */
6851 > #line 2872 "conf_parser.y"
6852      {
6853    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6854   }
6855      break;
6856  
6857 <  case 551:
6857 >  case 555:
6858  
6859 < /* Line 1806 of yacc.c  */
6860 < #line 3069 "ircd_parser.y"
6859 > /* Line 1810 of yacc.c  */
6860 > #line 2875 "conf_parser.y"
6861      {
6862    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6863   }
6864      break;
6865  
6866 <  case 552:
6866 >  case 556:
6867  
6868 < /* Line 1806 of yacc.c  */
6869 < #line 3072 "ircd_parser.y"
6868 > /* Line 1810 of yacc.c  */
6869 > #line 2878 "conf_parser.y"
6870      {
6871    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6872   }
6873      break;
6874  
6875 <  case 553:
6875 >  case 557:
6876  
6877 < /* Line 1806 of yacc.c  */
6878 < #line 3075 "ircd_parser.y"
6877 > /* Line 1810 of yacc.c  */
6878 > #line 2881 "conf_parser.y"
6879      {
6880    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6881   }
6882      break;
6883  
6884 <  case 554:
6884 >  case 558:
6885  
6886 < /* Line 1806 of yacc.c  */
6887 < #line 3078 "ircd_parser.y"
6886 > /* Line 1810 of yacc.c  */
6887 > #line 2884 "conf_parser.y"
6888      {
6889    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6890   }
6891      break;
6892  
6893 <  case 555:
6893 >  case 559:
6894  
6895 < /* Line 1806 of yacc.c  */
6896 < #line 3081 "ircd_parser.y"
6895 > /* Line 1810 of yacc.c  */
6896 > #line 2887 "conf_parser.y"
6897      {
6898    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6899   }
6900      break;
6901  
6902 <  case 556:
6902 >  case 560:
6903  
6904 < /* Line 1806 of yacc.c  */
6905 < #line 3084 "ircd_parser.y"
6904 > /* Line 1810 of yacc.c  */
6905 > #line 2890 "conf_parser.y"
6906      {
6907    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6908   }
6909      break;
6910  
6911 <  case 557:
6911 >  case 561:
6912  
6913 < /* Line 1806 of yacc.c  */
6914 < #line 3087 "ircd_parser.y"
6913 > /* Line 1810 of yacc.c  */
6914 > #line 2893 "conf_parser.y"
6915      {
6916    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6917   }
6918      break;
6919  
6920 <  case 558:
6920 >  case 562:
6921  
6922 < /* Line 1806 of yacc.c  */
6923 < #line 3092 "ircd_parser.y"
6922 > /* Line 1810 of yacc.c  */
6923 > #line 2898 "conf_parser.y"
6924      {
6925    ConfigFileEntry.oper_only_umodes = 0;
6926   }
6927      break;
6928  
6929 <  case 562:
6929 >  case 566:
6930  
6931 < /* Line 1806 of yacc.c  */
6932 < #line 3098 "ircd_parser.y"
6931 > /* Line 1810 of yacc.c  */
6932 > #line 2904 "conf_parser.y"
6933      {
6934    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6935   }
6936      break;
6937  
6938 <  case 563:
6938 >  case 567:
6939  
6940 < /* Line 1806 of yacc.c  */
6941 < #line 3101 "ircd_parser.y"
6940 > /* Line 1810 of yacc.c  */
6941 > #line 2907 "conf_parser.y"
6942      {
6943    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6944   }
6945      break;
6946  
6947 <  case 564:
6947 >  case 568:
6948  
6949 < /* Line 1806 of yacc.c  */
6950 < #line 3104 "ircd_parser.y"
6949 > /* Line 1810 of yacc.c  */
6950 > #line 2910 "conf_parser.y"
6951      {
6952    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6953   }
6954      break;
6955  
6956 <  case 565:
6956 >  case 569:
6957  
6958 < /* Line 1806 of yacc.c  */
6959 < #line 3107 "ircd_parser.y"
6958 > /* Line 1810 of yacc.c  */
6959 > #line 2913 "conf_parser.y"
6960      {
6961    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6962   }
6963      break;
6964  
6965 <  case 566:
6965 >  case 570:
6966  
6967 < /* Line 1806 of yacc.c  */
6968 < #line 3110 "ircd_parser.y"
6967 > /* Line 1810 of yacc.c  */
6968 > #line 2916 "conf_parser.y"
6969      {
6970    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6971   }
6972      break;
6973  
6974 <  case 567:
6974 >  case 571:
6975  
6976 < /* Line 1806 of yacc.c  */
6977 < #line 3113 "ircd_parser.y"
6976 > /* Line 1810 of yacc.c  */
6977 > #line 2919 "conf_parser.y"
6978      {
6979    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6980   }
6981      break;
6982  
6983 <  case 568:
6983 >  case 572:
6984  
6985 < /* Line 1806 of yacc.c  */
6986 < #line 3116 "ircd_parser.y"
6985 > /* Line 1810 of yacc.c  */
6986 > #line 2922 "conf_parser.y"
6987      {
6988    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6989   }
6990      break;
6991  
6992 <  case 569:
6992 >  case 573:
6993  
6994 < /* Line 1806 of yacc.c  */
6995 < #line 3119 "ircd_parser.y"
6994 > /* Line 1810 of yacc.c  */
6995 > #line 2925 "conf_parser.y"
6996      {
6997    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6998   }
6999      break;
7000  
7001 <  case 570:
7001 >  case 574:
7002  
7003 < /* Line 1806 of yacc.c  */
7004 < #line 3122 "ircd_parser.y"
7003 > /* Line 1810 of yacc.c  */
7004 > #line 2928 "conf_parser.y"
7005      {
7006    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
7007   }
7008      break;
7009  
7010 <  case 571:
7010 >  case 575:
7011  
7012 < /* Line 1806 of yacc.c  */
7013 < #line 3125 "ircd_parser.y"
7012 > /* Line 1810 of yacc.c  */
7013 > #line 2931 "conf_parser.y"
7014      {
7015    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
7016   }
7017      break;
7018  
7019 <  case 572:
7019 >  case 576:
7020  
7021 < /* Line 1806 of yacc.c  */
7022 < #line 3128 "ircd_parser.y"
7021 > /* Line 1810 of yacc.c  */
7022 > #line 2934 "conf_parser.y"
7023      {
7024    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
7025   }
7026      break;
7027  
7028 <  case 573:
7028 >  case 577:
7029  
7030 < /* Line 1806 of yacc.c  */
7031 < #line 3131 "ircd_parser.y"
7030 > /* Line 1810 of yacc.c  */
7031 > #line 2937 "conf_parser.y"
7032      {
7033    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
7034   }
7035      break;
7036  
7037 <  case 574:
7037 >  case 578:
7038  
7039 < /* Line 1806 of yacc.c  */
7040 < #line 3134 "ircd_parser.y"
7039 > /* Line 1810 of yacc.c  */
7040 > #line 2940 "conf_parser.y"
7041      {
7042    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
7043   }
7044      break;
7045  
7046 <  case 575:
7046 >  case 579:
7047  
7048 < /* Line 1806 of yacc.c  */
7049 < #line 3137 "ircd_parser.y"
7048 > /* Line 1810 of yacc.c  */
7049 > #line 2943 "conf_parser.y"
7050      {
7051    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
7052   }
7053      break;
7054  
7055 <  case 576:
7055 >  case 580:
7056  
7057 < /* Line 1806 of yacc.c  */
7058 < #line 3140 "ircd_parser.y"
7057 > /* Line 1810 of yacc.c  */
7058 > #line 2946 "conf_parser.y"
7059      {
7060    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
7061   }
7062      break;
7063  
7064 <  case 577:
7064 >  case 581:
7065  
7066 < /* Line 1806 of yacc.c  */
7067 < #line 3143 "ircd_parser.y"
7066 > /* Line 1810 of yacc.c  */
7067 > #line 2949 "conf_parser.y"
7068      {
7069    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
7070   }
7071      break;
7072  
7073 <  case 578:
7073 >  case 582:
7074  
7075 < /* Line 1806 of yacc.c  */
7076 < #line 3146 "ircd_parser.y"
7075 > /* Line 1810 of yacc.c  */
7076 > #line 2952 "conf_parser.y"
7077      {
7078    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
7079   }
7080      break;
7081  
7082 <  case 579:
7082 >  case 583:
7083  
7084 < /* Line 1806 of yacc.c  */
7085 < #line 3149 "ircd_parser.y"
7084 > /* Line 1810 of yacc.c  */
7085 > #line 2955 "conf_parser.y"
7086      {
7087    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
7088   }
7089      break;
7090  
7091 <  case 580:
7091 >  case 584:
7092  
7093 < /* Line 1806 of yacc.c  */
7094 < #line 3152 "ircd_parser.y"
7093 > /* Line 1810 of yacc.c  */
7094 > #line 2958 "conf_parser.y"
7095      {
7096    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
7097   }
7098      break;
7099  
7100 <  case 581:
7100 >  case 585:
7101  
7102 < /* Line 1806 of yacc.c  */
7103 < #line 3155 "ircd_parser.y"
7102 > /* Line 1810 of yacc.c  */
7103 > #line 2961 "conf_parser.y"
7104      {
7105    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
7106   }
7107      break;
7108  
7109 <  case 582:
7109 >  case 586:
7110  
7111 < /* Line 1806 of yacc.c  */
7112 < #line 3160 "ircd_parser.y"
7111 > /* Line 1810 of yacc.c  */
7112 > #line 2966 "conf_parser.y"
7113      {
7114    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
7115   }
7116      break;
7117  
7118 <  case 583:
7118 >  case 587:
7119  
7120 < /* Line 1806 of yacc.c  */
7121 < #line 3165 "ircd_parser.y"
7120 > /* Line 1810 of yacc.c  */
7121 > #line 2971 "conf_parser.y"
7122      {
7123    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
7124   }
7125      break;
7126  
7127 <  case 584:
7127 >  case 588:
7128  
7129 < /* Line 1806 of yacc.c  */
7130 < #line 3170 "ircd_parser.y"
7129 > /* Line 1810 of yacc.c  */
7130 > #line 2976 "conf_parser.y"
7131      {
7132    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
7133   }
7134      break;
7135  
7136 <  case 585:
7136 >  case 589:
7137  
7138 < /* Line 1806 of yacc.c  */
7139 < #line 3175 "ircd_parser.y"
7138 > /* Line 1810 of yacc.c  */
7139 > #line 2981 "conf_parser.y"
7140      {
7141    ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7142   }
7143      break;
7144  
7386  case 586:
7387
7388 /* Line 1806 of yacc.c  */
7389 #line 3184 "ircd_parser.y"
7390    {
7391  if (conf_parser_ctx.pass == 2)
7392  {
7393    yy_conf = make_conf_item(GDENY_TYPE);
7394    yy_aconf = map_to_conf(yy_conf);
7395  }
7396 }
7397    break;
7398
7399  case 587:
7400
7401 /* Line 1806 of yacc.c  */
7402 #line 3191 "ircd_parser.y"
7403    {
7404  if (conf_parser_ctx.pass == 2)
7405  {
7406    /*
7407     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
7408     * end we will have one extra, so we should free it.
7409     */
7410    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7411    {
7412      delete_conf_item(yy_conf);
7413      yy_conf = NULL;
7414      yy_aconf = NULL;
7415    }
7416  }
7417 }
7418    break;
7419
7420  case 597:
7421
7422 /* Line 1806 of yacc.c  */
7423 #line 3217 "ircd_parser.y"
7424    {
7425  if (conf_parser_ctx.pass == 2)
7426    ConfigFileEntry.glines = yylval.number;
7427 }
7428    break;
7429
7430  case 598:
7431
7432 /* Line 1806 of yacc.c  */
7433 #line 3223 "ircd_parser.y"
7434    {
7435  if (conf_parser_ctx.pass == 2)
7436    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7437 }
7438    break;
7439
7440  case 599:
7441
7442 /* Line 1806 of yacc.c  */
7443 #line 3229 "ircd_parser.y"
7444    {
7445  if (conf_parser_ctx.pass == 2)
7446    ConfigFileEntry.gline_logging = 0;
7447 }
7448    break;
7449
7450  case 603:
7451
7452 /* Line 1806 of yacc.c  */
7453 #line 3235 "ircd_parser.y"
7454    {
7455  if (conf_parser_ctx.pass == 2)
7456    ConfigFileEntry.gline_logging |= GDENY_REJECT;
7457 }
7458    break;
7459
7460  case 604:
7461
7462 /* Line 1806 of yacc.c  */
7463 #line 3239 "ircd_parser.y"
7464    {
7465  if (conf_parser_ctx.pass == 2)
7466    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7467 }
7468    break;
7469
7470  case 605:
7471
7472 /* Line 1806 of yacc.c  */
7473 #line 3245 "ircd_parser.y"
7474    {
7475  if (conf_parser_ctx.pass == 2)
7476  {
7477    struct split_nuh_item nuh;
7478
7479    nuh.nuhmask  = yylval.string;
7480    nuh.nickptr  = NULL;
7481    nuh.userptr  = userbuf;
7482    nuh.hostptr  = hostbuf;
7483
7484    nuh.nicksize = 0;
7485    nuh.usersize = sizeof(userbuf);
7486    nuh.hostsize = sizeof(hostbuf);
7487
7488    split_nuh(&nuh);
7489
7490    if (yy_aconf->user == NULL)
7491    {
7492      DupString(yy_aconf->user, userbuf);
7493      DupString(yy_aconf->host, hostbuf);
7494    }
7495    else
7496    {
7497      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
7498
7499      DupString(yy_tmp->user, userbuf);
7500      DupString(yy_tmp->host, hostbuf);
7501
7502      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
7503    }
7504  }
7505 }
7506    break;
7507
7508  case 606:
7509
7510 /* Line 1806 of yacc.c  */
7511 #line 3279 "ircd_parser.y"
7512    {
7513  if (conf_parser_ctx.pass == 2)  
7514  {
7515    MyFree(yy_conf->name);
7516    DupString(yy_conf->name, yylval.string);
7517  }
7518 }
7519    break;
7520
7521  case 607:
7522
7523 /* Line 1806 of yacc.c  */
7524 #line 3288 "ircd_parser.y"
7525    {
7526  if (conf_parser_ctx.pass == 2)
7527    yy_aconf->flags = 0;
7528 }
7529    break;
7530
7531  case 608:
7532
7533 /* Line 1806 of yacc.c  */
7534 #line 3292 "ircd_parser.y"
7535    {
7536  if (conf_parser_ctx.pass == 2)
7537  {
7538    struct CollectItem *yy_tmp = NULL;
7539    dlink_node *ptr, *next_ptr;
7540
7541    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
7542    {
7543      struct AccessItem *new_aconf;
7544      struct ConfItem *new_conf;
7545
7546      yy_tmp = ptr->data;
7547      new_conf = make_conf_item(GDENY_TYPE);
7548      new_aconf = map_to_conf(new_conf);
7549
7550      new_aconf->flags = yy_aconf->flags;
7551
7552      if (yy_conf->name != NULL)
7553        DupString(new_conf->name, yy_conf->name);
7554      else
7555        DupString(new_conf->name, "*");
7556      if (yy_aconf->user != NULL)
7557         DupString(new_aconf->user, yy_tmp->user);
7558      else  
7559        DupString(new_aconf->user, "*");
7560      if (yy_aconf->host != NULL)
7561        DupString(new_aconf->host, yy_tmp->host);
7562      else
7563        DupString(new_aconf->host, "*");
7564
7565      dlinkDelete(&yy_tmp->node, &col_conf_list);
7566    }
7567
7568    /*
7569     * In case someone has fed us with more than one action= after user/name
7570     * which would leak memory  -Michael
7571     */
7572    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7573      delete_conf_item(yy_conf);
7574
7575    yy_conf = make_conf_item(GDENY_TYPE);
7576    yy_aconf = map_to_conf(yy_conf);
7577  }
7578 }
7579    break;
7580
7581  case 611:
7582
7583 /* Line 1806 of yacc.c  */
7584 #line 3339 "ircd_parser.y"
7585    {
7586  if (conf_parser_ctx.pass == 2)
7587    yy_aconf->flags |= GDENY_REJECT;
7588 }
7589    break;
7590
7145    case 612:
7146  
7147 < /* Line 1806 of yacc.c  */
7148 < #line 3343 "ircd_parser.y"
7595 <    {
7596 <  if (conf_parser_ctx.pass == 2)
7597 <    yy_aconf->flags |= GDENY_BLOCK;
7598 < }
7599 <    break;
7600 <
7601 <  case 635:
7602 <
7603 < /* Line 1806 of yacc.c  */
7604 < #line 3367 "ircd_parser.y"
7147 > /* Line 1810 of yacc.c  */
7148 > #line 3005 "conf_parser.y"
7149      {
7150    ConfigChannel.disable_fake_channels = yylval.number;
7151   }
7152      break;
7153  
7154 <  case 636:
7154 >  case 613:
7155  
7156 < /* Line 1806 of yacc.c  */
7157 < #line 3372 "ircd_parser.y"
7156 > /* Line 1810 of yacc.c  */
7157 > #line 3010 "conf_parser.y"
7158      {
7159    ConfigChannel.restrict_channels = yylval.number;
7160   }
7161      break;
7162  
7163 <  case 637:
7163 >  case 614:
7164  
7165 < /* Line 1806 of yacc.c  */
7166 < #line 3377 "ircd_parser.y"
7165 > /* Line 1810 of yacc.c  */
7166 > #line 3015 "conf_parser.y"
7167      {
7168    ConfigChannel.disable_local_channels = yylval.number;
7169   }
7170      break;
7171  
7172 <  case 638:
7172 >  case 615:
7173  
7174 < /* Line 1806 of yacc.c  */
7175 < #line 3382 "ircd_parser.y"
7174 > /* Line 1810 of yacc.c  */
7175 > #line 3020 "conf_parser.y"
7176      {
7177    ConfigChannel.use_except = yylval.number;
7178   }
7179      break;
7180  
7181 <  case 639:
7181 >  case 616:
7182  
7183 < /* Line 1806 of yacc.c  */
7184 < #line 3387 "ircd_parser.y"
7183 > /* Line 1810 of yacc.c  */
7184 > #line 3025 "conf_parser.y"
7185      {
7186    ConfigChannel.use_invex = yylval.number;
7187   }
7188      break;
7189  
7190 <  case 640:
7190 >  case 617:
7191  
7192 < /* Line 1806 of yacc.c  */
7193 < #line 3392 "ircd_parser.y"
7192 > /* Line 1810 of yacc.c  */
7193 > #line 3030 "conf_parser.y"
7194      {
7195    ConfigChannel.use_knock = yylval.number;
7196   }
7197      break;
7198  
7199 <  case 641:
7199 >  case 618:
7200  
7201 < /* Line 1806 of yacc.c  */
7202 < #line 3397 "ircd_parser.y"
7201 > /* Line 1810 of yacc.c  */
7202 > #line 3035 "conf_parser.y"
7203      {
7204    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
7205   }
7206      break;
7207  
7208 <  case 642:
7208 >  case 619:
7209  
7210 < /* Line 1806 of yacc.c  */
7211 < #line 3402 "ircd_parser.y"
7210 > /* Line 1810 of yacc.c  */
7211 > #line 3040 "conf_parser.y"
7212      {
7213    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
7214   }
7215      break;
7216  
7217 <  case 643:
7217 >  case 620:
7218  
7219 < /* Line 1806 of yacc.c  */
7220 < #line 3407 "ircd_parser.y"
7219 > /* Line 1810 of yacc.c  */
7220 > #line 3045 "conf_parser.y"
7221      {
7222    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
7223   }
7224      break;
7225  
7226 <  case 644:
7226 >  case 621:
7227  
7228 < /* Line 1806 of yacc.c  */
7229 < #line 3412 "ircd_parser.y"
7228 > /* Line 1810 of yacc.c  */
7229 > #line 3050 "conf_parser.y"
7230 >    {
7231 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
7232 > }
7233 >    break;
7234 >
7235 >  case 622:
7236 >
7237 > /* Line 1810 of yacc.c  */
7238 > #line 3055 "conf_parser.y"
7239      {
7240    ConfigChannel.quiet_on_ban = yylval.number;
7241   }
7242      break;
7243  
7244 <  case 645:
7244 >  case 623:
7245  
7246 < /* Line 1806 of yacc.c  */
7247 < #line 3417 "ircd_parser.y"
7246 > /* Line 1810 of yacc.c  */
7247 > #line 3060 "conf_parser.y"
7248      {
7249    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
7250   }
7251      break;
7252  
7253 <  case 646:
7253 >  case 624:
7254  
7255 < /* Line 1806 of yacc.c  */
7256 < #line 3422 "ircd_parser.y"
7255 > /* Line 1810 of yacc.c  */
7256 > #line 3065 "conf_parser.y"
7257      {
7258    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
7259   }
7260      break;
7261  
7262 <  case 647:
7262 >  case 625:
7263  
7264 < /* Line 1806 of yacc.c  */
7265 < #line 3427 "ircd_parser.y"
7264 > /* Line 1810 of yacc.c  */
7265 > #line 3070 "conf_parser.y"
7266      {
7267    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
7268   }
7269      break;
7270  
7271 <  case 648:
7271 >  case 626:
7272  
7273 < /* Line 1806 of yacc.c  */
7274 < #line 3432 "ircd_parser.y"
7273 > /* Line 1810 of yacc.c  */
7274 > #line 3075 "conf_parser.y"
7275      {
7276    ConfigChannel.no_create_on_split = yylval.number;
7277   }
7278      break;
7279  
7280 <  case 649:
7280 >  case 627:
7281  
7282 < /* Line 1806 of yacc.c  */
7283 < #line 3437 "ircd_parser.y"
7282 > /* Line 1810 of yacc.c  */
7283 > #line 3080 "conf_parser.y"
7284      {
7285    ConfigChannel.no_join_on_split = yylval.number;
7286   }
7287      break;
7288  
7289 <  case 650:
7289 >  case 628:
7290  
7291 < /* Line 1806 of yacc.c  */
7292 < #line 3442 "ircd_parser.y"
7740 <    {
7741 <  ConfigChannel.burst_topicwho = yylval.number;
7742 < }
7743 <    break;
7744 <
7745 <  case 651:
7746 <
7747 < /* Line 1806 of yacc.c  */
7748 < #line 3447 "ircd_parser.y"
7291 > /* Line 1810 of yacc.c  */
7292 > #line 3085 "conf_parser.y"
7293      {
7294    GlobalSetOptions.joinfloodcount = yylval.number;
7295   }
7296      break;
7297  
7298 <  case 652:
7298 >  case 629:
7299  
7300 < /* Line 1806 of yacc.c  */
7301 < #line 3452 "ircd_parser.y"
7300 > /* Line 1810 of yacc.c  */
7301 > #line 3090 "conf_parser.y"
7302      {
7303    GlobalSetOptions.joinfloodtime = yylval.number;
7304   }
7305      break;
7306  
7307 <  case 664:
7307 >  case 641:
7308  
7309 < /* Line 1806 of yacc.c  */
7310 < #line 3471 "ircd_parser.y"
7309 > /* Line 1810 of yacc.c  */
7310 > #line 3109 "conf_parser.y"
7311      {
7312    if (conf_parser_ctx.pass == 2)
7313      ConfigServerHide.flatten_links = yylval.number;
7314   }
7315      break;
7316  
7317 <  case 665:
7317 >  case 642:
7318  
7319 < /* Line 1806 of yacc.c  */
7320 < #line 3477 "ircd_parser.y"
7319 > /* Line 1810 of yacc.c  */
7320 > #line 3115 "conf_parser.y"
7321      {
7322    if (conf_parser_ctx.pass == 2)
7323      ConfigServerHide.hide_servers = yylval.number;
7324   }
7325      break;
7326  
7327 <  case 666:
7327 >  case 643:
7328  
7329 < /* Line 1806 of yacc.c  */
7330 < #line 3483 "ircd_parser.y"
7329 > /* Line 1810 of yacc.c  */
7330 > #line 3121 "conf_parser.y"
7331      {
7332    if (conf_parser_ctx.pass == 2)
7333    {
# Line 7793 | Line 7337 | yyreduce:
7337   }
7338      break;
7339  
7340 <  case 667:
7340 >  case 644:
7341  
7342 < /* Line 1806 of yacc.c  */
7343 < #line 3492 "ircd_parser.y"
7342 > /* Line 1810 of yacc.c  */
7343 > #line 3130 "conf_parser.y"
7344      {
7345    if (conf_parser_ctx.pass == 2)
7346    {
# Line 7811 | Line 7355 | yyreduce:
7355   }
7356      break;
7357  
7358 <  case 668:
7358 >  case 645:
7359  
7360 < /* Line 1806 of yacc.c  */
7361 < #line 3506 "ircd_parser.y"
7360 > /* Line 1810 of yacc.c  */
7361 > #line 3144 "conf_parser.y"
7362      {
7363    if (conf_parser_ctx.pass == 2)
7364      ConfigServerHide.hidden = yylval.number;
7365   }
7366      break;
7367  
7368 <  case 669:
7368 >  case 646:
7369  
7370 < /* Line 1806 of yacc.c  */
7371 < #line 3512 "ircd_parser.y"
7370 > /* Line 1810 of yacc.c  */
7371 > #line 3150 "conf_parser.y"
7372      {
7373    if (conf_parser_ctx.pass == 2)
7374      ConfigServerHide.disable_hidden = yylval.number;
7375   }
7376      break;
7377  
7378 <  case 670:
7378 >  case 647:
7379  
7380 < /* Line 1806 of yacc.c  */
7381 < #line 3518 "ircd_parser.y"
7380 > /* Line 1810 of yacc.c  */
7381 > #line 3156 "conf_parser.y"
7382      {
7383    if (conf_parser_ctx.pass == 2)
7384      ConfigServerHide.hide_server_ips = yylval.number;
# Line 7843 | Line 7387 | yyreduce:
7387  
7388  
7389  
7390 < /* Line 1806 of yacc.c  */
7391 < #line 7848 "ircd_parser.c"
7390 > /* Line 1810 of yacc.c  */
7391 > #line 7392 "conf_parser.c"
7392        default: break;
7393      }
7394    /* User semantic actions sometimes alter yychar, and that requires
# Line 8031 | Line 7575 | yyabortlab:
7575    yyresult = 1;
7576    goto yyreturn;
7577  
7578 < #if !defined(yyoverflow) || YYERROR_VERBOSE
7578 > #if !defined yyoverflow || YYERROR_VERBOSE
7579   /*-------------------------------------------------.
7580   | yyexhaustedlab -- memory exhaustion comes here.  |
7581   `-------------------------------------------------*/

Diff Legend

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