ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/branches/8.2.x/src/conf_parser.c
(Generate patch)

Comparing:
ircd-hybrid-7.3/src/ircd_parser.c (file contents), Revision 1121 by michael, Sun Jan 9 11:03:03 2011 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1383 by michael, Tue May 1 11:18:22 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.4.3.  */
1 > /* A Bison parser, made by GNU Bison 2.5.  */
2  
3 < /* Skeleton implementation for Bison's Yacc-like parsers in C
3 > /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
6 <   2009, 2010 Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2011 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 45 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.4.3"
47 > #define YYBISON_VERSION "2.5"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 66 | Line 65
65  
66   /* Copy the first part of user declarations.  */
67  
68 < /* Line 189 of yacc.c  */
69 < #line 25 "ircd_parser.y"
68 > /* Line 268 of yacc.c  */
69 > #line 25 "conf_parser.y"
70  
71  
72   #define YY_NO_UNPUT
# Line 78 | 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"
86 #include "irc_getaddrinfo.h"
85   #include "sprintf_irc.h"
86   #include "memory.h"
87   #include "modules.h"
# Line 99 | 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 109 | 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 };
112 static dlink_list hub_conf_list  = { NULL, NULL, 0 };
113 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];
116   static char hostbuf[IRCD_BUFSIZE];
117   static char reasonbuf[REASONLEN + 1];
118   static char gecos_name[REALLEN * 4];
119 <
119 > static char lfile[IRCD_BUFSIZE];
120 > static unsigned int ltype = 0;
121 > static unsigned int lsize = 0;
122   static char *resv_reason = NULL;
123   static char *listener_address = NULL;
123 static int not_atom = 0;
124  
125   struct CollectItem
126   {
# Line 150 | Line 150 | free_collect_item(struct CollectItem *it
150    MyFree(item);
151   }
152  
153 static void
154 unhook_hub_leaf_confs(void)
155 {
156  dlink_node *ptr;
157  dlink_node *next_ptr;
158  struct CollectItem *yy_hconf;
159  struct CollectItem *yy_lconf;
153  
161  DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
162  {
163    yy_hconf = ptr->data;
164    dlinkDelete(&yy_hconf->node, &hub_conf_list);
165    free_collect_item(yy_hconf);
166  }
154  
155 <  DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
156 <  {
170 <    yy_lconf = ptr->data;
171 <    dlinkDelete(&yy_lconf->node, &leaf_conf_list);
172 <    free_collect_item(yy_lconf);
173 <  }
174 < }
175 <
176 <
177 <
178 < /* Line 189 of yacc.c  */
179 < #line 180 "ircd_parser.c"
155 > /* Line 268 of yacc.c  */
156 > #line 157 "conf_parser.c"
157  
158   /* Enabling traces.  */
159   #ifndef YYDEBUG
# Line 221 | Line 198 | unhook_hub_leaf_confs(void)
198       TBYTES = 273,
199       CALLER_ID_WAIT = 274,
200       CAN_FLOOD = 275,
201 <     CAN_IDLE = 276,
202 <     CHANNEL = 277,
203 <     CIDR_BITLEN_IPV4 = 278,
204 <     CIDR_BITLEN_IPV6 = 279,
205 <     CIPHER_PREFERENCE = 280,
206 <     CLASS = 281,
207 <     COMPRESSED = 282,
208 <     COMPRESSION_LEVEL = 283,
209 <     CONNECT = 284,
210 <     CONNECTFREQ = 285,
211 <     CRYPTLINK = 286,
212 <     DEFAULT_CIPHER_PREFERENCE = 287,
213 <     DEFAULT_FLOODCOUNT = 288,
214 <     DEFAULT_SPLIT_SERVER_COUNT = 289,
215 <     DEFAULT_SPLIT_USER_COUNT = 290,
216 <     DENY = 291,
217 <     DESCRIPTION = 292,
218 <     DIE = 293,
219 <     DISABLE_AUTH = 294,
220 <     DISABLE_FAKE_CHANNELS = 295,
221 <     DISABLE_HIDDEN = 296,
222 <     DISABLE_LOCAL_CHANNELS = 297,
223 <     DISABLE_REMOTE_COMMANDS = 298,
224 <     DOTS_IN_IDENT = 299,
225 <     DURATION = 300,
226 <     EGDPOOL_PATH = 301,
227 <     EMAIL = 302,
228 <     ENABLE = 303,
229 <     ENCRYPTED = 304,
230 <     EXCEED_LIMIT = 305,
231 <     EXEMPT = 306,
232 <     FAILED_OPER_NOTICE = 307,
233 <     IRCD_FLAGS = 308,
234 <     FLATTEN_LINKS = 309,
235 <     FFAILED_OPERLOG = 310,
236 <     FKILLLOG = 311,
237 <     FKLINELOG = 312,
238 <     FGLINELOG = 313,
239 <     FIOERRLOG = 314,
240 <     FOPERLOG = 315,
241 <     FOPERSPYLOG = 316,
242 <     FUSERLOG = 317,
243 <     GECOS = 318,
244 <     GENERAL = 319,
245 <     GLINE = 320,
246 <     GLINES = 321,
247 <     GLINE_EXEMPT = 322,
248 <     GLINE_LOG = 323,
249 <     GLINE_TIME = 324,
250 <     GLINE_MIN_CIDR = 325,
251 <     GLINE_MIN_CIDR6 = 326,
252 <     GLOBAL_KILL = 327,
253 <     IRCD_AUTH = 328,
254 <     NEED_IDENT = 329,
255 <     HAVENT_READ_CONF = 330,
256 <     HIDDEN = 331,
257 <     HIDDEN_ADMIN = 332,
258 <     HIDDEN_NAME = 333,
259 <     HIDDEN_OPER = 334,
260 <     HIDE_SERVER_IPS = 335,
261 <     HIDE_SERVERS = 336,
262 <     HIDE_SPOOF_IPS = 337,
263 <     HOST = 338,
264 <     HUB = 339,
265 <     HUB_MASK = 340,
266 <     IDLETIME = 341,
267 <     IGNORE_BOGUS_TS = 342,
268 <     INVISIBLE_ON_CONNECT = 343,
269 <     IP = 344,
270 <     KILL = 345,
271 <     KILL_CHASE_TIME_LIMIT = 346,
272 <     KLINE = 347,
273 <     KLINE_EXEMPT = 348,
274 <     KLINE_REASON = 349,
275 <     KLINE_WITH_REASON = 350,
276 <     KNOCK_DELAY = 351,
277 <     KNOCK_DELAY_CHANNEL = 352,
278 <     LEAF_MASK = 353,
279 <     LINKS_DELAY = 354,
280 <     LISTEN = 355,
281 <     T_LOG = 356,
282 <     LOGGING = 357,
283 <     LOG_LEVEL = 358,
284 <     MAX_ACCEPT = 359,
285 <     MAX_BANS = 360,
286 <     MAX_CHANS_PER_USER = 361,
287 <     MAX_GLOBAL = 362,
288 <     MAX_IDENT = 363,
289 <     MAX_LOCAL = 364,
290 <     MAX_NICK_CHANGES = 365,
291 <     MAX_NICK_TIME = 366,
292 <     MAX_NUMBER = 367,
293 <     MAX_TARGETS = 368,
294 <     MAX_WATCH = 369,
295 <     MESSAGE_LOCALE = 370,
296 <     MIN_NONWILDCARD = 371,
297 <     MIN_NONWILDCARD_SIMPLE = 372,
298 <     MODULE = 373,
299 <     MODULES = 374,
300 <     NAME = 375,
301 <     NEED_PASSWORD = 376,
302 <     NETWORK_DESC = 377,
303 <     NETWORK_NAME = 378,
304 <     NICK = 379,
305 <     NICK_CHANGES = 380,
306 <     NO_CREATE_ON_SPLIT = 381,
307 <     NO_JOIN_ON_SPLIT = 382,
308 <     NO_OPER_FLOOD = 383,
309 <     NO_TILDE = 384,
310 <     NOT = 385,
311 <     NUMBER = 386,
312 <     NUMBER_PER_IDENT = 387,
313 <     NUMBER_PER_CIDR = 388,
314 <     NUMBER_PER_IP = 389,
315 <     NUMBER_PER_IP_GLOBAL = 390,
316 <     OPERATOR = 391,
317 <     OPERS_BYPASS_CALLERID = 392,
318 <     OPER_LOG = 393,
319 <     OPER_ONLY_UMODES = 394,
320 <     OPER_PASS_RESV = 395,
321 <     OPER_SPY_T = 396,
322 <     OPER_UMODES = 397,
323 <     JOIN_FLOOD_COUNT = 398,
324 <     JOIN_FLOOD_TIME = 399,
325 <     PACE_WAIT = 400,
326 <     PACE_WAIT_SIMPLE = 401,
327 <     PASSWORD = 402,
328 <     PATH = 403,
329 <     PING_COOKIE = 404,
330 <     PING_TIME = 405,
331 <     PING_WARNING = 406,
332 <     PORT = 407,
333 <     QSTRING = 408,
334 <     QUIET_ON_BAN = 409,
335 <     REASON = 410,
336 <     REDIRPORT = 411,
337 <     REDIRSERV = 412,
338 <     REGEX_T = 413,
339 <     REHASH = 414,
340 <     TREJECT_HOLD_TIME = 415,
341 <     REMOTE = 416,
342 <     REMOTEBAN = 417,
343 <     RESTRICT_CHANNELS = 418,
344 <     RESTRICTED = 419,
345 <     RSA_PRIVATE_KEY_FILE = 420,
346 <     RSA_PUBLIC_KEY_FILE = 421,
347 <     SSL_CERTIFICATE_FILE = 422,
348 <     T_SSL_CONNECTION_METHOD = 423,
349 <     T_SSLV3 = 424,
350 <     T_TLSV1 = 425,
351 <     RESV = 426,
352 <     RESV_EXEMPT = 427,
353 <     SECONDS = 428,
354 <     MINUTES = 429,
355 <     HOURS = 430,
356 <     DAYS = 431,
357 <     WEEKS = 432,
358 <     SENDQ = 433,
359 <     SEND_PASSWORD = 434,
360 <     SERVERHIDE = 435,
361 <     SERVERINFO = 436,
362 <     SERVLINK_PATH = 437,
363 <     IRCD_SID = 438,
364 <     TKLINE_EXPIRE_NOTICES = 439,
365 <     T_SHARED = 440,
366 <     T_CLUSTER = 441,
367 <     TYPE = 442,
368 <     SHORT_MOTD = 443,
369 <     SILENT = 444,
370 <     SPOOF = 445,
371 <     SPOOF_NOTICE = 446,
372 <     STATS_E_DISABLED = 447,
373 <     STATS_I_OPER_ONLY = 448,
374 <     STATS_K_OPER_ONLY = 449,
375 <     STATS_O_OPER_ONLY = 450,
376 <     STATS_P_OPER_ONLY = 451,
377 <     TBOOL = 452,
378 <     TMASKED = 453,
379 <     T_REJECT = 454,
380 <     TS_MAX_DELTA = 455,
381 <     TS_WARN_DELTA = 456,
382 <     TWODOTS = 457,
383 <     T_ALL = 458,
384 <     T_BOTS = 459,
385 <     T_SOFTCALLERID = 460,
386 <     T_CALLERID = 461,
387 <     T_CCONN = 462,
388 <     T_CCONN_FULL = 463,
389 <     T_CLIENT_FLOOD = 464,
390 <     T_DEAF = 465,
391 <     T_DEBUG = 466,
392 <     T_DRONE = 467,
393 <     T_EXTERNAL = 468,
394 <     T_FULL = 469,
395 <     T_INVISIBLE = 470,
396 <     T_IPV4 = 471,
397 <     T_IPV6 = 472,
398 <     T_LOCOPS = 473,
399 <     T_LOGPATH = 474,
400 <     T_L_CRIT = 475,
401 <     T_L_DEBUG = 476,
402 <     T_L_ERROR = 477,
403 <     T_L_INFO = 478,
404 <     T_L_NOTICE = 479,
405 <     T_L_TRACE = 480,
406 <     T_L_WARN = 481,
407 <     T_MAX_CLIENTS = 482,
408 <     T_NCHANGE = 483,
409 <     T_OPERWALL = 484,
410 <     T_REJ = 485,
411 <     T_SERVER = 486,
412 <     T_SERVNOTICE = 487,
413 <     T_SKILL = 488,
414 <     T_SPY = 489,
415 <     T_SSL = 490,
416 <     T_UMODES = 491,
417 <     T_UNAUTH = 492,
418 <     T_UNRESV = 493,
419 <     T_UNXLINE = 494,
420 <     T_WALLOP = 495,
444 <     THROTTLE_TIME = 496,
445 <     TOPICBURST = 497,
446 <     TRUE_NO_OPER_FLOOD = 498,
447 <     TKLINE = 499,
448 <     TXLINE = 500,
449 <     TRESV = 501,
450 <     UNKLINE = 502,
451 <     USER = 503,
452 <     USE_EGD = 504,
453 <     USE_EXCEPT = 505,
454 <     USE_INVEX = 506,
455 <     USE_KNOCK = 507,
456 <     USE_LOGGING = 508,
457 <     USE_WHOIS_ACTUALLY = 509,
458 <     VHOST = 510,
459 <     VHOST6 = 511,
460 <     XLINE = 512,
461 <     WARN = 513,
462 <     WARN_NO_NLINE = 514
201 >     CHANNEL = 276,
202 >     CIDR_BITLEN_IPV4 = 277,
203 >     CIDR_BITLEN_IPV6 = 278,
204 >     CLASS = 279,
205 >     CONNECT = 280,
206 >     CONNECTFREQ = 281,
207 >     DEFAULT_FLOODCOUNT = 282,
208 >     DEFAULT_SPLIT_SERVER_COUNT = 283,
209 >     DEFAULT_SPLIT_USER_COUNT = 284,
210 >     DENY = 285,
211 >     DESCRIPTION = 286,
212 >     DIE = 287,
213 >     DISABLE_AUTH = 288,
214 >     DISABLE_FAKE_CHANNELS = 289,
215 >     DISABLE_HIDDEN = 290,
216 >     DISABLE_LOCAL_CHANNELS = 291,
217 >     DISABLE_REMOTE_COMMANDS = 292,
218 >     DOTS_IN_IDENT = 293,
219 >     DURATION = 294,
220 >     EGDPOOL_PATH = 295,
221 >     EMAIL = 296,
222 >     ENABLE = 297,
223 >     ENCRYPTED = 298,
224 >     EXCEED_LIMIT = 299,
225 >     EXEMPT = 300,
226 >     FAILED_OPER_NOTICE = 301,
227 >     IRCD_FLAGS = 302,
228 >     FLATTEN_LINKS = 303,
229 >     GECOS = 304,
230 >     GENERAL = 305,
231 >     GLINE = 306,
232 >     GLINES = 307,
233 >     GLINE_EXEMPT = 308,
234 >     GLINE_TIME = 309,
235 >     GLINE_MIN_CIDR = 310,
236 >     GLINE_MIN_CIDR6 = 311,
237 >     GLOBAL_KILL = 312,
238 >     IRCD_AUTH = 313,
239 >     NEED_IDENT = 314,
240 >     HAVENT_READ_CONF = 315,
241 >     HIDDEN = 316,
242 >     HIDDEN_NAME = 317,
243 >     HIDE_SERVER_IPS = 318,
244 >     HIDE_SERVERS = 319,
245 >     HIDE_SPOOF_IPS = 320,
246 >     HOST = 321,
247 >     HUB = 322,
248 >     HUB_MASK = 323,
249 >     IGNORE_BOGUS_TS = 324,
250 >     INVISIBLE_ON_CONNECT = 325,
251 >     IP = 326,
252 >     KILL = 327,
253 >     KILL_CHASE_TIME_LIMIT = 328,
254 >     KLINE = 329,
255 >     KLINE_EXEMPT = 330,
256 >     KLINE_REASON = 331,
257 >     KLINE_WITH_REASON = 332,
258 >     KNOCK_DELAY = 333,
259 >     KNOCK_DELAY_CHANNEL = 334,
260 >     LEAF_MASK = 335,
261 >     LINKS_DELAY = 336,
262 >     LISTEN = 337,
263 >     T_LOG = 338,
264 >     MAX_ACCEPT = 339,
265 >     MAX_BANS = 340,
266 >     MAX_CHANS_PER_USER = 341,
267 >     MAX_GLOBAL = 342,
268 >     MAX_IDENT = 343,
269 >     MAX_LOCAL = 344,
270 >     MAX_NICK_CHANGES = 345,
271 >     MAX_NICK_TIME = 346,
272 >     MAX_NUMBER = 347,
273 >     MAX_TARGETS = 348,
274 >     MAX_WATCH = 349,
275 >     MESSAGE_LOCALE = 350,
276 >     MIN_NONWILDCARD = 351,
277 >     MIN_NONWILDCARD_SIMPLE = 352,
278 >     MODULE = 353,
279 >     MODULES = 354,
280 >     NAME = 355,
281 >     NEED_PASSWORD = 356,
282 >     NETWORK_DESC = 357,
283 >     NETWORK_NAME = 358,
284 >     NICK = 359,
285 >     NICK_CHANGES = 360,
286 >     NO_CREATE_ON_SPLIT = 361,
287 >     NO_JOIN_ON_SPLIT = 362,
288 >     NO_OPER_FLOOD = 363,
289 >     NO_TILDE = 364,
290 >     NUMBER = 365,
291 >     NUMBER_PER_IDENT = 366,
292 >     NUMBER_PER_CIDR = 367,
293 >     NUMBER_PER_IP = 368,
294 >     NUMBER_PER_IP_GLOBAL = 369,
295 >     OPERATOR = 370,
296 >     OPERS_BYPASS_CALLERID = 371,
297 >     OPER_ONLY_UMODES = 372,
298 >     OPER_PASS_RESV = 373,
299 >     OPER_SPY_T = 374,
300 >     OPER_UMODES = 375,
301 >     JOIN_FLOOD_COUNT = 376,
302 >     JOIN_FLOOD_TIME = 377,
303 >     PACE_WAIT = 378,
304 >     PACE_WAIT_SIMPLE = 379,
305 >     PASSWORD = 380,
306 >     PATH = 381,
307 >     PING_COOKIE = 382,
308 >     PING_TIME = 383,
309 >     PING_WARNING = 384,
310 >     PORT = 385,
311 >     QSTRING = 386,
312 >     QUIET_ON_BAN = 387,
313 >     REASON = 388,
314 >     REDIRPORT = 389,
315 >     REDIRSERV = 390,
316 >     REGEX_T = 391,
317 >     REHASH = 392,
318 >     TREJECT_HOLD_TIME = 393,
319 >     REMOTE = 394,
320 >     REMOTEBAN = 395,
321 >     RESTRICT_CHANNELS = 396,
322 >     RESTRICTED = 397,
323 >     RSA_PRIVATE_KEY_FILE = 398,
324 >     RSA_PUBLIC_KEY_FILE = 399,
325 >     SSL_CERTIFICATE_FILE = 400,
326 >     SSL_DH_PARAM_FILE = 401,
327 >     T_SSL_CLIENT_METHOD = 402,
328 >     T_SSL_SERVER_METHOD = 403,
329 >     T_SSLV3 = 404,
330 >     T_TLSV1 = 405,
331 >     RESV = 406,
332 >     RESV_EXEMPT = 407,
333 >     SECONDS = 408,
334 >     MINUTES = 409,
335 >     HOURS = 410,
336 >     DAYS = 411,
337 >     WEEKS = 412,
338 >     SENDQ = 413,
339 >     SEND_PASSWORD = 414,
340 >     SERVERHIDE = 415,
341 >     SERVERINFO = 416,
342 >     IRCD_SID = 417,
343 >     TKLINE_EXPIRE_NOTICES = 418,
344 >     T_SHARED = 419,
345 >     T_CLUSTER = 420,
346 >     TYPE = 421,
347 >     SHORT_MOTD = 422,
348 >     SILENT = 423,
349 >     SPOOF = 424,
350 >     SPOOF_NOTICE = 425,
351 >     STATS_E_DISABLED = 426,
352 >     STATS_I_OPER_ONLY = 427,
353 >     STATS_K_OPER_ONLY = 428,
354 >     STATS_O_OPER_ONLY = 429,
355 >     STATS_P_OPER_ONLY = 430,
356 >     TBOOL = 431,
357 >     TMASKED = 432,
358 >     T_REJECT = 433,
359 >     TS_MAX_DELTA = 434,
360 >     TS_WARN_DELTA = 435,
361 >     TWODOTS = 436,
362 >     T_ALL = 437,
363 >     T_BOTS = 438,
364 >     T_SOFTCALLERID = 439,
365 >     T_CALLERID = 440,
366 >     T_CCONN = 441,
367 >     T_CCONN_FULL = 442,
368 >     T_SSL_CIPHER_LIST = 443,
369 >     T_CLIENT_FLOOD = 444,
370 >     T_DEAF = 445,
371 >     T_DEBUG = 446,
372 >     T_DLINE = 447,
373 >     T_DRONE = 448,
374 >     T_EXTERNAL = 449,
375 >     T_FULL = 450,
376 >     T_INVISIBLE = 451,
377 >     T_IPV4 = 452,
378 >     T_IPV6 = 453,
379 >     T_LOCOPS = 454,
380 >     T_MAX_CLIENTS = 455,
381 >     T_NCHANGE = 456,
382 >     T_OPERWALL = 457,
383 >     T_REJ = 458,
384 >     T_SERVER = 459,
385 >     T_SERVNOTICE = 460,
386 >     T_SKILL = 461,
387 >     T_SPY = 462,
388 >     T_SSL = 463,
389 >     T_UMODES = 464,
390 >     T_UNAUTH = 465,
391 >     T_UNDLINE = 466,
392 >     T_UNLIMITED = 467,
393 >     T_UNRESV = 468,
394 >     T_UNXLINE = 469,
395 >     T_GLOBOPS = 470,
396 >     T_WALLOP = 471,
397 >     T_RESTART = 472,
398 >     T_SERVICE = 473,
399 >     T_SERVICES_NAME = 474,
400 >     THROTTLE_TIME = 475,
401 >     TOPICBURST = 476,
402 >     TRUE_NO_OPER_FLOOD = 477,
403 >     TKLINE = 478,
404 >     TXLINE = 479,
405 >     TRESV = 480,
406 >     UNKLINE = 481,
407 >     USER = 482,
408 >     USE_EGD = 483,
409 >     USE_EXCEPT = 484,
410 >     USE_INVEX = 485,
411 >     USE_KNOCK = 486,
412 >     USE_LOGGING = 487,
413 >     USE_WHOIS_ACTUALLY = 488,
414 >     VHOST = 489,
415 >     VHOST6 = 490,
416 >     XLINE = 491,
417 >     WARN = 492,
418 >     WARN_NO_NLINE = 493,
419 >     T_SIZE = 494,
420 >     T_FILE = 495
421     };
422   #endif
423   /* Tokens.  */
# Line 481 | Line 439 | unhook_hub_leaf_confs(void)
439   #define TBYTES 273
440   #define CALLER_ID_WAIT 274
441   #define CAN_FLOOD 275
442 < #define CAN_IDLE 276
443 < #define CHANNEL 277
444 < #define CIDR_BITLEN_IPV4 278
445 < #define CIDR_BITLEN_IPV6 279
446 < #define CIPHER_PREFERENCE 280
447 < #define CLASS 281
448 < #define COMPRESSED 282
449 < #define COMPRESSION_LEVEL 283
450 < #define CONNECT 284
451 < #define CONNECTFREQ 285
452 < #define CRYPTLINK 286
453 < #define DEFAULT_CIPHER_PREFERENCE 287
454 < #define DEFAULT_FLOODCOUNT 288
455 < #define DEFAULT_SPLIT_SERVER_COUNT 289
456 < #define DEFAULT_SPLIT_USER_COUNT 290
457 < #define DENY 291
458 < #define DESCRIPTION 292
459 < #define DIE 293
460 < #define DISABLE_AUTH 294
461 < #define DISABLE_FAKE_CHANNELS 295
462 < #define DISABLE_HIDDEN 296
463 < #define DISABLE_LOCAL_CHANNELS 297
464 < #define DISABLE_REMOTE_COMMANDS 298
465 < #define DOTS_IN_IDENT 299
466 < #define DURATION 300
467 < #define EGDPOOL_PATH 301
468 < #define EMAIL 302
469 < #define ENABLE 303
470 < #define ENCRYPTED 304
471 < #define EXCEED_LIMIT 305
472 < #define EXEMPT 306
473 < #define FAILED_OPER_NOTICE 307
474 < #define IRCD_FLAGS 308
475 < #define FLATTEN_LINKS 309
476 < #define FFAILED_OPERLOG 310
477 < #define FKILLLOG 311
478 < #define FKLINELOG 312
479 < #define FGLINELOG 313
480 < #define FIOERRLOG 314
481 < #define FOPERLOG 315
482 < #define FOPERSPYLOG 316
483 < #define FUSERLOG 317
484 < #define GECOS 318
485 < #define GENERAL 319
486 < #define GLINE 320
487 < #define GLINES 321
488 < #define GLINE_EXEMPT 322
489 < #define GLINE_LOG 323
490 < #define GLINE_TIME 324
491 < #define GLINE_MIN_CIDR 325
492 < #define GLINE_MIN_CIDR6 326
493 < #define GLOBAL_KILL 327
494 < #define IRCD_AUTH 328
495 < #define NEED_IDENT 329
496 < #define HAVENT_READ_CONF 330
497 < #define HIDDEN 331
498 < #define HIDDEN_ADMIN 332
499 < #define HIDDEN_NAME 333
500 < #define HIDDEN_OPER 334
501 < #define HIDE_SERVER_IPS 335
502 < #define HIDE_SERVERS 336
503 < #define HIDE_SPOOF_IPS 337
504 < #define HOST 338
505 < #define HUB 339
506 < #define HUB_MASK 340
507 < #define IDLETIME 341
508 < #define IGNORE_BOGUS_TS 342
509 < #define INVISIBLE_ON_CONNECT 343
510 < #define IP 344
511 < #define KILL 345
512 < #define KILL_CHASE_TIME_LIMIT 346
513 < #define KLINE 347
514 < #define KLINE_EXEMPT 348
515 < #define KLINE_REASON 349
516 < #define KLINE_WITH_REASON 350
517 < #define KNOCK_DELAY 351
518 < #define KNOCK_DELAY_CHANNEL 352
519 < #define LEAF_MASK 353
520 < #define LINKS_DELAY 354
521 < #define LISTEN 355
522 < #define T_LOG 356
523 < #define LOGGING 357
524 < #define LOG_LEVEL 358
525 < #define MAX_ACCEPT 359
526 < #define MAX_BANS 360
527 < #define MAX_CHANS_PER_USER 361
528 < #define MAX_GLOBAL 362
529 < #define MAX_IDENT 363
530 < #define MAX_LOCAL 364
531 < #define MAX_NICK_CHANGES 365
532 < #define MAX_NICK_TIME 366
533 < #define MAX_NUMBER 367
534 < #define MAX_TARGETS 368
535 < #define MAX_WATCH 369
536 < #define MESSAGE_LOCALE 370
537 < #define MIN_NONWILDCARD 371
538 < #define MIN_NONWILDCARD_SIMPLE 372
539 < #define MODULE 373
540 < #define MODULES 374
541 < #define NAME 375
542 < #define NEED_PASSWORD 376
543 < #define NETWORK_DESC 377
544 < #define NETWORK_NAME 378
545 < #define NICK 379
546 < #define NICK_CHANGES 380
547 < #define NO_CREATE_ON_SPLIT 381
548 < #define NO_JOIN_ON_SPLIT 382
549 < #define NO_OPER_FLOOD 383
550 < #define NO_TILDE 384
551 < #define NOT 385
552 < #define NUMBER 386
553 < #define NUMBER_PER_IDENT 387
554 < #define NUMBER_PER_CIDR 388
555 < #define NUMBER_PER_IP 389
556 < #define NUMBER_PER_IP_GLOBAL 390
557 < #define OPERATOR 391
558 < #define OPERS_BYPASS_CALLERID 392
559 < #define OPER_LOG 393
560 < #define OPER_ONLY_UMODES 394
561 < #define OPER_PASS_RESV 395
562 < #define OPER_SPY_T 396
563 < #define OPER_UMODES 397
564 < #define JOIN_FLOOD_COUNT 398
565 < #define JOIN_FLOOD_TIME 399
566 < #define PACE_WAIT 400
567 < #define PACE_WAIT_SIMPLE 401
568 < #define PASSWORD 402
569 < #define PATH 403
570 < #define PING_COOKIE 404
571 < #define PING_TIME 405
572 < #define PING_WARNING 406
573 < #define PORT 407
574 < #define QSTRING 408
575 < #define QUIET_ON_BAN 409
576 < #define REASON 410
577 < #define REDIRPORT 411
578 < #define REDIRSERV 412
579 < #define REGEX_T 413
580 < #define REHASH 414
581 < #define TREJECT_HOLD_TIME 415
582 < #define REMOTE 416
583 < #define REMOTEBAN 417
584 < #define RESTRICT_CHANNELS 418
585 < #define RESTRICTED 419
586 < #define RSA_PRIVATE_KEY_FILE 420
587 < #define RSA_PUBLIC_KEY_FILE 421
588 < #define SSL_CERTIFICATE_FILE 422
589 < #define T_SSL_CONNECTION_METHOD 423
590 < #define T_SSLV3 424
591 < #define T_TLSV1 425
592 < #define RESV 426
593 < #define RESV_EXEMPT 427
594 < #define SECONDS 428
595 < #define MINUTES 429
596 < #define HOURS 430
597 < #define DAYS 431
598 < #define WEEKS 432
599 < #define SENDQ 433
600 < #define SEND_PASSWORD 434
601 < #define SERVERHIDE 435
602 < #define SERVERINFO 436
603 < #define SERVLINK_PATH 437
604 < #define IRCD_SID 438
605 < #define TKLINE_EXPIRE_NOTICES 439
606 < #define T_SHARED 440
607 < #define T_CLUSTER 441
608 < #define TYPE 442
609 < #define SHORT_MOTD 443
610 < #define SILENT 444
611 < #define SPOOF 445
612 < #define SPOOF_NOTICE 446
613 < #define STATS_E_DISABLED 447
614 < #define STATS_I_OPER_ONLY 448
615 < #define STATS_K_OPER_ONLY 449
616 < #define STATS_O_OPER_ONLY 450
617 < #define STATS_P_OPER_ONLY 451
618 < #define TBOOL 452
619 < #define TMASKED 453
620 < #define T_REJECT 454
621 < #define TS_MAX_DELTA 455
622 < #define TS_WARN_DELTA 456
623 < #define TWODOTS 457
624 < #define T_ALL 458
625 < #define T_BOTS 459
626 < #define T_SOFTCALLERID 460
627 < #define T_CALLERID 461
628 < #define T_CCONN 462
629 < #define T_CCONN_FULL 463
630 < #define T_CLIENT_FLOOD 464
631 < #define T_DEAF 465
632 < #define T_DEBUG 466
633 < #define T_DRONE 467
634 < #define T_EXTERNAL 468
635 < #define T_FULL 469
636 < #define T_INVISIBLE 470
637 < #define T_IPV4 471
638 < #define T_IPV6 472
639 < #define T_LOCOPS 473
640 < #define T_LOGPATH 474
641 < #define T_L_CRIT 475
642 < #define T_L_DEBUG 476
643 < #define T_L_ERROR 477
644 < #define T_L_INFO 478
645 < #define T_L_NOTICE 479
646 < #define T_L_TRACE 480
647 < #define T_L_WARN 481
648 < #define T_MAX_CLIENTS 482
649 < #define T_NCHANGE 483
650 < #define T_OPERWALL 484
651 < #define T_REJ 485
652 < #define T_SERVER 486
653 < #define T_SERVNOTICE 487
654 < #define T_SKILL 488
655 < #define T_SPY 489
656 < #define T_SSL 490
657 < #define T_UMODES 491
658 < #define T_UNAUTH 492
659 < #define T_UNRESV 493
660 < #define T_UNXLINE 494
661 < #define T_WALLOP 495
704 < #define THROTTLE_TIME 496
705 < #define TOPICBURST 497
706 < #define TRUE_NO_OPER_FLOOD 498
707 < #define TKLINE 499
708 < #define TXLINE 500
709 < #define TRESV 501
710 < #define UNKLINE 502
711 < #define USER 503
712 < #define USE_EGD 504
713 < #define USE_EXCEPT 505
714 < #define USE_INVEX 506
715 < #define USE_KNOCK 507
716 < #define USE_LOGGING 508
717 < #define USE_WHOIS_ACTUALLY 509
718 < #define VHOST 510
719 < #define VHOST6 511
720 < #define XLINE 512
721 < #define WARN 513
722 < #define WARN_NO_NLINE 514
442 > #define CHANNEL 276
443 > #define CIDR_BITLEN_IPV4 277
444 > #define CIDR_BITLEN_IPV6 278
445 > #define CLASS 279
446 > #define CONNECT 280
447 > #define CONNECTFREQ 281
448 > #define DEFAULT_FLOODCOUNT 282
449 > #define DEFAULT_SPLIT_SERVER_COUNT 283
450 > #define DEFAULT_SPLIT_USER_COUNT 284
451 > #define DENY 285
452 > #define DESCRIPTION 286
453 > #define DIE 287
454 > #define DISABLE_AUTH 288
455 > #define DISABLE_FAKE_CHANNELS 289
456 > #define DISABLE_HIDDEN 290
457 > #define DISABLE_LOCAL_CHANNELS 291
458 > #define DISABLE_REMOTE_COMMANDS 292
459 > #define DOTS_IN_IDENT 293
460 > #define DURATION 294
461 > #define EGDPOOL_PATH 295
462 > #define EMAIL 296
463 > #define ENABLE 297
464 > #define ENCRYPTED 298
465 > #define EXCEED_LIMIT 299
466 > #define EXEMPT 300
467 > #define FAILED_OPER_NOTICE 301
468 > #define IRCD_FLAGS 302
469 > #define FLATTEN_LINKS 303
470 > #define GECOS 304
471 > #define GENERAL 305
472 > #define GLINE 306
473 > #define GLINES 307
474 > #define GLINE_EXEMPT 308
475 > #define GLINE_TIME 309
476 > #define GLINE_MIN_CIDR 310
477 > #define GLINE_MIN_CIDR6 311
478 > #define GLOBAL_KILL 312
479 > #define IRCD_AUTH 313
480 > #define NEED_IDENT 314
481 > #define HAVENT_READ_CONF 315
482 > #define HIDDEN 316
483 > #define HIDDEN_NAME 317
484 > #define HIDE_SERVER_IPS 318
485 > #define HIDE_SERVERS 319
486 > #define HIDE_SPOOF_IPS 320
487 > #define HOST 321
488 > #define HUB 322
489 > #define HUB_MASK 323
490 > #define IGNORE_BOGUS_TS 324
491 > #define INVISIBLE_ON_CONNECT 325
492 > #define IP 326
493 > #define KILL 327
494 > #define KILL_CHASE_TIME_LIMIT 328
495 > #define KLINE 329
496 > #define KLINE_EXEMPT 330
497 > #define KLINE_REASON 331
498 > #define KLINE_WITH_REASON 332
499 > #define KNOCK_DELAY 333
500 > #define KNOCK_DELAY_CHANNEL 334
501 > #define LEAF_MASK 335
502 > #define LINKS_DELAY 336
503 > #define LISTEN 337
504 > #define T_LOG 338
505 > #define MAX_ACCEPT 339
506 > #define MAX_BANS 340
507 > #define MAX_CHANS_PER_USER 341
508 > #define MAX_GLOBAL 342
509 > #define MAX_IDENT 343
510 > #define MAX_LOCAL 344
511 > #define MAX_NICK_CHANGES 345
512 > #define MAX_NICK_TIME 346
513 > #define MAX_NUMBER 347
514 > #define MAX_TARGETS 348
515 > #define MAX_WATCH 349
516 > #define MESSAGE_LOCALE 350
517 > #define MIN_NONWILDCARD 351
518 > #define MIN_NONWILDCARD_SIMPLE 352
519 > #define MODULE 353
520 > #define MODULES 354
521 > #define NAME 355
522 > #define NEED_PASSWORD 356
523 > #define NETWORK_DESC 357
524 > #define NETWORK_NAME 358
525 > #define NICK 359
526 > #define NICK_CHANGES 360
527 > #define NO_CREATE_ON_SPLIT 361
528 > #define NO_JOIN_ON_SPLIT 362
529 > #define NO_OPER_FLOOD 363
530 > #define NO_TILDE 364
531 > #define NUMBER 365
532 > #define NUMBER_PER_IDENT 366
533 > #define NUMBER_PER_CIDR 367
534 > #define NUMBER_PER_IP 368
535 > #define NUMBER_PER_IP_GLOBAL 369
536 > #define OPERATOR 370
537 > #define OPERS_BYPASS_CALLERID 371
538 > #define OPER_ONLY_UMODES 372
539 > #define OPER_PASS_RESV 373
540 > #define OPER_SPY_T 374
541 > #define OPER_UMODES 375
542 > #define JOIN_FLOOD_COUNT 376
543 > #define JOIN_FLOOD_TIME 377
544 > #define PACE_WAIT 378
545 > #define PACE_WAIT_SIMPLE 379
546 > #define PASSWORD 380
547 > #define PATH 381
548 > #define PING_COOKIE 382
549 > #define PING_TIME 383
550 > #define PING_WARNING 384
551 > #define PORT 385
552 > #define QSTRING 386
553 > #define QUIET_ON_BAN 387
554 > #define REASON 388
555 > #define REDIRPORT 389
556 > #define REDIRSERV 390
557 > #define REGEX_T 391
558 > #define REHASH 392
559 > #define TREJECT_HOLD_TIME 393
560 > #define REMOTE 394
561 > #define REMOTEBAN 395
562 > #define RESTRICT_CHANNELS 396
563 > #define RESTRICTED 397
564 > #define RSA_PRIVATE_KEY_FILE 398
565 > #define RSA_PUBLIC_KEY_FILE 399
566 > #define SSL_CERTIFICATE_FILE 400
567 > #define SSL_DH_PARAM_FILE 401
568 > #define T_SSL_CLIENT_METHOD 402
569 > #define T_SSL_SERVER_METHOD 403
570 > #define T_SSLV3 404
571 > #define T_TLSV1 405
572 > #define RESV 406
573 > #define RESV_EXEMPT 407
574 > #define SECONDS 408
575 > #define MINUTES 409
576 > #define HOURS 410
577 > #define DAYS 411
578 > #define WEEKS 412
579 > #define SENDQ 413
580 > #define SEND_PASSWORD 414
581 > #define SERVERHIDE 415
582 > #define SERVERINFO 416
583 > #define IRCD_SID 417
584 > #define TKLINE_EXPIRE_NOTICES 418
585 > #define T_SHARED 419
586 > #define T_CLUSTER 420
587 > #define TYPE 421
588 > #define SHORT_MOTD 422
589 > #define SILENT 423
590 > #define SPOOF 424
591 > #define SPOOF_NOTICE 425
592 > #define STATS_E_DISABLED 426
593 > #define STATS_I_OPER_ONLY 427
594 > #define STATS_K_OPER_ONLY 428
595 > #define STATS_O_OPER_ONLY 429
596 > #define STATS_P_OPER_ONLY 430
597 > #define TBOOL 431
598 > #define TMASKED 432
599 > #define T_REJECT 433
600 > #define TS_MAX_DELTA 434
601 > #define TS_WARN_DELTA 435
602 > #define TWODOTS 436
603 > #define T_ALL 437
604 > #define T_BOTS 438
605 > #define T_SOFTCALLERID 439
606 > #define T_CALLERID 440
607 > #define T_CCONN 441
608 > #define T_CCONN_FULL 442
609 > #define T_SSL_CIPHER_LIST 443
610 > #define T_CLIENT_FLOOD 444
611 > #define T_DEAF 445
612 > #define T_DEBUG 446
613 > #define T_DLINE 447
614 > #define T_DRONE 448
615 > #define T_EXTERNAL 449
616 > #define T_FULL 450
617 > #define T_INVISIBLE 451
618 > #define T_IPV4 452
619 > #define T_IPV6 453
620 > #define T_LOCOPS 454
621 > #define T_MAX_CLIENTS 455
622 > #define T_NCHANGE 456
623 > #define T_OPERWALL 457
624 > #define T_REJ 458
625 > #define T_SERVER 459
626 > #define T_SERVNOTICE 460
627 > #define T_SKILL 461
628 > #define T_SPY 462
629 > #define T_SSL 463
630 > #define T_UMODES 464
631 > #define T_UNAUTH 465
632 > #define T_UNDLINE 466
633 > #define T_UNLIMITED 467
634 > #define T_UNRESV 468
635 > #define T_UNXLINE 469
636 > #define T_GLOBOPS 470
637 > #define T_WALLOP 471
638 > #define T_RESTART 472
639 > #define T_SERVICE 473
640 > #define T_SERVICES_NAME 474
641 > #define THROTTLE_TIME 475
642 > #define TOPICBURST 476
643 > #define TRUE_NO_OPER_FLOOD 477
644 > #define TKLINE 478
645 > #define TXLINE 479
646 > #define TRESV 480
647 > #define UNKLINE 481
648 > #define USER 482
649 > #define USE_EGD 483
650 > #define USE_EXCEPT 484
651 > #define USE_INVEX 485
652 > #define USE_KNOCK 486
653 > #define USE_LOGGING 487
654 > #define USE_WHOIS_ACTUALLY 488
655 > #define VHOST 489
656 > #define VHOST6 490
657 > #define XLINE 491
658 > #define WARN 492
659 > #define WARN_NO_NLINE 493
660 > #define T_SIZE 494
661 > #define T_FILE 495
662  
663  
664  
# Line 728 | Line 667 | unhook_hub_leaf_confs(void)
667   typedef union YYSTYPE
668   {
669  
670 < /* Line 214 of yacc.c  */
671 < #line 132 "ircd_parser.y"
670 > /* Line 293 of yacc.c  */
671 > #line 110 "conf_parser.y"
672  
673    int number;
674    char *string;
675  
676  
677  
678 < /* Line 214 of yacc.c  */
679 < #line 741 "ircd_parser.c"
678 > /* Line 293 of yacc.c  */
679 > #line 680 "conf_parser.c"
680   } YYSTYPE;
681   # define YYSTYPE_IS_TRIVIAL 1
682   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 748 | Line 687 | typedef union YYSTYPE
687   /* Copy the second part of user declarations.  */
688  
689  
690 < /* Line 264 of yacc.c  */
691 < #line 753 "ircd_parser.c"
690 > /* Line 343 of yacc.c  */
691 > #line 692 "conf_parser.c"
692  
693   #ifdef short
694   # undef short
# Line 852 | Line 791 | YYID (yyi)
791   #    define alloca _alloca
792   #   else
793   #    define YYSTACK_ALLOC alloca
794 < #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
794 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
795       || defined __cplusplus || defined _MSC_VER)
796   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
797 < #     ifndef _STDLIB_H
798 < #      define _STDLIB_H 1
797 > #     ifndef EXIT_SUCCESS
798 > #      define EXIT_SUCCESS 0
799   #     endif
800   #    endif
801   #   endif
# Line 879 | Line 818 | YYID (yyi)
818   #  ifndef YYSTACK_ALLOC_MAXIMUM
819   #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
820   #  endif
821 < #  if (defined __cplusplus && ! defined _STDLIB_H \
821 > #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
822         && ! ((defined YYMALLOC || defined malloc) \
823               && (defined YYFREE || defined free)))
824   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
825 < #   ifndef _STDLIB_H
826 < #    define _STDLIB_H 1
825 > #   ifndef EXIT_SUCCESS
826 > #    define EXIT_SUCCESS 0
827   #   endif
828   #  endif
829   #  ifndef YYMALLOC
830   #   define YYMALLOC malloc
831 < #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
831 > #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
832       || defined __cplusplus || defined _MSC_VER)
833   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
834   #   endif
835   #  endif
836   #  ifndef YYFREE
837   #   define YYFREE free
838 < #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
838 > #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
839       || defined __cplusplus || defined _MSC_VER)
840   void free (void *); /* INFRINGES ON USER NAME SPACE */
841   #   endif
# Line 925 | Line 864 | union yyalloc
864       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
865        + YYSTACK_GAP_MAXIMUM)
866  
867 < /* Copy COUNT objects from FROM to TO.  The source and destination do
929 <   not overlap.  */
930 < # ifndef YYCOPY
931 < #  if defined __GNUC__ && 1 < __GNUC__
932 < #   define YYCOPY(To, From, Count) \
933 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
934 < #  else
935 < #   define YYCOPY(To, From, Count)              \
936 <      do                                        \
937 <        {                                       \
938 <          YYSIZE_T yyi;                         \
939 <          for (yyi = 0; yyi < (Count); yyi++)   \
940 <            (To)[yyi] = (From)[yyi];            \
941 <        }                                       \
942 <      while (YYID (0))
943 < #  endif
944 < # endif
867 > # define YYCOPY_NEEDED 1
868  
869   /* Relocate STACK from its old location to the new one.  The
870     local variables YYSIZE and YYSTACKSIZE give the old and new number of
# Line 961 | Line 884 | union yyalloc
884  
885   #endif
886  
887 + #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
888 + /* Copy COUNT objects from FROM to TO.  The source and destination do
889 +   not overlap.  */
890 + # ifndef YYCOPY
891 + #  if defined __GNUC__ && 1 < __GNUC__
892 + #   define YYCOPY(To, From, Count) \
893 +      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
894 + #  else
895 + #   define YYCOPY(To, From, Count)              \
896 +      do                                        \
897 +        {                                       \
898 +          YYSIZE_T yyi;                         \
899 +          for (yyi = 0; yyi < (Count); yyi++)   \
900 +            (To)[yyi] = (From)[yyi];            \
901 +        }                                       \
902 +      while (YYID (0))
903 + #  endif
904 + # endif
905 + #endif /* !YYCOPY_NEEDED */
906 +
907   /* YYFINAL -- State number of the termination state.  */
908   #define YYFINAL  2
909   /* YYLAST -- Last index in YYTABLE.  */
910 < #define YYLAST   1258
910 > #define YYLAST   1267
911  
912   /* YYNTOKENS -- Number of terminals.  */
913 < #define YYNTOKENS  265
913 > #define YYNTOKENS  246
914   /* YYNNTS -- Number of nonterminals.  */
915 < #define YYNNTS  318
915 > #define YYNNTS  305
916   /* YYNRULES -- Number of rules.  */
917 < #define YYNRULES  687
917 > #define YYNRULES  668
918   /* YYNRULES -- Number of states.  */
919 < #define YYNSTATES  1354
919 > #define YYNSTATES  1311
920  
921   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
922   #define YYUNDEFTOK  2
923 < #define YYMAXUTOK   514
923 > #define YYMAXUTOK   495
924  
925   #define YYTRANSLATE(YYX)                                                \
926    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
927  
928   /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
929 < static const yytype_uint16 yytranslate[] =
929 > static const yytype_uint8 yytranslate[] =
930   {
931         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
932         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
933         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
934         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
935 <       2,     2,     2,     2,   264,     2,     2,     2,     2,     2,
936 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   260,
937 <       2,   263,     2,     2,     2,     2,     2,     2,     2,     2,
935 >       2,     2,     2,     2,   245,     2,     2,     2,     2,     2,
936 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   241,
937 >       2,   244,     2,     2,     2,     2,     2,     2,     2,     2,
938         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
939         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
940         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
941         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
942         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
943 <       2,     2,     2,   262,     2,   261,     2,     2,     2,     2,
943 >       2,     2,     2,   243,     2,   242,     2,     2,     2,     2,
944         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
945         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
946         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1034 | Line 977 | static const yytype_uint16 yytranslate[]
977       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
978       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
979       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
980 <     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1038 <     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1039 <     255,   256,   257,   258,   259
980 >     235,   236,   237,   238,   239,   240
981   };
982  
983   #if YYDEBUG
# Line 1046 | Line 987 | static const yytype_uint16 yyprhs[] =
987   {
988         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
989        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
990 <      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
991 <      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
992 <      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
993 <     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
994 <     154,   156,   158,   160,   163,   164,   170,   174,   176,   178,
995 <     180,   185,   190,   195,   200,   205,   210,   215,   220,   225,
996 <     230,   235,   241,   244,   246,   248,   250,   252,   255,   260,
997 <     265,   270,   276,   279,   281,   283,   285,   287,   289,   291,
998 <     293,   295,   297,   299,   301,   303,   305,   308,   313,   318,
999 <     323,   328,   333,   338,   343,   348,   353,   358,   363,   368,
1000 <     373,   378,   383,   388,   393,   398,   399,   407,   408,   410,
1001 <     413,   415,   417,   419,   421,   423,   425,   427,   429,   431,
1002 <     434,   439,   441,   446,   451,   456,   461,   466,   467,   473,
990 >      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
991 >      61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
992 >      95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
993 >     133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
994 >     154,   156,   158,   160,   162,   164,   166,   168,   171,   176,
995 >     181,   185,   187,   189,   191,   195,   197,   199,   201,   206,
996 >     211,   216,   221,   226,   231,   236,   241,   246,   251,   256,
997 >     261,   266,   272,   275,   277,   279,   281,   283,   286,   291,
998 >     296,   301,   307,   310,   312,   314,   316,   319,   324,   325,
999 >     332,   335,   337,   339,   341,   343,   346,   351,   356,   361,
1000 >     362,   368,   372,   374,   376,   378,   380,   382,   384,   386,
1001 >     388,   389,   396,   399,   401,   403,   405,   407,   409,   411,
1002 >     413,   415,   417,   420,   425,   430,   435,   440,   445,   450,
1003 >     451,   457,   461,   463,   465,   467,   469,   471,   473,   475,
1004       477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
1005 <     497,   499,   501,   503,   505,   507,   509,   511,   513,   515,
1006 <     517,   518,   524,   528,   530,   531,   535,   536,   539,   541,
1007 <     543,   545,   547,   549,   551,   553,   555,   557,   559,   561,
1008 <     563,   565,   567,   569,   571,   572,   580,   581,   583,   586,
1009 <     588,   590,   592,   594,   596,   598,   600,   602,   604,   606,
1010 <     608,   610,   612,   614,   617,   622,   624,   629,   634,   639,
1011 <     644,   649,   654,   659,   664,   669,   674,   679,   684,   685,
1012 <     692,   693,   699,   703,   705,   707,   709,   711,   714,   716,
1013 <     718,   720,   722,   724,   727,   728,   734,   738,   740,   742,
1014 <     746,   751,   756,   757,   764,   767,   769,   771,   773,   775,
1015 <     777,   779,   781,   783,   785,   788,   793,   798,   803,   808,
1016 <     809,   815,   819,   821,   822,   826,   827,   830,   832,   834,
1017 <     836,   838,   840,   842,   844,   846,   848,   850,   855,   860,
1018 <     865,   866,   873,   876,   878,   880,   882,   884,   887,   892,
1019 <     897,   902,   903,   910,   913,   915,   917,   919,   921,   924,
1020 <     929,   934,   935,   941,   945,   947,   949,   951,   953,   955,
1021 <     957,   959,   961,   963,   965,   967,   969,   970,   977,   980,
1022 <     982,   984,   986,   989,   994,   995,  1001,  1005,  1007,  1009,
1023 <    1011,  1013,  1015,  1017,  1019,  1021,  1023,  1025,  1027,  1029,
1024 <    1030,  1038,  1039,  1041,  1044,  1046,  1048,  1050,  1052,  1054,
1025 <    1056,  1058,  1060,  1062,  1064,  1066,  1068,  1070,  1072,  1074,
1026 <    1077,  1082,  1084,  1089,  1094,  1099,  1104,  1109,  1114,  1119,
1027 <    1120,  1126,  1130,  1132,  1133,  1137,  1138,  1141,  1143,  1145,
1028 <    1147,  1149,  1151,  1156,  1161,  1166,  1171,  1176,  1181,  1182,
1029 <    1189,  1190,  1196,  1200,  1202,  1204,  1207,  1209,  1211,  1213,
1030 <    1215,  1217,  1222,  1227,  1228,  1235,  1238,  1240,  1242,  1244,
1031 <    1246,  1251,  1256,  1262,  1265,  1267,  1269,  1271,  1276,  1277,
1032 <    1284,  1285,  1291,  1295,  1297,  1299,  1302,  1304,  1306,  1308,
1033 <    1310,  1312,  1317,  1322,  1328,  1331,  1333,  1335,  1337,  1339,
1034 <    1341,  1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,
1035 <    1361,  1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,
1036 <    1381,  1383,  1385,  1387,  1389,  1391,  1393,  1395,  1397,  1399,
1037 <    1401,  1403,  1405,  1407,  1409,  1411,  1413,  1415,  1417,  1419,
1038 <    1421,  1423,  1425,  1427,  1429,  1431,  1433,  1435,  1437,  1439,
1039 <    1441,  1443,  1445,  1450,  1455,  1460,  1465,  1470,  1475,  1480,
1040 <    1485,  1490,  1495,  1500,  1505,  1510,  1515,  1520,  1525,  1530,
1041 <    1535,  1540,  1545,  1550,  1555,  1560,  1565,  1570,  1575,  1580,
1042 <    1585,  1590,  1595,  1600,  1605,  1610,  1615,  1620,  1625,  1630,
1043 <    1635,  1640,  1645,  1650,  1655,  1660,  1665,  1670,  1675,  1680,
1044 <    1685,  1690,  1695,  1700,  1701,  1707,  1711,  1713,  1715,  1717,
1045 <    1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,  1735,  1737,
1046 <    1739,  1741,  1743,  1745,  1747,  1749,  1751,  1752,  1758,  1762,
1047 <    1764,  1766,  1768,  1770,  1772,  1774,  1776,  1778,  1780,  1782,
1048 <    1784,  1786,  1788,  1790,  1792,  1794,  1796,  1798,  1800,  1802,
1049 <    1807,  1812,  1817,  1822,  1823,  1830,  1833,  1835,  1837,  1839,
1050 <    1841,  1843,  1845,  1847,  1849,  1854,  1859,  1860,  1866,  1870,
1051 <    1872,  1874,  1876,  1881,  1886,  1887,  1893,  1897,  1899,  1901,
1052 <    1903,  1909,  1912,  1914,  1916,  1918,  1920,  1922,  1924,  1926,
1053 <    1928,  1930,  1932,  1934,  1936,  1938,  1940,  1942,  1944,  1946,
1054 <    1948,  1950,  1952,  1957,  1962,  1967,  1972,  1977,  1982,  1987,
1113 <    1992,  1997,  2002,  2007,  2012,  2017,  2022,  2027,  2032,  2037,
1114 <    2042,  2048,  2051,  2053,  2055,  2057,  2059,  2061,  2063,  2065,
1115 <    2067,  2069,  2074,  2079,  2084,  2089,  2094,  2099
1005 >     497,   499,   501,   503,   504,   510,   514,   516,   518,   520,
1006 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1007 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
1008 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
1009 >     587,   589,   591,   594,   599,   604,   609,   614,   619,   624,
1010 >     629,   634,   639,   644,   649,   654,   659,   660,   667,   668,
1011 >     674,   678,   680,   682,   684,   686,   689,   691,   693,   695,
1012 >     697,   699,   702,   703,   709,   713,   715,   717,   721,   726,
1013 >     731,   732,   739,   742,   744,   746,   748,   750,   752,   754,
1014 >     756,   758,   760,   763,   768,   773,   778,   783,   784,   790,
1015 >     794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
1016 >     814,   819,   824,   829,   830,   837,   840,   842,   844,   846,
1017 >     848,   851,   856,   861,   866,   872,   875,   877,   879,   881,
1018 >     886,   887,   894,   897,   899,   901,   903,   905,   908,   913,
1019 >     918,   919,   925,   929,   931,   933,   935,   937,   939,   941,
1020 >     943,   945,   947,   949,   951,   952,   959,   962,   964,   966,
1021 >     968,   971,   976,   977,   983,   987,   989,   991,   993,   995,
1022 >     997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1023 >    1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1024 >    1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1025 >    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1110,
1026 >    1112,  1117,  1122,  1127,  1132,  1137,  1138,  1145,  1146,  1152,
1027 >    1156,  1158,  1160,  1163,  1165,  1167,  1169,  1171,  1173,  1178,
1028 >    1183,  1184,  1191,  1194,  1196,  1198,  1200,  1202,  1207,  1212,
1029 >    1218,  1221,  1223,  1225,  1227,  1232,  1233,  1240,  1241,  1247,
1030 >    1251,  1253,  1255,  1258,  1260,  1262,  1264,  1266,  1268,  1273,
1031 >    1278,  1284,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1032 >    1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1033 >    1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1034 >    1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1035 >    1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1036 >    1383,  1385,  1387,  1389,  1391,  1393,  1398,  1403,  1408,  1413,
1037 >    1418,  1423,  1428,  1433,  1438,  1443,  1448,  1453,  1458,  1463,
1038 >    1468,  1473,  1478,  1483,  1488,  1493,  1498,  1503,  1508,  1513,
1039 >    1518,  1523,  1528,  1533,  1538,  1543,  1548,  1553,  1558,  1563,
1040 >    1568,  1573,  1578,  1583,  1588,  1593,  1598,  1603,  1608,  1613,
1041 >    1618,  1623,  1628,  1629,  1635,  1639,  1641,  1643,  1645,  1647,
1042 >    1649,  1651,  1653,  1655,  1657,  1659,  1661,  1663,  1665,  1667,
1043 >    1669,  1671,  1673,  1675,  1677,  1679,  1681,  1682,  1688,  1692,
1044 >    1694,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1710,  1712,
1045 >    1714,  1716,  1718,  1720,  1722,  1724,  1726,  1728,  1730,  1732,
1046 >    1734,  1739,  1744,  1749,  1754,  1755,  1762,  1765,  1767,  1769,
1047 >    1771,  1773,  1775,  1777,  1779,  1781,  1786,  1791,  1792,  1798,
1048 >    1802,  1804,  1806,  1808,  1813,  1818,  1819,  1825,  1829,  1831,
1049 >    1833,  1835,  1841,  1844,  1846,  1848,  1850,  1852,  1854,  1856,
1050 >    1858,  1860,  1862,  1864,  1866,  1868,  1870,  1872,  1874,  1876,
1051 >    1878,  1880,  1882,  1884,  1889,  1894,  1899,  1904,  1909,  1914,
1052 >    1919,  1924,  1929,  1934,  1939,  1944,  1949,  1954,  1959,  1964,
1053 >    1969,  1974,  1980,  1983,  1985,  1987,  1989,  1991,  1993,  1995,
1054 >    1997,  1999,  2001,  2006,  2011,  2016,  2021,  2026,  2031
1055   };
1056  
1057   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1058   static const yytype_int16 yyrhs[] =
1059   {
1060 <     266,     0,    -1,    -1,   266,   267,    -1,   295,    -1,   301,
1061 <      -1,   316,    -1,   552,    -1,   339,    -1,   358,    -1,   372,
1062 <      -1,   277,    -1,   573,    -1,   390,    -1,   397,    -1,   407,
1063 <      -1,   416,    -1,   442,    -1,   452,    -1,   458,    -1,   472,
1064 <      -1,   536,    -1,   462,    -1,   272,    -1,     1,   260,    -1,
1065 <       1,   261,    -1,    -1,   269,    -1,   131,   268,    -1,   131,
1066 <     173,   268,    -1,   131,   174,   268,    -1,   131,   175,   268,
1067 <      -1,   131,   176,   268,    -1,   131,   177,   268,    -1,    -1,
1068 <     271,    -1,   131,   270,    -1,   131,    14,   270,    -1,   131,
1069 <      15,   270,    -1,   131,    16,   270,    -1,   119,   262,   273,
1070 <     261,   260,    -1,   273,   274,    -1,   274,    -1,   275,    -1,
1071 <     276,    -1,     1,   260,    -1,   118,   263,   153,   260,    -1,
1072 <     148,   263,   153,   260,    -1,   181,   262,   278,   261,   260,
1073 <      -1,   278,   279,    -1,   279,    -1,   286,    -1,   291,    -1,
1074 <     294,    -1,   288,    -1,   289,    -1,   290,    -1,   293,    -1,
1075 <     285,    -1,   292,    -1,   287,    -1,   284,    -1,   280,    -1,
1076 <       1,   260,    -1,    -1,   168,   281,   263,   282,   260,    -1,
1077 <     282,   264,   283,    -1,   283,    -1,   169,    -1,   170,    -1,
1078 <     167,   263,   153,   260,    -1,   165,   263,   153,   260,    -1,
1079 <     120,   263,   153,   260,    -1,   183,   263,   153,   260,    -1,
1080 <      37,   263,   153,   260,    -1,   123,   263,   153,   260,    -1,
1081 <     122,   263,   153,   260,    -1,   255,   263,   153,   260,    -1,
1082 <     256,   263,   153,   260,    -1,   227,   263,   131,   260,    -1,
1083 <      84,   263,   197,   260,    -1,     5,   262,   296,   261,   260,
1084 <      -1,   296,   297,    -1,   297,    -1,   298,    -1,   300,    -1,
1085 <     299,    -1,     1,   260,    -1,   120,   263,   153,   260,    -1,
1086 <      47,   263,   153,   260,    -1,    37,   263,   153,   260,    -1,
1087 <     102,   262,   302,   261,   260,    -1,   302,   303,    -1,   303,
1088 <      -1,   304,    -1,   305,    -1,   314,    -1,   315,    -1,   306,
1089 <      -1,   308,    -1,   310,    -1,   311,    -1,   313,    -1,   309,
1090 <      -1,   312,    -1,   307,    -1,     1,   260,    -1,   219,   263,
1091 <     153,   260,    -1,   138,   263,   153,   260,    -1,    62,   263,
1092 <     153,   260,    -1,    55,   263,   153,   260,    -1,    60,   263,
1093 <     153,   260,    -1,    61,   263,   153,   260,    -1,    58,   263,
1094 <     153,   260,    -1,    57,   263,   153,   260,    -1,    59,   263,
1095 <     153,   260,    -1,    56,   263,   153,   260,    -1,   103,   263,
1096 <     220,   260,    -1,   103,   263,   222,   260,    -1,   103,   263,
1097 <     226,   260,    -1,   103,   263,   224,   260,    -1,   103,   263,
1098 <     225,   260,    -1,   103,   263,   223,   260,    -1,   103,   263,
1099 <     221,   260,    -1,   253,   263,   197,   260,    -1,    -1,   136,
1100 <     317,   318,   262,   319,   261,   260,    -1,    -1,   322,    -1,
1101 <     319,   320,    -1,   320,    -1,   321,    -1,   323,    -1,   324,
1102 <      -1,   328,    -1,   327,    -1,   325,    -1,   326,    -1,   332,
1103 <      -1,     1,   260,    -1,   120,   263,   153,   260,    -1,   153,
1104 <      -1,   248,   263,   153,   260,    -1,   147,   263,   153,   260,
1105 <      -1,    49,   263,   197,   260,    -1,   166,   263,   153,   260,
1106 <      -1,    26,   263,   153,   260,    -1,    -1,   236,   329,   263,
1107 <     330,   260,    -1,   330,   264,   331,    -1,   331,    -1,   204,
1108 <      -1,   207,    -1,   208,    -1,   210,    -1,   211,    -1,   214,
1109 <      -1,   233,    -1,   228,    -1,   230,    -1,   237,    -1,   234,
1110 <      -1,   213,    -1,   229,    -1,   232,    -1,   215,    -1,   240,
1111 <      -1,   205,    -1,   206,    -1,   218,    -1,    -1,    53,   333,
1112 <     263,   334,   260,    -1,   334,   264,   335,    -1,   335,    -1,
1113 <      -1,   130,   336,   338,    -1,    -1,   337,   338,    -1,    72,
1114 <      -1,   161,    -1,    92,    -1,   247,    -1,   257,    -1,    65,
1115 <      -1,    38,    -1,   159,    -1,     5,    -1,    77,    -1,   125,
1116 <      -1,   229,    -1,   141,    -1,    79,    -1,   162,    -1,    49,
1117 <      -1,    -1,    26,   340,   341,   262,   342,   261,   260,    -1,
1118 <      -1,   345,    -1,   342,   343,    -1,   343,    -1,   344,    -1,
1119 <     355,    -1,   356,    -1,   346,    -1,   347,    -1,   357,    -1,
1120 <     348,    -1,   349,    -1,   350,    -1,   351,    -1,   352,    -1,
1121 <     353,    -1,   354,    -1,     1,   260,    -1,   120,   263,   153,
1122 <     260,    -1,   153,    -1,   150,   263,   269,   260,    -1,   151,
1123 <     263,   269,   260,    -1,   134,   263,   131,   260,    -1,    30,
1124 <     263,   269,   260,    -1,   112,   263,   131,   260,    -1,   107,
1125 <     263,   131,   260,    -1,   109,   263,   131,   260,    -1,   108,
1126 <     263,   131,   260,    -1,   178,   263,   271,   260,    -1,    23,
1127 <     263,   131,   260,    -1,    24,   263,   131,   260,    -1,   133,
1128 <     263,   131,   260,    -1,    -1,   100,   359,   262,   364,   261,
1129 <     260,    -1,    -1,    53,   361,   263,   362,   260,    -1,   362,
1130 <     264,   363,    -1,   363,    -1,   235,    -1,    76,    -1,   231,
1131 <      -1,   364,   365,    -1,   365,    -1,   366,    -1,   360,    -1,
1132 <     370,    -1,   371,    -1,     1,   260,    -1,    -1,   152,   263,
1133 <     368,   367,   260,    -1,   368,   264,   369,    -1,   369,    -1,
1134 <     131,    -1,   131,   202,   131,    -1,    89,   263,   153,   260,
1135 <      -1,    83,   263,   153,   260,    -1,    -1,    73,   373,   262,
1136 <     374,   261,   260,    -1,   374,   375,    -1,   375,    -1,   376,
1137 <      -1,   377,    -1,   378,    -1,   380,    -1,   387,    -1,   388,
1138 <      -1,   389,    -1,   379,    -1,     1,   260,    -1,   248,   263,
1139 <     153,   260,    -1,   147,   263,   153,   260,    -1,    26,   263,
1140 <     153,   260,    -1,    49,   263,   197,   260,    -1,    -1,    53,
1141 <     381,   263,   382,   260,    -1,   382,   264,   383,    -1,   383,
1142 <      -1,    -1,   130,   384,   386,    -1,    -1,   385,   386,    -1,
1143 <     191,    -1,    50,    -1,    93,    -1,    74,    -1,    20,    -1,
1144 <      21,    -1,   129,    -1,    67,    -1,   172,    -1,   121,    -1,
1145 <     190,   263,   153,   260,    -1,   157,   263,   153,   260,    -1,
1146 <     156,   263,   131,   260,    -1,    -1,   171,   391,   262,   392,
1147 <     261,   260,    -1,   392,   393,    -1,   393,    -1,   394,    -1,
1148 <     395,    -1,   396,    -1,     1,   260,    -1,   155,   263,   153,
1149 <     260,    -1,    22,   263,   153,   260,    -1,   124,   263,   153,
1150 <     260,    -1,    -1,   185,   398,   262,   399,   261,   260,    -1,
1151 <     399,   400,    -1,   400,    -1,   401,    -1,   402,    -1,   403,
1152 <      -1,     1,   260,    -1,   120,   263,   153,   260,    -1,   248,
1153 <     263,   153,   260,    -1,    -1,   187,   404,   263,   405,   260,
1154 <      -1,   405,   264,   406,    -1,   406,    -1,    92,    -1,   244,
1155 <      -1,   247,    -1,   257,    -1,   245,    -1,   239,    -1,   171,
1156 <      -1,   246,    -1,   238,    -1,   218,    -1,   203,    -1,    -1,
1157 <     186,   408,   262,   409,   261,   260,    -1,   409,   410,    -1,
1158 <     410,    -1,   411,    -1,   412,    -1,     1,   260,    -1,   120,
1159 <     263,   153,   260,    -1,    -1,   187,   413,   263,   414,   260,
1160 <      -1,   414,   264,   415,    -1,   415,    -1,    92,    -1,   244,
1161 <      -1,   247,    -1,   257,    -1,   245,    -1,   239,    -1,   171,
1162 <      -1,   246,    -1,   238,    -1,   218,    -1,   203,    -1,    -1,
1163 <      29,   417,   418,   262,   419,   261,   260,    -1,    -1,   422,
1164 <      -1,   419,   420,    -1,   420,    -1,   421,    -1,   423,    -1,
1165 <     424,    -1,   425,    -1,   426,    -1,   428,    -1,   427,    -1,
1166 <     429,    -1,   438,    -1,   439,    -1,   440,    -1,   437,    -1,
1167 <     436,    -1,   441,    -1,     1,   260,    -1,   120,   263,   153,
1168 <     260,    -1,   153,    -1,    83,   263,   153,   260,    -1,   255,
1169 <     263,   153,   260,    -1,   179,   263,   153,   260,    -1,     3,
1170 <     263,   153,   260,    -1,   152,   263,   131,   260,    -1,     6,
1171 <     263,   216,   260,    -1,     6,   263,   217,   260,    -1,    -1,
1172 <      53,   430,   263,   431,   260,    -1,   431,   264,   432,    -1,
1173 <     432,    -1,    -1,   130,   433,   435,    -1,    -1,   434,   435,
1174 <      -1,    27,    -1,    31,    -1,    10,    -1,    12,    -1,   242,
1175 <      -1,   166,   263,   153,   260,    -1,    49,   263,   197,   260,
1176 <      -1,    85,   263,   153,   260,    -1,    98,   263,   153,   260,
1177 <      -1,    26,   263,   153,   260,    -1,    25,   263,   153,   260,
1178 <      -1,    -1,    90,   443,   262,   448,   261,   260,    -1,    -1,
1179 <     187,   445,   263,   446,   260,    -1,   446,   264,   447,    -1,
1180 <     447,    -1,   158,    -1,   448,   449,    -1,   449,    -1,   450,
1181 <      -1,   451,    -1,   444,    -1,     1,    -1,   248,   263,   153,
1182 <     260,    -1,   155,   263,   153,   260,    -1,    -1,    36,   453,
1183 <     262,   454,   261,   260,    -1,   454,   455,    -1,   455,    -1,
1184 <     456,    -1,   457,    -1,     1,    -1,    89,   263,   153,   260,
1185 <      -1,   155,   263,   153,   260,    -1,    51,   262,   459,   261,
1186 <     260,    -1,   459,   460,    -1,   460,    -1,   461,    -1,     1,
1187 <      -1,    89,   263,   153,   260,    -1,    -1,    63,   463,   262,
1188 <     468,   261,   260,    -1,    -1,   187,   465,   263,   466,   260,
1189 <      -1,   466,   264,   467,    -1,   467,    -1,   158,    -1,   468,
1190 <     469,    -1,   469,    -1,   470,    -1,   471,    -1,   464,    -1,
1191 <       1,    -1,   120,   263,   153,   260,    -1,   155,   263,   153,
1192 <     260,    -1,    64,   262,   473,   261,   260,    -1,   473,   474,
1193 <      -1,   474,    -1,   483,    -1,   484,    -1,   486,    -1,   487,
1194 <      -1,   488,    -1,   489,    -1,   490,    -1,   491,    -1,   492,
1195 <      -1,   493,    -1,   482,    -1,   495,    -1,   496,    -1,   497,
1196 <      -1,   498,    -1,   514,    -1,   500,    -1,   502,    -1,   504,
1197 <      -1,   503,    -1,   507,    -1,   501,    -1,   508,    -1,   509,
1198 <      -1,   510,    -1,   511,    -1,   513,    -1,   512,    -1,   528,
1199 <      -1,   515,    -1,   519,    -1,   520,    -1,   524,    -1,   505,
1200 <      -1,   506,    -1,   534,    -1,   532,    -1,   533,    -1,   516,
1201 <      -1,   485,    -1,   517,    -1,   518,    -1,   535,    -1,   523,
1202 <      -1,   494,    -1,   521,    -1,   522,    -1,   478,    -1,   481,
1203 <      -1,   476,    -1,   477,    -1,   479,    -1,   480,    -1,   499,
1204 <      -1,   475,    -1,     1,    -1,   114,   263,   131,   260,    -1,
1205 <      70,   263,   131,   260,    -1,    71,   263,   131,   260,    -1,
1206 <      12,   263,   197,   260,    -1,   254,   263,   197,   260,    -1,
1207 <     160,   263,   269,   260,    -1,   184,   263,   197,   260,    -1,
1208 <      91,   263,   269,   260,    -1,    82,   263,   197,   260,    -1,
1209 <      87,   263,   197,   260,    -1,    43,   263,   197,   260,    -1,
1210 <      52,   263,   197,   260,    -1,     8,   263,   197,   260,    -1,
1211 <     111,   263,   269,   260,    -1,   110,   263,   131,   260,    -1,
1212 <     104,   263,   131,   260,    -1,     9,   263,   269,   260,    -1,
1213 <     201,   263,   269,   260,    -1,   200,   263,   269,   260,    -1,
1214 <      75,   263,   131,   260,    -1,    95,   263,   197,   260,    -1,
1215 <      94,   263,   153,   260,    -1,    88,   263,   197,   260,    -1,
1216 <     259,   263,   197,   260,    -1,   192,   263,   197,   260,    -1,
1217 <     195,   263,   197,   260,    -1,   196,   263,   197,   260,    -1,
1218 <     194,   263,   197,   260,    -1,   194,   263,   198,   260,    -1,
1219 <     193,   263,   197,   260,    -1,   193,   263,   198,   260,    -1,
1220 <     145,   263,   269,   260,    -1,    19,   263,   269,   260,    -1,
1221 <     137,   263,   197,   260,    -1,   146,   263,   269,   260,    -1,
1222 <     188,   263,   197,   260,    -1,   128,   263,   197,   260,    -1,
1223 <     243,   263,   197,   260,    -1,   140,   263,   197,   260,    -1,
1224 <     115,   263,   153,   260,    -1,    86,   263,   269,   260,    -1,
1225 <      44,   263,   131,   260,    -1,   113,   263,   131,   260,    -1,
1226 <     182,   263,   153,   260,    -1,    32,   263,   153,   260,    -1,
1227 <      28,   263,   131,   260,    -1,   249,   263,   197,   260,    -1,
1228 <      46,   263,   153,   260,    -1,   149,   263,   197,   260,    -1,
1229 <      39,   263,   197,   260,    -1,   241,   263,   269,   260,    -1,
1230 <      -1,   142,   525,   263,   526,   260,    -1,   526,   264,   527,
1231 <      -1,   527,    -1,   204,    -1,   207,    -1,   208,    -1,   210,
1232 <      -1,   211,    -1,   214,    -1,   233,    -1,   228,    -1,   230,
1233 <      -1,   237,    -1,   234,    -1,   213,    -1,   229,    -1,   232,
1234 <      -1,   215,    -1,   240,    -1,   205,    -1,   206,    -1,   218,
1235 <      -1,    -1,   139,   529,   263,   530,   260,    -1,   530,   264,
1236 <     531,    -1,   531,    -1,   204,    -1,   207,    -1,   208,    -1,
1237 <     210,    -1,   211,    -1,   214,    -1,   233,    -1,   228,    -1,
1238 <     230,    -1,   237,    -1,   234,    -1,   213,    -1,   229,    -1,
1239 <     232,    -1,   215,    -1,   240,    -1,   205,    -1,   206,    -1,
1240 <     218,    -1,   116,   263,   131,   260,    -1,   117,   263,   131,
1241 <     260,    -1,    33,   263,   131,   260,    -1,   209,   263,   271,
1242 <     260,    -1,    -1,    66,   537,   262,   538,   261,   260,    -1,
1243 <     538,   539,    -1,   539,    -1,   540,    -1,   541,    -1,   542,
1244 <      -1,   546,    -1,   547,    -1,   548,    -1,     1,    -1,    48,
1245 <     263,   197,   260,    -1,    45,   263,   269,   260,    -1,    -1,
1246 <     102,   543,   263,   544,   260,    -1,   544,   264,   545,    -1,
1247 <     545,    -1,   199,    -1,    11,    -1,   248,   263,   153,   260,
1248 <      -1,   120,   263,   153,   260,    -1,    -1,     4,   549,   263,
1249 <     550,   260,    -1,   550,   264,   551,    -1,   551,    -1,   199,
1250 <      -1,    11,    -1,    22,   262,   553,   261,   260,    -1,   553,
1251 <     554,    -1,   554,    -1,   557,    -1,   558,    -1,   559,    -1,
1252 <     560,    -1,   565,    -1,   561,    -1,   562,    -1,   563,    -1,
1253 <     564,    -1,   566,    -1,   567,    -1,   568,    -1,   556,    -1,
1254 <     569,    -1,   570,    -1,   571,    -1,   572,    -1,   555,    -1,
1255 <       1,    -1,    40,   263,   197,   260,    -1,   163,   263,   197,
1256 <     260,    -1,    42,   263,   197,   260,    -1,   250,   263,   197,
1257 <     260,    -1,   251,   263,   197,   260,    -1,   252,   263,   197,
1258 <     260,    -1,    96,   263,   269,   260,    -1,    97,   263,   269,
1259 <     260,    -1,   106,   263,   131,   260,    -1,   154,   263,   197,
1260 <     260,    -1,   105,   263,   131,   260,    -1,    35,   263,   131,
1261 <     260,    -1,    34,   263,   131,   260,    -1,   126,   263,   197,
1262 <     260,    -1,   127,   263,   197,   260,    -1,    13,   263,   197,
1263 <     260,    -1,   143,   263,   131,   260,    -1,   144,   263,   269,
1325 <     260,    -1,   180,   262,   574,   261,   260,    -1,   574,   575,
1326 <      -1,   575,    -1,   576,    -1,   577,    -1,   579,    -1,   581,
1327 <      -1,   580,    -1,   578,    -1,   582,    -1,     1,    -1,    54,
1328 <     263,   197,   260,    -1,    81,   263,   197,   260,    -1,    78,
1329 <     263,   153,   260,    -1,    99,   263,   269,   260,    -1,    76,
1330 <     263,   197,   260,    -1,    41,   263,   197,   260,    -1,    80,
1331 <     263,   197,   260,    -1
1060 >     247,     0,    -1,    -1,   247,   248,    -1,   280,    -1,   286,
1061 >      -1,   300,    -1,   520,    -1,   318,    -1,   335,    -1,   349,
1062 >      -1,   258,    -1,   541,    -1,   364,    -1,   371,    -1,   375,
1063 >      -1,   385,    -1,   394,    -1,   414,    -1,   424,    -1,   430,
1064 >      -1,   444,    -1,   504,    -1,   434,    -1,   253,    -1,     1,
1065 >     241,    -1,     1,   242,    -1,    -1,   250,    -1,   110,   249,
1066 >      -1,   110,   153,   249,    -1,   110,   154,   249,    -1,   110,
1067 >     155,   249,    -1,   110,   156,   249,    -1,   110,   157,   249,
1068 >      -1,    -1,   252,    -1,   110,   251,    -1,   110,    14,   251,
1069 >      -1,   110,    15,   251,    -1,   110,    16,   251,    -1,    99,
1070 >     243,   254,   242,   241,    -1,   254,   255,    -1,   255,    -1,
1071 >     256,    -1,   257,    -1,     1,   241,    -1,    98,   244,   131,
1072 >     241,    -1,   126,   244,   131,   241,    -1,   161,   243,   259,
1073 >     242,   241,    -1,   259,   260,    -1,   260,    -1,   271,    -1,
1074 >     276,    -1,   279,    -1,   273,    -1,   274,    -1,   275,    -1,
1075 >     278,    -1,   269,    -1,   268,    -1,   277,    -1,   272,    -1,
1076 >     267,    -1,   261,    -1,   262,    -1,   270,    -1,     1,   241,
1077 >      -1,   147,   244,   263,   241,    -1,   148,   244,   265,   241,
1078 >      -1,   263,   245,   264,    -1,   264,    -1,   149,    -1,   150,
1079 >      -1,   265,   245,   266,    -1,   266,    -1,   149,    -1,   150,
1080 >      -1,   145,   244,   131,   241,    -1,   143,   244,   131,   241,
1081 >      -1,   146,   244,   131,   241,    -1,   188,   244,   131,   241,
1082 >      -1,   100,   244,   131,   241,    -1,   162,   244,   131,   241,
1083 >      -1,    31,   244,   131,   241,    -1,   103,   244,   131,   241,
1084 >      -1,   102,   244,   131,   241,    -1,   234,   244,   131,   241,
1085 >      -1,   235,   244,   131,   241,    -1,   200,   244,   110,   241,
1086 >      -1,    67,   244,   176,   241,    -1,     5,   243,   281,   242,
1087 >     241,    -1,   281,   282,    -1,   282,    -1,   283,    -1,   285,
1088 >      -1,   284,    -1,     1,   241,    -1,   100,   244,   131,   241,
1089 >      -1,    41,   244,   131,   241,    -1,    31,   244,   131,   241,
1090 >      -1,    83,   243,   287,   242,   241,    -1,   287,   288,    -1,
1091 >     288,    -1,   289,    -1,   290,    -1,     1,   241,    -1,   232,
1092 >     244,   176,   241,    -1,    -1,   291,   240,   243,   292,   242,
1093 >     241,    -1,   292,   293,    -1,   293,    -1,   294,    -1,   296,
1094 >      -1,   295,    -1,     1,   241,    -1,   100,   244,   131,   241,
1095 >      -1,   239,   244,   252,   241,    -1,   239,   244,   212,   241,
1096 >      -1,    -1,   166,   297,   244,   298,   241,    -1,   298,   245,
1097 >     299,    -1,   299,    -1,   227,    -1,   115,    -1,    51,    -1,
1098 >     192,    -1,    74,    -1,    72,    -1,   191,    -1,    -1,   115,
1099 >     301,   243,   302,   242,   241,    -1,   302,   303,    -1,   303,
1100 >      -1,   304,    -1,   305,    -1,   306,    -1,   310,    -1,   309,
1101 >      -1,   307,    -1,   308,    -1,   314,    -1,     1,   241,    -1,
1102 >     100,   244,   131,   241,    -1,   227,   244,   131,   241,    -1,
1103 >     125,   244,   131,   241,    -1,    43,   244,   176,   241,    -1,
1104 >     144,   244,   131,   241,    -1,    24,   244,   131,   241,    -1,
1105 >      -1,   209,   311,   244,   312,   241,    -1,   312,   245,   313,
1106 >      -1,   313,    -1,   183,    -1,   186,    -1,   187,    -1,   190,
1107 >      -1,   191,    -1,   195,    -1,    61,    -1,   206,    -1,   201,
1108 >      -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,   202,
1109 >      -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,   185,
1110 >      -1,   199,    -1,    -1,    47,   315,   244,   316,   241,    -1,
1111 >     316,   245,   317,    -1,   317,    -1,    57,    -1,   139,    -1,
1112 >      74,    -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,
1113 >      51,    -1,    32,    -1,   217,    -1,   137,    -1,     5,    -1,
1114 >     105,    -1,   202,    -1,   215,    -1,   119,    -1,   140,    -1,
1115 >      98,    -1,    -1,    24,   319,   243,   320,   242,   241,    -1,
1116 >     320,   321,    -1,   321,    -1,   322,    -1,   332,    -1,   333,
1117 >      -1,   323,    -1,   324,    -1,   334,    -1,   325,    -1,   326,
1118 >      -1,   327,    -1,   328,    -1,   329,    -1,   330,    -1,   331,
1119 >      -1,     1,   241,    -1,   100,   244,   131,   241,    -1,   128,
1120 >     244,   250,   241,    -1,   129,   244,   250,   241,    -1,   113,
1121 >     244,   110,   241,    -1,    26,   244,   250,   241,    -1,    92,
1122 >     244,   110,   241,    -1,    87,   244,   110,   241,    -1,    89,
1123 >     244,   110,   241,    -1,    88,   244,   110,   241,    -1,   158,
1124 >     244,   252,   241,    -1,    22,   244,   110,   241,    -1,    23,
1125 >     244,   110,   241,    -1,   112,   244,   110,   241,    -1,    -1,
1126 >      82,   336,   243,   341,   242,   241,    -1,    -1,    47,   338,
1127 >     244,   339,   241,    -1,   339,   245,   340,    -1,   340,    -1,
1128 >     208,    -1,    61,    -1,   204,    -1,   341,   342,    -1,   342,
1129 >      -1,   343,    -1,   337,    -1,   347,    -1,   348,    -1,     1,
1130 >     241,    -1,    -1,   130,   244,   345,   344,   241,    -1,   345,
1131 >     245,   346,    -1,   346,    -1,   110,    -1,   110,   181,   110,
1132 >      -1,    71,   244,   131,   241,    -1,    66,   244,   131,   241,
1133 >      -1,    -1,    58,   350,   243,   351,   242,   241,    -1,   351,
1134 >     352,    -1,   352,    -1,   353,    -1,   354,    -1,   355,    -1,
1135 >     357,    -1,   361,    -1,   362,    -1,   363,    -1,   356,    -1,
1136 >       1,   241,    -1,   227,   244,   131,   241,    -1,   125,   244,
1137 >     131,   241,    -1,    24,   244,   131,   241,    -1,    43,   244,
1138 >     176,   241,    -1,    -1,    47,   358,   244,   359,   241,    -1,
1139 >     359,   245,   360,    -1,   360,    -1,   170,    -1,    44,    -1,
1140 >      75,    -1,    59,    -1,    20,    -1,   109,    -1,    53,    -1,
1141 >     152,    -1,   101,    -1,   169,   244,   131,   241,    -1,   135,
1142 >     244,   131,   241,    -1,   134,   244,   110,   241,    -1,    -1,
1143 >     151,   365,   243,   366,   242,   241,    -1,   366,   367,    -1,
1144 >     367,    -1,   368,    -1,   369,    -1,   370,    -1,     1,   241,
1145 >      -1,   133,   244,   131,   241,    -1,    21,   244,   131,   241,
1146 >      -1,   104,   244,   131,   241,    -1,   218,   243,   372,   242,
1147 >     241,    -1,   372,   373,    -1,   373,    -1,   374,    -1,     1,
1148 >      -1,   100,   244,   131,   241,    -1,    -1,   164,   376,   243,
1149 >     377,   242,   241,    -1,   377,   378,    -1,   378,    -1,   379,
1150 >      -1,   380,    -1,   381,    -1,     1,   241,    -1,   100,   244,
1151 >     131,   241,    -1,   227,   244,   131,   241,    -1,    -1,   166,
1152 >     382,   244,   383,   241,    -1,   383,   245,   384,    -1,   384,
1153 >      -1,    74,    -1,   226,    -1,   192,    -1,   211,    -1,   236,
1154 >      -1,   214,    -1,   151,    -1,   213,    -1,   199,    -1,   182,
1155 >      -1,    -1,   165,   386,   243,   387,   242,   241,    -1,   387,
1156 >     388,    -1,   388,    -1,   389,    -1,   390,    -1,     1,   241,
1157 >      -1,   100,   244,   131,   241,    -1,    -1,   166,   391,   244,
1158 >     392,   241,    -1,   392,   245,   393,    -1,   393,    -1,    74,
1159 >      -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,   214,
1160 >      -1,   151,    -1,   213,    -1,   199,    -1,   182,    -1,    -1,
1161 >      25,   395,   243,   396,   242,   241,    -1,   396,   397,    -1,
1162 >     397,    -1,   398,    -1,   399,    -1,   400,    -1,   401,    -1,
1163 >     402,    -1,   404,    -1,   403,    -1,   413,    -1,   405,    -1,
1164 >     410,    -1,   411,    -1,   412,    -1,   409,    -1,     1,   241,
1165 >      -1,   100,   244,   131,   241,    -1,    66,   244,   131,   241,
1166 >      -1,   234,   244,   131,   241,    -1,   159,   244,   131,   241,
1167 >      -1,     3,   244,   131,   241,    -1,   130,   244,   110,   241,
1168 >      -1,     6,   244,   197,   241,    -1,     6,   244,   198,   241,
1169 >      -1,    -1,    47,   406,   244,   407,   241,    -1,   407,   245,
1170 >     408,    -1,   408,    -1,    10,    -1,    12,    -1,   221,    -1,
1171 >     208,    -1,    43,   244,   176,   241,    -1,    68,   244,   131,
1172 >     241,    -1,    80,   244,   131,   241,    -1,    24,   244,   131,
1173 >     241,    -1,   188,   244,   131,   241,    -1,    -1,    72,   415,
1174 >     243,   420,   242,   241,    -1,    -1,   166,   417,   244,   418,
1175 >     241,    -1,   418,   245,   419,    -1,   419,    -1,   136,    -1,
1176 >     420,   421,    -1,   421,    -1,   422,    -1,   423,    -1,   416,
1177 >      -1,     1,    -1,   227,   244,   131,   241,    -1,   133,   244,
1178 >     131,   241,    -1,    -1,    30,   425,   243,   426,   242,   241,
1179 >      -1,   426,   427,    -1,   427,    -1,   428,    -1,   429,    -1,
1180 >       1,    -1,    71,   244,   131,   241,    -1,   133,   244,   131,
1181 >     241,    -1,    45,   243,   431,   242,   241,    -1,   431,   432,
1182 >      -1,   432,    -1,   433,    -1,     1,    -1,    71,   244,   131,
1183 >     241,    -1,    -1,    49,   435,   243,   440,   242,   241,    -1,
1184 >      -1,   166,   437,   244,   438,   241,    -1,   438,   245,   439,
1185 >      -1,   439,    -1,   136,    -1,   440,   441,    -1,   441,    -1,
1186 >     442,    -1,   443,    -1,   436,    -1,     1,    -1,   100,   244,
1187 >     131,   241,    -1,   133,   244,   131,   241,    -1,    50,   243,
1188 >     445,   242,   241,    -1,   445,   446,    -1,   446,    -1,   454,
1189 >      -1,   455,    -1,   457,    -1,   458,    -1,   459,    -1,   460,
1190 >      -1,   461,    -1,   462,    -1,   463,    -1,   464,    -1,   453,
1191 >      -1,   466,    -1,   467,    -1,   468,    -1,   469,    -1,   484,
1192 >      -1,   471,    -1,   473,    -1,   475,    -1,   474,    -1,   478,
1193 >      -1,   472,    -1,   479,    -1,   480,    -1,   481,    -1,   482,
1194 >      -1,   483,    -1,   496,    -1,   485,    -1,   486,    -1,   487,
1195 >      -1,   492,    -1,   476,    -1,   477,    -1,   502,    -1,   500,
1196 >      -1,   501,    -1,   456,    -1,   503,    -1,   491,    -1,   465,
1197 >      -1,   489,    -1,   490,    -1,   452,    -1,   448,    -1,   449,
1198 >      -1,   450,    -1,   451,    -1,   470,    -1,   447,    -1,   488,
1199 >      -1,     1,    -1,    94,   244,   110,   241,    -1,    55,   244,
1200 >     110,   241,    -1,    56,   244,   110,   241,    -1,   233,   244,
1201 >     176,   241,    -1,   138,   244,   250,   241,    -1,   163,   244,
1202 >     176,   241,    -1,    73,   244,   250,   241,    -1,    65,   244,
1203 >     176,   241,    -1,    69,   244,   176,   241,    -1,    37,   244,
1204 >     176,   241,    -1,    46,   244,   176,   241,    -1,     8,   244,
1205 >     176,   241,    -1,    91,   244,   250,   241,    -1,    90,   244,
1206 >     110,   241,    -1,    84,   244,   110,   241,    -1,     9,   244,
1207 >     250,   241,    -1,   180,   244,   250,   241,    -1,   179,   244,
1208 >     250,   241,    -1,    60,   244,   110,   241,    -1,    77,   244,
1209 >     176,   241,    -1,    76,   244,   131,   241,    -1,    70,   244,
1210 >     176,   241,    -1,   238,   244,   176,   241,    -1,   171,   244,
1211 >     176,   241,    -1,   174,   244,   176,   241,    -1,   175,   244,
1212 >     176,   241,    -1,   173,   244,   176,   241,    -1,   173,   244,
1213 >     177,   241,    -1,   172,   244,   176,   241,    -1,   172,   244,
1214 >     177,   241,    -1,   123,   244,   250,   241,    -1,    19,   244,
1215 >     250,   241,    -1,   116,   244,   176,   241,    -1,   124,   244,
1216 >     250,   241,    -1,   167,   244,   176,   241,    -1,   108,   244,
1217 >     176,   241,    -1,   222,   244,   176,   241,    -1,   118,   244,
1218 >     176,   241,    -1,    95,   244,   131,   241,    -1,    38,   244,
1219 >     110,   241,    -1,    93,   244,   110,   241,    -1,   228,   244,
1220 >     176,   241,    -1,    40,   244,   131,   241,    -1,   219,   244,
1221 >     131,   241,    -1,   127,   244,   176,   241,    -1,    33,   244,
1222 >     176,   241,    -1,   220,   244,   250,   241,    -1,    -1,   120,
1223 >     493,   244,   494,   241,    -1,   494,   245,   495,    -1,   495,
1224 >      -1,   183,    -1,   186,    -1,   187,    -1,   190,    -1,   191,
1225 >      -1,   195,    -1,    61,    -1,   206,    -1,   201,    -1,   203,
1226 >      -1,   210,    -1,   207,    -1,   194,    -1,   202,    -1,   205,
1227 >      -1,   196,    -1,   216,    -1,   184,    -1,   185,    -1,   199,
1228 >      -1,    -1,   117,   497,   244,   498,   241,    -1,   498,   245,
1229 >     499,    -1,   499,    -1,   183,    -1,   186,    -1,   187,    -1,
1230 >     190,    -1,   191,    -1,   195,    -1,   206,    -1,    61,    -1,
1231 >     201,    -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,
1232 >     202,    -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,
1233 >     185,    -1,   199,    -1,    96,   244,   110,   241,    -1,    97,
1234 >     244,   110,   241,    -1,    27,   244,   110,   241,    -1,   189,
1235 >     244,   252,   241,    -1,    -1,    52,   505,   243,   506,   242,
1236 >     241,    -1,   506,   507,    -1,   507,    -1,   508,    -1,   509,
1237 >      -1,   510,    -1,   514,    -1,   515,    -1,   516,    -1,     1,
1238 >      -1,    42,   244,   176,   241,    -1,    39,   244,   250,   241,
1239 >      -1,    -1,    83,   511,   244,   512,   241,    -1,   512,   245,
1240 >     513,    -1,   513,    -1,   178,    -1,    11,    -1,   227,   244,
1241 >     131,   241,    -1,   100,   244,   131,   241,    -1,    -1,     4,
1242 >     517,   244,   518,   241,    -1,   518,   245,   519,    -1,   519,
1243 >      -1,   178,    -1,    11,    -1,    21,   243,   521,   242,   241,
1244 >      -1,   521,   522,    -1,   522,    -1,   525,    -1,   526,    -1,
1245 >     527,    -1,   528,    -1,   533,    -1,   529,    -1,   530,    -1,
1246 >     531,    -1,   532,    -1,   534,    -1,   535,    -1,   536,    -1,
1247 >     524,    -1,   537,    -1,   538,    -1,   539,    -1,   540,    -1,
1248 >     523,    -1,     1,    -1,    34,   244,   176,   241,    -1,   141,
1249 >     244,   176,   241,    -1,    36,   244,   176,   241,    -1,   229,
1250 >     244,   176,   241,    -1,   230,   244,   176,   241,    -1,   231,
1251 >     244,   176,   241,    -1,    78,   244,   250,   241,    -1,    79,
1252 >     244,   250,   241,    -1,    86,   244,   110,   241,    -1,   132,
1253 >     244,   176,   241,    -1,    85,   244,   110,   241,    -1,    29,
1254 >     244,   110,   241,    -1,    28,   244,   110,   241,    -1,   106,
1255 >     244,   176,   241,    -1,   107,   244,   176,   241,    -1,    13,
1256 >     244,   176,   241,    -1,   121,   244,   110,   241,    -1,   122,
1257 >     244,   250,   241,    -1,   160,   243,   542,   242,   241,    -1,
1258 >     542,   543,    -1,   543,    -1,   544,    -1,   545,    -1,   547,
1259 >      -1,   549,    -1,   548,    -1,   546,    -1,   550,    -1,     1,
1260 >      -1,    48,   244,   176,   241,    -1,    64,   244,   176,   241,
1261 >      -1,    62,   244,   131,   241,    -1,    81,   244,   250,   241,
1262 >      -1,    61,   244,   176,   241,    -1,    35,   244,   176,   241,
1263 >      -1,    63,   244,   176,   241,    -1
1264   };
1265  
1266   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1267   static const yytype_uint16 yyrline[] =
1268   {
1269 <       0,   395,   395,   396,   399,   400,   401,   402,   403,   404,
1270 <     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1271 <     415,   416,   417,   418,   419,   420,   424,   424,   425,   429,
1272 <     433,   437,   441,   445,   451,   451,   452,   453,   454,   455,
1273 <     462,   465,   465,   466,   466,   466,   468,   474,   481,   483,
1274 <     483,   484,   484,   485,   485,   486,   486,   487,   488,   488,
1275 <     489,   489,   490,   491,   495,   494,   513,   513,   514,   520,
1276 <     528,   562,   622,   637,   652,   661,   675,   684,   712,   742,
1269 >       0,   354,   354,   355,   358,   359,   360,   361,   362,   363,
1270 >     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
1271 >     374,   375,   376,   377,   378,   379,   380,   384,   384,   385,
1272 >     389,   393,   397,   401,   405,   411,   411,   412,   413,   414,
1273 >     415,   422,   425,   425,   426,   426,   426,   428,   434,   441,
1274 >     443,   443,   444,   444,   445,   445,   446,   446,   447,   447,
1275 >     448,   448,   449,   449,   450,   450,   451,   452,   455,   456,
1276 >     458,   458,   459,   465,   473,   473,   474,   480,   488,   527,
1277 >     586,   614,   622,   637,   652,   661,   675,   684,   712,   742,
1278       765,   774,   776,   776,   777,   777,   778,   778,   780,   789,
1279 <     798,   811,   813,   814,   816,   816,   817,   818,   818,   819,
1280 <     819,   820,   820,   821,   821,   822,   823,   825,   829,   833,
1281 <     840,   847,   854,   861,   868,   875,   882,   889,   893,   897,
1282 <     901,   905,   909,   913,   919,   929,   928,  1022,  1022,  1023,
1283 <    1023,  1024,  1024,  1024,  1025,  1025,  1025,  1026,  1026,  1026,
1284 <    1028,  1040,  1052,  1086,  1098,  1109,  1151,  1161,  1160,  1166,
1285 <    1166,  1167,  1171,  1175,  1179,  1183,  1187,  1191,  1195,  1199,
1286 <    1203,  1207,  1211,  1215,  1219,  1223,  1227,  1231,  1235,  1239,
1287 <    1246,  1245,  1249,  1249,  1250,  1250,  1251,  1251,  1253,  1260,
1288 <    1267,  1274,  1281,  1288,  1295,  1302,  1309,  1316,  1323,  1330,
1289 <    1337,  1344,  1351,  1358,  1372,  1371,  1421,  1421,  1423,  1423,
1290 <    1424,  1425,  1425,  1426,  1427,  1428,  1429,  1430,  1431,  1432,
1291 <    1433,  1434,  1435,  1436,  1438,  1447,  1456,  1462,  1468,  1474,
1292 <    1480,  1486,  1492,  1498,  1504,  1510,  1516,  1522,  1532,  1531,
1293 <    1548,  1547,  1552,  1552,  1553,  1557,  1561,  1569,  1569,  1570,
1294 <    1570,  1570,  1570,  1570,  1572,  1572,  1574,  1574,  1576,  1590,
1295 <    1610,  1619,  1632,  1631,  1700,  1700,  1701,  1701,  1701,  1701,
1296 <    1702,  1702,  1702,  1703,  1703,  1705,  1742,  1755,  1764,  1776,
1297 <    1775,  1779,  1779,  1780,  1780,  1781,  1781,  1783,  1790,  1797,
1298 <    1804,  1811,  1818,  1825,  1832,  1839,  1846,  1856,  1875,  1885,
1299 <    1899,  1898,  1914,  1914,  1915,  1915,  1915,  1915,  1917,  1926,
1300 <    1941,  1955,  1954,  1970,  1970,  1971,  1971,  1971,  1971,  1973,
1301 <    1982,  2005,  2004,  2010,  2010,  2011,  2015,  2019,  2023,  2027,
1302 <    2031,  2035,  2039,  2043,  2047,  2051,  2061,  2060,  2077,  2077,
1303 <    2078,  2078,  2078,  2080,  2087,  2086,  2092,  2092,  2093,  2097,
1304 <    2101,  2105,  2109,  2113,  2117,  2121,  2125,  2129,  2133,  2143,
1305 <    2142,  2288,  2288,  2289,  2289,  2290,  2290,  2290,  2291,  2291,
1306 <    2292,  2292,  2293,  2293,  2293,  2294,  2294,  2295,  2295,  2296,
1307 <    2298,  2310,  2322,  2331,  2357,  2375,  2393,  2399,  2403,  2412,
1308 <    2411,  2415,  2415,  2416,  2416,  2417,  2417,  2419,  2430,  2437,
1309 <    2444,  2451,  2461,  2502,  2513,  2526,  2539,  2548,  2584,  2583,
1310 <    2647,  2646,  2650,  2650,  2651,  2657,  2657,  2658,  2658,  2658,
1311 <    2658,  2660,  2679,  2689,  2688,  2711,  2711,  2712,  2712,  2712,
1312 <    2714,  2720,  2729,  2731,  2731,  2732,  2732,  2734,  2753,  2752,
1313 <    2800,  2799,  2803,  2803,  2804,  2810,  2810,  2811,  2811,  2811,
1314 <    2811,  2813,  2819,  2828,  2831,  2831,  2832,  2832,  2833,  2833,
1315 <    2834,  2834,  2835,  2835,  2836,  2836,  2837,  2837,  2838,  2838,
1316 <    2839,  2839,  2840,  2840,  2841,  2841,  2842,  2842,  2843,  2843,
1317 <    2844,  2844,  2845,  2845,  2846,  2846,  2847,  2847,  2848,  2848,
1318 <    2849,  2849,  2850,  2850,  2851,  2851,  2852,  2853,  2853,  2854,
1319 <    2854,  2855,  2856,  2856,  2857,  2857,  2858,  2858,  2859,  2859,
1320 <    2860,  2861,  2864,  2869,  2874,  2879,  2884,  2889,  2894,  2899,
1321 <    2904,  2909,  2914,  2919,  2924,  2929,  2934,  2939,  2944,  2949,
1322 <    2954,  2960,  2971,  2976,  2985,  2990,  2995,  3000,  3005,  3010,
1323 <    3013,  3018,  3021,  3026,  3031,  3036,  3041,  3046,  3051,  3056,
1324 <    3061,  3066,  3077,  3082,  3087,  3092,  3101,  3133,  3151,  3156,
1325 <    3165,  3170,  3175,  3181,  3180,  3185,  3185,  3186,  3189,  3192,
1326 <    3195,  3198,  3201,  3204,  3207,  3210,  3213,  3216,  3219,  3222,
1327 <    3225,  3228,  3231,  3234,  3237,  3240,  3246,  3245,  3250,  3250,
1328 <    3251,  3254,  3257,  3260,  3263,  3266,  3269,  3272,  3275,  3278,
1329 <    3281,  3284,  3287,  3290,  3293,  3296,  3299,  3302,  3305,  3310,
1330 <    3315,  3320,  3325,  3335,  3334,  3358,  3358,  3359,  3360,  3361,
1331 <    3362,  3363,  3364,  3365,  3367,  3373,  3380,  3379,  3384,  3384,
1332 <    3385,  3389,  3395,  3429,  3439,  3438,  3488,  3488,  3489,  3493,
1333 <    3502,  3505,  3505,  3506,  3506,  3507,  3507,  3508,  3508,  3509,
1334 <    3509,  3510,  3510,  3511,  3512,  3512,  3513,  3513,  3514,  3514,
1335 <    3515,  3515,  3517,  3522,  3527,  3532,  3537,  3542,  3547,  3552,
1403 <    3557,  3562,  3567,  3572,  3577,  3582,  3587,  3592,  3597,  3602,
1404 <    3610,  3613,  3613,  3614,  3614,  3615,  3616,  3617,  3617,  3618,
1405 <    3619,  3621,  3627,  3633,  3642,  3656,  3662,  3668
1279 >     798,   810,   811,   811,   813,   813,   814,   816,   823,   823,
1280 >     833,   834,   836,   836,   837,   837,   839,   844,   847,   853,
1281 >     852,   858,   858,   859,   863,   867,   871,   875,   879,   883,
1282 >     894,   893,   991,   991,   992,   992,   992,   993,   993,   993,
1283 >     994,   994,   994,   996,  1005,  1042,  1054,  1065,  1107,  1117,
1284 >    1116,  1122,  1122,  1123,  1127,  1131,  1135,  1139,  1143,  1147,
1285 >    1151,  1155,  1159,  1163,  1167,  1171,  1175,  1179,  1183,  1187,
1286 >    1191,  1195,  1199,  1206,  1205,  1211,  1211,  1212,  1216,  1220,
1287 >    1224,  1228,  1232,  1236,  1240,  1244,  1248,  1252,  1256,  1260,
1288 >    1264,  1268,  1272,  1276,  1280,  1291,  1290,  1340,  1340,  1341,
1289 >    1342,  1342,  1343,  1344,  1345,  1346,  1347,  1348,  1349,  1350,
1290 >    1351,  1352,  1353,  1355,  1364,  1370,  1376,  1382,  1388,  1394,
1291 >    1400,  1406,  1412,  1418,  1424,  1430,  1440,  1439,  1456,  1455,
1292 >    1460,  1460,  1461,  1465,  1469,  1477,  1477,  1478,  1478,  1478,
1293 >    1478,  1478,  1480,  1480,  1482,  1482,  1484,  1498,  1518,  1527,
1294 >    1540,  1539,  1608,  1608,  1609,  1609,  1609,  1609,  1610,  1610,
1295 >    1610,  1611,  1611,  1613,  1650,  1663,  1672,  1684,  1683,  1687,
1296 >    1687,  1688,  1692,  1696,  1700,  1704,  1708,  1712,  1716,  1720,
1297 >    1727,  1746,  1756,  1770,  1769,  1785,  1785,  1786,  1786,  1786,
1298 >    1786,  1788,  1797,  1812,  1825,  1827,  1827,  1828,  1828,  1830,
1299 >    1846,  1845,  1861,  1861,  1862,  1862,  1862,  1862,  1864,  1873,
1300 >    1896,  1895,  1901,  1901,  1902,  1906,  1910,  1914,  1918,  1922,
1301 >    1926,  1930,  1934,  1938,  1948,  1947,  1964,  1964,  1965,  1965,
1302 >    1965,  1967,  1974,  1973,  1979,  1979,  1980,  1984,  1988,  1992,
1303 >    1996,  2000,  2004,  2008,  2012,  2016,  2026,  2025,  2076,  2076,
1304 >    2077,  2077,  2077,  2078,  2078,  2079,  2079,  2079,  2080,  2080,
1305 >    2080,  2081,  2081,  2082,  2084,  2093,  2102,  2128,  2146,  2164,
1306 >    2170,  2174,  2183,  2182,  2186,  2186,  2187,  2191,  2195,  2199,
1307 >    2205,  2216,  2227,  2238,  2247,  2266,  2265,  2331,  2330,  2334,
1308 >    2334,  2335,  2341,  2341,  2342,  2342,  2342,  2342,  2344,  2363,
1309 >    2373,  2372,  2397,  2397,  2398,  2398,  2398,  2400,  2406,  2415,
1310 >    2417,  2417,  2418,  2418,  2420,  2439,  2438,  2486,  2485,  2489,
1311 >    2489,  2490,  2496,  2496,  2497,  2497,  2497,  2497,  2499,  2505,
1312 >    2514,  2517,  2517,  2518,  2518,  2519,  2519,  2520,  2520,  2521,
1313 >    2521,  2522,  2522,  2523,  2523,  2524,  2524,  2525,  2525,  2526,
1314 >    2526,  2527,  2527,  2528,  2528,  2529,  2529,  2530,  2530,  2531,
1315 >    2532,  2532,  2533,  2533,  2534,  2534,  2535,  2535,  2536,  2536,
1316 >    2537,  2538,  2539,  2539,  2540,  2541,  2542,  2542,  2543,  2543,
1317 >    2544,  2544,  2545,  2545,  2546,  2549,  2554,  2559,  2564,  2569,
1318 >    2574,  2579,  2584,  2589,  2594,  2599,  2604,  2609,  2614,  2619,
1319 >    2624,  2629,  2634,  2640,  2651,  2656,  2665,  2670,  2675,  2680,
1320 >    2685,  2690,  2693,  2698,  2701,  2706,  2711,  2716,  2721,  2726,
1321 >    2731,  2736,  2741,  2746,  2757,  2762,  2767,  2772,  2781,  2790,
1322 >    2795,  2800,  2806,  2805,  2810,  2810,  2811,  2814,  2817,  2820,
1323 >    2823,  2826,  2829,  2832,  2835,  2838,  2841,  2844,  2847,  2850,
1324 >    2853,  2856,  2859,  2862,  2865,  2868,  2874,  2873,  2878,  2878,
1325 >    2879,  2882,  2885,  2888,  2891,  2894,  2897,  2900,  2903,  2906,
1326 >    2909,  2912,  2915,  2918,  2921,  2924,  2927,  2930,  2933,  2936,
1327 >    2941,  2946,  2951,  2956,  2966,  2965,  2989,  2989,  2990,  2991,
1328 >    2992,  2993,  2994,  2995,  2996,  2998,  3004,  3011,  3010,  3015,
1329 >    3015,  3016,  3020,  3026,  3060,  3070,  3069,  3119,  3119,  3120,
1330 >    3124,  3133,  3136,  3136,  3137,  3137,  3138,  3138,  3139,  3139,
1331 >    3140,  3140,  3141,  3141,  3142,  3143,  3143,  3144,  3144,  3145,
1332 >    3145,  3146,  3146,  3148,  3153,  3158,  3163,  3168,  3173,  3178,
1333 >    3183,  3188,  3193,  3198,  3203,  3208,  3213,  3218,  3223,  3228,
1334 >    3233,  3241,  3244,  3244,  3245,  3245,  3246,  3247,  3248,  3248,
1335 >    3249,  3250,  3252,  3258,  3264,  3273,  3287,  3293,  3299
1336   };
1337   #endif
1338  
# Line 1414 | Line 1344 | static const char *const yytname[] =
1344    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1345    "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1346    "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1347 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CAN_IDLE",
1348 <  "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE",
1349 <  "CLASS", "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ",
1350 <  "CRYPTLINK", "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1351 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1352 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1353 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1354 <  "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL", "ENABLE",
1355 <  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1356 <  "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1357 <  "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1358 <  "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1429 <  "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1430 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1431 <  "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1432 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IDLETIME",
1347 >  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1348 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1349 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1350 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1351 >  "DISABLE_FAKE_CHANNELS", "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS",
1352 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH",
1353 >  "EMAIL", "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1354 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1355 >  "GLINE", "GLINES", "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR",
1356 >  "GLINE_MIN_CIDR6", "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT",
1357 >  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_SERVER_IPS",
1358 >  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1359    "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1360    "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1361    "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1362 <  "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1363 <  "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1362 >  "LINKS_DELAY", "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS",
1363 >  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1364    "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1365    "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1366    "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1367    "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1368    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1369 <  "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1370 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1369 >  "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1370 >  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID",
1371    "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1372    "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1373    "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1374    "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1375    "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1376    "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1377 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1378 <  "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1379 <  "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1380 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1381 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1382 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1383 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1384 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1385 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1386 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1377 >  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",
1378 >  "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1379 >  "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1380 >  "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO", "IRCD_SID",
1381 >  "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD",
1382 >  "SILENT", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",
1383 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1384 >  "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT", "TS_MAX_DELTA",
1385 >  "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID",
1386 >  "T_CALLERID", "T_CCONN", "T_CCONN_FULL", "T_SSL_CIPHER_LIST",
1387 >  "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE", "T_DRONE",
1388    "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1389 <  "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1390 <  "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1391 <  "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1392 <  "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1393 <  "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1394 <  "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1395 <  "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1396 <  "XLINE", "WARN", "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','",
1389 >  "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER",
1390 >  "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH",
1391 >  "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1392 >  "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "THROTTLE_TIME",
1393 >  "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV",
1394 >  "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK",
1395 >  "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",
1396 >  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1397    "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1398    "sizespec", "modules_entry", "modules_items", "modules_item",
1399    "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1400 <  "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1401 <  "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1402 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1400 >  "serverinfo_item", "serverinfo_ssl_client_method",
1401 >  "serverinfo_ssl_server_method", "client_method_types",
1402 >  "client_method_type_item", "server_method_types",
1403 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1404 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1405 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1406    "serverinfo_description", "serverinfo_network_name",
1407    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1408    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1409    "admin_item", "admin_name", "admin_email", "admin_description",
1410 <  "logging_entry", "logging_items", "logging_item", "logging_path",
1411 <  "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1412 <  "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1413 <  "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1414 <  "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1415 <  "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1416 <  "oper_user", "oper_password", "oper_encrypted",
1417 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1418 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@4",
1489 <  "oper_flags_items", "oper_flags_item", "$@5", "$@6",
1490 <  "oper_flags_item_atom", "class_entry", "$@7", "class_name_b",
1491 <  "class_items", "class_item", "class_name", "class_name_t",
1410 >  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1411 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1412 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1413 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1414 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1415 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1416 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1417 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1418 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1419    "class_ping_time", "class_ping_warning", "class_number_per_ip",
1420    "class_connectfreq", "class_max_number", "class_max_global",
1421    "class_max_local", "class_max_ident", "class_sendq",
1422    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1423 <  "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1423 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1424    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1425 <  "listen_port", "$@10", "port_items", "port_item", "listen_address",
1426 <  "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1425 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1426 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1427    "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1428 <  "$@12", "auth_flags_items", "auth_flags_item", "$@13", "$@14",
1429 <  "auth_flags_item_atom", "auth_spoof", "auth_redir_serv",
1430 <  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1431 <  "resv_creason", "resv_channel", "resv_nick", "shared_entry", "$@16",
1432 <  "shared_items", "shared_item", "shared_name", "shared_user",
1433 <  "shared_type", "$@17", "shared_types", "shared_type_item",
1434 <  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1435 <  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1436 <  "connect_entry", "$@20", "connect_name_b", "connect_items",
1437 <  "connect_item", "connect_name", "connect_name_t", "connect_host",
1438 <  "connect_vhost", "connect_send_password", "connect_accept_password",
1439 <  "connect_port", "connect_aftype", "connect_flags", "$@21",
1513 <  "connect_flags_items", "connect_flags_item", "$@22", "$@23",
1514 <  "connect_flags_item_atom", "connect_rsa_public_key_file",
1428 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1429 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1430 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1431 >  "service_entry", "service_items", "service_item", "service_name",
1432 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1433 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1434 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1435 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1436 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1437 >  "connect_host", "connect_vhost", "connect_send_password",
1438 >  "connect_accept_password", "connect_port", "connect_aftype",
1439 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1440    "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1441 <  "connect_class", "connect_cipher_preference", "kill_entry", "$@24",
1442 <  "kill_type", "$@25", "kill_type_items", "kill_type_item", "kill_items",
1443 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@26",
1441 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1442 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1443 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1444    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1445 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@27",
1446 <  "gecos_flags", "$@28", "gecos_flags_items", "gecos_flags_item",
1445 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1446 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1447    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1448    "general_entry", "general_items", "general_item", "general_max_watch",
1449    "general_gline_min_cidr", "general_gline_min_cidr6",
1450 <  "general_burst_away", "general_use_whois_actually",
1451 <  "general_reject_hold_time", "general_tkline_expire_notices",
1452 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1453 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1454 <  "general_failed_oper_notice", "general_anti_nick_flood",
1455 <  "general_max_nick_time", "general_max_nick_changes",
1456 <  "general_max_accept", "general_anti_spam_exit_message_time",
1457 <  "general_ts_warn_delta", "general_ts_max_delta",
1458 <  "general_havent_read_conf", "general_kline_with_reason",
1459 <  "general_kline_reason", "general_invisible_on_connect",
1460 <  "general_warn_no_nline", "general_stats_e_disabled",
1461 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1462 <  "general_stats_k_oper_only", "general_stats_i_oper_only",
1463 <  "general_pace_wait", "general_caller_id_wait",
1464 <  "general_opers_bypass_callerid", "general_pace_wait_simple",
1465 <  "general_short_motd", "general_no_oper_flood",
1466 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1467 <  "general_message_locale", "general_idletime", "general_dots_in_ident",
1468 <  "general_max_targets", "general_servlink_path",
1544 <  "general_default_cipher_preference", "general_compression_level",
1545 <  "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1450 >  "general_use_whois_actually", "general_reject_hold_time",
1451 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1452 >  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1453 >  "general_disable_remote_commands", "general_failed_oper_notice",
1454 >  "general_anti_nick_flood", "general_max_nick_time",
1455 >  "general_max_nick_changes", "general_max_accept",
1456 >  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1457 >  "general_ts_max_delta", "general_havent_read_conf",
1458 >  "general_kline_with_reason", "general_kline_reason",
1459 >  "general_invisible_on_connect", "general_warn_no_nline",
1460 >  "general_stats_e_disabled", "general_stats_o_oper_only",
1461 >  "general_stats_P_oper_only", "general_stats_k_oper_only",
1462 >  "general_stats_i_oper_only", "general_pace_wait",
1463 >  "general_caller_id_wait", "general_opers_bypass_callerid",
1464 >  "general_pace_wait_simple", "general_short_motd",
1465 >  "general_no_oper_flood", "general_true_no_oper_flood",
1466 >  "general_oper_pass_resv", "general_message_locale",
1467 >  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1468 >  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1469    "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1470 <  "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1471 <  "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1470 >  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1471 >  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1472    "general_min_nonwildcard_simple", "general_default_floodcount",
1473 <  "general_client_flood", "gline_entry", "$@31", "gline_items",
1474 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@32",
1473 >  "general_client_flood", "gline_entry", "$@26", "gline_items",
1474 >  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@27",
1475    "gline_logging_types", "gline_logging_type_item", "gline_user",
1476 <  "gline_server", "gline_action", "$@33", "gdeny_types", "gdeny_type_item",
1476 >  "gline_server", "gline_action", "$@28", "gdeny_types", "gdeny_type_item",
1477    "channel_entry", "channel_items", "channel_item",
1478    "channel_disable_fake_channels", "channel_restrict_channels",
1479    "channel_disable_local_channels", "channel_use_except",
# Line 1596 | Line 1519 | static const yytype_uint16 yytoknum[] =
1519       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1520       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1521       485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1522 <     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1600 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1601 <      59,   125,   123,    61,    44
1522 >     495,    59,   125,   123,    61,    44
1523   };
1524   # endif
1525  
1526   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1527   static const yytype_uint16 yyr1[] =
1528   {
1529 <       0,   265,   266,   266,   267,   267,   267,   267,   267,   267,
1530 <     267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
1531 <     267,   267,   267,   267,   267,   267,   268,   268,   269,   269,
1532 <     269,   269,   269,   269,   270,   270,   271,   271,   271,   271,
1533 <     272,   273,   273,   274,   274,   274,   275,   276,   277,   278,
1534 <     278,   279,   279,   279,   279,   279,   279,   279,   279,   279,
1535 <     279,   279,   279,   279,   281,   280,   282,   282,   283,   283,
1536 <     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
1537 <     294,   295,   296,   296,   297,   297,   297,   297,   298,   299,
1538 <     300,   301,   302,   302,   303,   303,   303,   303,   303,   303,
1539 <     303,   303,   303,   303,   303,   303,   303,   304,   305,   306,
1540 <     307,   308,   309,   310,   311,   312,   313,   314,   314,   314,
1541 <     314,   314,   314,   314,   315,   317,   316,   318,   318,   319,
1542 <     319,   320,   320,   320,   320,   320,   320,   320,   320,   320,
1543 <     321,   322,   323,   324,   325,   326,   327,   329,   328,   330,
1544 <     330,   331,   331,   331,   331,   331,   331,   331,   331,   331,
1545 <     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
1546 <     333,   332,   334,   334,   336,   335,   337,   335,   338,   338,
1547 <     338,   338,   338,   338,   338,   338,   338,   338,   338,   338,
1548 <     338,   338,   338,   338,   340,   339,   341,   341,   342,   342,
1549 <     343,   343,   343,   343,   343,   343,   343,   343,   343,   343,
1550 <     343,   343,   343,   343,   344,   345,   346,   347,   348,   349,
1551 <     350,   351,   352,   353,   354,   355,   356,   357,   359,   358,
1552 <     361,   360,   362,   362,   363,   363,   363,   364,   364,   365,
1553 <     365,   365,   365,   365,   367,   366,   368,   368,   369,   369,
1554 <     370,   371,   373,   372,   374,   374,   375,   375,   375,   375,
1555 <     375,   375,   375,   375,   375,   376,   377,   378,   379,   381,
1556 <     380,   382,   382,   384,   383,   385,   383,   386,   386,   386,
1557 <     386,   386,   386,   386,   386,   386,   386,   387,   388,   389,
1558 <     391,   390,   392,   392,   393,   393,   393,   393,   394,   395,
1559 <     396,   398,   397,   399,   399,   400,   400,   400,   400,   401,
1560 <     402,   404,   403,   405,   405,   406,   406,   406,   406,   406,
1561 <     406,   406,   406,   406,   406,   406,   408,   407,   409,   409,
1562 <     410,   410,   410,   411,   413,   412,   414,   414,   415,   415,
1563 <     415,   415,   415,   415,   415,   415,   415,   415,   415,   417,
1564 <     416,   418,   418,   419,   419,   420,   420,   420,   420,   420,
1565 <     420,   420,   420,   420,   420,   420,   420,   420,   420,   420,
1566 <     421,   422,   423,   424,   425,   426,   427,   428,   428,   430,
1567 <     429,   431,   431,   433,   432,   434,   432,   435,   435,   435,
1568 <     435,   435,   436,   437,   438,   439,   440,   441,   443,   442,
1569 <     445,   444,   446,   446,   447,   448,   448,   449,   449,   449,
1570 <     449,   450,   451,   453,   452,   454,   454,   455,   455,   455,
1571 <     456,   457,   458,   459,   459,   460,   460,   461,   463,   462,
1572 <     465,   464,   466,   466,   467,   468,   468,   469,   469,   469,
1573 <     469,   470,   471,   472,   473,   473,   474,   474,   474,   474,
1574 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1575 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1576 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1577 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1578 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1579 <     474,   474,   475,   476,   477,   478,   479,   480,   481,   482,
1580 <     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
1581 <     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
1582 <     502,   503,   503,   504,   505,   506,   507,   508,   509,   510,
1583 <     511,   512,   513,   514,   515,   516,   517,   518,   519,   520,
1584 <     521,   522,   523,   525,   524,   526,   526,   527,   527,   527,
1585 <     527,   527,   527,   527,   527,   527,   527,   527,   527,   527,
1586 <     527,   527,   527,   527,   527,   527,   529,   528,   530,   530,
1587 <     531,   531,   531,   531,   531,   531,   531,   531,   531,   531,
1588 <     531,   531,   531,   531,   531,   531,   531,   531,   531,   532,
1589 <     533,   534,   535,   537,   536,   538,   538,   539,   539,   539,
1590 <     539,   539,   539,   539,   540,   541,   543,   542,   544,   544,
1591 <     545,   545,   546,   547,   549,   548,   550,   550,   551,   551,
1592 <     552,   553,   553,   554,   554,   554,   554,   554,   554,   554,
1593 <     554,   554,   554,   554,   554,   554,   554,   554,   554,   554,
1594 <     554,   554,   555,   556,   557,   558,   559,   560,   561,   562,
1595 <     563,   564,   565,   566,   567,   568,   569,   570,   571,   572,
1675 <     573,   574,   574,   575,   575,   575,   575,   575,   575,   575,
1676 <     575,   576,   577,   578,   579,   580,   581,   582
1529 >       0,   246,   247,   247,   248,   248,   248,   248,   248,   248,
1530 >     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
1531 >     248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
1532 >     250,   250,   250,   250,   250,   251,   251,   252,   252,   252,
1533 >     252,   253,   254,   254,   255,   255,   255,   256,   257,   258,
1534 >     259,   259,   260,   260,   260,   260,   260,   260,   260,   260,
1535 >     260,   260,   260,   260,   260,   260,   260,   260,   261,   262,
1536 >     263,   263,   264,   264,   265,   265,   266,   266,   267,   268,
1537 >     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
1538 >     279,   280,   281,   281,   282,   282,   282,   282,   283,   284,
1539 >     285,   286,   287,   287,   288,   288,   288,   289,   291,   290,
1540 >     292,   292,   293,   293,   293,   293,   294,   295,   295,   297,
1541 >     296,   298,   298,   299,   299,   299,   299,   299,   299,   299,
1542 >     301,   300,   302,   302,   303,   303,   303,   303,   303,   303,
1543 >     303,   303,   303,   304,   305,   306,   307,   308,   309,   311,
1544 >     310,   312,   312,   313,   313,   313,   313,   313,   313,   313,
1545 >     313,   313,   313,   313,   313,   313,   313,   313,   313,   313,
1546 >     313,   313,   313,   315,   314,   316,   316,   317,   317,   317,
1547 >     317,   317,   317,   317,   317,   317,   317,   317,   317,   317,
1548 >     317,   317,   317,   317,   317,   319,   318,   320,   320,   321,
1549 >     321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1550 >     321,   321,   321,   322,   323,   324,   325,   326,   327,   328,
1551 >     329,   330,   331,   332,   333,   334,   336,   335,   338,   337,
1552 >     339,   339,   340,   340,   340,   341,   341,   342,   342,   342,
1553 >     342,   342,   344,   343,   345,   345,   346,   346,   347,   348,
1554 >     350,   349,   351,   351,   352,   352,   352,   352,   352,   352,
1555 >     352,   352,   352,   353,   354,   355,   356,   358,   357,   359,
1556 >     359,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1557 >     361,   362,   363,   365,   364,   366,   366,   367,   367,   367,
1558 >     367,   368,   369,   370,   371,   372,   372,   373,   373,   374,
1559 >     376,   375,   377,   377,   378,   378,   378,   378,   379,   380,
1560 >     382,   381,   383,   383,   384,   384,   384,   384,   384,   384,
1561 >     384,   384,   384,   384,   386,   385,   387,   387,   388,   388,
1562 >     388,   389,   391,   390,   392,   392,   393,   393,   393,   393,
1563 >     393,   393,   393,   393,   393,   393,   395,   394,   396,   396,
1564 >     397,   397,   397,   397,   397,   397,   397,   397,   397,   397,
1565 >     397,   397,   397,   397,   398,   399,   400,   401,   402,   403,
1566 >     404,   404,   406,   405,   407,   407,   408,   408,   408,   408,
1567 >     409,   410,   411,   412,   413,   415,   414,   417,   416,   418,
1568 >     418,   419,   420,   420,   421,   421,   421,   421,   422,   423,
1569 >     425,   424,   426,   426,   427,   427,   427,   428,   429,   430,
1570 >     431,   431,   432,   432,   433,   435,   434,   437,   436,   438,
1571 >     438,   439,   440,   440,   441,   441,   441,   441,   442,   443,
1572 >     444,   445,   445,   446,   446,   446,   446,   446,   446,   446,
1573 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1574 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1575 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1576 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1577 >     446,   446,   446,   446,   446,   447,   448,   449,   450,   451,
1578 >     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1579 >     462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1580 >     472,   473,   473,   474,   474,   475,   476,   477,   478,   479,
1581 >     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1582 >     490,   491,   493,   492,   494,   494,   495,   495,   495,   495,
1583 >     495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
1584 >     495,   495,   495,   495,   495,   495,   497,   496,   498,   498,
1585 >     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1586 >     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1587 >     500,   501,   502,   503,   505,   504,   506,   506,   507,   507,
1588 >     507,   507,   507,   507,   507,   508,   509,   511,   510,   512,
1589 >     512,   513,   513,   514,   515,   517,   516,   518,   518,   519,
1590 >     519,   520,   521,   521,   522,   522,   522,   522,   522,   522,
1591 >     522,   522,   522,   522,   522,   522,   522,   522,   522,   522,
1592 >     522,   522,   522,   523,   524,   525,   526,   527,   528,   529,
1593 >     530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
1594 >     540,   541,   542,   542,   543,   543,   543,   543,   543,   543,
1595 >     543,   543,   544,   545,   546,   547,   548,   549,   550
1596   };
1597  
1598   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1681 | Line 1600 | static const yytype_uint8 yyr2[] =
1600   {
1601         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1602         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1603 <       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1604 <       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1605 <       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1606 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1607 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     1,
1603 >       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1604 >       3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1605 >       3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1606 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1607 >       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1608 >       3,     1,     1,     1,     3,     1,     1,     1,     4,     4,
1609         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1610         4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1611 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1612 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1613 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1614 <       4,     4,     4,     4,     4,     0,     7,     0,     1,     2,
1615 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1616 <       4,     1,     4,     4,     4,     4,     4,     0,     5,     3,
1611 >       4,     5,     2,     1,     1,     1,     2,     4,     0,     6,
1612 >       2,     1,     1,     1,     1,     2,     4,     4,     4,     0,
1613 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1614 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1615 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     0,
1616 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1617         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1618 +       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1619         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1620 <       0,     5,     3,     1,     0,     3,     0,     2,     1,     1,
1620 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1621         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1622 <       1,     1,     1,     1,     0,     7,     0,     1,     2,     1,
1622 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1623 >       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1624 >       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1625 >       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1626 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1627 >       1,     1,     2,     4,     4,     4,     4,     0,     5,     3,
1628         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1629 <       1,     1,     1,     2,     4,     1,     4,     4,     4,     4,
1630 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     6,
1705 <       0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
1706 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
1707 <       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1708 <       1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
1709 <       5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1710 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1629 >       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1630 >       2,     4,     4,     4,     5,     2,     1,     1,     1,     4,
1631         0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1632 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1633 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1632 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1633 >       1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
1634 >       2,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1635         1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1715       1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
1716       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1717       7,     0,     1,     2,     1,     1,     1,     1,     1,     1,
1718       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1719       4,     1,     4,     4,     4,     4,     4,     4,     4,     0,
1720       5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1721       1,     1,     4,     4,     4,     4,     4,     4,     0,     6,
1722       0,     5,     3,     1,     1,     2,     1,     1,     1,     1,
1723       1,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1724       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
1725       0,     5,     3,     1,     1,     2,     1,     1,     1,     1,
1726       1,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1636         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1637 +       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1638 +       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1639 +       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1640 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1641 +       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1642 +       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1643 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1644 +       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1645         1,     1,     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,     4,     4,     4,     4,     4,     4,     4,     4,
1649 >       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1650         4,     4,     4,     4,     4,     4,     4,     4,     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,     0,     5,     3,     1,     1,     1,     1,
1654 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1655         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1656         1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1657         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1741       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
1742       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1743       1,     1,     1,     1,     4,     4,     0,     5,     3,     1,
1744       1,     1,     4,     4,     0,     5,     3,     1,     1,     1,
1745       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1658         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1659 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1659 >       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1660 >       1,     1,     1,     1,     1,     4,     4,     0,     5,     3,
1661 >       1,     1,     1,     4,     4,     0,     5,     3,     1,     1,
1662 >       1,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1663 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1664 >       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
1665         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1666 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1667 <       1,     4,     4,     4,     4,     4,     4,     4
1666 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1667 >       1,     1,     4,     4,     4,     4,     4,     4,     4
1668   };
1669  
1670 < /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1671 <   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1670 > /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1671 >   Performed when YYTABLE doesn't specify something else to do.  Zero
1672     means the default is an error.  */
1673   static const yytype_uint16 yydefact[] =
1674   {
1675 <       2,     0,     1,     0,     0,     0,   194,   349,   413,     0,
1676 <     428,     0,   603,   252,   398,   228,     0,     0,   125,   290,
1677 <       0,     0,   301,   326,     3,    23,    11,     4,     5,     6,
1678 <       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1679 <      22,    20,    21,     7,    12,    24,    25,     0,     0,   196,
1763 <     351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1764 <       0,   127,     0,     0,     0,     0,     0,     0,     0,     0,
1765 <       0,     0,    83,    84,    86,    85,   651,     0,     0,     0,
1675 >       2,     0,     1,     0,     0,     0,   195,   346,   400,     0,
1676 >     415,     0,   584,   250,   385,   226,     0,     0,   130,   283,
1677 >       0,     0,   300,   324,     0,     3,    24,    11,     4,     5,
1678 >       6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1679 >      19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1680         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1767       0,     0,     0,     0,     0,     0,   632,   650,   645,   633,
1768     634,   635,   636,   638,   639,   640,   641,   637,   642,   643,
1769     644,   646,   647,   648,   649,   215,     0,   197,   371,     0,
1770     352,     0,   426,     0,     0,   424,   425,     0,   501,     0,
1681         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1682 +       0,     0,     0,     0,     0,    93,    94,    96,    95,   632,
1683         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1684 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   613,
1685 +     631,   626,   614,   615,   616,   617,   619,   620,   621,   622,
1686 +     618,   623,   624,   625,   627,   628,   629,   630,     0,     0,
1687 +       0,   413,     0,     0,   411,   412,     0,   484,     0,     0,
1688         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1774       0,   576,     0,   553,     0,     0,     0,     0,     0,     0,
1689         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1690 <       0,     0,     0,     0,     0,   445,   500,   495,   496,   493,
1777 <     497,   498,   494,   456,   446,   447,   485,   448,   449,   450,
1778 <     451,   452,   453,   454,   455,   490,   457,   458,   459,   460,
1779 <     499,   462,   467,   463,   465,   464,   479,   480,   466,   468,
1780 <     469,   470,   471,   473,   472,   461,   475,   484,   486,   487,
1781 <     476,   477,   491,   492,   489,   478,   474,   482,   483,   481,
1782 <     488,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1783 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    93,
1784 <      94,    95,    98,   105,    99,   103,   100,   101,   104,   102,
1785 <      96,    97,     0,     0,     0,     0,    42,    43,    44,   141,
1786 <       0,   128,     0,   680,     0,     0,     0,     0,     0,     0,
1787 <       0,     0,   672,   673,   674,   678,   675,   677,   676,   679,
1788 <       0,     0,     0,     0,     0,     0,     0,     0,    64,     0,
1789 <       0,     0,     0,     0,    50,    62,    61,    58,    51,    60,
1790 <      54,    55,    56,    52,    59,    57,    53,     0,     0,    87,
1791 <       0,     0,     0,     0,    82,     0,     0,     0,     0,     0,
1690 >       0,     0,     0,     0,     0,     0,   556,     0,   532,     0,
1691         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1793       0,     0,     0,     0,   631,     0,     0,   419,     0,     0,
1794       0,   416,   417,   418,     0,     0,   423,   440,     0,     0,
1795     430,   439,     0,   436,   437,   438,     0,     0,     0,     0,
1692         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1693 +     432,   482,   477,   478,   479,   480,   476,   443,   433,   434,
1694 +     470,   435,   436,   437,   438,   439,   440,   441,   442,   473,
1695 +     444,   445,   446,   447,   481,   449,   454,   450,   452,   451,
1696 +     465,   466,   453,   455,   456,   457,   458,   459,   448,   461,
1697 +     462,   463,   483,   474,   475,   472,   464,   460,   468,   469,
1698 +     467,   471,     0,     0,     0,     0,     0,     0,     0,   103,
1699 +     104,   105,     0,     0,     0,     0,     0,    43,    44,    45,
1700 +       0,     0,   661,     0,     0,     0,     0,     0,     0,     0,
1701 +       0,   653,   654,   655,   659,   656,   658,   657,   660,     0,
1702         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1703 +       0,     0,     0,     0,     0,     0,    51,    64,    65,    63,
1704 +      60,    59,    66,    52,    62,    55,    56,    57,    53,    61,
1705 +      58,    54,     0,     0,   298,     0,     0,   296,   297,    97,
1706 +       0,     0,     0,     0,    92,     0,     0,     0,     0,     0,
1707         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1708 +       0,     0,     0,     0,   612,     0,     0,     0,     0,     0,
1709         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1710 +     198,   199,   202,   203,   205,   206,   207,   208,   209,   210,
1711 +     211,   200,   201,   204,     0,     0,     0,     0,     0,   372,
1712 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   349,
1713 +     350,   351,   352,   353,   354,   356,   355,   358,   362,   359,
1714 +     360,   361,   357,   406,     0,     0,     0,   403,   404,   405,
1715 +       0,     0,   410,   427,     0,     0,   417,   426,     0,   423,
1716 +     424,   425,     0,     0,     0,     0,     0,     0,     0,     0,
1717         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1801       0,     0,   444,   613,   624,     0,     0,   616,     0,     0,
1802       0,   606,   607,   608,   609,   610,   611,   612,     0,     0,
1803       0,   269,     0,     0,     0,     0,     0,     0,   255,   256,
1804     257,   258,   263,   259,   260,   261,   262,   410,     0,   400,
1805       0,   409,     0,   406,   407,   408,     0,   230,     0,     0,
1806       0,   240,     0,   238,   239,   241,   242,   106,     0,     0,
1718         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1808       0,    92,    45,     0,     0,     0,    41,     0,     0,     0,
1809       0,     0,     0,   293,   294,   295,   296,     0,     0,     0,
1810       0,     0,     0,     0,     0,   671,    63,     0,     0,     0,
1719         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1812      49,     0,     0,   311,     0,     0,   304,   305,   306,   307,
1813       0,     0,   334,     0,   329,   330,   331,     0,     0,     0,
1814      81,     0,     0,     0,     0,     0,    26,     0,     0,     0,
1720         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1721 <     630,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1722 <       0,     0,     0,     0,     0,     0,   199,   200,   203,   204,
1723 <     206,   207,   208,   209,   210,   211,   212,   201,   202,   205,
1724 <       0,     0,     0,     0,     0,     0,   379,     0,     0,     0,
1725 <       0,     0,     0,     0,     0,     0,   354,   355,   356,   357,
1726 <     358,   359,   361,   360,   362,   367,   366,   363,   364,   365,
1727 <     368,     0,     0,     0,   415,     0,   422,     0,     0,     0,
1728 <       0,   435,     0,     0,     0,     0,     0,     0,     0,     0,
1721 >       0,     0,     0,     0,   431,   594,   605,     0,     0,   597,
1722 >       0,     0,     0,   587,   588,   589,   590,   591,   592,   593,
1723 >       0,     0,     0,   267,     0,     0,     0,     0,     0,     0,
1724 >     253,   254,   255,   256,   261,   257,   258,   259,   260,   397,
1725 >       0,   387,     0,   396,     0,   393,   394,   395,     0,   228,
1726 >       0,     0,     0,   238,     0,   236,   237,   239,   240,   106,
1727 >       0,     0,   102,     0,    46,     0,     0,     0,    42,     0,
1728 >       0,     0,   173,     0,     0,     0,   149,     0,     0,   133,
1729 >     134,   135,   136,   139,   140,   138,   137,   141,     0,     0,
1730 >       0,     0,     0,   286,   287,   288,   289,     0,     0,     0,
1731 >       0,     0,     0,     0,     0,   652,    67,     0,     0,     0,
1732         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1733 +       0,     0,     0,    50,     0,     0,   310,     0,     0,   303,
1734 +     304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1735 +       0,     0,   295,     0,     0,     0,    91,     0,     0,     0,
1736 +       0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
1737 +       0,     0,     0,     0,     0,     0,   611,   212,     0,     0,
1738         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1739 +       0,     0,   197,   363,     0,     0,     0,     0,     0,     0,
1740 +       0,     0,     0,     0,     0,     0,     0,     0,   348,     0,
1741 +       0,     0,   402,     0,   409,     0,     0,     0,     0,   422,
1742         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1743         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1828       0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
1829     443,     0,     0,     0,     0,     0,     0,     0,   605,   264,
1830       0,     0,     0,     0,     0,     0,     0,     0,     0,   254,
1831       0,     0,     0,     0,   405,   243,     0,     0,     0,     0,
1832       0,   237,     0,     0,     0,     0,     0,     0,     0,     0,
1744         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1834      91,     0,     0,    40,     0,     0,     0,   170,     0,     0,
1835       0,   147,     0,     0,   130,   131,   132,   133,   136,   137,
1836     135,   134,   138,   297,     0,     0,     0,     0,   292,     0,
1837       0,     0,     0,     0,     0,     0,   670,     0,     0,     0,
1838       0,     0,     0,     0,     0,     0,     0,     0,     0,    48,
1839     308,     0,     0,     0,     0,   303,   332,     0,     0,     0,
1840     328,    90,    89,    88,   667,   664,   663,   652,   654,    26,
1841      26,    26,    26,    26,    28,    27,   658,   659,   662,   660,
1842     665,   666,   668,   669,   661,   653,   655,   656,   657,   213,
1745         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1746 <       0,     0,     0,     0,   198,   369,     0,     0,     0,     0,
1746 >       0,     0,     0,     0,     0,     0,    35,     0,     0,     0,
1747 >       0,     0,     0,     0,   430,     0,     0,     0,     0,     0,
1748 >       0,     0,   586,   262,     0,     0,     0,     0,     0,     0,
1749 >       0,     0,     0,   252,     0,     0,     0,     0,   392,   241,
1750 >       0,     0,     0,     0,     0,   235,     0,   101,     0,     0,
1751 >       0,    41,   142,     0,     0,     0,     0,     0,     0,     0,
1752 >       0,     0,   132,   290,     0,     0,     0,     0,   285,     0,
1753 >       0,     0,     0,     0,     0,     0,   651,     0,     0,     0,
1754 >       0,     0,     0,     0,     0,    72,    73,     0,    71,    76,
1755 >      77,     0,    75,     0,     0,     0,     0,     0,    49,   307,
1756 >       0,     0,     0,     0,   302,   330,     0,     0,     0,   326,
1757 >       0,   294,   100,    99,    98,   648,   645,   644,   633,   635,
1758 >      27,    27,    27,    27,    27,    29,    28,   639,   640,   643,
1759 >     641,   646,   647,   649,   650,   642,   634,   636,   637,   638,
1760         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1761 <       0,   353,     0,     0,   414,   427,     0,     0,     0,   429,
1762 <     514,   518,   505,   534,   547,   546,   601,   551,   512,   543,
1763 <     549,   513,   503,   504,   521,   510,   542,   511,   524,   509,
1764 <     523,   522,   517,   516,   515,   544,   502,   541,   599,   600,
1765 <     538,   535,   580,   596,   597,   581,   582,   583,   584,   591,
1766 <     585,   594,   598,   587,   592,   588,   593,   586,   590,   589,
1767 <     595,     0,   579,   540,   557,   573,   574,   558,   559,   560,
1768 <     561,   568,   562,   571,   575,   564,   569,   565,   570,   563,
1769 <     567,   566,   572,     0,   556,   533,   536,   550,   507,   545,
1770 <     508,   537,   526,   531,   532,   529,   530,   527,   528,   520,
1771 <     519,    34,    34,    34,    36,    35,   602,   552,   539,   548,
1772 <     506,   525,     0,     0,     0,     0,     0,     0,   604,     0,
1773 <       0,   275,     0,     0,     0,     0,     0,   253,     0,     0,
1774 <       0,   399,     0,     0,     0,   248,   244,   247,   229,   110,
1775 <     116,   114,   113,   115,   111,   112,   109,   117,   123,   118,
1776 <     122,   120,   121,   119,   108,   107,   124,    46,    47,   139,
1777 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   129,
1778 <       0,     0,     0,   291,   686,   681,   685,   683,   687,   682,
1779 <     684,    74,    80,    72,    76,    75,    71,    70,    68,    69,
1780 <       0,    67,    73,    79,    77,    78,     0,     0,     0,   302,
1781 <       0,     0,   327,    29,    30,    31,    32,    33,     0,     0,
1782 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1783 <       0,   195,     0,     0,     0,     0,     0,     0,   385,     0,
1784 <       0,     0,     0,     0,     0,     0,     0,   350,   420,   421,
1785 <     441,   442,   434,     0,   433,   577,     0,   554,     0,    37,
1786 <      38,    39,   629,   628,     0,   627,   615,   614,   621,   620,
1787 <       0,   619,   623,   622,   267,   268,   273,     0,   272,     0,
1788 <     266,   289,   288,   287,   265,   412,   404,     0,   403,   411,
1789 <     235,   236,   234,     0,   233,   251,   250,     0,     0,     0,
1790 <       0,     0,   176,     0,     0,     0,     0,     0,   126,   299,
1791 <     300,   298,    65,     0,   309,   315,   321,   325,   324,   323,
1792 <     320,   316,   319,   322,   317,   318,     0,   314,   310,   333,
1793 <     338,   344,   348,   347,   346,   343,   339,   342,   345,   340,
1794 <     341,     0,   337,   225,   226,   219,   221,   223,   222,   220,
1795 <     214,   227,   218,   216,   217,   224,   375,   377,   378,   397,
1796 <     396,   393,   383,     0,   382,     0,   372,   394,   395,   370,
1797 <     376,   392,   374,   373,   431,     0,   578,   555,   625,     0,
1798 <     617,     0,     0,   270,   275,   281,   282,   278,   284,   280,
1799 <     279,   286,   283,   285,   277,   276,   401,     0,   231,     0,
1800 <     249,   246,   245,   146,   144,   174,     0,   173,     0,   140,
1801 <     143,   145,   151,   167,   168,   152,   153,   154,   155,   162,
1802 <     156,   165,   169,   158,   163,   159,   164,   157,   161,   160,
1803 <     166,     0,   150,   142,    66,   312,     0,   335,     0,     0,
1804 <     380,   385,   389,   390,   387,   388,   391,   386,   432,   626,
1805 <     618,   274,   271,   402,   232,     0,   171,   176,   186,   184,
1806 <     193,   183,   178,   187,   191,   180,   188,   190,   185,   179,
1892 <     192,   189,   181,   182,   177,   148,     0,   313,   336,   384,
1893 <     381,   175,   172,   149
1761 >       0,     0,     0,   196,     0,     0,     0,     0,     0,     0,
1762 >       0,     0,     0,     0,     0,     0,     0,     0,   347,     0,
1763 >       0,   401,   414,     0,     0,     0,   416,   496,   500,   516,
1764 >     582,   530,   494,   524,   527,   495,   486,   487,   503,   492,
1765 >     493,   506,   491,   505,   504,   499,   498,   497,   525,   485,
1766 >     523,   580,   581,   520,   517,   567,   560,   577,   578,   561,
1767 >     562,   563,   564,   572,   565,   575,   579,   568,   573,   569,
1768 >     574,   566,   571,   570,   576,     0,   559,   522,   542,   536,
1769 >     553,   554,   537,   538,   539,   540,   548,   541,   551,   555,
1770 >     544,   549,   545,   550,   543,   547,   546,   552,     0,   535,
1771 >     515,   518,   529,   489,   490,   519,   508,   513,   514,   511,
1772 >     512,   509,   510,   502,   501,    35,    35,    35,    37,    36,
1773 >     583,   528,   531,   521,   526,   488,   507,     0,     0,     0,
1774 >       0,     0,     0,   585,     0,     0,     0,     0,     0,     0,
1775 >       0,     0,   251,     0,     0,     0,   386,     0,     0,     0,
1776 >     246,   242,   245,   227,   107,     0,     0,   119,     0,     0,
1777 >     111,   112,   114,   113,    47,    48,     0,     0,     0,     0,
1778 >       0,     0,     0,     0,   131,     0,     0,     0,   284,   667,
1779 >     662,   666,   664,   668,   663,   665,    84,    90,    82,    86,
1780 >      85,    79,    78,    80,    68,     0,    69,     0,    83,    81,
1781 >      89,    87,    88,     0,     0,     0,   301,     0,     0,   325,
1782 >     299,    30,    31,    32,    33,    34,   223,   224,   217,   219,
1783 >     221,   220,   218,   213,   225,   216,   214,   215,   222,   368,
1784 >     370,   371,   383,   380,   376,   377,   379,   378,     0,   375,
1785 >     365,   381,   382,   364,   369,   367,   384,   366,   407,   408,
1786 >     428,   429,   421,     0,   420,   557,     0,   533,     0,    38,
1787 >      39,    40,   610,   609,     0,   608,   596,   595,   602,   601,
1788 >       0,   600,   604,   603,   265,   266,   275,   272,   277,   274,
1789 >     273,   279,   276,   278,   271,     0,   270,   264,   282,   281,
1790 >     280,   263,   399,   391,     0,   390,   398,   233,   234,   232,
1791 >       0,   231,   249,   248,     0,     0,     0,   115,     0,     0,
1792 >       0,     0,   110,   148,   146,   188,   185,   184,   177,   179,
1793 >     194,   189,   192,   187,   178,   193,   181,   190,   182,   191,
1794 >     186,   180,   183,     0,   176,   143,   145,   147,   159,   153,
1795 >     170,   171,   154,   155,   156,   157,   165,   158,   168,   172,
1796 >     161,   166,   162,   167,   160,   164,   163,   169,     0,   152,
1797 >     144,   292,   293,   291,    70,    74,   308,   314,   320,   323,
1798 >     316,   322,   317,   321,   319,   315,   318,     0,   313,   309,
1799 >     331,   336,   342,   345,   338,   344,   339,   343,   341,   337,
1800 >     340,     0,   335,   373,     0,   418,     0,   558,   534,   606,
1801 >       0,   598,     0,   268,     0,   388,     0,   229,     0,   247,
1802 >     244,   243,     0,     0,     0,     0,   109,   174,     0,   150,
1803 >       0,   311,     0,   333,     0,   374,   419,   607,   599,   269,
1804 >     389,   230,   116,   125,   128,   127,   124,   129,   126,   123,
1805 >       0,   122,   118,   117,   175,   151,   312,   334,   120,     0,
1806 >     121
1807   };
1808  
1809   /* YYDEFGOTO[NTERM-NUM].  */
1810   static const yytype_int16 yydefgoto[] =
1811   {
1812 <      -1,     1,    24,   834,   835,   984,   985,    25,   275,   276,
1813 <     277,   278,    26,   313,   314,   315,   534,  1070,  1071,   316,
1814 <     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1815 <      27,    71,    72,    73,    74,    75,    28,   258,   259,   260,
1816 <     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1817 <     271,    29,    61,   280,   773,   774,   775,   281,   776,   777,
1818 <     778,   779,   780,   781,  1046,  1301,  1302,   782,  1042,  1276,
1819 <    1277,  1325,  1278,  1344,    30,    49,   116,   595,   596,   597,
1820 <     117,   598,   599,   600,   601,   602,   603,   604,   605,   606,
1821 <     607,   608,   609,    31,    58,   481,   736,  1163,  1164,   482,
1822 <     483,   484,  1169,  1016,  1017,   485,   486,    32,    56,   457,
1823 <     458,   459,   460,   461,   462,   463,   722,  1147,  1148,  1252,
1824 <    1149,  1265,   464,   465,   466,    33,    62,   512,   513,   514,
1825 <     515,   516,    34,    65,   545,   546,   547,   548,   549,   812,
1826 <    1196,  1197,    35,    66,   553,   554,   555,   556,   818,  1211,
1827 <    1212,    36,    50,   119,   625,   626,   627,   120,   628,   629,
1828 <     630,   631,   632,   633,   634,   871,  1233,  1234,  1309,  1235,
1829 <    1317,   635,   636,   637,   638,   639,   640,    37,    57,   471,
1830 <     731,  1157,  1158,   472,   473,   474,   475,    38,    51,   360,
1831 <     361,   362,   363,    39,   124,   125,   126,    40,    53,   371,
1832 <     649,  1123,  1124,   372,   373,   374,   375,    41,   184,   185,
1833 <     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1834 <     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1835 <     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1836 <     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1837 <     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1838 <     410,   963,   964,   236,   408,   941,   942,   237,   238,   239,
1839 <     240,    42,    55,   440,   441,   442,   443,   444,   714,  1140,
1840 <    1141,   445,   446,   447,   711,  1134,  1135,    43,    95,    96,
1841 <      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1842 <     107,   108,   109,   110,   111,   112,   113,   114,    44,   291,
1930 <     292,   293,   294,   295,   296,   297,   298,   299
1812 >      -1,     1,    25,   835,   836,   978,   979,    26,   246,   247,
1813 >     248,   249,    27,   285,   286,   287,   288,   797,   798,   801,
1814 >     802,   289,   290,   291,   292,   293,   294,   295,   296,   297,
1815 >     298,   299,   300,   301,    28,    74,    75,    76,    77,    78,
1816 >      29,   238,   239,   240,   241,   242,  1019,  1020,  1021,  1022,
1817 >    1023,  1169,  1300,  1301,    30,    63,   538,   539,   540,   541,
1818 >     542,   543,   544,   545,   546,   769,  1218,  1219,   547,   765,
1819 >    1193,  1194,    31,    51,   349,   350,   351,   352,   353,   354,
1820 >     355,   356,   357,   358,   359,   360,   361,   362,   363,    32,
1821 >      60,   513,   750,  1160,  1161,   514,   515,   516,  1166,  1011,
1822 >    1012,   517,   518,    33,    58,   489,   490,   491,   492,   493,
1823 >     494,   495,   736,  1145,  1146,   496,   497,   498,    34,    64,
1824 >     552,   553,   554,   555,   556,    35,   306,   307,   308,    36,
1825 >      67,   588,   589,   590,   591,   592,   811,  1237,  1238,    37,
1826 >      68,   596,   597,   598,   599,   817,  1251,  1252,    38,    52,
1827 >     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
1828 >     648,  1098,  1099,   388,   389,   390,   391,   392,    39,    59,
1829 >     503,   745,  1154,  1155,   504,   505,   506,   507,    40,    53,
1830 >     396,   397,   398,   399,    41,   123,   124,   125,    42,    55,
1831 >     407,   667,  1113,  1114,   408,   409,   410,   411,    43,   179,
1832 >     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1833 >     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1834 >     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1835 >     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1836 >     220,   221,   222,   223,   224,   225,   226,   442,   958,   959,
1837 >     227,   440,   935,   936,   228,   229,   230,   231,    44,    57,
1838 >     472,   473,   474,   475,   476,   728,  1130,  1131,   477,   478,
1839 >     479,   725,  1124,  1125,    45,    98,    99,   100,   101,   102,
1840 >     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1841 >     113,   114,   115,   116,   117,    46,   260,   261,   262,   263,
1842 >     264,   265,   266,   267,   268
1843   };
1844  
1845   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1846     STATE-NUM.  */
1847 < #define YYPACT_NINF -949
1847 > #define YYPACT_NINF -560
1848   static const yytype_int16 yypact[] =
1849   {
1850 <    -949,   670,  -949,  -256,  -248,  -245,  -949,  -949,  -949,  -212,
1851 <    -949,  -205,  -949,  -949,  -949,  -949,  -189,  -183,  -949,  -949,
1852 <    -154,  -152,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1853 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1854 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,    22,   642,  -127,
1855 <     -31,  -132,     5,  -125,   415,  -119,   -98,   -89,   -86,   578,
1856 <      14,    -8,   -75,   664,   313,   -74,   -61,   -45,   -46,   -37,
1857 <     -23,    31,  -949,  -949,  -949,  -949,  -949,   -22,    15,    30,
1858 <      33,    41,    42,    47,    48,    50,    61,    62,    70,    78,
1859 <      79,    80,    86,    90,    93,    94,  -949,  -949,  -949,  -949,
1860 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1861 <    -949,  -949,  -949,  -949,  -949,  -949,   -44,  -949,  -949,    89,
1862 <    -949,    20,  -949,    99,     2,  -949,  -949,   140,  -949,   100,
1863 <     104,   106,   111,   113,   115,   122,   123,   126,   127,   128,
1864 <     129,   131,   133,   135,   136,   137,   145,   147,   148,   151,
1865 <     155,   156,   157,   159,   163,   165,   167,   169,   174,   175,
1866 <     177,  -949,   178,  -949,   186,   187,   188,   193,   194,   197,
1867 <     199,   200,   205,   206,   209,   210,   211,   212,   213,   214,
1868 <     219,   220,   225,   228,    10,  -949,  -949,  -949,  -949,  -949,
1869 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1870 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1871 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1872 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1873 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1874 <    -949,   364,   308,    92,   318,    17,   229,   230,   231,   232,
1875 <     236,   237,   241,   242,   244,   245,   248,   250,   226,  -949,
1876 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1877 <    -949,  -949,    63,   251,   252,    60,  -949,  -949,  -949,  -949,
1878 <     182,  -949,    24,  -949,   253,   254,   255,   260,   270,   271,
1879 <     272,   192,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1880 <      72,   273,   274,   275,   276,   279,   281,   282,  -949,   285,
1881 <     286,   287,   288,   132,  -949,  -949,  -949,  -949,  -949,  -949,
1882 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,   183,   102,  -949,
1883 <     222,   293,   336,   299,  -949,   198,   431,   432,   368,   369,
1884 <     436,   436,   440,   441,   376,   379,   446,   436,   381,   390,
1885 <     391,   392,   393,   332,  -949,   726,   521,  -949,   330,   331,
1886 <      76,  -949,  -949,  -949,   442,   338,  -949,  -949,   333,   337,
1887 <    -949,  -949,    57,  -949,  -949,  -949,   404,   436,   408,   436,
1888 <     482,   461,   486,   423,   424,   491,   470,   429,   496,   497,
1889 <     498,   434,   436,   445,   447,   436,   493,   450,   517,   518,
1890 <     436,   522,   523,   499,   526,   528,   463,   464,   400,   469,
1891 <     405,   436,   436,   475,   436,   514,   488,   489,   492,  -131,
1892 <    -110,   494,   501,   436,   436,   548,   436,   504,   505,   506,
1893 <     510,   428,  -949,  -949,  -949,   420,   427,  -949,   430,   448,
1894 <     112,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   435,   454,
1895 <     457,  -949,   459,   462,   465,   466,   467,   118,  -949,  -949,
1896 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   468,  -949,
1897 <     472,  -949,    74,  -949,  -949,  -949,   449,  -949,   474,   483,
1898 <     490,  -949,    29,  -949,  -949,  -949,  -949,  -949,   555,   557,
1899 <     560,   571,   573,   579,   599,   601,   360,   602,   604,   561,
1900 <     502,  -949,  -949,   608,   611,   507,  -949,   305,   511,   503,
1901 <     512,   515,   152,  -949,  -949,  -949,  -949,   568,   577,   580,
1902 <     626,   583,   584,   436,   524,  -949,  -949,   634,   586,   637,
1903 <     638,   639,   640,   641,   532,   646,   672,   648,   651,   547,
1904 <    -949,   551,   549,  -949,   550,    69,  -949,  -949,  -949,  -949,
1905 <     558,   556,  -949,    75,  -949,  -949,  -949,   562,   563,   564,
1906 <    -949,   565,   566,   569,   572,   576,   207,   582,   587,   588,
1907 <     589,   592,   593,   594,   597,   598,   603,   607,   609,   610,
1908 <    -949,   615,   574,   581,   605,   616,   617,   618,   619,   620,
1909 <     622,   623,   624,   625,   628,   116,  -949,  -949,  -949,  -949,
1910 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1911 <     629,   632,   645,   649,   650,   652,  -949,   653,   654,   655,
1912 <     656,   660,   665,   667,   668,   160,  -949,  -949,  -949,  -949,
1913 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1914 <    -949,   675,   686,   678,  -949,   681,  -949,   687,   690,   682,
1915 <     688,  -949,   689,   691,   693,   694,   695,   696,   700,   704,
1916 <     705,   707,   708,   715,   718,   722,   723,   725,   727,   728,
1917 <     730,   731,   732,   733,   737,   741,   742,   744,   745,   747,
1918 <     748,   749,   750,   751,   692,   752,   729,   753,   754,   755,
1919 <     756,   757,   758,   759,   760,   761,   762,   763,   764,   765,
1920 <     767,   768,   769,    49,   770,   771,   772,   773,   774,   775,
1921 <    -949,   683,   436,   712,   776,   709,   711,   777,  -949,  -949,
1922 <     797,   714,   778,   799,   783,   833,   836,   873,   780,  -949,
1923 <     883,   779,   885,   784,  -949,  -949,   782,   890,   893,   796,
1924 <     787,  -949,   788,   789,   790,   791,   792,   793,   794,   795,
1925 <     798,   800,   801,   802,   803,   804,   805,   806,   807,   808,
1926 <    -949,   809,   810,  -949,   811,   812,   813,  -949,   814,   815,
1927 <     816,  -949,   817,   181,  -949,  -949,  -949,  -949,  -949,  -949,
1928 <    -949,  -949,  -949,  -949,   903,   904,   906,   821,  -949,   822,
1929 <     823,   824,   825,   826,   827,   828,  -949,   829,   830,   831,
1930 <     832,   834,   835,   837,   -80,   838,   839,   840,   841,  -949,
1931 <    -949,   919,   842,   920,   843,  -949,  -949,   921,   844,   846,
1932 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   436,
1933 <     436,   436,   436,   436,  -949,  -949,  -949,  -949,  -949,  -949,
1934 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1935 <     962,   965,   436,   971,   973,   977,   978,   957,   980,   981,
1936 <     436,   436,   548,   853,  -949,  -949,   961,  -117,   963,   964,
1937 <     918,   855,   966,   967,   968,   969,   992,   972,   974,   975,
1938 <     864,  -949,   866,   869,  -949,  -949,   870,   871,   662,  -949,
1939 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1940 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1941 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1942 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1943 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1944 <    -949,  -244,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1945 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1946 <    -949,  -949,  -949,  -236,  -949,  -949,  -949,  -949,  -949,  -949,
1947 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1948 <    -949,   548,   548,   548,  -949,  -949,  -949,  -949,  -949,  -949,
1949 <    -949,  -949,    -3,   872,   874,    -2,   875,   876,  -949,   877,
1950 <     878,  1003,   879,   880,   881,   882,   884,  -949,   886,   703,
1951 <     887,  -949,   -63,   888,   889,   676,   891,  -949,  -949,  -949,
1952 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1953 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1954 <     990,   948,   894,   997,   998,   999,   895,  1000,   896,  -949,
1955 <     899,   900,   901,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1956 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1957 <    -224,  -949,  -949,  -949,  -949,  -949,   902,   570,   905,  -949,
1958 <     907,   627,  -949,  -949,  -949,  -949,  -949,  -949,   908,   909,
1959 <     910,   911,   912,   913,   914,   915,   916,   917,   922,   923,
1960 <     924,  -949,   925,   926,   927,   928,   929,   930,  1024,   931,
1961 <     932,   933,   934,   935,   936,   937,   938,  -949,  -949,  -949,
1962 <    -949,  -949,  -949,  -219,  -949,  -949,   692,  -949,   729,  -949,
1963 <    -949,  -949,  -949,  -949,  -216,  -949,  -949,  -949,  -949,  -949,
1964 <    -213,  -949,  -949,  -949,  -949,  -949,  -949,  -158,  -949,   630,
1965 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -149,  -949,  -949,
1966 <    -949,  -949,  -949,  -129,  -949,  -949,  -949,  1032,   796,   939,
1967 <     940,   941,  1034,   942,   943,   944,   766,   945,  -949,  -949,
1968 <    -949,  -949,  -949,   -80,  -949,  -949,  -949,  -949,  -949,  -949,
1969 <    -949,  -949,  -949,  -949,  -949,  -949,  -106,  -949,  -949,  -949,
1970 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1971 <    -949,   -25,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1972 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1973 <    -949,  -949,  -949,    38,  -949,     0,  -949,  -949,  -949,  -949,
1974 <    -949,  -949,  -949,  -949,  -949,   662,  -949,  -949,  -949,    -3,
1975 <    -949,    -2,   630,  -949,  1003,  -949,  -949,  -949,  -949,  -949,
1976 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,   703,  -949,   -63,
1977 <    -949,  -949,  -949,  -949,  -949,  -949,    56,  -949,   553,  -949,
1978 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1979 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1980 <    -949,    88,  -949,  -949,  -949,  -949,   570,  -949,   627,     0,
1981 <    -949,  1024,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2070 <    -949,  -949,  -949,  -949,  -949,   553,  -949,  1034,  -949,  -949,
2071 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2072 <    -949,  -949,  -949,  -949,  -949,  -949,   766,  -949,  -949,  -949,
2073 <    -949,  -949,  -949,  -949
1850 >    -560,   667,  -560,  -206,  -223,  -221,  -560,  -560,  -560,  -218,
1851 >    -560,  -191,  -560,  -560,  -560,  -560,  -189,  -183,  -560,  -560,
1852 >    -154,  -136,  -560,  -560,  -133,  -560,  -560,  -560,  -560,  -560,
1853 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1854 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    42,
1855 >     544,  -115,  -109,   -80,    32,   -72,   375,   -70,   -53,   -51,
1856 >     -33,    60,    87,   -20,   -18,   324,   334,    -5,    -3,    20,
1857 >     -89,    17,    35,    51,     9,  -560,  -560,  -560,  -560,  -560,
1858 >      61,    63,    73,    79,    96,   111,   117,   125,   131,   136,
1859 >     137,   152,   154,   156,   159,   162,   170,   175,   180,  -560,
1860 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1861 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   709,   461,
1862 >      98,  -560,   195,    10,  -560,  -560,   266,  -560,   198,   199,
1863 >     202,   203,   206,   213,   214,   216,   217,   219,   229,   230,
1864 >     231,   232,   242,   243,   246,   250,   253,   256,   257,   259,
1865 >     261,   263,   265,   268,   275,   276,  -560,   277,  -560,   281,
1866 >     282,   284,   287,   291,   293,   295,   296,   299,   300,   307,
1867 >     314,   315,   316,   318,   319,   321,   322,   323,   327,   110,
1868 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1869 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1870 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1871 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1872 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1873 >    -560,  -560,     2,   509,    16,   326,    57,   330,    36,  -560,
1874 >    -560,  -560,     7,    77,   331,   332,    28,  -560,  -560,  -560,
1875 >     279,   211,  -560,   335,   338,   339,   341,   342,   343,   344,
1876 >       3,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   200,
1877 >     345,   346,   348,   349,   352,   355,   356,   357,   358,   360,
1878 >     362,   363,   365,   366,   367,    74,  -560,  -560,  -560,  -560,
1879 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1880 >    -560,  -560,   197,     6,  -560,   368,    46,  -560,  -560,  -560,
1881 >     140,   173,   392,   329,  -560,   438,   328,   505,   441,   445,
1882 >     514,   514,   515,   516,   451,   452,   521,   514,   456,   457,
1883 >     459,   460,   462,   396,  -560,   398,   397,   401,   402,   403,
1884 >     404,   408,   409,   410,   411,   412,   413,   415,   416,     4,
1885 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1886 >    -560,  -560,  -560,  -560,   399,   417,   418,   419,   420,  -560,
1887 >     425,   426,   429,   430,   431,   433,   435,   436,   290,  -560,
1888 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1889 >    -560,  -560,  -560,  -560,   439,   440,    11,  -560,  -560,  -560,
1890 >     511,   446,  -560,  -560,   442,   449,  -560,  -560,    12,  -560,
1891 >    -560,  -560,   522,   514,   514,   590,   525,   526,   593,   573,
1892 >     532,   597,   599,   601,   546,   550,   551,   514,   598,   552,
1893 >     624,   627,   514,   628,   630,   610,   636,   637,   572,   575,
1894 >     508,   577,   510,   514,   514,   579,   514,   580,   583,   584,
1895 >    -105,   -99,   585,   586,   514,   514,   653,   633,   514,   589,
1896 >     592,   594,   595,   528,  -560,  -560,  -560,   533,   534,  -560,
1897 >     535,   536,    14,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1898 >     540,   539,   541,  -560,   543,   545,   547,   548,   549,    33,
1899 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1900 >     555,  -560,   556,  -560,    22,  -560,  -560,  -560,   553,  -560,
1901 >     558,   559,   560,  -560,     8,  -560,  -560,  -560,  -560,  -560,
1902 >     596,   554,  -560,   212,  -560,   645,   657,   564,  -560,   565,
1903 >     563,   566,  -560,   567,   568,   569,  -560,   570,    15,  -560,
1904 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   574,   576,
1905 >     581,   582,    27,  -560,  -560,  -560,  -560,   608,   614,   632,
1906 >     685,   641,   643,   514,   588,  -560,  -560,   692,   648,   699,
1907 >     702,   703,   704,   705,   708,   -63,   -49,   710,   711,   730,
1908 >     712,   713,   604,  -560,   611,   607,  -560,   612,    97,  -560,
1909 >    -560,  -560,  -560,   619,   617,  -560,    30,  -560,  -560,  -560,
1910 >     724,   622,  -560,   631,   634,   635,  -560,   654,   656,   660,
1911 >     664,   665,   272,   676,   677,   681,   684,   693,   695,   696,
1912 >     698,   701,   706,   707,   714,   715,  -560,  -560,   761,   764,
1913 >     514,   767,   768,   776,   779,   763,   823,   828,   514,   514,
1914 >     653,   716,  -560,  -560,   809,   -75,   812,   770,   700,   818,
1915 >     819,   820,   821,   843,   827,   829,   830,   718,  -560,   831,
1916 >     832,   723,  -560,   726,  -560,   834,   835,   728,   727,  -560,
1917 >     729,   732,   733,   734,   735,   736,   737,   739,   740,   741,
1918 >     742,   743,   744,   745,   746,   747,   748,   749,   750,   751,
1919 >     752,   753,   754,   755,   756,   757,   758,   759,   663,   760,
1920 >     697,   762,   765,   766,   769,   771,   772,   773,   774,   775,
1921 >     777,   778,   780,   782,   783,   784,    54,   785,   786,   787,
1922 >     788,   789,   790,   791,  -560,   792,   514,   793,   794,   871,
1923 >     873,   796,  -560,  -560,   874,   833,   795,   877,   844,   880,
1924 >     886,   889,   800,  -560,   902,   798,   903,   802,  -560,  -560,
1925 >     801,   904,   913,   936,   806,  -560,   807,  -560,   194,   808,
1926 >     810,  -560,  -560,   919,   876,   811,   922,   923,   925,   813,
1927 >     927,   822,  -560,  -560,   928,   929,   930,   824,  -560,   825,
1928 >     826,   836,   837,   838,   839,   840,  -560,   841,   842,   845,
1929 >     846,   847,   848,   849,   850,  -560,  -560,  -199,  -560,  -560,
1930 >    -560,  -196,  -560,   851,   852,   853,   854,   855,  -560,  -560,
1931 >     931,   856,   933,   857,  -560,  -560,   937,   858,   860,  -560,
1932 >     862,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1933 >     514,   514,   514,   514,   514,  -560,  -560,  -560,  -560,  -560,
1934 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1935 >     863,   864,   865,   866,   867,   868,   869,   872,   875,   878,
1936 >     879,   881,   882,  -560,   883,   884,   885,   887,   888,   141,
1937 >     890,   891,   892,   893,   894,   895,   896,   897,  -560,   898,
1938 >     899,  -560,  -560,   900,   901,   934,  -560,  -560,  -560,  -560,
1939 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1940 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1941 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1942 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1943 >    -560,  -560,  -560,  -560,  -560,  -182,  -560,  -560,  -560,  -560,
1944 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1945 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   -30,  -560,
1946 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1947 >    -560,  -560,  -560,  -560,  -560,   653,   653,   653,  -560,  -560,
1948 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,    13,   905,   906,
1949 >      21,   907,   908,  -560,   909,   910,   870,   911,   912,   914,
1950 >     915,   916,  -560,   917,   935,   918,  -560,   -47,   920,   921,
1951 >     940,   924,  -560,  -560,  -560,   926,   932,  -560,   938,    89,
1952 >    -560,  -560,  -560,  -560,  -560,  -560,   939,   942,   479,   943,
1953 >     944,   945,   725,   946,  -560,   947,   948,   949,  -560,  -560,
1954 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1955 >    -560,  -560,  -560,  -560,  -560,   -63,  -560,   -49,  -560,  -560,
1956 >    -560,  -560,  -560,   950,   507,   951,  -560,   952,   531,  -560,
1957 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1958 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1959 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    -6,  -560,
1960 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1961 >    -560,  -560,  -560,    65,  -560,  -560,   663,  -560,   697,  -560,
1962 >    -560,  -560,  -560,  -560,   100,  -560,  -560,  -560,  -560,  -560,
1963 >     101,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1964 >    -560,  -560,  -560,  -560,  -560,   106,  -560,  -560,  -560,  -560,
1965 >    -560,  -560,  -560,  -560,   109,  -560,  -560,  -560,  -560,  -560,
1966 >     112,  -560,  -560,  -560,   959,   936,   953,  -560,   941,   954,
1967 >     -91,   955,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1968 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1969 >    -560,  -560,  -560,   123,  -560,  -560,  -560,  -560,  -560,  -560,
1970 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1971 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   126,  -560,
1972 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1973 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,   133,  -560,  -560,
1974 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1975 >    -560,   148,  -560,  -560,   141,  -560,   934,  -560,  -560,  -560,
1976 >      13,  -560,    21,  -560,   870,  -560,   935,  -560,   -47,  -560,
1977 >    -560,  -560,   956,   262,   958,   960,  -560,  -560,   479,  -560,
1978 >     725,  -560,   507,  -560,   531,  -560,  -560,  -560,  -560,  -560,
1979 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1980 >     150,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   262,
1981 >    -560
1982   };
1983  
1984   /* YYPGOTO[NTERM-NUM].  */
1985   static const yytype_int16 yypgoto[] =
1986   {
1987 <    -949,  -949,  -949,  -427,  -340,  -948,  -423,  -949,  -949,   946,
1988 <    -949,  -949,  -949,  -949,   865,  -949,  -949,  -949,  -293,  -949,
1989 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1990 <    -949,  -949,  1095,  -949,  -949,  -949,  -949,  -949,   643,  -949,
1991 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1992 <    -949,  -949,  -949,  -949,  -949,   406,  -949,  -949,  -949,  -949,
1993 <    -949,  -949,  -949,  -949,  -949,  -949,  -166,  -949,  -949,  -949,
1994 <    -146,  -949,  -949,  -118,  -949,  -949,  -949,  -949,   613,  -949,
1995 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1996 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   -60,  -949,
1997 <     724,  -949,  -949,  -949,    43,  -949,  -949,  -949,  -949,  -949,
1998 <     781,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   -42,  -949,
1999 <    -949,   -39,  -949,  -949,  -949,  -949,  -949,  -949,   698,  -949,
2000 <    -949,  -949,  -949,  -949,  -949,   669,  -949,  -949,  -949,  -949,
2001 <    -949,   -91,  -949,  -949,  -949,   663,  -949,  -949,  -949,  -949,
2002 <     -90,  -949,  -949,  -949,  -949,   595,  -949,  -949,  -949,  -949,
2003 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,   -94,  -949,  -949,
2004 <     -87,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2005 <    -949,  -949,   -48,  -949,   785,  -949,  -949,  -949,  -949,  -949,
2006 <     863,  -949,  -949,  -949,  -949,  1100,  -949,  -949,  -949,  -949,
2007 <    -949,  -949,   -20,  -949,   854,  -949,  -949,  -949,  -949,  1043,
2008 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2009 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2010 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2011 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2012 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2013 <    -949,  -949,   101,  -949,  -949,  -949,   105,  -949,  -949,  -949,
2014 <    -949,  -949,  -949,  -949,   818,  -949,  -949,  -949,  -949,  -949,
2015 <     -21,  -949,  -949,  -949,  -949,  -949,   -17,  -949,  -949,  1133,
2016 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2017 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2110 <     949,  -949,  -949,  -949,  -949,  -949,  -949,  -949
1987 >    -560,  -560,  -560,  -316,  -319,  -559,  -456,  -560,  -560,   957,
1988 >    -560,  -560,  -560,  -560,   799,  -560,  -560,  -560,    18,  -560,
1989 >      19,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1990 >    -560,  -560,  -560,  -560,  -560,  -560,  1000,  -560,  -560,  -560,
1991 >    -560,  -560,   859,  -560,  -560,  -560,  -560,    56,  -560,  -560,
1992 >    -560,  -560,  -560,  -224,  -560,  -560,  -560,   561,  -560,  -560,
1993 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -169,  -560,  -560,
1994 >    -560,  -166,  -560,  -560,  -560,   781,  -560,  -560,  -560,  -560,
1995 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1996 >    -560,  -560,  -560,  -560,  -153,  -560,   600,  -560,  -560,  -560,
1997 >     -48,  -560,  -560,  -560,  -560,  -560,   629,  -560,  -560,  -560,
1998 >    -560,  -560,  -560,  -560,  -137,  -560,  -560,  -560,  -560,  -560,
1999 >    -560,   591,  -560,  -560,  -560,  -560,  -560,   961,  -560,  -560,
2000 >    -560,  -560,   557,  -560,  -560,  -560,  -560,  -560,  -138,  -560,
2001 >    -560,  -560,   578,  -560,  -560,  -560,  -560,  -130,  -560,  -560,
2002 >    -560,   797,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2003 >    -560,  -560,   -94,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2004 >    -560,  -560,  -560,  -103,  -560,   661,  -560,  -560,  -560,  -560,
2005 >    -560,   804,  -560,  -560,  -560,  -560,  1041,  -560,  -560,  -560,
2006 >    -560,  -560,  -560,   -90,  -560,   803,  -560,  -560,  -560,  -560,
2007 >     989,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2008 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2009 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2010 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2011 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    52,
2012 >    -560,  -560,  -560,    55,  -560,  -560,  -560,  -560,  -560,  -560,
2013 >    -560,   738,  -560,  -560,  -560,  -560,  -560,   -85,  -560,  -560,
2014 >    -560,  -560,  -560,   -88,  -560,  -560,  1075,  -560,  -560,  -560,
2015 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2016 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,   962,  -560,  -560,
2017 >    -560,  -560,  -560,  -560,  -560
2018   };
2019  
2020   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2021     positive, shift that token.  If negative, reduce the rule which
2022 <   number is the opposite.  If zero, do what YYDEFACT says.
2023 <   If YYTABLE_NINF, syntax error.  */
2024 < #define YYTABLE_NINF -1
2118 < static const yytype_uint16 yytable[] =
2022 >   number is the opposite.  If YYTABLE_NINF, syntax error.  */
2023 > #define YYTABLE_NINF -109
2024 > static const yytype_int16 yytable[] =
2025   {
2026 <     567,   568,   704,   122,    45,    46,   122,   574,  1132,  1138,
2027 <    1312,   128,  1313,  1160,    47,   272,  1125,    48,   129,   130,
2028 <    1126,   357,   131,    67,  1127,   508,   115,  1314,  1128,   132,
2029 <     476,  1315,    67,  1129,  1130,  1131,  1182,   653,   133,   655,
2030 <    1183,  1244,   134,   135,  1248,  1245,   509,  1250,  1249,   136,
2031 <      52,  1251,   668,   137,   138,   671,   139,    54,   367,    68,
2032 <     676,   272,   140,   981,   982,   983,   695,   696,    68,    69,
2033 <     541,   687,   688,    59,   690,   467,   550,   357,    69,    60,
2034 <     141,   142,   477,   701,   702,   143,   705,   697,   698,  1068,
2035 <    1069,   123,   144,   467,   123,    76,   145,   146,   147,  1103,
2036 <    1104,   148,  1253,   550,   149,   150,  1254,    77,    63,   358,
2037 <      64,  1266,   478,   433,   151,  1267,   434,   581,   479,   448,
2038 <     152,   153,   118,   154,   155,   156,   157,   158,    78,    79,
2039 <     121,  1268,   273,   300,    80,  1269,    81,   127,   159,   582,
2040 <     583,   367,    70,   241,   449,   279,   584,   160,   510,   161,
2041 <     162,    70,   163,   508,  1305,   164,   165,   435,  1306,   166,
2042 <     436,   610,   274,   611,   242,   358,   612,   450,  1161,   301,
2043 <     167,   451,  1162,   243,   509,   359,   244,   368,   273,   511,
2044 <     703,   480,   764,   795,   541,   613,   614,   282,   327,   542,
2045 <      82,    83,   168,   283,   169,   551,  1133,  1139,   170,    84,
2046 <      85,   328,   171,   172,   173,   174,   175,   765,   274,   615,
2047 <     176,   177,   369,   616,   437,   329,   302,   330,   355,   178,
2048 <      86,    87,   551,   585,   586,   587,   331,   245,   588,   468,
2049 <     766,   359,   438,   284,   767,  1307,   589,    88,    89,  1308,
2050 <     332,   335,  1316,   617,   370,   618,   285,   468,    90,   590,
2051 <     591,   179,   303,   180,   304,   305,   543,    91,   619,   181,
2052 <     368,   469,   552,   365,   182,   452,   592,   593,   286,   183,
2053 <     287,   431,   288,   289,   453,   454,   510,   487,   336,   469,
2054 <     620,   246,   247,   248,   249,   250,   251,   252,   253,   552,
2055 <     740,   290,   333,   337,   594,   369,   338,   306,  1310,   307,
2056 <     308,   768,  1311,   542,   339,   340,   764,   511,   455,   448,
2057 <     341,   342,   621,   343,   300,   309,  1326,   544,   650,   476,
2058 <    1327,   505,   470,   502,   344,   345,   622,   370,   769,   254,
2059 <     814,   765,   526,   346,   449,   733,   819,   643,   566,   623,
2060 <     470,   347,   348,   349,    92,    93,    94,   770,  1345,   350,
2061 <     301,   356,  1346,   351,   766,   353,   352,   450,   767,   310,
2062 <     439,   451,   364,   376,   255,   433,   456,   377,   434,   378,
2063 <     543,   477,   993,   717,   379,   557,   380,   863,   381,   728,
2064 <     829,   830,   831,   832,   833,   382,   383,   311,   312,   384,
2065 <     385,   386,   387,   539,   388,   561,   389,   302,   390,   391,
2066 <     392,   478,  1083,  1084,  1085,  1086,  1087,   479,   393,   435,
2067 <     394,   395,   436,   787,   396,   624,   128,   771,   397,   398,
2068 <     399,   880,   400,   129,   130,   768,   401,   131,   402,   772,
2069 <     403,   544,   404,   303,   132,   304,   305,   405,   406,  1100,
2070 <     407,   409,  1048,   133,   507,   256,   558,   134,   135,   411,
2071 <     412,   413,   769,   524,   136,   452,   414,   415,   137,   138,
2072 <     416,   139,   417,   418,   453,   454,   437,   140,   419,   420,
2073 <     480,   770,   421,   422,   423,   424,   425,   426,   306,   257,
2074 <     307,   308,   427,   428,   438,   141,   142,   500,   429,   559,
2075 <     143,   430,   488,   489,   490,   491,   309,   144,   455,   492,
2076 <     493,   145,   146,   147,   494,   495,   148,   496,   497,   149,
2077 <     150,   498,  1090,   499,   503,   504,   517,   518,   519,   151,
2078 <    1098,  1099,   610,   520,   611,   152,   153,   612,   154,   155,
2079 <     156,   157,   158,   521,   522,   523,   527,   528,   529,   530,
2080 <     310,   771,   531,   159,   532,   533,   613,   614,   535,   536,
2081 <     537,   538,   160,   772,   161,   162,   456,   163,  1328,   560,
2082 <     164,   165,   562,   563,   166,   564,   565,   566,   311,   312,
2083 <     615,   569,   570,   571,   616,   167,   572,   573,   575,   245,
2084 <     750,   751,   752,   753,   754,   755,   756,   576,   577,   578,
2085 <     579,  1329,   580,   641,   642,   645,   647,   168,   646,   169,
2086 <     648,   652,  1330,   170,   617,   654,   618,   171,   172,   173,
2087 <     174,   175,   439,   656,   657,   176,   177,   658,  1331,   619,
2088 <     659,   660,   661,   662,   178,  1332,   663,   664,   665,   666,
2089 <    1333,   667,  1334,   246,   247,   248,   249,   250,   251,   252,
2090 <     253,   620,   669,    76,   670,  1335,   672,   673,   674,   675,
2091 <    1255,  1256,   679,   677,   678,    77,   179,   680,   180,   681,
2092 <     682,   683,  1185,   684,   181,   283,   685,   691,   686,   182,
2093 <       2,     3,   689,   621,   183,     4,    78,    79,  1336,   703,
2094 <    1257,   254,    80,   712,    81,   692,   693,   622,   710,   694,
2095 <     713,   699,     5,   715,  1337,   719,     6,  1258,   700,     7,
2096 <     623,   706,   707,   708,  1259,   284,     8,   709,   742,   735,
2097 <     743,   716,  1338,   744,  1339,  1340,   255,   720,   285,  1200,
2098 <     721,     9,   723,  1260,   745,   724,   746,   581,   725,   726,
2099 <     727,   730,   747,    10,    11,   732,    12,   737,    82,    83,
2100 <     286,  1186,   287,    13,   288,   289,   738,    84,    85,   582,
2101 <     583,  1261,   748,   739,   749,   757,   584,   758,   759,  1262,
2102 <      14,   761,   760,   290,   762,   789,   784,   763,    86,    87,
2103 <      15,   783,    16,  1187,   790,   785,   624,   791,   786,   792,
2104 <     793,   794,  1341,   798,   796,    88,    89,   797,  1188,    17,
2105 <     799,   800,   801,   802,   803,   804,    90,   256,  1201,   805,
2106 <    1342,   807,  1263,   806,   808,    91,    18,   809,  1189,  1190,
2107 <    1343,   810,   811,   813,  1191,  1192,  1193,  1194,   816,   817,
2108 <    1122,  1264,   821,   822,   823,   824,   825,  1195,   882,   826,
2109 <    1202,   257,   827,   585,   586,   587,   828,   850,   588,   883,
2110 <     886,    19,   836,   887,   851,  1203,   589,   837,   838,   839,
2111 <      20,    21,   840,   841,   842,    22,    23,   843,   844,   590,
2112 <     591,  1156,   996,   845,   997,  1204,  1205,   846,   852,   847,
2113 <     848,  1206,  1207,  1208,  1209,   849,   592,   593,  1167,   853,
2114 <     854,   855,   856,   857,  1210,   858,   859,   860,   861,   865,
2115 <    1304,   862,    92,    93,    94,   866,   922,   923,   924,   925,
2116 <     926,   501,   927,   928,   594,   929,   930,   931,   867,   994,
2117 <     932,  1000,   868,   869,  1003,   870,   872,   873,   874,   875,
2118 <     933,   934,   935,   876,   936,   937,   938,  1015,   877,   939,
2119 <     878,   879,   940,   944,   945,   946,   947,   948,   884,   949,
2120 <     950,   885,   951,   952,   953,   888,   992,   954,   889,   890,
2121 <     999,   891,  1002,   892,   893,   894,   895,   955,   956,   957,
2122 <     896,   958,   959,   960,   897,   898,   961,   899,   900,   962,
2123 <    1282,  1283,  1284,  1285,  1286,   901,  1287,  1288,   902,  1289,
2124 <    1290,  1291,   903,   904,  1292,   905,  1004,   906,   907,  1005,
2125 <     908,   909,   910,   911,  1293,  1294,  1295,   912,  1296,  1297,
2126 <    1298,   913,   914,  1299,   915,   916,  1300,   917,   918,   919,
2127 <     920,   921,   943,   965,   966,   967,   968,   969,   970,   971,
2128 <     972,   973,   974,   975,   976,   977,  1006,   978,   979,   980,
2129 <     986,   987,   988,   989,   990,   991,  1008,   998,  1010,   995,
2130 <    1007,  1001,  1009,  1013,  1011,  1012,  1014,  1018,  1019,  1020,
2131 <    1021,  1022,  1023,  1024,  1025,  1026,  1050,  1051,  1027,  1052,
2132 <    1028,  1029,  1030,  1031,  1032,  1033,  1034,  1035,  1036,  1037,
2133 <    1038,  1039,  1076,  1078,  1080,  1040,  1041,  1043,  1044,  1045,
2134 <    1047,  1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,  1061,
2135 <    1062,  1063,  1064,  1088,  1065,  1066,  1089,  1067,  1072,  1073,
2136 <    1074,  1075,  1091,  1079,  1092,  1077,  1082,  1081,  1093,  1094,
2137 <    1095,  1096,  1097,  1101,  1102,  1107,  1105,  1106,  1108,  1109,
2138 <    1110,  1111,  1112,  1113,  1117,  1114,  1118,  1115,  1116,  1119,
2139 <    1120,  1121,  1136,  1146,  1137,  1142,  1143,  1144,  1145,  1150,
2140 <    1151,  1152,  1153,  1170,  1154,  1171,  1155,  1159,  1165,  1166,
2141 <    1173,  1174,  1175,  1177,  1232,  1168,  1178,  1172,  1176,  1179,
2142 <    1180,  1181,  1184,  1270,  1275,  1198,   334,  1199,  1213,  1214,
2143 <    1215,  1216,  1217,  1218,  1219,  1220,  1221,  1222,   540,  1049,
2144 <    1353,  1352,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,
2145 <    1231,  1236,  1237,  1238,  1239,  1240,  1241,  1242,  1243,  1272,
2146 <    1273,  1274,  1279,  1280,  1281,  1303,   741,  1351,   864,  1324,
2147 <     788,  1271,  1322,  1321,   815,  1347,   820,  1350,  1348,  1323,
2148 <     881,   506,  1349,   644,   366,  1318,   651,   432,   354,  1247,
2149 <    1320,  1246,  1319,     0,     0,     0,     0,     0,   729,     0,
2150 <     525,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2151 <       0,     0,     0,     0,     0,     0,     0,   734,   718
2026 >     717,   613,   614,   465,   252,   335,   466,   593,   620,   508,
2027 >      70,   121,   393,   403,  1157,   465,   529,   499,   466,   716,
2028 >      49,   304,    50,   499,  1122,    54,   336,   337,   548,   243,
2029 >     338,   593,  1128,   121,   480,    47,    48,   236,   253,   530,
2030 >      71,   467,  1054,    70,   468,  1056,  1055,   304,   549,  1057,
2031 >      72,   254,    56,   467,    61,   509,   468,   481,   531,  1115,
2032 >      62,   236,   532,  1116,   255,   256,   257,   258,   975,   976,
2033 >     977,   708,   709,    71,   510,   269,   482,   710,   711,   511,
2034 >     483,   122,   394,    72,   259,   469,   795,   796,   243,    65,
2035 >    1015,   339,   340,   341,   671,   672,   342,   469,   584,   393,
2036 >     799,   800,   470,   122,   343,   270,   594,    66,   685,    73,
2037 >      69,   127,   404,   690,   470,   533,   344,   345,   128,   129,
2038 >     305,  1274,   865,   866,   701,   702,   244,   704,   118,   130,
2039 >     594,   550,   346,   347,   119,   714,   715,   131,   512,   719,
2040 >     534,   271,    73,   132,   395,   405,   305,   133,   134,   500,
2041 >     135,  1094,   309,  1095,   245,   500,   136,  1158,   484,   535,
2042 >     551,  1159,   348,   120,   716,   137,   138,   485,   486,   394,
2043 >     139,   126,   595,   232,   272,   140,   273,   274,   406,   141,
2044 >     142,    79,   501,   143,   862,   244,   144,   145,   501,  1016,
2045 >     233,  1123,   234,    80,   146,  1015,   595,   585,   584,  1129,
2046 >     147,   148,   487,   149,   150,   151,   152,   153,    81,    82,
2047 >     235,  1117,   548,   245,    83,  1118,    84,   275,   154,   276,
2048 >     277,   278,   279,   250,   536,   251,   155,   156,   157,   471,
2049 >     158,   395,   549,   159,   160,  1253,   280,   161,   302,  1254,
2050 >     303,   471,   537,   502,   785,   564,   641,   523,   162,   502,
2051 >     754,   313,   401,   661,   668,  1017,   731,   771,    85,    86,
2052 >     488,   310,   281,   586,   747,    87,    88,   403,   237,   777,
2053 >     527,   603,   818,   163,   282,   742,  -108,   164,   521,   311,
2054 >     529,   165,   166,   167,   168,   169,    89,    90,   601,   170,
2055 >     171,   364,   237,   365,  1016,   312,   366,   585,   519,   172,
2056 >    -108,    91,    92,   530,   604,   315,  1255,   316,   283,   284,
2057 >    1256,   852,    93,  1293,   367,   550,   582,   317,   524,   860,
2058 >     861,    94,   531,   318,   587,   252,   532,   508,  1018,   173,
2059 >     174,  1171,   175,   368,  1294,   269,  1295,   369,   176,   813,
2060 >     319,  1259,  1261,   177,   551,  1260,  1262,  1263,   178,  1096,
2061 >    1265,  1264,   463,  1267,  1266,   320,   370,  1268,   371,   253,
2062 >    1017,   321,  1097,   586,  1277,   270,   404,  1279,  1278,   322,
2063 >     372,  1280,   254,   509,  1281,   323,   127,  1296,  1282,   533,
2064 >     324,   325,   612,   128,   129,   255,   256,   257,   258,  1283,
2065 >     373,  1308,   510,  1284,   130,  1309,   326,   511,   327,   405,
2066 >     328,   271,   131,   329,   534,   259,   330,   988,   132,    95,
2067 >      96,    97,   133,   134,   331,   135,  1119,  1120,  1121,   332,
2068 >     374,   136,   333,   535,   587,   830,   831,   832,   833,   834,
2069 >     137,   138,   406,  1018,   272,   139,   273,   274,   608,   400,
2070 >     140,   566,   412,   413,   141,   142,   414,   415,   143,   375,
2071 >     416,   144,   145,  1297,  1298,   758,   512,   417,   418,   146,
2072 >     419,   420,   364,   421,   365,   147,   148,   366,   149,   150,
2073 >     151,   152,   153,   422,   423,   424,   425,   275,   376,   276,
2074 >     277,   278,   279,   154,  1175,   367,   426,   427,   536,  1299,
2075 >     428,   155,   156,   157,   429,   158,   280,   430,   159,   160,
2076 >     431,   432,   161,   433,   368,   434,   537,   435,   369,   436,
2077 >     480,  1176,   437,   162,  1071,  1072,  1073,  1074,  1075,   438,
2078 >     439,   441,   281,   605,   377,   443,   444,   370,   445,   371,
2079 >    1177,   446,   657,   481,   282,   447,  1178,   448,   163,   449,
2080 >     450,   372,   164,   451,   452,    79,   165,   166,   167,   168,
2081 >     169,   453,   482,  1179,   170,   171,   483,    80,   454,   455,
2082 >     456,   373,   457,   458,   172,   459,   460,   461,   283,   284,
2083 >     606,   462,    81,    82,   520,   525,   526,  1180,    83,   557,
2084 >      84,  1227,   558,   559,  1181,   560,   561,   562,   563,   567,
2085 >     568,   374,   569,   570,   173,   174,   571,   175,  1182,   572,
2086 >     573,   574,   575,   176,   576,  1241,   577,   578,   177,   579,
2087 >     580,   581,   600,   178,   607,   609,  1183,   610,  1184,  1185,
2088 >     375,   611,    85,    86,   612,   615,   616,   617,   618,    87,
2089 >      88,   619,   621,   622,   484,   623,   624,   626,   625,   627,
2090 >     643,   628,   663,   485,   486,   629,   630,   631,   632,   376,
2091 >      89,    90,   633,   634,   635,   636,   637,   638,  1228,   639,
2092 >     640,   644,   645,   646,   647,    91,    92,     2,     3,   649,
2093 >     650,  1186,     4,   651,   652,   653,    93,   654,   487,   655,
2094 >     656,  1187,  1242,   659,   660,    94,   665,   664,     5,  1229,
2095 >    1188,     6,     7,   666,  1189,   377,  1190,     8,   670,  1230,
2096 >     673,   674,   675,   676,   677,  1191,  1231,   679,   678,   680,
2097 >     335,   681,     9,  1243,  1275,  1192,    10,    11,  1232,    12,
2098 >    1233,  1234,   682,  1244,   915,    13,   683,   684,   687,   686,
2099 >    1245,   336,   337,  1235,   688,   338,   488,   689,   691,    14,
2100 >     692,   693,  1246,  1236,  1247,  1248,   694,   695,   696,    15,
2101 >      16,   697,   698,   699,   700,   703,   705,  1249,   938,   706,
2102 >     707,   712,   713,   716,   718,   720,    17,  1250,   721,   724,
2103 >     722,   723,   756,    95,    96,    97,   759,   726,   727,   729,
2104 >     730,   733,    18,   734,   779,   735,  1198,   737,   760,   738,
2105 >     780,   739,   740,   741,   749,   757,   339,   340,   341,   744,
2106 >     746,   342,   751,   752,   753,   761,   762,   763,   781,   343,
2107 >     764,   766,   767,   768,   770,   773,   782,   783,    19,   784,
2108 >     774,   344,   345,   787,   788,   775,   776,    20,    21,   786,
2109 >     789,    22,    23,   790,   791,   792,   793,   346,   347,   794,
2110 >     805,   803,   804,   806,   807,   808,   916,   917,   918,   919,
2111 >     920,   810,   809,   921,   922,   820,   812,   923,   924,   925,
2112 >     815,   816,   926,   821,   927,   928,   929,   348,   930,   931,
2113 >     932,   850,   822,   933,   851,   823,   824,   853,   854,   934,
2114 >     939,   940,   941,   942,   943,    24,   855,   944,   945,   856,
2115 >    1136,   946,   947,   948,   857,   825,   949,   826,   950,   951,
2116 >     952,   827,   953,   954,   955,   828,   829,   956,  1199,  1200,
2117 >    1201,  1202,  1203,   957,  1137,  1204,  1205,   837,   838,  1206,
2118 >    1207,  1208,   839,  1138,  1209,   840,  1210,  1211,  1212,  1139,
2119 >    1213,  1214,  1215,   858,   841,  1216,   842,   843,   859,   844,
2120 >     864,  1217,   845,   867,   869,  1140,   868,   846,   847,   870,
2121 >     871,   872,   873,   874,   998,   848,   849,   863,   875,   878,
2122 >     876,   877,   879,   880,   881,   883,   884,   882,   886,   989,
2123 >     887,  1141,   885,   888,   889,   890,   891,   892,   893,  1142,
2124 >     894,   895,   896,   897,   898,   899,   900,   901,   902,   903,
2125 >     904,   905,   906,   907,   908,   909,   910,   911,   912,   913,
2126 >     914,   937,   991,   960,   992,   994,   961,   962,   997,   995,
2127 >     963,   999,   964,   965,   966,   967,   968,  1000,   969,   970,
2128 >    1001,   971,  1143,   972,   973,   974,   980,   981,   982,   983,
2129 >     984,   985,   986,  1003,  1005,  1008,   987,   993,   990,   996,
2130 >    1144,  1002,  1004,  1006,  1009,  1007,  1010,  1013,  1014,  1024,
2131 >    1026,  1025,  1027,  1029,  1030,  1028,  1031,  1032,  1033,  1035,
2132 >    1036,  1037,  1063,  1034,  1065,  1038,  1039,  1040,  1067,  1269,
2133 >    1112,  1153,  1272,  1224,   314,  1172,  1225,  1041,  1042,  1043,
2134 >    1044,  1045,  1046,  1047,   583,  1310,  1048,  1049,  1050,  1051,
2135 >    1052,  1053,  1058,  1059,  1060,  1061,  1062,   522,  1066,   772,
2136 >    1064,  1069,  1068,  1070,  1076,  1077,  1078,  1079,  1080,  1081,
2137 >    1082,  1305,  1304,  1083,   755,  1291,  1084,  1270,   743,  1085,
2138 >    1086,  1164,  1087,  1088,  1089,  1090,  1091,  1289,  1092,  1093,
2139 >     642,  1100,  1101,  1102,  1103,  1104,  1105,  1106,  1107,  1108,
2140 >    1109,  1110,  1111,   778,  1306,   814,  1126,  1127,  1132,  1133,
2141 >    1134,  1135,  1147,  1148,  1307,  1149,  1150,  1151,  1152,  1156,
2142 >    1285,  1162,  1163,  1290,   402,   748,  1286,  1167,   464,  1165,
2143 >    1258,  1257,  1287,   334,   819,   658,  1168,  1288,     0,     0,
2144 >    1173,     0,  1170,  1174,  1195,  1196,  1197,  1220,  1221,  1222,
2145 >    1223,  1226,  1239,  1240,  1271,     0,  1276,  1292,  1273,  1302,
2146 >     662,  1303,     0,   528,     0,     0,     0,     0,     0,     0,
2147 >     732,   669,     0,     0,     0,     0,     0,     0,     0,     0,
2148 >       0,     0,   565,     0,     0,     0,     0,     0,     0,     0,
2149 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2150 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2151 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2152 >       0,     0,     0,     0,     0,     0,     0,   602
2153   };
2154  
2155 + #define yypact_value_is_default(yystate) \
2156 +  ((yystate) == (-560))
2157 +
2158 + #define yytable_value_is_error(yytable_value) \
2159 +  YYID (0)
2160 +
2161   static const yytype_int16 yycheck[] =
2162   {
2163 <     340,   341,   425,     1,   260,   261,     1,   347,    11,    11,
2164 <      10,     1,    12,    76,   262,     1,   260,   262,     8,     9,
2165 <     264,     1,    12,     1,   260,     1,   153,    27,   264,    19,
2166 <       1,    31,     1,   981,   982,   983,   260,   377,    28,   379,
2167 <     264,   260,    32,    33,   260,   264,    22,   260,   264,    39,
2168 <     262,   264,   392,    43,    44,   395,    46,   262,     1,    37,
2169 <     400,     1,    52,    14,    15,    16,   197,   198,    37,    47,
2170 <       1,   411,   412,   262,   414,     1,     1,     1,    47,   262,
2171 <      70,    71,    53,   423,   424,    75,   426,   197,   198,   169,
2172 <     170,    89,    82,     1,    89,     1,    86,    87,    88,   216,
2173 <     217,    91,   260,     1,    94,    95,   264,    13,   262,    89,
2174 <     262,   260,    83,     1,   104,   264,     4,     1,    89,     1,
2175 <     110,   111,   153,   113,   114,   115,   116,   117,    34,    35,
2176 <     262,   260,   118,     1,    40,   264,    42,   262,   128,    23,
2177 <      24,     1,   120,   262,    26,   153,    30,   137,   124,   139,
2178 <     140,   120,   142,     1,   260,   145,   146,    45,   264,   149,
2179 <      48,     1,   148,     3,   262,    89,     6,    49,   231,    37,
2180 <     160,    53,   235,   262,    22,   155,   262,   120,   118,   155,
2181 <     131,   152,     1,   523,     1,    25,    26,   262,   262,   120,
2182 <      96,    97,   182,     1,   184,   120,   199,   199,   188,   105,
2183 <     106,   262,   192,   193,   194,   195,   196,    26,   148,    49,
2184 <     200,   201,   155,    53,   102,   260,    84,   263,   262,   209,
2185 <     126,   127,   120,   107,   108,   109,   263,     1,   112,   155,
2186 <      49,   155,   120,    41,    53,   260,   120,   143,   144,   264,
2187 <     263,   263,   242,    83,   187,    85,    54,   155,   154,   133,
2188 <     134,   241,   120,   243,   122,   123,   187,   163,    98,   249,
2189 <     120,   187,   187,   261,   254,   147,   150,   151,    76,   259,
2190 <      78,   261,    80,    81,   156,   157,   124,   260,   263,   187,
2191 <     120,    55,    56,    57,    58,    59,    60,    61,    62,   187,
2192 <     261,    99,   261,   263,   178,   155,   263,   165,   260,   167,
2193 <     168,   120,   264,   120,   263,   263,     1,   155,   190,     1,
2194 <     263,   263,   152,   263,     1,   183,   260,   248,   261,     1,
2195 <     264,   261,   248,   260,   263,   263,   166,   187,   147,   103,
2196 <     261,    26,   260,   263,    26,   261,   261,   261,   131,   179,
2197 <     248,   263,   263,   263,   250,   251,   252,   166,   260,   263,
2198 <      37,   262,   264,   263,    49,   261,   263,    49,    53,   227,
2199 <     248,    53,   263,   263,   138,     1,   248,   263,     4,   263,
2200 <     187,    53,   712,   261,   263,   153,   263,   261,   263,   261,
2201 <     173,   174,   175,   176,   177,   263,   263,   255,   256,   263,
2202 <     263,   263,   263,   261,   263,   197,   263,    84,   263,   263,
2203 <     263,    83,   829,   830,   831,   832,   833,    89,   263,    45,
2204 <     263,   263,    48,   261,   263,   255,     1,   236,   263,   263,
2205 <     263,   261,   263,     8,     9,   120,   263,    12,   263,   248,
2206 <     263,   248,   263,   120,    19,   122,   123,   263,   263,   862,
2207 <     263,   263,   261,    28,   262,   219,   153,    32,    33,   263,
2208 <     263,   263,   147,   261,    39,   147,   263,   263,    43,    44,
2209 <     263,    46,   263,   263,   156,   157,   102,    52,   263,   263,
2210 <     152,   166,   263,   263,   263,   263,   263,   263,   165,   253,
2211 <     167,   168,   263,   263,   120,    70,    71,   261,   263,   153,
2212 <      75,   263,   263,   263,   263,   263,   183,    82,   190,   263,
2213 <     263,    86,    87,    88,   263,   263,    91,   263,   263,    94,
2214 <      95,   263,   852,   263,   263,   263,   263,   263,   263,   104,
2215 <     860,   861,     1,   263,     3,   110,   111,     6,   113,   114,
2216 <     115,   116,   117,   263,   263,   263,   263,   263,   263,   263,
2217 <     227,   236,   263,   128,   263,   263,    25,    26,   263,   263,
2218 <     263,   263,   137,   248,   139,   140,   248,   142,     5,   260,
2219 <     145,   146,   131,   131,   149,   197,   197,   131,   255,   256,
2220 <      49,   131,   131,   197,    53,   160,   197,   131,   197,     1,
2221 <     220,   221,   222,   223,   224,   225,   226,   197,   197,   197,
2222 <     197,    38,   260,   263,   263,   153,   263,   182,   260,   184,
2223 <     263,   197,    49,   188,    83,   197,    85,   192,   193,   194,
2224 <     195,   196,   248,   131,   153,   200,   201,   131,    65,    98,
2225 <     197,   197,   131,   153,   209,    72,   197,   131,   131,   131,
2226 <      77,   197,    79,    55,    56,    57,    58,    59,    60,    61,
2227 <      62,   120,   197,     1,   197,    92,   153,   197,   131,   131,
2228 <      20,    21,   153,   131,   131,    13,   241,   131,   243,   131,
2229 <     197,   197,    92,   263,   249,     1,   197,   153,   263,   254,
2230 <       0,     1,   197,   152,   259,     5,    34,    35,   125,   131,
2231 <      50,   103,    40,   263,    42,   197,   197,   166,   260,   197,
2232 <     263,   197,    22,   263,   141,   260,    26,    67,   197,    29,
2233 <     179,   197,   197,   197,    74,    41,    36,   197,   153,   260,
2234 <     153,   263,   159,   153,   161,   162,   138,   263,    54,    92,
2235 <     263,    51,   263,    93,   153,   263,   153,     1,   263,   263,
2236 <     263,   263,   153,    63,    64,   263,    66,   263,    96,    97,
2237 <      76,   171,    78,    73,    80,    81,   263,   105,   106,    23,
2238 <      24,   121,   153,   263,   153,   153,    30,   153,   197,   129,
2239 <      90,   153,   260,    99,   153,   197,   263,   260,   126,   127,
2240 <     100,   260,   102,   203,   197,   263,   255,   197,   263,   153,
2241 <     197,   197,   229,   197,   260,   143,   144,   153,   218,   119,
2242 <     153,   153,   153,   153,   153,   263,   154,   219,   171,   153,
2243 <     247,   153,   172,   131,   153,   163,   136,   260,   238,   239,
2244 <     257,   260,   263,   263,   244,   245,   246,   247,   260,   263,
2245 <     158,   191,   260,   260,   260,   260,   260,   257,   153,   260,
2246 <     203,   253,   260,   107,   108,   109,   260,   263,   112,   153,
2247 <     153,   171,   260,   153,   263,   218,   120,   260,   260,   260,
2248 <     180,   181,   260,   260,   260,   185,   186,   260,   260,   133,
2249 <     134,   158,   153,   260,   153,   238,   239,   260,   263,   260,
2250 <     260,   244,   245,   246,   247,   260,   150,   151,   202,   263,
2251 <     263,   263,   263,   263,   257,   263,   263,   263,   263,   260,
2252 <    1183,   263,   250,   251,   252,   263,   204,   205,   206,   207,
2253 <     208,   258,   210,   211,   178,   213,   214,   215,   263,   197,
2254 <     218,   197,   263,   263,   131,   263,   263,   263,   263,   263,
2255 <     228,   229,   230,   263,   232,   233,   234,   131,   263,   237,
2256 <     263,   263,   240,   204,   205,   206,   207,   208,   260,   210,
2257 <     211,   260,   213,   214,   215,   263,   263,   218,   260,   260,
2258 <     153,   260,   153,   260,   260,   260,   260,   228,   229,   230,
2259 <     260,   232,   233,   234,   260,   260,   237,   260,   260,   240,
2260 <     204,   205,   206,   207,   208,   260,   210,   211,   260,   213,
2261 <     214,   215,   260,   260,   218,   260,   153,   260,   260,   153,
2262 <     260,   260,   260,   260,   228,   229,   230,   260,   232,   233,
2263 <     234,   260,   260,   237,   260,   260,   240,   260,   260,   260,
2264 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2265 <     260,   260,   260,   260,   260,   260,   153,   260,   260,   260,
2266 <     260,   260,   260,   260,   260,   260,   153,   260,   153,   263,
2267 <     260,   263,   263,   153,   260,   263,   153,   260,   260,   260,
2268 <     260,   260,   260,   260,   260,   260,   153,   153,   260,   153,
2269 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2270 <     260,   260,   153,   153,   153,   263,   263,   263,   263,   263,
2271 <     263,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2272 <     260,   260,   260,   131,   260,   260,   131,   260,   260,   260,
2273 <     260,   260,   131,   260,   131,   263,   260,   263,   131,   131,
2274 <     153,   131,   131,   260,   153,   197,   153,   153,   263,   153,
2275 <     153,   153,   153,   131,   260,   153,   260,   153,   153,   260,
2276 <     260,   260,   260,   130,   260,   260,   260,   260,   260,   260,
2277 <     260,   260,   260,   153,   260,   197,   260,   260,   260,   260,
2278 <     153,   153,   153,   153,   130,   264,   260,   263,   263,   260,
2279 <     260,   260,   260,   131,   130,   260,    71,   260,   260,   260,
2280 <     260,   260,   260,   260,   260,   260,   260,   260,   313,   773,
2281 <    1346,  1327,   260,   260,   260,   260,   260,   260,   260,   260,
2282 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2283 <     260,   260,   260,   260,   260,   260,   482,  1325,   595,  1269,
2284 <     512,  1168,  1254,  1252,   545,  1306,   553,  1311,  1308,  1267,
2285 <     625,   275,  1309,   360,   124,  1245,   372,   184,    95,  1128,
2286 <    1251,  1126,  1249,    -1,    -1,    -1,    -1,    -1,   457,    -1,
2287 <     291,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2288 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,   472,   440
2163 >     456,   320,   321,     1,     1,     1,     4,     1,   327,     1,
2164 >       1,     1,     1,     1,    61,     1,     1,     1,     4,   110,
2165 >     243,     1,   243,     1,    11,   243,    22,    23,     1,     1,
2166 >      26,     1,    11,     1,     1,   241,   242,     1,    35,    24,
2167 >      31,    39,   241,     1,    42,   241,   245,     1,    21,   245,
2168 >      41,    48,   243,    39,   243,    47,    42,    24,    43,   241,
2169 >     243,     1,    47,   245,    61,    62,    63,    64,    14,    15,
2170 >      16,   176,   177,    31,    66,     1,    43,   176,   177,    71,
2171 >      47,    71,    71,    41,    81,    83,   149,   150,     1,   243,
2172 >       1,    87,    88,    89,   413,   414,    92,    83,     1,     1,
2173 >     149,   150,   100,    71,   100,    31,   100,   243,   427,   100,
2174 >     243,     1,   100,   432,   100,   100,   112,   113,     8,     9,
2175 >     100,   212,   197,   198,   443,   444,    98,   446,   243,    19,
2176 >     100,   104,   128,   129,   243,   454,   455,    27,   130,   458,
2177 >     125,    67,   100,    33,   133,   133,   100,    37,    38,   133,
2178 >      40,    10,   241,    12,   126,   133,    46,   204,   125,   144,
2179 >     133,   208,   158,   243,   110,    55,    56,   134,   135,    71,
2180 >      60,   243,   166,   243,   100,    65,   102,   103,   166,    69,
2181 >      70,     1,   166,    73,   640,    98,    76,    77,   166,   100,
2182 >     243,   178,   243,    13,    84,     1,   166,   100,     1,   178,
2183 >      90,    91,   169,    93,    94,    95,    96,    97,    28,    29,
2184 >     243,   241,     1,   126,    34,   245,    36,   143,   108,   145,
2185 >     146,   147,   148,   243,   209,   243,   116,   117,   118,   227,
2186 >     120,   133,    21,   123,   124,   241,   162,   127,   243,   245,
2187 >     243,   227,   227,   227,   563,   242,   242,   240,   138,   227,
2188 >     242,   242,   242,   242,   242,   166,   242,   242,    78,    79,
2189 >     227,   244,   188,   166,   242,    85,    86,     1,   232,   242,
2190 >     242,   131,   242,   163,   200,   242,   240,   167,   242,   244,
2191 >       1,   171,   172,   173,   174,   175,   106,   107,   242,   179,
2192 >     180,     1,   232,     3,   100,   244,     6,   100,   241,   189,
2193 >     240,   121,   122,    24,   131,   244,   241,   244,   234,   235,
2194 >     245,   630,   132,    51,    24,   104,   242,   244,   241,   638,
2195 >     639,   141,    43,   244,   227,     1,    47,     1,   239,   219,
2196 >     220,   242,   222,    43,    72,     1,    74,    47,   228,   242,
2197 >     244,   241,   241,   233,   133,   245,   245,   241,   238,   208,
2198 >     241,   245,   242,   241,   245,   244,    66,   245,    68,    35,
2199 >     166,   244,   221,   166,   241,    31,   100,   241,   245,   244,
2200 >      80,   245,    48,    47,   241,   244,     1,   115,   245,   100,
2201 >     244,   244,   110,     8,     9,    61,    62,    63,    64,   241,
2202 >     100,   241,    66,   245,    19,   245,   244,    71,   244,   133,
2203 >     244,    67,    27,   244,   125,    81,   244,   726,    33,   229,
2204 >     230,   231,    37,    38,   244,    40,   975,   976,   977,   244,
2205 >     130,    46,   242,   144,   227,   153,   154,   155,   156,   157,
2206 >      55,    56,   166,   239,   100,    60,   102,   103,   110,   244,
2207 >      65,   241,   244,   244,    69,    70,   244,   244,    73,   159,
2208 >     244,    76,    77,   191,   192,   243,   130,   244,   244,    84,
2209 >     244,   244,     1,   244,     3,    90,    91,     6,    93,    94,
2210 >      95,    96,    97,   244,   244,   244,   244,   143,   188,   145,
2211 >     146,   147,   148,   108,     5,    24,   244,   244,   209,   227,
2212 >     244,   116,   117,   118,   244,   120,   162,   244,   123,   124,
2213 >     244,   244,   127,   244,    43,   244,   227,   244,    47,   244,
2214 >       1,    32,   244,   138,   830,   831,   832,   833,   834,   244,
2215 >     244,   244,   188,   131,   234,   244,   244,    66,   244,    68,
2216 >      51,   244,   242,    24,   200,   244,    57,   244,   163,   244,
2217 >     244,    80,   167,   244,   244,     1,   171,   172,   173,   174,
2218 >     175,   244,    43,    74,   179,   180,    47,    13,   244,   244,
2219 >     244,   100,   244,   244,   189,   244,   244,   244,   234,   235,
2220 >     241,   244,    28,    29,   244,   244,   244,    98,    34,   244,
2221 >      36,    74,   244,   244,   105,   244,   244,   244,   244,   244,
2222 >     244,   130,   244,   244,   219,   220,   244,   222,   119,   244,
2223 >     244,   244,   244,   228,   244,    74,   244,   244,   233,   244,
2224 >     244,   244,   244,   238,   176,   110,   137,   176,   139,   140,
2225 >     159,   176,    78,    79,   110,   110,   110,   176,   176,    85,
2226 >      86,   110,   176,   176,   125,   176,   176,   241,   176,   241,
2227 >     241,   244,   131,   134,   135,   244,   244,   244,   244,   188,
2228 >     106,   107,   244,   244,   244,   244,   244,   244,   151,   244,
2229 >     244,   244,   244,   244,   244,   121,   122,     0,     1,   244,
2230 >     244,   192,     5,   244,   244,   244,   132,   244,   169,   244,
2231 >     244,   202,   151,   244,   244,   141,   244,   241,    21,   182,
2232 >     211,    24,    25,   244,   215,   234,   217,    30,   176,   192,
2233 >     110,   176,   176,   110,   131,   226,   199,   110,   176,   110,
2234 >       1,   110,    45,   182,  1170,   236,    49,    50,   211,    52,
2235 >     213,   214,   176,   192,    61,    58,   176,   176,   176,   131,
2236 >     199,    22,    23,   226,   110,    26,   227,   110,   110,    72,
2237 >     110,   131,   211,   236,   213,   214,   110,   110,   176,    82,
2238 >      83,   176,   244,   176,   244,   176,   176,   226,    61,   176,
2239 >     176,   176,   176,   110,   131,   176,    99,   236,   176,   241,
2240 >     176,   176,   176,   229,   230,   231,   131,   244,   244,   244,
2241 >     244,   241,   115,   244,   176,   244,    61,   244,   131,   244,
2242 >     176,   244,   244,   244,   241,   241,    87,    88,    89,   244,
2243 >     244,    92,   244,   244,   244,   241,   241,   244,   176,   100,
2244 >     244,   244,   244,   244,   244,   241,   131,   176,   151,   176,
2245 >     244,   112,   113,   131,   176,   244,   244,   160,   161,   241,
2246 >     131,   164,   165,   131,   131,   131,   131,   128,   129,   131,
2247 >     110,   131,   131,   131,   131,   241,   183,   184,   185,   186,
2248 >     187,   244,   241,   190,   191,   131,   244,   194,   195,   196,
2249 >     241,   244,   199,   241,   201,   202,   203,   158,   205,   206,
2250 >     207,   110,   241,   210,   110,   241,   241,   110,   110,   216,
2251 >     183,   184,   185,   186,   187,   218,   110,   190,   191,   110,
2252 >      20,   194,   195,   196,   131,   241,   199,   241,   201,   202,
2253 >     203,   241,   205,   206,   207,   241,   241,   210,   183,   184,
2254 >     185,   186,   187,   216,    44,   190,   191,   241,   241,   194,
2255 >     195,   196,   241,    53,   199,   241,   201,   202,   203,    59,
2256 >     205,   206,   207,   110,   241,   210,   241,   241,   110,   241,
2257 >     131,   216,   241,   131,   244,    75,   176,   241,   241,   131,
2258 >     131,   131,   131,   110,   110,   241,   241,   241,   131,   241,
2259 >     131,   131,   131,   131,   241,   131,   131,   241,   241,   176,
2260 >     241,   101,   244,   241,   241,   241,   241,   241,   241,   109,
2261 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2262 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2263 >     241,   241,   131,   241,   131,   131,   241,   241,   131,   176,
2264 >     241,   131,   241,   241,   241,   241,   241,   131,   241,   241,
2265 >     131,   241,   152,   241,   241,   241,   241,   241,   241,   241,
2266 >     241,   241,   241,   131,   131,   131,   244,   241,   244,   244,
2267 >     170,   241,   244,   241,   131,   244,   110,   241,   241,   241,
2268 >     131,   241,   176,   131,   131,   244,   131,   244,   131,   131,
2269 >     131,   131,   131,   241,   131,   241,   241,   241,   131,   110,
2270 >     136,   136,   131,  1055,    74,  1019,  1057,   241,   241,   241,
2271 >     241,   241,   241,   241,   285,  1309,   241,   241,   241,   241,
2272 >     241,   241,   241,   241,   241,   241,   241,   238,   241,   538,
2273 >     244,   241,   244,   241,   241,   241,   241,   241,   241,   241,
2274 >     241,  1280,  1278,   241,   514,  1268,   241,  1165,   489,   241,
2275 >     241,   181,   241,   241,   241,   241,   241,  1264,   241,   241,
2276 >     349,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2277 >     241,   241,   241,   552,  1282,   588,   241,   241,   241,   241,
2278 >     241,   241,   241,   241,  1284,   241,   241,   241,   241,   241,
2279 >    1254,   241,   241,  1266,   123,   504,  1256,   241,   179,   245,
2280 >    1118,  1116,  1260,    98,   596,   378,   244,  1262,    -1,    -1,
2281 >     241,    -1,   244,   241,   241,   241,   241,   241,   241,   241,
2282 >     241,   241,   241,   241,   241,    -1,   241,   241,   244,   241,
2283 >     396,   241,    -1,   246,    -1,    -1,    -1,    -1,    -1,    -1,
2284 >     472,   408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2285 >      -1,    -1,   260,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2286 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2287 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2288 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2289 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,   306
2290   };
2291  
2292   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2293     symbol of state STATE-NUM.  */
2294   static const yytype_uint16 yystos[] =
2295   {
2296 <       0,   266,     0,     1,     5,    22,    26,    29,    36,    51,
2297 <      63,    64,    66,    73,    90,   100,   102,   119,   136,   171,
2298 <     180,   181,   185,   186,   267,   272,   277,   295,   301,   316,
2299 <     339,   358,   372,   390,   397,   407,   416,   442,   452,   458,
2300 <     462,   472,   536,   552,   573,   260,   261,   262,   262,   340,
2301 <     417,   453,   262,   463,   262,   537,   373,   443,   359,   262,
2302 <     262,   317,   391,   262,   262,   398,   408,     1,    37,    47,
2303 <     120,   296,   297,   298,   299,   300,     1,    13,    34,    35,
2304 <      40,    42,    96,    97,   105,   106,   126,   127,   143,   144,
2305 <     154,   163,   250,   251,   252,   553,   554,   555,   556,   557,
2306 <     558,   559,   560,   561,   562,   563,   564,   565,   566,   567,
2307 <     568,   569,   570,   571,   572,   153,   341,   345,   153,   418,
2308 <     422,   262,     1,    89,   459,   460,   461,   262,     1,     8,
2309 <       9,    12,    19,    28,    32,    33,    39,    43,    44,    46,
2310 <      52,    70,    71,    75,    82,    86,    87,    88,    91,    94,
2311 <      95,   104,   110,   111,   113,   114,   115,   116,   117,   128,
2312 <     137,   139,   140,   142,   145,   146,   149,   160,   182,   184,
2313 <     188,   192,   193,   194,   195,   196,   200,   201,   209,   241,
2314 <     243,   249,   254,   259,   473,   474,   475,   476,   477,   478,
2315 <     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
2316 <     489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
2317 <     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
2318 <     509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
2319 <     519,   520,   521,   522,   523,   524,   528,   532,   533,   534,
2320 <     535,   262,   262,   262,   262,     1,    55,    56,    57,    58,
2321 <      59,    60,    61,    62,   103,   138,   219,   253,   302,   303,
2322 <     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2323 <     314,   315,     1,   118,   148,   273,   274,   275,   276,   153,
2324 <     318,   322,   262,     1,    41,    54,    76,    78,    80,    81,
2325 <      99,   574,   575,   576,   577,   578,   579,   580,   581,   582,
2326 <       1,    37,    84,   120,   122,   123,   165,   167,   168,   183,
2327 <     227,   255,   256,   278,   279,   280,   284,   285,   286,   287,
2328 <     288,   289,   290,   291,   292,   293,   294,   262,   262,   260,
2329 <     263,   263,   263,   261,   297,   263,   263,   263,   263,   263,
2330 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2331 <     263,   263,   263,   261,   554,   262,   262,     1,    89,   155,
2332 <     454,   455,   456,   457,   263,   261,   460,     1,   120,   155,
2333 <     187,   464,   468,   469,   470,   471,   263,   263,   263,   263,
2334 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2335 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2336 <     263,   263,   263,   263,   263,   263,   263,   263,   529,   263,
2337 <     525,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2338 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2339 <     263,   261,   474,     1,     4,    45,    48,   102,   120,   248,
2340 <     538,   539,   540,   541,   542,   546,   547,   548,     1,    26,
2341 <      49,    53,   147,   156,   157,   190,   248,   374,   375,   376,
2342 <     377,   378,   379,   380,   387,   388,   389,     1,   155,   187,
2343 <     248,   444,   448,   449,   450,   451,     1,    53,    83,    89,
2344 <     152,   360,   364,   365,   366,   370,   371,   260,   263,   263,
2345 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2346 <     261,   303,   260,   263,   263,   261,   274,   262,     1,    22,
2347 <     124,   155,   392,   393,   394,   395,   396,   263,   263,   263,
2348 <     263,   263,   263,   263,   261,   575,   260,   263,   263,   263,
2349 <     263,   263,   263,   263,   281,   263,   263,   263,   263,   261,
2350 <     279,     1,   120,   187,   248,   399,   400,   401,   402,   403,
2351 <       1,   120,   187,   409,   410,   411,   412,   153,   153,   153,
2352 <     260,   197,   131,   131,   197,   197,   131,   269,   269,   131,
2353 <     131,   197,   197,   131,   269,   197,   197,   197,   197,   197,
2354 <     260,     1,    23,    24,    30,   107,   108,   109,   112,   120,
2355 <     133,   134,   150,   151,   178,   342,   343,   344,   346,   347,
2356 <     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
2357 <       1,     3,     6,    25,    26,    49,    53,    83,    85,    98,
2358 <     120,   152,   166,   179,   255,   419,   420,   421,   423,   424,
2359 <     425,   426,   427,   428,   429,   436,   437,   438,   439,   440,
2360 <     441,   263,   263,   261,   455,   153,   260,   263,   263,   465,
2361 <     261,   469,   197,   269,   197,   269,   131,   153,   131,   197,
2362 <     197,   131,   153,   197,   131,   131,   131,   197,   269,   197,
2363 <     197,   269,   153,   197,   131,   131,   269,   131,   131,   153,
2364 <     131,   131,   197,   197,   263,   197,   263,   269,   269,   197,
2365 <     269,   153,   197,   197,   197,   197,   198,   197,   198,   197,
2366 <     197,   269,   269,   131,   271,   269,   197,   197,   197,   197,
2367 <     260,   549,   263,   263,   543,   263,   263,   261,   539,   260,
2368 <     263,   263,   381,   263,   263,   263,   263,   263,   261,   375,
2369 <     263,   445,   263,   261,   449,   260,   361,   263,   263,   263,
2370 <     261,   365,   153,   153,   153,   153,   153,   153,   153,   153,
2371 <     220,   221,   222,   223,   224,   225,   226,   153,   153,   197,
2372 <     260,   153,   153,   260,     1,    26,    49,    53,   120,   147,
2373 <     166,   236,   248,   319,   320,   321,   323,   324,   325,   326,
2374 <     327,   328,   332,   260,   263,   263,   263,   261,   393,   197,
2375 <     197,   197,   153,   197,   197,   269,   260,   153,   197,   153,
2376 <     153,   153,   153,   153,   263,   153,   131,   153,   153,   260,
2377 <     260,   263,   404,   263,   261,   400,   260,   263,   413,   261,
2378 <     410,   260,   260,   260,   260,   260,   260,   260,   260,   173,
2379 <     174,   175,   176,   177,   268,   269,   260,   260,   260,   260,
2380 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2381 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2382 <     263,   263,   263,   261,   343,   260,   263,   263,   263,   263,
2383 <     263,   430,   263,   263,   263,   263,   263,   263,   263,   263,
2384 <     261,   420,   153,   153,   260,   260,   153,   153,   263,   260,
2385 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2386 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2387 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2388 <     260,   260,   204,   205,   206,   207,   208,   210,   211,   213,
2389 <     214,   215,   218,   228,   229,   230,   232,   233,   234,   237,
2390 <     240,   530,   531,   260,   204,   205,   206,   207,   208,   210,
2391 <     211,   213,   214,   215,   218,   228,   229,   230,   232,   233,
2392 <     234,   237,   240,   526,   527,   260,   260,   260,   260,   260,
2393 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2394 <     260,    14,    15,    16,   270,   271,   260,   260,   260,   260,
2395 <     260,   260,   263,   269,   197,   263,   153,   153,   260,   153,
2396 <     197,   263,   153,   131,   153,   153,   153,   260,   153,   263,
2397 <     153,   260,   263,   153,   153,   131,   368,   369,   260,   260,
2398 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2399 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2400 <     263,   263,   333,   263,   263,   263,   329,   263,   261,   320,
2401 <     153,   153,   153,   260,   260,   260,   260,   260,   260,   260,
2402 <     260,   260,   260,   260,   260,   260,   260,   260,   169,   170,
2403 <     282,   283,   260,   260,   260,   260,   153,   263,   153,   260,
2404 <     153,   263,   260,   268,   268,   268,   268,   268,   131,   131,
2405 <     269,   131,   131,   131,   131,   153,   131,   131,   269,   269,
2406 <     271,   260,   153,   216,   217,   153,   153,   197,   263,   153,
2407 <     153,   153,   153,   131,   153,   153,   153,   260,   260,   260,
2408 <     260,   260,   158,   466,   467,   260,   264,   260,   264,   270,
2409 <     270,   270,    11,   199,   550,   551,   260,   260,    11,   199,
2410 <     544,   545,   260,   260,   260,   260,   130,   382,   383,   385,
2411 <     260,   260,   260,   260,   260,   260,   158,   446,   447,   260,
2412 <      76,   231,   235,   362,   363,   260,   260,   202,   264,   367,
2413 <     153,   197,   263,   153,   153,   153,   263,   153,   260,   260,
2414 <     260,   260,   260,   264,   260,    92,   171,   203,   218,   238,
2415 <     239,   244,   245,   246,   247,   257,   405,   406,   260,   260,
2416 <      92,   171,   203,   218,   238,   239,   244,   245,   246,   247,
2417 <     257,   414,   415,   260,   260,   260,   260,   260,   260,   260,
2418 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2419 <     260,   260,   130,   431,   432,   434,   260,   260,   260,   260,
2420 <     260,   260,   260,   260,   260,   264,   531,   527,   260,   264,
2421 <     260,   264,   384,   260,   264,    20,    21,    50,    67,    74,
2422 <      93,   121,   129,   172,   191,   386,   260,   264,   260,   264,
2423 <     131,   369,   260,   260,   260,   130,   334,   335,   337,   260,
2424 <     260,   260,   204,   205,   206,   207,   208,   210,   211,   213,
2425 <     214,   215,   218,   228,   229,   230,   232,   233,   234,   237,
2426 <     240,   330,   331,   260,   283,   260,   264,   260,   264,   433,
2427 <     260,   264,    10,    12,    27,    31,   242,   435,   467,   551,
2514 <     545,   386,   383,   447,   363,   336,   260,   264,     5,    38,
2515 <      49,    65,    72,    77,    79,    92,   125,   141,   159,   161,
2516 <     162,   229,   247,   257,   338,   260,   264,   406,   415,   435,
2517 <     432,   338,   335,   331
2296 >       0,   247,     0,     1,     5,    21,    24,    25,    30,    45,
2297 >      49,    50,    52,    58,    72,    82,    83,    99,   115,   151,
2298 >     160,   161,   164,   165,   218,   248,   253,   258,   280,   286,
2299 >     300,   318,   335,   349,   364,   371,   375,   385,   394,   414,
2300 >     424,   430,   434,   444,   504,   520,   541,   241,   242,   243,
2301 >     243,   319,   395,   425,   243,   435,   243,   505,   350,   415,
2302 >     336,   243,   243,   301,   365,   243,   243,   376,   386,   243,
2303 >       1,    31,    41,   100,   281,   282,   283,   284,   285,     1,
2304 >      13,    28,    29,    34,    36,    78,    79,    85,    86,   106,
2305 >     107,   121,   122,   132,   141,   229,   230,   231,   521,   522,
2306 >     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
2307 >     533,   534,   535,   536,   537,   538,   539,   540,   243,   243,
2308 >     243,     1,    71,   431,   432,   433,   243,     1,     8,     9,
2309 >      19,    27,    33,    37,    38,    40,    46,    55,    56,    60,
2310 >      65,    69,    70,    73,    76,    77,    84,    90,    91,    93,
2311 >      94,    95,    96,    97,   108,   116,   117,   118,   120,   123,
2312 >     124,   127,   138,   163,   167,   171,   172,   173,   174,   175,
2313 >     179,   180,   189,   219,   220,   222,   228,   233,   238,   445,
2314 >     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
2315 >     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
2316 >     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
2317 >     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
2318 >     486,   487,   488,   489,   490,   491,   492,   496,   500,   501,
2319 >     502,   503,   243,   243,   243,   243,     1,   232,   287,   288,
2320 >     289,   290,   291,     1,    98,   126,   254,   255,   256,   257,
2321 >     243,   243,     1,    35,    48,    61,    62,    63,    64,    81,
2322 >     542,   543,   544,   545,   546,   547,   548,   549,   550,     1,
2323 >      31,    67,   100,   102,   103,   143,   145,   146,   147,   148,
2324 >     162,   188,   200,   234,   235,   259,   260,   261,   262,   267,
2325 >     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2326 >     278,   279,   243,   243,     1,   100,   372,   373,   374,   241,
2327 >     244,   244,   244,   242,   282,   244,   244,   244,   244,   244,
2328 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2329 >     244,   244,   244,   242,   522,     1,    22,    23,    26,    87,
2330 >      88,    89,    92,   100,   112,   113,   128,   129,   158,   320,
2331 >     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
2332 >     331,   332,   333,   334,     1,     3,     6,    24,    43,    47,
2333 >      66,    68,    80,   100,   130,   159,   188,   234,   396,   397,
2334 >     398,   399,   400,   401,   402,   403,   404,   405,   409,   410,
2335 >     411,   412,   413,     1,    71,   133,   426,   427,   428,   429,
2336 >     244,   242,   432,     1,   100,   133,   166,   436,   440,   441,
2337 >     442,   443,   244,   244,   244,   244,   244,   244,   244,   244,
2338 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2339 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2340 >     497,   244,   493,   244,   244,   244,   244,   244,   244,   244,
2341 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2342 >     244,   244,   244,   242,   446,     1,     4,    39,    42,    83,
2343 >     100,   227,   506,   507,   508,   509,   510,   514,   515,   516,
2344 >       1,    24,    43,    47,   125,   134,   135,   169,   227,   351,
2345 >     352,   353,   354,   355,   356,   357,   361,   362,   363,     1,
2346 >     133,   166,   227,   416,   420,   421,   422,   423,     1,    47,
2347 >      66,    71,   130,   337,   341,   342,   343,   347,   348,   241,
2348 >     244,   242,   288,   240,   241,   244,   244,   242,   255,     1,
2349 >      24,    43,    47,   100,   125,   144,   209,   227,   302,   303,
2350 >     304,   305,   306,   307,   308,   309,   310,   314,     1,    21,
2351 >     104,   133,   366,   367,   368,   369,   370,   244,   244,   244,
2352 >     244,   244,   244,   244,   242,   543,   241,   244,   244,   244,
2353 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2354 >     244,   244,   242,   260,     1,   100,   166,   227,   377,   378,
2355 >     379,   380,   381,     1,   100,   166,   387,   388,   389,   390,
2356 >     244,   242,   373,   131,   131,   131,   241,   176,   110,   110,
2357 >     176,   176,   110,   250,   250,   110,   110,   176,   176,   110,
2358 >     250,   176,   176,   176,   176,   176,   241,   241,   244,   244,
2359 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2360 >     244,   242,   321,   241,   244,   244,   244,   244,   406,   244,
2361 >     244,   244,   244,   244,   244,   244,   244,   242,   397,   244,
2362 >     244,   242,   427,   131,   241,   244,   244,   437,   242,   441,
2363 >     176,   250,   250,   110,   176,   176,   110,   131,   176,   110,
2364 >     110,   110,   176,   176,   176,   250,   131,   176,   110,   110,
2365 >     250,   110,   110,   131,   110,   110,   176,   176,   244,   176,
2366 >     244,   250,   250,   176,   250,   176,   176,   176,   176,   177,
2367 >     176,   177,   176,   176,   250,   250,   110,   252,   131,   250,
2368 >     176,   176,   176,   176,   241,   517,   244,   244,   511,   244,
2369 >     244,   242,   507,   241,   244,   244,   358,   244,   244,   244,
2370 >     244,   244,   242,   352,   244,   417,   244,   242,   421,   241,
2371 >     338,   244,   244,   244,   242,   342,   176,   241,   243,   131,
2372 >     131,   241,   241,   244,   244,   315,   244,   244,   244,   311,
2373 >     244,   242,   303,   241,   244,   244,   244,   242,   367,   176,
2374 >     176,   176,   131,   176,   176,   250,   241,   131,   176,   131,
2375 >     131,   131,   131,   131,   131,   149,   150,   263,   264,   149,
2376 >     150,   265,   266,   131,   131,   110,   131,   131,   241,   241,
2377 >     244,   382,   244,   242,   378,   241,   244,   391,   242,   388,
2378 >     131,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2379 >     153,   154,   155,   156,   157,   249,   250,   241,   241,   241,
2380 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2381 >     110,   110,   250,   110,   110,   110,   110,   131,   110,   110,
2382 >     250,   250,   252,   241,   131,   197,   198,   131,   176,   244,
2383 >     131,   131,   131,   131,   110,   131,   131,   131,   241,   131,
2384 >     131,   241,   241,   131,   131,   244,   241,   241,   241,   241,
2385 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2386 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2387 >     241,   241,   241,   241,   241,    61,   183,   184,   185,   186,
2388 >     187,   190,   191,   194,   195,   196,   199,   201,   202,   203,
2389 >     205,   206,   207,   210,   216,   498,   499,   241,    61,   183,
2390 >     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2391 >     201,   202,   203,   205,   206,   207,   210,   216,   494,   495,
2392 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2393 >     241,   241,   241,   241,   241,    14,    15,    16,   251,   252,
2394 >     241,   241,   241,   241,   241,   241,   241,   244,   250,   176,
2395 >     244,   131,   131,   241,   131,   176,   244,   131,   110,   131,
2396 >     131,   131,   241,   131,   244,   131,   241,   244,   131,   131,
2397 >     110,   345,   346,   241,   241,     1,   100,   166,   239,   292,
2398 >     293,   294,   295,   296,   241,   241,   131,   176,   244,   131,
2399 >     131,   131,   244,   131,   241,   131,   131,   131,   241,   241,
2400 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2401 >     241,   241,   241,   241,   241,   245,   241,   245,   241,   241,
2402 >     241,   241,   241,   131,   244,   131,   241,   131,   244,   241,
2403 >     241,   249,   249,   249,   249,   249,   241,   241,   241,   241,
2404 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2405 >     241,   241,   241,   241,    10,    12,   208,   221,   407,   408,
2406 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2407 >     241,   241,   136,   438,   439,   241,   245,   241,   245,   251,
2408 >     251,   251,    11,   178,   518,   519,   241,   241,    11,   178,
2409 >     512,   513,   241,   241,   241,   241,    20,    44,    53,    59,
2410 >      75,   101,   109,   152,   170,   359,   360,   241,   241,   241,
2411 >     241,   241,   241,   136,   418,   419,   241,    61,   204,   208,
2412 >     339,   340,   241,   241,   181,   245,   344,   241,   244,   297,
2413 >     244,   242,   293,   241,   241,     5,    32,    51,    57,    74,
2414 >      98,   105,   119,   137,   139,   140,   192,   202,   211,   215,
2415 >     217,   226,   236,   316,   317,   241,   241,   241,    61,   183,
2416 >     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2417 >     201,   202,   203,   205,   206,   207,   210,   216,   312,   313,
2418 >     241,   241,   241,   241,   264,   266,   241,    74,   151,   182,
2419 >     192,   199,   211,   213,   214,   226,   236,   383,   384,   241,
2420 >     241,    74,   151,   182,   192,   199,   211,   213,   214,   226,
2421 >     236,   392,   393,   241,   245,   241,   245,   499,   495,   241,
2422 >     245,   241,   245,   241,   245,   241,   245,   241,   245,   110,
2423 >     346,   241,   131,   244,   212,   252,   241,   241,   245,   241,
2424 >     245,   241,   245,   241,   245,   408,   439,   519,   513,   360,
2425 >     419,   340,   241,    51,    72,    74,   115,   191,   192,   227,
2426 >     298,   299,   241,   241,   317,   313,   384,   393,   241,   245,
2427 >     299
2428   };
2429  
2430   #define yyerrok         (yyerrstatus = 0)
# Line 2550 | Line 2460 | do                                                             \
2460      {                                                           \
2461        yychar = (Token);                                         \
2462        yylval = (Value);                                         \
2553      yytoken = YYTRANSLATE (yychar);                           \
2463        YYPOPSTACK (1);                                           \
2464        goto yybackup;                                            \
2465      }                                                           \
# Line 2592 | Line 2501 | while (YYID (0))
2501   #endif
2502  
2503  
2504 < /* YY_LOCATION_PRINT -- Print the location on the stream.
2596 <   This macro was not mandated originally: define only if we know
2597 <   we won't break user code: when these are the locations we know.  */
2504 > /* This macro is provided for backward compatibility. */
2505  
2506   #ifndef YY_LOCATION_PRINT
2507 < # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2601 < #  define YY_LOCATION_PRINT(File, Loc)                  \
2602 <     fprintf (File, "%d.%d-%d.%d",                      \
2603 <              (Loc).first_line, (Loc).first_column,     \
2604 <              (Loc).last_line,  (Loc).last_column)
2605 < # else
2606 < #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2607 < # endif
2507 > # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2508   #endif
2509  
2510  
# Line 2796 | Line 2696 | int yydebug;
2696   # define YYMAXDEPTH 10000
2697   #endif
2698  
2799
2699  
2700   #if YYERROR_VERBOSE
2701  
# Line 2899 | Line 2798 | yytnamerr (char *yyres, const char *yyst
2798   }
2799   # endif
2800  
2801 < /* Copy into YYRESULT an error message about the unexpected token
2802 <   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2803 <   including the terminating null byte.  If YYRESULT is null, do not
2804 <   copy anything; just return the number of bytes that would be
2805 <   copied.  As a special case, return 0 if an ordinary "syntax error"
2806 <   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2807 <   size calculation.  */
2808 < static YYSIZE_T
2809 < yysyntax_error (char *yyresult, int yystate, int yychar)
2801 > /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2802 >   about the unexpected token YYTOKEN for the state stack whose top is
2803 >   YYSSP.
2804 >
2805 >   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
2806 >   not large enough to hold the message.  In that case, also set
2807 >   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
2808 >   required number of bytes is too large to store.  */
2809 > static int
2810 > yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2811 >                yytype_int16 *yyssp, int yytoken)
2812   {
2813 <  int yyn = yypact[yystate];
2813 >  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
2814 >  YYSIZE_T yysize = yysize0;
2815 >  YYSIZE_T yysize1;
2816 >  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2817 >  /* Internationalized format string. */
2818 >  const char *yyformat = 0;
2819 >  /* Arguments of yyformat. */
2820 >  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2821 >  /* Number of reported tokens (one for the "unexpected", one per
2822 >     "expected"). */
2823 >  int yycount = 0;
2824 >
2825 >  /* There are many possibilities here to consider:
2826 >     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2827 >       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2828 >       for details.  YYERROR is fine as it does not invoke this
2829 >       function.
2830 >     - If this state is a consistent state with a default action, then
2831 >       the only way this function was invoked is if the default action
2832 >       is an error action.  In that case, don't check for expected
2833 >       tokens because there are none.
2834 >     - The only way there can be no lookahead present (in yychar) is if
2835 >       this state is a consistent state with a default action.  Thus,
2836 >       detecting the absence of a lookahead is sufficient to determine
2837 >       that there is no unexpected or expected token to report.  In that
2838 >       case, just report a simple "syntax error".
2839 >     - Don't assume there isn't a lookahead just because this state is a
2840 >       consistent state with a default action.  There might have been a
2841 >       previous inconsistent state, consistent state with a non-default
2842 >       action, or user semantic action that manipulated yychar.
2843 >     - Of course, the expected token list depends on states to have
2844 >       correct lookahead information, and it depends on the parser not
2845 >       to perform extra reductions after fetching a lookahead from the
2846 >       scanner and before detecting a syntax error.  Thus, state merging
2847 >       (from LALR or IELR) and default reductions corrupt the expected
2848 >       token list.  However, the list is correct for canonical LR with
2849 >       one exception: it will still contain any token that will not be
2850 >       accepted due to an error action in a later state.
2851 >  */
2852 >  if (yytoken != YYEMPTY)
2853 >    {
2854 >      int yyn = yypact[*yyssp];
2855 >      yyarg[yycount++] = yytname[yytoken];
2856 >      if (!yypact_value_is_default (yyn))
2857 >        {
2858 >          /* Start YYX at -YYN if negative to avoid negative indexes in
2859 >             YYCHECK.  In other words, skip the first -YYN actions for
2860 >             this state because they are default actions.  */
2861 >          int yyxbegin = yyn < 0 ? -yyn : 0;
2862 >          /* Stay within bounds of both yycheck and yytname.  */
2863 >          int yychecklim = YYLAST - yyn + 1;
2864 >          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2865 >          int yyx;
2866 >
2867 >          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2868 >            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
2869 >                && !yytable_value_is_error (yytable[yyx + yyn]))
2870 >              {
2871 >                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2872 >                  {
2873 >                    yycount = 1;
2874 >                    yysize = yysize0;
2875 >                    break;
2876 >                  }
2877 >                yyarg[yycount++] = yytname[yyx];
2878 >                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2879 >                if (! (yysize <= yysize1
2880 >                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2881 >                  return 2;
2882 >                yysize = yysize1;
2883 >              }
2884 >        }
2885 >    }
2886  
2887 <  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2915 <    return 0;
2916 <  else
2887 >  switch (yycount)
2888      {
2889 <      int yytype = YYTRANSLATE (yychar);
2890 <      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2891 <      YYSIZE_T yysize = yysize0;
2892 <      YYSIZE_T yysize1;
2893 <      int yysize_overflow = 0;
2894 <      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2895 <      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2896 <      int yyx;
2897 <
2898 < # if 0
2899 <      /* This is so xgettext sees the translatable formats that are
2900 <         constructed on the fly.  */
2901 <      YY_("syntax error, unexpected %s");
2902 <      YY_("syntax error, unexpected %s, expecting %s");
2903 <      YY_("syntax error, unexpected %s, expecting %s or %s");
2904 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2905 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2906 < # endif
2907 <      char *yyfmt;
2908 <      char const *yyf;
2909 <      static char const yyunexpected[] = "syntax error, unexpected %s";
2910 <      static char const yyexpecting[] = ", expecting %s";
2911 <      static char const yyor[] = " or %s";
2912 <      char yyformat[sizeof yyunexpected
2913 <                    + sizeof yyexpecting - 1
2914 <                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2915 <                       * (sizeof yyor - 1))];
2916 <      char const *yyprefix = yyexpecting;
2917 <
2918 <      /* Start YYX at -YYN if negative to avoid negative indexes in
2919 <         YYCHECK.  */
2920 <      int yyxbegin = yyn < 0 ? -yyn : 0;
2921 <
2922 <      /* Stay within bounds of both yycheck and yytname.  */
2923 <      int yychecklim = YYLAST - yyn + 1;
2924 <      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2925 <      int yycount = 1;
2926 <
2927 <      yyarg[0] = yytname[yytype];
2928 <      yyfmt = yystpcpy (yyformat, yyunexpected);
2929 <
2930 <      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2931 <        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2932 <          {
2933 <            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2934 <              {
2964 <                yycount = 1;
2965 <                yysize = yysize0;
2966 <                yyformat[sizeof yyunexpected - 1] = '\0';
2967 <                break;
2968 <              }
2969 <            yyarg[yycount++] = yytname[yyx];
2970 <            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2971 <            yysize_overflow |= (yysize1 < yysize);
2972 <            yysize = yysize1;
2973 <            yyfmt = yystpcpy (yyfmt, yyprefix);
2974 <            yyprefix = yyor;
2975 <          }
2976 <
2977 <      yyf = YY_(yyformat);
2978 <      yysize1 = yysize + yystrlen (yyf);
2979 <      yysize_overflow |= (yysize1 < yysize);
2980 <      yysize = yysize1;
2981 <
2982 <      if (yysize_overflow)
2983 <        return YYSIZE_MAXIMUM;
2984 <
2985 <      if (yyresult)
2986 <        {
2987 <          /* Avoid sprintf, as that infringes on the user's name space.
2988 <             Don't have undefined behavior even if the translation
2989 <             produced a string with the wrong number of "%s"s.  */
2990 <          char *yyp = yyresult;
2991 <          int yyi = 0;
2992 <          while ((*yyp = *yyf) != '\0')
2993 <            {
2994 <              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2995 <                {
2996 <                  yyp += yytnamerr (yyp, yyarg[yyi++]);
2997 <                  yyf += 2;
2998 <                }
2999 <              else
3000 <                {
3001 <                  yyp++;
3002 <                  yyf++;
3003 <                }
3004 <            }
3005 <        }
3006 <      return yysize;
3007 <    }
2889 > # define YYCASE_(N, S)                      \
2890 >      case N:                               \
2891 >        yyformat = S;                       \
2892 >      break
2893 >      YYCASE_(0, YY_("syntax error"));
2894 >      YYCASE_(1, YY_("syntax error, unexpected %s"));
2895 >      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2896 >      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2897 >      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2898 >      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2899 > # undef YYCASE_
2900 >    }
2901 >
2902 >  yysize1 = yysize + yystrlen (yyformat);
2903 >  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2904 >    return 2;
2905 >  yysize = yysize1;
2906 >
2907 >  if (*yymsg_alloc < yysize)
2908 >    {
2909 >      *yymsg_alloc = 2 * yysize;
2910 >      if (! (yysize <= *yymsg_alloc
2911 >             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2912 >        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2913 >      return 1;
2914 >    }
2915 >
2916 >  /* Avoid sprintf, as that infringes on the user's name space.
2917 >     Don't have undefined behavior even if the translation
2918 >     produced a string with the wrong number of "%s"s.  */
2919 >  {
2920 >    char *yyp = *yymsg;
2921 >    int yyi = 0;
2922 >    while ((*yyp = *yyformat) != '\0')
2923 >      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2924 >        {
2925 >          yyp += yytnamerr (yyp, yyarg[yyi++]);
2926 >          yyformat += 2;
2927 >        }
2928 >      else
2929 >        {
2930 >          yyp++;
2931 >          yyformat++;
2932 >        }
2933 >  }
2934 >  return 0;
2935   }
2936   #endif /* YYERROR_VERBOSE */
3010
2937  
2938   /*-----------------------------------------------.
2939   | Release the memory associated to this symbol.  |
# Line 3040 | Line 2966 | yydestruct (yymsg, yytype, yyvaluep)
2966      }
2967   }
2968  
2969 +
2970   /* Prevent warnings from -Wmissing-prototypes.  */
2971   #ifdef YYPARSE_PARAM
2972   #if defined __STDC__ || defined __cplusplus
# Line 3066 | Line 2993 | YYSTYPE yylval;
2993   int yynerrs;
2994  
2995  
2996 <
2997 < /*-------------------------.
2998 < | yyparse or yypush_parse.  |
3072 < `-------------------------*/
2996 > /*----------.
2997 > | yyparse.  |
2998 > `----------*/
2999  
3000   #ifdef YYPARSE_PARAM
3001   #if (defined __STDC__ || defined __C99__FUNC__ \
# Line 3093 | Line 3019 | yyparse ()
3019   #endif
3020   #endif
3021   {
3096
3097
3022      int yystate;
3023      /* Number of tokens to shift before error messages enabled.  */
3024      int yyerrstatus;
# Line 3249 | Line 3173 | yybackup:
3173  
3174    /* First try to decide what to do without reference to lookahead token.  */
3175    yyn = yypact[yystate];
3176 <  if (yyn == YYPACT_NINF)
3176 >  if (yypact_value_is_default (yyn))
3177      goto yydefault;
3178  
3179    /* Not known => get a lookahead token if don't already have one.  */
# Line 3280 | Line 3204 | yybackup:
3204    yyn = yytable[yyn];
3205    if (yyn <= 0)
3206      {
3207 <      if (yyn == 0 || yyn == YYTABLE_NINF)
3208 <        goto yyerrlab;
3207 >      if (yytable_value_is_error (yyn))
3208 >        goto yyerrlab;
3209        yyn = -yyn;
3210        goto yyreduce;
3211      }
# Line 3334 | Line 3258 | yyreduce:
3258    YY_REDUCE_PRINT (yyn);
3259    switch (yyn)
3260      {
3261 <        case 26:
3261 >        case 27:
3262  
3263 < /* Line 1464 of yacc.c  */
3264 < #line 424 "ircd_parser.y"
3263 > /* Line 1806 of yacc.c  */
3264 > #line 384 "conf_parser.y"
3265      { (yyval.number) = 0; }
3266      break;
3267  
3268 <  case 28:
3268 >  case 29:
3269  
3270 < /* Line 1464 of yacc.c  */
3271 < #line 426 "ircd_parser.y"
3270 > /* Line 1806 of yacc.c  */
3271 > #line 386 "conf_parser.y"
3272      {
3273                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3274                  }
3275      break;
3276  
3277 <  case 29:
3277 >  case 30:
3278  
3279 < /* Line 1464 of yacc.c  */
3280 < #line 430 "ircd_parser.y"
3279 > /* Line 1806 of yacc.c  */
3280 > #line 390 "conf_parser.y"
3281      {
3282                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3283                  }
3284      break;
3285  
3286 <  case 30:
3286 >  case 31:
3287  
3288 < /* Line 1464 of yacc.c  */
3289 < #line 434 "ircd_parser.y"
3288 > /* Line 1806 of yacc.c  */
3289 > #line 394 "conf_parser.y"
3290      {
3291                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3292                  }
3293      break;
3294  
3295 <  case 31:
3295 >  case 32:
3296  
3297 < /* Line 1464 of yacc.c  */
3298 < #line 438 "ircd_parser.y"
3297 > /* Line 1806 of yacc.c  */
3298 > #line 398 "conf_parser.y"
3299      {
3300                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3301                  }
3302      break;
3303  
3304 <  case 32:
3304 >  case 33:
3305  
3306 < /* Line 1464 of yacc.c  */
3307 < #line 442 "ircd_parser.y"
3306 > /* Line 1806 of yacc.c  */
3307 > #line 402 "conf_parser.y"
3308      {
3309                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3310                  }
3311      break;
3312  
3313 <  case 33:
3313 >  case 34:
3314  
3315 < /* Line 1464 of yacc.c  */
3316 < #line 446 "ircd_parser.y"
3315 > /* Line 1806 of yacc.c  */
3316 > #line 406 "conf_parser.y"
3317      {
3318                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3319                  }
3320      break;
3321  
3322 <  case 34:
3322 >  case 35:
3323  
3324 < /* Line 1464 of yacc.c  */
3325 < #line 451 "ircd_parser.y"
3324 > /* Line 1806 of yacc.c  */
3325 > #line 411 "conf_parser.y"
3326      { (yyval.number) = 0; }
3327      break;
3328  
3329 <  case 36:
3329 >  case 37:
3330  
3331 < /* Line 1464 of yacc.c  */
3332 < #line 452 "ircd_parser.y"
3331 > /* Line 1806 of yacc.c  */
3332 > #line 412 "conf_parser.y"
3333      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3334      break;
3335  
3336 <  case 37:
3336 >  case 38:
3337  
3338 < /* Line 1464 of yacc.c  */
3339 < #line 453 "ircd_parser.y"
3338 > /* Line 1806 of yacc.c  */
3339 > #line 413 "conf_parser.y"
3340      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3341      break;
3342  
3343 <  case 38:
3343 >  case 39:
3344  
3345 < /* Line 1464 of yacc.c  */
3346 < #line 454 "ircd_parser.y"
3345 > /* Line 1806 of yacc.c  */
3346 > #line 414 "conf_parser.y"
3347      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3348      break;
3349  
3350 <  case 39:
3350 >  case 40:
3351  
3352 < /* Line 1464 of yacc.c  */
3353 < #line 455 "ircd_parser.y"
3352 > /* Line 1806 of yacc.c  */
3353 > #line 415 "conf_parser.y"
3354      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3355      break;
3356  
3357 <  case 46:
3357 >  case 47:
3358  
3359 < /* Line 1464 of yacc.c  */
3360 < #line 469 "ircd_parser.y"
3359 > /* Line 1806 of yacc.c  */
3360 > #line 429 "conf_parser.y"
3361      {
3362    if (conf_parser_ctx.pass == 2)
3363      add_conf_module(libio_basename(yylval.string));
3364   }
3365      break;
3366  
3367 <  case 47:
3367 >  case 48:
3368  
3369 < /* Line 1464 of yacc.c  */
3370 < #line 475 "ircd_parser.y"
3369 > /* Line 1806 of yacc.c  */
3370 > #line 435 "conf_parser.y"
3371      {
3372    if (conf_parser_ctx.pass == 2)
3373      mod_add_path(yylval.string);
3374   }
3375      break;
3376  
3377 <  case 64:
3377 >  case 72:
3378  
3379 < /* Line 1464 of yacc.c  */
3380 < #line 495 "ircd_parser.y"
3379 > /* Line 1806 of yacc.c  */
3380 > #line 460 "conf_parser.y"
3381      {
3382   #ifdef HAVE_LIBCRYPTO
3383 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3384 <    ServerInfo.tls_version = 0;
3383 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3384 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3385   #endif
3386   }
3387      break;
3388  
3389 <  case 65:
3389 >  case 73:
3390  
3391 < /* Line 1464 of yacc.c  */
3392 < #line 501 "ircd_parser.y"
3391 > /* Line 1806 of yacc.c  */
3392 > #line 466 "conf_parser.y"
3393      {
3394   #ifdef HAVE_LIBCRYPTO
3395 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3396 <  {
3473 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3474 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3475 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3476 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3477 <  }
3395 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3396 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3397   #endif
3398   }
3399      break;
3400  
3401 <  case 68:
3401 >  case 76:
3402  
3403 < /* Line 1464 of yacc.c  */
3404 < #line 515 "ircd_parser.y"
3403 > /* Line 1806 of yacc.c  */
3404 > #line 475 "conf_parser.y"
3405      {
3406   #ifdef HAVE_LIBCRYPTO
3407 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3408 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3407 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3408 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3409   #endif
3410   }
3411      break;
3412  
3413 <  case 69:
3413 >  case 77:
3414  
3415 < /* Line 1464 of yacc.c  */
3416 < #line 521 "ircd_parser.y"
3415 > /* Line 1806 of yacc.c  */
3416 > #line 481 "conf_parser.y"
3417      {
3418   #ifdef HAVE_LIBCRYPTO
3419 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3420 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3419 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3420 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3421   #endif
3422   }
3423      break;
3424  
3425 <  case 70:
3425 >  case 78:
3426  
3427 < /* Line 1464 of yacc.c  */
3428 < #line 529 "ircd_parser.y"
3427 > /* Line 1806 of yacc.c  */
3428 > #line 489 "conf_parser.y"
3429      {
3430   #ifdef HAVE_LIBCRYPTO
3431    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3518 | Line 3437 | yyreduce:
3437      }
3438  
3439      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3440 +                                     SSL_FILETYPE_PEM) <= 0 ||
3441 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3442                                       SSL_FILETYPE_PEM) <= 0)
3443      {
3444        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3525 | Line 3446 | yyreduce:
3446      }
3447  
3448      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3449 +                                    SSL_FILETYPE_PEM) <= 0 ||
3450 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3451                                      SSL_FILETYPE_PEM) <= 0)
3452      {
3453        yyerror(ERR_lib_error_string(ERR_get_error()));
3454        break;
3455      }
3456  
3457 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3457 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3458 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3459      {
3460        yyerror(ERR_lib_error_string(ERR_get_error()));
3461        break;
# Line 3541 | Line 3465 | yyreduce:
3465   }
3466      break;
3467  
3468 <  case 71:
3468 >  case 79:
3469  
3470 < /* Line 1464 of yacc.c  */
3471 < #line 563 "ircd_parser.y"
3470 > /* Line 1806 of yacc.c  */
3471 > #line 528 "conf_parser.y"
3472      {
3473   #ifdef HAVE_LIBCRYPTO
3474    if (conf_parser_ctx.pass == 1)
# Line 3571 | Line 3495 | yyreduce:
3495        break;
3496      }
3497  
3498 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3575 <      0, NULL);
3498 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3499  
3500      BIO_set_close(file, BIO_CLOSE);
3501      BIO_free(file);
# Line 3605 | Line 3528 | yyreduce:
3528   }
3529      break;
3530  
3531 <  case 72:
3531 >  case 80:
3532  
3533 < /* Line 1464 of yacc.c  */
3534 < #line 623 "ircd_parser.y"
3533 > /* Line 1806 of yacc.c  */
3534 > #line 587 "conf_parser.y"
3535 >    {
3536 > /* TBD - XXX: error reporting */
3537 > #ifdef HAVE_LIBCRYPTO
3538 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3539 >  {
3540 >    BIO *file = BIO_new_file(yylval.string, "r");
3541 >
3542 >    if (file)
3543 >    {
3544 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3545 >
3546 >      BIO_free(file);
3547 >
3548 >      if (dh)
3549 >      {
3550 >        if (DH_size(dh) < 128)
3551 >          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3552 >        else
3553 >          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3554 >
3555 >        DH_free(dh);
3556 >      }
3557 >    }
3558 >  }
3559 > #endif
3560 > }
3561 >    break;
3562 >
3563 >  case 81:
3564 >
3565 > /* Line 1806 of yacc.c  */
3566 > #line 615 "conf_parser.y"
3567 >    {
3568 > #ifdef HAVE_LIBCRYPTO
3569 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3570 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3571 > #endif
3572 > }
3573 >    break;
3574 >
3575 >  case 82:
3576 >
3577 > /* Line 1806 of yacc.c  */
3578 > #line 623 "conf_parser.y"
3579      {
3580    /* this isn't rehashable */
3581    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3617 | Line 3584 | yyreduce:
3584        DupString(ServerInfo.name, yylval.string);
3585      else
3586      {
3587 <      ilog(L_ERROR, "Ignoring serverinfo::name -- invalid name. Aborting.");
3587 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3588        exit(0);
3589      }
3590    }
3591   }
3592      break;
3593  
3594 <  case 73:
3594 >  case 83:
3595  
3596 < /* Line 1464 of yacc.c  */
3597 < #line 638 "ircd_parser.y"
3596 > /* Line 1806 of yacc.c  */
3597 > #line 638 "conf_parser.y"
3598      {
3599    /* this isn't rehashable */
3600    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3636 | Line 3603 | yyreduce:
3603        DupString(ServerInfo.sid, yylval.string);
3604      else
3605      {
3606 <      ilog(L_ERROR, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3606 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3607        exit(0);
3608      }
3609    }
3610   }
3611      break;
3612  
3613 <  case 74:
3613 >  case 84:
3614  
3615 < /* Line 1464 of yacc.c  */
3616 < #line 653 "ircd_parser.y"
3615 > /* Line 1806 of yacc.c  */
3616 > #line 653 "conf_parser.y"
3617      {
3618    if (conf_parser_ctx.pass == 2)
3619    {
# Line 3656 | Line 3623 | yyreduce:
3623   }
3624      break;
3625  
3626 <  case 75:
3626 >  case 85:
3627  
3628 < /* Line 1464 of yacc.c  */
3629 < #line 662 "ircd_parser.y"
3628 > /* Line 1806 of yacc.c  */
3629 > #line 662 "conf_parser.y"
3630      {
3631    if (conf_parser_ctx.pass == 2)
3632    {
# Line 3674 | Line 3641 | yyreduce:
3641   }
3642      break;
3643  
3644 <  case 76:
3644 >  case 86:
3645  
3646 < /* Line 1464 of yacc.c  */
3647 < #line 676 "ircd_parser.y"
3646 > /* Line 1806 of yacc.c  */
3647 > #line 676 "conf_parser.y"
3648      {
3649    if (conf_parser_ctx.pass == 2)
3650    {
# Line 3687 | Line 3654 | yyreduce:
3654   }
3655      break;
3656  
3657 <  case 77:
3657 >  case 87:
3658  
3659 < /* Line 1464 of yacc.c  */
3660 < #line 685 "ircd_parser.y"
3659 > /* Line 1806 of yacc.c  */
3660 > #line 685 "conf_parser.y"
3661      {
3662    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3663    {
# Line 3702 | Line 3669 | yyreduce:
3669      hints.ai_socktype = SOCK_STREAM;
3670      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3671  
3672 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3673 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
3672 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3673 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3674      else
3675      {
3676        assert(res != NULL);
# Line 3711 | Line 3678 | yyreduce:
3678        memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3679        ServerInfo.ip.ss.ss_family = res->ai_family;
3680        ServerInfo.ip.ss_len = res->ai_addrlen;
3681 <      irc_freeaddrinfo(res);
3681 >      freeaddrinfo(res);
3682  
3683        ServerInfo.specific_ipv4_vhost = 1;
3684      }
# Line 3719 | Line 3686 | yyreduce:
3686   }
3687      break;
3688  
3689 <  case 78:
3689 >  case 88:
3690  
3691 < /* Line 1464 of yacc.c  */
3692 < #line 713 "ircd_parser.y"
3691 > /* Line 1806 of yacc.c  */
3692 > #line 713 "conf_parser.y"
3693      {
3694   #ifdef IPV6
3695    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3735 | Line 3702 | yyreduce:
3702      hints.ai_socktype = SOCK_STREAM;
3703      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3704  
3705 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3706 <      ilog(L_ERROR, "Invalid netmask for server vhost6(%s)", yylval.string);
3705 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3706 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3707      else
3708      {
3709        assert(res != NULL);
# Line 3744 | Line 3711 | yyreduce:
3711        memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3712        ServerInfo.ip6.ss.ss_family = res->ai_family;
3713        ServerInfo.ip6.ss_len = res->ai_addrlen;
3714 <      irc_freeaddrinfo(res);
3714 >      freeaddrinfo(res);
3715  
3716        ServerInfo.specific_ipv6_vhost = 1;
3717      }
# Line 3753 | Line 3720 | yyreduce:
3720   }
3721      break;
3722  
3723 <  case 79:
3723 >  case 89:
3724  
3725 < /* Line 1464 of yacc.c  */
3726 < #line 743 "ircd_parser.y"
3725 > /* Line 1806 of yacc.c  */
3726 > #line 743 "conf_parser.y"
3727      {
3728    if (conf_parser_ctx.pass == 2)
3729    {
# Line 3780 | Line 3747 | yyreduce:
3747   }
3748      break;
3749  
3750 <  case 80:
3750 >  case 90:
3751  
3752 < /* Line 1464 of yacc.c  */
3753 < #line 766 "ircd_parser.y"
3752 > /* Line 1806 of yacc.c  */
3753 > #line 766 "conf_parser.y"
3754      {
3755    if (conf_parser_ctx.pass == 2)
3756      ServerInfo.hub = yylval.number;
3757   }
3758      break;
3759  
3760 <  case 88:
3760 >  case 98:
3761  
3762 < /* Line 1464 of yacc.c  */
3763 < #line 781 "ircd_parser.y"
3762 > /* Line 1806 of yacc.c  */
3763 > #line 781 "conf_parser.y"
3764      {
3765    if (conf_parser_ctx.pass == 2)
3766    {
# Line 3803 | Line 3770 | yyreduce:
3770   }
3771      break;
3772  
3773 <  case 89:
3773 >  case 99:
3774  
3775 < /* Line 1464 of yacc.c  */
3776 < #line 790 "ircd_parser.y"
3775 > /* Line 1806 of yacc.c  */
3776 > #line 790 "conf_parser.y"
3777      {
3778    if (conf_parser_ctx.pass == 2)
3779    {
# Line 3816 | Line 3783 | yyreduce:
3783   }
3784      break;
3785  
3786 <  case 90:
3786 >  case 100:
3787  
3788 < /* Line 1464 of yacc.c  */
3789 < #line 799 "ircd_parser.y"
3788 > /* Line 1806 of yacc.c  */
3789 > #line 799 "conf_parser.y"
3790      {
3791    if (conf_parser_ctx.pass == 2)
3792    {
# Line 3831 | Line 3798 | yyreduce:
3798  
3799    case 107:
3800  
3801 < /* Line 1464 of yacc.c  */
3802 < #line 826 "ircd_parser.y"
3836 <    {
3837 <                        }
3838 <    break;
3839 <
3840 <  case 108:
3841 <
3842 < /* Line 1464 of yacc.c  */
3843 < #line 830 "ircd_parser.y"
3844 <    {
3845 <                        }
3846 <    break;
3847 <
3848 <  case 109:
3849 <
3850 < /* Line 1464 of yacc.c  */
3851 < #line 834 "ircd_parser.y"
3801 > /* Line 1806 of yacc.c  */
3802 > #line 817 "conf_parser.y"
3803      {
3804    if (conf_parser_ctx.pass == 2)
3805 <    strlcpy(ConfigLoggingEntry.userlog, yylval.string,
3855 <            sizeof(ConfigLoggingEntry.userlog));
3805 >    ConfigLoggingEntry.use_logging = yylval.number;
3806   }
3807      break;
3808  
3809 <  case 110:
3809 >  case 108:
3810  
3811 < /* Line 1464 of yacc.c  */
3812 < #line 841 "ircd_parser.y"
3811 > /* Line 1806 of yacc.c  */
3812 > #line 823 "conf_parser.y"
3813      {
3814 <  if (conf_parser_ctx.pass == 2)
3815 <    strlcpy(ConfigLoggingEntry.failed_operlog, yylval.string,
3816 <            sizeof(ConfigLoggingEntry.failed_operlog));
3814 >  lfile[0] = '\0';
3815 >  ltype = 0;
3816 >  lsize = 0;
3817   }
3818      break;
3819  
3820 <  case 111:
3820 >  case 109:
3821  
3822 < /* Line 1464 of yacc.c  */
3823 < #line 848 "ircd_parser.y"
3822 > /* Line 1806 of yacc.c  */
3823 > #line 828 "conf_parser.y"
3824      {
3825 <  if (conf_parser_ctx.pass == 2)
3826 <    strlcpy(ConfigLoggingEntry.operlog, yylval.string,
3877 <            sizeof(ConfigLoggingEntry.operlog));
3825 >  if (conf_parser_ctx.pass == 2 && ltype > 0)
3826 >    log_add_file(ltype, lsize, lfile);
3827   }
3828      break;
3829  
3830 <  case 112:
3830 >  case 116:
3831  
3832 < /* Line 1464 of yacc.c  */
3833 < #line 855 "ircd_parser.y"
3832 > /* Line 1806 of yacc.c  */
3833 > #line 840 "conf_parser.y"
3834      {
3835 <  if (conf_parser_ctx.pass == 2)
3887 <    strlcpy(ConfigLoggingEntry.operspylog, yylval.string,
3888 <            sizeof(ConfigLoggingEntry.operspylog));
3835 >  strlcpy(lfile, yylval.string, sizeof(lfile));
3836   }
3837      break;
3838  
3839 <  case 113:
3893 <
3894 < /* Line 1464 of yacc.c  */
3895 < #line 862 "ircd_parser.y"
3896 <    {
3897 <  if (conf_parser_ctx.pass == 2)
3898 <    strlcpy(ConfigLoggingEntry.glinelog, yylval.string,
3899 <            sizeof(ConfigLoggingEntry.glinelog));
3900 < }
3901 <    break;
3902 <
3903 <  case 114:
3839 >  case 117:
3840  
3841 < /* Line 1464 of yacc.c  */
3842 < #line 869 "ircd_parser.y"
3841 > /* Line 1806 of yacc.c  */
3842 > #line 845 "conf_parser.y"
3843      {
3844 <  if (conf_parser_ctx.pass == 2)
3909 <    strlcpy(ConfigLoggingEntry.klinelog, yylval.string,
3910 <            sizeof(ConfigLoggingEntry.klinelog));
3844 >  lsize = (yyvsp[(3) - (4)].number);
3845   }
3846      break;
3847  
3848 <  case 115:
3848 >  case 118:
3849  
3850 < /* Line 1464 of yacc.c  */
3851 < #line 876 "ircd_parser.y"
3850 > /* Line 1806 of yacc.c  */
3851 > #line 848 "conf_parser.y"
3852      {
3853 <  if (conf_parser_ctx.pass == 2)
3920 <    strlcpy(ConfigLoggingEntry.ioerrlog, yylval.string,
3921 <            sizeof(ConfigLoggingEntry.ioerrlog));
3853 >  lsize = 0;
3854   }
3855      break;
3856  
3857 <  case 116:
3857 >  case 119:
3858  
3859 < /* Line 1464 of yacc.c  */
3860 < #line 883 "ircd_parser.y"
3859 > /* Line 1806 of yacc.c  */
3860 > #line 853 "conf_parser.y"
3861      {
3862    if (conf_parser_ctx.pass == 2)
3863 <    strlcpy(ConfigLoggingEntry.killlog, yylval.string,
3932 <            sizeof(ConfigLoggingEntry.killlog));
3933 < }
3934 <    break;
3935 <
3936 <  case 117:
3937 <
3938 < /* Line 1464 of yacc.c  */
3939 < #line 890 "ircd_parser.y"
3940 <    {
3941 <  if (conf_parser_ctx.pass == 2)
3942 <    set_log_level(L_CRIT);
3863 >    ltype = 0;
3864   }
3865      break;
3866  
3867 <  case 118:
3867 >  case 123:
3868  
3869 < /* Line 1464 of yacc.c  */
3870 < #line 894 "ircd_parser.y"
3869 > /* Line 1806 of yacc.c  */
3870 > #line 860 "conf_parser.y"
3871      {
3872    if (conf_parser_ctx.pass == 2)
3873 <    set_log_level(L_ERROR);
3873 >    ltype = LOG_TYPE_USER;
3874   }
3875      break;
3876  
3877 <  case 119:
3877 >  case 124:
3878  
3879 < /* Line 1464 of yacc.c  */
3880 < #line 898 "ircd_parser.y"
3879 > /* Line 1806 of yacc.c  */
3880 > #line 864 "conf_parser.y"
3881      {
3882    if (conf_parser_ctx.pass == 2)
3883 <    set_log_level(L_WARN);
3883 >    ltype = LOG_TYPE_OPER;
3884   }
3885      break;
3886  
3887 <  case 120:
3887 >  case 125:
3888  
3889 < /* Line 1464 of yacc.c  */
3890 < #line 902 "ircd_parser.y"
3889 > /* Line 1806 of yacc.c  */
3890 > #line 868 "conf_parser.y"
3891      {
3892    if (conf_parser_ctx.pass == 2)
3893 <    set_log_level(L_NOTICE);
3893 >    ltype = LOG_TYPE_GLINE;
3894   }
3895      break;
3896  
3897 <  case 121:
3897 >  case 126:
3898  
3899 < /* Line 1464 of yacc.c  */
3900 < #line 906 "ircd_parser.y"
3899 > /* Line 1806 of yacc.c  */
3900 > #line 872 "conf_parser.y"
3901      {
3902    if (conf_parser_ctx.pass == 2)
3903 <    set_log_level(L_TRACE);
3903 >    ltype = LOG_TYPE_DLINE;
3904   }
3905      break;
3906  
3907 <  case 122:
3907 >  case 127:
3908  
3909 < /* Line 1464 of yacc.c  */
3910 < #line 910 "ircd_parser.y"
3909 > /* Line 1806 of yacc.c  */
3910 > #line 876 "conf_parser.y"
3911      {
3912    if (conf_parser_ctx.pass == 2)
3913 <    set_log_level(L_INFO);
3913 >    ltype = LOG_TYPE_KLINE;
3914   }
3915      break;
3916  
3917 <  case 123:
3917 >  case 128:
3918  
3919 < /* Line 1464 of yacc.c  */
3920 < #line 914 "ircd_parser.y"
3919 > /* Line 1806 of yacc.c  */
3920 > #line 880 "conf_parser.y"
3921      {
3922    if (conf_parser_ctx.pass == 2)
3923 <    set_log_level(L_DEBUG);
3923 >    ltype = LOG_TYPE_KILL;
3924   }
3925      break;
3926  
3927 <  case 124:
3927 >  case 129:
3928  
3929 < /* Line 1464 of yacc.c  */
3930 < #line 920 "ircd_parser.y"
3929 > /* Line 1806 of yacc.c  */
3930 > #line 884 "conf_parser.y"
3931      {
3932    if (conf_parser_ctx.pass == 2)
3933 <    ConfigLoggingEntry.use_logging = yylval.number;
3933 >    ltype = LOG_TYPE_DEBUG;
3934   }
3935      break;
3936  
3937 <  case 125:
3937 >  case 130:
3938  
3939 < /* Line 1464 of yacc.c  */
3940 < #line 929 "ircd_parser.y"
3939 > /* Line 1806 of yacc.c  */
3940 > #line 894 "conf_parser.y"
3941      {
3942    if (conf_parser_ctx.pass == 2)
3943    {
# Line 4032 | Line 3953 | yyreduce:
3953   }
3954      break;
3955  
3956 <  case 126:
3956 >  case 131:
3957  
3958 < /* Line 1464 of yacc.c  */
3959 < #line 942 "ircd_parser.y"
3958 > /* Line 1806 of yacc.c  */
3959 > #line 907 "conf_parser.y"
3960      {
3961    if (conf_parser_ctx.pass == 2)
3962    {
# Line 4070 | Line 3991 | yyreduce:
3991          DupString(new_aconf->host, yy_tmp->host);
3992        else
3993          DupString(new_aconf->host, "*");
3994 +
3995 +      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->ipnum,
3996 +                                     &new_aconf->bits);
3997 +
3998        conf_add_class_to_conf(new_conf, class_name);
3999        if (yy_aconf->passwd != NULL)
4000          DupString(new_aconf->passwd, yy_aconf->passwd);
# Line 4117 | Line 4042 | yyreduce:
4042   }
4043      break;
4044  
4045 <  case 140:
4121 <
4122 < /* Line 1464 of yacc.c  */
4123 < #line 1029 "ircd_parser.y"
4124 <    {
4125 <  if (conf_parser_ctx.pass == 2)
4126 <  {
4127 <    if (strlen(yylval.string) > OPERNICKLEN)
4128 <      yylval.string[OPERNICKLEN] = '\0';
4129 <
4130 <    MyFree(yy_conf->name);
4131 <    DupString(yy_conf->name, yylval.string);
4132 <  }
4133 < }
4134 <    break;
4135 <
4136 <  case 141:
4045 >  case 143:
4046  
4047 < /* Line 1464 of yacc.c  */
4048 < #line 1041 "ircd_parser.y"
4047 > /* Line 1806 of yacc.c  */
4048 > #line 997 "conf_parser.y"
4049      {
4050    if (conf_parser_ctx.pass == 2)
4051    {
4143    if (strlen(yylval.string) > OPERNICKLEN)
4144      yylval.string[OPERNICKLEN] = '\0';
4145
4052      MyFree(yy_conf->name);
4053      DupString(yy_conf->name, yylval.string);
4054    }
4055   }
4056      break;
4057  
4058 <  case 142:
4058 >  case 144:
4059  
4060 < /* Line 1464 of yacc.c  */
4061 < #line 1053 "ircd_parser.y"
4060 > /* Line 1806 of yacc.c  */
4061 > #line 1006 "conf_parser.y"
4062      {
4063    if (conf_parser_ctx.pass == 2)
4064    {
# Line 4173 | Line 4079 | yyreduce:
4079      {
4080        DupString(yy_aconf->user, userbuf);
4081        DupString(yy_aconf->host, hostbuf);
4082 +
4083 +      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->ipnum,
4084 +                                    &yy_aconf->bits);
4085      }
4086      else
4087      {
# Line 4187 | Line 4096 | yyreduce:
4096   }
4097      break;
4098  
4099 <  case 143:
4099 >  case 145:
4100  
4101 < /* Line 1464 of yacc.c  */
4102 < #line 1087 "ircd_parser.y"
4101 > /* Line 1806 of yacc.c  */
4102 > #line 1043 "conf_parser.y"
4103      {
4104    if (conf_parser_ctx.pass == 2)
4105    {
# Line 4203 | Line 4112 | yyreduce:
4112   }
4113      break;
4114  
4115 <  case 144:
4115 >  case 146:
4116  
4117 < /* Line 1464 of yacc.c  */
4118 < #line 1099 "ircd_parser.y"
4117 > /* Line 1806 of yacc.c  */
4118 > #line 1055 "conf_parser.y"
4119      {
4120    if (conf_parser_ctx.pass == 2)
4121    {
# Line 4218 | Line 4127 | yyreduce:
4127   }
4128      break;
4129  
4130 <  case 145:
4130 >  case 147:
4131  
4132 < /* Line 1464 of yacc.c  */
4133 < #line 1110 "ircd_parser.y"
4132 > /* Line 1806 of yacc.c  */
4133 > #line 1066 "conf_parser.y"
4134      {
4135   #ifdef HAVE_LIBCRYPTO
4136    if (conf_parser_ctx.pass == 2)
# Line 4264 | Line 4173 | yyreduce:
4173   }
4174      break;
4175  
4176 <  case 146:
4176 >  case 148:
4177  
4178 < /* Line 1464 of yacc.c  */
4179 < #line 1152 "ircd_parser.y"
4178 > /* Line 1806 of yacc.c  */
4179 > #line 1108 "conf_parser.y"
4180      {
4181    if (conf_parser_ctx.pass == 2)
4182    {
# Line 4277 | Line 4186 | yyreduce:
4186   }
4187      break;
4188  
4189 <  case 147:
4189 >  case 149:
4190  
4191 < /* Line 1464 of yacc.c  */
4192 < #line 1161 "ircd_parser.y"
4191 > /* Line 1806 of yacc.c  */
4192 > #line 1117 "conf_parser.y"
4193      {
4194    if (conf_parser_ctx.pass == 2)
4195      yy_aconf->modes = 0;
4196   }
4197      break;
4198  
4199 <  case 151:
4199 >  case 153:
4200  
4201 < /* Line 1464 of yacc.c  */
4202 < #line 1168 "ircd_parser.y"
4201 > /* Line 1806 of yacc.c  */
4202 > #line 1124 "conf_parser.y"
4203      {
4204    if (conf_parser_ctx.pass == 2)
4205      yy_aconf->modes |= UMODE_BOTS;
4206   }
4207      break;
4208  
4209 <  case 152:
4209 >  case 154:
4210  
4211 < /* Line 1464 of yacc.c  */
4212 < #line 1172 "ircd_parser.y"
4211 > /* Line 1806 of yacc.c  */
4212 > #line 1128 "conf_parser.y"
4213      {
4214    if (conf_parser_ctx.pass == 2)
4215      yy_aconf->modes |= UMODE_CCONN;
4216   }
4217      break;
4218  
4219 <  case 153:
4219 >  case 155:
4220  
4221 < /* Line 1464 of yacc.c  */
4222 < #line 1176 "ircd_parser.y"
4221 > /* Line 1806 of yacc.c  */
4222 > #line 1132 "conf_parser.y"
4223      {
4224    if (conf_parser_ctx.pass == 2)
4225      yy_aconf->modes |= UMODE_CCONN_FULL;
4226   }
4227      break;
4228  
4229 <  case 154:
4229 >  case 156:
4230  
4231 < /* Line 1464 of yacc.c  */
4232 < #line 1180 "ircd_parser.y"
4231 > /* Line 1806 of yacc.c  */
4232 > #line 1136 "conf_parser.y"
4233      {
4234    if (conf_parser_ctx.pass == 2)
4235      yy_aconf->modes |= UMODE_DEAF;
4236   }
4237      break;
4238  
4239 <  case 155:
4239 >  case 157:
4240  
4241 < /* Line 1464 of yacc.c  */
4242 < #line 1184 "ircd_parser.y"
4241 > /* Line 1806 of yacc.c  */
4242 > #line 1140 "conf_parser.y"
4243      {
4244    if (conf_parser_ctx.pass == 2)
4245      yy_aconf->modes |= UMODE_DEBUG;
4246   }
4247      break;
4248  
4249 <  case 156:
4249 >  case 158:
4250  
4251 < /* Line 1464 of yacc.c  */
4252 < #line 1188 "ircd_parser.y"
4251 > /* Line 1806 of yacc.c  */
4252 > #line 1144 "conf_parser.y"
4253      {
4254    if (conf_parser_ctx.pass == 2)
4255      yy_aconf->modes |= UMODE_FULL;
4256   }
4257      break;
4258  
4259 <  case 157:
4259 >  case 159:
4260 >
4261 > /* Line 1806 of yacc.c  */
4262 > #line 1148 "conf_parser.y"
4263 >    {
4264 >  if (conf_parser_ctx.pass == 2)
4265 >    yy_aconf->modes |= UMODE_HIDDEN;
4266 > }
4267 >    break;
4268  
4269 < /* Line 1464 of yacc.c  */
4270 < #line 1192 "ircd_parser.y"
4269 >  case 160:
4270 >
4271 > /* Line 1806 of yacc.c  */
4272 > #line 1152 "conf_parser.y"
4273      {
4274    if (conf_parser_ctx.pass == 2)
4275      yy_aconf->modes |= UMODE_SKILL;
4276   }
4277      break;
4278  
4279 <  case 158:
4279 >  case 161:
4280  
4281 < /* Line 1464 of yacc.c  */
4282 < #line 1196 "ircd_parser.y"
4281 > /* Line 1806 of yacc.c  */
4282 > #line 1156 "conf_parser.y"
4283      {
4284    if (conf_parser_ctx.pass == 2)
4285      yy_aconf->modes |= UMODE_NCHANGE;
4286   }
4287      break;
4288  
4289 <  case 159:
4289 >  case 162:
4290  
4291 < /* Line 1464 of yacc.c  */
4292 < #line 1200 "ircd_parser.y"
4291 > /* Line 1806 of yacc.c  */
4292 > #line 1160 "conf_parser.y"
4293      {
4294    if (conf_parser_ctx.pass == 2)
4295      yy_aconf->modes |= UMODE_REJ;
4296   }
4297      break;
4298  
4299 <  case 160:
4299 >  case 163:
4300  
4301 < /* Line 1464 of yacc.c  */
4302 < #line 1204 "ircd_parser.y"
4301 > /* Line 1806 of yacc.c  */
4302 > #line 1164 "conf_parser.y"
4303      {
4304    if (conf_parser_ctx.pass == 2)
4305      yy_aconf->modes |= UMODE_UNAUTH;
4306   }
4307      break;
4308  
4309 <  case 161:
4309 >  case 164:
4310  
4311 < /* Line 1464 of yacc.c  */
4312 < #line 1208 "ircd_parser.y"
4311 > /* Line 1806 of yacc.c  */
4312 > #line 1168 "conf_parser.y"
4313      {
4314    if (conf_parser_ctx.pass == 2)
4315      yy_aconf->modes |= UMODE_SPY;
4316   }
4317      break;
4318  
4319 <  case 162:
4319 >  case 165:
4320  
4321 < /* Line 1464 of yacc.c  */
4322 < #line 1212 "ircd_parser.y"
4321 > /* Line 1806 of yacc.c  */
4322 > #line 1172 "conf_parser.y"
4323      {
4324    if (conf_parser_ctx.pass == 2)
4325      yy_aconf->modes |= UMODE_EXTERNAL;
4326   }
4327      break;
4328  
4329 <  case 163:
4329 >  case 166:
4330  
4331 < /* Line 1464 of yacc.c  */
4332 < #line 1216 "ircd_parser.y"
4331 > /* Line 1806 of yacc.c  */
4332 > #line 1176 "conf_parser.y"
4333      {
4334    if (conf_parser_ctx.pass == 2)
4335      yy_aconf->modes |= UMODE_OPERWALL;
4336   }
4337      break;
4338  
4339 <  case 164:
4339 >  case 167:
4340  
4341 < /* Line 1464 of yacc.c  */
4342 < #line 1220 "ircd_parser.y"
4341 > /* Line 1806 of yacc.c  */
4342 > #line 1180 "conf_parser.y"
4343      {
4344    if (conf_parser_ctx.pass == 2)
4345      yy_aconf->modes |= UMODE_SERVNOTICE;
4346   }
4347      break;
4348  
4349 <  case 165:
4349 >  case 168:
4350  
4351 < /* Line 1464 of yacc.c  */
4352 < #line 1224 "ircd_parser.y"
4351 > /* Line 1806 of yacc.c  */
4352 > #line 1184 "conf_parser.y"
4353      {
4354    if (conf_parser_ctx.pass == 2)
4355      yy_aconf->modes |= UMODE_INVISIBLE;
4356   }
4357      break;
4358  
4359 <  case 166:
4359 >  case 169:
4360  
4361 < /* Line 1464 of yacc.c  */
4362 < #line 1228 "ircd_parser.y"
4361 > /* Line 1806 of yacc.c  */
4362 > #line 1188 "conf_parser.y"
4363      {
4364    if (conf_parser_ctx.pass == 2)
4365      yy_aconf->modes |= UMODE_WALLOP;
4366   }
4367      break;
4368  
4369 <  case 167:
4369 >  case 170:
4370  
4371 < /* Line 1464 of yacc.c  */
4372 < #line 1232 "ircd_parser.y"
4371 > /* Line 1806 of yacc.c  */
4372 > #line 1192 "conf_parser.y"
4373      {
4374    if (conf_parser_ctx.pass == 2)
4375      yy_aconf->modes |= UMODE_SOFTCALLERID;
4376   }
4377      break;
4378  
4379 <  case 168:
4379 >  case 171:
4380  
4381 < /* Line 1464 of yacc.c  */
4382 < #line 1236 "ircd_parser.y"
4381 > /* Line 1806 of yacc.c  */
4382 > #line 1196 "conf_parser.y"
4383      {
4384    if (conf_parser_ctx.pass == 2)
4385      yy_aconf->modes |= UMODE_CALLERID;
4386   }
4387      break;
4388  
4389 <  case 169:
4389 >  case 172:
4390  
4391 < /* Line 1464 of yacc.c  */
4392 < #line 1240 "ircd_parser.y"
4391 > /* Line 1806 of yacc.c  */
4392 > #line 1200 "conf_parser.y"
4393      {
4394    if (conf_parser_ctx.pass == 2)
4395      yy_aconf->modes |= UMODE_LOCOPS;
4396   }
4397      break;
4398  
4399 <  case 170:
4399 >  case 173:
4400  
4401 < /* Line 1464 of yacc.c  */
4402 < #line 1246 "ircd_parser.y"
4401 > /* Line 1806 of yacc.c  */
4402 > #line 1206 "conf_parser.y"
4403      {
4404 +  if (conf_parser_ctx.pass == 2)
4405 +    yy_aconf->port = 0;
4406   }
4407      break;
4408  
4409 <  case 174:
4489 <
4490 < /* Line 1464 of yacc.c  */
4491 < #line 1250 "ircd_parser.y"
4492 <    { not_atom = 1; }
4493 <    break;
4494 <
4495 <  case 176:
4409 >  case 177:
4410  
4411 < /* Line 1464 of yacc.c  */
4412 < #line 1251 "ircd_parser.y"
4413 <    { not_atom = 0; }
4411 > /* Line 1806 of yacc.c  */
4412 > #line 1213 "conf_parser.y"
4413 >    {
4414 >  if (conf_parser_ctx.pass == 2)
4415 >    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4416 > }
4417      break;
4418  
4419    case 178:
4420  
4421 < /* Line 1464 of yacc.c  */
4422 < #line 1254 "ircd_parser.y"
4421 > /* Line 1806 of yacc.c  */
4422 > #line 1217 "conf_parser.y"
4423      {
4424    if (conf_parser_ctx.pass == 2)
4425 <  {
4509 <    if (not_atom)yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4510 <    else yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4511 <  }
4425 >    yy_aconf->port |= OPER_FLAG_REMOTE;
4426   }
4427      break;
4428  
4429    case 179:
4430  
4431 < /* Line 1464 of yacc.c  */
4432 < #line 1261 "ircd_parser.y"
4431 > /* Line 1806 of yacc.c  */
4432 > #line 1221 "conf_parser.y"
4433      {
4434    if (conf_parser_ctx.pass == 2)
4435 <  {
4522 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTE;
4523 <    else yy_aconf->port |= OPER_FLAG_REMOTE;
4524 <  }
4435 >    yy_aconf->port |= OPER_FLAG_K;
4436   }
4437      break;
4438  
4439    case 180:
4440  
4441 < /* Line 1464 of yacc.c  */
4442 < #line 1268 "ircd_parser.y"
4441 > /* Line 1806 of yacc.c  */
4442 > #line 1225 "conf_parser.y"
4443      {
4444    if (conf_parser_ctx.pass == 2)
4445 <  {
4535 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_K;
4536 <    else yy_aconf->port |= OPER_FLAG_K;
4537 <  }
4445 >    yy_aconf->port |= OPER_FLAG_UNKLINE;
4446   }
4447      break;
4448  
4449    case 181:
4450  
4451 < /* Line 1464 of yacc.c  */
4452 < #line 1275 "ircd_parser.y"
4451 > /* Line 1806 of yacc.c  */
4452 > #line 1229 "conf_parser.y"
4453      {
4454    if (conf_parser_ctx.pass == 2)
4455 <  {
4548 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4549 <    else yy_aconf->port |= OPER_FLAG_UNKLINE;
4550 <  }
4455 >    yy_aconf->port |= OPER_FLAG_DLINE;
4456   }
4457      break;
4458  
4459    case 182:
4460  
4461 < /* Line 1464 of yacc.c  */
4462 < #line 1282 "ircd_parser.y"
4461 > /* Line 1806 of yacc.c  */
4462 > #line 1233 "conf_parser.y"
4463      {
4464    if (conf_parser_ctx.pass == 2)
4465 <  {
4561 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_X;
4562 <    else yy_aconf->port |= OPER_FLAG_X;
4563 <  }
4465 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4466   }
4467      break;
4468  
4469    case 183:
4470  
4471 < /* Line 1464 of yacc.c  */
4472 < #line 1289 "ircd_parser.y"
4471 > /* Line 1806 of yacc.c  */
4472 > #line 1237 "conf_parser.y"
4473      {
4474    if (conf_parser_ctx.pass == 2)
4475 <  {
4574 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_GLINE;
4575 <    else yy_aconf->port |= OPER_FLAG_GLINE;
4576 <  }
4475 >    yy_aconf->port |= OPER_FLAG_X;
4476   }
4477      break;
4478  
4479    case 184:
4480  
4481 < /* Line 1464 of yacc.c  */
4482 < #line 1296 "ircd_parser.y"
4481 > /* Line 1806 of yacc.c  */
4482 > #line 1241 "conf_parser.y"
4483      {
4484    if (conf_parser_ctx.pass == 2)
4485 <  {
4587 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_DIE;
4588 <    else yy_aconf->port |= OPER_FLAG_DIE;
4589 <  }
4485 >    yy_aconf->port |= OPER_FLAG_GLINE;
4486   }
4487      break;
4488  
4489    case 185:
4490  
4491 < /* Line 1464 of yacc.c  */
4492 < #line 1303 "ircd_parser.y"
4491 > /* Line 1806 of yacc.c  */
4492 > #line 1245 "conf_parser.y"
4493      {
4494    if (conf_parser_ctx.pass == 2)
4495 <  {
4600 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REHASH;
4601 <    else yy_aconf->port |= OPER_FLAG_REHASH;
4602 <  }
4495 >    yy_aconf->port |= OPER_FLAG_DIE;
4496   }
4497      break;
4498  
4499    case 186:
4500  
4501 < /* Line 1464 of yacc.c  */
4502 < #line 1310 "ircd_parser.y"
4501 > /* Line 1806 of yacc.c  */
4502 > #line 1249 "conf_parser.y"
4503      {
4504    if (conf_parser_ctx.pass == 2)
4505 <  {
4613 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_ADMIN;
4614 <    else yy_aconf->port |= OPER_FLAG_ADMIN;
4615 <  }
4505 >    yy_aconf->port |= OPER_FLAG_RESTART;
4506   }
4507      break;
4508  
4509    case 187:
4510  
4511 < /* Line 1464 of yacc.c  */
4512 < #line 1317 "ircd_parser.y"
4511 > /* Line 1806 of yacc.c  */
4512 > #line 1253 "conf_parser.y"
4513      {
4514    if (conf_parser_ctx.pass == 2)
4515 <  {
4626 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4627 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4628 <  }
4515 >    yy_aconf->port |= OPER_FLAG_REHASH;
4516   }
4517      break;
4518  
4519    case 188:
4520  
4521 < /* Line 1464 of yacc.c  */
4522 < #line 1324 "ircd_parser.y"
4521 > /* Line 1806 of yacc.c  */
4522 > #line 1257 "conf_parser.y"
4523      {
4524    if (conf_parser_ctx.pass == 2)
4525 <  {
4639 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_N;
4640 <    else yy_aconf->port |= OPER_FLAG_N;
4641 <  }
4525 >    yy_aconf->port |= OPER_FLAG_ADMIN;
4526   }
4527      break;
4528  
4529    case 189:
4530  
4531 < /* Line 1464 of yacc.c  */
4532 < #line 1331 "ircd_parser.y"
4531 > /* Line 1806 of yacc.c  */
4532 > #line 1261 "conf_parser.y"
4533      {
4534    if (conf_parser_ctx.pass == 2)
4535 <  {
4652 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPERWALL;
4653 <    else yy_aconf->port |= OPER_FLAG_OPERWALL;
4654 <  }
4535 >    yy_aconf->port |= OPER_FLAG_N;
4536   }
4537      break;
4538  
4539    case 190:
4540  
4541 < /* Line 1464 of yacc.c  */
4542 < #line 1338 "ircd_parser.y"
4541 > /* Line 1806 of yacc.c  */
4542 > #line 1265 "conf_parser.y"
4543      {
4544    if (conf_parser_ctx.pass == 2)
4545 <  {
4665 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPER_SPY;
4666 <    else yy_aconf->port |= OPER_FLAG_OPER_SPY;
4667 <  }
4545 >    yy_aconf->port |= OPER_FLAG_OPERWALL;
4546   }
4547      break;
4548  
4549    case 191:
4550  
4551 < /* Line 1464 of yacc.c  */
4552 < #line 1345 "ircd_parser.y"
4551 > /* Line 1806 of yacc.c  */
4552 > #line 1269 "conf_parser.y"
4553      {
4554    if (conf_parser_ctx.pass == 2)
4555 <  {
4678 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
4679 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
4680 <  }
4555 >    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4556   }
4557      break;
4558  
4559    case 192:
4560  
4561 < /* Line 1464 of yacc.c  */
4562 < #line 1352 "ircd_parser.y"
4561 > /* Line 1806 of yacc.c  */
4562 > #line 1273 "conf_parser.y"
4563      {
4564    if (conf_parser_ctx.pass == 2)
4565 <  {
4691 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
4692 <    else yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4693 <  }
4565 >    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4566   }
4567      break;
4568  
4569    case 193:
4570  
4571 < /* Line 1464 of yacc.c  */
4572 < #line 1359 "ircd_parser.y"
4571 > /* Line 1806 of yacc.c  */
4572 > #line 1277 "conf_parser.y"
4573      {
4574    if (conf_parser_ctx.pass == 2)
4575 <  {
4704 <    if (not_atom) ClearConfEncrypted(yy_aconf);
4705 <    else SetConfEncrypted(yy_aconf);
4706 <  }
4575 >    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4576   }
4577      break;
4578  
4579    case 194:
4580  
4581 < /* Line 1464 of yacc.c  */
4582 < #line 1372 "ircd_parser.y"
4581 > /* Line 1806 of yacc.c  */
4582 > #line 1281 "conf_parser.y"
4583 >    {
4584 >  if (conf_parser_ctx.pass == 2)
4585 >    yy_aconf->port |= OPER_FLAG_MODULE;
4586 > }
4587 >    break;
4588 >
4589 >  case 195:
4590 >
4591 > /* Line 1806 of yacc.c  */
4592 > #line 1291 "conf_parser.y"
4593      {
4594    if (conf_parser_ctx.pass == 1)
4595    {
# Line 4720 | Line 4599 | yyreduce:
4599   }
4600      break;
4601  
4602 <  case 195:
4602 >  case 196:
4603  
4604 < /* Line 1464 of yacc.c  */
4605 < #line 1379 "ircd_parser.y"
4604 > /* Line 1806 of yacc.c  */
4605 > #line 1298 "conf_parser.y"
4606      {
4607    if (conf_parser_ctx.pass == 1)
4608    {
# Line 4734 | Line 4613 | yyreduce:
4613        delete_conf_item(yy_conf);
4614      else
4615      {
4616 <      cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL);
4616 >      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4617  
4618        if (cconf != NULL)                /* The class existed already */
4619        {
# Line 4767 | Line 4646 | yyreduce:
4646   }
4647      break;
4648  
4649 <  case 214:
4649 >  case 213:
4650  
4651 < /* Line 1464 of yacc.c  */
4652 < #line 1439 "ircd_parser.y"
4651 > /* Line 1806 of yacc.c  */
4652 > #line 1356 "conf_parser.y"
4653      {
4654    if (conf_parser_ctx.pass == 1)
4655    {
# Line 4780 | Line 4659 | yyreduce:
4659   }
4660      break;
4661  
4662 +  case 214:
4663 +
4664 + /* Line 1806 of yacc.c  */
4665 + #line 1365 "conf_parser.y"
4666 +    {
4667 +  if (conf_parser_ctx.pass == 1)
4668 +    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4669 + }
4670 +    break;
4671 +
4672    case 215:
4673  
4674 < /* Line 1464 of yacc.c  */
4675 < #line 1448 "ircd_parser.y"
4674 > /* Line 1806 of yacc.c  */
4675 > #line 1371 "conf_parser.y"
4676      {
4677    if (conf_parser_ctx.pass == 1)
4678 <  {
4790 <    MyFree(yy_class_name);
4791 <    DupString(yy_class_name, yylval.string);
4792 <  }
4678 >    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4679   }
4680      break;
4681  
4682    case 216:
4683  
4684 < /* Line 1464 of yacc.c  */
4685 < #line 1457 "ircd_parser.y"
4684 > /* Line 1806 of yacc.c  */
4685 > #line 1377 "conf_parser.y"
4686      {
4687    if (conf_parser_ctx.pass == 1)
4688 <    PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4688 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4689   }
4690      break;
4691  
4692    case 217:
4693  
4694 < /* Line 1464 of yacc.c  */
4695 < #line 1463 "ircd_parser.y"
4694 > /* Line 1806 of yacc.c  */
4695 > #line 1383 "conf_parser.y"
4696      {
4697    if (conf_parser_ctx.pass == 1)
4698 <    PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4698 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4699   }
4700      break;
4701  
4702    case 218:
4703  
4704 < /* Line 1464 of yacc.c  */
4705 < #line 1469 "ircd_parser.y"
4704 > /* Line 1806 of yacc.c  */
4705 > #line 1389 "conf_parser.y"
4706      {
4707    if (conf_parser_ctx.pass == 1)
4708 <    MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4708 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4709   }
4710      break;
4711  
4712    case 219:
4713  
4714 < /* Line 1464 of yacc.c  */
4715 < #line 1475 "ircd_parser.y"
4714 > /* Line 1806 of yacc.c  */
4715 > #line 1395 "conf_parser.y"
4716      {
4717    if (conf_parser_ctx.pass == 1)
4718 <    ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4718 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4719   }
4720      break;
4721  
4722    case 220:
4723  
4724 < /* Line 1464 of yacc.c  */
4725 < #line 1481 "ircd_parser.y"
4724 > /* Line 1806 of yacc.c  */
4725 > #line 1401 "conf_parser.y"
4726      {
4727    if (conf_parser_ctx.pass == 1)
4728 <    MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4728 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4729   }
4730      break;
4731  
4732    case 221:
4733  
4734 < /* Line 1464 of yacc.c  */
4735 < #line 1487 "ircd_parser.y"
4734 > /* Line 1806 of yacc.c  */
4735 > #line 1407 "conf_parser.y"
4736      {
4737    if (conf_parser_ctx.pass == 1)
4738 <    MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4738 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4739   }
4740      break;
4741  
4742    case 222:
4743  
4744 < /* Line 1464 of yacc.c  */
4745 < #line 1493 "ircd_parser.y"
4744 > /* Line 1806 of yacc.c  */
4745 > #line 1413 "conf_parser.y"
4746      {
4747    if (conf_parser_ctx.pass == 1)
4748 <    MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4748 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4749   }
4750      break;
4751  
4752    case 223:
4753  
4754 < /* Line 1464 of yacc.c  */
4755 < #line 1499 "ircd_parser.y"
4754 > /* Line 1806 of yacc.c  */
4755 > #line 1419 "conf_parser.y"
4756      {
4757    if (conf_parser_ctx.pass == 1)
4758 <    MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4758 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number);
4759   }
4760      break;
4761  
4762    case 224:
4763  
4764 < /* Line 1464 of yacc.c  */
4765 < #line 1505 "ircd_parser.y"
4764 > /* Line 1806 of yacc.c  */
4765 > #line 1425 "conf_parser.y"
4766      {
4767    if (conf_parser_ctx.pass == 1)
4768 <    MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4768 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number);
4769   }
4770      break;
4771  
4772    case 225:
4773  
4774 < /* Line 1464 of yacc.c  */
4775 < #line 1511 "ircd_parser.y"
4774 > /* Line 1806 of yacc.c  */
4775 > #line 1431 "conf_parser.y"
4776      {
4777    if (conf_parser_ctx.pass == 1)
4778 <    CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4778 >    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4779   }
4780      break;
4781  
4782    case 226:
4783  
4784 < /* Line 1464 of yacc.c  */
4785 < #line 1517 "ircd_parser.y"
4900 <    {
4901 <  if (conf_parser_ctx.pass == 1)
4902 <    CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4903 < }
4904 <    break;
4905 <
4906 <  case 227:
4907 <
4908 < /* Line 1464 of yacc.c  */
4909 < #line 1523 "ircd_parser.y"
4910 <    {
4911 <  if (conf_parser_ctx.pass == 1)
4912 <    NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4913 < }
4914 <    break;
4915 <
4916 <  case 228:
4917 <
4918 < /* Line 1464 of yacc.c  */
4919 < #line 1532 "ircd_parser.y"
4784 > /* Line 1806 of yacc.c  */
4785 > #line 1440 "conf_parser.y"
4786      {
4787    if (conf_parser_ctx.pass == 2)
4788    {
# Line 4926 | Line 4792 | yyreduce:
4792   }
4793      break;
4794  
4795 <  case 229:
4795 >  case 227:
4796  
4797 < /* Line 1464 of yacc.c  */
4798 < #line 1539 "ircd_parser.y"
4797 > /* Line 1806 of yacc.c  */
4798 > #line 1447 "conf_parser.y"
4799      {
4800    if (conf_parser_ctx.pass == 2)
4801    {
# Line 4939 | Line 4805 | yyreduce:
4805   }
4806      break;
4807  
4808 <  case 230:
4808 >  case 228:
4809  
4810 < /* Line 1464 of yacc.c  */
4811 < #line 1548 "ircd_parser.y"
4810 > /* Line 1806 of yacc.c  */
4811 > #line 1456 "conf_parser.y"
4812      {
4813    listener_flags = 0;
4814   }
4815      break;
4816  
4817 <  case 234:
4817 >  case 232:
4818  
4819 < /* Line 1464 of yacc.c  */
4820 < #line 1554 "ircd_parser.y"
4819 > /* Line 1806 of yacc.c  */
4820 > #line 1462 "conf_parser.y"
4821      {
4822    if (conf_parser_ctx.pass == 2)
4823      listener_flags |= LISTENER_SSL;
4824   }
4825      break;
4826  
4827 <  case 235:
4827 >  case 233:
4828  
4829 < /* Line 1464 of yacc.c  */
4830 < #line 1558 "ircd_parser.y"
4829 > /* Line 1806 of yacc.c  */
4830 > #line 1466 "conf_parser.y"
4831      {
4832    if (conf_parser_ctx.pass == 2)
4833      listener_flags |= LISTENER_HIDDEN;
4834   }
4835      break;
4836  
4837 <  case 236:
4837 >  case 234:
4838  
4839 < /* Line 1464 of yacc.c  */
4840 < #line 1562 "ircd_parser.y"
4839 > /* Line 1806 of yacc.c  */
4840 > #line 1470 "conf_parser.y"
4841      {
4842    if (conf_parser_ctx.pass == 2)
4843      listener_flags |= LISTENER_SERVER;
4844   }
4845      break;
4846  
4847 <  case 244:
4847 >  case 242:
4848  
4849 < /* Line 1464 of yacc.c  */
4850 < #line 1572 "ircd_parser.y"
4849 > /* Line 1806 of yacc.c  */
4850 > #line 1480 "conf_parser.y"
4851      { listener_flags = 0; }
4852      break;
4853  
4854 <  case 248:
4854 >  case 246:
4855  
4856 < /* Line 1464 of yacc.c  */
4857 < #line 1577 "ircd_parser.y"
4856 > /* Line 1806 of yacc.c  */
4857 > #line 1485 "conf_parser.y"
4858      {
4859    if (conf_parser_ctx.pass == 2)
4860    {
# Line 5005 | Line 4871 | yyreduce:
4871   }
4872      break;
4873  
4874 <  case 249:
4874 >  case 247:
4875  
4876 < /* Line 1464 of yacc.c  */
4877 < #line 1591 "ircd_parser.y"
4876 > /* Line 1806 of yacc.c  */
4877 > #line 1499 "conf_parser.y"
4878      {
4879    if (conf_parser_ctx.pass == 2)
4880    {
# Line 5029 | Line 4895 | yyreduce:
4895   }
4896      break;
4897  
4898 <  case 250:
4898 >  case 248:
4899  
4900 < /* Line 1464 of yacc.c  */
4901 < #line 1611 "ircd_parser.y"
4900 > /* Line 1806 of yacc.c  */
4901 > #line 1519 "conf_parser.y"
4902      {
4903    if (conf_parser_ctx.pass == 2)
4904    {
# Line 5042 | Line 4908 | yyreduce:
4908   }
4909      break;
4910  
4911 <  case 251:
4911 >  case 249:
4912  
4913 < /* Line 1464 of yacc.c  */
4914 < #line 1620 "ircd_parser.y"
4913 > /* Line 1806 of yacc.c  */
4914 > #line 1528 "conf_parser.y"
4915      {
4916    if (conf_parser_ctx.pass == 2)
4917    {
# Line 5055 | Line 4921 | yyreduce:
4921   }
4922      break;
4923  
4924 <  case 252:
4924 >  case 250:
4925  
4926 < /* Line 1464 of yacc.c  */
4927 < #line 1632 "ircd_parser.y"
4926 > /* Line 1806 of yacc.c  */
4927 > #line 1540 "conf_parser.y"
4928      {
4929    if (conf_parser_ctx.pass == 2)
4930    {
# Line 5073 | Line 4939 | yyreduce:
4939   }
4940      break;
4941  
4942 <  case 253:
4942 >  case 251:
4943  
4944 < /* Line 1464 of yacc.c  */
4945 < #line 1644 "ircd_parser.y"
4944 > /* Line 1806 of yacc.c  */
4945 > #line 1552 "conf_parser.y"
4946      {
4947    if (conf_parser_ctx.pass == 2)
4948    {
# Line 5134 | Line 5000 | yyreduce:
5000   }
5001      break;
5002  
5003 <  case 265:
5003 >  case 263:
5004  
5005 < /* Line 1464 of yacc.c  */
5006 < #line 1706 "ircd_parser.y"
5005 > /* Line 1806 of yacc.c  */
5006 > #line 1614 "conf_parser.y"
5007      {
5008    if (conf_parser_ctx.pass == 2)
5009    {
# Line 5173 | Line 5039 | yyreduce:
5039   }
5040      break;
5041  
5042 <  case 266:
5042 >  case 264:
5043  
5044 < /* Line 1464 of yacc.c  */
5045 < #line 1743 "ircd_parser.y"
5044 > /* Line 1806 of yacc.c  */
5045 > #line 1651 "conf_parser.y"
5046      {
5047    if (conf_parser_ctx.pass == 2)
5048    {
# Line 5190 | Line 5056 | yyreduce:
5056   }
5057      break;
5058  
5059 <  case 267:
5059 >  case 265:
5060  
5061 < /* Line 1464 of yacc.c  */
5062 < #line 1756 "ircd_parser.y"
5061 > /* Line 1806 of yacc.c  */
5062 > #line 1664 "conf_parser.y"
5063      {
5064    if (conf_parser_ctx.pass == 2)
5065    {
# Line 5203 | Line 5069 | yyreduce:
5069   }
5070      break;
5071  
5072 <  case 268:
5072 >  case 266:
5073  
5074 < /* Line 1464 of yacc.c  */
5075 < #line 1765 "ircd_parser.y"
5074 > /* Line 1806 of yacc.c  */
5075 > #line 1673 "conf_parser.y"
5076      {
5077    if (conf_parser_ctx.pass == 2)
5078    {
# Line 5218 | Line 5084 | yyreduce:
5084   }
5085      break;
5086  
5087 <  case 269:
5222 <
5223 < /* Line 1464 of yacc.c  */
5224 < #line 1776 "ircd_parser.y"
5225 <    {
5226 < }
5227 <    break;
5228 <
5229 <  case 273:
5230 <
5231 < /* Line 1464 of yacc.c  */
5232 < #line 1780 "ircd_parser.y"
5233 <    { not_atom = 1; }
5234 <    break;
5235 <
5236 <  case 275:
5237 <
5238 < /* Line 1464 of yacc.c  */
5239 < #line 1781 "ircd_parser.y"
5240 <    { not_atom = 0; }
5241 <    break;
5242 <
5243 <  case 277:
5087 >  case 267:
5088  
5089 < /* Line 1464 of yacc.c  */
5090 < #line 1784 "ircd_parser.y"
5089 > /* Line 1806 of yacc.c  */
5090 > #line 1684 "conf_parser.y"
5091      {
5248  if (conf_parser_ctx.pass == 2)
5249  {
5250    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5251    else yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5252  }
5092   }
5093      break;
5094  
5095 <  case 278:
5095 >  case 271:
5096  
5097 < /* Line 1464 of yacc.c  */
5098 < #line 1791 "ircd_parser.y"
5097 > /* Line 1806 of yacc.c  */
5098 > #line 1689 "conf_parser.y"
5099      {
5100    if (conf_parser_ctx.pass == 2)
5101 <  {
5263 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5264 <    else yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5265 <  }
5101 >    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5102   }
5103      break;
5104  
5105 <  case 279:
5105 >  case 272:
5106  
5107 < /* Line 1464 of yacc.c  */
5108 < #line 1798 "ircd_parser.y"
5107 > /* Line 1806 of yacc.c  */
5108 > #line 1693 "conf_parser.y"
5109      {
5110    if (conf_parser_ctx.pass == 2)
5111 <  {
5276 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5277 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5278 <  }
5111 >    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5112   }
5113      break;
5114  
5115 <  case 280:
5115 >  case 273:
5116  
5117 < /* Line 1464 of yacc.c  */
5118 < #line 1805 "ircd_parser.y"
5117 > /* Line 1806 of yacc.c  */
5118 > #line 1697 "conf_parser.y"
5119      {
5120    if (conf_parser_ctx.pass == 2)
5121 <  {
5289 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5290 <    else yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5291 <  }
5121 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5122   }
5123      break;
5124  
5125 <  case 281:
5125 >  case 274:
5126  
5127 < /* Line 1464 of yacc.c  */
5128 < #line 1812 "ircd_parser.y"
5127 > /* Line 1806 of yacc.c  */
5128 > #line 1701 "conf_parser.y"
5129      {
5130    if (conf_parser_ctx.pass == 2)
5131 <  {
5302 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5303 <    else yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5304 <  }
5131 >    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5132   }
5133      break;
5134  
5135 <  case 282:
5135 >  case 275:
5136  
5137 < /* Line 1464 of yacc.c  */
5138 < #line 1819 "ircd_parser.y"
5137 > /* Line 1806 of yacc.c  */
5138 > #line 1705 "conf_parser.y"
5139      {
5140    if (conf_parser_ctx.pass == 2)
5141 <  {
5315 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_IDLE_LINED;
5316 <    else yy_aconf->flags |= CONF_FLAGS_IDLE_LINED;
5317 <  }
5141 >    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5142   }
5143      break;
5144  
5145 <  case 283:
5145 >  case 276:
5146  
5147 < /* Line 1464 of yacc.c  */
5148 < #line 1826 "ircd_parser.y"
5147 > /* Line 1806 of yacc.c  */
5148 > #line 1709 "conf_parser.y"
5149      {
5150    if (conf_parser_ctx.pass == 2)
5151 <  {
5328 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5329 <    else yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5330 <  }
5151 >    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5152   }
5153      break;
5154  
5155 <  case 284:
5155 >  case 277:
5156  
5157 < /* Line 1464 of yacc.c  */
5158 < #line 1833 "ircd_parser.y"
5157 > /* Line 1806 of yacc.c  */
5158 > #line 1713 "conf_parser.y"
5159      {
5160    if (conf_parser_ctx.pass == 2)
5161 <  {
5341 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5342 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5343 <  }
5161 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5162   }
5163      break;
5164  
5165 <  case 285:
5165 >  case 278:
5166  
5167 < /* Line 1464 of yacc.c  */
5168 < #line 1840 "ircd_parser.y"
5167 > /* Line 1806 of yacc.c  */
5168 > #line 1717 "conf_parser.y"
5169      {
5170    if (conf_parser_ctx.pass == 2)
5171 <  {
5354 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTRESV;
5355 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5356 <  }
5171 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5172   }
5173      break;
5174  
5175 <  case 286:
5175 >  case 279:
5176  
5177 < /* Line 1464 of yacc.c  */
5178 < #line 1847 "ircd_parser.y"
5177 > /* Line 1806 of yacc.c  */
5178 > #line 1721 "conf_parser.y"
5179      {
5180    if (conf_parser_ctx.pass == 2)
5181 <  {
5367 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5368 <    else yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5369 <  }
5181 >    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5182   }
5183      break;
5184  
5185 <  case 287:
5185 >  case 280:
5186  
5187 < /* Line 1464 of yacc.c  */
5188 < #line 1857 "ircd_parser.y"
5187 > /* Line 1806 of yacc.c  */
5188 > #line 1728 "conf_parser.y"
5189      {
5190    if (conf_parser_ctx.pass == 2)
5191    {
# Line 5386 | Line 5198 | yyreduce:
5198      }
5199      else
5200      {
5201 <      ilog(L_ERROR, "Spoofs must be less than %d..ignoring it", HOSTLEN);
5201 >      ilog(LOG_TYPE_IRCD, "Spoofs must be less than %d..ignoring it", HOSTLEN);
5202        yy_conf->name = NULL;
5203      }
5204    }
5205   }
5206      break;
5207  
5208 <  case 288:
5208 >  case 281:
5209  
5210 < /* Line 1464 of yacc.c  */
5211 < #line 1876 "ircd_parser.y"
5210 > /* Line 1806 of yacc.c  */
5211 > #line 1747 "conf_parser.y"
5212      {
5213    if (conf_parser_ctx.pass == 2)
5214    {
# Line 5407 | Line 5219 | yyreduce:
5219   }
5220      break;
5221  
5222 <  case 289:
5222 >  case 282:
5223  
5224 < /* Line 1464 of yacc.c  */
5225 < #line 1886 "ircd_parser.y"
5224 > /* Line 1806 of yacc.c  */
5225 > #line 1757 "conf_parser.y"
5226      {
5227    if (conf_parser_ctx.pass == 2)
5228    {
# Line 5420 | Line 5232 | yyreduce:
5232   }
5233      break;
5234  
5235 <  case 290:
5235 >  case 283:
5236  
5237 < /* Line 1464 of yacc.c  */
5238 < #line 1899 "ircd_parser.y"
5237 > /* Line 1806 of yacc.c  */
5238 > #line 1770 "conf_parser.y"
5239      {
5240    if (conf_parser_ctx.pass == 2)
5241    {
# Line 5433 | Line 5245 | yyreduce:
5245   }
5246      break;
5247  
5248 <  case 291:
5248 >  case 284:
5249  
5250 < /* Line 1464 of yacc.c  */
5251 < #line 1906 "ircd_parser.y"
5250 > /* Line 1806 of yacc.c  */
5251 > #line 1777 "conf_parser.y"
5252      {
5253    if (conf_parser_ctx.pass == 2)
5254    {
# Line 5446 | Line 5258 | yyreduce:
5258   }
5259      break;
5260  
5261 <  case 298:
5261 >  case 291:
5262  
5263 < /* Line 1464 of yacc.c  */
5264 < #line 1918 "ircd_parser.y"
5263 > /* Line 1806 of yacc.c  */
5264 > #line 1789 "conf_parser.y"
5265      {
5266    if (conf_parser_ctx.pass == 2)
5267    {
# Line 5459 | Line 5271 | yyreduce:
5271   }
5272      break;
5273  
5274 <  case 299:
5274 >  case 292:
5275  
5276 < /* Line 1464 of yacc.c  */
5277 < #line 1927 "ircd_parser.y"
5276 > /* Line 1806 of yacc.c  */
5277 > #line 1798 "conf_parser.y"
5278      {
5279    if (conf_parser_ctx.pass == 2)
5280    {
# Line 5478 | Line 5290 | yyreduce:
5290   }
5291      break;
5292  
5293 <  case 300:
5293 >  case 293:
5294  
5295 < /* Line 1464 of yacc.c  */
5296 < #line 1942 "ircd_parser.y"
5295 > /* Line 1806 of yacc.c  */
5296 > #line 1813 "conf_parser.y"
5297      {
5298    if (conf_parser_ctx.pass == 2)
5299    {
# Line 5492 | Line 5304 | yyreduce:
5304   }
5305      break;
5306  
5307 <  case 301:
5307 >  case 299:
5308  
5309 < /* Line 1464 of yacc.c  */
5310 < #line 1955 "ircd_parser.y"
5309 > /* Line 1806 of yacc.c  */
5310 > #line 1831 "conf_parser.y"
5311 >    {
5312 >  if (conf_parser_ctx.pass == 2)
5313 >  {
5314 >    if (valid_servname(yylval.string))
5315 >    {
5316 >      yy_conf = make_conf_item(SERVICE_TYPE);
5317 >      DupString(yy_conf->name, yylval.string);
5318 >    }
5319 >  }
5320 > }
5321 >    break;
5322 >
5323 >  case 300:
5324 >
5325 > /* Line 1806 of yacc.c  */
5326 > #line 1846 "conf_parser.y"
5327      {
5328    if (conf_parser_ctx.pass == 2)
5329    {
# Line 5506 | Line 5334 | yyreduce:
5334   }
5335      break;
5336  
5337 <  case 302:
5337 >  case 301:
5338  
5339 < /* Line 1464 of yacc.c  */
5340 < #line 1963 "ircd_parser.y"
5339 > /* Line 1806 of yacc.c  */
5340 > #line 1854 "conf_parser.y"
5341      {
5342    if (conf_parser_ctx.pass == 2)
5343    {
# Line 5518 | Line 5346 | yyreduce:
5346   }
5347      break;
5348  
5349 <  case 309:
5349 >  case 308:
5350  
5351 < /* Line 1464 of yacc.c  */
5352 < #line 1974 "ircd_parser.y"
5351 > /* Line 1806 of yacc.c  */
5352 > #line 1865 "conf_parser.y"
5353      {
5354    if (conf_parser_ctx.pass == 2)
5355    {
# Line 5531 | Line 5359 | yyreduce:
5359   }
5360      break;
5361  
5362 <  case 310:
5362 >  case 309:
5363  
5364 < /* Line 1464 of yacc.c  */
5365 < #line 1983 "ircd_parser.y"
5364 > /* Line 1806 of yacc.c  */
5365 > #line 1874 "conf_parser.y"
5366      {
5367    if (conf_parser_ctx.pass == 2)
5368    {
# Line 5557 | Line 5385 | yyreduce:
5385   }
5386      break;
5387  
5388 <  case 311:
5388 >  case 310:
5389  
5390 < /* Line 1464 of yacc.c  */
5391 < #line 2005 "ircd_parser.y"
5390 > /* Line 1806 of yacc.c  */
5391 > #line 1896 "conf_parser.y"
5392      {
5393    if (conf_parser_ctx.pass == 2)
5394      yy_match_item->action = 0;
5395   }
5396      break;
5397  
5398 <  case 315:
5398 >  case 314:
5399  
5400 < /* Line 1464 of yacc.c  */
5401 < #line 2012 "ircd_parser.y"
5400 > /* Line 1806 of yacc.c  */
5401 > #line 1903 "conf_parser.y"
5402      {
5403    if (conf_parser_ctx.pass == 2)
5404      yy_match_item->action |= SHARED_KLINE;
5405   }
5406      break;
5407  
5408 <  case 316:
5408 >  case 315:
5409  
5410 < /* Line 1464 of yacc.c  */
5411 < #line 2016 "ircd_parser.y"
5410 > /* Line 1806 of yacc.c  */
5411 > #line 1907 "conf_parser.y"
5412      {
5413    if (conf_parser_ctx.pass == 2)
5414 <    yy_match_item->action |= SHARED_TKLINE;
5414 >    yy_match_item->action |= SHARED_UNKLINE;
5415   }
5416      break;
5417  
5418 <  case 317:
5418 >  case 316:
5419  
5420 < /* Line 1464 of yacc.c  */
5421 < #line 2020 "ircd_parser.y"
5420 > /* Line 1806 of yacc.c  */
5421 > #line 1911 "conf_parser.y"
5422      {
5423    if (conf_parser_ctx.pass == 2)
5424 <    yy_match_item->action |= SHARED_UNKLINE;
5424 >    yy_match_item->action |= SHARED_DLINE;
5425   }
5426      break;
5427  
5428 <  case 318:
5428 >  case 317:
5429  
5430 < /* Line 1464 of yacc.c  */
5431 < #line 2024 "ircd_parser.y"
5430 > /* Line 1806 of yacc.c  */
5431 > #line 1915 "conf_parser.y"
5432      {
5433    if (conf_parser_ctx.pass == 2)
5434 <    yy_match_item->action |= SHARED_XLINE;
5434 >    yy_match_item->action |= SHARED_UNDLINE;
5435   }
5436      break;
5437  
5438 <  case 319:
5438 >  case 318:
5439  
5440 < /* Line 1464 of yacc.c  */
5441 < #line 2028 "ircd_parser.y"
5440 > /* Line 1806 of yacc.c  */
5441 > #line 1919 "conf_parser.y"
5442      {
5443    if (conf_parser_ctx.pass == 2)
5444 <    yy_match_item->action |= SHARED_TXLINE;
5444 >    yy_match_item->action |= SHARED_XLINE;
5445   }
5446      break;
5447  
5448 <  case 320:
5448 >  case 319:
5449  
5450 < /* Line 1464 of yacc.c  */
5451 < #line 2032 "ircd_parser.y"
5450 > /* Line 1806 of yacc.c  */
5451 > #line 1923 "conf_parser.y"
5452      {
5453    if (conf_parser_ctx.pass == 2)
5454      yy_match_item->action |= SHARED_UNXLINE;
5455   }
5456      break;
5457  
5458 <  case 321:
5458 >  case 320:
5459  
5460 < /* Line 1464 of yacc.c  */
5461 < #line 2036 "ircd_parser.y"
5460 > /* Line 1806 of yacc.c  */
5461 > #line 1927 "conf_parser.y"
5462      {
5463    if (conf_parser_ctx.pass == 2)
5464      yy_match_item->action |= SHARED_RESV;
5465   }
5466      break;
5467  
5468 <  case 322:
5641 <
5642 < /* Line 1464 of yacc.c  */
5643 < #line 2040 "ircd_parser.y"
5644 <    {
5645 <  if (conf_parser_ctx.pass == 2)
5646 <    yy_match_item->action |= SHARED_TRESV;
5647 < }
5648 <    break;
5649 <
5650 <  case 323:
5468 >  case 321:
5469  
5470 < /* Line 1464 of yacc.c  */
5471 < #line 2044 "ircd_parser.y"
5470 > /* Line 1806 of yacc.c  */
5471 > #line 1931 "conf_parser.y"
5472      {
5473    if (conf_parser_ctx.pass == 2)
5474      yy_match_item->action |= SHARED_UNRESV;
5475   }
5476      break;
5477  
5478 <  case 324:
5478 >  case 322:
5479  
5480 < /* Line 1464 of yacc.c  */
5481 < #line 2048 "ircd_parser.y"
5480 > /* Line 1806 of yacc.c  */
5481 > #line 1935 "conf_parser.y"
5482      {
5483    if (conf_parser_ctx.pass == 2)
5484      yy_match_item->action |= SHARED_LOCOPS;
5485   }
5486      break;
5487  
5488 <  case 325:
5488 >  case 323:
5489  
5490 < /* Line 1464 of yacc.c  */
5491 < #line 2052 "ircd_parser.y"
5490 > /* Line 1806 of yacc.c  */
5491 > #line 1939 "conf_parser.y"
5492      {
5493    if (conf_parser_ctx.pass == 2)
5494      yy_match_item->action = SHARED_ALL;
5495   }
5496      break;
5497  
5498 <  case 326:
5498 >  case 324:
5499  
5500 < /* Line 1464 of yacc.c  */
5501 < #line 2061 "ircd_parser.y"
5500 > /* Line 1806 of yacc.c  */
5501 > #line 1948 "conf_parser.y"
5502      {
5503    if (conf_parser_ctx.pass == 2)
5504    {
# Line 5690 | Line 5508 | yyreduce:
5508   }
5509      break;
5510  
5511 <  case 327:
5511 >  case 325:
5512  
5513 < /* Line 1464 of yacc.c  */
5514 < #line 2068 "ircd_parser.y"
5513 > /* Line 1806 of yacc.c  */
5514 > #line 1955 "conf_parser.y"
5515      {
5516    if (conf_parser_ctx.pass == 2)
5517    {
# Line 5704 | Line 5522 | yyreduce:
5522   }
5523      break;
5524  
5525 <  case 333:
5525 >  case 331:
5526  
5527 < /* Line 1464 of yacc.c  */
5528 < #line 2081 "ircd_parser.y"
5527 > /* Line 1806 of yacc.c  */
5528 > #line 1968 "conf_parser.y"
5529      {
5530    if (conf_parser_ctx.pass == 2)
5531      DupString(yy_conf->name, yylval.string);
5532   }
5533      break;
5534  
5535 <  case 334:
5535 >  case 332:
5536  
5537 < /* Line 1464 of yacc.c  */
5538 < #line 2087 "ircd_parser.y"
5537 > /* Line 1806 of yacc.c  */
5538 > #line 1974 "conf_parser.y"
5539      {
5540    if (conf_parser_ctx.pass == 2)
5541      yy_conf->flags = 0;
5542   }
5543      break;
5544  
5545 <  case 338:
5545 >  case 336:
5546  
5547 < /* Line 1464 of yacc.c  */
5548 < #line 2094 "ircd_parser.y"
5547 > /* Line 1806 of yacc.c  */
5548 > #line 1981 "conf_parser.y"
5549      {
5550    if (conf_parser_ctx.pass == 2)
5551      yy_conf->flags |= SHARED_KLINE;
5552   }
5553      break;
5554  
5555 <  case 339:
5555 >  case 337:
5556  
5557 < /* Line 1464 of yacc.c  */
5558 < #line 2098 "ircd_parser.y"
5557 > /* Line 1806 of yacc.c  */
5558 > #line 1985 "conf_parser.y"
5559      {
5560    if (conf_parser_ctx.pass == 2)
5561 <    yy_conf->flags |= SHARED_TKLINE;
5561 >    yy_conf->flags |= SHARED_UNKLINE;
5562   }
5563      break;
5564  
5565 <  case 340:
5565 >  case 338:
5566  
5567 < /* Line 1464 of yacc.c  */
5568 < #line 2102 "ircd_parser.y"
5567 > /* Line 1806 of yacc.c  */
5568 > #line 1989 "conf_parser.y"
5569      {
5570    if (conf_parser_ctx.pass == 2)
5571 <    yy_conf->flags |= SHARED_UNKLINE;
5571 >    yy_conf->flags |= SHARED_DLINE;
5572   }
5573      break;
5574  
5575 <  case 341:
5575 >  case 339:
5576  
5577 < /* Line 1464 of yacc.c  */
5578 < #line 2106 "ircd_parser.y"
5577 > /* Line 1806 of yacc.c  */
5578 > #line 1993 "conf_parser.y"
5579      {
5580    if (conf_parser_ctx.pass == 2)
5581 <    yy_conf->flags |= SHARED_XLINE;
5581 >    yy_conf->flags |= SHARED_UNDLINE;
5582   }
5583      break;
5584  
5585 <  case 342:
5585 >  case 340:
5586  
5587 < /* Line 1464 of yacc.c  */
5588 < #line 2110 "ircd_parser.y"
5587 > /* Line 1806 of yacc.c  */
5588 > #line 1997 "conf_parser.y"
5589      {
5590    if (conf_parser_ctx.pass == 2)
5591 <    yy_conf->flags |= SHARED_TXLINE;
5591 >    yy_conf->flags |= SHARED_XLINE;
5592   }
5593      break;
5594  
5595 <  case 343:
5595 >  case 341:
5596  
5597 < /* Line 1464 of yacc.c  */
5598 < #line 2114 "ircd_parser.y"
5597 > /* Line 1806 of yacc.c  */
5598 > #line 2001 "conf_parser.y"
5599      {
5600    if (conf_parser_ctx.pass == 2)
5601      yy_conf->flags |= SHARED_UNXLINE;
5602   }
5603      break;
5604  
5605 <  case 344:
5605 >  case 342:
5606  
5607 < /* Line 1464 of yacc.c  */
5608 < #line 2118 "ircd_parser.y"
5607 > /* Line 1806 of yacc.c  */
5608 > #line 2005 "conf_parser.y"
5609      {
5610    if (conf_parser_ctx.pass == 2)
5611      yy_conf->flags |= SHARED_RESV;
5612   }
5613      break;
5614  
5615 <  case 345:
5798 <
5799 < /* Line 1464 of yacc.c  */
5800 < #line 2122 "ircd_parser.y"
5801 <    {
5802 <  if (conf_parser_ctx.pass == 2)
5803 <    yy_conf->flags |= SHARED_TRESV;
5804 < }
5805 <    break;
5806 <
5807 <  case 346:
5615 >  case 343:
5616  
5617 < /* Line 1464 of yacc.c  */
5618 < #line 2126 "ircd_parser.y"
5617 > /* Line 1806 of yacc.c  */
5618 > #line 2009 "conf_parser.y"
5619      {
5620    if (conf_parser_ctx.pass == 2)
5621      yy_conf->flags |= SHARED_UNRESV;
5622   }
5623      break;
5624  
5625 <  case 347:
5625 >  case 344:
5626  
5627 < /* Line 1464 of yacc.c  */
5628 < #line 2130 "ircd_parser.y"
5627 > /* Line 1806 of yacc.c  */
5628 > #line 2013 "conf_parser.y"
5629      {
5630    if (conf_parser_ctx.pass == 2)
5631      yy_conf->flags |= SHARED_LOCOPS;
5632   }
5633      break;
5634  
5635 <  case 348:
5635 >  case 345:
5636  
5637 < /* Line 1464 of yacc.c  */
5638 < #line 2134 "ircd_parser.y"
5637 > /* Line 1806 of yacc.c  */
5638 > #line 2017 "conf_parser.y"
5639      {
5640    if (conf_parser_ctx.pass == 2)
5641      yy_conf->flags = SHARED_ALL;
5642   }
5643      break;
5644  
5645 <  case 349:
5645 >  case 346:
5646  
5647 < /* Line 1464 of yacc.c  */
5648 < #line 2143 "ircd_parser.y"
5647 > /* Line 1806 of yacc.c  */
5648 > #line 2026 "conf_parser.y"
5649      {
5650    if (conf_parser_ctx.pass == 2)
5651    {
5652      yy_conf = make_conf_item(SERVER_TYPE);
5653 <    yy_aconf = (struct AccessItem *)map_to_conf(yy_conf);
5654 <    yy_aconf->passwd = NULL;
5653 >    yy_aconf = map_to_conf(yy_conf);
5654 >
5655      /* defaults */
5656      yy_aconf->port = PORTNUM;
5849
5850    if (ConfigFileEntry.burst_away)
5851      yy_aconf->flags = CONF_FLAGS_BURST_AWAY;
5657    }
5658    else
5659    {
# Line 5858 | Line 5663 | yyreduce:
5663   }
5664      break;
5665  
5666 <  case 350:
5666 >  case 347:
5667  
5668 < /* Line 1464 of yacc.c  */
5669 < #line 2161 "ircd_parser.y"
5668 > /* Line 1806 of yacc.c  */
5669 > #line 2041 "conf_parser.y"
5670      {
5671    if (conf_parser_ctx.pass == 2)
5672    {
5673 <    struct CollectItem *yy_hconf=NULL;
5674 <    struct CollectItem *yy_lconf=NULL;
5675 <    dlink_node *ptr;
5676 <    dlink_node *next_ptr;
5677 < #ifdef HAVE_LIBCRYPTO
5678 <    if (yy_aconf->host &&
5679 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5680 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
5876 < #else /* !HAVE_LIBCRYPTO */
5877 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
5878 <          yy_aconf->passwd && yy_aconf->spasswd)
5879 < #endif /* !HAVE_LIBCRYPTO */
5880 <        {
5881 <          if (conf_add_server(yy_conf, class_name) == -1)
5882 <          {
5883 <            delete_conf_item(yy_conf);
5884 <            yy_conf = NULL;
5885 <            yy_aconf = NULL;
5886 <          }
5887 <        }
5888 <        else
5889 <        {
5890 <          /* Even if yy_conf ->name is NULL
5891 <           * should still unhook any hub/leaf confs still pending
5892 <           */
5893 <          unhook_hub_leaf_confs();
5894 <
5895 <          if (yy_conf->name != NULL)
5896 <          {
5897 < #ifndef HAVE_LIBCRYPTO
5898 <            if (IsConfCryptLink(yy_aconf))
5899 <              yyerror("Ignoring connect block -- no OpenSSL support");
5900 < #else
5901 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
5902 <              yyerror("Ignoring connect block -- missing key");
5903 < #endif
5904 <            if (yy_aconf->host == NULL)
5905 <              yyerror("Ignoring connect block -- missing host");
5906 <            else if (!IsConfCryptLink(yy_aconf) &&
5907 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
5908 <              yyerror("Ignoring connect block -- missing password");
5909 <          }
5910 <
5911 <
5912 <          /* XXX
5913 <           * This fixes a try_connections() core (caused by invalid class_ptr
5914 <           * pointers) reported by metalrock. That's an ugly fix, but there
5915 <           * is currently no better way. The entire config subsystem needs an
5916 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
5917 <           * a doubly linked list immediately without any sanity checks!  -Michael
5918 <           */
5919 <          delete_conf_item(yy_conf);
5920 <
5921 <          yy_aconf = NULL;
5922 <          yy_conf = NULL;
5923 <        }
5924 <
5925 <      /*
5926 <       * yy_conf is still pointing at the server that is having
5927 <       * a connect block built for it. This means, y_aconf->name
5928 <       * points to the actual irc name this server will be known as.
5929 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
5930 <       * given in the link list at yy_hconf. Fill in the HUB confs
5931 <       * from this link list now.
5932 <       */        
5933 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
5673 >    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5674 >    {
5675 >      if (conf_add_server(yy_conf, class_name) == -1)
5676 >        delete_conf_item(yy_conf);
5677 >    }
5678 >    else
5679 >    {
5680 >      if (yy_conf->name != NULL)
5681        {
5682 <        struct ConfItem *new_hub_conf;
5683 <        struct MatchItem *match_item;
5684 <
5685 <        yy_hconf = ptr->data;
5939 <
5940 <        /* yy_conf == NULL is a fatal error for this connect block! */
5941 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5942 <        {
5943 <          new_hub_conf = make_conf_item(HUB_TYPE);
5944 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
5945 <          DupString(new_hub_conf->name, yy_conf->name);
5946 <          if (yy_hconf->user != NULL)
5947 <            DupString(match_item->user, yy_hconf->user);
5948 <          else
5949 <            DupString(match_item->user, "*");
5950 <          if (yy_hconf->host != NULL)
5951 <            DupString(match_item->host, yy_hconf->host);
5952 <          else
5953 <            DupString(match_item->host, "*");
5954 <        }
5955 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
5956 <        free_collect_item(yy_hconf);
5682 >        if (yy_aconf->host == NULL)
5683 >          yyerror("Ignoring connect block -- missing host");
5684 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5685 >          yyerror("Ignoring connect block -- missing password");
5686        }
5687  
5688 <      /* Ditto for the LEAF confs */
5689 <
5690 <      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
5691 <      {
5692 <        struct ConfItem *new_leaf_conf;
5693 <        struct MatchItem *match_item;
5694 <
5695 <        yy_lconf = ptr->data;
5696 <
5968 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5969 <        {
5970 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
5971 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
5972 <          DupString(new_leaf_conf->name, yy_conf->name);
5973 <          if (yy_lconf->user != NULL)
5974 <            DupString(match_item->user, yy_lconf->user);
5975 <          else
5976 <            DupString(match_item->user, "*");
5977 <          if (yy_lconf->host != NULL)
5978 <            DupString(match_item->host, yy_lconf->host);
5979 <          else
5980 <            DupString(match_item->host, "*");
5981 <        }
5982 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
5983 <        free_collect_item(yy_lconf);
5984 <      }
5985 <      MyFree(class_name);
5986 <      class_name = NULL;
5987 <      yy_conf = NULL;
5988 <      yy_aconf = NULL;
5989 <  }
5990 < }
5991 <    break;
5992 <
5993 <  case 370:
5994 <
5995 < /* Line 1464 of yacc.c  */
5996 < #line 2299 "ircd_parser.y"
5997 <    {
5998 <  if (conf_parser_ctx.pass == 2)
5999 <  {
6000 <    if (yy_conf->name != NULL)
6001 <      yyerror("Multiple connect name entry");
5688 >      /* XXX
5689 >       * This fixes a try_connections() core (caused by invalid class_ptr
5690 >       * pointers) reported by metalrock. That's an ugly fix, but there
5691 >       * is currently no better way. The entire config subsystem needs an
5692 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5693 >       * a doubly linked list immediately without any sanity checks!  -Michael
5694 >       */
5695 >      delete_conf_item(yy_conf);
5696 >    }
5697  
5698 <    MyFree(yy_conf->name);
5699 <    DupString(yy_conf->name, yylval.string);
5698 >    MyFree(class_name);
5699 >    class_name = NULL;
5700 >    yy_conf = NULL;
5701 >    yy_aconf = NULL;
5702    }
5703   }
5704      break;
5705  
5706 <  case 371:
5706 >  case 364:
5707  
5708 < /* Line 1464 of yacc.c  */
5709 < #line 2311 "ircd_parser.y"
5708 > /* Line 1806 of yacc.c  */
5709 > #line 2085 "conf_parser.y"
5710      {
5711    if (conf_parser_ctx.pass == 2)
5712    {
6016    if (yy_conf->name != NULL)
6017      yyerror("Multiple connect name entry");
6018
5713      MyFree(yy_conf->name);
5714      DupString(yy_conf->name, yylval.string);
5715    }
5716   }
5717      break;
5718  
5719 <  case 372:
5719 >  case 365:
5720  
5721 < /* Line 1464 of yacc.c  */
5722 < #line 2323 "ircd_parser.y"
5721 > /* Line 1806 of yacc.c  */
5722 > #line 2094 "conf_parser.y"
5723      {
5724    if (conf_parser_ctx.pass == 2)
5725    {
# Line 6035 | Line 5729 | yyreduce:
5729   }
5730      break;
5731  
5732 <  case 373:
5732 >  case 366:
5733  
5734 < /* Line 1464 of yacc.c  */
5735 < #line 2332 "ircd_parser.y"
5734 > /* Line 1806 of yacc.c  */
5735 > #line 2103 "conf_parser.y"
5736      {
5737    if (conf_parser_ctx.pass == 2)
5738    {
# Line 6050 | Line 5744 | yyreduce:
5744      hints.ai_socktype = SOCK_STREAM;
5745      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
5746  
5747 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
5748 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
5747 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
5748 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
5749      else
5750      {
5751        assert(res != NULL);
# Line 6059 | Line 5753 | yyreduce:
5753        memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5754        yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5755        yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5756 <      irc_freeaddrinfo(res);
5756 >      freeaddrinfo(res);
5757      }
5758    }
5759   }
5760      break;
5761  
5762 <  case 374:
5762 >  case 367:
5763  
5764 < /* Line 1464 of yacc.c  */
5765 < #line 2358 "ircd_parser.y"
5764 > /* Line 1806 of yacc.c  */
5765 > #line 2129 "conf_parser.y"
5766      {
5767    if (conf_parser_ctx.pass == 2)
5768    {
# Line 6087 | Line 5781 | yyreduce:
5781   }
5782      break;
5783  
5784 <  case 375:
5784 >  case 368:
5785  
5786 < /* Line 1464 of yacc.c  */
5787 < #line 2376 "ircd_parser.y"
5786 > /* Line 1806 of yacc.c  */
5787 > #line 2147 "conf_parser.y"
5788      {
5789    if (conf_parser_ctx.pass == 2)
5790    {
# Line 6109 | Line 5803 | yyreduce:
5803   }
5804      break;
5805  
5806 <  case 376:
5806 >  case 369:
5807  
5808 < /* Line 1464 of yacc.c  */
5809 < #line 2394 "ircd_parser.y"
5808 > /* Line 1806 of yacc.c  */
5809 > #line 2165 "conf_parser.y"
5810      {
5811    if (conf_parser_ctx.pass == 2)
5812      yy_aconf->port = (yyvsp[(3) - (4)].number);
5813   }
5814      break;
5815  
5816 <  case 377:
5816 >  case 370:
5817  
5818 < /* Line 1464 of yacc.c  */
5819 < #line 2400 "ircd_parser.y"
5818 > /* Line 1806 of yacc.c  */
5819 > #line 2171 "conf_parser.y"
5820      {
5821    if (conf_parser_ctx.pass == 2)
5822      yy_aconf->aftype = AF_INET;
5823   }
5824      break;
5825  
5826 <  case 378:
5826 >  case 371:
5827  
5828 < /* Line 1464 of yacc.c  */
5829 < #line 2404 "ircd_parser.y"
5828 > /* Line 1806 of yacc.c  */
5829 > #line 2175 "conf_parser.y"
5830      {
5831   #ifdef IPV6
5832    if (conf_parser_ctx.pass == 2)
# Line 6141 | Line 5835 | yyreduce:
5835   }
5836      break;
5837  
5838 <  case 379:
6145 <
6146 < /* Line 1464 of yacc.c  */
6147 < #line 2412 "ircd_parser.y"
6148 <    {
6149 < }
6150 <    break;
6151 <
6152 <  case 383:
6153 <
6154 < /* Line 1464 of yacc.c  */
6155 < #line 2416 "ircd_parser.y"
6156 <    { not_atom = 1; }
6157 <    break;
6158 <
6159 <  case 385:
6160 <
6161 < /* Line 1464 of yacc.c  */
6162 < #line 2417 "ircd_parser.y"
6163 <    { not_atom = 0; }
6164 <    break;
6165 <
6166 <  case 387:
5838 >  case 372:
5839  
5840 < /* Line 1464 of yacc.c  */
5841 < #line 2420 "ircd_parser.y"
5840 > /* Line 1806 of yacc.c  */
5841 > #line 2183 "conf_parser.y"
5842      {
6171  if (conf_parser_ctx.pass == 2)
6172 #ifndef HAVE_LIBZ
6173    yyerror("Ignoring flags = compressed; -- no zlib support");
6174 #else
6175 {
6176   if (not_atom)ClearConfCompressed(yy_aconf);
6177   else SetConfCompressed(yy_aconf);
6178 }
6179 #endif
5843   }
5844      break;
5845  
5846 <  case 388:
5846 >  case 376:
5847  
5848 < /* Line 1464 of yacc.c  */
5849 < #line 2431 "ircd_parser.y"
5848 > /* Line 1806 of yacc.c  */
5849 > #line 2188 "conf_parser.y"
5850      {
5851    if (conf_parser_ctx.pass == 2)
5852 <  {
6190 <    if (not_atom)ClearConfCryptLink(yy_aconf);
6191 <    else SetConfCryptLink(yy_aconf);
6192 <  }
5852 >    SetConfAllowAutoConn(yy_aconf);
5853   }
5854      break;
5855  
5856 <  case 389:
5856 >  case 377:
5857  
5858 < /* Line 1464 of yacc.c  */
5859 < #line 2438 "ircd_parser.y"
5858 > /* Line 1806 of yacc.c  */
5859 > #line 2192 "conf_parser.y"
5860      {
5861    if (conf_parser_ctx.pass == 2)
5862 <  {
6203 <    if (not_atom)ClearConfAllowAutoConn(yy_aconf);
6204 <    else SetConfAllowAutoConn(yy_aconf);
6205 <  }
5862 >    SetConfAwayBurst(yy_aconf);
5863   }
5864      break;
5865  
5866 <  case 390:
6210 <
6211 < /* Line 1464 of yacc.c  */
6212 < #line 2445 "ircd_parser.y"
6213 <    {
6214 <  if (conf_parser_ctx.pass == 2)
6215 <  {
6216 <    if (not_atom)ClearConfAwayBurst(yy_aconf);
6217 <    else SetConfAwayBurst(yy_aconf);
6218 <  }
6219 < }
6220 <    break;
6221 <
6222 <  case 391:
5866 >  case 378:
5867  
5868 < /* Line 1464 of yacc.c  */
5869 < #line 2452 "ircd_parser.y"
5868 > /* Line 1806 of yacc.c  */
5869 > #line 2196 "conf_parser.y"
5870      {
5871    if (conf_parser_ctx.pass == 2)
5872 <  {
6229 <    if (not_atom)ClearConfTopicBurst(yy_aconf);
6230 <    else SetConfTopicBurst(yy_aconf);
6231 <  }
5872 >    SetConfTopicBurst(yy_aconf);
5873   }
5874      break;
5875  
5876 <  case 392:
5876 >  case 379:
5877  
5878 < /* Line 1464 of yacc.c  */
5879 < #line 2462 "ircd_parser.y"
5878 > /* Line 1806 of yacc.c  */
5879 > #line 2200 "conf_parser.y"
5880      {
6240 #ifdef HAVE_LIBCRYPTO
5881    if (conf_parser_ctx.pass == 2)
5882 <  {
6243 <    BIO *file;
6244 <
6245 <    if (yy_aconf->rsa_public_key != NULL)
6246 <    {
6247 <      RSA_free(yy_aconf->rsa_public_key);
6248 <      yy_aconf->rsa_public_key = NULL;
6249 <    }
6250 <
6251 <    if (yy_aconf->rsa_public_key_file != NULL)
6252 <    {
6253 <      MyFree(yy_aconf->rsa_public_key_file);
6254 <      yy_aconf->rsa_public_key_file = NULL;
6255 <    }
6256 <
6257 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6258 <
6259 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6260 <    {
6261 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6262 <      break;
6263 <    }
6264 <
6265 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6266 <
6267 <    if (yy_aconf->rsa_public_key == NULL)
6268 <    {
6269 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6270 <      break;
6271 <    }
6272 <      
6273 <    BIO_set_close(file, BIO_CLOSE);
6274 <    BIO_free(file);
6275 <  }
6276 < #endif /* HAVE_LIBCRYPTO */
5882 >    SetConfSSL(yy_aconf);
5883   }
5884      break;
5885  
5886 <  case 393:
5886 >  case 380:
5887  
5888 < /* Line 1464 of yacc.c  */
5889 < #line 2503 "ircd_parser.y"
5888 > /* Line 1806 of yacc.c  */
5889 > #line 2206 "conf_parser.y"
5890      {
5891    if (conf_parser_ctx.pass == 2)
5892    {
# Line 6292 | Line 5898 | yyreduce:
5898   }
5899      break;
5900  
5901 <  case 394:
5901 >  case 381:
5902  
5903 < /* Line 1464 of yacc.c  */
5904 < #line 2514 "ircd_parser.y"
5903 > /* Line 1806 of yacc.c  */
5904 > #line 2217 "conf_parser.y"
5905      {
5906    if (conf_parser_ctx.pass == 2)
5907    {
5908 <    struct CollectItem *yy_tmp;
5908 >    char *mask;
5909  
5910 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5911 <    DupString(yy_tmp->host, yylval.string);
6306 <    DupString(yy_tmp->user, "*");
6307 <    dlinkAdd(yy_tmp, &yy_tmp->node, &hub_conf_list);
5910 >    DupString(mask, yylval.string);
5911 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5912    }
5913   }
5914      break;
5915  
5916 <  case 395:
5916 >  case 382:
5917  
5918 < /* Line 1464 of yacc.c  */
5919 < #line 2527 "ircd_parser.y"
5918 > /* Line 1806 of yacc.c  */
5919 > #line 2228 "conf_parser.y"
5920      {
5921    if (conf_parser_ctx.pass == 2)
5922    {
5923 <    struct CollectItem *yy_tmp;
5923 >    char *mask;
5924  
5925 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5926 <    DupString(yy_tmp->host, yylval.string);
6323 <    DupString(yy_tmp->user, "*");
6324 <    dlinkAdd(yy_tmp, &yy_tmp->node, &leaf_conf_list);
5925 >    DupString(mask, yylval.string);
5926 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5927    }
5928   }
5929      break;
5930  
5931 <  case 396:
5931 >  case 383:
5932  
5933 < /* Line 1464 of yacc.c  */
5934 < #line 2540 "ircd_parser.y"
5933 > /* Line 1806 of yacc.c  */
5934 > #line 2239 "conf_parser.y"
5935      {
5936    if (conf_parser_ctx.pass == 2)
5937    {
# Line 6339 | Line 5941 | yyreduce:
5941   }
5942      break;
5943  
5944 <  case 397:
5944 >  case 384:
5945  
5946 < /* Line 1464 of yacc.c  */
5947 < #line 2549 "ircd_parser.y"
5946 > /* Line 1806 of yacc.c  */
5947 > #line 2248 "conf_parser.y"
5948      {
5949   #ifdef HAVE_LIBCRYPTO
5950    if (conf_parser_ctx.pass == 2)
5951    {
5952 <    struct EncCapability *ecap;
5953 <    const char *cipher_name;
6352 <    int found = 0;
6353 <
6354 <    yy_aconf->cipher_preference = NULL;
6355 <    cipher_name = yylval.string;
6356 <
6357 <    for (ecap = CipherTable; ecap->name; ecap++)
6358 <    {
6359 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6360 <          (ecap->cap & CAP_ENC_MASK))
6361 <      {
6362 <        yy_aconf->cipher_preference = ecap;
6363 <        found = 1;
6364 <        break;
6365 <      }
6366 <    }
6367 <
6368 <    if (!found)
6369 <      yyerror("Invalid cipher");
5952 >    MyFree(yy_aconf->cipher_list);
5953 >    DupString(yy_aconf->cipher_list, yylval.string);
5954    }
5955   #else
5956    if (conf_parser_ctx.pass == 2)
5957 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
5957 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5958   #endif
5959   }
5960      break;
5961  
5962 <  case 398:
5962 >  case 385:
5963  
5964 < /* Line 1464 of yacc.c  */
5965 < #line 2584 "ircd_parser.y"
5964 > /* Line 1806 of yacc.c  */
5965 > #line 2266 "conf_parser.y"
5966      {
5967    if (conf_parser_ctx.pass == 2)
5968    {
# Line 6388 | Line 5972 | yyreduce:
5972   }
5973      break;
5974  
5975 <  case 399:
5975 >  case 386:
5976  
5977 < /* Line 1464 of yacc.c  */
5978 < #line 2591 "ircd_parser.y"
5977 > /* Line 1806 of yacc.c  */
5978 > #line 2273 "conf_parser.y"
5979      {
5980    if (conf_parser_ctx.pass == 2)
5981    {
# Line 6407 | Line 5991 | yyreduce:
5991          if (!(exp_user = ircd_pcre_compile(userbuf, &errptr)) ||
5992              !(exp_host = ircd_pcre_compile(hostbuf, &errptr)))
5993          {
5994 <          ilog(L_ERROR, "Failed to add regular expression based K-Line: %s",
5994 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5995                 errptr);
5996            break;
5997          }
# Line 6424 | Line 6008 | yyreduce:
6008          else
6009            DupString(yy_aconf->reason, "No reason");
6010   #else
6011 <        ilog(L_ERROR, "Failed to add regular expression based K-Line: no PCRE support");
6011 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
6012          break;
6013   #endif
6014        }
6015        else
6016        {
6017 +        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
6018 +
6019          yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
6020  
6021          DupString(yy_aconf->user, userbuf);
# Line 6439 | Line 6025 | yyreduce:
6025            DupString(yy_aconf->reason, reasonbuf);
6026          else
6027            DupString(yy_aconf->reason, "No reason");
6028 <        add_conf_by_address(CONF_KILL, yy_aconf);
6028 >        add_conf_by_address(CONF_KLINE, yy_aconf);
6029        }
6030      }
6031  
# Line 6448 | Line 6034 | yyreduce:
6034   }
6035      break;
6036  
6037 <  case 400:
6037 >  case 387:
6038  
6039 < /* Line 1464 of yacc.c  */
6040 < #line 2647 "ircd_parser.y"
6039 > /* Line 1806 of yacc.c  */
6040 > #line 2331 "conf_parser.y"
6041      {
6042   }
6043      break;
6044  
6045 <  case 404:
6045 >  case 391:
6046  
6047 < /* Line 1464 of yacc.c  */
6048 < #line 2652 "ircd_parser.y"
6047 > /* Line 1806 of yacc.c  */
6048 > #line 2336 "conf_parser.y"
6049      {
6050    if (conf_parser_ctx.pass == 2)
6051      regex_ban = 1;
6052   }
6053      break;
6054  
6055 <  case 411:
6055 >  case 398:
6056  
6057 < /* Line 1464 of yacc.c  */
6058 < #line 2661 "ircd_parser.y"
6057 > /* Line 1806 of yacc.c  */
6058 > #line 2345 "conf_parser.y"
6059      {
6060    if (conf_parser_ctx.pass == 2)
6061    {
# Line 6489 | Line 6075 | yyreduce:
6075   }
6076      break;
6077  
6078 <  case 412:
6078 >  case 399:
6079  
6080 < /* Line 1464 of yacc.c  */
6081 < #line 2680 "ircd_parser.y"
6080 > /* Line 1806 of yacc.c  */
6081 > #line 2364 "conf_parser.y"
6082      {
6083    if (conf_parser_ctx.pass == 2)
6084      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6085   }
6086      break;
6087  
6088 <  case 413:
6088 >  case 400:
6089  
6090 < /* Line 1464 of yacc.c  */
6091 < #line 2689 "ircd_parser.y"
6090 > /* Line 1806 of yacc.c  */
6091 > #line 2373 "conf_parser.y"
6092      {
6093    if (conf_parser_ctx.pass == 2)
6094      hostbuf[0] = reasonbuf[0] = '\0';
6095   }
6096      break;
6097  
6098 <  case 414:
6098 >  case 401:
6099  
6100 < /* Line 1464 of yacc.c  */
6101 < #line 2693 "ircd_parser.y"
6100 > /* Line 1806 of yacc.c  */
6101 > #line 2377 "conf_parser.y"
6102      {
6103    if (conf_parser_ctx.pass == 2)
6104    {
6105      if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
6106      {
6107 +      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
6108 +
6109        yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
6110        DupString(yy_aconf->host, hostbuf);
6111  
# Line 6532 | Line 6120 | yyreduce:
6120   }
6121      break;
6122  
6123 <  case 420:
6123 >  case 407:
6124  
6125 < /* Line 1464 of yacc.c  */
6126 < #line 2715 "ircd_parser.y"
6125 > /* Line 1806 of yacc.c  */
6126 > #line 2401 "conf_parser.y"
6127      {
6128    if (conf_parser_ctx.pass == 2)
6129      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
6130   }
6131      break;
6132  
6133 <  case 421:
6133 >  case 408:
6134  
6135 < /* Line 1464 of yacc.c  */
6136 < #line 2721 "ircd_parser.y"
6135 > /* Line 1806 of yacc.c  */
6136 > #line 2407 "conf_parser.y"
6137      {
6138    if (conf_parser_ctx.pass == 2)
6139      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6140   }
6141      break;
6142  
6143 <  case 427:
6143 >  case 414:
6144  
6145 < /* Line 1464 of yacc.c  */
6146 < #line 2735 "ircd_parser.y"
6145 > /* Line 1806 of yacc.c  */
6146 > #line 2421 "conf_parser.y"
6147      {
6148    if (conf_parser_ctx.pass == 2)
6149    {
# Line 6571 | Line 6159 | yyreduce:
6159   }
6160      break;
6161  
6162 <  case 428:
6162 >  case 415:
6163  
6164 < /* Line 1464 of yacc.c  */
6165 < #line 2753 "ircd_parser.y"
6164 > /* Line 1806 of yacc.c  */
6165 > #line 2439 "conf_parser.y"
6166      {
6167    if (conf_parser_ctx.pass == 2)
6168    {
# Line 6584 | Line 6172 | yyreduce:
6172   }
6173      break;
6174  
6175 <  case 429:
6175 >  case 416:
6176  
6177 < /* Line 1464 of yacc.c  */
6178 < #line 2760 "ircd_parser.y"
6177 > /* Line 1806 of yacc.c  */
6178 > #line 2446 "conf_parser.y"
6179      {
6180    if (conf_parser_ctx.pass == 2)
6181    {
# Line 6601 | Line 6189 | yyreduce:
6189  
6190          if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
6191          {
6192 <          ilog(L_ERROR, "Failed to add regular expression based X-Line: %s",
6192 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
6193                 errptr);
6194            break;
6195          }
# Line 6609 | Line 6197 | yyreduce:
6197          yy_conf = make_conf_item(RXLINE_TYPE);
6198          yy_conf->regexpname = exp_p;
6199   #else
6200 <        ilog(L_ERROR, "Failed to add regular expression based X-Line: no PCRE support");
6200 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
6201          break;
6202   #endif
6203        }
# Line 6628 | Line 6216 | yyreduce:
6216   }
6217      break;
6218  
6219 <  case 430:
6219 >  case 417:
6220  
6221 < /* Line 1464 of yacc.c  */
6222 < #line 2800 "ircd_parser.y"
6221 > /* Line 1806 of yacc.c  */
6222 > #line 2486 "conf_parser.y"
6223      {
6224   }
6225      break;
6226  
6227 <  case 434:
6227 >  case 421:
6228  
6229 < /* Line 1464 of yacc.c  */
6230 < #line 2805 "ircd_parser.y"
6229 > /* Line 1806 of yacc.c  */
6230 > #line 2491 "conf_parser.y"
6231      {
6232    if (conf_parser_ctx.pass == 2)
6233      regex_ban = 1;
6234   }
6235      break;
6236  
6237 <  case 441:
6237 >  case 428:
6238  
6239 < /* Line 1464 of yacc.c  */
6240 < #line 2814 "ircd_parser.y"
6239 > /* Line 1806 of yacc.c  */
6240 > #line 2500 "conf_parser.y"
6241      {
6242    if (conf_parser_ctx.pass == 2)
6243      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
6244   }
6245      break;
6246  
6247 <  case 442:
6247 >  case 429:
6248  
6249 < /* Line 1464 of yacc.c  */
6250 < #line 2820 "ircd_parser.y"
6249 > /* Line 1806 of yacc.c  */
6250 > #line 2506 "conf_parser.y"
6251      {
6252    if (conf_parser_ctx.pass == 2)
6253      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6254   }
6255      break;
6256  
6257 <  case 502:
6257 >  case 485:
6258  
6259 < /* Line 1464 of yacc.c  */
6260 < #line 2865 "ircd_parser.y"
6259 > /* Line 1806 of yacc.c  */
6260 > #line 2550 "conf_parser.y"
6261      {
6262    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
6263   }
6264      break;
6265  
6266 <  case 503:
6266 >  case 486:
6267  
6268 < /* Line 1464 of yacc.c  */
6269 < #line 2870 "ircd_parser.y"
6268 > /* Line 1806 of yacc.c  */
6269 > #line 2555 "conf_parser.y"
6270      {
6271    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
6272   }
6273      break;
6274  
6275 <  case 504:
6275 >  case 487:
6276  
6277 < /* Line 1464 of yacc.c  */
6278 < #line 2875 "ircd_parser.y"
6277 > /* Line 1806 of yacc.c  */
6278 > #line 2560 "conf_parser.y"
6279      {
6280    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
6281   }
6282      break;
6283  
6284 <  case 505:
6697 <
6698 < /* Line 1464 of yacc.c  */
6699 < #line 2880 "ircd_parser.y"
6700 <    {
6701 <  ConfigFileEntry.burst_away = yylval.number;
6702 < }
6703 <    break;
6704 <
6705 <  case 506:
6284 >  case 488:
6285  
6286 < /* Line 1464 of yacc.c  */
6287 < #line 2885 "ircd_parser.y"
6286 > /* Line 1806 of yacc.c  */
6287 > #line 2565 "conf_parser.y"
6288      {
6289    ConfigFileEntry.use_whois_actually = yylval.number;
6290   }
6291      break;
6292  
6293 <  case 507:
6293 >  case 489:
6294  
6295 < /* Line 1464 of yacc.c  */
6296 < #line 2890 "ircd_parser.y"
6295 > /* Line 1806 of yacc.c  */
6296 > #line 2570 "conf_parser.y"
6297      {
6298    GlobalSetOptions.rejecttime = yylval.number;
6299   }
6300      break;
6301  
6302 <  case 508:
6302 >  case 490:
6303  
6304 < /* Line 1464 of yacc.c  */
6305 < #line 2895 "ircd_parser.y"
6304 > /* Line 1806 of yacc.c  */
6305 > #line 2575 "conf_parser.y"
6306      {
6307    ConfigFileEntry.tkline_expire_notices = yylval.number;
6308   }
6309      break;
6310  
6311 <  case 509:
6311 >  case 491:
6312  
6313 < /* Line 1464 of yacc.c  */
6314 < #line 2900 "ircd_parser.y"
6313 > /* Line 1806 of yacc.c  */
6314 > #line 2580 "conf_parser.y"
6315      {
6316    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6317   }
6318      break;
6319  
6320 <  case 510:
6320 >  case 492:
6321  
6322 < /* Line 1464 of yacc.c  */
6323 < #line 2905 "ircd_parser.y"
6322 > /* Line 1806 of yacc.c  */
6323 > #line 2585 "conf_parser.y"
6324      {
6325    ConfigFileEntry.hide_spoof_ips = yylval.number;
6326   }
6327      break;
6328  
6329 <  case 511:
6329 >  case 493:
6330  
6331 < /* Line 1464 of yacc.c  */
6332 < #line 2910 "ircd_parser.y"
6331 > /* Line 1806 of yacc.c  */
6332 > #line 2590 "conf_parser.y"
6333      {
6334    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6335   }
6336      break;
6337  
6338 <  case 512:
6338 >  case 494:
6339  
6340 < /* Line 1464 of yacc.c  */
6341 < #line 2915 "ircd_parser.y"
6340 > /* Line 1806 of yacc.c  */
6341 > #line 2595 "conf_parser.y"
6342      {
6343    ConfigFileEntry.disable_remote = yylval.number;
6344   }
6345      break;
6346  
6347 <  case 513:
6347 >  case 495:
6348  
6349 < /* Line 1464 of yacc.c  */
6350 < #line 2920 "ircd_parser.y"
6349 > /* Line 1806 of yacc.c  */
6350 > #line 2600 "conf_parser.y"
6351      {
6352    ConfigFileEntry.failed_oper_notice = yylval.number;
6353   }
6354      break;
6355  
6356 <  case 514:
6356 >  case 496:
6357  
6358 < /* Line 1464 of yacc.c  */
6359 < #line 2925 "ircd_parser.y"
6358 > /* Line 1806 of yacc.c  */
6359 > #line 2605 "conf_parser.y"
6360      {
6361    ConfigFileEntry.anti_nick_flood = yylval.number;
6362   }
6363      break;
6364  
6365 <  case 515:
6365 >  case 497:
6366  
6367 < /* Line 1464 of yacc.c  */
6368 < #line 2930 "ircd_parser.y"
6367 > /* Line 1806 of yacc.c  */
6368 > #line 2610 "conf_parser.y"
6369      {
6370    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6371   }
6372      break;
6373  
6374 <  case 516:
6374 >  case 498:
6375  
6376 < /* Line 1464 of yacc.c  */
6377 < #line 2935 "ircd_parser.y"
6376 > /* Line 1806 of yacc.c  */
6377 > #line 2615 "conf_parser.y"
6378      {
6379    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6380   }
6381      break;
6382  
6383 <  case 517:
6383 >  case 499:
6384  
6385 < /* Line 1464 of yacc.c  */
6386 < #line 2940 "ircd_parser.y"
6385 > /* Line 1806 of yacc.c  */
6386 > #line 2620 "conf_parser.y"
6387      {
6388    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6389   }
6390      break;
6391  
6392 <  case 518:
6392 >  case 500:
6393  
6394 < /* Line 1464 of yacc.c  */
6395 < #line 2945 "ircd_parser.y"
6394 > /* Line 1806 of yacc.c  */
6395 > #line 2625 "conf_parser.y"
6396      {
6397    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6398   }
6399      break;
6400  
6401 <  case 519:
6401 >  case 501:
6402  
6403 < /* Line 1464 of yacc.c  */
6404 < #line 2950 "ircd_parser.y"
6403 > /* Line 1806 of yacc.c  */
6404 > #line 2630 "conf_parser.y"
6405      {
6406    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6407   }
6408      break;
6409  
6410 <  case 520:
6410 >  case 502:
6411  
6412 < /* Line 1464 of yacc.c  */
6413 < #line 2955 "ircd_parser.y"
6412 > /* Line 1806 of yacc.c  */
6413 > #line 2635 "conf_parser.y"
6414      {
6415    if (conf_parser_ctx.pass == 2)
6416      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6417   }
6418      break;
6419  
6420 <  case 521:
6420 >  case 503:
6421  
6422 < /* Line 1464 of yacc.c  */
6423 < #line 2961 "ircd_parser.y"
6422 > /* Line 1806 of yacc.c  */
6423 > #line 2641 "conf_parser.y"
6424      {
6425    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6426    {
6427 <    ilog(L_CRIT, "You haven't read your config file properly.");
6428 <    ilog(L_CRIT, "There is a line in the example conf that will kill your server if not removed.");
6429 <    ilog(L_CRIT, "Consider actually reading/editing the conf file, and removing this line.");
6427 >    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6428 >    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6429 >    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6430      exit(0);
6431    }
6432   }
6433      break;
6434  
6435 <  case 522:
6435 >  case 504:
6436  
6437 < /* Line 1464 of yacc.c  */
6438 < #line 2972 "ircd_parser.y"
6437 > /* Line 1806 of yacc.c  */
6438 > #line 2652 "conf_parser.y"
6439      {
6440    ConfigFileEntry.kline_with_reason = yylval.number;
6441   }
6442      break;
6443  
6444 <  case 523:
6444 >  case 505:
6445  
6446 < /* Line 1464 of yacc.c  */
6447 < #line 2977 "ircd_parser.y"
6446 > /* Line 1806 of yacc.c  */
6447 > #line 2657 "conf_parser.y"
6448      {
6449    if (conf_parser_ctx.pass == 2)
6450    {
# Line 6875 | Line 6454 | yyreduce:
6454   }
6455      break;
6456  
6457 <  case 524:
6457 >  case 506:
6458  
6459 < /* Line 1464 of yacc.c  */
6460 < #line 2986 "ircd_parser.y"
6459 > /* Line 1806 of yacc.c  */
6460 > #line 2666 "conf_parser.y"
6461      {
6462    ConfigFileEntry.invisible_on_connect = yylval.number;
6463   }
6464      break;
6465  
6466 <  case 525:
6466 >  case 507:
6467  
6468 < /* Line 1464 of yacc.c  */
6469 < #line 2991 "ircd_parser.y"
6468 > /* Line 1806 of yacc.c  */
6469 > #line 2671 "conf_parser.y"
6470      {
6471    ConfigFileEntry.warn_no_nline = yylval.number;
6472   }
6473      break;
6474  
6475 <  case 526:
6475 >  case 508:
6476  
6477 < /* Line 1464 of yacc.c  */
6478 < #line 2996 "ircd_parser.y"
6477 > /* Line 1806 of yacc.c  */
6478 > #line 2676 "conf_parser.y"
6479      {
6480    ConfigFileEntry.stats_e_disabled = yylval.number;
6481   }
6482      break;
6483  
6484 <  case 527:
6484 >  case 509:
6485  
6486 < /* Line 1464 of yacc.c  */
6487 < #line 3001 "ircd_parser.y"
6486 > /* Line 1806 of yacc.c  */
6487 > #line 2681 "conf_parser.y"
6488      {
6489    ConfigFileEntry.stats_o_oper_only = yylval.number;
6490   }
6491      break;
6492  
6493 <  case 528:
6493 >  case 510:
6494  
6495 < /* Line 1464 of yacc.c  */
6496 < #line 3006 "ircd_parser.y"
6495 > /* Line 1806 of yacc.c  */
6496 > #line 2686 "conf_parser.y"
6497      {
6498    ConfigFileEntry.stats_P_oper_only = yylval.number;
6499   }
6500      break;
6501  
6502 <  case 529:
6502 >  case 511:
6503  
6504 < /* Line 1464 of yacc.c  */
6505 < #line 3011 "ircd_parser.y"
6504 > /* Line 1806 of yacc.c  */
6505 > #line 2691 "conf_parser.y"
6506      {
6507    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6508   }
6509      break;
6510  
6511 <  case 530:
6511 >  case 512:
6512  
6513 < /* Line 1464 of yacc.c  */
6514 < #line 3014 "ircd_parser.y"
6513 > /* Line 1806 of yacc.c  */
6514 > #line 2694 "conf_parser.y"
6515      {
6516    ConfigFileEntry.stats_k_oper_only = 1;
6517   }
6518      break;
6519  
6520 <  case 531:
6520 >  case 513:
6521  
6522 < /* Line 1464 of yacc.c  */
6523 < #line 3019 "ircd_parser.y"
6522 > /* Line 1806 of yacc.c  */
6523 > #line 2699 "conf_parser.y"
6524      {
6525    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6526   }
6527      break;
6528  
6529 <  case 532:
6529 >  case 514:
6530  
6531 < /* Line 1464 of yacc.c  */
6532 < #line 3022 "ircd_parser.y"
6531 > /* Line 1806 of yacc.c  */
6532 > #line 2702 "conf_parser.y"
6533      {
6534    ConfigFileEntry.stats_i_oper_only = 1;
6535   }
6536      break;
6537  
6538 <  case 533:
6538 >  case 515:
6539  
6540 < /* Line 1464 of yacc.c  */
6541 < #line 3027 "ircd_parser.y"
6540 > /* Line 1806 of yacc.c  */
6541 > #line 2707 "conf_parser.y"
6542      {
6543    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6544   }
6545      break;
6546  
6547 <  case 534:
6547 >  case 516:
6548  
6549 < /* Line 1464 of yacc.c  */
6550 < #line 3032 "ircd_parser.y"
6549 > /* Line 1806 of yacc.c  */
6550 > #line 2712 "conf_parser.y"
6551      {
6552    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6553   }
6554      break;
6555  
6556 <  case 535:
6556 >  case 517:
6557  
6558 < /* Line 1464 of yacc.c  */
6559 < #line 3037 "ircd_parser.y"
6558 > /* Line 1806 of yacc.c  */
6559 > #line 2717 "conf_parser.y"
6560      {
6561    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6562   }
6563      break;
6564  
6565 <  case 536:
6565 >  case 518:
6566  
6567 < /* Line 1464 of yacc.c  */
6568 < #line 3042 "ircd_parser.y"
6567 > /* Line 1806 of yacc.c  */
6568 > #line 2722 "conf_parser.y"
6569      {
6570    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6571   }
6572      break;
6573  
6574 <  case 537:
6574 >  case 519:
6575  
6576 < /* Line 1464 of yacc.c  */
6577 < #line 3047 "ircd_parser.y"
6576 > /* Line 1806 of yacc.c  */
6577 > #line 2727 "conf_parser.y"
6578      {
6579    ConfigFileEntry.short_motd = yylval.number;
6580   }
6581      break;
6582  
6583 <  case 538:
6583 >  case 520:
6584  
6585 < /* Line 1464 of yacc.c  */
6586 < #line 3052 "ircd_parser.y"
6585 > /* Line 1806 of yacc.c  */
6586 > #line 2732 "conf_parser.y"
6587      {
6588    ConfigFileEntry.no_oper_flood = yylval.number;
6589   }
6590      break;
6591  
6592 <  case 539:
6592 >  case 521:
6593  
6594 < /* Line 1464 of yacc.c  */
6595 < #line 3057 "ircd_parser.y"
6594 > /* Line 1806 of yacc.c  */
6595 > #line 2737 "conf_parser.y"
6596      {
6597    ConfigFileEntry.true_no_oper_flood = yylval.number;
6598   }
6599      break;
6600  
6601 <  case 540:
6601 >  case 522:
6602  
6603 < /* Line 1464 of yacc.c  */
6604 < #line 3062 "ircd_parser.y"
6603 > /* Line 1806 of yacc.c  */
6604 > #line 2742 "conf_parser.y"
6605      {
6606    ConfigFileEntry.oper_pass_resv = yylval.number;
6607   }
6608      break;
6609  
6610 <  case 541:
6610 >  case 523:
6611  
6612 < /* Line 1464 of yacc.c  */
6613 < #line 3067 "ircd_parser.y"
6612 > /* Line 1806 of yacc.c  */
6613 > #line 2747 "conf_parser.y"
6614      {
6615    if (conf_parser_ctx.pass == 2)
6616    {
# Line 7043 | Line 6622 | yyreduce:
6622   }
6623      break;
6624  
6625 <  case 542:
7047 <
7048 < /* Line 1464 of yacc.c  */
7049 < #line 3078 "ircd_parser.y"
7050 <    {
7051 <  ConfigFileEntry.idletime = (yyvsp[(3) - (4)].number);
7052 < }
7053 <    break;
7054 <
7055 <  case 543:
6625 >  case 524:
6626  
6627 < /* Line 1464 of yacc.c  */
6628 < #line 3083 "ircd_parser.y"
6627 > /* Line 1806 of yacc.c  */
6628 > #line 2758 "conf_parser.y"
6629      {
6630    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6631   }
6632      break;
6633  
6634 <  case 544:
6634 >  case 525:
6635  
6636 < /* Line 1464 of yacc.c  */
6637 < #line 3088 "ircd_parser.y"
6636 > /* Line 1806 of yacc.c  */
6637 > #line 2763 "conf_parser.y"
6638      {
6639    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6640   }
6641      break;
6642  
6643 <  case 545:
7074 <
7075 < /* Line 1464 of yacc.c  */
7076 < #line 3093 "ircd_parser.y"
7077 <    {
7078 <  if (conf_parser_ctx.pass == 2)
7079 <  {
7080 <    MyFree(ConfigFileEntry.servlink_path);
7081 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
7082 <  }
7083 < }
7084 <    break;
7085 <
7086 <  case 546:
7087 <
7088 < /* Line 1464 of yacc.c  */
7089 < #line 3102 "ircd_parser.y"
7090 <    {
7091 < #ifdef HAVE_LIBCRYPTO
7092 <  if (conf_parser_ctx.pass == 2)
7093 <  {
7094 <    struct EncCapability *ecap;
7095 <    const char *cipher_name;
7096 <    int found = 0;
7097 <
7098 <    ConfigFileEntry.default_cipher_preference = NULL;
7099 <    cipher_name = yylval.string;
6643 >  case 526:
6644  
6645 <    for (ecap = CipherTable; ecap->name; ecap++)
6645 > /* Line 1806 of yacc.c  */
6646 > #line 2768 "conf_parser.y"
6647      {
6648 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
7104 <          (ecap->cap & CAP_ENC_MASK))
7105 <      {
7106 <        ConfigFileEntry.default_cipher_preference = ecap;
7107 <        found = 1;
7108 <        break;
7109 <      }
7110 <    }
7111 <
7112 <    if (!found)
7113 <      yyerror("Invalid cipher");
7114 <  }
7115 < #else
7116 <  if (conf_parser_ctx.pass == 2)
7117 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
7118 < #endif
6648 >  ConfigFileEntry.use_egd = yylval.number;
6649   }
6650      break;
6651  
6652 <  case 547:
6652 >  case 527:
6653  
6654 < /* Line 1464 of yacc.c  */
6655 < #line 3134 "ircd_parser.y"
6654 > /* Line 1806 of yacc.c  */
6655 > #line 2773 "conf_parser.y"
6656      {
6657    if (conf_parser_ctx.pass == 2)
6658    {
6659 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
6660 < #ifndef HAVE_LIBZ
7131 <    yyerror("Ignoring compression_level -- no zlib support");
7132 < #else
7133 <    if ((ConfigFileEntry.compression_level < 1) ||
7134 <        (ConfigFileEntry.compression_level > 9))
7135 <    {
7136 <      yyerror("Ignoring invalid compression_level, using default");
7137 <      ConfigFileEntry.compression_level = 0;
7138 <    }
7139 < #endif
6659 >    MyFree(ConfigFileEntry.egdpool_path);
6660 >    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6661    }
6662   }
6663      break;
6664  
6665 <  case 548:
7145 <
7146 < /* Line 1464 of yacc.c  */
7147 < #line 3152 "ircd_parser.y"
7148 <    {
7149 <  ConfigFileEntry.use_egd = yylval.number;
7150 < }
7151 <    break;
7152 <
7153 <  case 549:
6665 >  case 528:
6666  
6667 < /* Line 1464 of yacc.c  */
6668 < #line 3157 "ircd_parser.y"
6667 > /* Line 1806 of yacc.c  */
6668 > #line 2782 "conf_parser.y"
6669      {
6670 <  if (conf_parser_ctx.pass == 2)
6670 >  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6671    {
6672 <    MyFree(ConfigFileEntry.egdpool_path);
6673 <    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6672 >    MyFree(ConfigFileEntry.service_name);
6673 >    DupString(ConfigFileEntry.service_name, yylval.string);
6674    }
6675   }
6676      break;
6677  
6678 <  case 550:
6678 >  case 529:
6679  
6680 < /* Line 1464 of yacc.c  */
6681 < #line 3166 "ircd_parser.y"
6680 > /* Line 1806 of yacc.c  */
6681 > #line 2791 "conf_parser.y"
6682      {
6683    ConfigFileEntry.ping_cookie = yylval.number;
6684   }
6685      break;
6686  
6687 <  case 551:
6687 >  case 530:
6688  
6689 < /* Line 1464 of yacc.c  */
6690 < #line 3171 "ircd_parser.y"
6689 > /* Line 1806 of yacc.c  */
6690 > #line 2796 "conf_parser.y"
6691      {
6692    ConfigFileEntry.disable_auth = yylval.number;
6693   }
6694      break;
6695  
6696 <  case 552:
6696 >  case 531:
6697  
6698 < /* Line 1464 of yacc.c  */
6699 < #line 3176 "ircd_parser.y"
6698 > /* Line 1806 of yacc.c  */
6699 > #line 2801 "conf_parser.y"
6700      {
6701    ConfigFileEntry.throttle_time = yylval.number;
6702   }
6703      break;
6704  
6705 <  case 553:
6705 >  case 532:
6706  
6707 < /* Line 1464 of yacc.c  */
6708 < #line 3181 "ircd_parser.y"
6707 > /* Line 1806 of yacc.c  */
6708 > #line 2806 "conf_parser.y"
6709      {
6710    ConfigFileEntry.oper_umodes = 0;
6711   }
6712      break;
6713  
6714 <  case 557:
6714 >  case 536:
6715  
6716 < /* Line 1464 of yacc.c  */
6717 < #line 3187 "ircd_parser.y"
6716 > /* Line 1806 of yacc.c  */
6717 > #line 2812 "conf_parser.y"
6718      {
6719    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6720   }
6721      break;
6722  
6723 <  case 558:
6723 >  case 537:
6724  
6725 < /* Line 1464 of yacc.c  */
6726 < #line 3190 "ircd_parser.y"
6725 > /* Line 1806 of yacc.c  */
6726 > #line 2815 "conf_parser.y"
6727      {
6728    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6729   }
6730      break;
6731  
6732 <  case 559:
6732 >  case 538:
6733  
6734 < /* Line 1464 of yacc.c  */
6735 < #line 3193 "ircd_parser.y"
6734 > /* Line 1806 of yacc.c  */
6735 > #line 2818 "conf_parser.y"
6736      {
6737    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6738   }
6739      break;
6740  
6741 <  case 560:
6741 >  case 539:
6742  
6743 < /* Line 1464 of yacc.c  */
6744 < #line 3196 "ircd_parser.y"
6743 > /* Line 1806 of yacc.c  */
6744 > #line 2821 "conf_parser.y"
6745      {
6746    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6747   }
6748      break;
6749  
6750 <  case 561:
6750 >  case 540:
6751  
6752 < /* Line 1464 of yacc.c  */
6753 < #line 3199 "ircd_parser.y"
6752 > /* Line 1806 of yacc.c  */
6753 > #line 2824 "conf_parser.y"
6754      {
6755    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6756   }
6757      break;
6758  
6759 <  case 562:
6759 >  case 541:
6760  
6761 < /* Line 1464 of yacc.c  */
6762 < #line 3202 "ircd_parser.y"
6761 > /* Line 1806 of yacc.c  */
6762 > #line 2827 "conf_parser.y"
6763      {
6764    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6765   }
6766      break;
6767  
6768 <  case 563:
6768 >  case 542:
6769  
6770 < /* Line 1464 of yacc.c  */
6771 < #line 3205 "ircd_parser.y"
6770 > /* Line 1806 of yacc.c  */
6771 > #line 2830 "conf_parser.y"
6772 >    {
6773 >  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6774 > }
6775 >    break;
6776 >
6777 >  case 543:
6778 >
6779 > /* Line 1806 of yacc.c  */
6780 > #line 2833 "conf_parser.y"
6781      {
6782    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6783   }
6784      break;
6785  
6786 <  case 564:
6786 >  case 544:
6787  
6788 < /* Line 1464 of yacc.c  */
6789 < #line 3208 "ircd_parser.y"
6788 > /* Line 1806 of yacc.c  */
6789 > #line 2836 "conf_parser.y"
6790      {
6791    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6792   }
6793      break;
6794  
6795 <  case 565:
6795 >  case 545:
6796  
6797 < /* Line 1464 of yacc.c  */
6798 < #line 3211 "ircd_parser.y"
6797 > /* Line 1806 of yacc.c  */
6798 > #line 2839 "conf_parser.y"
6799      {
6800    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6801   }
6802      break;
6803  
6804 <  case 566:
6804 >  case 546:
6805  
6806 < /* Line 1464 of yacc.c  */
6807 < #line 3214 "ircd_parser.y"
6806 > /* Line 1806 of yacc.c  */
6807 > #line 2842 "conf_parser.y"
6808      {
6809    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6810   }
6811      break;
6812  
6813 <  case 567:
6813 >  case 547:
6814  
6815 < /* Line 1464 of yacc.c  */
6816 < #line 3217 "ircd_parser.y"
6815 > /* Line 1806 of yacc.c  */
6816 > #line 2845 "conf_parser.y"
6817      {
6818    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6819   }
6820      break;
6821  
6822 <  case 568:
6822 >  case 548:
6823  
6824 < /* Line 1464 of yacc.c  */
6825 < #line 3220 "ircd_parser.y"
6824 > /* Line 1806 of yacc.c  */
6825 > #line 2848 "conf_parser.y"
6826      {
6827    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6828   }
6829      break;
6830  
6831 <  case 569:
6831 >  case 549:
6832  
6833 < /* Line 1464 of yacc.c  */
6834 < #line 3223 "ircd_parser.y"
6833 > /* Line 1806 of yacc.c  */
6834 > #line 2851 "conf_parser.y"
6835      {
6836    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6837   }
6838      break;
6839  
6840 <  case 570:
6840 >  case 550:
6841  
6842 < /* Line 1464 of yacc.c  */
6843 < #line 3226 "ircd_parser.y"
6842 > /* Line 1806 of yacc.c  */
6843 > #line 2854 "conf_parser.y"
6844      {
6845    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6846   }
6847      break;
6848  
6849 <  case 571:
6849 >  case 551:
6850  
6851 < /* Line 1464 of yacc.c  */
6852 < #line 3229 "ircd_parser.y"
6851 > /* Line 1806 of yacc.c  */
6852 > #line 2857 "conf_parser.y"
6853      {
6854    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6855   }
6856      break;
6857  
6858 <  case 572:
6858 >  case 552:
6859  
6860 < /* Line 1464 of yacc.c  */
6861 < #line 3232 "ircd_parser.y"
6860 > /* Line 1806 of yacc.c  */
6861 > #line 2860 "conf_parser.y"
6862      {
6863    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6864   }
6865      break;
6866  
6867 <  case 573:
6867 >  case 553:
6868  
6869 < /* Line 1464 of yacc.c  */
6870 < #line 3235 "ircd_parser.y"
6869 > /* Line 1806 of yacc.c  */
6870 > #line 2863 "conf_parser.y"
6871      {
6872    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6873   }
6874      break;
6875  
6876 <  case 574:
6876 >  case 554:
6877  
6878 < /* Line 1464 of yacc.c  */
6879 < #line 3238 "ircd_parser.y"
6878 > /* Line 1806 of yacc.c  */
6879 > #line 2866 "conf_parser.y"
6880      {
6881    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6882   }
6883      break;
6884  
6885 <  case 575:
6885 >  case 555:
6886  
6887 < /* Line 1464 of yacc.c  */
6888 < #line 3241 "ircd_parser.y"
6887 > /* Line 1806 of yacc.c  */
6888 > #line 2869 "conf_parser.y"
6889      {
6890    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6891   }
6892      break;
6893  
6894 <  case 576:
6894 >  case 556:
6895  
6896 < /* Line 1464 of yacc.c  */
6897 < #line 3246 "ircd_parser.y"
6896 > /* Line 1806 of yacc.c  */
6897 > #line 2874 "conf_parser.y"
6898      {
6899    ConfigFileEntry.oper_only_umodes = 0;
6900   }
6901      break;
6902  
6903 <  case 580:
6903 >  case 560:
6904  
6905 < /* Line 1464 of yacc.c  */
6906 < #line 3252 "ircd_parser.y"
6905 > /* Line 1806 of yacc.c  */
6906 > #line 2880 "conf_parser.y"
6907      {
6908    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6909   }
6910      break;
6911  
6912 <  case 581:
6912 >  case 561:
6913  
6914 < /* Line 1464 of yacc.c  */
6915 < #line 3255 "ircd_parser.y"
6914 > /* Line 1806 of yacc.c  */
6915 > #line 2883 "conf_parser.y"
6916      {
6917    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6918   }
6919      break;
6920  
6921 <  case 582:
6921 >  case 562:
6922  
6923 < /* Line 1464 of yacc.c  */
6924 < #line 3258 "ircd_parser.y"
6923 > /* Line 1806 of yacc.c  */
6924 > #line 2886 "conf_parser.y"
6925      {
6926    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6927   }
6928      break;
6929  
6930 <  case 583:
6930 >  case 563:
6931  
6932 < /* Line 1464 of yacc.c  */
6933 < #line 3261 "ircd_parser.y"
6932 > /* Line 1806 of yacc.c  */
6933 > #line 2889 "conf_parser.y"
6934      {
6935    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6936   }
6937      break;
6938  
6939 <  case 584:
6939 >  case 564:
6940  
6941 < /* Line 1464 of yacc.c  */
6942 < #line 3264 "ircd_parser.y"
6941 > /* Line 1806 of yacc.c  */
6942 > #line 2892 "conf_parser.y"
6943      {
6944    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6945   }
6946      break;
6947  
6948 <  case 585:
6948 >  case 565:
6949  
6950 < /* Line 1464 of yacc.c  */
6951 < #line 3267 "ircd_parser.y"
6950 > /* Line 1806 of yacc.c  */
6951 > #line 2895 "conf_parser.y"
6952      {
6953    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6954   }
6955      break;
6956  
6957 <  case 586:
6957 >  case 566:
6958  
6959 < /* Line 1464 of yacc.c  */
6960 < #line 3270 "ircd_parser.y"
6959 > /* Line 1806 of yacc.c  */
6960 > #line 2898 "conf_parser.y"
6961      {
6962    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6963   }
6964      break;
6965  
6966 <  case 587:
6966 >  case 567:
6967 >
6968 > /* Line 1806 of yacc.c  */
6969 > #line 2901 "conf_parser.y"
6970 >    {
6971 >  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6972 > }
6973 >    break;
6974 >
6975 >  case 568:
6976  
6977 < /* Line 1464 of yacc.c  */
6978 < #line 3273 "ircd_parser.y"
6977 > /* Line 1806 of yacc.c  */
6978 > #line 2904 "conf_parser.y"
6979      {
6980    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6981   }
6982      break;
6983  
6984 <  case 588:
6984 >  case 569:
6985  
6986 < /* Line 1464 of yacc.c  */
6987 < #line 3276 "ircd_parser.y"
6986 > /* Line 1806 of yacc.c  */
6987 > #line 2907 "conf_parser.y"
6988      {
6989    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6990   }
6991      break;
6992  
6993 <  case 589:
6993 >  case 570:
6994  
6995 < /* Line 1464 of yacc.c  */
6996 < #line 3279 "ircd_parser.y"
6995 > /* Line 1806 of yacc.c  */
6996 > #line 2910 "conf_parser.y"
6997      {
6998    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6999   }
7000      break;
7001  
7002 <  case 590:
7002 >  case 571:
7003  
7004 < /* Line 1464 of yacc.c  */
7005 < #line 3282 "ircd_parser.y"
7004 > /* Line 1806 of yacc.c  */
7005 > #line 2913 "conf_parser.y"
7006      {
7007    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
7008   }
7009      break;
7010  
7011 <  case 591:
7011 >  case 572:
7012  
7013 < /* Line 1464 of yacc.c  */
7014 < #line 3285 "ircd_parser.y"
7013 > /* Line 1806 of yacc.c  */
7014 > #line 2916 "conf_parser.y"
7015      {
7016    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
7017   }
7018      break;
7019  
7020 <  case 592:
7020 >  case 573:
7021  
7022 < /* Line 1464 of yacc.c  */
7023 < #line 3288 "ircd_parser.y"
7022 > /* Line 1806 of yacc.c  */
7023 > #line 2919 "conf_parser.y"
7024      {
7025    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
7026   }
7027      break;
7028  
7029 <  case 593:
7029 >  case 574:
7030  
7031 < /* Line 1464 of yacc.c  */
7032 < #line 3291 "ircd_parser.y"
7031 > /* Line 1806 of yacc.c  */
7032 > #line 2922 "conf_parser.y"
7033      {
7034    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
7035   }
7036      break;
7037  
7038 <  case 594:
7038 >  case 575:
7039  
7040 < /* Line 1464 of yacc.c  */
7041 < #line 3294 "ircd_parser.y"
7040 > /* Line 1806 of yacc.c  */
7041 > #line 2925 "conf_parser.y"
7042      {
7043    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
7044   }
7045      break;
7046  
7047 <  case 595:
7047 >  case 576:
7048  
7049 < /* Line 1464 of yacc.c  */
7050 < #line 3297 "ircd_parser.y"
7049 > /* Line 1806 of yacc.c  */
7050 > #line 2928 "conf_parser.y"
7051      {
7052    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
7053   }
7054      break;
7055  
7056 <  case 596:
7056 >  case 577:
7057  
7058 < /* Line 1464 of yacc.c  */
7059 < #line 3300 "ircd_parser.y"
7058 > /* Line 1806 of yacc.c  */
7059 > #line 2931 "conf_parser.y"
7060      {
7061    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
7062   }
7063      break;
7064  
7065 <  case 597:
7065 >  case 578:
7066  
7067 < /* Line 1464 of yacc.c  */
7068 < #line 3303 "ircd_parser.y"
7067 > /* Line 1806 of yacc.c  */
7068 > #line 2934 "conf_parser.y"
7069      {
7070    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
7071   }
7072      break;
7073  
7074 <  case 598:
7074 >  case 579:
7075  
7076 < /* Line 1464 of yacc.c  */
7077 < #line 3306 "ircd_parser.y"
7076 > /* Line 1806 of yacc.c  */
7077 > #line 2937 "conf_parser.y"
7078      {
7079    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
7080   }
7081      break;
7082  
7083 <  case 599:
7083 >  case 580:
7084  
7085 < /* Line 1464 of yacc.c  */
7086 < #line 3311 "ircd_parser.y"
7085 > /* Line 1806 of yacc.c  */
7086 > #line 2942 "conf_parser.y"
7087      {
7088    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
7089   }
7090      break;
7091  
7092 <  case 600:
7092 >  case 581:
7093  
7094 < /* Line 1464 of yacc.c  */
7095 < #line 3316 "ircd_parser.y"
7094 > /* Line 1806 of yacc.c  */
7095 > #line 2947 "conf_parser.y"
7096      {
7097    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
7098   }
7099      break;
7100  
7101 <  case 601:
7101 >  case 582:
7102  
7103 < /* Line 1464 of yacc.c  */
7104 < #line 3321 "ircd_parser.y"
7103 > /* Line 1806 of yacc.c  */
7104 > #line 2952 "conf_parser.y"
7105      {
7106    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
7107   }
7108      break;
7109  
7110 <  case 602:
7110 >  case 583:
7111  
7112 < /* Line 1464 of yacc.c  */
7113 < #line 3326 "ircd_parser.y"
7112 > /* Line 1806 of yacc.c  */
7113 > #line 2957 "conf_parser.y"
7114      {
7115    ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7116   }
7117      break;
7118  
7119 <  case 603:
7119 >  case 584:
7120  
7121 < /* Line 1464 of yacc.c  */
7122 < #line 3335 "ircd_parser.y"
7121 > /* Line 1806 of yacc.c  */
7122 > #line 2966 "conf_parser.y"
7123      {
7124    if (conf_parser_ctx.pass == 2)
7125    {
# Line 7599 | Line 7129 | yyreduce:
7129   }
7130      break;
7131  
7132 <  case 604:
7132 >  case 585:
7133  
7134 < /* Line 1464 of yacc.c  */
7135 < #line 3342 "ircd_parser.y"
7134 > /* Line 1806 of yacc.c  */
7135 > #line 2973 "conf_parser.y"
7136      {
7137    if (conf_parser_ctx.pass == 2)
7138    {
# Line 7620 | Line 7150 | yyreduce:
7150   }
7151      break;
7152  
7153 <  case 614:
7153 >  case 595:
7154  
7155 < /* Line 1464 of yacc.c  */
7156 < #line 3368 "ircd_parser.y"
7155 > /* Line 1806 of yacc.c  */
7156 > #line 2999 "conf_parser.y"
7157      {
7158    if (conf_parser_ctx.pass == 2)
7159      ConfigFileEntry.glines = yylval.number;
7160   }
7161      break;
7162  
7163 <  case 615:
7163 >  case 596:
7164  
7165 < /* Line 1464 of yacc.c  */
7166 < #line 3374 "ircd_parser.y"
7165 > /* Line 1806 of yacc.c  */
7166 > #line 3005 "conf_parser.y"
7167      {
7168    if (conf_parser_ctx.pass == 2)
7169      ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7170   }
7171      break;
7172  
7173 <  case 616:
7173 >  case 597:
7174  
7175 < /* Line 1464 of yacc.c  */
7176 < #line 3380 "ircd_parser.y"
7175 > /* Line 1806 of yacc.c  */
7176 > #line 3011 "conf_parser.y"
7177      {
7178    if (conf_parser_ctx.pass == 2)
7179      ConfigFileEntry.gline_logging = 0;
7180   }
7181      break;
7182  
7183 <  case 620:
7183 >  case 601:
7184  
7185 < /* Line 1464 of yacc.c  */
7186 < #line 3386 "ircd_parser.y"
7185 > /* Line 1806 of yacc.c  */
7186 > #line 3017 "conf_parser.y"
7187      {
7188    if (conf_parser_ctx.pass == 2)
7189      ConfigFileEntry.gline_logging |= GDENY_REJECT;
7190   }
7191      break;
7192  
7193 <  case 621:
7193 >  case 602:
7194  
7195 < /* Line 1464 of yacc.c  */
7196 < #line 3390 "ircd_parser.y"
7195 > /* Line 1806 of yacc.c  */
7196 > #line 3021 "conf_parser.y"
7197      {
7198    if (conf_parser_ctx.pass == 2)
7199      ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7200   }
7201      break;
7202  
7203 <  case 622:
7203 >  case 603:
7204  
7205 < /* Line 1464 of yacc.c  */
7206 < #line 3396 "ircd_parser.y"
7205 > /* Line 1806 of yacc.c  */
7206 > #line 3027 "conf_parser.y"
7207      {
7208    if (conf_parser_ctx.pass == 2)
7209    {
# Line 7708 | Line 7238 | yyreduce:
7238   }
7239      break;
7240  
7241 <  case 623:
7241 >  case 604:
7242  
7243 < /* Line 1464 of yacc.c  */
7244 < #line 3430 "ircd_parser.y"
7243 > /* Line 1806 of yacc.c  */
7244 > #line 3061 "conf_parser.y"
7245      {
7246    if (conf_parser_ctx.pass == 2)  
7247    {
# Line 7721 | Line 7251 | yyreduce:
7251   }
7252      break;
7253  
7254 <  case 624:
7254 >  case 605:
7255  
7256 < /* Line 1464 of yacc.c  */
7257 < #line 3439 "ircd_parser.y"
7256 > /* Line 1806 of yacc.c  */
7257 > #line 3070 "conf_parser.y"
7258      {
7259    if (conf_parser_ctx.pass == 2)
7260      yy_aconf->flags = 0;
7261   }
7262      break;
7263  
7264 <  case 625:
7264 >  case 606:
7265  
7266 < /* Line 1464 of yacc.c  */
7267 < #line 3443 "ircd_parser.y"
7266 > /* Line 1806 of yacc.c  */
7267 > #line 3074 "conf_parser.y"
7268      {
7269    if (conf_parser_ctx.pass == 2)
7270    {
# Line 7781 | Line 7311 | yyreduce:
7311   }
7312      break;
7313  
7314 <  case 628:
7314 >  case 609:
7315  
7316 < /* Line 1464 of yacc.c  */
7317 < #line 3490 "ircd_parser.y"
7316 > /* Line 1806 of yacc.c  */
7317 > #line 3121 "conf_parser.y"
7318      {
7319    if (conf_parser_ctx.pass == 2)
7320      yy_aconf->flags |= GDENY_REJECT;
7321   }
7322      break;
7323  
7324 <  case 629:
7324 >  case 610:
7325  
7326 < /* Line 1464 of yacc.c  */
7327 < #line 3494 "ircd_parser.y"
7326 > /* Line 1806 of yacc.c  */
7327 > #line 3125 "conf_parser.y"
7328      {
7329    if (conf_parser_ctx.pass == 2)
7330      yy_aconf->flags |= GDENY_BLOCK;
7331   }
7332      break;
7333  
7334 <  case 652:
7334 >  case 633:
7335  
7336 < /* Line 1464 of yacc.c  */
7337 < #line 3518 "ircd_parser.y"
7336 > /* Line 1806 of yacc.c  */
7337 > #line 3149 "conf_parser.y"
7338      {
7339    ConfigChannel.disable_fake_channels = yylval.number;
7340   }
7341      break;
7342  
7343 <  case 653:
7343 >  case 634:
7344  
7345 < /* Line 1464 of yacc.c  */
7346 < #line 3523 "ircd_parser.y"
7345 > /* Line 1806 of yacc.c  */
7346 > #line 3154 "conf_parser.y"
7347      {
7348    ConfigChannel.restrict_channels = yylval.number;
7349   }
7350      break;
7351  
7352 <  case 654:
7352 >  case 635:
7353  
7354 < /* Line 1464 of yacc.c  */
7355 < #line 3528 "ircd_parser.y"
7354 > /* Line 1806 of yacc.c  */
7355 > #line 3159 "conf_parser.y"
7356      {
7357    ConfigChannel.disable_local_channels = yylval.number;
7358   }
7359      break;
7360  
7361 <  case 655:
7361 >  case 636:
7362  
7363 < /* Line 1464 of yacc.c  */
7364 < #line 3533 "ircd_parser.y"
7363 > /* Line 1806 of yacc.c  */
7364 > #line 3164 "conf_parser.y"
7365      {
7366    ConfigChannel.use_except = yylval.number;
7367   }
7368      break;
7369  
7370 <  case 656:
7370 >  case 637:
7371  
7372 < /* Line 1464 of yacc.c  */
7373 < #line 3538 "ircd_parser.y"
7372 > /* Line 1806 of yacc.c  */
7373 > #line 3169 "conf_parser.y"
7374      {
7375    ConfigChannel.use_invex = yylval.number;
7376   }
7377      break;
7378  
7379 <  case 657:
7379 >  case 638:
7380  
7381 < /* Line 1464 of yacc.c  */
7382 < #line 3543 "ircd_parser.y"
7381 > /* Line 1806 of yacc.c  */
7382 > #line 3174 "conf_parser.y"
7383      {
7384    ConfigChannel.use_knock = yylval.number;
7385   }
7386      break;
7387  
7388 <  case 658:
7388 >  case 639:
7389  
7390 < /* Line 1464 of yacc.c  */
7391 < #line 3548 "ircd_parser.y"
7390 > /* Line 1806 of yacc.c  */
7391 > #line 3179 "conf_parser.y"
7392      {
7393    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
7394   }
7395      break;
7396  
7397 <  case 659:
7397 >  case 640:
7398  
7399 < /* Line 1464 of yacc.c  */
7400 < #line 3553 "ircd_parser.y"
7399 > /* Line 1806 of yacc.c  */
7400 > #line 3184 "conf_parser.y"
7401      {
7402    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
7403   }
7404      break;
7405  
7406 <  case 660:
7406 >  case 641:
7407  
7408 < /* Line 1464 of yacc.c  */
7409 < #line 3558 "ircd_parser.y"
7408 > /* Line 1806 of yacc.c  */
7409 > #line 3189 "conf_parser.y"
7410      {
7411    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
7412   }
7413      break;
7414  
7415 <  case 661:
7415 >  case 642:
7416  
7417 < /* Line 1464 of yacc.c  */
7418 < #line 3563 "ircd_parser.y"
7417 > /* Line 1806 of yacc.c  */
7418 > #line 3194 "conf_parser.y"
7419      {
7420    ConfigChannel.quiet_on_ban = yylval.number;
7421   }
7422      break;
7423  
7424 <  case 662:
7424 >  case 643:
7425  
7426 < /* Line 1464 of yacc.c  */
7427 < #line 3568 "ircd_parser.y"
7426 > /* Line 1806 of yacc.c  */
7427 > #line 3199 "conf_parser.y"
7428      {
7429    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
7430   }
7431      break;
7432  
7433 <  case 663:
7433 >  case 644:
7434  
7435 < /* Line 1464 of yacc.c  */
7436 < #line 3573 "ircd_parser.y"
7435 > /* Line 1806 of yacc.c  */
7436 > #line 3204 "conf_parser.y"
7437      {
7438    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
7439   }
7440      break;
7441  
7442 <  case 664:
7442 >  case 645:
7443  
7444 < /* Line 1464 of yacc.c  */
7445 < #line 3578 "ircd_parser.y"
7444 > /* Line 1806 of yacc.c  */
7445 > #line 3209 "conf_parser.y"
7446      {
7447    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
7448   }
7449      break;
7450  
7451 <  case 665:
7451 >  case 646:
7452  
7453 < /* Line 1464 of yacc.c  */
7454 < #line 3583 "ircd_parser.y"
7453 > /* Line 1806 of yacc.c  */
7454 > #line 3214 "conf_parser.y"
7455      {
7456    ConfigChannel.no_create_on_split = yylval.number;
7457   }
7458      break;
7459  
7460 <  case 666:
7460 >  case 647:
7461  
7462 < /* Line 1464 of yacc.c  */
7463 < #line 3588 "ircd_parser.y"
7462 > /* Line 1806 of yacc.c  */
7463 > #line 3219 "conf_parser.y"
7464      {
7465    ConfigChannel.no_join_on_split = yylval.number;
7466   }
7467      break;
7468  
7469 <  case 667:
7469 >  case 648:
7470  
7471 < /* Line 1464 of yacc.c  */
7472 < #line 3593 "ircd_parser.y"
7471 > /* Line 1806 of yacc.c  */
7472 > #line 3224 "conf_parser.y"
7473      {
7474    ConfigChannel.burst_topicwho = yylval.number;
7475   }
7476      break;
7477  
7478 <  case 668:
7478 >  case 649:
7479  
7480 < /* Line 1464 of yacc.c  */
7481 < #line 3598 "ircd_parser.y"
7480 > /* Line 1806 of yacc.c  */
7481 > #line 3229 "conf_parser.y"
7482      {
7483    GlobalSetOptions.joinfloodcount = yylval.number;
7484   }
7485      break;
7486  
7487 <  case 669:
7487 >  case 650:
7488  
7489 < /* Line 1464 of yacc.c  */
7490 < #line 3603 "ircd_parser.y"
7489 > /* Line 1806 of yacc.c  */
7490 > #line 3234 "conf_parser.y"
7491      {
7492    GlobalSetOptions.joinfloodtime = yylval.number;
7493   }
7494      break;
7495  
7496 <  case 681:
7496 >  case 662:
7497  
7498 < /* Line 1464 of yacc.c  */
7499 < #line 3622 "ircd_parser.y"
7498 > /* Line 1806 of yacc.c  */
7499 > #line 3253 "conf_parser.y"
7500      {
7501    if (conf_parser_ctx.pass == 2)
7502      ConfigServerHide.flatten_links = yylval.number;
7503   }
7504      break;
7505  
7506 <  case 682:
7506 >  case 663:
7507  
7508 < /* Line 1464 of yacc.c  */
7509 < #line 3628 "ircd_parser.y"
7508 > /* Line 1806 of yacc.c  */
7509 > #line 3259 "conf_parser.y"
7510      {
7511    if (conf_parser_ctx.pass == 2)
7512      ConfigServerHide.hide_servers = yylval.number;
7513   }
7514      break;
7515  
7516 <  case 683:
7516 >  case 664:
7517  
7518 < /* Line 1464 of yacc.c  */
7519 < #line 3634 "ircd_parser.y"
7518 > /* Line 1806 of yacc.c  */
7519 > #line 3265 "conf_parser.y"
7520      {
7521    if (conf_parser_ctx.pass == 2)
7522    {
# Line 7996 | Line 7526 | yyreduce:
7526   }
7527      break;
7528  
7529 <  case 684:
7529 >  case 665:
7530  
7531 < /* Line 1464 of yacc.c  */
7532 < #line 3643 "ircd_parser.y"
7531 > /* Line 1806 of yacc.c  */
7532 > #line 3274 "conf_parser.y"
7533      {
7534    if (conf_parser_ctx.pass == 2)
7535    {
# Line 8014 | Line 7544 | yyreduce:
7544   }
7545      break;
7546  
7547 <  case 685:
7547 >  case 666:
7548  
7549 < /* Line 1464 of yacc.c  */
7550 < #line 3657 "ircd_parser.y"
7549 > /* Line 1806 of yacc.c  */
7550 > #line 3288 "conf_parser.y"
7551      {
7552    if (conf_parser_ctx.pass == 2)
7553      ConfigServerHide.hidden = yylval.number;
7554   }
7555      break;
7556  
7557 <  case 686:
7557 >  case 667:
7558  
7559 < /* Line 1464 of yacc.c  */
7560 < #line 3663 "ircd_parser.y"
7559 > /* Line 1806 of yacc.c  */
7560 > #line 3294 "conf_parser.y"
7561      {
7562    if (conf_parser_ctx.pass == 2)
7563      ConfigServerHide.disable_hidden = yylval.number;
7564   }
7565      break;
7566  
7567 <  case 687:
7567 >  case 668:
7568  
7569 < /* Line 1464 of yacc.c  */
7570 < #line 3669 "ircd_parser.y"
7569 > /* Line 1806 of yacc.c  */
7570 > #line 3300 "conf_parser.y"
7571      {
7572    if (conf_parser_ctx.pass == 2)
7573      ConfigServerHide.hide_server_ips = yylval.number;
# Line 8046 | Line 7576 | yyreduce:
7576  
7577  
7578  
7579 < /* Line 1464 of yacc.c  */
7580 < #line 8051 "ircd_parser.c"
7579 > /* Line 1806 of yacc.c  */
7580 > #line 7581 "conf_parser.c"
7581        default: break;
7582      }
7583 +  /* User semantic actions sometimes alter yychar, and that requires
7584 +     that yytoken be updated with the new translation.  We take the
7585 +     approach of translating immediately before every use of yytoken.
7586 +     One alternative is translating here after every semantic action,
7587 +     but that translation would be missed if the semantic action invokes
7588 +     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
7589 +     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
7590 +     incorrect destructor might then be invoked immediately.  In the
7591 +     case of YYERROR or YYBACKUP, subsequent parser actions might lead
7592 +     to an incorrect destructor call or verbose syntax error message
7593 +     before the lookahead is translated.  */
7594    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
7595  
7596    YYPOPSTACK (yylen);
# Line 8077 | Line 7618 | yyreduce:
7618   | yyerrlab -- here on detecting error |
7619   `------------------------------------*/
7620   yyerrlab:
7621 +  /* Make sure we have latest lookahead translation.  See comments at
7622 +     user semantic actions for why this is necessary.  */
7623 +  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
7624 +
7625    /* If not already recovering from an error, report this error.  */
7626    if (!yyerrstatus)
7627      {
# Line 8084 | Line 7629 | yyerrlab:
7629   #if ! YYERROR_VERBOSE
7630        yyerror (YY_("syntax error"));
7631   #else
7632 + # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
7633 +                                        yyssp, yytoken)
7634        {
7635 <        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
7636 <        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
7637 <          {
7638 <            YYSIZE_T yyalloc = 2 * yysize;
7639 <            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
7640 <              yyalloc = YYSTACK_ALLOC_MAXIMUM;
7641 <            if (yymsg != yymsgbuf)
7642 <              YYSTACK_FREE (yymsg);
7643 <            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
7644 <            if (yymsg)
7645 <              yymsg_alloc = yyalloc;
7646 <            else
7647 <              {
7648 <                yymsg = yymsgbuf;
7649 <                yymsg_alloc = sizeof yymsgbuf;
7650 <              }
7651 <          }
7652 <
7653 <        if (0 < yysize && yysize <= yymsg_alloc)
7654 <          {
7655 <            (void) yysyntax_error (yymsg, yystate, yychar);
7656 <            yyerror (yymsg);
7657 <          }
7658 <        else
7659 <          {
8113 <            yyerror (YY_("syntax error"));
8114 <            if (yysize != 0)
8115 <              goto yyexhaustedlab;
8116 <          }
7635 >        char const *yymsgp = YY_("syntax error");
7636 >        int yysyntax_error_status;
7637 >        yysyntax_error_status = YYSYNTAX_ERROR;
7638 >        if (yysyntax_error_status == 0)
7639 >          yymsgp = yymsg;
7640 >        else if (yysyntax_error_status == 1)
7641 >          {
7642 >            if (yymsg != yymsgbuf)
7643 >              YYSTACK_FREE (yymsg);
7644 >            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
7645 >            if (!yymsg)
7646 >              {
7647 >                yymsg = yymsgbuf;
7648 >                yymsg_alloc = sizeof yymsgbuf;
7649 >                yysyntax_error_status = 2;
7650 >              }
7651 >            else
7652 >              {
7653 >                yysyntax_error_status = YYSYNTAX_ERROR;
7654 >                yymsgp = yymsg;
7655 >              }
7656 >          }
7657 >        yyerror (yymsgp);
7658 >        if (yysyntax_error_status == 2)
7659 >          goto yyexhaustedlab;
7660        }
7661 + # undef YYSYNTAX_ERROR
7662   #endif
7663      }
7664  
# Line 8173 | Line 7717 | yyerrlab1:
7717    for (;;)
7718      {
7719        yyn = yypact[yystate];
7720 <      if (yyn != YYPACT_NINF)
7720 >      if (!yypact_value_is_default (yyn))
7721          {
7722            yyn += YYTERROR;
7723            if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
# Line 8232 | Line 7776 | yyexhaustedlab:
7776  
7777   yyreturn:
7778    if (yychar != YYEMPTY)
7779 <     yydestruct ("Cleanup: discarding lookahead",
7780 <                 yytoken, &yylval);
7779 >    {
7780 >      /* Make sure we have latest lookahead translation.  See comments at
7781 >         user semantic actions for why this is necessary.  */
7782 >      yytoken = YYTRANSLATE (yychar);
7783 >      yydestruct ("Cleanup: discarding lookahead",
7784 >                  yytoken, &yylval);
7785 >    }
7786    /* Do not reclaim the symbols of the rule which action triggered
7787       this YYABORT or YYACCEPT.  */
7788    YYPOPSTACK (yylen);

Diff Legend

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