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

Comparing:
ircd-hybrid-8/src/ircd_parser.c (file contents), Revision 1301 by michael, Sat Mar 10 21:47:17 2012 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1520 by michael, Wed Sep 5 15:50:02 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.5.  */
1 > /* A Bison parser, made by GNU Bison 2.6.2.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6    
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.5"
47 > #define YYBISON_VERSION "2.6.2"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 58 | Line 58
58   /* Pull parsers.  */
59   #define YYPULL 1
60  
61 /* Using locations.  */
62 #define YYLSP_NEEDED 0
61  
62  
63  
64   /* Copy the first part of user declarations.  */
65 <
66 < /* Line 268 of yacc.c  */
69 < #line 25 "ircd_parser.y"
65 > /* Line 336 of yacc.c  */
66 > #line 25 "conf_parser.y"
67  
68  
69   #define YY_NO_UNPUT
# Line 77 | Line 74
74   #include "stdinc.h"
75   #include "ircd.h"
76   #include "list.h"
77 < #include "s_conf.h"
77 > #include "conf.h"
78   #include "event.h"
79 < #include "s_log.h"
79 > #include "log.h"
80   #include "client.h"     /* for UMODE_ALL only */
81   #include "irc_string.h"
82   #include "sprintf_irc.h"
# Line 97 | Line 94
94   #include <openssl/rsa.h>
95   #include <openssl/bio.h>
96   #include <openssl/pem.h>
97 + #include <openssl/dh.h>
98   #endif
99  
100 + int yylex(void);
101 +
102   static char *class_name = NULL;
103   static struct ConfItem *yy_conf = NULL;
104   static struct AccessItem *yy_aconf = NULL;
# Line 107 | Line 107 | static struct ClassItem *yy_class = NULL
107   static char *yy_class_name = NULL;
108  
109   static dlink_list col_conf_list  = { NULL, NULL, 0 };
110 static dlink_list hub_conf_list  = { NULL, NULL, 0 };
111 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
110   static unsigned int listener_flags = 0;
111   static unsigned int regex_ban = 0;
112   static char userbuf[IRCD_BUFSIZE];
# Line 149 | Line 147 | free_collect_item(struct CollectItem *it
147    MyFree(item);
148   }
149  
152 static void
153 unhook_hub_leaf_confs(void)
154 {
155  dlink_node *ptr;
156  dlink_node *next_ptr;
157  struct CollectItem *yy_hconf;
158  struct CollectItem *yy_lconf;
159
160  DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
161  {
162    yy_hconf = ptr->data;
163    dlinkDelete(&yy_hconf->node, &hub_conf_list);
164    free_collect_item(yy_hconf);
165  }
166
167  DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
168  {
169    yy_lconf = ptr->data;
170    dlinkDelete(&yy_lconf->node, &leaf_conf_list);
171    free_collect_item(yy_lconf);
172  }
173 }
174
175
150  
151 < /* Line 268 of yacc.c  */
152 < #line 179 "ircd_parser.c"
151 > /* Line 336 of yacc.c  */
152 > #line 153 "conf_parser.c"
153  
154 < /* Enabling traces.  */
155 < #ifndef YYDEBUG
156 < # define YYDEBUG 0
157 < #endif
154 > # ifndef YY_NULL
155 > #  if defined __cplusplus && 201103L <= __cplusplus
156 > #   define YY_NULL nullptr
157 > #  else
158 > #   define YY_NULL 0
159 > #  endif
160 > # endif
161  
162   /* Enabling verbose error messages.  */
163   #ifdef YYERROR_VERBOSE
# Line 190 | Line 167 | unhook_hub_leaf_confs(void)
167   # define YYERROR_VERBOSE 0
168   #endif
169  
170 < /* Enabling the token table.  */
171 < #ifndef YYTOKEN_TABLE
172 < # define YYTOKEN_TABLE 0
170 > /* In a future release of Bison, this section will be replaced
171 >   by #include "y.tab.h".  */
172 > #ifndef YY_Y_TAB_H
173 > # define YY_Y_TAB_H
174 > /* Enabling traces.  */
175 > #ifndef YYDEBUG
176 > # define YYDEBUG 0
177 > #endif
178 > #if YYDEBUG
179 > extern int yydebug;
180   #endif
197
181  
182   /* Tokens.  */
183   #ifndef YYTOKENTYPE
# Line 203 | Line 186 | unhook_hub_leaf_confs(void)
186        know about them.  */
187     enum yytokentype {
188       ACCEPT_PASSWORD = 258,
189 <     ACTION = 259,
190 <     ADMIN = 260,
191 <     AFTYPE = 261,
192 <     T_ALLOW = 262,
193 <     ANTI_NICK_FLOOD = 263,
194 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
195 <     AUTOCONN = 265,
196 <     T_BLOCK = 266,
197 <     BURST_AWAY = 267,
198 <     BURST_TOPICWHO = 268,
199 <     BYTES = 269,
200 <     KBYTES = 270,
201 <     MBYTES = 271,
202 <     GBYTES = 272,
203 <     TBYTES = 273,
204 <     CALLER_ID_WAIT = 274,
205 <     CAN_FLOOD = 275,
206 <     CHANNEL = 276,
207 <     CIDR_BITLEN_IPV4 = 277,
208 <     CIDR_BITLEN_IPV6 = 278,
209 <     CIPHER_PREFERENCE = 279,
210 <     CLASS = 280,
211 <     COMPRESSED = 281,
212 <     COMPRESSION_LEVEL = 282,
213 <     CONNECT = 283,
214 <     CONNECTFREQ = 284,
215 <     CRYPTLINK = 285,
216 <     DEFAULT_CIPHER_PREFERENCE = 286,
217 <     DEFAULT_FLOODCOUNT = 287,
218 <     DEFAULT_SPLIT_SERVER_COUNT = 288,
219 <     DEFAULT_SPLIT_USER_COUNT = 289,
220 <     DENY = 290,
221 <     DESCRIPTION = 291,
222 <     DIE = 292,
223 <     DISABLE_AUTH = 293,
224 <     DISABLE_FAKE_CHANNELS = 294,
225 <     DISABLE_HIDDEN = 295,
226 <     DISABLE_LOCAL_CHANNELS = 296,
227 <     DISABLE_REMOTE_COMMANDS = 297,
228 <     DOTS_IN_IDENT = 298,
229 <     DURATION = 299,
230 <     EGDPOOL_PATH = 300,
231 <     EMAIL = 301,
232 <     ENABLE = 302,
233 <     ENCRYPTED = 303,
234 <     EXCEED_LIMIT = 304,
235 <     EXEMPT = 305,
236 <     FAILED_OPER_NOTICE = 306,
237 <     IRCD_FLAGS = 307,
238 <     FLATTEN_LINKS = 308,
239 <     GECOS = 309,
240 <     GENERAL = 310,
241 <     GLINE = 311,
242 <     GLINES = 312,
243 <     GLINE_EXEMPT = 313,
244 <     GLINE_TIME = 314,
245 <     GLINE_MIN_CIDR = 315,
246 <     GLINE_MIN_CIDR6 = 316,
247 <     GLOBAL_KILL = 317,
248 <     IRCD_AUTH = 318,
249 <     NEED_IDENT = 319,
250 <     HAVENT_READ_CONF = 320,
251 <     HIDDEN = 321,
252 <     HIDDEN_NAME = 322,
253 <     HIDE_SERVER_IPS = 323,
254 <     HIDE_SERVERS = 324,
255 <     HIDE_SPOOF_IPS = 325,
256 <     HOST = 326,
257 <     HUB = 327,
258 <     HUB_MASK = 328,
259 <     IGNORE_BOGUS_TS = 329,
260 <     INVISIBLE_ON_CONNECT = 330,
261 <     IP = 331,
262 <     KILL = 332,
263 <     KILL_CHASE_TIME_LIMIT = 333,
264 <     KLINE = 334,
265 <     KLINE_EXEMPT = 335,
266 <     KLINE_REASON = 336,
267 <     KLINE_WITH_REASON = 337,
268 <     KNOCK_DELAY = 338,
269 <     KNOCK_DELAY_CHANNEL = 339,
270 <     LEAF_MASK = 340,
271 <     LINKS_DELAY = 341,
272 <     LISTEN = 342,
273 <     T_LOG = 343,
274 <     MAX_ACCEPT = 344,
275 <     MAX_BANS = 345,
276 <     MAX_CHANS_PER_USER = 346,
277 <     MAX_GLOBAL = 347,
278 <     MAX_IDENT = 348,
279 <     MAX_LOCAL = 349,
280 <     MAX_NICK_CHANGES = 350,
281 <     MAX_NICK_TIME = 351,
282 <     MAX_NUMBER = 352,
283 <     MAX_TARGETS = 353,
284 <     MAX_WATCH = 354,
285 <     MESSAGE_LOCALE = 355,
286 <     MIN_NONWILDCARD = 356,
287 <     MIN_NONWILDCARD_SIMPLE = 357,
288 <     MODULE = 358,
289 <     MODULES = 359,
290 <     NAME = 360,
291 <     NEED_PASSWORD = 361,
292 <     NETWORK_DESC = 362,
293 <     NETWORK_NAME = 363,
294 <     NICK = 364,
295 <     NICK_CHANGES = 365,
296 <     NO_CREATE_ON_SPLIT = 366,
297 <     NO_JOIN_ON_SPLIT = 367,
298 <     NO_OPER_FLOOD = 368,
299 <     NO_TILDE = 369,
300 <     NUMBER = 370,
301 <     NUMBER_PER_IDENT = 371,
302 <     NUMBER_PER_CIDR = 372,
303 <     NUMBER_PER_IP = 373,
304 <     NUMBER_PER_IP_GLOBAL = 374,
305 <     OPERATOR = 375,
306 <     OPERS_BYPASS_CALLERID = 376,
307 <     OPER_ONLY_UMODES = 377,
308 <     OPER_PASS_RESV = 378,
309 <     OPER_SPY_T = 379,
310 <     OPER_UMODES = 380,
311 <     JOIN_FLOOD_COUNT = 381,
312 <     JOIN_FLOOD_TIME = 382,
313 <     PACE_WAIT = 383,
314 <     PACE_WAIT_SIMPLE = 384,
315 <     PASSWORD = 385,
316 <     PATH = 386,
317 <     PING_COOKIE = 387,
318 <     PING_TIME = 388,
319 <     PING_WARNING = 389,
320 <     PORT = 390,
321 <     QSTRING = 391,
322 <     QUIET_ON_BAN = 392,
323 <     REASON = 393,
324 <     REDIRPORT = 394,
325 <     REDIRSERV = 395,
326 <     REGEX_T = 396,
327 <     REHASH = 397,
328 <     TREJECT_HOLD_TIME = 398,
329 <     REMOTE = 399,
330 <     REMOTEBAN = 400,
331 <     RESTRICT_CHANNELS = 401,
332 <     RESTRICTED = 402,
333 <     RSA_PRIVATE_KEY_FILE = 403,
334 <     RSA_PUBLIC_KEY_FILE = 404,
335 <     SSL_CERTIFICATE_FILE = 405,
336 <     T_SSL_CONNECTION_METHOD = 406,
337 <     T_SSLV3 = 407,
338 <     T_TLSV1 = 408,
339 <     RESV = 409,
340 <     RESV_EXEMPT = 410,
341 <     SECONDS = 411,
342 <     MINUTES = 412,
343 <     HOURS = 413,
344 <     DAYS = 414,
345 <     WEEKS = 415,
346 <     SENDQ = 416,
347 <     SEND_PASSWORD = 417,
348 <     SERVERHIDE = 418,
349 <     SERVERINFO = 419,
350 <     SERVLINK_PATH = 420,
351 <     IRCD_SID = 421,
352 <     TKLINE_EXPIRE_NOTICES = 422,
353 <     T_SHARED = 423,
354 <     T_CLUSTER = 424,
355 <     TYPE = 425,
356 <     SHORT_MOTD = 426,
357 <     SILENT = 427,
358 <     SPOOF = 428,
359 <     SPOOF_NOTICE = 429,
360 <     STATS_E_DISABLED = 430,
361 <     STATS_I_OPER_ONLY = 431,
362 <     STATS_K_OPER_ONLY = 432,
363 <     STATS_O_OPER_ONLY = 433,
364 <     STATS_P_OPER_ONLY = 434,
365 <     TBOOL = 435,
366 <     TMASKED = 436,
367 <     T_REJECT = 437,
368 <     TS_MAX_DELTA = 438,
369 <     TS_WARN_DELTA = 439,
370 <     TWODOTS = 440,
371 <     T_ALL = 441,
372 <     T_BOTS = 442,
373 <     T_SOFTCALLERID = 443,
374 <     T_CALLERID = 444,
375 <     T_CCONN = 445,
376 <     T_CCONN_FULL = 446,
377 <     T_CLIENT_FLOOD = 447,
378 <     T_DEAF = 448,
379 <     T_DEBUG = 449,
380 <     T_DLINE = 450,
381 <     T_DRONE = 451,
382 <     T_EXTERNAL = 452,
383 <     T_FULL = 453,
384 <     T_INVISIBLE = 454,
385 <     T_IPV4 = 455,
386 <     T_IPV6 = 456,
387 <     T_LOCOPS = 457,
388 <     T_MAX_CLIENTS = 458,
389 <     T_NCHANGE = 459,
390 <     T_OPERWALL = 460,
391 <     T_REJ = 461,
392 <     T_SERVER = 462,
393 <     T_SERVNOTICE = 463,
394 <     T_SKILL = 464,
395 <     T_SPY = 465,
396 <     T_SSL = 466,
397 <     T_UMODES = 467,
398 <     T_UNAUTH = 468,
399 <     T_UNDLINE = 469,
400 <     T_UNLIMITED = 470,
401 <     T_UNRESV = 471,
402 <     T_UNXLINE = 472,
403 <     T_GLOBOPS = 473,
421 <     T_WALLOP = 474,
422 <     T_RESTART = 475,
423 <     T_SERVICE = 476,
424 <     T_SERVICES_NAME = 477,
425 <     T_TIMESTAMP = 478,
426 <     THROTTLE_TIME = 479,
427 <     TOPICBURST = 480,
428 <     TRUE_NO_OPER_FLOOD = 481,
429 <     TKLINE = 482,
430 <     TXLINE = 483,
431 <     TRESV = 484,
432 <     UNKLINE = 485,
433 <     USER = 486,
434 <     USE_EGD = 487,
435 <     USE_EXCEPT = 488,
436 <     USE_INVEX = 489,
437 <     USE_KNOCK = 490,
438 <     USE_LOGGING = 491,
439 <     USE_WHOIS_ACTUALLY = 492,
440 <     VHOST = 493,
441 <     VHOST6 = 494,
442 <     XLINE = 495,
443 <     WARN = 496,
444 <     WARN_NO_NLINE = 497,
445 <     T_SIZE = 498,
446 <     T_FILE = 499
189 >     ADMIN = 259,
190 >     AFTYPE = 260,
191 >     ANTI_NICK_FLOOD = 261,
192 >     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
193 >     AUTOCONN = 263,
194 >     BYTES = 264,
195 >     KBYTES = 265,
196 >     MBYTES = 266,
197 >     CALLER_ID_WAIT = 267,
198 >     CAN_FLOOD = 268,
199 >     CHANNEL = 269,
200 >     CIDR_BITLEN_IPV4 = 270,
201 >     CIDR_BITLEN_IPV6 = 271,
202 >     CLASS = 272,
203 >     CONNECT = 273,
204 >     CONNECTFREQ = 274,
205 >     DEFAULT_FLOODCOUNT = 275,
206 >     DEFAULT_SPLIT_SERVER_COUNT = 276,
207 >     DEFAULT_SPLIT_USER_COUNT = 277,
208 >     DENY = 278,
209 >     DESCRIPTION = 279,
210 >     DIE = 280,
211 >     DISABLE_AUTH = 281,
212 >     DISABLE_FAKE_CHANNELS = 282,
213 >     DISABLE_REMOTE_COMMANDS = 283,
214 >     DOTS_IN_IDENT = 284,
215 >     EGDPOOL_PATH = 285,
216 >     EMAIL = 286,
217 >     ENCRYPTED = 287,
218 >     EXCEED_LIMIT = 288,
219 >     EXEMPT = 289,
220 >     FAILED_OPER_NOTICE = 290,
221 >     IRCD_FLAGS = 291,
222 >     FLATTEN_LINKS = 292,
223 >     GECOS = 293,
224 >     GENERAL = 294,
225 >     GLINE = 295,
226 >     GLINE_DURATION = 296,
227 >     GLINE_ENABLE = 297,
228 >     GLINE_EXEMPT = 298,
229 >     GLINE_REQUEST_DURATION = 299,
230 >     GLINE_MIN_CIDR = 300,
231 >     GLINE_MIN_CIDR6 = 301,
232 >     GLOBAL_KILL = 302,
233 >     IRCD_AUTH = 303,
234 >     NEED_IDENT = 304,
235 >     HAVENT_READ_CONF = 305,
236 >     HIDDEN = 306,
237 >     HIDDEN_NAME = 307,
238 >     HIDE_SERVER_IPS = 308,
239 >     HIDE_SERVERS = 309,
240 >     HIDE_SPOOF_IPS = 310,
241 >     HOST = 311,
242 >     HUB = 312,
243 >     HUB_MASK = 313,
244 >     IGNORE_BOGUS_TS = 314,
245 >     INVISIBLE_ON_CONNECT = 315,
246 >     IP = 316,
247 >     KILL = 317,
248 >     KILL_CHASE_TIME_LIMIT = 318,
249 >     KLINE = 319,
250 >     KLINE_EXEMPT = 320,
251 >     KLINE_REASON = 321,
252 >     KLINE_WITH_REASON = 322,
253 >     KNOCK_DELAY = 323,
254 >     KNOCK_DELAY_CHANNEL = 324,
255 >     LEAF_MASK = 325,
256 >     LINKS_DELAY = 326,
257 >     LISTEN = 327,
258 >     T_LOG = 328,
259 >     MAX_ACCEPT = 329,
260 >     MAX_BANS = 330,
261 >     MAX_CHANS_PER_OPER = 331,
262 >     MAX_CHANS_PER_USER = 332,
263 >     MAX_GLOBAL = 333,
264 >     MAX_IDENT = 334,
265 >     MAX_LOCAL = 335,
266 >     MAX_NICK_CHANGES = 336,
267 >     MAX_NICK_TIME = 337,
268 >     MAX_NUMBER = 338,
269 >     MAX_TARGETS = 339,
270 >     MAX_WATCH = 340,
271 >     MESSAGE_LOCALE = 341,
272 >     MIN_NONWILDCARD = 342,
273 >     MIN_NONWILDCARD_SIMPLE = 343,
274 >     MODULE = 344,
275 >     MODULES = 345,
276 >     NAME = 346,
277 >     NEED_PASSWORD = 347,
278 >     NETWORK_DESC = 348,
279 >     NETWORK_NAME = 349,
280 >     NICK = 350,
281 >     NICK_CHANGES = 351,
282 >     NO_CREATE_ON_SPLIT = 352,
283 >     NO_JOIN_ON_SPLIT = 353,
284 >     NO_OPER_FLOOD = 354,
285 >     NO_TILDE = 355,
286 >     NUMBER = 356,
287 >     NUMBER_PER_CIDR = 357,
288 >     NUMBER_PER_IP = 358,
289 >     OPERATOR = 359,
290 >     OPERS_BYPASS_CALLERID = 360,
291 >     OPER_ONLY_UMODES = 361,
292 >     OPER_PASS_RESV = 362,
293 >     OPER_SPY_T = 363,
294 >     OPER_UMODES = 364,
295 >     JOIN_FLOOD_COUNT = 365,
296 >     JOIN_FLOOD_TIME = 366,
297 >     PACE_WAIT = 367,
298 >     PACE_WAIT_SIMPLE = 368,
299 >     PASSWORD = 369,
300 >     PATH = 370,
301 >     PING_COOKIE = 371,
302 >     PING_TIME = 372,
303 >     PING_WARNING = 373,
304 >     PORT = 374,
305 >     QSTRING = 375,
306 >     QUIET_ON_BAN = 376,
307 >     REASON = 377,
308 >     REDIRPORT = 378,
309 >     REDIRSERV = 379,
310 >     REGEX_T = 380,
311 >     REHASH = 381,
312 >     TREJECT_HOLD_TIME = 382,
313 >     REMOTE = 383,
314 >     REMOTEBAN = 384,
315 >     RESTRICT_CHANNELS = 385,
316 >     RSA_PRIVATE_KEY_FILE = 386,
317 >     RSA_PUBLIC_KEY_FILE = 387,
318 >     SSL_CERTIFICATE_FILE = 388,
319 >     SSL_DH_PARAM_FILE = 389,
320 >     T_SSL_CLIENT_METHOD = 390,
321 >     T_SSL_SERVER_METHOD = 391,
322 >     T_SSLV3 = 392,
323 >     T_TLSV1 = 393,
324 >     RESV = 394,
325 >     RESV_EXEMPT = 395,
326 >     SECONDS = 396,
327 >     MINUTES = 397,
328 >     HOURS = 398,
329 >     DAYS = 399,
330 >     WEEKS = 400,
331 >     SENDQ = 401,
332 >     SEND_PASSWORD = 402,
333 >     SERVERHIDE = 403,
334 >     SERVERINFO = 404,
335 >     IRCD_SID = 405,
336 >     TKLINE_EXPIRE_NOTICES = 406,
337 >     T_SHARED = 407,
338 >     T_CLUSTER = 408,
339 >     TYPE = 409,
340 >     SHORT_MOTD = 410,
341 >     SPOOF = 411,
342 >     SPOOF_NOTICE = 412,
343 >     STATS_E_DISABLED = 413,
344 >     STATS_I_OPER_ONLY = 414,
345 >     STATS_K_OPER_ONLY = 415,
346 >     STATS_O_OPER_ONLY = 416,
347 >     STATS_P_OPER_ONLY = 417,
348 >     TBOOL = 418,
349 >     TMASKED = 419,
350 >     TS_MAX_DELTA = 420,
351 >     TS_WARN_DELTA = 421,
352 >     TWODOTS = 422,
353 >     T_ALL = 423,
354 >     T_BOTS = 424,
355 >     T_SOFTCALLERID = 425,
356 >     T_CALLERID = 426,
357 >     T_CCONN = 427,
358 >     T_CCONN_FULL = 428,
359 >     T_SSL_CIPHER_LIST = 429,
360 >     T_DEAF = 430,
361 >     T_DEBUG = 431,
362 >     T_DLINE = 432,
363 >     T_EXTERNAL = 433,
364 >     T_FULL = 434,
365 >     T_INVISIBLE = 435,
366 >     T_IPV4 = 436,
367 >     T_IPV6 = 437,
368 >     T_LOCOPS = 438,
369 >     T_MAX_CLIENTS = 439,
370 >     T_NCHANGE = 440,
371 >     T_OPERWALL = 441,
372 >     T_RECVQ = 442,
373 >     T_REJ = 443,
374 >     T_SERVER = 444,
375 >     T_SERVNOTICE = 445,
376 >     T_SET = 446,
377 >     T_SKILL = 447,
378 >     T_SPY = 448,
379 >     T_SSL = 449,
380 >     T_UMODES = 450,
381 >     T_UNAUTH = 451,
382 >     T_UNDLINE = 452,
383 >     T_UNLIMITED = 453,
384 >     T_UNRESV = 454,
385 >     T_UNXLINE = 455,
386 >     T_GLOBOPS = 456,
387 >     T_WALLOP = 457,
388 >     T_RESTART = 458,
389 >     T_SERVICE = 459,
390 >     T_SERVICES_NAME = 460,
391 >     THROTTLE_TIME = 461,
392 >     TRUE_NO_OPER_FLOOD = 462,
393 >     UNKLINE = 463,
394 >     USER = 464,
395 >     USE_EGD = 465,
396 >     USE_LOGGING = 466,
397 >     USE_WHOIS_ACTUALLY = 467,
398 >     VHOST = 468,
399 >     VHOST6 = 469,
400 >     XLINE = 470,
401 >     WARN_NO_NLINE = 471,
402 >     T_SIZE = 472,
403 >     T_FILE = 473
404     };
405   #endif
406   /* Tokens.  */
407   #define ACCEPT_PASSWORD 258
408 < #define ACTION 259
409 < #define ADMIN 260
410 < #define AFTYPE 261
411 < #define T_ALLOW 262
412 < #define ANTI_NICK_FLOOD 263
413 < #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
414 < #define AUTOCONN 265
415 < #define T_BLOCK 266
416 < #define BURST_AWAY 267
417 < #define BURST_TOPICWHO 268
418 < #define BYTES 269
419 < #define KBYTES 270
420 < #define MBYTES 271
421 < #define GBYTES 272
422 < #define TBYTES 273
423 < #define CALLER_ID_WAIT 274
424 < #define CAN_FLOOD 275
425 < #define CHANNEL 276
426 < #define CIDR_BITLEN_IPV4 277
427 < #define CIDR_BITLEN_IPV6 278
428 < #define CIPHER_PREFERENCE 279
429 < #define CLASS 280
430 < #define COMPRESSED 281
431 < #define COMPRESSION_LEVEL 282
432 < #define CONNECT 283
433 < #define CONNECTFREQ 284
434 < #define CRYPTLINK 285
435 < #define DEFAULT_CIPHER_PREFERENCE 286
436 < #define DEFAULT_FLOODCOUNT 287
437 < #define DEFAULT_SPLIT_SERVER_COUNT 288
438 < #define DEFAULT_SPLIT_USER_COUNT 289
439 < #define DENY 290
440 < #define DESCRIPTION 291
441 < #define DIE 292
442 < #define DISABLE_AUTH 293
443 < #define DISABLE_FAKE_CHANNELS 294
444 < #define DISABLE_HIDDEN 295
445 < #define DISABLE_LOCAL_CHANNELS 296
446 < #define DISABLE_REMOTE_COMMANDS 297
447 < #define DOTS_IN_IDENT 298
448 < #define DURATION 299
449 < #define EGDPOOL_PATH 300
450 < #define EMAIL 301
451 < #define ENABLE 302
452 < #define ENCRYPTED 303
453 < #define EXCEED_LIMIT 304
454 < #define EXEMPT 305
455 < #define FAILED_OPER_NOTICE 306
456 < #define IRCD_FLAGS 307
457 < #define FLATTEN_LINKS 308
458 < #define GECOS 309
459 < #define GENERAL 310
460 < #define GLINE 311
461 < #define GLINES 312
462 < #define GLINE_EXEMPT 313
463 < #define GLINE_TIME 314
464 < #define GLINE_MIN_CIDR 315
465 < #define GLINE_MIN_CIDR6 316
466 < #define GLOBAL_KILL 317
467 < #define IRCD_AUTH 318
468 < #define NEED_IDENT 319
469 < #define HAVENT_READ_CONF 320
470 < #define HIDDEN 321
471 < #define HIDDEN_NAME 322
472 < #define HIDE_SERVER_IPS 323
473 < #define HIDE_SERVERS 324
474 < #define HIDE_SPOOF_IPS 325
475 < #define HOST 326
476 < #define HUB 327
477 < #define HUB_MASK 328
478 < #define IGNORE_BOGUS_TS 329
479 < #define INVISIBLE_ON_CONNECT 330
480 < #define IP 331
481 < #define KILL 332
482 < #define KILL_CHASE_TIME_LIMIT 333
483 < #define KLINE 334
484 < #define KLINE_EXEMPT 335
485 < #define KLINE_REASON 336
486 < #define KLINE_WITH_REASON 337
487 < #define KNOCK_DELAY 338
488 < #define KNOCK_DELAY_CHANNEL 339
489 < #define LEAF_MASK 340
490 < #define LINKS_DELAY 341
491 < #define LISTEN 342
492 < #define T_LOG 343
493 < #define MAX_ACCEPT 344
494 < #define MAX_BANS 345
495 < #define MAX_CHANS_PER_USER 346
496 < #define MAX_GLOBAL 347
497 < #define MAX_IDENT 348
498 < #define MAX_LOCAL 349
499 < #define MAX_NICK_CHANGES 350
500 < #define MAX_NICK_TIME 351
501 < #define MAX_NUMBER 352
502 < #define MAX_TARGETS 353
503 < #define MAX_WATCH 354
504 < #define MESSAGE_LOCALE 355
505 < #define MIN_NONWILDCARD 356
506 < #define MIN_NONWILDCARD_SIMPLE 357
507 < #define MODULE 358
508 < #define MODULES 359
509 < #define NAME 360
510 < #define NEED_PASSWORD 361
511 < #define NETWORK_DESC 362
512 < #define NETWORK_NAME 363
513 < #define NICK 364
514 < #define NICK_CHANGES 365
515 < #define NO_CREATE_ON_SPLIT 366
516 < #define NO_JOIN_ON_SPLIT 367
517 < #define NO_OPER_FLOOD 368
518 < #define NO_TILDE 369
519 < #define NUMBER 370
520 < #define NUMBER_PER_IDENT 371
521 < #define NUMBER_PER_CIDR 372
522 < #define NUMBER_PER_IP 373
523 < #define NUMBER_PER_IP_GLOBAL 374
524 < #define OPERATOR 375
525 < #define OPERS_BYPASS_CALLERID 376
526 < #define OPER_ONLY_UMODES 377
527 < #define OPER_PASS_RESV 378
528 < #define OPER_SPY_T 379
529 < #define OPER_UMODES 380
530 < #define JOIN_FLOOD_COUNT 381
531 < #define JOIN_FLOOD_TIME 382
532 < #define PACE_WAIT 383
533 < #define PACE_WAIT_SIMPLE 384
534 < #define PASSWORD 385
535 < #define PATH 386
536 < #define PING_COOKIE 387
537 < #define PING_TIME 388
538 < #define PING_WARNING 389
539 < #define PORT 390
540 < #define QSTRING 391
541 < #define QUIET_ON_BAN 392
542 < #define REASON 393
543 < #define REDIRPORT 394
544 < #define REDIRSERV 395
545 < #define REGEX_T 396
546 < #define REHASH 397
547 < #define TREJECT_HOLD_TIME 398
548 < #define REMOTE 399
549 < #define REMOTEBAN 400
550 < #define RESTRICT_CHANNELS 401
551 < #define RESTRICTED 402
552 < #define RSA_PRIVATE_KEY_FILE 403
553 < #define RSA_PUBLIC_KEY_FILE 404
554 < #define SSL_CERTIFICATE_FILE 405
555 < #define T_SSL_CONNECTION_METHOD 406
556 < #define T_SSLV3 407
557 < #define T_TLSV1 408
558 < #define RESV 409
559 < #define RESV_EXEMPT 410
560 < #define SECONDS 411
561 < #define MINUTES 412
562 < #define HOURS 413
563 < #define DAYS 414
564 < #define WEEKS 415
565 < #define SENDQ 416
566 < #define SEND_PASSWORD 417
567 < #define SERVERHIDE 418
568 < #define SERVERINFO 419
569 < #define SERVLINK_PATH 420
570 < #define IRCD_SID 421
571 < #define TKLINE_EXPIRE_NOTICES 422
572 < #define T_SHARED 423
573 < #define T_CLUSTER 424
574 < #define TYPE 425
575 < #define SHORT_MOTD 426
576 < #define SILENT 427
577 < #define SPOOF 428
578 < #define SPOOF_NOTICE 429
579 < #define STATS_E_DISABLED 430
580 < #define STATS_I_OPER_ONLY 431
581 < #define STATS_K_OPER_ONLY 432
582 < #define STATS_O_OPER_ONLY 433
583 < #define STATS_P_OPER_ONLY 434
584 < #define TBOOL 435
585 < #define TMASKED 436
586 < #define T_REJECT 437
587 < #define TS_MAX_DELTA 438
588 < #define TS_WARN_DELTA 439
589 < #define TWODOTS 440
590 < #define T_ALL 441
591 < #define T_BOTS 442
592 < #define T_SOFTCALLERID 443
593 < #define T_CALLERID 444
594 < #define T_CCONN 445
595 < #define T_CCONN_FULL 446
596 < #define T_CLIENT_FLOOD 447
597 < #define T_DEAF 448
598 < #define T_DEBUG 449
599 < #define T_DLINE 450
600 < #define T_DRONE 451
601 < #define T_EXTERNAL 452
602 < #define T_FULL 453
603 < #define T_INVISIBLE 454
604 < #define T_IPV4 455
605 < #define T_IPV6 456
606 < #define T_LOCOPS 457
607 < #define T_MAX_CLIENTS 458
608 < #define T_NCHANGE 459
609 < #define T_OPERWALL 460
610 < #define T_REJ 461
611 < #define T_SERVER 462
612 < #define T_SERVNOTICE 463
613 < #define T_SKILL 464
614 < #define T_SPY 465
615 < #define T_SSL 466
616 < #define T_UMODES 467
617 < #define T_UNAUTH 468
618 < #define T_UNDLINE 469
619 < #define T_UNLIMITED 470
620 < #define T_UNRESV 471
621 < #define T_UNXLINE 472
622 < #define T_GLOBOPS 473
666 < #define T_WALLOP 474
667 < #define T_RESTART 475
668 < #define T_SERVICE 476
669 < #define T_SERVICES_NAME 477
670 < #define T_TIMESTAMP 478
671 < #define THROTTLE_TIME 479
672 < #define TOPICBURST 480
673 < #define TRUE_NO_OPER_FLOOD 481
674 < #define TKLINE 482
675 < #define TXLINE 483
676 < #define TRESV 484
677 < #define UNKLINE 485
678 < #define USER 486
679 < #define USE_EGD 487
680 < #define USE_EXCEPT 488
681 < #define USE_INVEX 489
682 < #define USE_KNOCK 490
683 < #define USE_LOGGING 491
684 < #define USE_WHOIS_ACTUALLY 492
685 < #define VHOST 493
686 < #define VHOST6 494
687 < #define XLINE 495
688 < #define WARN 496
689 < #define WARN_NO_NLINE 497
690 < #define T_SIZE 498
691 < #define T_FILE 499
692 <
408 > #define ADMIN 259
409 > #define AFTYPE 260
410 > #define ANTI_NICK_FLOOD 261
411 > #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
412 > #define AUTOCONN 263
413 > #define BYTES 264
414 > #define KBYTES 265
415 > #define MBYTES 266
416 > #define CALLER_ID_WAIT 267
417 > #define CAN_FLOOD 268
418 > #define CHANNEL 269
419 > #define CIDR_BITLEN_IPV4 270
420 > #define CIDR_BITLEN_IPV6 271
421 > #define CLASS 272
422 > #define CONNECT 273
423 > #define CONNECTFREQ 274
424 > #define DEFAULT_FLOODCOUNT 275
425 > #define DEFAULT_SPLIT_SERVER_COUNT 276
426 > #define DEFAULT_SPLIT_USER_COUNT 277
427 > #define DENY 278
428 > #define DESCRIPTION 279
429 > #define DIE 280
430 > #define DISABLE_AUTH 281
431 > #define DISABLE_FAKE_CHANNELS 282
432 > #define DISABLE_REMOTE_COMMANDS 283
433 > #define DOTS_IN_IDENT 284
434 > #define EGDPOOL_PATH 285
435 > #define EMAIL 286
436 > #define ENCRYPTED 287
437 > #define EXCEED_LIMIT 288
438 > #define EXEMPT 289
439 > #define FAILED_OPER_NOTICE 290
440 > #define IRCD_FLAGS 291
441 > #define FLATTEN_LINKS 292
442 > #define GECOS 293
443 > #define GENERAL 294
444 > #define GLINE 295
445 > #define GLINE_DURATION 296
446 > #define GLINE_ENABLE 297
447 > #define GLINE_EXEMPT 298
448 > #define GLINE_REQUEST_DURATION 299
449 > #define GLINE_MIN_CIDR 300
450 > #define GLINE_MIN_CIDR6 301
451 > #define GLOBAL_KILL 302
452 > #define IRCD_AUTH 303
453 > #define NEED_IDENT 304
454 > #define HAVENT_READ_CONF 305
455 > #define HIDDEN 306
456 > #define HIDDEN_NAME 307
457 > #define HIDE_SERVER_IPS 308
458 > #define HIDE_SERVERS 309
459 > #define HIDE_SPOOF_IPS 310
460 > #define HOST 311
461 > #define HUB 312
462 > #define HUB_MASK 313
463 > #define IGNORE_BOGUS_TS 314
464 > #define INVISIBLE_ON_CONNECT 315
465 > #define IP 316
466 > #define KILL 317
467 > #define KILL_CHASE_TIME_LIMIT 318
468 > #define KLINE 319
469 > #define KLINE_EXEMPT 320
470 > #define KLINE_REASON 321
471 > #define KLINE_WITH_REASON 322
472 > #define KNOCK_DELAY 323
473 > #define KNOCK_DELAY_CHANNEL 324
474 > #define LEAF_MASK 325
475 > #define LINKS_DELAY 326
476 > #define LISTEN 327
477 > #define T_LOG 328
478 > #define MAX_ACCEPT 329
479 > #define MAX_BANS 330
480 > #define MAX_CHANS_PER_OPER 331
481 > #define MAX_CHANS_PER_USER 332
482 > #define MAX_GLOBAL 333
483 > #define MAX_IDENT 334
484 > #define MAX_LOCAL 335
485 > #define MAX_NICK_CHANGES 336
486 > #define MAX_NICK_TIME 337
487 > #define MAX_NUMBER 338
488 > #define MAX_TARGETS 339
489 > #define MAX_WATCH 340
490 > #define MESSAGE_LOCALE 341
491 > #define MIN_NONWILDCARD 342
492 > #define MIN_NONWILDCARD_SIMPLE 343
493 > #define MODULE 344
494 > #define MODULES 345
495 > #define NAME 346
496 > #define NEED_PASSWORD 347
497 > #define NETWORK_DESC 348
498 > #define NETWORK_NAME 349
499 > #define NICK 350
500 > #define NICK_CHANGES 351
501 > #define NO_CREATE_ON_SPLIT 352
502 > #define NO_JOIN_ON_SPLIT 353
503 > #define NO_OPER_FLOOD 354
504 > #define NO_TILDE 355
505 > #define NUMBER 356
506 > #define NUMBER_PER_CIDR 357
507 > #define NUMBER_PER_IP 358
508 > #define OPERATOR 359
509 > #define OPERS_BYPASS_CALLERID 360
510 > #define OPER_ONLY_UMODES 361
511 > #define OPER_PASS_RESV 362
512 > #define OPER_SPY_T 363
513 > #define OPER_UMODES 364
514 > #define JOIN_FLOOD_COUNT 365
515 > #define JOIN_FLOOD_TIME 366
516 > #define PACE_WAIT 367
517 > #define PACE_WAIT_SIMPLE 368
518 > #define PASSWORD 369
519 > #define PATH 370
520 > #define PING_COOKIE 371
521 > #define PING_TIME 372
522 > #define PING_WARNING 373
523 > #define PORT 374
524 > #define QSTRING 375
525 > #define QUIET_ON_BAN 376
526 > #define REASON 377
527 > #define REDIRPORT 378
528 > #define REDIRSERV 379
529 > #define REGEX_T 380
530 > #define REHASH 381
531 > #define TREJECT_HOLD_TIME 382
532 > #define REMOTE 383
533 > #define REMOTEBAN 384
534 > #define RESTRICT_CHANNELS 385
535 > #define RSA_PRIVATE_KEY_FILE 386
536 > #define RSA_PUBLIC_KEY_FILE 387
537 > #define SSL_CERTIFICATE_FILE 388
538 > #define SSL_DH_PARAM_FILE 389
539 > #define T_SSL_CLIENT_METHOD 390
540 > #define T_SSL_SERVER_METHOD 391
541 > #define T_SSLV3 392
542 > #define T_TLSV1 393
543 > #define RESV 394
544 > #define RESV_EXEMPT 395
545 > #define SECONDS 396
546 > #define MINUTES 397
547 > #define HOURS 398
548 > #define DAYS 399
549 > #define WEEKS 400
550 > #define SENDQ 401
551 > #define SEND_PASSWORD 402
552 > #define SERVERHIDE 403
553 > #define SERVERINFO 404
554 > #define IRCD_SID 405
555 > #define TKLINE_EXPIRE_NOTICES 406
556 > #define T_SHARED 407
557 > #define T_CLUSTER 408
558 > #define TYPE 409
559 > #define SHORT_MOTD 410
560 > #define SPOOF 411
561 > #define SPOOF_NOTICE 412
562 > #define STATS_E_DISABLED 413
563 > #define STATS_I_OPER_ONLY 414
564 > #define STATS_K_OPER_ONLY 415
565 > #define STATS_O_OPER_ONLY 416
566 > #define STATS_P_OPER_ONLY 417
567 > #define TBOOL 418
568 > #define TMASKED 419
569 > #define TS_MAX_DELTA 420
570 > #define TS_WARN_DELTA 421
571 > #define TWODOTS 422
572 > #define T_ALL 423
573 > #define T_BOTS 424
574 > #define T_SOFTCALLERID 425
575 > #define T_CALLERID 426
576 > #define T_CCONN 427
577 > #define T_CCONN_FULL 428
578 > #define T_SSL_CIPHER_LIST 429
579 > #define T_DEAF 430
580 > #define T_DEBUG 431
581 > #define T_DLINE 432
582 > #define T_EXTERNAL 433
583 > #define T_FULL 434
584 > #define T_INVISIBLE 435
585 > #define T_IPV4 436
586 > #define T_IPV6 437
587 > #define T_LOCOPS 438
588 > #define T_MAX_CLIENTS 439
589 > #define T_NCHANGE 440
590 > #define T_OPERWALL 441
591 > #define T_RECVQ 442
592 > #define T_REJ 443
593 > #define T_SERVER 444
594 > #define T_SERVNOTICE 445
595 > #define T_SET 446
596 > #define T_SKILL 447
597 > #define T_SPY 448
598 > #define T_SSL 449
599 > #define T_UMODES 450
600 > #define T_UNAUTH 451
601 > #define T_UNDLINE 452
602 > #define T_UNLIMITED 453
603 > #define T_UNRESV 454
604 > #define T_UNXLINE 455
605 > #define T_GLOBOPS 456
606 > #define T_WALLOP 457
607 > #define T_RESTART 458
608 > #define T_SERVICE 459
609 > #define T_SERVICES_NAME 460
610 > #define THROTTLE_TIME 461
611 > #define TRUE_NO_OPER_FLOOD 462
612 > #define UNKLINE 463
613 > #define USER 464
614 > #define USE_EGD 465
615 > #define USE_LOGGING 466
616 > #define USE_WHOIS_ACTUALLY 467
617 > #define VHOST 468
618 > #define VHOST6 469
619 > #define XLINE 470
620 > #define WARN_NO_NLINE 471
621 > #define T_SIZE 472
622 > #define T_FILE 473
623  
624  
625  
626   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
627   typedef union YYSTYPE
628   {
629 <
630 < /* Line 293 of yacc.c  */
701 < #line 132 "ircd_parser.y"
629 > /* Line 350 of yacc.c  */
630 > #line 110 "conf_parser.y"
631  
632    int number;
633    char *string;
634  
635  
636 <
637 < /* Line 293 of yacc.c  */
709 < #line 710 "ircd_parser.c"
636 > /* Line 350 of yacc.c  */
637 > #line 638 "conf_parser.c"
638   } YYSTYPE;
639   # define YYSTYPE_IS_TRIVIAL 1
640   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
641   # define YYSTYPE_IS_DECLARED 1
642   #endif
643  
644 + extern YYSTYPE yylval;
645  
646 < /* Copy the second part of user declarations.  */
646 > #ifdef YYPARSE_PARAM
647 > #if defined __STDC__ || defined __cplusplus
648 > int yyparse (void *YYPARSE_PARAM);
649 > #else
650 > int yyparse ();
651 > #endif
652 > #else /* ! YYPARSE_PARAM */
653 > #if defined __STDC__ || defined __cplusplus
654 > int yyparse (void);
655 > #else
656 > int yyparse ();
657 > #endif
658 > #endif /* ! YYPARSE_PARAM */
659  
660 + #endif /* !YY_Y_TAB_H  */
661 +
662 + /* Copy the second part of user declarations.  */
663  
664 < /* Line 343 of yacc.c  */
665 < #line 722 "ircd_parser.c"
664 > /* Line 353 of yacc.c  */
665 > #line 666 "conf_parser.c"
666  
667   #ifdef short
668   # undef short
# Line 824 | Line 768 | YYID (yyi)
768   #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
769       || defined __cplusplus || defined _MSC_VER)
770   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
771 +      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
772   #     ifndef EXIT_SUCCESS
773   #      define EXIT_SUCCESS 0
774   #     endif
# Line 915 | Line 860 | union yyalloc
860   #endif
861  
862   #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
863 < /* Copy COUNT objects from FROM to TO.  The source and destination do
863 > /* Copy COUNT objects from SRC to DST.  The source and destination do
864     not overlap.  */
865   # ifndef YYCOPY
866   #  if defined __GNUC__ && 1 < __GNUC__
867 < #   define YYCOPY(To, From, Count) \
868 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
867 > #   define YYCOPY(Dst, Src, Count) \
868 >      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
869   #  else
870 < #   define YYCOPY(To, From, Count)              \
871 <      do                                        \
872 <        {                                       \
873 <          YYSIZE_T yyi;                         \
874 <          for (yyi = 0; yyi < (Count); yyi++)   \
875 <            (To)[yyi] = (From)[yyi];            \
876 <        }                                       \
870 > #   define YYCOPY(Dst, Src, Count)              \
871 >      do                                        \
872 >        {                                       \
873 >          YYSIZE_T yyi;                         \
874 >          for (yyi = 0; yyi < (Count); yyi++)   \
875 >            (Dst)[yyi] = (Src)[yyi];            \
876 >        }                                       \
877        while (YYID (0))
878   #  endif
879   # endif
# Line 937 | Line 882 | union yyalloc
882   /* YYFINAL -- State number of the termination state.  */
883   #define YYFINAL  2
884   /* YYLAST -- Last index in YYTABLE.  */
885 < #define YYLAST   1372
885 > #define YYLAST   1231
886  
887   /* YYNTOKENS -- Number of terminals.  */
888 < #define YYNTOKENS  250
888 > #define YYNTOKENS  224
889   /* YYNNTS -- Number of nonterminals.  */
890 < #define YYNNTS  306
890 > #define YYNNTS  287
891   /* YYNRULES -- Number of rules.  */
892 < #define YYNRULES  670
892 > #define YYNRULES  635
893   /* YYNRULES -- Number of states.  */
894 < #define YYNSTATES  1318
894 > #define YYNSTATES  1248
895  
896   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
897   #define YYUNDEFTOK  2
898 < #define YYMAXUTOK   499
898 > #define YYMAXUTOK   473
899  
900   #define YYTRANSLATE(YYX)                                                \
901    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 962 | Line 907 | static const yytype_uint8 yytranslate[]
907         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
908         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
909         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
910 <       2,     2,     2,     2,   249,     2,     2,     2,     2,     2,
911 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   245,
912 <       2,   248,     2,     2,     2,     2,     2,     2,     2,     2,
910 >       2,     2,     2,     2,   223,     2,     2,     2,     2,     2,
911 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   219,
912 >       2,   222,     2,     2,     2,     2,     2,     2,     2,     2,
913         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
914         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
915         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
916         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
917         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
918 <       2,     2,     2,   247,     2,   246,     2,     2,     2,     2,
918 >       2,     2,     2,   221,     2,   220,     2,     2,     2,     2,
919         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
920         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
921         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1005 | Line 950 | static const yytype_uint8 yytranslate[]
950       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
951       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
952       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
953 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1009 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1010 <     235,   236,   237,   238,   239,   240,   241,   242,   243,   244
953 >     215,   216,   217,   218
954   };
955  
956   #if YYDEBUG
# Line 1017 | Line 960 | static const yytype_uint16 yyprhs[] =
960   {
961         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
962        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
963 <      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
964 <      61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
965 <      95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
966 <     133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
967 <     154,   156,   158,   160,   162,   165,   166,   172,   176,   178,
968 <     180,   182,   187,   192,   197,   202,   207,   212,   217,   222,
969 <     227,   232,   237,   243,   246,   248,   250,   252,   254,   257,
970 <     262,   267,   272,   278,   281,   283,   285,   287,   289,   292,
971 <     297,   302,   303,   310,   313,   315,   317,   319,   321,   324,
972 <     329,   334,   339,   340,   346,   350,   352,   354,   356,   358,
973 <     360,   362,   364,   366,   367,   374,   377,   379,   381,   383,
974 <     385,   387,   389,   391,   393,   395,   398,   403,   408,   413,
975 <     418,   423,   428,   429,   435,   439,   441,   443,   445,   447,
976 <     449,   451,   453,   455,   457,   459,   461,   463,   465,   467,
977 <     469,   471,   473,   475,   477,   479,   481,   482,   488,   492,
978 <     494,   496,   498,   500,   502,   504,   506,   508,   510,   512,
979 <     514,   516,   518,   520,   522,   524,   526,   528,   530,   531,
980 <     538,   541,   543,   545,   547,   549,   551,   553,   555,   557,
981 <     559,   561,   563,   565,   567,   569,   572,   577,   582,   587,
982 <     592,   597,   602,   607,   612,   617,   622,   627,   632,   637,
983 <     638,   645,   646,   652,   656,   658,   660,   662,   664,   667,
984 <     669,   671,   673,   675,   677,   680,   681,   687,   691,   693,
985 <     695,   699,   704,   709,   710,   717,   720,   722,   724,   726,
986 <     728,   730,   732,   734,   736,   738,   741,   746,   751,   756,
987 <     761,   762,   768,   772,   774,   776,   778,   780,   782,   784,
988 <     786,   788,   790,   792,   797,   802,   807,   808,   815,   818,
989 <     820,   822,   824,   826,   829,   834,   839,   844,   850,   853,
990 <     855,   857,   859,   864,   865,   872,   875,   877,   879,   881,
991 <     883,   886,   891,   896,   897,   903,   907,   909,   911,   913,
992 <     915,   917,   919,   921,   923,   925,   927,   929,   930,   937,
993 <     940,   942,   944,   946,   949,   954,   955,   961,   965,   967,
994 <     969,   971,   973,   975,   977,   979,   981,   983,   985,   987,
995 <     988,   995,   998,  1000,  1002,  1004,  1006,  1008,  1010,  1012,
996 <    1014,  1016,  1018,  1020,  1022,  1024,  1026,  1028,  1031,  1036,
997 <    1041,  1046,  1051,  1056,  1061,  1066,  1071,  1072,  1078,  1082,
998 <    1084,  1086,  1088,  1090,  1092,  1094,  1099,  1104,  1109,  1114,
999 <    1119,  1124,  1125,  1132,  1133,  1139,  1143,  1145,  1147,  1150,
1000 <    1152,  1154,  1156,  1158,  1160,  1165,  1170,  1171,  1178,  1181,
1001 <    1183,  1185,  1187,  1189,  1194,  1199,  1205,  1208,  1210,  1212,
1002 <    1214,  1219,  1220,  1227,  1228,  1234,  1238,  1240,  1242,  1245,
1003 <    1247,  1249,  1251,  1253,  1255,  1260,  1265,  1271,  1274,  1276,
1004 <    1278,  1280,  1282,  1284,  1286,  1288,  1290,  1292,  1294,  1296,
1005 <    1298,  1300,  1302,  1304,  1306,  1308,  1310,  1312,  1314,  1316,
1006 <    1318,  1320,  1322,  1324,  1326,  1328,  1330,  1332,  1334,  1336,
1007 <    1338,  1340,  1342,  1344,  1346,  1348,  1350,  1352,  1354,  1356,
1008 <    1358,  1360,  1362,  1364,  1366,  1368,  1370,  1372,  1374,  1376,
1009 <    1378,  1380,  1382,  1384,  1386,  1391,  1396,  1401,  1406,  1411,
1010 <    1416,  1421,  1426,  1431,  1436,  1441,  1446,  1451,  1456,  1461,
1011 <    1466,  1471,  1476,  1481,  1486,  1491,  1496,  1501,  1506,  1511,
1012 <    1516,  1521,  1526,  1531,  1536,  1541,  1546,  1551,  1556,  1561,
1013 <    1566,  1571,  1576,  1581,  1586,  1591,  1596,  1601,  1606,  1611,
1014 <    1616,  1621,  1626,  1631,  1636,  1637,  1643,  1647,  1649,  1651,
1015 <    1653,  1655,  1657,  1659,  1661,  1663,  1665,  1667,  1669,  1671,
1016 <    1673,  1675,  1677,  1679,  1681,  1683,  1685,  1687,  1689,  1690,
1017 <    1696,  1700,  1702,  1704,  1706,  1708,  1710,  1712,  1714,  1716,
1018 <    1718,  1720,  1722,  1724,  1726,  1728,  1730,  1732,  1734,  1736,
1019 <    1738,  1740,  1742,  1747,  1752,  1757,  1762,  1763,  1770,  1773,
1020 <    1775,  1777,  1779,  1781,  1783,  1785,  1787,  1789,  1794,  1799,
1021 <    1800,  1806,  1810,  1812,  1814,  1816,  1821,  1826,  1827,  1833,
1022 <    1837,  1839,  1841,  1843,  1849,  1852,  1854,  1856,  1858,  1860,
1023 <    1862,  1864,  1866,  1868,  1870,  1872,  1874,  1876,  1878,  1880,
1024 <    1882,  1884,  1886,  1888,  1890,  1892,  1897,  1902,  1907,  1912,
1082 <    1917,  1922,  1927,  1932,  1937,  1942,  1947,  1952,  1957,  1962,
1083 <    1967,  1972,  1977,  1982,  1988,  1991,  1993,  1995,  1997,  1999,
1084 <    2001,  2003,  2005,  2007,  2009,  2014,  2019,  2024,  2029,  2034,
1085 <    2039
963 >      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
964 >      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
965 >      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
966 >     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
967 >     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
968 >     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
969 >     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
970 >     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
971 >     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
972 >     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
973 >     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
974 >     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
975 >     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
976 >     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
977 >     477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
978 >     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
979 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
980 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
981 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
982 >     587,   589,   591,   593,   596,   601,   606,   611,   616,   621,
983 >     626,   631,   636,   641,   646,   651,   656,   661,   666,   667,
984 >     674,   675,   681,   685,   687,   689,   691,   693,   696,   698,
985 >     700,   702,   704,   706,   709,   710,   716,   720,   722,   724,
986 >     728,   733,   738,   739,   746,   749,   751,   753,   755,   757,
987 >     759,   761,   763,   765,   767,   770,   775,   780,   785,   790,
988 >     791,   797,   801,   803,   805,   807,   809,   811,   813,   815,
989 >     817,   819,   821,   826,   831,   836,   837,   844,   847,   849,
990 >     851,   853,   855,   858,   863,   868,   873,   879,   882,   884,
991 >     886,   888,   893,   894,   901,   904,   906,   908,   910,   912,
992 >     915,   920,   925,   926,   932,   936,   938,   940,   942,   944,
993 >     946,   948,   950,   952,   954,   956,   958,   959,   966,   969,
994 >     971,   973,   975,   978,   983,   984,   990,   994,   996,   998,
995 >    1000,  1002,  1004,  1006,  1008,  1010,  1012,  1014,  1016,  1017,
996 >    1024,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1041,  1043,
997 >    1045,  1047,  1049,  1051,  1053,  1055,  1058,  1063,  1068,  1073,
998 >    1078,  1083,  1088,  1093,  1098,  1099,  1105,  1109,  1111,  1113,
999 >    1115,  1120,  1125,  1130,  1135,  1140,  1141,  1148,  1149,  1155,
1000 >    1159,  1161,  1163,  1166,  1168,  1170,  1172,  1174,  1176,  1181,
1001 >    1186,  1187,  1194,  1197,  1199,  1201,  1203,  1205,  1210,  1215,
1002 >    1221,  1224,  1226,  1228,  1230,  1235,  1236,  1243,  1244,  1250,
1003 >    1254,  1256,  1258,  1261,  1263,  1265,  1267,  1269,  1271,  1276,
1004 >    1281,  1287,  1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,
1005 >    1306,  1308,  1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,
1006 >    1326,  1328,  1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,
1007 >    1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,  1364,
1008 >    1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,  1384,
1009 >    1386,  1388,  1390,  1392,  1394,  1396,  1398,  1400,  1405,  1410,
1010 >    1415,  1420,  1425,  1430,  1435,  1440,  1445,  1450,  1455,  1460,
1011 >    1465,  1470,  1475,  1480,  1485,  1490,  1495,  1500,  1505,  1510,
1012 >    1515,  1520,  1525,  1530,  1535,  1540,  1545,  1550,  1555,  1560,
1013 >    1565,  1570,  1575,  1580,  1585,  1590,  1595,  1600,  1605,  1610,
1014 >    1615,  1620,  1625,  1630,  1635,  1640,  1645,  1650,  1651,  1657,
1015 >    1661,  1663,  1665,  1667,  1669,  1671,  1673,  1675,  1677,  1679,
1016 >    1681,  1683,  1685,  1687,  1689,  1691,  1693,  1695,  1697,  1699,
1017 >    1701,  1703,  1704,  1710,  1714,  1716,  1718,  1720,  1722,  1724,
1018 >    1726,  1728,  1730,  1732,  1734,  1736,  1738,  1740,  1742,  1744,
1019 >    1746,  1748,  1750,  1752,  1754,  1756,  1761,  1766,  1771,  1777,
1020 >    1780,  1782,  1784,  1786,  1788,  1790,  1792,  1794,  1796,  1798,
1021 >    1800,  1802,  1804,  1806,  1808,  1810,  1812,  1817,  1822,  1827,
1022 >    1832,  1837,  1842,  1847,  1852,  1857,  1862,  1867,  1872,  1877,
1023 >    1882,  1888,  1891,  1893,  1895,  1897,  1899,  1901,  1903,  1905,
1024 >    1907,  1912,  1917,  1922,  1927,  1932
1025   };
1026  
1027   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1028   static const yytype_int16 yyrhs[] =
1029   {
1030 <     251,     0,    -1,    -1,   251,   252,    -1,   280,    -1,   286,
1031 <      -1,   301,    -1,   525,    -1,   319,    -1,   336,    -1,   350,
1032 <      -1,   262,    -1,   546,    -1,   365,    -1,   372,    -1,   376,
1033 <      -1,   386,    -1,   395,    -1,   416,    -1,   426,    -1,   432,
1034 <      -1,   446,    -1,   509,    -1,   436,    -1,   257,    -1,     1,
1035 <     245,    -1,     1,   246,    -1,    -1,   254,    -1,   115,   253,
1036 <      -1,   115,   156,   253,    -1,   115,   157,   253,    -1,   115,
1037 <     158,   253,    -1,   115,   159,   253,    -1,   115,   160,   253,
1038 <      -1,    -1,   256,    -1,   115,   255,    -1,   115,    14,   255,
1039 <      -1,   115,    15,   255,    -1,   115,    16,   255,    -1,   104,
1040 <     247,   258,   246,   245,    -1,   258,   259,    -1,   259,    -1,
1041 <     260,    -1,   261,    -1,     1,   245,    -1,   103,   248,   136,
1042 <     245,    -1,   131,   248,   136,   245,    -1,   164,   247,   263,
1043 <     246,   245,    -1,   263,   264,    -1,   264,    -1,   271,    -1,
1044 <     276,    -1,   279,    -1,   273,    -1,   274,    -1,   275,    -1,
1045 <     278,    -1,   270,    -1,   277,    -1,   272,    -1,   269,    -1,
1046 <     265,    -1,     1,   245,    -1,    -1,   151,   266,   248,   267,
1047 <     245,    -1,   267,   249,   268,    -1,   268,    -1,   152,    -1,
1048 <     153,    -1,   150,   248,   136,   245,    -1,   148,   248,   136,
1049 <     245,    -1,   105,   248,   136,   245,    -1,   166,   248,   136,
1050 <     245,    -1,    36,   248,   136,   245,    -1,   108,   248,   136,
1051 <     245,    -1,   107,   248,   136,   245,    -1,   238,   248,   136,
1052 <     245,    -1,   239,   248,   136,   245,    -1,   203,   248,   115,
1053 <     245,    -1,    72,   248,   180,   245,    -1,     5,   247,   281,
1054 <     246,   245,    -1,   281,   282,    -1,   282,    -1,   283,    -1,
1055 <     285,    -1,   284,    -1,     1,   245,    -1,   105,   248,   136,
1056 <     245,    -1,    46,   248,   136,   245,    -1,    36,   248,   136,
1057 <     245,    -1,    88,   247,   287,   246,   245,    -1,   287,   288,
1058 <      -1,   288,    -1,   289,    -1,   290,    -1,   291,    -1,     1,
1059 <     245,    -1,   236,   248,   180,   245,    -1,   223,   248,   180,
1060 <     245,    -1,    -1,   292,   244,   247,   293,   246,   245,    -1,
1061 <     293,   294,    -1,   294,    -1,   295,    -1,   297,    -1,   296,
1062 <      -1,     1,   245,    -1,   105,   248,   136,   245,    -1,   243,
1063 <     248,   256,   245,    -1,   243,   248,   215,   245,    -1,    -1,
1064 <     170,   298,   248,   299,   245,    -1,   299,   249,   300,    -1,
1065 <     300,    -1,   231,    -1,   120,    -1,    56,    -1,   195,    -1,
1066 <      79,    -1,    77,    -1,   194,    -1,    -1,   120,   302,   247,
1067 <     303,   246,   245,    -1,   303,   304,    -1,   304,    -1,   305,
1068 <      -1,   306,    -1,   307,    -1,   311,    -1,   310,    -1,   308,
1069 <      -1,   309,    -1,   315,    -1,     1,   245,    -1,   105,   248,
1070 <     136,   245,    -1,   231,   248,   136,   245,    -1,   130,   248,
1071 <     136,   245,    -1,    48,   248,   180,   245,    -1,   149,   248,
1072 <     136,   245,    -1,    25,   248,   136,   245,    -1,    -1,   212,
1073 <     312,   248,   313,   245,    -1,   313,   249,   314,    -1,   314,
1074 <      -1,   187,    -1,   190,    -1,   191,    -1,   193,    -1,   194,
1075 <      -1,   198,    -1,    66,    -1,   209,    -1,   204,    -1,   206,
1076 <      -1,   213,    -1,   210,    -1,   197,    -1,   205,    -1,   208,
1077 <      -1,   199,    -1,   219,    -1,   188,    -1,   189,    -1,   202,
1078 <      -1,    -1,    52,   316,   248,   317,   245,    -1,   317,   249,
1079 <     318,    -1,   318,    -1,    62,    -1,   144,    -1,    79,    -1,
1080 <     230,    -1,   195,    -1,   214,    -1,   240,    -1,    56,    -1,
1081 <      37,    -1,   220,    -1,   142,    -1,     5,    -1,   110,    -1,
1082 <     205,    -1,   218,    -1,   124,    -1,   145,    -1,   103,    -1,
1083 <      -1,    25,   320,   247,   321,   246,   245,    -1,   321,   322,
1084 <      -1,   322,    -1,   323,    -1,   333,    -1,   334,    -1,   324,
1085 <      -1,   325,    -1,   335,    -1,   326,    -1,   327,    -1,   328,
1086 <      -1,   329,    -1,   330,    -1,   331,    -1,   332,    -1,     1,
1087 <     245,    -1,   105,   248,   136,   245,    -1,   133,   248,   254,
1088 <     245,    -1,   134,   248,   254,   245,    -1,   118,   248,   115,
1089 <     245,    -1,    29,   248,   254,   245,    -1,    97,   248,   115,
1090 <     245,    -1,    92,   248,   115,   245,    -1,    94,   248,   115,
1091 <     245,    -1,    93,   248,   115,   245,    -1,   161,   248,   256,
1092 <     245,    -1,    22,   248,   115,   245,    -1,    23,   248,   115,
1093 <     245,    -1,   117,   248,   115,   245,    -1,    -1,    87,   337,
1094 <     247,   342,   246,   245,    -1,    -1,    52,   339,   248,   340,
1095 <     245,    -1,   340,   249,   341,    -1,   341,    -1,   211,    -1,
1096 <      66,    -1,   207,    -1,   342,   343,    -1,   343,    -1,   344,
1097 <      -1,   338,    -1,   348,    -1,   349,    -1,     1,   245,    -1,
1098 <      -1,   135,   248,   346,   345,   245,    -1,   346,   249,   347,
1099 <      -1,   347,    -1,   115,    -1,   115,   185,   115,    -1,    76,
1100 <     248,   136,   245,    -1,    71,   248,   136,   245,    -1,    -1,
1101 <      63,   351,   247,   352,   246,   245,    -1,   352,   353,    -1,
1102 <     353,    -1,   354,    -1,   355,    -1,   356,    -1,   358,    -1,
1103 <     362,    -1,   363,    -1,   364,    -1,   357,    -1,     1,   245,
1104 <      -1,   231,   248,   136,   245,    -1,   130,   248,   136,   245,
1105 <      -1,    25,   248,   136,   245,    -1,    48,   248,   180,   245,
1106 <      -1,    -1,    52,   359,   248,   360,   245,    -1,   360,   249,
1107 <     361,    -1,   361,    -1,   174,    -1,    49,    -1,    80,    -1,
1108 <      64,    -1,    20,    -1,   114,    -1,    58,    -1,   155,    -1,
1109 <     106,    -1,   173,   248,   136,   245,    -1,   140,   248,   136,
1110 <     245,    -1,   139,   248,   115,   245,    -1,    -1,   154,   366,
1111 <     247,   367,   246,   245,    -1,   367,   368,    -1,   368,    -1,
1112 <     369,    -1,   370,    -1,   371,    -1,     1,   245,    -1,   138,
1113 <     248,   136,   245,    -1,    21,   248,   136,   245,    -1,   109,
1114 <     248,   136,   245,    -1,   221,   247,   373,   246,   245,    -1,
1115 <     373,   374,    -1,   374,    -1,   375,    -1,     1,    -1,   105,
1116 <     248,   136,   245,    -1,    -1,   168,   377,   247,   378,   246,
1117 <     245,    -1,   378,   379,    -1,   379,    -1,   380,    -1,   381,
1118 <      -1,   382,    -1,     1,   245,    -1,   105,   248,   136,   245,
1119 <      -1,   231,   248,   136,   245,    -1,    -1,   170,   383,   248,
1120 <     384,   245,    -1,   384,   249,   385,    -1,   385,    -1,    79,
1121 <      -1,   230,    -1,   195,    -1,   214,    -1,   240,    -1,   217,
1122 <      -1,   154,    -1,   216,    -1,   202,    -1,   186,    -1,    -1,
1123 <     169,   387,   247,   388,   246,   245,    -1,   388,   389,    -1,
1124 <     389,    -1,   390,    -1,   391,    -1,     1,   245,    -1,   105,
1125 <     248,   136,   245,    -1,    -1,   170,   392,   248,   393,   245,
1126 <      -1,   393,   249,   394,    -1,   394,    -1,    79,    -1,   230,
1127 <      -1,   195,    -1,   214,    -1,   240,    -1,   217,    -1,   154,
1128 <      -1,   216,    -1,   202,    -1,   186,    -1,    -1,    28,   396,
1129 <     247,   397,   246,   245,    -1,   397,   398,    -1,   398,    -1,
1130 <     399,    -1,   400,    -1,   401,    -1,   402,    -1,   403,    -1,
1131 <     405,    -1,   404,    -1,   406,    -1,   412,    -1,   413,    -1,
1132 <     414,    -1,   411,    -1,   410,    -1,   415,    -1,     1,   245,
1133 <      -1,   105,   248,   136,   245,    -1,    71,   248,   136,   245,
1134 <      -1,   238,   248,   136,   245,    -1,   162,   248,   136,   245,
1135 <      -1,     3,   248,   136,   245,    -1,   135,   248,   115,   245,
1136 <      -1,     6,   248,   200,   245,    -1,     6,   248,   201,   245,
1137 <      -1,    -1,    52,   407,   248,   408,   245,    -1,   408,   249,
1138 <     409,    -1,   409,    -1,    26,    -1,    30,    -1,    10,    -1,
1139 <      12,    -1,   225,    -1,   149,   248,   136,   245,    -1,    48,
1140 <     248,   180,   245,    -1,    73,   248,   136,   245,    -1,    85,
1141 <     248,   136,   245,    -1,    25,   248,   136,   245,    -1,    24,
1142 <     248,   136,   245,    -1,    -1,    77,   417,   247,   422,   246,
1143 <     245,    -1,    -1,   170,   419,   248,   420,   245,    -1,   420,
1144 <     249,   421,    -1,   421,    -1,   141,    -1,   422,   423,    -1,
1145 <     423,    -1,   424,    -1,   425,    -1,   418,    -1,     1,    -1,
1146 <     231,   248,   136,   245,    -1,   138,   248,   136,   245,    -1,
1147 <      -1,    35,   427,   247,   428,   246,   245,    -1,   428,   429,
1148 <      -1,   429,    -1,   430,    -1,   431,    -1,     1,    -1,    76,
1149 <     248,   136,   245,    -1,   138,   248,   136,   245,    -1,    50,
1150 <     247,   433,   246,   245,    -1,   433,   434,    -1,   434,    -1,
1151 <     435,    -1,     1,    -1,    76,   248,   136,   245,    -1,    -1,
1152 <      54,   437,   247,   442,   246,   245,    -1,    -1,   170,   439,
1153 <     248,   440,   245,    -1,   440,   249,   441,    -1,   441,    -1,
1154 <     141,    -1,   442,   443,    -1,   443,    -1,   444,    -1,   445,
1155 <      -1,   438,    -1,     1,    -1,   105,   248,   136,   245,    -1,
1156 <     138,   248,   136,   245,    -1,    55,   247,   447,   246,   245,
1157 <      -1,   447,   448,    -1,   448,    -1,   456,    -1,   457,    -1,
1158 <     459,    -1,   460,    -1,   461,    -1,   462,    -1,   463,    -1,
1159 <     464,    -1,   465,    -1,   466,    -1,   455,    -1,   468,    -1,
1160 <     469,    -1,   470,    -1,   471,    -1,   486,    -1,   473,    -1,
1161 <     475,    -1,   477,    -1,   476,    -1,   480,    -1,   474,    -1,
1162 <     481,    -1,   482,    -1,   483,    -1,   484,    -1,   485,    -1,
1163 <     501,    -1,   487,    -1,   491,    -1,   492,    -1,   497,    -1,
1164 <     478,    -1,   479,    -1,   507,    -1,   505,    -1,   506,    -1,
1165 <     488,    -1,   458,    -1,   489,    -1,   490,    -1,   508,    -1,
1166 <     496,    -1,   467,    -1,   494,    -1,   495,    -1,   454,    -1,
1167 <     450,    -1,   451,    -1,   452,    -1,   453,    -1,   472,    -1,
1168 <     449,    -1,   493,    -1,     1,    -1,    99,   248,   115,   245,
1169 <      -1,    60,   248,   115,   245,    -1,    61,   248,   115,   245,
1170 <      -1,   237,   248,   180,   245,    -1,   143,   248,   254,   245,
1171 <      -1,   167,   248,   180,   245,    -1,    78,   248,   254,   245,
1172 <      -1,    70,   248,   180,   245,    -1,    74,   248,   180,   245,
1173 <      -1,    42,   248,   180,   245,    -1,    51,   248,   180,   245,
1174 <      -1,     8,   248,   180,   245,    -1,    96,   248,   254,   245,
1175 <      -1,    95,   248,   115,   245,    -1,    89,   248,   115,   245,
1176 <      -1,     9,   248,   254,   245,    -1,   184,   248,   254,   245,
1177 <      -1,   183,   248,   254,   245,    -1,    65,   248,   115,   245,
1178 <      -1,    82,   248,   180,   245,    -1,    81,   248,   136,   245,
1179 <      -1,    75,   248,   180,   245,    -1,   242,   248,   180,   245,
1180 <      -1,   175,   248,   180,   245,    -1,   178,   248,   180,   245,
1181 <      -1,   179,   248,   180,   245,    -1,   177,   248,   180,   245,
1182 <      -1,   177,   248,   181,   245,    -1,   176,   248,   180,   245,
1183 <      -1,   176,   248,   181,   245,    -1,   128,   248,   254,   245,
1184 <      -1,    19,   248,   254,   245,    -1,   121,   248,   180,   245,
1185 <      -1,   129,   248,   254,   245,    -1,   171,   248,   180,   245,
1186 <      -1,   113,   248,   180,   245,    -1,   226,   248,   180,   245,
1187 <      -1,   123,   248,   180,   245,    -1,   100,   248,   136,   245,
1188 <      -1,    43,   248,   115,   245,    -1,    98,   248,   115,   245,
1189 <      -1,   165,   248,   136,   245,    -1,    31,   248,   136,   245,
1190 <      -1,    27,   248,   115,   245,    -1,   232,   248,   180,   245,
1191 <      -1,    45,   248,   136,   245,    -1,   222,   248,   136,   245,
1192 <      -1,   132,   248,   180,   245,    -1,    38,   248,   180,   245,
1193 <      -1,   224,   248,   254,   245,    -1,    -1,   125,   498,   248,
1194 <     499,   245,    -1,   499,   249,   500,    -1,   500,    -1,   187,
1195 <      -1,   190,    -1,   191,    -1,   193,    -1,   194,    -1,   198,
1196 <      -1,    66,    -1,   209,    -1,   204,    -1,   206,    -1,   213,
1197 <      -1,   210,    -1,   197,    -1,   205,    -1,   208,    -1,   199,
1198 <      -1,   219,    -1,   188,    -1,   189,    -1,   202,    -1,    -1,
1199 <     122,   502,   248,   503,   245,    -1,   503,   249,   504,    -1,
1200 <     504,    -1,   187,    -1,   190,    -1,   191,    -1,   193,    -1,
1201 <     194,    -1,   198,    -1,   209,    -1,    66,    -1,   204,    -1,
1202 <     206,    -1,   213,    -1,   210,    -1,   197,    -1,   205,    -1,
1203 <     208,    -1,   199,    -1,   219,    -1,   188,    -1,   189,    -1,
1204 <     202,    -1,   101,   248,   115,   245,    -1,   102,   248,   115,
1205 <     245,    -1,    32,   248,   115,   245,    -1,   192,   248,   256,
1206 <     245,    -1,    -1,    57,   510,   247,   511,   246,   245,    -1,
1207 <     511,   512,    -1,   512,    -1,   513,    -1,   514,    -1,   515,
1208 <      -1,   519,    -1,   520,    -1,   521,    -1,     1,    -1,    47,
1209 <     248,   180,   245,    -1,    44,   248,   254,   245,    -1,    -1,
1210 <      88,   516,   248,   517,   245,    -1,   517,   249,   518,    -1,
1211 <     518,    -1,   182,    -1,    11,    -1,   231,   248,   136,   245,
1212 <      -1,   105,   248,   136,   245,    -1,    -1,     4,   522,   248,
1213 <     523,   245,    -1,   523,   249,   524,    -1,   524,    -1,   182,
1214 <      -1,    11,    -1,    21,   247,   526,   246,   245,    -1,   526,
1215 <     527,    -1,   527,    -1,   530,    -1,   531,    -1,   532,    -1,
1216 <     533,    -1,   538,    -1,   534,    -1,   535,    -1,   536,    -1,
1217 <     537,    -1,   539,    -1,   540,    -1,   541,    -1,   529,    -1,
1218 <     542,    -1,   543,    -1,   544,    -1,   545,    -1,   528,    -1,
1219 <       1,    -1,    39,   248,   180,   245,    -1,   146,   248,   180,
1220 <     245,    -1,    41,   248,   180,   245,    -1,   233,   248,   180,
1221 <     245,    -1,   234,   248,   180,   245,    -1,   235,   248,   180,
1222 <     245,    -1,    83,   248,   254,   245,    -1,    84,   248,   254,
1223 <     245,    -1,    91,   248,   115,   245,    -1,   137,   248,   180,
1285 <     245,    -1,    90,   248,   115,   245,    -1,    34,   248,   115,
1286 <     245,    -1,    33,   248,   115,   245,    -1,   111,   248,   180,
1287 <     245,    -1,   112,   248,   180,   245,    -1,    13,   248,   180,
1288 <     245,    -1,   126,   248,   115,   245,    -1,   127,   248,   254,
1289 <     245,    -1,   163,   247,   547,   246,   245,    -1,   547,   548,
1290 <      -1,   548,    -1,   549,    -1,   550,    -1,   552,    -1,   554,
1291 <      -1,   553,    -1,   551,    -1,   555,    -1,     1,    -1,    53,
1292 <     248,   180,   245,    -1,    69,   248,   180,   245,    -1,    67,
1293 <     248,   136,   245,    -1,    86,   248,   254,   245,    -1,    66,
1294 <     248,   180,   245,    -1,    40,   248,   180,   245,    -1,    68,
1295 <     248,   180,   245,    -1
1030 >     225,     0,    -1,    -1,   225,   226,    -1,   258,    -1,   264,
1031 >      -1,   278,    -1,   485,    -1,   296,    -1,   314,    -1,   328,
1032 >      -1,   236,    -1,   502,    -1,   343,    -1,   350,    -1,   354,
1033 >      -1,   364,    -1,   373,    -1,   393,    -1,   403,    -1,   409,
1034 >      -1,   423,    -1,   413,    -1,   231,    -1,     1,   219,    -1,
1035 >       1,   220,    -1,    -1,   228,    -1,   101,   227,    -1,   101,
1036 >     141,   227,    -1,   101,   142,   227,    -1,   101,   143,   227,
1037 >      -1,   101,   144,   227,    -1,   101,   145,   227,    -1,    -1,
1038 >     230,    -1,   101,   229,    -1,   101,     9,   229,    -1,   101,
1039 >      10,   229,    -1,   101,    11,   229,    -1,    90,   221,   232,
1040 >     220,   219,    -1,   232,   233,    -1,   233,    -1,   234,    -1,
1041 >     235,    -1,     1,   219,    -1,    89,   222,   120,   219,    -1,
1042 >     115,   222,   120,   219,    -1,   149,   221,   237,   220,   219,
1043 >      -1,   237,   238,    -1,   238,    -1,   249,    -1,   254,    -1,
1044 >     257,    -1,   251,    -1,   252,    -1,   253,    -1,   256,    -1,
1045 >     247,    -1,   246,    -1,   255,    -1,   250,    -1,   245,    -1,
1046 >     239,    -1,   240,    -1,   248,    -1,     1,   219,    -1,   135,
1047 >     222,   241,   219,    -1,   136,   222,   243,   219,    -1,   241,
1048 >     223,   242,    -1,   242,    -1,   137,    -1,   138,    -1,   243,
1049 >     223,   244,    -1,   244,    -1,   137,    -1,   138,    -1,   133,
1050 >     222,   120,   219,    -1,   131,   222,   120,   219,    -1,   134,
1051 >     222,   120,   219,    -1,   174,   222,   120,   219,    -1,    91,
1052 >     222,   120,   219,    -1,   150,   222,   120,   219,    -1,    24,
1053 >     222,   120,   219,    -1,    94,   222,   120,   219,    -1,    93,
1054 >     222,   120,   219,    -1,   213,   222,   120,   219,    -1,   214,
1055 >     222,   120,   219,    -1,   184,   222,   101,   219,    -1,    57,
1056 >     222,   163,   219,    -1,     4,   221,   259,   220,   219,    -1,
1057 >     259,   260,    -1,   260,    -1,   261,    -1,   263,    -1,   262,
1058 >      -1,     1,   219,    -1,    91,   222,   120,   219,    -1,    31,
1059 >     222,   120,   219,    -1,    24,   222,   120,   219,    -1,    73,
1060 >     221,   265,   220,   219,    -1,   265,   266,    -1,   266,    -1,
1061 >     267,    -1,   268,    -1,     1,   219,    -1,   211,   222,   163,
1062 >     219,    -1,    -1,   269,   218,   221,   270,   220,   219,    -1,
1063 >     270,   271,    -1,   271,    -1,   272,    -1,   274,    -1,   273,
1064 >      -1,     1,   219,    -1,    91,   222,   120,   219,    -1,   217,
1065 >     222,   230,   219,    -1,   217,   222,   198,   219,    -1,    -1,
1066 >     154,   275,   222,   276,   219,    -1,   276,   223,   277,    -1,
1067 >     277,    -1,   209,    -1,   104,    -1,    40,    -1,   177,    -1,
1068 >      64,    -1,    62,    -1,   176,    -1,    -1,   104,   279,   221,
1069 >     280,   220,   219,    -1,   280,   281,    -1,   281,    -1,   282,
1070 >      -1,   283,    -1,   284,    -1,   288,    -1,   287,    -1,   285,
1071 >      -1,   286,    -1,   292,    -1,     1,   219,    -1,    91,   222,
1072 >     120,   219,    -1,   209,   222,   120,   219,    -1,   114,   222,
1073 >     120,   219,    -1,    32,   222,   163,   219,    -1,   132,   222,
1074 >     120,   219,    -1,    17,   222,   120,   219,    -1,    -1,   195,
1075 >     289,   222,   290,   219,    -1,   290,   223,   291,    -1,   291,
1076 >      -1,   169,    -1,   172,    -1,   173,    -1,   175,    -1,   176,
1077 >      -1,   179,    -1,    51,    -1,   192,    -1,   185,    -1,   188,
1078 >      -1,   196,    -1,   193,    -1,   178,    -1,   186,    -1,   190,
1079 >      -1,   180,    -1,   202,    -1,   170,    -1,   171,    -1,   183,
1080 >      -1,    -1,    36,   293,   222,   294,   219,    -1,   294,   223,
1081 >     295,    -1,   295,    -1,    47,    -1,   128,    -1,    64,    -1,
1082 >     208,    -1,   177,    -1,   197,    -1,   215,    -1,    40,    -1,
1083 >      25,    -1,   203,    -1,   126,    -1,     4,    -1,    96,    -1,
1084 >     186,    -1,   201,    -1,   108,    -1,   129,    -1,   191,    -1,
1085 >      89,    -1,    -1,    17,   297,   221,   298,   220,   219,    -1,
1086 >     298,   299,    -1,   299,    -1,   300,    -1,   311,    -1,   312,
1087 >      -1,   301,    -1,   302,    -1,   313,    -1,   303,    -1,   304,
1088 >      -1,   305,    -1,   306,    -1,   307,    -1,   308,    -1,   309,
1089 >      -1,   310,    -1,     1,   219,    -1,    91,   222,   120,   219,
1090 >      -1,   117,   222,   228,   219,    -1,   118,   222,   228,   219,
1091 >      -1,   103,   222,   101,   219,    -1,    19,   222,   228,   219,
1092 >      -1,    83,   222,   101,   219,    -1,    78,   222,   101,   219,
1093 >      -1,    80,   222,   101,   219,    -1,    79,   222,   101,   219,
1094 >      -1,   146,   222,   230,   219,    -1,   187,   222,   230,   219,
1095 >      -1,    15,   222,   101,   219,    -1,    16,   222,   101,   219,
1096 >      -1,   102,   222,   101,   219,    -1,    -1,    72,   315,   221,
1097 >     320,   220,   219,    -1,    -1,    36,   317,   222,   318,   219,
1098 >      -1,   318,   223,   319,    -1,   319,    -1,   194,    -1,    51,
1099 >      -1,   189,    -1,   320,   321,    -1,   321,    -1,   322,    -1,
1100 >     316,    -1,   326,    -1,   327,    -1,     1,   219,    -1,    -1,
1101 >     119,   222,   324,   323,   219,    -1,   324,   223,   325,    -1,
1102 >     325,    -1,   101,    -1,   101,   167,   101,    -1,    61,   222,
1103 >     120,   219,    -1,    56,   222,   120,   219,    -1,    -1,    48,
1104 >     329,   221,   330,   220,   219,    -1,   330,   331,    -1,   331,
1105 >      -1,   332,    -1,   333,    -1,   334,    -1,   336,    -1,   340,
1106 >      -1,   341,    -1,   342,    -1,   335,    -1,     1,   219,    -1,
1107 >     209,   222,   120,   219,    -1,   114,   222,   120,   219,    -1,
1108 >      17,   222,   120,   219,    -1,    32,   222,   163,   219,    -1,
1109 >      -1,    36,   337,   222,   338,   219,    -1,   338,   223,   339,
1110 >      -1,   339,    -1,   157,    -1,    33,    -1,    65,    -1,    49,
1111 >      -1,    13,    -1,   100,    -1,    43,    -1,   140,    -1,    92,
1112 >      -1,   156,   222,   120,   219,    -1,   124,   222,   120,   219,
1113 >      -1,   123,   222,   101,   219,    -1,    -1,   139,   344,   221,
1114 >     345,   220,   219,    -1,   345,   346,    -1,   346,    -1,   347,
1115 >      -1,   348,    -1,   349,    -1,     1,   219,    -1,   122,   222,
1116 >     120,   219,    -1,    14,   222,   120,   219,    -1,    95,   222,
1117 >     120,   219,    -1,   204,   221,   351,   220,   219,    -1,   351,
1118 >     352,    -1,   352,    -1,   353,    -1,     1,    -1,    91,   222,
1119 >     120,   219,    -1,    -1,   152,   355,   221,   356,   220,   219,
1120 >      -1,   356,   357,    -1,   357,    -1,   358,    -1,   359,    -1,
1121 >     360,    -1,     1,   219,    -1,    91,   222,   120,   219,    -1,
1122 >     209,   222,   120,   219,    -1,    -1,   154,   361,   222,   362,
1123 >     219,    -1,   362,   223,   363,    -1,   363,    -1,    64,    -1,
1124 >     208,    -1,   177,    -1,   197,    -1,   215,    -1,   200,    -1,
1125 >     139,    -1,   199,    -1,   183,    -1,   168,    -1,    -1,   153,
1126 >     365,   221,   366,   220,   219,    -1,   366,   367,    -1,   367,
1127 >      -1,   368,    -1,   369,    -1,     1,   219,    -1,    91,   222,
1128 >     120,   219,    -1,    -1,   154,   370,   222,   371,   219,    -1,
1129 >     371,   223,   372,    -1,   372,    -1,    64,    -1,   208,    -1,
1130 >     177,    -1,   197,    -1,   215,    -1,   200,    -1,   139,    -1,
1131 >     199,    -1,   183,    -1,   168,    -1,    -1,    18,   374,   221,
1132 >     375,   220,   219,    -1,   375,   376,    -1,   376,    -1,   377,
1133 >      -1,   378,    -1,   379,    -1,   380,    -1,   381,    -1,   383,
1134 >      -1,   382,    -1,   392,    -1,   384,    -1,   389,    -1,   390,
1135 >      -1,   391,    -1,   388,    -1,     1,   219,    -1,    91,   222,
1136 >     120,   219,    -1,    56,   222,   120,   219,    -1,   213,   222,
1137 >     120,   219,    -1,   147,   222,   120,   219,    -1,     3,   222,
1138 >     120,   219,    -1,   119,   222,   101,   219,    -1,     5,   222,
1139 >     181,   219,    -1,     5,   222,   182,   219,    -1,    -1,    36,
1140 >     385,   222,   386,   219,    -1,   386,   223,   387,    -1,   387,
1141 >      -1,     8,    -1,   194,    -1,    32,   222,   163,   219,    -1,
1142 >      58,   222,   120,   219,    -1,    70,   222,   120,   219,    -1,
1143 >      17,   222,   120,   219,    -1,   174,   222,   120,   219,    -1,
1144 >      -1,    62,   394,   221,   399,   220,   219,    -1,    -1,   154,
1145 >     396,   222,   397,   219,    -1,   397,   223,   398,    -1,   398,
1146 >      -1,   125,    -1,   399,   400,    -1,   400,    -1,   401,    -1,
1147 >     402,    -1,   395,    -1,     1,    -1,   209,   222,   120,   219,
1148 >      -1,   122,   222,   120,   219,    -1,    -1,    23,   404,   221,
1149 >     405,   220,   219,    -1,   405,   406,    -1,   406,    -1,   407,
1150 >      -1,   408,    -1,     1,    -1,    61,   222,   120,   219,    -1,
1151 >     122,   222,   120,   219,    -1,    34,   221,   410,   220,   219,
1152 >      -1,   410,   411,    -1,   411,    -1,   412,    -1,     1,    -1,
1153 >      61,   222,   120,   219,    -1,    -1,    38,   414,   221,   419,
1154 >     220,   219,    -1,    -1,   154,   416,   222,   417,   219,    -1,
1155 >     417,   223,   418,    -1,   418,    -1,   125,    -1,   419,   420,
1156 >      -1,   420,    -1,   421,    -1,   422,    -1,   415,    -1,     1,
1157 >      -1,    91,   222,   120,   219,    -1,   122,   222,   120,   219,
1158 >      -1,    39,   221,   424,   220,   219,    -1,   424,   425,    -1,
1159 >     425,    -1,   436,    -1,   437,    -1,   439,    -1,   440,    -1,
1160 >     441,    -1,   442,    -1,   443,    -1,   444,    -1,   445,    -1,
1161 >     446,    -1,   435,    -1,   448,    -1,   449,    -1,   450,    -1,
1162 >     451,    -1,   466,    -1,   453,    -1,   455,    -1,   457,    -1,
1163 >     456,    -1,   460,    -1,   454,    -1,   461,    -1,   462,    -1,
1164 >     463,    -1,   464,    -1,   465,    -1,   478,    -1,   467,    -1,
1165 >     468,    -1,   469,    -1,   474,    -1,   458,    -1,   459,    -1,
1166 >     484,    -1,   482,    -1,   483,    -1,   438,    -1,   473,    -1,
1167 >     447,    -1,   471,    -1,   472,    -1,   434,    -1,   427,    -1,
1168 >     428,    -1,   429,    -1,   430,    -1,   431,    -1,   432,    -1,
1169 >     433,    -1,   452,    -1,   426,    -1,   470,    -1,     1,    -1,
1170 >      85,   222,   101,   219,    -1,    42,   222,   163,   219,    -1,
1171 >      41,   222,   228,   219,    -1,    44,   222,   228,   219,    -1,
1172 >      45,   222,   101,   219,    -1,    46,   222,   101,   219,    -1,
1173 >     212,   222,   163,   219,    -1,   127,   222,   228,   219,    -1,
1174 >     151,   222,   163,   219,    -1,    63,   222,   228,   219,    -1,
1175 >      55,   222,   163,   219,    -1,    59,   222,   163,   219,    -1,
1176 >      28,   222,   163,   219,    -1,    35,   222,   163,   219,    -1,
1177 >       6,   222,   163,   219,    -1,    82,   222,   228,   219,    -1,
1178 >      81,   222,   101,   219,    -1,    74,   222,   101,   219,    -1,
1179 >       7,   222,   228,   219,    -1,   166,   222,   228,   219,    -1,
1180 >     165,   222,   228,   219,    -1,    50,   222,   101,   219,    -1,
1181 >      67,   222,   163,   219,    -1,    66,   222,   120,   219,    -1,
1182 >      60,   222,   163,   219,    -1,   216,   222,   163,   219,    -1,
1183 >     158,   222,   163,   219,    -1,   161,   222,   163,   219,    -1,
1184 >     162,   222,   163,   219,    -1,   160,   222,   163,   219,    -1,
1185 >     160,   222,   164,   219,    -1,   159,   222,   163,   219,    -1,
1186 >     159,   222,   164,   219,    -1,   112,   222,   228,   219,    -1,
1187 >      12,   222,   228,   219,    -1,   105,   222,   163,   219,    -1,
1188 >     113,   222,   228,   219,    -1,   155,   222,   163,   219,    -1,
1189 >      99,   222,   163,   219,    -1,   207,   222,   163,   219,    -1,
1190 >     107,   222,   163,   219,    -1,    86,   222,   120,   219,    -1,
1191 >      29,   222,   101,   219,    -1,    84,   222,   101,   219,    -1,
1192 >     210,   222,   163,   219,    -1,    30,   222,   120,   219,    -1,
1193 >     205,   222,   120,   219,    -1,   116,   222,   163,   219,    -1,
1194 >      26,   222,   163,   219,    -1,   206,   222,   228,   219,    -1,
1195 >      -1,   109,   475,   222,   476,   219,    -1,   476,   223,   477,
1196 >      -1,   477,    -1,   169,    -1,   172,    -1,   173,    -1,   175,
1197 >      -1,   176,    -1,   179,    -1,    51,    -1,   192,    -1,   185,
1198 >      -1,   188,    -1,   196,    -1,   193,    -1,   178,    -1,   186,
1199 >      -1,   190,    -1,   180,    -1,   202,    -1,   170,    -1,   171,
1200 >      -1,   183,    -1,    -1,   106,   479,   222,   480,   219,    -1,
1201 >     480,   223,   481,    -1,   481,    -1,   169,    -1,   172,    -1,
1202 >     173,    -1,   175,    -1,   176,    -1,   179,    -1,   192,    -1,
1203 >      51,    -1,   185,    -1,   188,    -1,   196,    -1,   193,    -1,
1204 >     178,    -1,   186,    -1,   190,    -1,   180,    -1,   202,    -1,
1205 >     170,    -1,   171,    -1,   183,    -1,    87,   222,   101,   219,
1206 >      -1,    88,   222,   101,   219,    -1,    20,   222,   101,   219,
1207 >      -1,    14,   221,   486,   220,   219,    -1,   486,   487,    -1,
1208 >     487,    -1,   495,    -1,   490,    -1,   491,    -1,   492,    -1,
1209 >     493,    -1,   494,    -1,   496,    -1,   497,    -1,   498,    -1,
1210 >     489,    -1,   499,    -1,   500,    -1,   501,    -1,   488,    -1,
1211 >       1,    -1,    27,   222,   163,   219,    -1,   130,   222,   163,
1212 >     219,    -1,    68,   222,   228,   219,    -1,    69,   222,   228,
1213 >     219,    -1,    77,   222,   101,   219,    -1,    76,   222,   101,
1214 >     219,    -1,   121,   222,   163,   219,    -1,    75,   222,   101,
1215 >     219,    -1,    22,   222,   101,   219,    -1,    21,   222,   101,
1216 >     219,    -1,    97,   222,   163,   219,    -1,    98,   222,   163,
1217 >     219,    -1,   110,   222,   101,   219,    -1,   111,   222,   228,
1218 >     219,    -1,   148,   221,   503,   220,   219,    -1,   503,   504,
1219 >      -1,   504,    -1,   505,    -1,   506,    -1,   508,    -1,   509,
1220 >      -1,   507,    -1,   510,    -1,     1,    -1,    37,   222,   163,
1221 >     219,    -1,    54,   222,   163,   219,    -1,    52,   222,   120,
1222 >     219,    -1,    71,   222,   228,   219,    -1,    51,   222,   163,
1223 >     219,    -1,    53,   222,   163,   219,    -1
1224   };
1225  
1226   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1227   static const yytype_uint16 yyrline[] =
1228   {
1229 <       0,   380,   380,   381,   384,   385,   386,   387,   388,   389,
1230 <     390,   391,   392,   393,   394,   395,   396,   397,   398,   399,
1231 <     400,   401,   402,   403,   404,   405,   406,   410,   410,   411,
1232 <     415,   419,   423,   427,   431,   437,   437,   438,   439,   440,
1233 <     441,   448,   451,   451,   452,   452,   452,   454,   460,   467,
1234 <     469,   469,   470,   470,   471,   471,   472,   472,   473,   474,
1235 <     474,   475,   475,   476,   477,   481,   480,   499,   499,   500,
1236 <     506,   514,   548,   608,   623,   638,   647,   661,   670,   698,
1237 <     728,   751,   760,   762,   762,   763,   763,   764,   764,   766,
1238 <     775,   784,   796,   797,   797,   799,   799,   799,   800,   802,
1239 <     808,   815,   815,   825,   826,   828,   828,   829,   829,   831,
1240 <     836,   839,   845,   844,   850,   850,   851,   855,   859,   863,
1241 <     867,   871,   875,   886,   885,   983,   983,   984,   984,   984,
1242 <     985,   985,   985,   986,   986,   986,   988,  1000,  1037,  1049,
1243 <    1060,  1102,  1112,  1111,  1117,  1117,  1118,  1122,  1126,  1130,
1229 >       0,   334,   334,   335,   338,   339,   340,   341,   342,   343,
1230 >     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
1231 >     354,   355,   356,   357,   358,   359,   363,   363,   364,   368,
1232 >     372,   376,   380,   384,   390,   390,   391,   392,   393,   394,
1233 >     401,   404,   404,   405,   405,   405,   407,   413,   420,   422,
1234 >     422,   423,   423,   424,   424,   425,   425,   426,   426,   427,
1235 >     427,   428,   428,   429,   429,   430,   431,   434,   435,   437,
1236 >     437,   438,   444,   452,   452,   453,   459,   467,   506,   565,
1237 >     593,   601,   616,   631,   640,   654,   663,   691,   721,   744,
1238 >     753,   755,   755,   756,   756,   757,   757,   759,   768,   777,
1239 >     789,   790,   790,   792,   792,   793,   795,   802,   802,   812,
1240 >     813,   815,   815,   816,   816,   818,   823,   826,   832,   831,
1241 >     837,   837,   838,   842,   846,   850,   854,   858,   862,   873,
1242 >     872,   970,   970,   971,   971,   971,   972,   972,   972,   973,
1243 >     973,   973,   975,   984,  1021,  1033,  1044,  1086,  1096,  1095,
1244 >    1101,  1101,  1102,  1106,  1110,  1114,  1118,  1122,  1126,  1130,
1245      1134,  1138,  1142,  1146,  1150,  1154,  1158,  1162,  1166,  1170,
1246 <    1174,  1178,  1182,  1186,  1190,  1194,  1201,  1200,  1206,  1206,
1246 >    1174,  1178,  1185,  1184,  1190,  1190,  1191,  1195,  1199,  1203,
1247      1207,  1211,  1215,  1219,  1223,  1227,  1231,  1235,  1239,  1243,
1248 <    1247,  1251,  1255,  1259,  1263,  1267,  1271,  1275,  1286,  1285,
1249 <    1335,  1335,  1336,  1337,  1337,  1338,  1339,  1340,  1341,  1342,
1250 <    1343,  1344,  1345,  1346,  1347,  1348,  1350,  1359,  1365,  1371,
1251 <    1377,  1383,  1389,  1395,  1401,  1407,  1413,  1419,  1425,  1435,
1252 <    1434,  1451,  1450,  1455,  1455,  1456,  1460,  1464,  1472,  1472,
1253 <    1473,  1473,  1473,  1473,  1473,  1475,  1475,  1477,  1477,  1479,
1254 <    1493,  1513,  1522,  1535,  1534,  1603,  1603,  1604,  1604,  1604,
1255 <    1604,  1605,  1605,  1605,  1606,  1606,  1608,  1645,  1658,  1667,
1256 <    1679,  1678,  1682,  1682,  1683,  1687,  1691,  1695,  1699,  1703,
1257 <    1707,  1711,  1715,  1722,  1741,  1751,  1765,  1764,  1780,  1780,
1258 <    1781,  1781,  1781,  1781,  1783,  1792,  1807,  1820,  1822,  1822,
1259 <    1823,  1823,  1825,  1841,  1840,  1856,  1856,  1857,  1857,  1857,
1260 <    1857,  1859,  1868,  1891,  1890,  1896,  1896,  1897,  1901,  1905,
1261 <    1909,  1913,  1917,  1921,  1925,  1929,  1933,  1943,  1942,  1959,
1262 <    1959,  1960,  1960,  1960,  1962,  1969,  1968,  1974,  1974,  1975,
1263 <    1979,  1983,  1987,  1991,  1995,  1999,  2003,  2007,  2011,  2021,
1264 <    2020,  2163,  2163,  2164,  2164,  2164,  2165,  2165,  2166,  2166,
1265 <    2167,  2167,  2167,  2168,  2168,  2169,  2169,  2170,  2172,  2184,
1266 <    2193,  2219,  2237,  2255,  2261,  2265,  2274,  2273,  2277,  2277,
1267 <    2278,  2288,  2292,  2296,  2300,  2306,  2347,  2358,  2371,  2384,
1268 <    2393,  2429,  2428,  2492,  2491,  2495,  2495,  2496,  2502,  2502,
1269 <    2503,  2503,  2503,  2503,  2505,  2524,  2534,  2533,  2556,  2556,
1270 <    2557,  2557,  2557,  2559,  2565,  2574,  2576,  2576,  2577,  2577,
1271 <    2579,  2598,  2597,  2645,  2644,  2648,  2648,  2649,  2655,  2655,
1272 <    2656,  2656,  2656,  2656,  2658,  2664,  2673,  2676,  2676,  2677,
1273 <    2677,  2678,  2678,  2679,  2679,  2680,  2680,  2681,  2681,  2682,
1274 <    2682,  2683,  2683,  2684,  2684,  2685,  2685,  2686,  2686,  2687,
1275 <    2687,  2688,  2688,  2689,  2689,  2690,  2691,  2691,  2692,  2692,
1276 <    2693,  2693,  2694,  2694,  2695,  2695,  2696,  2696,  2697,  2698,
1277 <    2698,  2699,  2699,  2700,  2701,  2702,  2702,  2703,  2703,  2704,
1278 <    2704,  2705,  2705,  2706,  2709,  2714,  2719,  2724,  2729,  2734,
1279 <    2739,  2744,  2749,  2754,  2759,  2764,  2769,  2774,  2779,  2784,
1280 <    2789,  2794,  2800,  2811,  2816,  2825,  2830,  2835,  2840,  2845,
1281 <    2850,  2853,  2858,  2861,  2866,  2871,  2876,  2881,  2886,  2891,
1282 <    2896,  2901,  2906,  2917,  2922,  2927,  2936,  2968,  2986,  2991,
1283 <    3000,  3009,  3014,  3019,  3025,  3024,  3029,  3029,  3030,  3033,
1284 <    3036,  3039,  3042,  3045,  3048,  3051,  3054,  3057,  3060,  3063,
1285 <    3066,  3069,  3072,  3075,  3078,  3081,  3084,  3087,  3093,  3092,
1286 <    3097,  3097,  3098,  3101,  3104,  3107,  3110,  3113,  3116,  3119,
1287 <    3122,  3125,  3128,  3131,  3134,  3137,  3140,  3143,  3146,  3149,
1288 <    3152,  3155,  3160,  3165,  3170,  3175,  3185,  3184,  3208,  3208,
1289 <    3209,  3210,  3211,  3212,  3213,  3214,  3215,  3217,  3223,  3230,
1290 <    3229,  3234,  3234,  3235,  3239,  3245,  3279,  3289,  3288,  3338,
1291 <    3338,  3339,  3343,  3352,  3355,  3355,  3356,  3356,  3357,  3357,
1292 <    3358,  3358,  3359,  3359,  3360,  3360,  3361,  3362,  3362,  3363,
1364 <    3363,  3364,  3364,  3365,  3365,  3367,  3372,  3377,  3382,  3387,
1365 <    3392,  3397,  3402,  3407,  3412,  3417,  3422,  3427,  3432,  3437,
1366 <    3442,  3447,  3452,  3460,  3463,  3463,  3464,  3464,  3465,  3466,
1367 <    3467,  3467,  3468,  3469,  3471,  3477,  3483,  3492,  3506,  3512,
1368 <    3518
1248 >    1247,  1251,  1255,  1259,  1263,  1274,  1273,  1323,  1323,  1324,
1249 >    1325,  1325,  1326,  1327,  1328,  1329,  1330,  1331,  1332,  1333,
1250 >    1334,  1335,  1335,  1336,  1338,  1347,  1353,  1359,  1365,  1371,
1251 >    1377,  1383,  1389,  1395,  1401,  1408,  1414,  1420,  1430,  1429,
1252 >    1446,  1445,  1450,  1450,  1451,  1455,  1459,  1467,  1467,  1468,
1253 >    1468,  1468,  1468,  1468,  1470,  1470,  1472,  1472,  1474,  1488,
1254 >    1508,  1517,  1530,  1529,  1598,  1598,  1599,  1599,  1599,  1599,
1255 >    1600,  1600,  1600,  1601,  1601,  1603,  1638,  1651,  1660,  1672,
1256 >    1671,  1675,  1675,  1676,  1680,  1684,  1688,  1692,  1696,  1700,
1257 >    1704,  1708,  1715,  1734,  1744,  1758,  1757,  1773,  1773,  1774,
1258 >    1774,  1774,  1774,  1776,  1785,  1800,  1813,  1815,  1815,  1816,
1259 >    1816,  1818,  1834,  1833,  1849,  1849,  1850,  1850,  1850,  1850,
1260 >    1852,  1861,  1884,  1883,  1889,  1889,  1890,  1894,  1898,  1902,
1261 >    1906,  1910,  1914,  1918,  1922,  1926,  1936,  1935,  1952,  1952,
1262 >    1953,  1953,  1953,  1955,  1962,  1961,  1967,  1967,  1968,  1972,
1263 >    1976,  1980,  1984,  1988,  1992,  1996,  2000,  2004,  2014,  2013,
1264 >    2064,  2064,  2065,  2065,  2065,  2066,  2066,  2067,  2067,  2067,
1265 >    2068,  2068,  2068,  2069,  2069,  2070,  2072,  2081,  2090,  2116,
1266 >    2134,  2152,  2158,  2162,  2171,  2170,  2174,  2174,  2175,  2179,
1267 >    2185,  2196,  2207,  2218,  2227,  2246,  2245,  2311,  2310,  2314,
1268 >    2314,  2315,  2321,  2321,  2322,  2322,  2322,  2322,  2324,  2343,
1269 >    2353,  2352,  2377,  2377,  2378,  2378,  2378,  2380,  2386,  2395,
1270 >    2397,  2397,  2398,  2398,  2400,  2419,  2418,  2466,  2465,  2469,
1271 >    2469,  2470,  2476,  2476,  2477,  2477,  2477,  2477,  2479,  2485,
1272 >    2494,  2497,  2497,  2498,  2498,  2499,  2499,  2500,  2500,  2501,
1273 >    2501,  2502,  2502,  2503,  2503,  2504,  2504,  2505,  2505,  2506,
1274 >    2506,  2507,  2507,  2508,  2508,  2509,  2509,  2510,  2510,  2511,
1275 >    2512,  2512,  2513,  2513,  2514,  2514,  2515,  2515,  2516,  2516,
1276 >    2517,  2518,  2518,  2519,  2520,  2521,  2521,  2522,  2522,  2523,
1277 >    2524,  2524,  2525,  2525,  2526,  2526,  2527,  2530,  2535,  2541,
1278 >    2547,  2553,  2558,  2563,  2568,  2573,  2578,  2583,  2588,  2593,
1279 >    2598,  2603,  2608,  2613,  2618,  2623,  2628,  2633,  2639,  2650,
1280 >    2655,  2664,  2669,  2674,  2679,  2684,  2689,  2692,  2697,  2700,
1281 >    2705,  2710,  2715,  2720,  2725,  2730,  2735,  2740,  2745,  2756,
1282 >    2761,  2766,  2771,  2780,  2789,  2794,  2799,  2805,  2804,  2809,
1283 >    2809,  2810,  2813,  2816,  2819,  2822,  2825,  2828,  2831,  2834,
1284 >    2837,  2840,  2843,  2846,  2849,  2852,  2855,  2858,  2861,  2864,
1285 >    2867,  2873,  2872,  2877,  2877,  2878,  2881,  2884,  2887,  2890,
1286 >    2893,  2896,  2899,  2902,  2905,  2908,  2911,  2914,  2917,  2920,
1287 >    2923,  2926,  2929,  2932,  2935,  2940,  2945,  2950,  2959,  2962,
1288 >    2962,  2963,  2964,  2964,  2965,  2965,  2966,  2966,  2967,  2968,
1289 >    2968,  2969,  2970,  2970,  2971,  2971,  2973,  2978,  2983,  2988,
1290 >    2993,  2998,  3003,  3008,  3013,  3018,  3023,  3028,  3033,  3038,
1291 >    3046,  3049,  3049,  3050,  3050,  3051,  3052,  3052,  3053,  3054,
1292 >    3056,  3062,  3068,  3077,  3091,  3097
1293   };
1294   #endif
1295  
1296 < #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1296 > #if YYDEBUG || YYERROR_VERBOSE || 0
1297   /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1298     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1299   static const char *const yytname[] =
1300   {
1301 <  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1302 <  "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1303 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1304 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1305 <  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE", "CLASS",
1306 <  "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ", "CRYPTLINK",
1307 <  "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1308 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1309 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1310 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1311 <  "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL", "ENABLE",
1388 <  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1389 <  "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINES",
1390 <  "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1301 >  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1302 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1303 >  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1304 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1305 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1306 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1307 >  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1308 >  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1309 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1310 >  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1311 >  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1312    "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1313    "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1314    "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1315    "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1316    "KLINE_REASON", "KLINE_WITH_REASON", "KNOCK_DELAY",
1317    "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "T_LOG",
1318 <  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL",
1319 <  "MAX_IDENT", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_TIME",
1320 <  "MAX_NUMBER", "MAX_TARGETS", "MAX_WATCH", "MESSAGE_LOCALE",
1321 <  "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME",
1322 <  "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1323 <  "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1324 <  "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1325 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID",
1326 <  "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1327 <  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1328 <  "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1329 <  "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1330 <  "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1331 <  "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1332 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1318 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1319 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL", "MAX_NICK_CHANGES",
1320 >  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_WATCH",
1321 >  "MESSAGE_LOCALE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE",
1322 >  "MODULES", "NAME", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME",
1323 >  "NICK", "NICK_CHANGES", "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT",
1324 >  "NO_OPER_FLOOD", "NO_TILDE", "NUMBER", "NUMBER_PER_CIDR",
1325 >  "NUMBER_PER_IP", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES",
1326 >  "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT",
1327 >  "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH",
1328 >  "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT", "QSTRING",
1329 >  "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T", "REHASH",
1330 >  "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN", "RESTRICT_CHANNELS",
1331 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE",
1332 >  "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1333    "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1334    "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1335 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1336 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1337 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1338 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1339 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1340 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1341 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE",
1342 <  "T_DRONE", "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6",
1343 <  "T_LOCOPS", "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ",
1344 <  "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1335 >  "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED",
1336 >  "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1337 >  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1338 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1339 >  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1340 >  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1341 >  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1342 >  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1343 >  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1344 >  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1345    "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1346    "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1347 <  "T_TIMESTAMP", "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD",
1348 <  "TKLINE", "TXLINE", "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT",
1349 <  "USE_INVEX", "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST",
1350 <  "VHOST6", "XLINE", "WARN", "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'",
1351 <  "'}'", "'{'", "'='", "','", "$accept", "conf", "conf_item", "timespec_",
1352 <  "timespec", "sizespec_", "sizespec", "modules_entry", "modules_items",
1353 <  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1354 <  "serverinfo_items", "serverinfo_item",
1355 <  "serverinfo_ssl_connection_method", "$@1", "method_types",
1356 <  "method_type_item", "serverinfo_ssl_certificate_file",
1357 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1347 >  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1348 >  "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE",
1349 >  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1350 >  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1351 >  "sizespec", "modules_entry", "modules_items", "modules_item",
1352 >  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1353 >  "serverinfo_item", "serverinfo_ssl_client_method",
1354 >  "serverinfo_ssl_server_method", "client_method_types",
1355 >  "client_method_type_item", "server_method_types",
1356 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1357 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1358 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1359    "serverinfo_description", "serverinfo_network_name",
1360    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1361    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1362    "admin_item", "admin_name", "admin_email", "admin_description",
1363    "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1364 <  "logging_timestamp", "logging_file_entry", "$@2", "logging_file_items",
1365 <  "logging_file_item", "logging_file_name", "logging_file_size",
1366 <  "logging_file_type", "$@3", "logging_file_type_items",
1367 <  "logging_file_type_item", "oper_entry", "$@4", "oper_items", "oper_item",
1368 <  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1369 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@5",
1370 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@6",
1371 <  "oper_flags_items", "oper_flags_item", "class_entry", "$@7",
1372 <  "class_items", "class_item", "class_name", "class_ping_time",
1373 <  "class_ping_warning", "class_number_per_ip", "class_connectfreq",
1374 <  "class_max_number", "class_max_global", "class_max_local",
1375 <  "class_max_ident", "class_sendq", "class_cidr_bitlen_ipv4",
1376 <  "class_cidr_bitlen_ipv6", "class_number_per_cidr", "listen_entry", "$@8",
1377 <  "listen_flags", "$@9", "listen_flags_items", "listen_flags_item",
1378 <  "listen_items", "listen_item", "listen_port", "$@10", "port_items",
1379 <  "port_item", "listen_address", "listen_host", "auth_entry", "$@11",
1380 <  "auth_items", "auth_item", "auth_user", "auth_passwd", "auth_class",
1381 <  "auth_encrypted", "auth_flags", "$@12", "auth_flags_items",
1382 <  "auth_flags_item", "auth_spoof", "auth_redir_serv", "auth_redir_port",
1383 <  "resv_entry", "$@13", "resv_items", "resv_item", "resv_creason",
1384 <  "resv_channel", "resv_nick", "service_entry", "service_items",
1385 <  "service_item", "service_name", "shared_entry", "$@14", "shared_items",
1386 <  "shared_item", "shared_name", "shared_user", "shared_type", "$@15",
1387 <  "shared_types", "shared_type_item", "cluster_entry", "$@16",
1388 <  "cluster_items", "cluster_item", "cluster_name", "cluster_type", "$@17",
1389 <  "cluster_types", "cluster_type_item", "connect_entry", "$@18",
1390 <  "connect_items", "connect_item", "connect_name", "connect_host",
1391 <  "connect_vhost", "connect_send_password", "connect_accept_password",
1392 <  "connect_port", "connect_aftype", "connect_flags", "$@19",
1393 <  "connect_flags_items", "connect_flags_item",
1394 <  "connect_rsa_public_key_file", "connect_encrypted", "connect_hub_mask",
1395 <  "connect_leaf_mask", "connect_class", "connect_cipher_preference",
1396 <  "kill_entry", "$@20", "kill_type", "$@21", "kill_type_items",
1397 <  "kill_type_item", "kill_items", "kill_item", "kill_user", "kill_reason",
1398 <  "deny_entry", "$@22", "deny_items", "deny_item", "deny_ip",
1399 <  "deny_reason", "exempt_entry", "exempt_items", "exempt_item",
1400 <  "exempt_ip", "gecos_entry", "$@23", "gecos_flags", "$@24",
1401 <  "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",
1402 <  "gecos_name", "gecos_reason", "general_entry", "general_items",
1403 <  "general_item", "general_max_watch", "general_gline_min_cidr",
1364 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1365 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1366 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1367 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1368 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1369 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1370 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1371 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1372 >  "class_ping_time", "class_ping_warning", "class_number_per_ip",
1373 >  "class_connectfreq", "class_max_number", "class_max_global",
1374 >  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1375 >  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1376 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1377 >  "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1378 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1379 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1380 >  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1381 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1382 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1383 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1384 >  "service_entry", "service_items", "service_item", "service_name",
1385 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1386 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1387 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1388 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1389 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1390 >  "connect_host", "connect_vhost", "connect_send_password",
1391 >  "connect_accept_password", "connect_port", "connect_aftype",
1392 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1393 >  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1394 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1395 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1396 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1397 >  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1398 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1399 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1400 >  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1401 >  "general_entry", "general_items", "general_item", "general_max_watch",
1402 >  "general_gline_enable", "general_gline_duration",
1403 >  "general_gline_request_duration", "general_gline_min_cidr",
1404    "general_gline_min_cidr6", "general_use_whois_actually",
1405    "general_reject_hold_time", "general_tkline_expire_notices",
1406    "general_kill_chase_time_limit", "general_hide_spoof_ips",
# Line 1497 | Line 1419 | static const char *const yytname[] =
1419    "general_short_motd", "general_no_oper_flood",
1420    "general_true_no_oper_flood", "general_oper_pass_resv",
1421    "general_message_locale", "general_dots_in_ident", "general_max_targets",
1422 <  "general_servlink_path", "general_default_cipher_preference",
1423 <  "general_compression_level", "general_use_egd", "general_egdpool_path",
1424 <  "general_services_name", "general_ping_cookie", "general_disable_auth",
1425 <  "general_throttle_time", "general_oper_umodes", "$@25", "umode_oitems",
1426 <  "umode_oitem", "general_oper_only_umodes", "$@26", "umode_items",
1427 <  "umode_item", "general_min_nonwildcard",
1428 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1429 <  "general_client_flood", "gline_entry", "$@27", "gline_items",
1508 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@28",
1509 <  "gline_logging_types", "gline_logging_type_item", "gline_user",
1510 <  "gline_server", "gline_action", "$@29", "gdeny_types", "gdeny_type_item",
1511 <  "channel_entry", "channel_items", "channel_item",
1512 <  "channel_disable_fake_channels", "channel_restrict_channels",
1513 <  "channel_disable_local_channels", "channel_use_except",
1514 <  "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1422 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1423 >  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1424 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1425 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1426 >  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1427 >  "general_default_floodcount", "channel_entry", "channel_items",
1428 >  "channel_item", "channel_disable_fake_channels",
1429 >  "channel_restrict_channels", "channel_knock_delay",
1430    "channel_knock_delay_channel", "channel_max_chans_per_user",
1431 <  "channel_quiet_on_ban", "channel_max_bans",
1431 >  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1432    "channel_default_split_user_count", "channel_default_split_server_count",
1433    "channel_no_create_on_split", "channel_no_join_on_split",
1434 <  "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1435 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1436 <  "serverhide_flatten_links", "serverhide_hide_servers",
1437 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1438 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1434 >  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1435 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1436 >  "serverhide_hide_servers", "serverhide_hidden_name",
1437 >  "serverhide_links_delay", "serverhide_hidden",
1438 >  "serverhide_hide_server_ips", YY_NULL
1439   };
1440   #endif
1441  
# Line 1550 | Line 1465 | static const yytype_uint16 yytoknum[] =
1465       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1466       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1467       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1468 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1469 <     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1555 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1556 <     495,   496,   497,   498,   499,    59,   125,   123,    61,    44
1468 >     465,   466,   467,   468,   469,   470,   471,   472,   473,    59,
1469 >     125,   123,    61,    44
1470   };
1471   # endif
1472  
1473   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1474   static const yytype_uint16 yyr1[] =
1475   {
1476 <       0,   250,   251,   251,   252,   252,   252,   252,   252,   252,
1477 <     252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
1478 <     252,   252,   252,   252,   252,   252,   252,   253,   253,   254,
1479 <     254,   254,   254,   254,   254,   255,   255,   256,   256,   256,
1480 <     256,   257,   258,   258,   259,   259,   259,   260,   261,   262,
1481 <     263,   263,   264,   264,   264,   264,   264,   264,   264,   264,
1482 <     264,   264,   264,   264,   264,   266,   265,   267,   267,   268,
1483 <     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
1484 <     278,   279,   280,   281,   281,   282,   282,   282,   282,   283,
1485 <     284,   285,   286,   287,   287,   288,   288,   288,   288,   289,
1486 <     290,   292,   291,   293,   293,   294,   294,   294,   294,   295,
1487 <     296,   296,   298,   297,   299,   299,   300,   300,   300,   300,
1488 <     300,   300,   300,   302,   301,   303,   303,   304,   304,   304,
1489 <     304,   304,   304,   304,   304,   304,   305,   306,   307,   308,
1490 <     309,   310,   312,   311,   313,   313,   314,   314,   314,   314,
1491 <     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
1492 <     314,   314,   314,   314,   314,   314,   316,   315,   317,   317,
1493 <     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
1494 <     318,   318,   318,   318,   318,   318,   318,   318,   320,   319,
1495 <     321,   321,   322,   322,   322,   322,   322,   322,   322,   322,
1496 <     322,   322,   322,   322,   322,   322,   323,   324,   325,   326,
1497 <     327,   328,   329,   330,   331,   332,   333,   334,   335,   337,
1498 <     336,   339,   338,   340,   340,   341,   341,   341,   342,   342,
1499 <     343,   343,   343,   343,   343,   345,   344,   346,   346,   347,
1500 <     347,   348,   349,   351,   350,   352,   352,   353,   353,   353,
1501 <     353,   353,   353,   353,   353,   353,   354,   355,   356,   357,
1502 <     359,   358,   360,   360,   361,   361,   361,   361,   361,   361,
1503 <     361,   361,   361,   362,   363,   364,   366,   365,   367,   367,
1504 <     368,   368,   368,   368,   369,   370,   371,   372,   373,   373,
1505 <     374,   374,   375,   377,   376,   378,   378,   379,   379,   379,
1506 <     379,   380,   381,   383,   382,   384,   384,   385,   385,   385,
1507 <     385,   385,   385,   385,   385,   385,   385,   387,   386,   388,
1508 <     388,   389,   389,   389,   390,   392,   391,   393,   393,   394,
1509 <     394,   394,   394,   394,   394,   394,   394,   394,   394,   396,
1510 <     395,   397,   397,   398,   398,   398,   398,   398,   398,   398,
1511 <     398,   398,   398,   398,   398,   398,   398,   398,   399,   400,
1512 <     401,   402,   403,   404,   405,   405,   407,   406,   408,   408,
1513 <     409,   409,   409,   409,   409,   410,   411,   412,   413,   414,
1514 <     415,   417,   416,   419,   418,   420,   420,   421,   422,   422,
1515 <     423,   423,   423,   423,   424,   425,   427,   426,   428,   428,
1516 <     429,   429,   429,   430,   431,   432,   433,   433,   434,   434,
1517 <     435,   437,   436,   439,   438,   440,   440,   441,   442,   442,
1518 <     443,   443,   443,   443,   444,   445,   446,   447,   447,   448,
1519 <     448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
1520 <     448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
1521 <     448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
1522 <     448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
1523 <     448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
1524 <     448,   448,   448,   448,   449,   450,   451,   452,   453,   454,
1525 <     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1526 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1527 <     475,   475,   476,   476,   477,   478,   479,   480,   481,   482,
1528 <     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
1529 <     493,   494,   495,   496,   498,   497,   499,   499,   500,   500,
1530 <     500,   500,   500,   500,   500,   500,   500,   500,   500,   500,
1531 <     500,   500,   500,   500,   500,   500,   500,   500,   502,   501,
1532 <     503,   503,   504,   504,   504,   504,   504,   504,   504,   504,
1533 <     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
1534 <     504,   504,   505,   506,   507,   508,   510,   509,   511,   511,
1535 <     512,   512,   512,   512,   512,   512,   512,   513,   514,   516,
1536 <     515,   517,   517,   518,   518,   519,   520,   522,   521,   523,
1537 <     523,   524,   524,   525,   526,   526,   527,   527,   527,   527,
1538 <     527,   527,   527,   527,   527,   527,   527,   527,   527,   527,
1539 <     527,   527,   527,   527,   527,   528,   529,   530,   531,   532,
1627 <     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
1628 <     543,   544,   545,   546,   547,   547,   548,   548,   548,   548,
1629 <     548,   548,   548,   548,   549,   550,   551,   552,   553,   554,
1630 <     555
1476 >       0,   224,   225,   225,   226,   226,   226,   226,   226,   226,
1477 >     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1478 >     226,   226,   226,   226,   226,   226,   227,   227,   228,   228,
1479 >     228,   228,   228,   228,   229,   229,   230,   230,   230,   230,
1480 >     231,   232,   232,   233,   233,   233,   234,   235,   236,   237,
1481 >     237,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1482 >     238,   238,   238,   238,   238,   238,   238,   239,   240,   241,
1483 >     241,   242,   242,   243,   243,   244,   244,   245,   246,   247,
1484 >     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1485 >     258,   259,   259,   260,   260,   260,   260,   261,   262,   263,
1486 >     264,   265,   265,   266,   266,   266,   267,   269,   268,   270,
1487 >     270,   271,   271,   271,   271,   272,   273,   273,   275,   274,
1488 >     276,   276,   277,   277,   277,   277,   277,   277,   277,   279,
1489 >     278,   280,   280,   281,   281,   281,   281,   281,   281,   281,
1490 >     281,   281,   282,   283,   284,   285,   286,   287,   289,   288,
1491 >     290,   290,   291,   291,   291,   291,   291,   291,   291,   291,
1492 >     291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
1493 >     291,   291,   293,   292,   294,   294,   295,   295,   295,   295,
1494 >     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
1495 >     295,   295,   295,   295,   295,   297,   296,   298,   298,   299,
1496 >     299,   299,   299,   299,   299,   299,   299,   299,   299,   299,
1497 >     299,   299,   299,   299,   300,   301,   302,   303,   304,   305,
1498 >     306,   307,   308,   309,   310,   311,   312,   313,   315,   314,
1499 >     317,   316,   318,   318,   319,   319,   319,   320,   320,   321,
1500 >     321,   321,   321,   321,   323,   322,   324,   324,   325,   325,
1501 >     326,   327,   329,   328,   330,   330,   331,   331,   331,   331,
1502 >     331,   331,   331,   331,   331,   332,   333,   334,   335,   337,
1503 >     336,   338,   338,   339,   339,   339,   339,   339,   339,   339,
1504 >     339,   339,   340,   341,   342,   344,   343,   345,   345,   346,
1505 >     346,   346,   346,   347,   348,   349,   350,   351,   351,   352,
1506 >     352,   353,   355,   354,   356,   356,   357,   357,   357,   357,
1507 >     358,   359,   361,   360,   362,   362,   363,   363,   363,   363,
1508 >     363,   363,   363,   363,   363,   363,   365,   364,   366,   366,
1509 >     367,   367,   367,   368,   370,   369,   371,   371,   372,   372,
1510 >     372,   372,   372,   372,   372,   372,   372,   372,   374,   373,
1511 >     375,   375,   376,   376,   376,   376,   376,   376,   376,   376,
1512 >     376,   376,   376,   376,   376,   376,   377,   378,   379,   380,
1513 >     381,   382,   383,   383,   385,   384,   386,   386,   387,   387,
1514 >     388,   389,   390,   391,   392,   394,   393,   396,   395,   397,
1515 >     397,   398,   399,   399,   400,   400,   400,   400,   401,   402,
1516 >     404,   403,   405,   405,   406,   406,   406,   407,   408,   409,
1517 >     410,   410,   411,   411,   412,   414,   413,   416,   415,   417,
1518 >     417,   418,   419,   419,   420,   420,   420,   420,   421,   422,
1519 >     423,   424,   424,   425,   425,   425,   425,   425,   425,   425,
1520 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1521 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1522 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1523 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1524 >     425,   425,   425,   425,   425,   425,   425,   426,   427,   428,
1525 >     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1526 >     439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
1527 >     449,   450,   451,   452,   453,   454,   455,   455,   456,   456,
1528 >     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
1529 >     467,   468,   469,   470,   471,   472,   473,   475,   474,   476,
1530 >     476,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1531 >     477,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1532 >     477,   479,   478,   480,   480,   481,   481,   481,   481,   481,
1533 >     481,   481,   481,   481,   481,   481,   481,   481,   481,   481,
1534 >     481,   481,   481,   481,   481,   482,   483,   484,   485,   486,
1535 >     486,   487,   487,   487,   487,   487,   487,   487,   487,   487,
1536 >     487,   487,   487,   487,   487,   487,   488,   489,   490,   491,
1537 >     492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
1538 >     502,   503,   503,   504,   504,   504,   504,   504,   504,   504,
1539 >     505,   506,   507,   508,   509,   510
1540   };
1541  
1542   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1635 | Line 1544 | static const yytype_uint8 yyr2[] =
1544   {
1545         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1546         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1547 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1548 <       3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1549 <       3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1641 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1642 <       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
1643 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1644 <       4,     4,     5,     2,     1,     1,     1,     1,     2,     4,
1645 <       4,     4,     5,     2,     1,     1,     1,     1,     2,     4,
1646 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1647 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1648 <       1,     1,     1,     0,     6,     2,     1,     1,     1,     1,
1649 <       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1650 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1547 >       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1548 >       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1549 >       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1550         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1551 <       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1551 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1552 >       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1553 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1554 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1555 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1556 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1557 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1558 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1559 >       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1560 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1561 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1562 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1563 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1564 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1565         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1566 +       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1567 +       4,     4,     4,     4,     4,     4,     4,     4,     0,     6,
1568 +       0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
1569 +       1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
1570 +       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1571 +       1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
1572 +       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1573 +       1,     1,     4,     4,     4,     0,     6,     2,     1,     1,
1574 +       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1575 +       1,     4,     0,     6,     2,     1,     1,     1,     1,     2,
1576 +       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1577 +       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1578 +       1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
1579         1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1580         2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1581         1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1582 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1583 <       6,     0,     5,     3,     1,     1,     1,     1,     2,     1,
1584 <       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
1585 <       3,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1586 <       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1587 <       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1588 <       1,     1,     1,     4,     4,     4,     0,     6,     2,     1,
1664 <       1,     1,     1,     2,     4,     4,     4,     5,     2,     1,
1665 <       1,     1,     4,     0,     6,     2,     1,     1,     1,     1,
1666 <       2,     4,     4,     0,     5,     3,     1,     1,     1,     1,
1667 <       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
1668 <       1,     1,     1,     2,     4,     0,     5,     3,     1,     1,
1669 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1670 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1671 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1672 <       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1673 <       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1674 <       4,     0,     6,     0,     5,     3,     1,     1,     2,     1,
1675 <       1,     1,     1,     1,     4,     4,     0,     6,     2,     1,
1676 <       1,     1,     1,     4,     4,     5,     2,     1,     1,     1,
1677 <       4,     0,     6,     0,     5,     3,     1,     1,     2,     1,
1678 <       1,     1,     1,     1,     4,     4,     5,     2,     1,     1,
1679 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1582 >       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1583 >       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1584 >       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1585 >       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1586 >       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1587 >       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1588 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1589         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1590         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1591         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1592         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1593 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1593 >       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1594         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1595         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1596         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1597         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1598 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1598 >       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1599         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1691       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
1692       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1600         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1601 <       1,     1,     4,     4,     4,     4,     0,     6,     2,     1,
1602 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     0,
1603 <       5,     3,     1,     1,     1,     4,     4,     0,     5,     3,
1697 <       1,     1,     1,     5,     2,     1,     1,     1,     1,     1,
1601 >       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1602 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1603 >       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
1604         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1605 <       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1605 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1606         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1607 <       4,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1608 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1703 <       4
1607 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1608 >       4,     4,     4,     4,     4,     4
1609   };
1610  
1611   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1708 | Line 1613 | static const yytype_uint8 yyr2[] =
1613     means the default is an error.  */
1614   static const yytype_uint16 yydefact[] =
1615   {
1616 <       2,     0,     1,     0,     0,     0,   188,   339,   396,     0,
1617 <     411,     0,   586,   243,   381,   219,     0,     0,   123,   276,
1618 <       0,     0,   293,   317,     0,     3,    24,    11,     4,     5,
1619 <       6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1620 <      19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1616 >       2,     0,     1,     0,     0,     0,   195,   348,   400,     0,
1617 >     415,     0,   252,   385,   228,     0,     0,   129,   285,     0,
1618 >       0,   302,   326,     0,     3,    23,    11,     4,     5,     6,
1619 >       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1620 >      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1621         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1622         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1623 <       0,     0,     0,     0,     0,    84,    85,    87,    86,   634,
1623 >       0,     0,    92,    93,    95,    94,   605,     0,     0,     0,
1624         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1625 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   615,
1626 <     633,   628,   616,   617,   618,   619,   621,   622,   623,   624,
1627 <     620,   625,   626,   627,   629,   630,   631,   632,     0,     0,
1723 <       0,   409,     0,     0,   407,   408,     0,   483,     0,     0,
1625 >       0,     0,   590,   604,   600,   592,   593,   594,   595,   596,
1626 >     591,   597,   598,   599,   601,   602,   603,     0,     0,     0,
1627 >     413,     0,     0,   411,   412,     0,   486,     0,     0,     0,
1628         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1629         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1630 <       0,     0,     0,     0,     0,     0,     0,     0,   558,     0,
1631 <     534,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1630 >       0,     0,     0,     0,     0,     0,     0,     0,   561,     0,
1631 >     537,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1632         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1633 <       0,     0,     0,   428,   481,   476,   477,   478,   479,   475,
1634 <     439,   429,   430,   467,   431,   432,   433,   434,   435,   436,
1635 <     437,   438,   472,   440,   441,   442,   443,   480,   445,   450,
1636 <     446,   448,   447,   461,   462,   449,   451,   452,   453,   454,
1637 <     455,   444,   457,   466,   468,   469,   458,   459,   482,   473,
1638 <     474,   471,   460,   456,   464,   465,   463,   470,     0,     0,
1639 <       0,     0,     0,     0,     0,     0,    94,    95,    96,    97,
1640 <       0,     0,     0,     0,     0,    43,    44,    45,     0,     0,
1641 <     663,     0,     0,     0,     0,     0,     0,     0,     0,   655,
1738 <     656,   657,   661,   658,   660,   659,   662,     0,     0,     0,
1739 <       0,     0,     0,     0,     0,    65,     0,     0,     0,     0,
1740 <       0,    51,    63,    62,    59,    52,    61,    55,    56,    57,
1741 <      53,    60,    58,    54,     0,     0,   291,     0,     0,   289,
1742 <     290,    88,     0,     0,     0,     0,    83,     0,     0,     0,
1633 >       0,   432,   484,   476,   477,   478,   479,   480,   481,   482,
1634 >     475,   443,   433,   434,   470,   435,   436,   437,   438,   439,
1635 >     440,   441,   442,   472,   444,   445,   446,   447,   483,   449,
1636 >     454,   450,   452,   451,   465,   466,   453,   455,   456,   457,
1637 >     458,   459,   448,   461,   462,   463,   485,   473,   474,   471,
1638 >     464,   460,   468,   469,   467,     0,     0,     0,     0,     0,
1639 >       0,   102,   103,   104,     0,     0,     0,     0,     0,    42,
1640 >      43,    44,     0,     0,   629,     0,     0,     0,     0,     0,
1641 >       0,     0,   622,   623,   624,   627,   625,   626,   628,     0,
1642         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1643 <       0,     0,     0,     0,     0,     0,   614,     0,     0,     0,
1643 >       0,     0,     0,     0,     0,     0,    50,    63,    64,    62,
1644 >      59,    58,    65,    51,    61,    54,    55,    56,    52,    60,
1645 >      57,    53,     0,     0,   300,     0,     0,   298,   299,    96,
1646 >       0,     0,     0,     0,    91,     0,     0,     0,     0,     0,
1647         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1648 <       0,     0,   191,   192,   195,   196,   198,   199,   200,   201,
1649 <     202,   203,   204,   193,   194,   197,     0,     0,     0,     0,
1650 <       0,     0,   366,     0,     0,     0,     0,     0,     0,     0,
1651 <       0,     0,   342,   343,   344,   345,   346,   347,   349,   348,
1652 <     350,   355,   354,   351,   352,   353,   356,   402,     0,     0,
1653 <       0,   399,   400,   401,     0,     0,   406,   423,     0,     0,
1654 <     413,   422,     0,   419,   420,   421,     0,     0,     0,     0,
1648 >     589,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1649 >       0,     0,     0,     0,     0,     0,     0,   198,   199,   202,
1650 >     203,   205,   206,   207,   208,   209,   210,   211,   212,   200,
1651 >     201,   204,     0,     0,     0,     0,     0,   374,     0,     0,
1652 >       0,     0,     0,     0,     0,     0,     0,   351,   352,   353,
1653 >     354,   355,   356,   358,   357,   360,   364,   361,   362,   363,
1654 >     359,   406,     0,     0,     0,   403,   404,   405,     0,     0,
1655 >     410,   427,     0,     0,   417,   426,     0,   423,   424,   425,
1656         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1657         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1658         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1659         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1660         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1661 <       0,   427,   596,   607,     0,     0,   599,     0,     0,     0,
1662 <     589,   590,   591,   592,   593,   594,   595,     0,     0,     0,
1663 <     260,     0,     0,     0,     0,     0,     0,   246,   247,   248,
1664 <     249,   254,   250,   251,   252,   253,   393,     0,   383,     0,
1665 <     392,     0,   389,   390,   391,     0,   221,     0,     0,     0,
1666 <     231,     0,   229,   230,   232,   233,    98,     0,     0,     0,
1667 <      93,     0,    46,     0,     0,     0,    42,     0,     0,     0,
1668 <     166,     0,     0,     0,   142,     0,     0,   126,   127,   128,
1669 <     129,   132,   133,   131,   130,   134,     0,     0,     0,     0,
1670 <       0,   279,   280,   281,   282,     0,     0,     0,     0,     0,
1671 <       0,     0,     0,   654,    64,     0,     0,     0,     0,     0,
1672 <       0,     0,     0,     0,     0,     0,     0,     0,    50,     0,
1673 <       0,   303,     0,     0,   296,   297,   298,   299,     0,     0,
1674 <     325,     0,   320,   321,   322,     0,     0,   288,     0,     0,
1675 <       0,    82,     0,     0,     0,     0,     0,    27,     0,     0,
1661 >       0,     0,     0,     0,   431,     0,     0,     0,   269,     0,
1662 >       0,     0,     0,     0,     0,   255,   256,   257,   258,   263,
1663 >     259,   260,   261,   262,   397,     0,   387,     0,   396,     0,
1664 >     393,   394,   395,     0,   230,     0,     0,     0,   240,     0,
1665 >     238,   239,   241,   242,   105,     0,     0,   101,     0,    45,
1666 >       0,     0,     0,    41,     0,     0,     0,   172,     0,     0,
1667 >       0,   148,     0,     0,   132,   133,   134,   135,   138,   139,
1668 >     137,   136,   140,     0,     0,     0,     0,     0,   288,   289,
1669 >     290,   291,     0,     0,     0,     0,     0,     0,     0,   621,
1670 >      66,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1671 >       0,     0,     0,     0,     0,     0,     0,    49,     0,     0,
1672 >     312,     0,     0,   305,   306,   307,   308,     0,     0,   334,
1673 >       0,   329,   330,   331,     0,     0,   297,     0,     0,     0,
1674 >      90,     0,     0,     0,    26,     0,     0,     0,     0,     0,
1675 >       0,     0,     0,     0,     0,     0,   588,   213,     0,     0,
1676         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1677 <       0,   613,   205,     0,     0,     0,     0,     0,     0,     0,
1678 <       0,     0,     0,     0,     0,     0,     0,   190,   357,     0,
1677 >       0,     0,     0,   197,   365,     0,     0,     0,     0,     0,
1678 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   350,
1679 >       0,     0,     0,   402,     0,   409,     0,     0,     0,     0,
1680 >     422,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1681         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1777       0,     0,     0,     0,   341,     0,     0,     0,   398,     0,
1778     405,     0,     0,     0,     0,   418,     0,     0,     0,     0,
1682         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1683         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1684         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1685 +       0,     0,     0,     0,     0,     0,   430,   264,     0,     0,
1686 +       0,     0,     0,     0,     0,     0,     0,   254,     0,     0,
1687 +       0,     0,   392,   243,     0,     0,     0,     0,     0,   237,
1688 +       0,   100,     0,     0,     0,    40,   141,     0,     0,     0,
1689 +       0,     0,     0,     0,     0,     0,   131,   292,     0,     0,
1690 +       0,     0,   287,     0,     0,     0,     0,     0,     0,   620,
1691 +       0,     0,     0,     0,     0,     0,     0,     0,    71,    72,
1692 +       0,    70,    75,    76,     0,    74,     0,     0,     0,     0,
1693 +       0,    48,   309,     0,     0,     0,     0,   304,   332,     0,
1694 +       0,     0,   328,     0,   296,    99,    98,    97,   615,   614,
1695 +     606,    26,    26,    26,    26,    26,    28,    27,   608,   609,
1696 +     613,   611,   610,   616,   617,   618,   619,   612,   607,     0,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698 <       0,     0,     0,     0,     0,    35,     0,     0,     0,     0,
1699 <       0,     0,     0,   426,     0,     0,     0,     0,     0,     0,
1700 <       0,   588,   255,     0,     0,     0,     0,     0,     0,     0,
1701 <       0,     0,   245,     0,     0,     0,     0,   388,   234,     0,
1702 <       0,     0,     0,     0,   228,     0,     0,    92,     0,     0,
1703 <       0,    41,   135,     0,     0,     0,     0,     0,     0,     0,
1704 <       0,     0,   125,   283,     0,     0,     0,     0,   278,     0,
1705 <       0,     0,     0,     0,     0,     0,   653,     0,     0,     0,
1706 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
1707 <     300,     0,     0,     0,     0,   295,   323,     0,     0,     0,
1708 <     319,     0,   287,    91,    90,    89,   650,   647,   646,   635,
1709 <     637,    27,    27,    27,    27,    27,    29,    28,   641,   642,
1710 <     645,   643,   648,   649,   651,   652,   644,   636,   638,   639,
1711 <     640,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1712 <       0,     0,     0,     0,   189,     0,     0,     0,     0,     0,
1713 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1714 <     340,     0,     0,   397,   410,     0,     0,     0,   412,   495,
1715 <     499,   515,   527,   526,   584,   532,   493,   523,   529,   494,
1716 <     485,   486,   502,   491,   492,   505,   490,   504,   503,   498,
1717 <     497,   496,   524,   484,   522,   582,   583,   519,   516,   569,
1718 <     562,   579,   580,   563,   564,   565,   566,   574,   567,   577,
1719 <     581,   570,   575,   571,   576,   568,   573,   572,   578,     0,
1720 <     561,   521,   544,   538,   555,   556,   539,   540,   541,   542,
1721 <     550,   543,   553,   557,   546,   551,   547,   552,   545,   549,
1722 <     548,   554,     0,   537,   514,   517,   531,   488,   525,   489,
1723 <     518,   507,   512,   513,   510,   511,   508,   509,   501,   500,
1724 <      35,    35,    35,    37,    36,   585,   530,   533,   520,   528,
1725 <     487,   506,     0,     0,     0,     0,     0,     0,   587,     0,
1726 <       0,     0,     0,     0,     0,     0,     0,   244,     0,     0,
1727 <       0,   382,     0,     0,     0,   239,   235,   238,   220,   100,
1728 <      99,     0,     0,   112,     0,     0,   104,   105,   107,   106,
1729 <      47,    48,     0,     0,     0,     0,     0,     0,     0,     0,
1730 <     124,     0,     0,     0,   277,   669,   664,   668,   666,   670,
1731 <     665,   667,    75,    81,    73,    77,    76,    72,    71,    69,
1732 <      70,     0,    68,    74,    80,    78,    79,     0,     0,     0,
1733 <     294,     0,     0,   318,   292,    30,    31,    32,    33,    34,
1734 <     216,   217,   210,   212,   214,   213,   211,   206,   218,   209,
1735 <     207,   208,   215,   362,   364,   365,   380,   379,   376,   372,
1736 <     373,   370,   371,   374,     0,   369,   359,   377,   378,   358,
1737 <     363,   375,   361,   360,   403,   404,   424,   425,   417,     0,
1738 <     416,   559,     0,   535,     0,    38,    39,    40,   612,   611,
1739 <       0,   610,   598,   597,   604,   603,     0,   602,   606,   605,
1740 <     258,   259,   268,   265,   270,   267,   266,   272,   269,   271,
1826 <     264,     0,   263,   257,   275,   274,   273,   256,   395,   387,
1827 <       0,   386,   394,   226,   227,   225,     0,   224,   242,   241,
1828 <       0,     0,     0,   108,     0,     0,     0,     0,   103,   141,
1829 <     139,   181,   178,   177,   170,   172,   187,   182,   185,   180,
1830 <     171,   186,   174,   183,   175,   184,   179,   173,   176,     0,
1831 <     169,   136,   138,   140,   152,   146,   163,   164,   147,   148,
1832 <     149,   150,   158,   151,   161,   165,   154,   159,   155,   160,
1833 <     153,   157,   156,   162,     0,   145,   137,   285,   286,   284,
1834 <      66,     0,   301,   307,   313,   316,   309,   315,   310,   314,
1835 <     312,   308,   311,     0,   306,   302,   324,   329,   335,   338,
1836 <     331,   337,   332,   336,   334,   330,   333,     0,   328,   367,
1837 <       0,   414,     0,   560,   536,   608,     0,   600,     0,   261,
1838 <       0,   384,     0,   222,     0,   240,   237,   236,     0,     0,
1839 <       0,     0,   102,   167,     0,   143,     0,    67,   304,     0,
1840 <     326,     0,   368,   415,   609,   601,   262,   385,   223,   109,
1841 <     118,   121,   120,   117,   122,   119,   116,     0,   115,   111,
1842 <     110,   168,   144,   305,   327,   113,     0,   114
1698 >       0,    34,     0,     0,   196,     0,     0,     0,     0,     0,
1699 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   349,
1700 >       0,     0,   401,   414,     0,     0,     0,   416,   501,   505,
1701 >     521,   587,   535,   499,   529,   532,   500,   489,   488,   490,
1702 >     491,   492,   508,   497,   498,   511,   496,   510,   509,   504,
1703 >     503,   502,   530,   487,   528,   585,   586,   525,   522,   572,
1704 >     565,   582,   583,   566,   567,   568,   569,   577,   570,   580,
1705 >     584,   573,   578,   574,   579,   571,   576,   575,   581,     0,
1706 >     564,   527,   547,   541,   558,   559,   542,   543,   544,   545,
1707 >     553,   546,   556,   560,   549,   554,   550,   555,   548,   552,
1708 >     551,   557,     0,   540,   520,   523,   534,   494,   495,   524,
1709 >     513,   518,   519,   516,   517,   514,   515,   507,   506,   533,
1710 >     536,   526,   531,   493,   512,     0,     0,     0,     0,     0,
1711 >       0,     0,     0,   253,     0,     0,     0,   386,     0,     0,
1712 >       0,   248,   244,   247,   229,   106,     0,     0,   118,     0,
1713 >       0,   110,   111,   113,   112,    46,    47,     0,     0,     0,
1714 >       0,     0,     0,     0,     0,   130,     0,     0,     0,   286,
1715 >     630,   634,   632,   635,   631,   633,    83,    89,    81,    85,
1716 >      84,    78,    77,    79,    67,     0,    68,     0,    82,    80,
1717 >      88,    86,    87,     0,     0,     0,   303,     0,     0,   327,
1718 >     301,    29,    30,    31,    32,    33,   225,   226,   218,   220,
1719 >     222,   221,   219,   214,   227,   217,   215,   216,    34,    34,
1720 >      34,    36,    35,   223,   224,   370,   372,   373,   383,   380,
1721 >     378,   379,     0,   377,   367,   381,   382,   366,   371,   369,
1722 >     384,   368,   407,   408,   428,   429,   421,     0,   420,   562,
1723 >       0,   538,     0,   267,   268,   277,   274,   279,   276,   275,
1724 >     281,   278,   280,   273,     0,   272,   266,   284,   283,   282,
1725 >     265,   399,   391,     0,   390,   398,   235,   236,   234,     0,
1726 >     233,   251,   250,     0,     0,     0,   114,     0,     0,     0,
1727 >       0,   109,   147,   145,   187,   184,   183,   176,   178,   194,
1728 >     188,   191,   186,   177,   192,   180,   189,   193,   181,   190,
1729 >     185,   179,   182,     0,   175,   142,   144,   146,   158,   152,
1730 >     169,   170,   153,   154,   155,   156,   164,   157,   167,   171,
1731 >     160,   165,   161,   166,   159,   163,   162,   168,     0,   151,
1732 >     143,   294,   295,   293,    69,    73,   310,   316,   322,   325,
1733 >     318,   324,   319,   323,   321,   317,   320,     0,   315,   311,
1734 >     333,   338,   344,   347,   340,   346,   341,   345,   343,   339,
1735 >     342,     0,   337,    37,    38,    39,   375,     0,   418,     0,
1736 >     563,   539,   270,     0,   388,     0,   231,     0,   249,   246,
1737 >     245,     0,     0,     0,     0,   108,   173,     0,   149,     0,
1738 >     313,     0,   335,     0,   376,   419,   271,   389,   232,   115,
1739 >     124,   127,   126,   123,   128,   125,   122,     0,   121,   117,
1740 >     116,   174,   150,   314,   336,   119,     0,   120
1741   };
1742  
1743   /* YYDEFGOTO[NTERM-NUM].  */
1744   static const yytype_int16 yydefgoto[] =
1745   {
1746 <      -1,     1,    25,   836,   837,   983,   984,    26,   254,   255,
1747 <     256,   257,    27,   290,   291,   292,   582,  1061,  1062,   293,
1748 <     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
1749 <      28,    74,    75,    76,    77,    78,    29,   245,   246,   247,
1750 <     248,   249,   250,  1025,  1026,  1027,  1028,  1029,  1175,  1307,
1751 <    1308,    30,    63,   546,   547,   548,   549,   550,   551,   552,
1752 <     553,   554,   779,  1224,  1225,   555,   775,  1199,  1200,    31,
1753 <      51,   351,   352,   353,   354,   355,   356,   357,   358,   359,
1754 <     360,   361,   362,   363,   364,   365,    32,    60,   520,   759,
1755 <    1166,  1167,   521,   522,   523,  1172,  1016,  1017,   524,   525,
1756 <      33,    58,   496,   497,   498,   499,   500,   501,   502,   745,
1757 <    1151,  1152,   503,   504,   505,    34,    64,   560,   561,   562,
1758 <     563,   564,    35,   308,   309,   310,    36,    67,   593,   594,
1759 <     595,   596,   597,   812,  1243,  1244,    37,    68,   601,   602,
1760 <     603,   604,   818,  1257,  1258,    38,    52,   381,   382,   383,
1761 <     384,   385,   386,   387,   388,   389,   390,   654,  1104,  1105,
1762 <     391,   392,   393,   394,   395,   396,    39,    59,   510,   754,
1763 <    1160,  1161,   511,   512,   513,   514,    40,    53,   400,   401,
1764 <     402,   403,    41,   123,   124,   125,    42,    55,   411,   673,
1765 <    1119,  1120,   412,   413,   414,   415,    43,   182,   183,   184,
1766 <     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1767 <     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1768 <     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1769 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1770 <     225,   226,   227,   228,   229,   230,   231,   232,   448,   962,
1771 <     963,   233,   446,   939,   940,   234,   235,   236,   237,    44,
1772 <      57,   479,   480,   481,   482,   483,   737,  1136,  1137,   484,
1773 <     485,   486,   734,  1130,  1131,    45,    98,    99,   100,   101,
1774 <     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1877 <     112,   113,   114,   115,   116,   117,    46,   268,   269,   270,
1878 <     271,   272,   273,   274,   275,   276
1746 >      -1,     1,    24,   796,   797,  1041,  1042,    25,   238,   239,
1747 >     240,   241,    26,   275,   276,   277,   278,   760,   761,   764,
1748 >     765,   279,   280,   281,   282,   283,   284,   285,   286,   287,
1749 >     288,   289,   290,   291,    27,    71,    72,    73,    74,    75,
1750 >      28,   230,   231,   232,   233,   234,   970,   971,   972,   973,
1751 >     974,  1108,  1237,  1238,    29,    60,   513,   514,   515,   516,
1752 >     517,   518,   519,   520,   521,   733,  1158,  1159,   522,   729,
1753 >    1133,  1134,    30,    49,   336,   337,   338,   339,   340,   341,
1754 >     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1755 >      31,    57,   488,   714,  1099,  1100,   489,   490,   491,  1105,
1756 >     962,   963,   492,   493,    32,    55,   464,   465,   466,   467,
1757 >     468,   469,   470,   700,  1084,  1085,   471,   472,   473,    33,
1758 >      61,   527,   528,   529,   530,   531,    34,   296,   297,   298,
1759 >      35,    64,   562,   563,   564,   565,   566,   774,  1177,  1178,
1760 >      36,    65,   570,   571,   572,   573,   780,  1191,  1192,    37,
1761 >      50,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1762 >     375,   619,  1052,  1053,   376,   377,   378,   379,   380,    38,
1763 >      56,   478,   709,  1093,  1094,   479,   480,   481,   482,    39,
1764 >      51,   384,   385,   386,   387,    40,   112,   113,   114,    41,
1765 >      53,   395,   638,  1067,  1068,   396,   397,   398,   399,    42,
1766 >     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1767 >     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1768 >     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1769 >     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1770 >     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1771 >     220,   433,   922,   923,   221,   431,   899,   900,   222,   223,
1772 >     224,    43,    91,    92,    93,    94,    95,    96,    97,    98,
1773 >      99,   100,   101,   102,   103,   104,   105,   106,    44,   251,
1774 >     252,   253,   254,   255,   256,   257,   258
1775   };
1776  
1777   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1778     STATE-NUM.  */
1779 < #define YYPACT_NINF -805
1779 > #define YYPACT_NINF -861
1780   static const yytype_int16 yypact[] =
1781   {
1782 <    -805,   700,  -805,  -174,  -240,  -237,  -805,  -805,  -805,  -225,
1783 <    -805,  -205,  -805,  -805,  -805,  -805,  -202,  -197,  -805,  -805,
1784 <    -173,  -168,  -805,  -805,  -160,  -805,  -805,  -805,  -805,  -805,
1785 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1786 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,   311,
1787 <     577,  -155,  -143,  -134,    12,  -131,   380,  -125,  -117,   -83,
1788 <     -80,    74,   178,   -78,   -73,   626,   420,   -63,   -34,    13,
1789 <     -15,   -13,    38,    39,    47,  -805,  -805,  -805,  -805,  -805,
1790 <      41,    54,    60,    63,    87,    92,    95,   103,   110,   120,
1791 <     123,   128,   135,   136,   138,   139,   143,   144,   132,  -805,
1792 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1793 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,   647,   494,
1794 <      22,  -805,   146,    15,  -805,  -805,   231,  -805,   147,   149,
1795 <     152,   154,   156,   157,   158,   162,   165,   167,   169,   171,
1796 <     172,   176,   180,   181,   182,   184,   185,   188,   189,   190,
1797 <     191,   199,   200,   203,   204,   209,   211,   212,  -805,   215,
1798 <    -805,   216,   217,   219,   220,   223,   225,   229,   240,   241,
1799 <     242,   243,   246,   250,   251,   256,   258,   259,   262,   263,
1800 <     266,   267,    25,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1801 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1802 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1803 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1804 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1805 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,   338,   525,
1806 <      76,   273,   -12,   269,   272,    52,  -805,  -805,  -805,  -805,
1807 <      80,   153,   274,   276,     8,  -805,  -805,  -805,   304,    34,
1808 <    -805,   281,   282,   283,   284,   285,   288,   289,   109,  -805,
1809 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,   201,   290,   291,
1810 <     292,   293,   295,   296,   300,  -805,   301,   305,   306,   313,
1811 <     134,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1812 <    -805,  -805,  -805,  -805,   265,    10,  -805,   314,    31,  -805,
1813 <    -805,  -805,   385,   416,   424,   329,  -805,   168,   460,   461,
1814 <     400,   401,   467,   467,   468,   469,   409,   412,   478,   467,
1815 <     414,   415,   417,   418,   421,   351,  -805,   355,   357,   359,
1816 <     361,   365,   366,   367,   371,   372,   373,   377,   378,   382,
1817 <     383,   198,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1818 <    -805,  -805,  -805,  -805,  -805,  -805,   358,   386,   388,   389,
1819 <     390,   392,  -805,   394,   396,   397,   398,   399,   402,   403,
1820 <     404,   228,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1821 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,   406,   427,
1822 <      18,  -805,  -805,  -805,   492,   432,  -805,  -805,   433,   434,
1823 <    -805,  -805,   100,  -805,  -805,  -805,   453,   467,   467,   526,
1824 <     513,   542,   482,   483,   557,   544,   503,   569,   570,   571,
1825 <     507,   510,   511,   467,   560,   517,   584,   587,   467,   591,
1826 <     592,   572,   594,   596,   535,   536,   470,   537,   471,   467,
1827 <     467,   540,   467,   586,   546,   547,   549,   -99,    30,   550,
1828 <     551,   467,   467,   618,   600,   467,   565,   566,   568,   580,
1829 <     516,  -805,  -805,  -805,   489,   518,  -805,   520,   523,    14,
1830 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,   530,   531,   541,
1831 <    -805,   543,   545,   552,   554,   555,   133,  -805,  -805,  -805,
1832 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,   558,  -805,   559,
1833 <    -805,    48,  -805,  -805,  -805,   533,  -805,   561,   573,   575,
1834 <    -805,     2,  -805,  -805,  -805,  -805,  -805,   603,   604,   574,
1835 <    -805,   527,  -805,   654,   656,   581,  -805,   582,   583,   585,
1836 <    -805,   588,   589,   590,  -805,   593,   107,  -805,  -805,  -805,
1837 <    -805,  -805,  -805,  -805,  -805,  -805,   595,   597,   598,   601,
1838 <      88,  -805,  -805,  -805,  -805,   617,   619,   625,   678,   637,
1839 <     638,   467,   602,  -805,  -805,   689,   648,   694,   698,   699,
1840 <     706,   707,   605,   708,   733,   714,   715,   607,  -805,   610,
1841 <     608,  -805,   609,    37,  -805,  -805,  -805,  -805,   613,   611,
1842 <    -805,    58,  -805,  -805,  -805,   724,   616,  -805,   620,   621,
1843 <     622,  -805,   627,   629,   630,   631,   632,   327,   633,   634,
1844 <     635,   636,   643,   646,   651,   652,   658,   662,   663,   665,
1845 <     666,  -805,  -805,   747,   755,   467,   767,   784,   797,   798,
1846 <     735,   799,   809,   467,   467,   618,   680,  -805,  -805,   793,
1847 <      24,   794,   796,   760,   688,   805,   815,   816,   820,   842,
1848 <     823,   827,   831,   723,  -805,   834,   835,   727,  -805,   728,
1849 <    -805,   838,   840,   730,   732,  -805,   734,   736,   737,   738,
1850 <     739,   740,   741,   742,   743,   744,   745,   746,   748,   749,
1851 <     750,   751,   752,   753,   754,   757,   758,   759,   761,   762,
1852 <     763,   764,   765,   766,   768,   769,   696,   770,   729,   771,
1853 <     772,   773,   774,   775,   776,   777,   778,   779,   780,   781,
1854 <     782,   783,   785,   786,   787,   312,   788,   789,   790,   791,
1855 <     792,   795,   800,  -805,   801,   467,   812,   802,   844,   864,
1856 <     803,  -805,  -805,   865,   825,   804,   876,   914,   902,   903,
1857 <     905,   806,  -805,   906,   807,   907,   808,  -805,  -805,   810,
1858 <     908,   910,   932,   811,  -805,   814,   817,  -805,   160,   818,
1859 <     819,  -805,  -805,   918,   877,   813,   924,   929,   930,   821,
1860 <     931,   826,  -805,  -805,   934,   936,   937,   829,  -805,   830,
1861 <     832,   833,   836,   837,   839,   841,  -805,   843,   845,   846,
1862 <     847,   848,   849,   850,   222,   851,   852,   853,   854,  -805,
1863 <    -805,   940,   855,   943,   856,  -805,  -805,   944,   857,   859,
1864 <    -805,   861,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1865 <    -805,   467,   467,   467,   467,   467,  -805,  -805,  -805,  -805,
1866 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1867 <    -805,   862,   863,   866,   867,   868,   869,   870,   871,   872,
1868 <     873,   874,   875,   878,  -805,   879,   880,   881,   882,   883,
1869 <     884,    -6,   885,   886,   887,   888,   889,   890,   891,   892,
1870 <    -805,   893,   894,  -805,  -805,   895,   896,   927,  -805,  -805,
1871 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1872 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1873 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1874 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1875 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -224,
1876 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1877 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1878 <    -805,  -805,  -209,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1879 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1880 <     618,   618,   618,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1881 <    -805,  -805,     1,   897,   898,     6,   899,   900,  -805,   901,
1882 <     904,   718,   909,   911,   912,   913,   915,  -805,   916,   942,
1883 <     917,  -805,   -20,   919,   920,   925,   860,  -805,  -805,  -805,
1884 <    -805,   921,   922,  -805,   923,   150,  -805,  -805,  -805,  -805,
1885 <    -805,  -805,   928,   933,   529,   935,   938,   939,   756,   941,
1886 <    -805,   945,   946,   947,  -805,  -805,  -805,  -805,  -805,  -805,
1887 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1888 <    -805,  -208,  -805,  -805,  -805,  -805,  -805,   948,   556,   949,
1889 <    -805,   950,   599,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1890 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1891 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1892 <    -805,  -805,  -805,  -805,  -206,  -805,  -805,  -805,  -805,  -805,
1893 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -198,
1894 <    -805,  -805,   696,  -805,   729,  -805,  -805,  -805,  -805,  -805,
1895 <    -185,  -805,  -805,  -805,  -805,  -805,  -183,  -805,  -805,  -805,
1896 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1897 <    -805,  -180,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1898 <    -165,  -805,  -805,  -805,  -805,  -805,   -56,  -805,  -805,  -805,
1899 <     970,   932,   951,  -805,   953,   926,  -110,   952,  -805,  -805,
1900 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1901 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,   -51,
1902 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1903 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1904 <    -805,  -805,  -805,  -805,    -9,  -805,  -805,  -805,  -805,  -805,
1905 <    -805,   222,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1906 <    -805,  -805,  -805,    72,  -805,  -805,  -805,  -805,  -805,  -805,
2011 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,    96,  -805,  -805,
2012 <      -6,  -805,   927,  -805,  -805,  -805,     1,  -805,     6,  -805,
2013 <     718,  -805,   942,  -805,   -20,  -805,  -805,  -805,   954,   393,
2014 <     955,   956,  -805,  -805,   529,  -805,   756,  -805,  -805,   556,
2015 <    -805,   599,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
2016 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,   105,  -805,  -805,
2017 <    -805,  -805,  -805,  -805,  -805,  -805,   393,  -805
1782 >    -861,   613,  -861,  -173,  -209,  -198,  -861,  -861,  -861,  -193,
1783 >    -861,  -188,  -861,  -861,  -861,  -185,  -183,  -861,  -861,  -180,
1784 >    -169,  -861,  -861,  -138,  -861,  -861,  -861,  -861,  -861,  -861,
1785 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1786 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,    18,   823,  -124,
1787 >    -100,   -98,    21,   -80,   438,   -74,   -71,   -58,    44,     4,
1788 >     -20,   -15,   378,   326,   -10,    -7,     7,   -66,    41,    51,
1789 >      57,     8,  -861,  -861,  -861,  -861,  -861,    59,    62,    65,
1790 >      84,    92,    96,   100,   102,   103,   104,   106,   110,   117,
1791 >     122,     3,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1792 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,   555,   356,    49,
1793 >    -861,   123,    26,  -861,  -861,   166,  -861,   133,   134,   136,
1794 >     138,   141,   144,   145,   148,   149,   153,   154,   155,   156,
1795 >     158,   160,   162,   163,   165,   167,   168,   169,   172,   173,
1796 >     177,   179,   186,   189,   191,   194,   196,   201,  -861,   203,
1797 >    -861,   211,   212,   214,   215,   218,   220,   221,   224,   226,
1798 >     229,   231,   234,   243,   247,   248,   250,   252,   255,   259,
1799 >     131,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1800 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1801 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1802 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1803 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1804 >    -861,  -861,  -861,  -861,  -861,   392,    42,   279,     1,   263,
1805 >      58,  -861,  -861,  -861,    80,    94,   264,   265,    19,  -861,
1806 >    -861,  -861,   364,   188,  -861,   267,   269,   270,   272,   273,
1807 >     280,    14,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   288,
1808 >     286,   287,   289,   291,   292,   296,   299,   305,   306,   309,
1809 >     311,   312,   313,   319,   320,    91,  -861,  -861,  -861,  -861,
1810 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1811 >    -861,  -861,    20,    16,  -861,   324,    36,  -861,  -861,  -861,
1812 >     157,   290,   429,   336,  -861,   456,   457,   398,   462,   462,
1813 >     463,   465,   466,   409,   412,   475,   462,   420,   422,   367,
1814 >    -861,   368,   366,   369,   370,   372,   373,   383,   384,   385,
1815 >     386,   388,   393,   394,   396,   400,   251,  -861,  -861,  -861,
1816 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1817 >    -861,  -861,   371,   401,   402,   403,   404,  -861,   406,   407,
1818 >     410,   415,   418,   431,   433,   434,   316,  -861,  -861,  -861,
1819 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1820 >    -861,  -861,   440,   441,    30,  -861,  -861,  -861,   500,   445,
1821 >    -861,  -861,   443,   444,  -861,  -861,    34,  -861,  -861,  -861,
1822 >     497,   462,   462,   566,   505,   506,   569,   551,   511,   462,
1823 >     515,   462,   578,   579,   580,   520,   521,   524,   462,   562,
1824 >     525,   588,   590,   462,   591,   592,   574,   594,   595,   534,
1825 >     535,   478,   539,   483,   462,   462,   543,   462,   544,   545,
1826 >     546,   -87,    97,   548,   549,   462,   462,   593,   462,   552,
1827 >     556,   557,   559,   499,  -861,   504,   502,   503,  -861,   507,
1828 >     516,   526,   528,   533,    12,  -861,  -861,  -861,  -861,  -861,
1829 >    -861,  -861,  -861,  -861,  -861,   536,  -861,   537,  -861,    33,
1830 >    -861,  -861,  -861,   508,  -861,   538,   542,   550,  -861,    25,
1831 >    -861,  -861,  -861,  -861,  -861,   563,   560,  -861,   522,  -861,
1832 >     636,   655,   568,  -861,   570,   558,   571,  -861,   581,   585,
1833 >     586,  -861,   599,   232,  -861,  -861,  -861,  -861,  -861,  -861,
1834 >    -861,  -861,  -861,   573,   601,   603,   604,    88,  -861,  -861,
1835 >    -861,  -861,   619,   622,   693,   652,   664,   462,   610,  -861,
1836 >    -861,   710,   668,   712,   713,   714,   715,   716,   717,   -75,
1837 >     -68,   718,   720,   740,   722,   723,   627,  -861,   628,   629,
1838 >    -861,   630,    39,  -861,  -861,  -861,  -861,   634,   633,  -861,
1839 >      15,  -861,  -861,  -861,   736,   638,  -861,   640,   641,   642,
1840 >    -861,   643,   644,   646,   261,   647,   648,   650,   653,   654,
1841 >     656,   657,   658,   663,   665,   666,  -861,  -861,   773,   782,
1842 >     462,   786,   787,   789,   792,   774,   794,   796,   462,   462,
1843 >     800,   800,   683,  -861,  -861,   783,   119,   784,   742,   684,
1844 >     788,   790,   791,   793,   806,   795,   797,   798,   690,  -861,
1845 >     799,   802,   695,  -861,   697,  -861,   803,   804,   703,   707,
1846 >    -861,   708,   709,   711,   719,   721,   724,   726,   727,   728,
1847 >     729,   730,   731,   732,   733,   735,   737,   738,   739,   741,
1848 >     743,   744,   745,   746,   747,   748,   749,   750,   751,   752,
1849 >     753,   754,   561,   755,   598,   756,   757,   758,   759,   760,
1850 >     761,   762,   763,   764,   765,   766,   767,   768,   769,   770,
1851 >     771,   772,   775,   776,   777,   778,  -861,  -861,   809,   779,
1852 >     780,   811,   831,   815,   816,   817,   781,  -861,   819,   785,
1853 >     821,   801,  -861,  -861,   805,   835,   839,   860,   807,  -861,
1854 >     810,  -861,    55,   812,   813,  -861,  -861,   872,   830,   808,
1855 >     878,   879,   881,   814,   883,   818,  -861,  -861,   884,   885,
1856 >     886,   820,  -861,   822,   824,   825,   826,   827,   828,  -861,
1857 >     829,   832,   833,   834,   836,   837,   838,   840,  -861,  -861,
1858 >    -205,  -861,  -861,  -861,  -166,  -861,   841,   842,   843,   844,
1859 >     845,  -861,  -861,   888,   846,   889,   847,  -861,  -861,   890,
1860 >     848,   850,  -861,   852,  -861,  -861,  -861,  -861,  -861,  -861,
1861 >    -861,   462,   462,   462,   462,   462,  -861,  -861,  -861,  -861,
1862 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   853,
1863 >     854,   855,   856,   857,   858,   859,   861,   862,   863,   864,
1864 >     865,    64,   866,   867,  -861,   868,   869,   870,   871,   873,
1865 >      -2,   874,   875,   876,   877,   880,   882,   887,   891,  -861,
1866 >     892,   893,  -861,  -861,   894,   895,   896,  -861,  -861,  -861,
1867 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1868 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1869 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1870 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1871 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -165,
1872 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1873 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1874 >    -861,  -861,  -159,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1875 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1876 >    -861,  -861,  -861,  -861,  -861,   897,   898,   519,   899,   900,
1877 >     901,   902,   903,  -861,   904,   908,   905,  -861,   -40,   906,
1878 >     907,   849,   689,  -861,  -861,  -861,   909,   910,  -861,   911,
1879 >      54,  -861,  -861,  -861,  -861,  -861,  -861,   912,   915,   513,
1880 >     916,   917,   918,   626,   919,  -861,   920,   921,   922,  -861,
1881 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1882 >    -861,  -861,  -861,  -861,  -861,   -75,  -861,   -68,  -861,  -861,
1883 >    -861,  -861,  -861,   923,   671,   924,  -861,   925,   681,  -861,
1884 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1885 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   800,   800,
1886 >     800,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1887 >    -861,  -861,  -135,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1888 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -129,  -861,  -861,
1889 >     561,  -861,   598,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1890 >    -861,  -861,  -861,  -861,  -103,  -861,  -861,  -861,  -861,  -861,
1891 >    -861,  -861,  -861,  -101,  -861,  -861,  -861,  -861,  -861,   -61,
1892 >    -861,  -861,  -861,   913,   860,   926,  -861,   914,   927,   -94,
1893 >     928,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1894 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1895 >    -861,  -861,  -861,   -24,  -861,  -861,  -861,  -861,  -861,  -861,
1896 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1897 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   -19,  -861,
1898 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1899 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,   -16,  -861,  -861,
1900 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1901 >    -861,    76,  -861,  -861,  -861,  -861,  -861,    -2,  -861,   896,
1902 >    -861,  -861,  -861,   519,  -861,   908,  -861,   -40,  -861,  -861,
1903 >    -861,   929,   245,   931,   932,  -861,  -861,   513,  -861,   626,
1904 >    -861,   671,  -861,   681,  -861,  -861,  -861,  -861,  -861,  -861,
1905 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,    93,  -861,  -861,
1906 >    -861,  -861,  -861,  -861,  -861,  -861,   245,  -861
1907   };
1908  
1909   /* YYPGOTO[NTERM-NUM].  */
1910   static const yytype_int16 yypgoto[] =
1911   {
1912 <    -805,  -805,  -805,  -804,  -321,  -620,  -463,  -805,  -805,   957,
1913 <    -805,  -805,  -805,  -805,   858,  -805,  -805,  -805,  -144,  -805,
1914 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1915 <    -805,  -805,  1026,  -805,  -805,  -805,  -805,  -805,   958,  -805,
1916 <    -805,  -805,  -805,  -805,    77,  -805,  -805,  -805,  -805,  -805,
1917 <    -195,  -805,  -805,  -805,   576,  -805,  -805,  -805,  -805,  -805,
1918 <    -805,  -805,  -805,  -805,  -139,  -805,  -805,  -805,  -133,  -805,
1919 <    -805,  -805,   824,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1920 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1921 <    -805,  -124,  -805,   642,  -805,  -805,  -805,   -19,  -805,  -805,
1922 <    -805,  -805,  -805,   657,  -805,  -805,  -805,  -805,  -805,  -805,
1923 <    -805,  -115,  -805,  -805,  -805,  -805,  -805,  -805,   612,  -805,
1924 <    -805,  -805,  -805,  -805,   959,  -805,  -805,  -805,  -805,   614,
1925 <    -805,  -805,  -805,  -805,  -805,  -130,  -805,  -805,  -805,   567,
1926 <    -805,  -805,  -805,  -805,  -122,  -805,  -805,  -805,   828,  -805,
1927 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,   -93,
1928 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1929 <    -805,   -96,  -805,   668,  -805,  -805,  -805,  -805,  -805,   822,
1930 <    -805,  -805,  -805,  -805,  1054,  -805,  -805,  -805,  -805,  -805,
1931 <    -805,   -81,  -805,   960,  -805,  -805,  -805,  -805,  1000,  -805,
1932 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1933 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1934 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1935 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1936 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
1937 <      61,  -805,  -805,  -805,    65,  -805,  -805,  -805,  -805,  -805,
1938 <    -805,  -805,   709,  -805,  -805,  -805,  -805,  -805,   -79,  -805,
1939 <    -805,  -805,  -805,  -805,   -68,  -805,  -805,  1104,  -805,  -805,
1940 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,
2052 <    -805,  -805,  -805,  -805,  -805,  -805,  -805,  -805,   961,  -805,
2053 <    -805,  -805,  -805,  -805,  -805,  -805
1912 >    -861,  -861,  -861,  -213,  -306,  -860,  -610,  -861,  -861,   930,
1913 >    -861,  -861,  -861,  -861,   933,  -861,  -861,  -861,     6,  -861,
1914 >       5,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1915 >    -861,  -861,  -861,  -861,  -861,  -861,   942,  -861,  -861,  -861,
1916 >    -861,  -861,   934,  -861,  -861,  -861,  -861,    45,  -861,  -861,
1917 >    -861,  -861,  -861,  -229,  -861,  -861,  -861,   509,  -861,  -861,
1918 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -201,  -861,  -861,
1919 >    -861,  -194,  -861,  -861,  -861,   688,  -861,  -861,  -861,  -861,
1920 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1921 >    -861,  -861,  -861,  -861,  -861,  -182,  -861,   530,  -861,  -861,
1922 >    -861,   -76,  -861,  -861,  -861,  -861,  -861,   576,  -861,  -861,
1923 >    -861,  -861,  -861,  -861,  -861,  -168,  -861,  -861,  -861,  -861,
1924 >    -861,  -861,   523,  -861,  -861,  -861,  -861,  -861,   935,  -861,
1925 >    -861,  -861,  -861,   476,  -861,  -861,  -861,  -861,  -861,  -179,
1926 >    -861,  -861,  -861,   479,  -861,  -861,  -861,  -861,  -158,  -861,
1927 >    -861,  -861,   692,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1928 >    -861,  -861,  -861,  -143,  -861,  -861,  -861,  -861,  -861,  -861,
1929 >    -861,  -861,  -861,  -861,  -126,  -861,   612,  -861,  -861,  -861,
1930 >    -861,  -861,   725,  -861,  -861,  -861,  -861,   955,  -861,  -861,
1931 >    -861,  -861,  -861,  -861,  -102,  -861,   702,  -861,  -861,  -861,
1932 >    -861,   937,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1933 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1934 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1935 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1936 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1937 >    -861,  -861,  -861,    28,  -861,  -861,  -861,    32,  -861,  -861,
1938 >    -861,  -861,  -861,  1012,  -861,  -861,  -861,  -861,  -861,  -861,
1939 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1940 >     936,  -861,  -861,  -861,  -861,  -861,  -861
1941   };
1942  
1943   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1944     positive, shift that token.  If negative, reduce the rule which
1945     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1946 < #define YYTABLE_NINF -102
1946 > #define YYTABLE_NINF -108
1947   static const yytype_int16 yytable[] =
1948   {
1949 <     726,   618,   619,   515,  1099,   725,  1100,    49,   625,   251,
1950 <      50,   598,  1128,   121,   306,   472,   121,  1134,   473,   397,
1951 <    1101,  1121,    54,   397,  1102,  1122,   127,  1075,  1076,  1077,
1952 <    1078,  1079,   306,   128,   129,   556,  1123,  1230,   589,  1259,
1953 <    1124,  1231,    56,  1260,   130,    61,  1163,  1261,    70,   506,
1954 <      62,  1262,   131,   242,   516,   557,   132,   133,   474,   598,
1955 <    1265,   475,  1267,   134,  1266,  1269,  1268,   135,   136,  1270,
1956 <     137,    47,    48,   517,    65,   242,   138,   506,   518,    66,
1957 <    1271,   717,   718,    71,  1272,   139,   140,    69,   122,   556,
1958 <     141,   122,   118,    72,   398,   142,   677,   678,   398,   143,
1959 <     144,   407,   476,   145,   119,  1280,   146,   147,   537,   557,
1960 <     260,   252,   693,   120,   148,   599,   126,   698,   307,   477,
1961 <     149,   150,   238,   151,   152,   153,   154,   155,   709,   710,
1962 <     239,   712,   538,    79,   487,   277,   307,   519,   156,   253,
1963 <     723,   724,   590,   558,   728,    80,   157,   158,   159,   261,
1964 <     160,  1021,    73,   161,   162,   539,   399,   163,   488,   540,
1965 <     399,  1021,   262,   599,   240,    81,    82,   241,   164,   258,
1966 <     278,    83,   559,    84,   259,   263,   264,   265,   266,   251,
1967 <     600,   489,   863,  1129,   304,   490,   507,  1164,  1135,  1273,
1968 <     165,  1165,   166,  1274,  1283,   267,   167,   558,  1284,   337,
1969 <     168,   169,   170,   171,   172,   408,   279,   591,   173,   174,
1970 <     719,   720,   541,   305,   507,    85,    86,   175,   508,  1103,
1971 <     338,   339,    87,    88,   866,   867,   559,   340,   600,   366,
1972 <     311,   367,   407,   526,   368,   312,  1285,   542,   409,   280,
1973 <    1286,   281,   282,    89,    90,   478,   508,   176,   763,   177,
1974 <     795,   178,   369,   370,   535,  1022,   543,   179,    91,    92,
1975 <     740,   405,   180,   491,   667,  1022,   589,   181,   592,    93,
1976 <     410,   470,   492,   493,   515,   243,   371,   606,    94,   509,
1977 <     372,   252,   283,   814,   284,   285,   313,   314,   244,   317,
1978 <     341,   342,   343,   315,   756,   344,  -101,   243,   529,   373,
1979 <     286,   374,   318,   345,   819,   537,   494,   509,   319,   253,
1980 <     244,   320,    70,   375,   853,   346,   347,  1288,  -101,   544,
1981 <    1023,  1289,   861,   862,   531,   516,   980,   981,   982,   538,
1982 <    1023,   348,   349,   376,   787,   321,   408,   287,   545,   472,
1983 <     322,  1290,   473,   323,   517,  1291,   674,    71,   612,   518,
1984 <    1315,   324,   539,   781,  1316,   572,   540,    72,   325,   350,
1985 <    1125,  1126,  1127,   377,   495,    95,    96,    97,   326,   409,
1986 <     590,   327,   288,   289,  1059,  1060,   328,   378,   335,   751,
1987 <     587,   127,   474,   329,   330,   475,   331,   332,   128,   129,
1988 <     379,   333,   334,  1024,   404,   416,  1177,   417,   532,   130,
1989 <     418,   410,   419,  1024,   420,   421,   422,   131,   519,   541,
1990 <     423,   132,   133,   424,   993,   425,    73,   426,   134,   427,
1991 <     428,   277,   135,   136,   429,   137,   476,   725,   430,   431,
1992 <     432,   138,   433,   434,   542,   591,   435,   436,   437,   438,
1993 <     139,   140,   617,   477,   646,   141,   574,   439,   440,  1300,
1994 <     142,   441,   442,   543,   143,   144,   278,   443,   145,   444,
1995 <     445,   146,   147,   447,   449,   450,   380,   451,   452,   148,
1996 <    1301,   453,  1302,   454,   663,   149,   150,   455,   151,   152,
1997 <     153,   154,   155,   831,   832,   833,   834,   835,   456,   457,
1998 <     458,   459,   279,   156,   460,   366,   592,   367,   461,   462,
1999 <     368,   157,   158,   159,   463,   160,   464,   465,   161,   162,
2000 <     466,   467,   163,  1303,   468,   469,   544,   527,   369,   370,
2001 <     528,   608,   533,   164,   534,   280,   487,   281,   282,   565,
2002 <     566,   567,   568,   569,  1181,   545,   570,   571,   575,   576,
2003 <     577,   578,   371,   579,   580,   165,   372,   166,   581,   583,
2004 <     488,   167,   609,   584,   585,   168,   169,   170,   171,   172,
2005 <     610,   586,   605,   173,   174,   373,  1182,   374,   283,   478,
2006 <     284,   285,   175,   489,   611,   613,   614,   490,    79,   375,
2007 <     615,   616,   617,   620,   621,  1183,   286,  1304,  1305,   622,
2008 <      80,  1184,   623,   624,   626,   627,   631,   628,   629,   376,
2009 <     632,   630,   176,   648,   177,   633,   178,   634,  1185,   635,
2010 <      81,    82,   179,   636,   637,   638,    83,   180,    84,   639,
2011 <     640,   641,   181,   287,  1306,   642,   643,   260,   669,   377,
2012 <     644,   645,  1186,   676,   649,  1233,   650,   651,   652,  1187,
2013 <     653,   679,   655,   378,   656,   657,   658,   659,   337,   680,
2014 <     660,   661,   662,  1188,   665,   491,   379,   681,   288,   289,
2015 <      85,    86,   682,   683,   492,   493,   261,    87,    88,   338,
2016 <     339,  1189,   684,  1190,  1191,   666,   340,   670,  1247,   262,
2017 <     685,   671,   672,   686,   687,   688,   689,   690,    89,    90,
2018 <     691,   692,   263,   264,   265,   266,   694,   695,   494,   696,
2019 <       2,     3,   697,    91,    92,     4,   699,   700,   701,   702,
2020 <    1234,   703,   267,  1281,    93,   704,   705,   707,   706,   708,
2021 <     711,     5,   713,    94,  1192,     6,   714,   715,     7,   716,
2022 <     721,   722,   380,   725,  1193,     8,   727,   735,  1142,   341,
2023 <     342,   343,  1235,  1194,   344,   729,   730,  1195,   731,  1196,
2024 <       9,  1236,   345,  1248,    10,    11,   495,    12,  1237,  1197,
2025 <     732,   733,   919,    13,   346,   347,   736,  1143,   738,  1198,
2026 <    1238,   739,  1239,  1240,   768,   742,  1144,    14,   758,   743,
2027 <     348,   349,  1145,   765,   766,  1249,  1241,    15,    16,   744,
2028 <     769,   746,   770,   747,  1250,   942,  1242,   789,  1146,   790,
2029 <     748,  1251,   749,   750,    17,   791,   753,   755,   350,   760,
2030 <      95,    96,    97,  1252,   792,  1253,  1254,   793,   794,   767,
2031 <      18,   761,  1204,   762,  1147,   797,   771,   772,   798,  1255,
2032 <     799,   773,  1148,   774,   800,   801,   776,   777,   778,  1256,
2033 <     783,   780,   802,   803,   805,   784,   785,   796,   806,   786,
2034 <     807,   808,   809,   804,    19,   810,   811,   813,   816,   817,
2035 <     821,   822,   851,    20,    21,   823,   824,   825,    22,    23,
2036 <     852,   858,   826,  1149,   827,   828,   829,   830,   838,   839,
2037 <     840,   841,   854,   920,   921,   922,   923,   924,   842,   925,
2038 <     926,   843,  1150,   927,   928,   929,   844,   845,   930,   855,
2039 <     931,   932,   933,   846,   934,   935,   936,   847,   848,   937,
2040 <     849,   850,   856,   857,   859,   938,   943,   944,   945,   946,
2041 <     947,    24,   948,   949,   860,   864,   950,   951,   952,   865,
2042 <     868,   953,   869,   954,   955,   956,   871,   957,   958,   959,
2043 <     870,   872,   960,  1205,  1206,  1207,  1208,  1209,   961,  1210,
2044 <    1211,   873,   874,  1212,  1213,  1214,   875,   876,  1215,   877,
2045 <    1216,  1217,  1218,   878,  1219,  1220,  1221,   879,   880,  1222,
2046 <     881,   882,   883,   884,   885,  1223,   886,   888,   887,   889,
2047 <     996,   890,   891,   892,   893,   894,   895,   896,   897,   898,
2048 <     899,   900,   994,   901,   902,   903,   904,   905,   906,   907,
2049 <     997,   999,   908,   909,   910,  1000,   911,   912,   913,   914,
2050 <     915,   916,  1002,   917,   918,   941,   964,   965,   966,   967,
2051 <     968,   969,   970,   971,   972,   973,   974,   975,   976,  1003,
2052 <     977,   978,   979,   985,   986,   987,   988,   989,  1004,  1005,
2053 <     990,  1006,  1008,  1010,  1013,   991,  1014,  1015,   998,   992,
2054 <     995,  1007,  1001,  1011,  1032,  1009,  1018,  1033,  1012,  1019,
2055 <    1035,  1034,  1020,  1030,  1031,  1036,  1037,  1039,  1118,  1038,
2056 <    1041,  1040,  1042,  1043,  1044,  1045,  1067,  1046,  1047,  1069,
2057 <    1071,  1048,  1049,  1159,  1050,  1275,  1051,  1287,  1052,  1278,
2058 <    1053,  1054,  1055,  1056,  1057,  1058,  1063,  1064,  1065,  1066,
2059 <     316,  1070,  1178,  1068,  1073,  1072,  1074,  1080,  1081,  1171,
2060 <    1170,  1082,  1083,  1084,  1085,  1086,  1087,  1088,  1089,  1090,
2061 <    1091,  1317,   782,  1092,  1093,  1094,  1095,  1096,  1097,  1098,
2062 <    1106,  1107,  1108,  1109,  1110,  1111,  1112,  1113,  1114,  1115,
2063 <    1116,  1117,  1132,  1133,  1138,  1139,  1140,  1312,   588,  1141,
2064 <    1298,  1311,  1276,   752,  1153,  1296,  1154,  1155,  1156,  1313,
2065 <    1157,  1158,  1162,   764,  1168,  1169,  1173,  1292,   820,  1314,
2179 <    1174,  1176,   788,  1179,  1279,   647,  1297,   406,  1180,   757,
2180 <    1201,  1293,   471,  1202,  1203,  1264,  1226,  1263,   741,  1295,
2181 <    1227,  1228,  1229,  1232,  1245,  1246,  1277,  1282,  1294,  1299,
2182 <    1309,  1310,   336,   530,     0,     0,     0,   815,     0,   664,
2183 <       0,   536,     0,     0,     0,     0,     0,     0,     0,     0,
2184 <       0,     0,   668,     0,     0,     0,     0,     0,     0,   573,
2185 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2186 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2187 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2188 <       0,     0,     0,     0,     0,     0,     0,   607,     0,     0,
1949 >     822,   823,   585,   586,    76,   235,  1050,   821,   294,    67,
1950 >     593,  1096,    47,   455,  1004,   244,   567,   567,  1005,    67,
1951 >     235,   558,   110,    48,    77,    78,   483,   110,    52,   456,
1952 >      79,   381,    68,    54,   474,   391,    58,   294,    59,    69,
1953 >     558,    62,    68,   474,   457,   228,    45,    46,   458,    69,
1954 >     381,   245,    63,  1006,  1069,   966,   966,  1007,  1070,   228,
1955 >    1071,   484,   758,   759,  1072,   246,   247,   248,   249,   762,
1956 >     763,    80,    81,  1038,  1039,  1040,   682,   683,    82,    83,
1957 >      84,   485,   111,    66,  1196,   250,   486,   111,  1197,   523,
1958 >    1198,   382,   259,   236,  1199,   642,   643,   107,   295,    70,
1959 >      85,    86,   524,   650,  1213,   652,   568,   568,   236,    70,
1960 >     382,   559,   659,    87,    88,   260,  1202,   664,  1204,   237,
1961 >    1203,   108,  1205,   109,    89,   392,   459,   295,   675,   676,
1962 >     559,   678,   116,    90,   237,   460,   461,   117,   118,   688,
1963 >     689,   115,   691,   119,   487,   967,   967,   225,   261,  1097,
1964 >     226,   120,   383,   299,  1098,   475,   393,   121,  1206,   122,
1965 >     123,   124,  1207,   227,   475,   821,   125,   391,   462,   569,
1966 >     569,   383,   126,   127,   560,   128,   129,   130,  1193,  1194,
1967 >    1195,   131,   262,   525,   263,   264,   132,   476,   394,   523,
1968 >     133,   134,  1051,   560,   135,  1216,   476,   136,   137,  1217,
1969 >    1218,   242,   524,  1220,  1219,   138,   243,  1221,   968,   968,
1970 >     526,   292,   139,   140,   293,   141,   142,   143,   144,   145,
1971 >     494,   463,   265,   319,   266,   267,   268,   269,   303,   561,
1972 >     146,   748,   706,   504,   538,   781,   147,   148,   149,   502,
1973 >     150,   270,   477,   151,   152,   718,   389,   153,   561,   505,
1974 >     632,   477,   321,   711,   639,   229,   575,   392,   154,   776,
1975 >     684,   685,  -107,   300,   506,   271,   322,   323,   507,   229,
1976 >     324,   969,   969,   301,  1110,   272,  -107,   577,   496,   302,
1977 >     483,   305,   155,   525,   306,  1230,   156,   307,   393,   157,
1978 >     158,   159,   160,   161,   811,  1222,   162,   163,   498,  1223,
1979 >     826,   827,   819,   820,   273,   274,   308,  1231,   741,  1232,
1980 >     526,   556,  1245,   499,   309,   484,  1246,   352,   310,   353,
1981 >     394,   354,   311,   508,   312,   313,   314,   259,   315,   325,
1982 >     326,   327,   316,   355,   328,   485,   164,   165,   166,   317,
1983 >     486,   167,   329,   168,   318,   388,   509,   169,   356,  1233,
1984 >     260,   453,   357,   330,   331,   400,   401,   352,   402,   353,
1985 >     403,   354,   584,   404,   510,   504,   405,   406,   332,   333,
1986 >     407,   408,   358,   355,   359,   409,   410,   411,   412,   244,
1987 >     413,   505,   414,   261,   415,   416,   360,   417,   356,   418,
1988 >     419,   420,   357,   455,   421,   422,   506,   334,   487,   423,
1989 >     507,   424,   791,   792,   793,   794,   795,   361,   425,   456,
1990 >     578,   426,   358,   427,   359,   245,   428,   262,   429,   263,
1991 >     264,  1234,  1235,   430,   457,   432,   360,   511,   458,   246,
1992 >     247,   248,   249,   434,   435,   362,   436,   437,   335,   116,
1993 >     438,   512,   439,   440,   117,   118,   441,   361,   442,   250,
1994 >     119,   443,   735,   444,  1236,   508,   445,   265,   120,   266,
1995 >     267,   268,   269,   363,   121,   446,   122,   123,   124,   447,
1996 >     448,   612,   449,   125,   450,   362,   270,   451,   509,   126,
1997 >     127,   452,   128,   129,   130,   495,   500,   501,   131,   532,
1998 >     364,   533,   534,   132,   535,   536,   510,   133,   134,  1214,
1999 >     271,   135,   537,   363,   136,   137,   459,   540,   541,   542,
2000 >     272,   543,   138,   544,   545,   460,   461,  1114,   546,   139,
2001 >     140,   547,   141,   142,   143,   144,   145,   548,   549,   365,
2002 >     364,   550,  1075,   551,   552,   553,   628,   146,  1115,   273,
2003 >     274,   554,   555,   147,   148,   149,   574,   150,   462,   579,
2004 >     151,   152,  1076,  1116,   153,   580,   321,   581,   582,   511,
2005 >    1117,   583,  1077,   584,   587,   154,   588,   589,  1078,   365,
2006 >     322,   323,   590,   512,   324,   591,   592,  1118,  1021,  1022,
2007 >    1023,  1024,  1025,   594,  1079,   595,   596,   597,   598,   155,
2008 >     614,   599,   600,   156,   601,   602,   157,   158,   159,   160,
2009 >     161,   463,  1119,   162,   163,   603,   604,   605,   606,  1120,
2010 >     607,  1080,   879,     2,     3,   608,   609,     4,   610,  1081,
2011 >     634,  1121,   611,   615,   616,   617,   618,     5,   620,   621,
2012 >       6,     7,   622,   325,   326,   327,     8,   623,   328,  1122,
2013 >     624,  1123,  1124,   164,   165,   166,   329,     9,   167,   902,
2014 >     168,    10,    11,   625,   169,   626,   627,   330,   331,  1082,
2015 >     641,    12,   630,   631,   635,   636,   637,   644,   645,   646,
2016 >     647,   648,   332,   333,   649,    13,  1083,  1138,   651,   653,
2017 >     654,   655,   660,   656,   657,    14,    15,   658,   661,   662,
2018 >    1125,   663,   665,   666,   667,   668,   669,   670,   671,  1126,
2019 >     672,   334,   673,    16,  1127,   674,   677,   679,   680,   681,
2020 >    1128,   686,   687,   690,  1129,   692,  1130,    17,   696,   693,
2021 >     694,  1131,   695,   697,   698,   699,   720,   713,  1132,   701,
2022 >     880,   881,   882,   883,   884,  1167,   885,   886,   702,   887,
2023 >     888,   889,   335,   722,   890,  1181,   891,   892,   703,   893,
2024 >     704,   894,    18,   895,   896,   705,   723,   897,   708,   710,
2025 >     715,    19,    20,   898,   716,    21,    22,   903,   904,   905,
2026 >     906,   907,   717,   908,   909,   724,   910,   911,   912,   721,
2027 >     727,   913,   743,   914,   915,   744,   916,   725,   917,   726,
2028 >     918,   919,   737,   728,   920,  1139,  1140,  1141,  1142,  1143,
2029 >     921,  1144,  1145,   730,  1146,  1147,  1148,   731,   732,  1149,
2030 >    1168,  1150,  1151,   745,  1152,   746,  1153,    23,  1154,  1155,
2031 >    1182,   734,  1156,   738,    76,   739,   740,   747,  1157,   749,
2032 >     750,   751,   752,   753,   754,   755,   756,   757,   766,  1169,
2033 >     767,   768,   769,   770,    77,    78,   771,   772,  1170,  1183,
2034 >      79,   773,   775,   778,  1171,   779,   783,   784,  1184,   785,
2035 >     786,   787,   788,   789,  1185,   790,   798,   799,  1172,   800,
2036 >    1173,  1174,   801,   802,   809,   803,   804,   805,  1186,  1175,
2037 >    1187,  1188,   806,   810,   807,   808,  1176,   812,   813,  1189,
2038 >     814,    80,    81,   815,   816,   817,  1190,   818,    82,    83,
2039 >      84,   821,   824,   825,   828,   829,   830,   835,   831,   839,
2040 >     832,   833,  1104,   834,   842,   836,   843,   837,   838,   840,
2041 >      85,    86,   841,   844,   845,   846,   847,   848,   849,   945,
2042 >     850,   948,   949,    87,    88,   950,   951,   952,   851,   954,
2043 >     852,   956,   946,   853,    89,   854,   855,   856,   857,   858,
2044 >     859,   860,   861,    90,   862,   959,   863,   864,   865,   960,
2045 >     866,   961,   867,   868,   869,   870,   871,   872,   873,   874,
2046 >     875,   876,   877,   878,   901,   924,   925,   926,   927,   928,
2047 >     929,   930,   931,   932,   933,   934,   935,   936,   937,   938,
2048 >     939,   940,   977,   978,   941,   942,   943,   944,   980,   981,
2049 >     953,   982,   947,   984,   986,   987,   988,   955,  1013,  1015,
2050 >    1017,  1164,  1165,   304,  1208,  1111,  1103,  1247,  1242,   719,
2051 >     957,  1066,   736,  1241,   613,  1228,   964,   958,  1209,   965,
2052 >     979,   975,   976,  1092,  1211,  1226,   983,   985,   777,   989,
2053 >     707,   990,  1243,   991,   992,   993,   994,   995,   996,   782,
2054 >     742,   997,   998,   999,  1224,  1000,  1001,  1002,   629,  1003,
2055 >    1008,  1009,  1010,  1011,  1012,  1244,  1016,   390,  1014,  1019,
2056 >    1018,  1020,  1026,  1027,  1028,  1029,  1030,  1031,  1032,  1227,
2057 >    1033,  1034,  1035,  1036,  1037,  1043,  1044,  1045,  1046,  1047,
2058 >    1048,   712,  1049,  1054,  1055,  1056,  1057,  1225,   640,  1058,
2059 >    1201,  1059,  1200,   320,     0,     0,  1060,   454,     0,   633,
2060 >    1061,  1062,  1063,  1064,  1065,     0,  1073,  1074,  1086,  1087,
2061 >    1088,  1089,  1090,  1091,  1095,  1101,  1102,     0,  1106,     0,
2062 >       0,  1112,  1107,  1109,  1113,  1135,  1136,  1137,  1160,  1161,
2063 >    1162,  1163,  1166,  1179,  1180,  1210,     0,  1215,  1229,  1212,
2064 >    1239,  1240,     0,     0,     0,     0,     0,     0,     0,     0,
2065 >       0,     0,     0,     0,   497,     0,     0,     0,   503,     0,
2066         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2067 +       0,     0,     0,     0,     0,     0,     0,   539,     0,     0,
2068         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2069 +       0,     0,     0,     0,     0,     0,     0,     0,   557,     0,
2070         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2071         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2072 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2194 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2195 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2196 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2197 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2198 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2199 <       0,     0,   675
2072 >       0,   576
2073   };
2074  
2075   #define yypact_value_is_default(yystate) \
2076 <  ((yystate) == (-805))
2076 >  ((yystate) == (-861))
2077  
2078   #define yytable_value_is_error(yytable_value) \
2079    YYID (0)
2080  
2081   static const yytype_int16 yycheck[] =
2082   {
2083 <     463,   322,   323,     1,    10,   115,    12,   247,   329,     1,
2084 <     247,     1,    11,     1,     1,     1,     1,    11,     4,     1,
2085 <      26,   245,   247,     1,    30,   249,     1,   831,   832,   833,
2086 <     834,   835,     1,     8,     9,     1,   245,   245,     1,   245,
2087 <     249,   249,   247,   249,    19,   247,    66,   245,     1,     1,
2088 <     247,   249,    27,     1,    52,    21,    31,    32,    44,     1,
2089 <     245,    47,   245,    38,   249,   245,   249,    42,    43,   249,
2090 <      45,   245,   246,    71,   247,     1,    51,     1,    76,   247,
2091 <     245,   180,   181,    36,   249,    60,    61,   247,    76,     1,
2092 <      65,    76,   247,    46,    76,    70,   417,   418,    76,    74,
2093 <      75,     1,    88,    78,   247,   215,    81,    82,     1,    21,
2094 <       1,   103,   433,   247,    89,   105,   247,   438,   105,   105,
2095 <      95,    96,   247,    98,    99,   100,   101,   102,   449,   450,
2096 <     247,   452,    25,     1,     1,     1,   105,   135,   113,   131,
2097 <     461,   462,   105,   109,   465,    13,   121,   122,   123,    40,
2098 <     125,     1,   105,   128,   129,    48,   138,   132,    25,    52,
2099 <     138,     1,    53,   105,   247,    33,    34,   247,   143,   247,
2100 <      36,    39,   138,    41,   247,    66,    67,    68,    69,     1,
2101 <     170,    48,   645,   182,   247,    52,   138,   207,   182,   245,
2102 <     165,   211,   167,   249,   245,    86,   171,   109,   249,     1,
2103 <     175,   176,   177,   178,   179,   105,    72,   170,   183,   184,
2104 <     180,   181,   105,   247,   138,    83,    84,   192,   170,   225,
2105 <      22,    23,    90,    91,   200,   201,   138,    29,   170,     1,
2106 <     245,     3,     1,   245,     6,   248,   245,   130,   138,   105,
2107 <     249,   107,   108,   111,   112,   231,   170,   222,   246,   224,
2108 <     571,   226,    24,    25,   246,   105,   149,   232,   126,   127,
2109 <     246,   246,   237,   130,   246,   105,     1,   242,   231,   137,
2110 <     170,   246,   139,   140,     1,   223,    48,   246,   146,   231,
2111 <      52,   103,   148,   246,   150,   151,   248,   248,   236,   248,
2112 <      92,    93,    94,   246,   246,    97,   244,   223,   246,    71,
2113 <     166,    73,   248,   105,   246,     1,   173,   231,   248,   131,
2114 <     236,   248,     1,    85,   635,   117,   118,   245,   244,   212,
2115 <     170,   249,   643,   644,   244,    52,    14,    15,    16,    25,
2116 <     170,   133,   134,   105,   246,   248,   105,   203,   231,     1,
2117 <     248,   245,     4,   248,    71,   249,   246,    36,   180,    76,
2118 <     245,   248,    48,   246,   249,   246,    52,    46,   248,   161,
2119 <     980,   981,   982,   135,   231,   233,   234,   235,   248,   138,
2120 <     105,   248,   238,   239,   152,   153,   248,   149,   246,   246,
2121 <     246,     1,    44,   248,   248,    47,   248,   248,     8,     9,
2122 <     162,   248,   248,   243,   248,   248,   246,   248,   245,    19,
2123 <     248,   170,   248,   243,   248,   248,   248,    27,   135,   105,
2124 <     248,    31,    32,   248,   735,   248,   105,   248,    38,   248,
2125 <     248,     1,    42,    43,   248,    45,    88,   115,   248,   248,
2126 <     248,    51,   248,   248,   130,   170,   248,   248,   248,   248,
2127 <      60,    61,   115,   105,   246,    65,   245,   248,   248,    56,
2128 <      70,   248,   248,   149,    74,    75,    36,   248,    78,   248,
2129 <     248,    81,    82,   248,   248,   248,   238,   248,   248,    89,
2130 <      77,   248,    79,   248,   246,    95,    96,   248,    98,    99,
2131 <     100,   101,   102,   156,   157,   158,   159,   160,   248,   248,
2132 <     248,   248,    72,   113,   248,     1,   231,     3,   248,   248,
2133 <       6,   121,   122,   123,   248,   125,   248,   248,   128,   129,
2134 <     248,   248,   132,   120,   248,   248,   212,   248,    24,    25,
2135 <     248,   136,   248,   143,   248,   105,     1,   107,   108,   248,
2136 <     248,   248,   248,   248,     5,   231,   248,   248,   248,   248,
2137 <     248,   248,    48,   248,   248,   165,    52,   167,   248,   248,
2138 <      25,   171,   136,   248,   248,   175,   176,   177,   178,   179,
2139 <     136,   248,   248,   183,   184,    71,    37,    73,   148,   231,
2140 <     150,   151,   192,    48,   245,   115,   115,    52,     1,    85,
2141 <     180,   180,   115,   115,   115,    56,   166,   194,   195,   180,
2142 <      13,    62,   180,   115,   180,   180,   245,   180,   180,   105,
2143 <     245,   180,   222,   245,   224,   248,   226,   248,    79,   248,
2144 <      33,    34,   232,   248,   248,   248,    39,   237,    41,   248,
2145 <     248,   248,   242,   203,   231,   248,   248,     1,   136,   135,
2146 <     248,   248,   103,   180,   248,    79,   248,   248,   248,   110,
2147 <     248,   115,   248,   149,   248,   248,   248,   248,     1,   136,
2148 <     248,   248,   248,   124,   248,   130,   162,   115,   238,   239,
2149 <      83,    84,   180,   180,   139,   140,    40,    90,    91,    22,
2150 <      23,   142,   115,   144,   145,   248,    29,   245,    79,    53,
2151 <     136,   248,   248,   180,   115,   115,   115,   180,   111,   112,
2152 <     180,   180,    66,    67,    68,    69,   136,   180,   173,   115,
2153 <       0,     1,   115,   126,   127,     5,   115,   115,   136,   115,
2154 <     154,   115,    86,  1176,   137,   180,   180,   180,   248,   248,
2155 <     180,    21,   136,   146,   195,    25,   180,   180,    28,   180,
2156 <     180,   180,   238,   115,   205,    35,   136,   248,    20,    92,
2157 <      93,    94,   186,   214,    97,   180,   180,   218,   180,   220,
2158 <      50,   195,   105,   154,    54,    55,   231,    57,   202,   230,
2159 <     180,   245,    66,    63,   117,   118,   248,    49,   248,   240,
2160 <     214,   248,   216,   217,   247,   245,    58,    77,   245,   248,
2161 <     133,   134,    64,   180,   180,   186,   230,    87,    88,   248,
2162 <     136,   248,   136,   248,   195,    66,   240,   180,    80,   180,
2163 <     248,   202,   248,   248,   104,   180,   248,   248,   161,   248,
2164 <     233,   234,   235,   214,   136,   216,   217,   180,   180,   245,
2165 <     120,   248,    66,   248,   106,   136,   245,   245,   180,   230,
2166 <     136,   248,   114,   248,   136,   136,   248,   248,   248,   240,
2167 <     245,   248,   136,   136,   136,   248,   248,   245,   115,   248,
2168 <     136,   136,   245,   248,   154,   245,   248,   248,   245,   248,
2169 <     136,   245,   115,   163,   164,   245,   245,   245,   168,   169,
2170 <     115,   136,   245,   155,   245,   245,   245,   245,   245,   245,
2171 <     245,   245,   115,   187,   188,   189,   190,   191,   245,   193,
2172 <     194,   245,   174,   197,   198,   199,   245,   245,   202,   115,
2173 <     204,   205,   206,   245,   208,   209,   210,   245,   245,   213,
2174 <     245,   245,   115,   115,   115,   219,   187,   188,   189,   190,
2175 <     191,   221,   193,   194,   115,   245,   197,   198,   199,   136,
2176 <     136,   202,   136,   204,   205,   206,   248,   208,   209,   210,
2177 <     180,   136,   213,   187,   188,   189,   190,   191,   219,   193,
2178 <     194,   136,   136,   197,   198,   199,   136,   115,   202,   136,
2179 <     204,   205,   206,   136,   208,   209,   210,   136,   245,   213,
2180 <     136,   136,   245,   245,   136,   219,   136,   245,   248,   245,
2181 <     136,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2182 <     245,   245,   180,   245,   245,   245,   245,   245,   245,   245,
2183 <     136,   136,   245,   245,   245,   180,   245,   245,   245,   245,
2184 <     245,   245,   136,   245,   245,   245,   245,   245,   245,   245,
2185 <     245,   245,   245,   245,   245,   245,   245,   245,   245,   115,
2186 <     245,   245,   245,   245,   245,   245,   245,   245,   136,   136,
2187 <     245,   136,   136,   136,   136,   245,   136,   115,   245,   248,
2188 <     248,   245,   248,   245,   136,   248,   245,   180,   248,   245,
2189 <     136,   248,   245,   245,   245,   136,   136,   136,   141,   248,
2190 <     136,   245,   136,   136,   245,   245,   136,   245,   245,   136,
2191 <     136,   245,   245,   141,   245,   115,   245,  1231,   245,   136,
2192 <     245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2193 <      74,   245,  1025,   248,   245,   248,   245,   245,   245,   249,
2194 <     185,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2195 <     245,  1316,   546,   245,   245,   245,   245,   245,   245,   245,
2196 <     245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2197 <     245,   245,   245,   245,   245,   245,   245,  1286,   290,   245,
2198 <    1274,  1284,  1171,   496,   245,  1270,   245,   245,   245,  1289,
2199 <     245,   245,   245,   521,   245,   245,   245,  1260,   601,  1291,
2327 <     248,   248,   560,   245,   248,   351,  1272,   123,   245,   511,
2328 <     245,  1262,   182,   245,   245,  1124,   245,  1122,   479,  1268,
2329 <     245,   245,   245,   245,   245,   245,   245,   245,  1266,   245,
2330 <     245,   245,    98,   245,    -1,    -1,    -1,   593,    -1,   381,
2331 <      -1,   254,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2332 <      -1,    -1,   400,    -1,    -1,    -1,    -1,    -1,    -1,   268,
2333 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2334 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2335 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2336 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,   308,    -1,    -1,
2083 >     610,   611,   308,   309,     1,     1,     8,   101,     1,     1,
2084 >     316,    51,   221,     1,   219,     1,     1,     1,   223,     1,
2085 >       1,     1,     1,   221,    21,    22,     1,     1,   221,    17,
2086 >      27,     1,    24,   221,     1,     1,   221,     1,   221,    31,
2087 >       1,   221,    24,     1,    32,     1,   219,   220,    36,    31,
2088 >       1,    37,   221,   219,   219,     1,     1,   223,   223,     1,
2089 >     219,    36,   137,   138,   223,    51,    52,    53,    54,   137,
2090 >     138,    68,    69,     9,    10,    11,   163,   164,    75,    76,
2091 >      77,    56,    61,   221,   219,    71,    61,    61,   223,     1,
2092 >     219,    61,     1,    89,   223,   401,   402,   221,    91,    91,
2093 >      97,    98,    14,   409,   198,   411,    91,    91,    89,    91,
2094 >      61,    91,   418,   110,   111,    24,   219,   423,   219,   115,
2095 >     223,   221,   223,   221,   121,    91,   114,    91,   434,   435,
2096 >      91,   437,     1,   130,   115,   123,   124,     6,     7,   445,
2097 >     446,   221,   448,    12,   119,    91,    91,   221,    57,   189,
2098 >     221,    20,   122,   219,   194,   122,   122,    26,   219,    28,
2099 >      29,    30,   223,   221,   122,   101,    35,     1,   156,   154,
2100 >     154,   122,    41,    42,   154,    44,    45,    46,  1038,  1039,
2101 >    1040,    50,    91,    95,    93,    94,    55,   154,   154,     1,
2102 >      59,    60,   194,   154,    63,   219,   154,    66,    67,   223,
2103 >     219,   221,    14,   219,   223,    74,   221,   223,   154,   154,
2104 >     122,   221,    81,    82,   221,    84,    85,    86,    87,    88,
2105 >     219,   209,   131,   220,   133,   134,   135,   136,   220,   209,
2106 >      99,   537,   220,     1,   220,   220,   105,   106,   107,   220,
2107 >     109,   150,   209,   112,   113,   220,   220,   116,   209,    17,
2108 >     220,   209,     1,   220,   220,   211,   220,    91,   127,   220,
2109 >     163,   164,   218,   222,    32,   174,    15,    16,    36,   211,
2110 >      19,   217,   217,   222,   220,   184,   218,   120,   220,   222,
2111 >       1,   222,   151,    95,   222,    40,   155,   222,   122,   158,
2112 >     159,   160,   161,   162,   600,   219,   165,   166,   218,   223,
2113 >     181,   182,   608,   609,   213,   214,   222,    62,   220,    64,
2114 >     122,   220,   219,   219,   222,    36,   223,     1,   222,     3,
2115 >     154,     5,   222,    91,   222,   222,   222,     1,   222,    78,
2116 >      79,    80,   222,    17,    83,    56,   205,   206,   207,   222,
2117 >      61,   210,    91,   212,   222,   222,   114,   216,    32,   104,
2118 >      24,   220,    36,   102,   103,   222,   222,     1,   222,     3,
2119 >     222,     5,   101,   222,   132,     1,   222,   222,   117,   118,
2120 >     222,   222,    56,    17,    58,   222,   222,   222,   222,     1,
2121 >     222,    17,   222,    57,   222,   222,    70,   222,    32,   222,
2122 >     222,   222,    36,     1,   222,   222,    32,   146,   119,   222,
2123 >      36,   222,   141,   142,   143,   144,   145,    91,   222,    17,
2124 >     120,   222,    56,   222,    58,    37,   222,    91,   222,    93,
2125 >      94,   176,   177,   222,    32,   222,    70,   195,    36,    51,
2126 >      52,    53,    54,   222,   222,   119,   222,   222,   187,     1,
2127 >     222,   209,   222,   222,     6,     7,   222,    91,   222,    71,
2128 >      12,   222,   220,   222,   209,    91,   222,   131,    20,   133,
2129 >     134,   135,   136,   147,    26,   222,    28,    29,    30,   222,
2130 >     222,   220,   222,    35,   222,   119,   150,   222,   114,    41,
2131 >      42,   222,    44,    45,    46,   222,   222,   222,    50,   222,
2132 >     174,   222,   222,    55,   222,   222,   132,    59,    60,  1109,
2133 >     174,    63,   222,   147,    66,    67,   114,   219,   222,   222,
2134 >     184,   222,    74,   222,   222,   123,   124,     4,   222,    81,
2135 >      82,   222,    84,    85,    86,    87,    88,   222,   222,   213,
2136 >     174,   222,    13,   222,   222,   222,   220,    99,    25,   213,
2137 >     214,   222,   222,   105,   106,   107,   222,   109,   156,   120,
2138 >     112,   113,    33,    40,   116,   219,     1,   101,   101,   195,
2139 >      47,   163,    43,   101,   101,   127,   101,   101,    49,   213,
2140 >      15,    16,   163,   209,    19,   163,   101,    64,   791,   792,
2141 >     793,   794,   795,   163,    65,   163,   219,   219,   222,   151,
2142 >     219,   222,   222,   155,   222,   222,   158,   159,   160,   161,
2143 >     162,   209,    89,   165,   166,   222,   222,   222,   222,    96,
2144 >     222,    92,    51,     0,     1,   222,   222,     4,   222,   100,
2145 >     120,   108,   222,   222,   222,   222,   222,    14,   222,   222,
2146 >      17,    18,   222,    78,    79,    80,    23,   222,    83,   126,
2147 >     222,   128,   129,   205,   206,   207,    91,    34,   210,    51,
2148 >     212,    38,    39,   222,   216,   222,   222,   102,   103,   140,
2149 >     163,    48,   222,   222,   219,   222,   222,   101,   163,   163,
2150 >     101,   120,   117,   118,   163,    62,   157,    51,   163,   101,
2151 >     101,   101,   120,   163,   163,    72,    73,   163,   163,   101,
2152 >     177,   101,   101,   101,   120,   101,   101,   163,   163,   186,
2153 >     222,   146,   163,    90,   191,   222,   163,   163,   163,   163,
2154 >     197,   163,   163,   120,   201,   163,   203,   104,   219,   163,
2155 >     163,   208,   163,   219,   222,   222,   163,   219,   215,   222,
2156 >     169,   170,   171,   172,   173,    64,   175,   176,   222,   178,
2157 >     179,   180,   187,   221,   183,    64,   185,   186,   222,   188,
2158 >     222,   190,   139,   192,   193,   222,   120,   196,   222,   222,
2159 >     222,   148,   149,   202,   222,   152,   153,   169,   170,   171,
2160 >     172,   173,   222,   175,   176,   120,   178,   179,   180,   219,
2161 >     222,   183,   163,   185,   186,   163,   188,   219,   190,   219,
2162 >     192,   193,   219,   222,   196,   169,   170,   171,   172,   173,
2163 >     202,   175,   176,   222,   178,   179,   180,   222,   222,   183,
2164 >     139,   185,   186,   120,   188,   163,   190,   204,   192,   193,
2165 >     139,   222,   196,   222,     1,   222,   222,   163,   202,   219,
2166 >     120,   163,   120,   120,   120,   120,   120,   120,   120,   168,
2167 >     120,   101,   120,   120,    21,    22,   219,   219,   177,   168,
2168 >      27,   222,   222,   219,   183,   222,   120,   219,   177,   219,
2169 >     219,   219,   219,   219,   183,   219,   219,   219,   197,   219,
2170 >     199,   200,   219,   219,   101,   219,   219,   219,   197,   208,
2171 >     199,   200,   219,   101,   219,   219,   215,   101,   101,   208,
2172 >     101,    68,    69,   101,   120,   101,   215,   101,    75,    76,
2173 >      77,   101,   219,   120,   120,   163,   222,   101,   120,   219,
2174 >     120,   120,   223,   120,   219,   120,   219,   120,   120,   120,
2175 >      97,    98,   120,   120,   120,   222,   219,   219,   219,   120,
2176 >     219,   120,   101,   110,   111,   120,   120,   120,   219,   120,
2177 >     219,   120,   163,   219,   121,   219,   219,   219,   219,   219,
2178 >     219,   219,   219,   130,   219,   120,   219,   219,   219,   120,
2179 >     219,   101,   219,   219,   219,   219,   219,   219,   219,   219,
2180 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2181 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2182 >     219,   219,   120,   163,   219,   219,   219,   219,   120,   120,
2183 >     219,   120,   222,   120,   120,   120,   120,   222,   120,   120,
2184 >     120,  1005,  1007,    71,   101,   970,   167,  1246,  1219,   489,
2185 >     219,   125,   513,  1217,   336,  1207,   219,   222,  1104,   219,
2186 >     222,   219,   219,   125,   120,  1203,   222,   219,   562,   219,
2187 >     464,   219,  1221,   219,   219,   219,   219,   219,   219,   570,
2188 >     527,   219,   219,   219,  1197,   219,   219,   219,   366,   219,
2189 >     219,   219,   219,   219,   219,  1223,   219,   112,   222,   219,
2190 >     222,   219,   219,   219,   219,   219,   219,   219,   219,  1205,
2191 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2192 >     219,   479,   219,   219,   219,   219,   219,  1199,   396,   219,
2193 >    1072,   219,  1070,    91,    -1,    -1,   219,   170,    -1,   384,
2194 >     219,   219,   219,   219,   219,    -1,   219,   219,   219,   219,
2195 >     219,   219,   219,   219,   219,   219,   219,    -1,   219,    -1,
2196 >      -1,   219,   222,   222,   219,   219,   219,   219,   219,   219,
2197 >     219,   219,   219,   219,   219,   219,    -1,   219,   219,   222,
2198 >     219,   219,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2199 >      -1,    -1,    -1,    -1,   230,    -1,    -1,    -1,   238,    -1,
2200        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2201 +      -1,    -1,    -1,    -1,    -1,    -1,    -1,   251,    -1,    -1,
2202        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2203 +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   275,    -1,
2204        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2205        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2206 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2342 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2343 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2344 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2345 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2346 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2347 <      -1,    -1,   412
2206 >      -1,   296
2207   };
2208  
2209   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2210     symbol of state STATE-NUM.  */
2211   static const yytype_uint16 yystos[] =
2212   {
2213 <       0,   251,     0,     1,     5,    21,    25,    28,    35,    50,
2214 <      54,    55,    57,    63,    77,    87,    88,   104,   120,   154,
2215 <     163,   164,   168,   169,   221,   252,   257,   262,   280,   286,
2216 <     301,   319,   336,   350,   365,   372,   376,   386,   395,   416,
2217 <     426,   432,   436,   446,   509,   525,   546,   245,   246,   247,
2218 <     247,   320,   396,   427,   247,   437,   247,   510,   351,   417,
2219 <     337,   247,   247,   302,   366,   247,   247,   377,   387,   247,
2220 <       1,    36,    46,   105,   281,   282,   283,   284,   285,     1,
2221 <      13,    33,    34,    39,    41,    83,    84,    90,    91,   111,
2222 <     112,   126,   127,   137,   146,   233,   234,   235,   526,   527,
2223 <     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
2224 <     538,   539,   540,   541,   542,   543,   544,   545,   247,   247,
2225 <     247,     1,    76,   433,   434,   435,   247,     1,     8,     9,
2226 <      19,    27,    31,    32,    38,    42,    43,    45,    51,    60,
2227 <      61,    65,    70,    74,    75,    78,    81,    82,    89,    95,
2228 <      96,    98,    99,   100,   101,   102,   113,   121,   122,   123,
2229 <     125,   128,   129,   132,   143,   165,   167,   171,   175,   176,
2230 <     177,   178,   179,   183,   184,   192,   222,   224,   226,   232,
2231 <     237,   242,   447,   448,   449,   450,   451,   452,   453,   454,
2232 <     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
2233 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
2234 <     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
2235 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
2236 <     495,   496,   497,   501,   505,   506,   507,   508,   247,   247,
2237 <     247,   247,     1,   223,   236,   287,   288,   289,   290,   291,
2238 <     292,     1,   103,   131,   258,   259,   260,   261,   247,   247,
2239 <       1,    40,    53,    66,    67,    68,    69,    86,   547,   548,
2240 <     549,   550,   551,   552,   553,   554,   555,     1,    36,    72,
2241 <     105,   107,   108,   148,   150,   151,   166,   203,   238,   239,
2242 <     263,   264,   265,   269,   270,   271,   272,   273,   274,   275,
2243 <     276,   277,   278,   279,   247,   247,     1,   105,   373,   374,
2244 <     375,   245,   248,   248,   248,   246,   282,   248,   248,   248,
2245 <     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
2246 <     248,   248,   248,   248,   248,   246,   527,     1,    22,    23,
2247 <      29,    92,    93,    94,    97,   105,   117,   118,   133,   134,
2248 <     161,   321,   322,   323,   324,   325,   326,   327,   328,   329,
2249 <     330,   331,   332,   333,   334,   335,     1,     3,     6,    24,
2250 <      25,    48,    52,    71,    73,    85,   105,   135,   149,   162,
2251 <     238,   397,   398,   399,   400,   401,   402,   403,   404,   405,
2252 <     406,   410,   411,   412,   413,   414,   415,     1,    76,   138,
2253 <     428,   429,   430,   431,   248,   246,   434,     1,   105,   138,
2254 <     170,   438,   442,   443,   444,   445,   248,   248,   248,   248,
2255 <     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
2256 <     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
2257 <     248,   248,   248,   248,   248,   248,   502,   248,   498,   248,
2258 <     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
2259 <     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
2260 <     246,   448,     1,     4,    44,    47,    88,   105,   231,   511,
2261 <     512,   513,   514,   515,   519,   520,   521,     1,    25,    48,
2262 <      52,   130,   139,   140,   173,   231,   352,   353,   354,   355,
2263 <     356,   357,   358,   362,   363,   364,     1,   138,   170,   231,
2264 <     418,   422,   423,   424,   425,     1,    52,    71,    76,   135,
2265 <     338,   342,   343,   344,   348,   349,   245,   248,   248,   246,
2266 <     288,   244,   245,   248,   248,   246,   259,     1,    25,    48,
2267 <      52,   105,   130,   149,   212,   231,   303,   304,   305,   306,
2268 <     307,   308,   309,   310,   311,   315,     1,    21,   109,   138,
2269 <     367,   368,   369,   370,   371,   248,   248,   248,   248,   248,
2270 <     248,   248,   246,   548,   245,   248,   248,   248,   248,   248,
2271 <     248,   248,   266,   248,   248,   248,   248,   246,   264,     1,
2272 <     105,   170,   231,   378,   379,   380,   381,   382,     1,   105,
2273 <     170,   388,   389,   390,   391,   248,   246,   374,   136,   136,
2274 <     136,   245,   180,   115,   115,   180,   180,   115,   254,   254,
2275 <     115,   115,   180,   180,   115,   254,   180,   180,   180,   180,
2276 <     180,   245,   245,   248,   248,   248,   248,   248,   248,   248,
2277 <     248,   248,   248,   248,   248,   248,   246,   322,   245,   248,
2278 <     248,   248,   248,   248,   407,   248,   248,   248,   248,   248,
2279 <     248,   248,   248,   246,   398,   248,   248,   246,   429,   136,
2280 <     245,   248,   248,   439,   246,   443,   180,   254,   254,   115,
2281 <     136,   115,   180,   180,   115,   136,   180,   115,   115,   115,
2282 <     180,   180,   180,   254,   136,   180,   115,   115,   254,   115,
2283 <     115,   136,   115,   115,   180,   180,   248,   180,   248,   254,
2284 <     254,   180,   254,   136,   180,   180,   180,   180,   181,   180,
2285 <     181,   180,   180,   254,   254,   115,   256,   136,   254,   180,
2286 <     180,   180,   180,   245,   522,   248,   248,   516,   248,   248,
2287 <     246,   512,   245,   248,   248,   359,   248,   248,   248,   248,
2288 <     248,   246,   353,   248,   419,   248,   246,   423,   245,   339,
2289 <     248,   248,   248,   246,   343,   180,   180,   245,   247,   136,
2290 <     136,   245,   245,   248,   248,   316,   248,   248,   248,   312,
2291 <     248,   246,   304,   245,   248,   248,   248,   246,   368,   180,
2292 <     180,   180,   136,   180,   180,   254,   245,   136,   180,   136,
2293 <     136,   136,   136,   136,   248,   136,   115,   136,   136,   245,
2294 <     245,   248,   383,   248,   246,   379,   245,   248,   392,   246,
2295 <     389,   136,   245,   245,   245,   245,   245,   245,   245,   245,
2296 <     245,   156,   157,   158,   159,   160,   253,   254,   245,   245,
2297 <     245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2298 <     245,   115,   115,   254,   115,   115,   115,   115,   136,   115,
2299 <     115,   254,   254,   256,   245,   136,   200,   201,   136,   136,
2300 <     180,   248,   136,   136,   136,   136,   115,   136,   136,   136,
2301 <     245,   136,   136,   245,   245,   136,   136,   248,   245,   245,
2302 <     245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2303 <     245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2304 <     245,   245,   245,   245,   245,   245,   245,   245,   245,    66,
2305 <     187,   188,   189,   190,   191,   193,   194,   197,   198,   199,
2306 <     202,   204,   205,   206,   208,   209,   210,   213,   219,   503,
2307 <     504,   245,    66,   187,   188,   189,   190,   191,   193,   194,
2308 <     197,   198,   199,   202,   204,   205,   206,   208,   209,   210,
2309 <     213,   219,   499,   500,   245,   245,   245,   245,   245,   245,
2310 <     245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2311 <      14,    15,    16,   255,   256,   245,   245,   245,   245,   245,
2312 <     245,   245,   248,   254,   180,   248,   136,   136,   245,   136,
2313 <     180,   248,   136,   115,   136,   136,   136,   245,   136,   248,
2314 <     136,   245,   248,   136,   136,   115,   346,   347,   245,   245,
2315 <     245,     1,   105,   170,   243,   293,   294,   295,   296,   297,
2316 <     245,   245,   136,   180,   248,   136,   136,   136,   248,   136,
2317 <     245,   136,   136,   136,   245,   245,   245,   245,   245,   245,
2318 <     245,   245,   245,   245,   245,   245,   245,   245,   245,   152,
2319 <     153,   267,   268,   245,   245,   245,   245,   136,   248,   136,
2320 <     245,   136,   248,   245,   245,   253,   253,   253,   253,   253,
2321 <     245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2322 <     245,   245,   245,   245,   245,   245,   245,   245,   245,    10,
2323 <      12,    26,    30,   225,   408,   409,   245,   245,   245,   245,
2324 <     245,   245,   245,   245,   245,   245,   245,   245,   141,   440,
2325 <     441,   245,   249,   245,   249,   255,   255,   255,    11,   182,
2326 <     523,   524,   245,   245,    11,   182,   517,   518,   245,   245,
2327 <     245,   245,    20,    49,    58,    64,    80,   106,   114,   155,
2328 <     174,   360,   361,   245,   245,   245,   245,   245,   245,   141,
2329 <     420,   421,   245,    66,   207,   211,   340,   341,   245,   245,
2330 <     185,   249,   345,   245,   248,   298,   248,   246,   294,   245,
2331 <     245,     5,    37,    56,    62,    79,   103,   110,   124,   142,
2332 <     144,   145,   195,   205,   214,   218,   220,   230,   240,   317,
2333 <     318,   245,   245,   245,    66,   187,   188,   189,   190,   191,
2334 <     193,   194,   197,   198,   199,   202,   204,   205,   206,   208,
2335 <     209,   210,   213,   219,   313,   314,   245,   245,   245,   245,
2336 <     245,   249,   245,    79,   154,   186,   195,   202,   214,   216,
2337 <     217,   230,   240,   384,   385,   245,   245,    79,   154,   186,
2479 <     195,   202,   214,   216,   217,   230,   240,   393,   394,   245,
2480 <     249,   245,   249,   504,   500,   245,   249,   245,   249,   245,
2481 <     249,   245,   249,   245,   249,   115,   347,   245,   136,   248,
2482 <     215,   256,   245,   245,   249,   245,   249,   268,   245,   249,
2483 <     245,   249,   409,   441,   524,   518,   361,   421,   341,   245,
2484 <      56,    77,    79,   120,   194,   195,   231,   299,   300,   245,
2485 <     245,   318,   314,   385,   394,   245,   249,   300
2213 >       0,   225,     0,     1,     4,    14,    17,    18,    23,    34,
2214 >      38,    39,    48,    62,    72,    73,    90,   104,   139,   148,
2215 >     149,   152,   153,   204,   226,   231,   236,   258,   264,   278,
2216 >     296,   314,   328,   343,   350,   354,   364,   373,   393,   403,
2217 >     409,   413,   423,   485,   502,   219,   220,   221,   221,   297,
2218 >     374,   404,   221,   414,   221,   329,   394,   315,   221,   221,
2219 >     279,   344,   221,   221,   355,   365,   221,     1,    24,    31,
2220 >      91,   259,   260,   261,   262,   263,     1,    21,    22,    27,
2221 >      68,    69,    75,    76,    77,    97,    98,   110,   111,   121,
2222 >     130,   486,   487,   488,   489,   490,   491,   492,   493,   494,
2223 >     495,   496,   497,   498,   499,   500,   501,   221,   221,   221,
2224 >       1,    61,   410,   411,   412,   221,     1,     6,     7,    12,
2225 >      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2226 >      46,    50,    55,    59,    60,    63,    66,    67,    74,    81,
2227 >      82,    84,    85,    86,    87,    88,    99,   105,   106,   107,
2228 >     109,   112,   113,   116,   127,   151,   155,   158,   159,   160,
2229 >     161,   162,   165,   166,   205,   206,   207,   210,   212,   216,
2230 >     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
2231 >     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
2232 >     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
2233 >     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2234 >     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
2235 >     474,   478,   482,   483,   484,   221,   221,   221,     1,   211,
2236 >     265,   266,   267,   268,   269,     1,    89,   115,   232,   233,
2237 >     234,   235,   221,   221,     1,    37,    51,    52,    53,    54,
2238 >      71,   503,   504,   505,   506,   507,   508,   509,   510,     1,
2239 >      24,    57,    91,    93,    94,   131,   133,   134,   135,   136,
2240 >     150,   174,   184,   213,   214,   237,   238,   239,   240,   245,
2241 >     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
2242 >     256,   257,   221,   221,     1,    91,   351,   352,   353,   219,
2243 >     222,   222,   222,   220,   260,   222,   222,   222,   222,   222,
2244 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   220,
2245 >     487,     1,    15,    16,    19,    78,    79,    80,    83,    91,
2246 >     102,   103,   117,   118,   146,   187,   298,   299,   300,   301,
2247 >     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
2248 >     312,   313,     1,     3,     5,    17,    32,    36,    56,    58,
2249 >      70,    91,   119,   147,   174,   213,   375,   376,   377,   378,
2250 >     379,   380,   381,   382,   383,   384,   388,   389,   390,   391,
2251 >     392,     1,    61,   122,   405,   406,   407,   408,   222,   220,
2252 >     411,     1,    91,   122,   154,   415,   419,   420,   421,   422,
2253 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2254 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2255 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2256 >     222,   479,   222,   475,   222,   222,   222,   222,   222,   222,
2257 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2258 >     222,   222,   222,   220,   425,     1,    17,    32,    36,   114,
2259 >     123,   124,   156,   209,   330,   331,   332,   333,   334,   335,
2260 >     336,   340,   341,   342,     1,   122,   154,   209,   395,   399,
2261 >     400,   401,   402,     1,    36,    56,    61,   119,   316,   320,
2262 >     321,   322,   326,   327,   219,   222,   220,   266,   218,   219,
2263 >     222,   222,   220,   233,     1,    17,    32,    36,    91,   114,
2264 >     132,   195,   209,   280,   281,   282,   283,   284,   285,   286,
2265 >     287,   288,   292,     1,    14,    95,   122,   345,   346,   347,
2266 >     348,   349,   222,   222,   222,   222,   222,   222,   220,   504,
2267 >     219,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2268 >     222,   222,   222,   222,   222,   222,   220,   238,     1,    91,
2269 >     154,   209,   356,   357,   358,   359,   360,     1,    91,   154,
2270 >     366,   367,   368,   369,   222,   220,   352,   120,   120,   120,
2271 >     219,   101,   101,   163,   101,   228,   228,   101,   101,   101,
2272 >     163,   163,   101,   228,   163,   163,   219,   219,   222,   222,
2273 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2274 >     222,   222,   220,   299,   219,   222,   222,   222,   222,   385,
2275 >     222,   222,   222,   222,   222,   222,   222,   222,   220,   376,
2276 >     222,   222,   220,   406,   120,   219,   222,   222,   416,   220,
2277 >     420,   163,   228,   228,   101,   163,   163,   101,   120,   163,
2278 >     228,   163,   228,   101,   101,   101,   163,   163,   163,   228,
2279 >     120,   163,   101,   101,   228,   101,   101,   120,   101,   101,
2280 >     163,   163,   222,   163,   222,   228,   228,   163,   228,   163,
2281 >     163,   163,   163,   164,   163,   164,   163,   163,   228,   228,
2282 >     120,   228,   163,   163,   163,   163,   219,   219,   222,   222,
2283 >     337,   222,   222,   222,   222,   222,   220,   331,   222,   396,
2284 >     222,   220,   400,   219,   317,   222,   222,   222,   220,   321,
2285 >     163,   219,   221,   120,   120,   219,   219,   222,   222,   293,
2286 >     222,   222,   222,   289,   222,   220,   281,   219,   222,   222,
2287 >     222,   220,   346,   163,   163,   120,   163,   163,   228,   219,
2288 >     120,   163,   120,   120,   120,   120,   120,   120,   137,   138,
2289 >     241,   242,   137,   138,   243,   244,   120,   120,   101,   120,
2290 >     120,   219,   219,   222,   361,   222,   220,   357,   219,   222,
2291 >     370,   220,   367,   120,   219,   219,   219,   219,   219,   219,
2292 >     219,   141,   142,   143,   144,   145,   227,   228,   219,   219,
2293 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   101,
2294 >     101,   228,   101,   101,   101,   101,   120,   101,   101,   228,
2295 >     228,   101,   230,   230,   219,   120,   181,   182,   120,   163,
2296 >     222,   120,   120,   120,   120,   101,   120,   120,   120,   219,
2297 >     120,   120,   219,   219,   120,   120,   222,   219,   219,   219,
2298 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2299 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2300 >     219,   219,   219,   219,   219,   219,   219,   219,   219,    51,
2301 >     169,   170,   171,   172,   173,   175,   176,   178,   179,   180,
2302 >     183,   185,   186,   188,   190,   192,   193,   196,   202,   480,
2303 >     481,   219,    51,   169,   170,   171,   172,   173,   175,   176,
2304 >     178,   179,   180,   183,   185,   186,   188,   190,   192,   193,
2305 >     196,   202,   476,   477,   219,   219,   219,   219,   219,   219,
2306 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2307 >     219,   219,   219,   219,   219,   120,   163,   222,   120,   101,
2308 >     120,   120,   120,   219,   120,   222,   120,   219,   222,   120,
2309 >     120,   101,   324,   325,   219,   219,     1,    91,   154,   217,
2310 >     270,   271,   272,   273,   274,   219,   219,   120,   163,   222,
2311 >     120,   120,   120,   222,   120,   219,   120,   120,   120,   219,
2312 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2313 >     219,   219,   219,   219,   219,   223,   219,   223,   219,   219,
2314 >     219,   219,   219,   120,   222,   120,   219,   120,   222,   219,
2315 >     219,   227,   227,   227,   227,   227,   219,   219,   219,   219,
2316 >     219,   219,   219,   219,   219,   219,   219,   219,     9,    10,
2317 >      11,   229,   230,   219,   219,   219,   219,   219,   219,   219,
2318 >       8,   194,   386,   387,   219,   219,   219,   219,   219,   219,
2319 >     219,   219,   219,   219,   219,   219,   125,   417,   418,   219,
2320 >     223,   219,   223,   219,   219,    13,    33,    43,    49,    65,
2321 >      92,   100,   140,   157,   338,   339,   219,   219,   219,   219,
2322 >     219,   219,   125,   397,   398,   219,    51,   189,   194,   318,
2323 >     319,   219,   219,   167,   223,   323,   219,   222,   275,   222,
2324 >     220,   271,   219,   219,     4,    25,    40,    47,    64,    89,
2325 >      96,   108,   126,   128,   129,   177,   186,   191,   197,   201,
2326 >     203,   208,   215,   294,   295,   219,   219,   219,    51,   169,
2327 >     170,   171,   172,   173,   175,   176,   178,   179,   180,   183,
2328 >     185,   186,   188,   190,   192,   193,   196,   202,   290,   291,
2329 >     219,   219,   219,   219,   242,   244,   219,    64,   139,   168,
2330 >     177,   183,   197,   199,   200,   208,   215,   362,   363,   219,
2331 >     219,    64,   139,   168,   177,   183,   197,   199,   200,   208,
2332 >     215,   371,   372,   229,   229,   229,   219,   223,   219,   223,
2333 >     481,   477,   219,   223,   219,   223,   219,   223,   101,   325,
2334 >     219,   120,   222,   198,   230,   219,   219,   223,   219,   223,
2335 >     219,   223,   219,   223,   387,   418,   339,   398,   319,   219,
2336 >      40,    62,    64,   104,   176,   177,   209,   276,   277,   219,
2337 >     219,   295,   291,   363,   372,   219,   223,   277
2338   };
2339  
2340   #define yyerrok         (yyerrstatus = 0)
# Line 2512 | Line 2364 | static const yytype_uint16 yystos[] =
2364  
2365   #define YYRECOVERING()  (!!yyerrstatus)
2366  
2367 < #define YYBACKUP(Token, Value)                                  \
2368 < do                                                              \
2369 <  if (yychar == YYEMPTY && yylen == 1)                          \
2370 <    {                                                           \
2371 <      yychar = (Token);                                         \
2372 <      yylval = (Value);                                         \
2373 <      YYPOPSTACK (1);                                           \
2374 <      goto yybackup;                                            \
2375 <    }                                                           \
2376 <  else                                                          \
2377 <    {                                                           \
2367 > #define YYBACKUP(Token, Value)                                  \
2368 > do                                                              \
2369 >  if (yychar == YYEMPTY)                                        \
2370 >    {                                                           \
2371 >      yychar = (Token);                                         \
2372 >      yylval = (Value);                                         \
2373 >      YYPOPSTACK (yylen);                                       \
2374 >      yystate = *yyssp;                                         \
2375 >      goto yybackup;                                            \
2376 >    }                                                           \
2377 >  else                                                          \
2378 >    {                                                           \
2379        yyerror (YY_("syntax error: cannot back up")); \
2380        YYERROR;                                                  \
2381      }                                                           \
# Line 2532 | Line 2385 | while (YYID (0))
2385   #define YYTERROR        1
2386   #define YYERRCODE       256
2387  
2535
2388   /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2389     If N is 0, then set CURRENT to the empty location which ends
2390     the previous symbol: RHS[0] (always defined).  */
2391  
2540 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2392   #ifndef YYLLOC_DEFAULT
2393 < # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2394 <    do                                                                  \
2395 <      if (YYID (N))                                                    \
2396 <        {                                                               \
2397 <          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2398 <          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2399 <          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2400 <          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2401 <        }                                                               \
2402 <      else                                                              \
2403 <        {                                                               \
2404 <          (Current).first_line   = (Current).last_line   =              \
2405 <            YYRHSLOC (Rhs, 0).last_line;                                \
2406 <          (Current).first_column = (Current).last_column =              \
2407 <            YYRHSLOC (Rhs, 0).last_column;                              \
2408 <        }                                                               \
2393 > # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2394 >    do                                                                  \
2395 >      if (YYID (N))                                                     \
2396 >        {                                                               \
2397 >          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2398 >          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2399 >          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2400 >          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2401 >        }                                                               \
2402 >      else                                                              \
2403 >        {                                                               \
2404 >          (Current).first_line   = (Current).last_line   =              \
2405 >            YYRHSLOC (Rhs, 0).last_line;                                \
2406 >          (Current).first_column = (Current).last_column =              \
2407 >            YYRHSLOC (Rhs, 0).last_column;                              \
2408 >        }                                                               \
2409      while (YYID (0))
2410   #endif
2411  
2412 + #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2413 +
2414 +
2415  
2416   /* This macro is provided for backward compatibility. */
2417  
# Line 2617 | Line 2471 | yy_symbol_value_print (yyoutput, yytype,
2471      YYSTYPE const * const yyvaluep;
2472   #endif
2473   {
2474 +  FILE *yyo = yyoutput;
2475 +  YYUSE (yyo);
2476    if (!yyvaluep)
2477      return;
2478   # ifdef YYPRINT
# Line 2868 | Line 2724 | static int
2724   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2725                  yytype_int16 *yyssp, int yytoken)
2726   {
2727 <  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
2727 >  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2728    YYSIZE_T yysize = yysize0;
2729    YYSIZE_T yysize1;
2730    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2731    /* Internationalized format string. */
2732 <  const char *yyformat = 0;
2732 >  const char *yyformat = YY_NULL;
2733    /* Arguments of yyformat. */
2734    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2735    /* Number of reported tokens (one for the "unexpected", one per
# Line 2933 | Line 2789 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2789                      break;
2790                    }
2791                  yyarg[yycount++] = yytname[yyx];
2792 <                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2792 >                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2793                  if (! (yysize <= yysize1
2794                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2795                    return 2;
# Line 3025 | Line 2881 | yydestruct (yymsg, yytype, yyvaluep)
2881   }
2882  
2883  
3028 /* Prevent warnings from -Wmissing-prototypes.  */
3029 #ifdef YYPARSE_PARAM
3030 #if defined __STDC__ || defined __cplusplus
3031 int yyparse (void *YYPARSE_PARAM);
3032 #else
3033 int yyparse ();
3034 #endif
3035 #else /* ! YYPARSE_PARAM */
3036 #if defined __STDC__ || defined __cplusplus
3037 int yyparse (void);
3038 #else
3039 int yyparse ();
3040 #endif
3041 #endif /* ! YYPARSE_PARAM */
2884  
2885  
2886   /* The lookahead symbol.  */
# Line 3085 | Line 2927 | yyparse ()
2927         `yyss': related to states.
2928         `yyvs': related to semantic values.
2929  
2930 <       Refer to the stacks thru separate pointers, to allow yyoverflow
2930 >       Refer to the stacks through separate pointers, to allow yyoverflow
2931         to reallocate them elsewhere.  */
2932  
2933      /* The state stack.  */
# Line 3139 | Line 2981 | yyparse ()
2981       The wasted elements are never initialized.  */
2982    yyssp = yyss;
2983    yyvsp = yyvs;
3142
2984    goto yysetstate;
2985  
2986   /*------------------------------------------------------------.
# Line 3316 | Line 3157 | yyreduce:
3157    YY_REDUCE_PRINT (yyn);
3158    switch (yyn)
3159      {
3160 <        case 27:
3161 <
3162 < /* Line 1806 of yacc.c  */
3322 < #line 410 "ircd_parser.y"
3160 >        case 26:
3161 > /* Line 1787 of yacc.c  */
3162 > #line 363 "conf_parser.y"
3163      { (yyval.number) = 0; }
3164      break;
3165  
3166 <  case 29:
3167 <
3168 < /* Line 1806 of yacc.c  */
3329 < #line 412 "ircd_parser.y"
3166 >  case 28:
3167 > /* Line 1787 of yacc.c  */
3168 > #line 365 "conf_parser.y"
3169      {
3170                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3171                  }
3172      break;
3173  
3174 <  case 30:
3175 <
3176 < /* Line 1806 of yacc.c  */
3338 < #line 416 "ircd_parser.y"
3174 >  case 29:
3175 > /* Line 1787 of yacc.c  */
3176 > #line 369 "conf_parser.y"
3177      {
3178                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3179                  }
3180      break;
3181  
3182 <  case 31:
3183 <
3184 < /* Line 1806 of yacc.c  */
3347 < #line 420 "ircd_parser.y"
3182 >  case 30:
3183 > /* Line 1787 of yacc.c  */
3184 > #line 373 "conf_parser.y"
3185      {
3186                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3187                  }
3188      break;
3189  
3190 <  case 32:
3191 <
3192 < /* Line 1806 of yacc.c  */
3356 < #line 424 "ircd_parser.y"
3190 >  case 31:
3191 > /* Line 1787 of yacc.c  */
3192 > #line 377 "conf_parser.y"
3193      {
3194                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3195                  }
3196      break;
3197  
3198 <  case 33:
3199 <
3200 < /* Line 1806 of yacc.c  */
3365 < #line 428 "ircd_parser.y"
3198 >  case 32:
3199 > /* Line 1787 of yacc.c  */
3200 > #line 381 "conf_parser.y"
3201      {
3202                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3203                  }
3204      break;
3205  
3206 <  case 34:
3207 <
3208 < /* Line 1806 of yacc.c  */
3374 < #line 432 "ircd_parser.y"
3206 >  case 33:
3207 > /* Line 1787 of yacc.c  */
3208 > #line 385 "conf_parser.y"
3209      {
3210                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3211                  }
3212      break;
3213  
3214 <  case 35:
3215 <
3216 < /* Line 1806 of yacc.c  */
3383 < #line 437 "ircd_parser.y"
3214 >  case 34:
3215 > /* Line 1787 of yacc.c  */
3216 > #line 390 "conf_parser.y"
3217      { (yyval.number) = 0; }
3218      break;
3219  
3220 <  case 37:
3221 <
3222 < /* Line 1806 of yacc.c  */
3390 < #line 438 "ircd_parser.y"
3220 >  case 36:
3221 > /* Line 1787 of yacc.c  */
3222 > #line 391 "conf_parser.y"
3223      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3224      break;
3225  
3226 <  case 38:
3227 <
3228 < /* Line 1806 of yacc.c  */
3397 < #line 439 "ircd_parser.y"
3226 >  case 37:
3227 > /* Line 1787 of yacc.c  */
3228 > #line 392 "conf_parser.y"
3229      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3230      break;
3231  
3232 <  case 39:
3233 <
3234 < /* Line 1806 of yacc.c  */
3404 < #line 440 "ircd_parser.y"
3232 >  case 38:
3233 > /* Line 1787 of yacc.c  */
3234 > #line 393 "conf_parser.y"
3235      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3236      break;
3237  
3238 <  case 40:
3239 <
3240 < /* Line 1806 of yacc.c  */
3411 < #line 441 "ircd_parser.y"
3238 >  case 39:
3239 > /* Line 1787 of yacc.c  */
3240 > #line 394 "conf_parser.y"
3241      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3242      break;
3243  
3244 <  case 47:
3245 <
3246 < /* Line 1806 of yacc.c  */
3418 < #line 455 "ircd_parser.y"
3244 >  case 46:
3245 > /* Line 1787 of yacc.c  */
3246 > #line 408 "conf_parser.y"
3247      {
3248    if (conf_parser_ctx.pass == 2)
3249      add_conf_module(libio_basename(yylval.string));
3250   }
3251      break;
3252  
3253 <  case 48:
3254 <
3255 < /* Line 1806 of yacc.c  */
3428 < #line 461 "ircd_parser.y"
3253 >  case 47:
3254 > /* Line 1787 of yacc.c  */
3255 > #line 414 "conf_parser.y"
3256      {
3257    if (conf_parser_ctx.pass == 2)
3258      mod_add_path(yylval.string);
3259   }
3260      break;
3261  
3262 <  case 65:
3263 <
3264 < /* Line 1806 of yacc.c  */
3438 < #line 481 "ircd_parser.y"
3262 >  case 71:
3263 > /* Line 1787 of yacc.c  */
3264 > #line 439 "conf_parser.y"
3265      {
3266   #ifdef HAVE_LIBCRYPTO
3267 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3268 <    ServerInfo.tls_version = 0;
3267 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3268 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3269   #endif
3270   }
3271      break;
3272  
3273 <  case 66:
3274 <
3275 < /* Line 1806 of yacc.c  */
3450 < #line 487 "ircd_parser.y"
3273 >  case 72:
3274 > /* Line 1787 of yacc.c  */
3275 > #line 445 "conf_parser.y"
3276      {
3277   #ifdef HAVE_LIBCRYPTO
3278 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3279 <  {
3455 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3456 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3457 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3458 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3459 <  }
3278 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3279 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3280   #endif
3281   }
3282      break;
3283  
3284 <  case 69:
3285 <
3286 < /* Line 1806 of yacc.c  */
3467 < #line 501 "ircd_parser.y"
3284 >  case 75:
3285 > /* Line 1787 of yacc.c  */
3286 > #line 454 "conf_parser.y"
3287      {
3288   #ifdef HAVE_LIBCRYPTO
3289 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3290 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3289 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3290 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3291   #endif
3292   }
3293      break;
3294  
3295 <  case 70:
3296 <
3297 < /* Line 1806 of yacc.c  */
3479 < #line 507 "ircd_parser.y"
3295 >  case 76:
3296 > /* Line 1787 of yacc.c  */
3297 > #line 460 "conf_parser.y"
3298      {
3299   #ifdef HAVE_LIBCRYPTO
3300 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3301 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3300 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3301 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3302   #endif
3303   }
3304      break;
3305  
3306 <  case 71:
3307 <
3308 < /* Line 1806 of yacc.c  */
3491 < #line 515 "ircd_parser.y"
3306 >  case 77:
3307 > /* Line 1787 of yacc.c  */
3308 > #line 468 "conf_parser.y"
3309      {
3310   #ifdef HAVE_LIBCRYPTO
3311    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3500 | Line 3317 | yyreduce:
3317      }
3318  
3319      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3320 +                                     SSL_FILETYPE_PEM) <= 0 ||
3321 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3322                                       SSL_FILETYPE_PEM) <= 0)
3323      {
3324        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3507 | Line 3326 | yyreduce:
3326      }
3327  
3328      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3329 +                                    SSL_FILETYPE_PEM) <= 0 ||
3330 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3331                                      SSL_FILETYPE_PEM) <= 0)
3332      {
3333        yyerror(ERR_lib_error_string(ERR_get_error()));
3334        break;
3335      }
3336  
3337 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3337 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3338 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3339      {
3340        yyerror(ERR_lib_error_string(ERR_get_error()));
3341        break;
# Line 3523 | Line 3345 | yyreduce:
3345   }
3346      break;
3347  
3348 <  case 72:
3349 <
3350 < /* Line 1806 of yacc.c  */
3529 < #line 549 "ircd_parser.y"
3348 >  case 78:
3349 > /* Line 1787 of yacc.c  */
3350 > #line 507 "conf_parser.y"
3351      {
3352   #ifdef HAVE_LIBCRYPTO
3353    if (conf_parser_ctx.pass == 1)
# Line 3553 | Line 3374 | yyreduce:
3374        break;
3375      }
3376  
3377 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3557 <      0, NULL);
3377 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3378  
3379      BIO_set_close(file, BIO_CLOSE);
3380      BIO_free(file);
# Line 3587 | Line 3407 | yyreduce:
3407   }
3408      break;
3409  
3410 <  case 73:
3410 >  case 79:
3411 > /* Line 1787 of yacc.c  */
3412 > #line 566 "conf_parser.y"
3413 >    {
3414 > /* TBD - XXX: error reporting */
3415 > #ifdef HAVE_LIBCRYPTO
3416 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3417 >  {
3418 >    BIO *file = BIO_new_file(yylval.string, "r");
3419 >
3420 >    if (file)
3421 >    {
3422 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3423 >
3424 >      BIO_free(file);
3425 >
3426 >      if (dh)
3427 >      {
3428 >        if (DH_size(dh) < 128)
3429 >          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3430 >        else
3431 >          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3432  
3433 < /* Line 1806 of yacc.c  */
3434 < #line 609 "ircd_parser.y"
3433 >        DH_free(dh);
3434 >      }
3435 >    }
3436 >  }
3437 > #endif
3438 > }
3439 >    break;
3440 >
3441 >  case 80:
3442 > /* Line 1787 of yacc.c  */
3443 > #line 594 "conf_parser.y"
3444 >    {
3445 > #ifdef HAVE_LIBCRYPTO
3446 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3447 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3448 > #endif
3449 > }
3450 >    break;
3451 >
3452 >  case 81:
3453 > /* Line 1787 of yacc.c  */
3454 > #line 602 "conf_parser.y"
3455      {
3456    /* this isn't rehashable */
3457    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3606 | Line 3467 | yyreduce:
3467   }
3468      break;
3469  
3470 <  case 74:
3471 <
3472 < /* Line 1806 of yacc.c  */
3612 < #line 624 "ircd_parser.y"
3470 >  case 82:
3471 > /* Line 1787 of yacc.c  */
3472 > #line 617 "conf_parser.y"
3473      {
3474    /* this isn't rehashable */
3475    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3625 | Line 3485 | yyreduce:
3485   }
3486      break;
3487  
3488 <  case 75:
3489 <
3490 < /* Line 1806 of yacc.c  */
3631 < #line 639 "ircd_parser.y"
3488 >  case 83:
3489 > /* Line 1787 of yacc.c  */
3490 > #line 632 "conf_parser.y"
3491      {
3492    if (conf_parser_ctx.pass == 2)
3493    {
# Line 3638 | Line 3497 | yyreduce:
3497   }
3498      break;
3499  
3500 <  case 76:
3501 <
3502 < /* Line 1806 of yacc.c  */
3644 < #line 648 "ircd_parser.y"
3500 >  case 84:
3501 > /* Line 1787 of yacc.c  */
3502 > #line 641 "conf_parser.y"
3503      {
3504    if (conf_parser_ctx.pass == 2)
3505    {
# Line 3656 | Line 3514 | yyreduce:
3514   }
3515      break;
3516  
3517 <  case 77:
3518 <
3519 < /* Line 1806 of yacc.c  */
3662 < #line 662 "ircd_parser.y"
3517 >  case 85:
3518 > /* Line 1787 of yacc.c  */
3519 > #line 655 "conf_parser.y"
3520      {
3521    if (conf_parser_ctx.pass == 2)
3522    {
# Line 3669 | Line 3526 | yyreduce:
3526   }
3527      break;
3528  
3529 <  case 78:
3530 <
3531 < /* Line 1806 of yacc.c  */
3675 < #line 671 "ircd_parser.y"
3529 >  case 86:
3530 > /* Line 1787 of yacc.c  */
3531 > #line 664 "conf_parser.y"
3532      {
3533    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3534    {
# Line 3701 | Line 3557 | yyreduce:
3557   }
3558      break;
3559  
3560 <  case 79:
3561 <
3562 < /* Line 1806 of yacc.c  */
3707 < #line 699 "ircd_parser.y"
3560 >  case 87:
3561 > /* Line 1787 of yacc.c  */
3562 > #line 692 "conf_parser.y"
3563      {
3564   #ifdef IPV6
3565    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3735 | Line 3590 | yyreduce:
3590   }
3591      break;
3592  
3593 <  case 80:
3594 <
3595 < /* Line 1806 of yacc.c  */
3741 < #line 729 "ircd_parser.y"
3593 >  case 88:
3594 > /* Line 1787 of yacc.c  */
3595 > #line 722 "conf_parser.y"
3596      {
3597    if (conf_parser_ctx.pass == 2)
3598    {
# Line 3762 | Line 3616 | yyreduce:
3616   }
3617      break;
3618  
3619 <  case 81:
3620 <
3621 < /* Line 1806 of yacc.c  */
3768 < #line 752 "ircd_parser.y"
3619 >  case 89:
3620 > /* Line 1787 of yacc.c  */
3621 > #line 745 "conf_parser.y"
3622      {
3623    if (conf_parser_ctx.pass == 2)
3624      ServerInfo.hub = yylval.number;
3625   }
3626      break;
3627  
3628 <  case 89:
3629 <
3630 < /* Line 1806 of yacc.c  */
3778 < #line 767 "ircd_parser.y"
3628 >  case 97:
3629 > /* Line 1787 of yacc.c  */
3630 > #line 760 "conf_parser.y"
3631      {
3632    if (conf_parser_ctx.pass == 2)
3633    {
# Line 3785 | Line 3637 | yyreduce:
3637   }
3638      break;
3639  
3640 <  case 90:
3641 <
3642 < /* Line 1806 of yacc.c  */
3791 < #line 776 "ircd_parser.y"
3640 >  case 98:
3641 > /* Line 1787 of yacc.c  */
3642 > #line 769 "conf_parser.y"
3643      {
3644    if (conf_parser_ctx.pass == 2)
3645    {
# Line 3798 | Line 3649 | yyreduce:
3649   }
3650      break;
3651  
3652 <  case 91:
3653 <
3654 < /* Line 1806 of yacc.c  */
3804 < #line 785 "ircd_parser.y"
3652 >  case 99:
3653 > /* Line 1787 of yacc.c  */
3654 > #line 778 "conf_parser.y"
3655      {
3656    if (conf_parser_ctx.pass == 2)
3657    {
# Line 3811 | Line 3661 | yyreduce:
3661   }
3662      break;
3663  
3664 <  case 99:
3665 <
3666 < /* Line 1806 of yacc.c  */
3817 < #line 803 "ircd_parser.y"
3664 >  case 106:
3665 > /* Line 1787 of yacc.c  */
3666 > #line 796 "conf_parser.y"
3667      {
3668    if (conf_parser_ctx.pass == 2)
3669      ConfigLoggingEntry.use_logging = yylval.number;
3670   }
3671      break;
3672  
3673 <  case 100:
3674 <
3675 < /* Line 1806 of yacc.c  */
3827 < #line 809 "ircd_parser.y"
3828 <    {
3829 <  if (conf_parser_ctx.pass == 2)
3830 <    ConfigLoggingEntry.timestamp = yylval.number;
3831 < }
3832 <    break;
3833 <
3834 <  case 101:
3835 <
3836 < /* Line 1806 of yacc.c  */
3837 < #line 815 "ircd_parser.y"
3673 >  case 107:
3674 > /* Line 1787 of yacc.c  */
3675 > #line 802 "conf_parser.y"
3676      {
3677    lfile[0] = '\0';
3678    ltype = 0;
# Line 3842 | Line 3680 | yyreduce:
3680   }
3681      break;
3682  
3683 <  case 102:
3684 <
3685 < /* Line 1806 of yacc.c  */
3848 < #line 820 "ircd_parser.y"
3683 >  case 108:
3684 > /* Line 1787 of yacc.c  */
3685 > #line 807 "conf_parser.y"
3686      {
3687    if (conf_parser_ctx.pass == 2 && ltype > 0)
3688      log_add_file(ltype, lsize, lfile);
3689   }
3690      break;
3691  
3692 <  case 109:
3693 <
3694 < /* Line 1806 of yacc.c  */
3858 < #line 832 "ircd_parser.y"
3692 >  case 115:
3693 > /* Line 1787 of yacc.c  */
3694 > #line 819 "conf_parser.y"
3695      {
3696    strlcpy(lfile, yylval.string, sizeof(lfile));
3697   }
3698      break;
3699  
3700 <  case 110:
3701 <
3702 < /* Line 1806 of yacc.c  */
3867 < #line 837 "ircd_parser.y"
3700 >  case 116:
3701 > /* Line 1787 of yacc.c  */
3702 > #line 824 "conf_parser.y"
3703      {
3704    lsize = (yyvsp[(3) - (4)].number);
3705   }
3706      break;
3707  
3708 <  case 111:
3709 <
3710 < /* Line 1806 of yacc.c  */
3876 < #line 840 "ircd_parser.y"
3708 >  case 117:
3709 > /* Line 1787 of yacc.c  */
3710 > #line 827 "conf_parser.y"
3711      {
3712    lsize = 0;
3713   }
3714      break;
3715  
3716 <  case 112:
3717 <
3718 < /* Line 1806 of yacc.c  */
3885 < #line 845 "ircd_parser.y"
3716 >  case 118:
3717 > /* Line 1787 of yacc.c  */
3718 > #line 832 "conf_parser.y"
3719      {
3720    if (conf_parser_ctx.pass == 2)
3721      ltype = 0;
3722   }
3723      break;
3724  
3725 <  case 116:
3726 <
3727 < /* Line 1806 of yacc.c  */
3895 < #line 852 "ircd_parser.y"
3725 >  case 122:
3726 > /* Line 1787 of yacc.c  */
3727 > #line 839 "conf_parser.y"
3728      {
3729    if (conf_parser_ctx.pass == 2)
3730      ltype = LOG_TYPE_USER;
3731   }
3732      break;
3733  
3734 <  case 117:
3735 <
3736 < /* Line 1806 of yacc.c  */
3905 < #line 856 "ircd_parser.y"
3734 >  case 123:
3735 > /* Line 1787 of yacc.c  */
3736 > #line 843 "conf_parser.y"
3737      {
3738    if (conf_parser_ctx.pass == 2)
3739      ltype = LOG_TYPE_OPER;
3740   }
3741      break;
3742  
3743 <  case 118:
3744 <
3745 < /* Line 1806 of yacc.c  */
3915 < #line 860 "ircd_parser.y"
3743 >  case 124:
3744 > /* Line 1787 of yacc.c  */
3745 > #line 847 "conf_parser.y"
3746      {
3747    if (conf_parser_ctx.pass == 2)
3748      ltype = LOG_TYPE_GLINE;
3749   }
3750      break;
3751  
3752 <  case 119:
3753 <
3754 < /* Line 1806 of yacc.c  */
3925 < #line 864 "ircd_parser.y"
3752 >  case 125:
3753 > /* Line 1787 of yacc.c  */
3754 > #line 851 "conf_parser.y"
3755      {
3756    if (conf_parser_ctx.pass == 2)
3757      ltype = LOG_TYPE_DLINE;
3758   }
3759      break;
3760  
3761 <  case 120:
3762 <
3763 < /* Line 1806 of yacc.c  */
3935 < #line 868 "ircd_parser.y"
3761 >  case 126:
3762 > /* Line 1787 of yacc.c  */
3763 > #line 855 "conf_parser.y"
3764      {
3765    if (conf_parser_ctx.pass == 2)
3766      ltype = LOG_TYPE_KLINE;
3767   }
3768      break;
3769  
3770 <  case 121:
3771 <
3772 < /* Line 1806 of yacc.c  */
3945 < #line 872 "ircd_parser.y"
3770 >  case 127:
3771 > /* Line 1787 of yacc.c  */
3772 > #line 859 "conf_parser.y"
3773      {
3774    if (conf_parser_ctx.pass == 2)
3775      ltype = LOG_TYPE_KILL;
3776   }
3777      break;
3778  
3779 <  case 122:
3780 <
3781 < /* Line 1806 of yacc.c  */
3955 < #line 876 "ircd_parser.y"
3779 >  case 128:
3780 > /* Line 1787 of yacc.c  */
3781 > #line 863 "conf_parser.y"
3782      {
3783    if (conf_parser_ctx.pass == 2)
3784      ltype = LOG_TYPE_DEBUG;
3785   }
3786      break;
3787  
3788 <  case 123:
3789 <
3790 < /* Line 1806 of yacc.c  */
3965 < #line 886 "ircd_parser.y"
3788 >  case 129:
3789 > /* Line 1787 of yacc.c  */
3790 > #line 873 "conf_parser.y"
3791      {
3792    if (conf_parser_ctx.pass == 2)
3793    {
# Line 3978 | Line 3803 | yyreduce:
3803   }
3804      break;
3805  
3806 <  case 124:
3807 <
3808 < /* Line 1806 of yacc.c  */
3984 < #line 899 "ircd_parser.y"
3806 >  case 130:
3807 > /* Line 1787 of yacc.c  */
3808 > #line 886 "conf_parser.y"
3809      {
3810    if (conf_parser_ctx.pass == 2)
3811    {
# Line 4017 | Line 3841 | yyreduce:
3841        else
3842          DupString(new_aconf->host, "*");
3843  
3844 <      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->ipnum,
3844 >      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->addr,
3845                                       &new_aconf->bits);
3846  
3847        conf_add_class_to_conf(new_conf, class_name);
# Line 4067 | Line 3891 | yyreduce:
3891   }
3892      break;
3893  
3894 <  case 136:
3895 <
3896 < /* Line 1806 of yacc.c  */
4073 < #line 989 "ircd_parser.y"
3894 >  case 142:
3895 > /* Line 1787 of yacc.c  */
3896 > #line 976 "conf_parser.y"
3897      {
3898    if (conf_parser_ctx.pass == 2)
3899    {
4077    if (strlen(yylval.string) > OPERNICKLEN)
4078      yylval.string[OPERNICKLEN] = '\0';
4079
3900      MyFree(yy_conf->name);
3901      DupString(yy_conf->name, yylval.string);
3902    }
3903   }
3904      break;
3905  
3906 <  case 137:
3907 <
3908 < /* Line 1806 of yacc.c  */
4089 < #line 1001 "ircd_parser.y"
3906 >  case 143:
3907 > /* Line 1787 of yacc.c  */
3908 > #line 985 "conf_parser.y"
3909      {
3910    if (conf_parser_ctx.pass == 2)
3911    {
# Line 4108 | Line 3927 | yyreduce:
3927        DupString(yy_aconf->user, userbuf);
3928        DupString(yy_aconf->host, hostbuf);
3929  
3930 <      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->ipnum,
3930 >      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->addr,
3931                                      &yy_aconf->bits);
3932      }
3933      else
# Line 4124 | Line 3943 | yyreduce:
3943   }
3944      break;
3945  
3946 <  case 138:
3947 <
3948 < /* Line 1806 of yacc.c  */
4130 < #line 1038 "ircd_parser.y"
3946 >  case 144:
3947 > /* Line 1787 of yacc.c  */
3948 > #line 1022 "conf_parser.y"
3949      {
3950    if (conf_parser_ctx.pass == 2)
3951    {
# Line 4140 | Line 3958 | yyreduce:
3958   }
3959      break;
3960  
3961 <  case 139:
3962 <
3963 < /* Line 1806 of yacc.c  */
4146 < #line 1050 "ircd_parser.y"
3961 >  case 145:
3962 > /* Line 1787 of yacc.c  */
3963 > #line 1034 "conf_parser.y"
3964      {
3965    if (conf_parser_ctx.pass == 2)
3966    {
# Line 4155 | Line 3972 | yyreduce:
3972   }
3973      break;
3974  
3975 <  case 140:
3976 <
3977 < /* Line 1806 of yacc.c  */
4161 < #line 1061 "ircd_parser.y"
3975 >  case 146:
3976 > /* Line 1787 of yacc.c  */
3977 > #line 1045 "conf_parser.y"
3978      {
3979   #ifdef HAVE_LIBCRYPTO
3980    if (conf_parser_ctx.pass == 2)
# Line 4201 | Line 4017 | yyreduce:
4017   }
4018      break;
4019  
4020 <  case 141:
4021 <
4022 < /* Line 1806 of yacc.c  */
4207 < #line 1103 "ircd_parser.y"
4020 >  case 147:
4021 > /* Line 1787 of yacc.c  */
4022 > #line 1087 "conf_parser.y"
4023      {
4024    if (conf_parser_ctx.pass == 2)
4025    {
# Line 4214 | Line 4029 | yyreduce:
4029   }
4030      break;
4031  
4032 <  case 142:
4033 <
4034 < /* Line 1806 of yacc.c  */
4220 < #line 1112 "ircd_parser.y"
4032 >  case 148:
4033 > /* Line 1787 of yacc.c  */
4034 > #line 1096 "conf_parser.y"
4035      {
4036    if (conf_parser_ctx.pass == 2)
4037      yy_aconf->modes = 0;
4038   }
4039      break;
4040  
4041 <  case 146:
4042 <
4043 < /* Line 1806 of yacc.c  */
4230 < #line 1119 "ircd_parser.y"
4041 >  case 152:
4042 > /* Line 1787 of yacc.c  */
4043 > #line 1103 "conf_parser.y"
4044      {
4045    if (conf_parser_ctx.pass == 2)
4046      yy_aconf->modes |= UMODE_BOTS;
4047   }
4048      break;
4049  
4050 <  case 147:
4051 <
4052 < /* Line 1806 of yacc.c  */
4240 < #line 1123 "ircd_parser.y"
4050 >  case 153:
4051 > /* Line 1787 of yacc.c  */
4052 > #line 1107 "conf_parser.y"
4053      {
4054    if (conf_parser_ctx.pass == 2)
4055      yy_aconf->modes |= UMODE_CCONN;
4056   }
4057      break;
4058  
4059 <  case 148:
4060 <
4061 < /* Line 1806 of yacc.c  */
4250 < #line 1127 "ircd_parser.y"
4059 >  case 154:
4060 > /* Line 1787 of yacc.c  */
4061 > #line 1111 "conf_parser.y"
4062      {
4063    if (conf_parser_ctx.pass == 2)
4064      yy_aconf->modes |= UMODE_CCONN_FULL;
4065   }
4066      break;
4067  
4068 <  case 149:
4069 <
4070 < /* Line 1806 of yacc.c  */
4260 < #line 1131 "ircd_parser.y"
4068 >  case 155:
4069 > /* Line 1787 of yacc.c  */
4070 > #line 1115 "conf_parser.y"
4071      {
4072    if (conf_parser_ctx.pass == 2)
4073      yy_aconf->modes |= UMODE_DEAF;
4074   }
4075      break;
4076  
4077 <  case 150:
4078 <
4079 < /* Line 1806 of yacc.c  */
4270 < #line 1135 "ircd_parser.y"
4077 >  case 156:
4078 > /* Line 1787 of yacc.c  */
4079 > #line 1119 "conf_parser.y"
4080      {
4081    if (conf_parser_ctx.pass == 2)
4082      yy_aconf->modes |= UMODE_DEBUG;
4083   }
4084      break;
4085  
4086 <  case 151:
4087 <
4088 < /* Line 1806 of yacc.c  */
4280 < #line 1139 "ircd_parser.y"
4086 >  case 157:
4087 > /* Line 1787 of yacc.c  */
4088 > #line 1123 "conf_parser.y"
4089      {
4090    if (conf_parser_ctx.pass == 2)
4091      yy_aconf->modes |= UMODE_FULL;
4092   }
4093      break;
4094  
4095 <  case 152:
4096 <
4097 < /* Line 1806 of yacc.c  */
4290 < #line 1143 "ircd_parser.y"
4095 >  case 158:
4096 > /* Line 1787 of yacc.c  */
4097 > #line 1127 "conf_parser.y"
4098      {
4099    if (conf_parser_ctx.pass == 2)
4100      yy_aconf->modes |= UMODE_HIDDEN;
4101   }
4102      break;
4103  
4104 <  case 153:
4105 <
4106 < /* Line 1806 of yacc.c  */
4300 < #line 1147 "ircd_parser.y"
4104 >  case 159:
4105 > /* Line 1787 of yacc.c  */
4106 > #line 1131 "conf_parser.y"
4107      {
4108    if (conf_parser_ctx.pass == 2)
4109      yy_aconf->modes |= UMODE_SKILL;
4110   }
4111      break;
4112  
4113 <  case 154:
4114 <
4115 < /* Line 1806 of yacc.c  */
4310 < #line 1151 "ircd_parser.y"
4113 >  case 160:
4114 > /* Line 1787 of yacc.c  */
4115 > #line 1135 "conf_parser.y"
4116      {
4117    if (conf_parser_ctx.pass == 2)
4118      yy_aconf->modes |= UMODE_NCHANGE;
4119   }
4120      break;
4121  
4122 <  case 155:
4123 <
4124 < /* Line 1806 of yacc.c  */
4320 < #line 1155 "ircd_parser.y"
4122 >  case 161:
4123 > /* Line 1787 of yacc.c  */
4124 > #line 1139 "conf_parser.y"
4125      {
4126    if (conf_parser_ctx.pass == 2)
4127      yy_aconf->modes |= UMODE_REJ;
4128   }
4129      break;
4130  
4131 <  case 156:
4132 <
4133 < /* Line 1806 of yacc.c  */
4330 < #line 1159 "ircd_parser.y"
4131 >  case 162:
4132 > /* Line 1787 of yacc.c  */
4133 > #line 1143 "conf_parser.y"
4134      {
4135    if (conf_parser_ctx.pass == 2)
4136      yy_aconf->modes |= UMODE_UNAUTH;
4137   }
4138      break;
4139  
4140 <  case 157:
4141 <
4142 < /* Line 1806 of yacc.c  */
4340 < #line 1163 "ircd_parser.y"
4140 >  case 163:
4141 > /* Line 1787 of yacc.c  */
4142 > #line 1147 "conf_parser.y"
4143      {
4144    if (conf_parser_ctx.pass == 2)
4145      yy_aconf->modes |= UMODE_SPY;
4146   }
4147      break;
4148  
4149 <  case 158:
4150 <
4151 < /* Line 1806 of yacc.c  */
4350 < #line 1167 "ircd_parser.y"
4149 >  case 164:
4150 > /* Line 1787 of yacc.c  */
4151 > #line 1151 "conf_parser.y"
4152      {
4153    if (conf_parser_ctx.pass == 2)
4154      yy_aconf->modes |= UMODE_EXTERNAL;
4155   }
4156      break;
4157  
4158 <  case 159:
4159 <
4160 < /* Line 1806 of yacc.c  */
4360 < #line 1171 "ircd_parser.y"
4158 >  case 165:
4159 > /* Line 1787 of yacc.c  */
4160 > #line 1155 "conf_parser.y"
4161      {
4162    if (conf_parser_ctx.pass == 2)
4163      yy_aconf->modes |= UMODE_OPERWALL;
4164   }
4165      break;
4166  
4167 <  case 160:
4168 <
4169 < /* Line 1806 of yacc.c  */
4370 < #line 1175 "ircd_parser.y"
4167 >  case 166:
4168 > /* Line 1787 of yacc.c  */
4169 > #line 1159 "conf_parser.y"
4170      {
4171    if (conf_parser_ctx.pass == 2)
4172      yy_aconf->modes |= UMODE_SERVNOTICE;
4173   }
4174      break;
4175  
4176 <  case 161:
4177 <
4178 < /* Line 1806 of yacc.c  */
4380 < #line 1179 "ircd_parser.y"
4176 >  case 167:
4177 > /* Line 1787 of yacc.c  */
4178 > #line 1163 "conf_parser.y"
4179      {
4180    if (conf_parser_ctx.pass == 2)
4181      yy_aconf->modes |= UMODE_INVISIBLE;
4182   }
4183      break;
4184  
4185 <  case 162:
4186 <
4187 < /* Line 1806 of yacc.c  */
4390 < #line 1183 "ircd_parser.y"
4185 >  case 168:
4186 > /* Line 1787 of yacc.c  */
4187 > #line 1167 "conf_parser.y"
4188      {
4189    if (conf_parser_ctx.pass == 2)
4190      yy_aconf->modes |= UMODE_WALLOP;
4191   }
4192      break;
4193  
4194 <  case 163:
4195 <
4196 < /* Line 1806 of yacc.c  */
4400 < #line 1187 "ircd_parser.y"
4194 >  case 169:
4195 > /* Line 1787 of yacc.c  */
4196 > #line 1171 "conf_parser.y"
4197      {
4198    if (conf_parser_ctx.pass == 2)
4199      yy_aconf->modes |= UMODE_SOFTCALLERID;
4200   }
4201      break;
4202  
4203 <  case 164:
4204 <
4205 < /* Line 1806 of yacc.c  */
4410 < #line 1191 "ircd_parser.y"
4203 >  case 170:
4204 > /* Line 1787 of yacc.c  */
4205 > #line 1175 "conf_parser.y"
4206      {
4207    if (conf_parser_ctx.pass == 2)
4208      yy_aconf->modes |= UMODE_CALLERID;
4209   }
4210      break;
4211  
4212 <  case 165:
4213 <
4214 < /* Line 1806 of yacc.c  */
4420 < #line 1195 "ircd_parser.y"
4212 >  case 171:
4213 > /* Line 1787 of yacc.c  */
4214 > #line 1179 "conf_parser.y"
4215      {
4216    if (conf_parser_ctx.pass == 2)
4217      yy_aconf->modes |= UMODE_LOCOPS;
4218   }
4219      break;
4220  
4221 <  case 166:
4222 <
4223 < /* Line 1806 of yacc.c  */
4430 < #line 1201 "ircd_parser.y"
4221 >  case 172:
4222 > /* Line 1787 of yacc.c  */
4223 > #line 1185 "conf_parser.y"
4224      {
4225    if (conf_parser_ctx.pass == 2)
4226      yy_aconf->port = 0;
4227   }
4228      break;
4229  
4230 <  case 170:
4231 <
4232 < /* Line 1806 of yacc.c  */
4440 < #line 1208 "ircd_parser.y"
4230 >  case 176:
4231 > /* Line 1787 of yacc.c  */
4232 > #line 1192 "conf_parser.y"
4233      {
4234    if (conf_parser_ctx.pass == 2)
4235      yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4236   }
4237      break;
4238  
4239 <  case 171:
4240 <
4241 < /* Line 1806 of yacc.c  */
4450 < #line 1212 "ircd_parser.y"
4239 >  case 177:
4240 > /* Line 1787 of yacc.c  */
4241 > #line 1196 "conf_parser.y"
4242      {
4243    if (conf_parser_ctx.pass == 2)
4244      yy_aconf->port |= OPER_FLAG_REMOTE;
4245   }
4246      break;
4247  
4248 <  case 172:
4249 <
4250 < /* Line 1806 of yacc.c  */
4460 < #line 1216 "ircd_parser.y"
4248 >  case 178:
4249 > /* Line 1787 of yacc.c  */
4250 > #line 1200 "conf_parser.y"
4251      {
4252    if (conf_parser_ctx.pass == 2)
4253      yy_aconf->port |= OPER_FLAG_K;
4254   }
4255      break;
4256  
4257 <  case 173:
4258 <
4259 < /* Line 1806 of yacc.c  */
4470 < #line 1220 "ircd_parser.y"
4257 >  case 179:
4258 > /* Line 1787 of yacc.c  */
4259 > #line 1204 "conf_parser.y"
4260      {
4261    if (conf_parser_ctx.pass == 2)
4262      yy_aconf->port |= OPER_FLAG_UNKLINE;
4263   }
4264      break;
4265  
4266 <  case 174:
4267 <
4268 < /* Line 1806 of yacc.c  */
4480 < #line 1224 "ircd_parser.y"
4266 >  case 180:
4267 > /* Line 1787 of yacc.c  */
4268 > #line 1208 "conf_parser.y"
4269      {
4270    if (conf_parser_ctx.pass == 2)
4271      yy_aconf->port |= OPER_FLAG_DLINE;
4272   }
4273      break;
4274  
4275 <  case 175:
4276 <
4277 < /* Line 1806 of yacc.c  */
4490 < #line 1228 "ircd_parser.y"
4275 >  case 181:
4276 > /* Line 1787 of yacc.c  */
4277 > #line 1212 "conf_parser.y"
4278      {
4279    if (conf_parser_ctx.pass == 2)
4280      yy_aconf->port |= OPER_FLAG_UNDLINE;
4281   }
4282      break;
4283  
4284 <  case 176:
4285 <
4286 < /* Line 1806 of yacc.c  */
4500 < #line 1232 "ircd_parser.y"
4284 >  case 182:
4285 > /* Line 1787 of yacc.c  */
4286 > #line 1216 "conf_parser.y"
4287      {
4288    if (conf_parser_ctx.pass == 2)
4289      yy_aconf->port |= OPER_FLAG_X;
4290   }
4291      break;
4292  
4293 <  case 177:
4294 <
4295 < /* Line 1806 of yacc.c  */
4510 < #line 1236 "ircd_parser.y"
4293 >  case 183:
4294 > /* Line 1787 of yacc.c  */
4295 > #line 1220 "conf_parser.y"
4296      {
4297    if (conf_parser_ctx.pass == 2)
4298      yy_aconf->port |= OPER_FLAG_GLINE;
4299   }
4300      break;
4301  
4302 <  case 178:
4303 <
4304 < /* Line 1806 of yacc.c  */
4520 < #line 1240 "ircd_parser.y"
4302 >  case 184:
4303 > /* Line 1787 of yacc.c  */
4304 > #line 1224 "conf_parser.y"
4305      {
4306    if (conf_parser_ctx.pass == 2)
4307      yy_aconf->port |= OPER_FLAG_DIE;
4308   }
4309      break;
4310  
4311 <  case 179:
4312 <
4313 < /* Line 1806 of yacc.c  */
4530 < #line 1244 "ircd_parser.y"
4311 >  case 185:
4312 > /* Line 1787 of yacc.c  */
4313 > #line 1228 "conf_parser.y"
4314      {
4315    if (conf_parser_ctx.pass == 2)
4316      yy_aconf->port |= OPER_FLAG_RESTART;
4317   }
4318      break;
4319  
4320 <  case 180:
4321 <
4322 < /* Line 1806 of yacc.c  */
4540 < #line 1248 "ircd_parser.y"
4320 >  case 186:
4321 > /* Line 1787 of yacc.c  */
4322 > #line 1232 "conf_parser.y"
4323      {
4324    if (conf_parser_ctx.pass == 2)
4325      yy_aconf->port |= OPER_FLAG_REHASH;
4326   }
4327      break;
4328  
4329 <  case 181:
4330 <
4331 < /* Line 1806 of yacc.c  */
4550 < #line 1252 "ircd_parser.y"
4329 >  case 187:
4330 > /* Line 1787 of yacc.c  */
4331 > #line 1236 "conf_parser.y"
4332      {
4333    if (conf_parser_ctx.pass == 2)
4334      yy_aconf->port |= OPER_FLAG_ADMIN;
4335   }
4336      break;
4337  
4338 <  case 182:
4339 <
4340 < /* Line 1806 of yacc.c  */
4560 < #line 1256 "ircd_parser.y"
4338 >  case 188:
4339 > /* Line 1787 of yacc.c  */
4340 > #line 1240 "conf_parser.y"
4341      {
4342    if (conf_parser_ctx.pass == 2)
4343      yy_aconf->port |= OPER_FLAG_N;
4344   }
4345      break;
4346  
4347 <  case 183:
4348 <
4349 < /* Line 1806 of yacc.c  */
4570 < #line 1260 "ircd_parser.y"
4347 >  case 189:
4348 > /* Line 1787 of yacc.c  */
4349 > #line 1244 "conf_parser.y"
4350      {
4351    if (conf_parser_ctx.pass == 2)
4352      yy_aconf->port |= OPER_FLAG_OPERWALL;
4353   }
4354      break;
4355  
4356 <  case 184:
4357 <
4358 < /* Line 1806 of yacc.c  */
4580 < #line 1264 "ircd_parser.y"
4356 >  case 190:
4357 > /* Line 1787 of yacc.c  */
4358 > #line 1248 "conf_parser.y"
4359      {
4360    if (conf_parser_ctx.pass == 2)
4361      yy_aconf->port |= OPER_FLAG_GLOBOPS;
4362   }
4363      break;
4364  
4365 <  case 185:
4366 <
4367 < /* Line 1806 of yacc.c  */
4590 < #line 1268 "ircd_parser.y"
4365 >  case 191:
4366 > /* Line 1787 of yacc.c  */
4367 > #line 1252 "conf_parser.y"
4368      {
4369    if (conf_parser_ctx.pass == 2)
4370      yy_aconf->port |= OPER_FLAG_OPER_SPY;
4371   }
4372      break;
4373  
4374 <  case 186:
4375 <
4376 < /* Line 1806 of yacc.c  */
4600 < #line 1272 "ircd_parser.y"
4374 >  case 192:
4375 > /* Line 1787 of yacc.c  */
4376 > #line 1256 "conf_parser.y"
4377      {
4378    if (conf_parser_ctx.pass == 2)
4379      yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4380   }
4381      break;
4382  
4383 <  case 187:
4383 >  case 193:
4384 > /* Line 1787 of yacc.c  */
4385 > #line 1260 "conf_parser.y"
4386 >    {
4387 >  if (conf_parser_ctx.pass == 2)
4388 >    yy_aconf->port |= OPER_FLAG_SET;
4389 > }
4390 >    break;
4391  
4392 < /* Line 1806 of yacc.c  */
4393 < #line 1276 "ircd_parser.y"
4392 >  case 194:
4393 > /* Line 1787 of yacc.c  */
4394 > #line 1264 "conf_parser.y"
4395      {
4396    if (conf_parser_ctx.pass == 2)
4397      yy_aconf->port |= OPER_FLAG_MODULE;
4398   }
4399      break;
4400  
4401 <  case 188:
4402 <
4403 < /* Line 1806 of yacc.c  */
4620 < #line 1286 "ircd_parser.y"
4401 >  case 195:
4402 > /* Line 1787 of yacc.c  */
4403 > #line 1274 "conf_parser.y"
4404      {
4405    if (conf_parser_ctx.pass == 1)
4406    {
# Line 4627 | Line 4410 | yyreduce:
4410   }
4411      break;
4412  
4413 <  case 189:
4414 <
4415 < /* Line 1806 of yacc.c  */
4633 < #line 1293 "ircd_parser.y"
4413 >  case 196:
4414 > /* Line 1787 of yacc.c  */
4415 > #line 1281 "conf_parser.y"
4416      {
4417    if (conf_parser_ctx.pass == 1)
4418    {
# Line 4674 | Line 4456 | yyreduce:
4456   }
4457      break;
4458  
4459 <  case 206:
4460 <
4461 < /* Line 1806 of yacc.c  */
4680 < #line 1351 "ircd_parser.y"
4459 >  case 214:
4460 > /* Line 1787 of yacc.c  */
4461 > #line 1339 "conf_parser.y"
4462      {
4463    if (conf_parser_ctx.pass == 1)
4464    {
# Line 4687 | Line 4468 | yyreduce:
4468   }
4469      break;
4470  
4471 <  case 207:
4472 <
4473 < /* Line 1806 of yacc.c  */
4693 < #line 1360 "ircd_parser.y"
4471 >  case 215:
4472 > /* Line 1787 of yacc.c  */
4473 > #line 1348 "conf_parser.y"
4474      {
4475    if (conf_parser_ctx.pass == 1)
4476 <    PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4476 >    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4477   }
4478      break;
4479  
4480 <  case 208:
4481 <
4482 < /* Line 1806 of yacc.c  */
4703 < #line 1366 "ircd_parser.y"
4480 >  case 216:
4481 > /* Line 1787 of yacc.c  */
4482 > #line 1354 "conf_parser.y"
4483      {
4484    if (conf_parser_ctx.pass == 1)
4485 <    PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4485 >    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4486   }
4487      break;
4488  
4489 <  case 209:
4490 <
4491 < /* Line 1806 of yacc.c  */
4713 < #line 1372 "ircd_parser.y"
4489 >  case 217:
4490 > /* Line 1787 of yacc.c  */
4491 > #line 1360 "conf_parser.y"
4492      {
4493    if (conf_parser_ctx.pass == 1)
4494 <    MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4494 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4495   }
4496      break;
4497  
4498 <  case 210:
4499 <
4500 < /* Line 1806 of yacc.c  */
4723 < #line 1378 "ircd_parser.y"
4498 >  case 218:
4499 > /* Line 1787 of yacc.c  */
4500 > #line 1366 "conf_parser.y"
4501      {
4502    if (conf_parser_ctx.pass == 1)
4503 <    ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4503 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4504   }
4505      break;
4506  
4507 <  case 211:
4508 <
4509 < /* Line 1806 of yacc.c  */
4733 < #line 1384 "ircd_parser.y"
4507 >  case 219:
4508 > /* Line 1787 of yacc.c  */
4509 > #line 1372 "conf_parser.y"
4510      {
4511    if (conf_parser_ctx.pass == 1)
4512 <    MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4512 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4513   }
4514      break;
4515  
4516 <  case 212:
4517 <
4518 < /* Line 1806 of yacc.c  */
4743 < #line 1390 "ircd_parser.y"
4516 >  case 220:
4517 > /* Line 1787 of yacc.c  */
4518 > #line 1378 "conf_parser.y"
4519      {
4520    if (conf_parser_ctx.pass == 1)
4521 <    MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4521 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4522   }
4523      break;
4524  
4525 <  case 213:
4526 <
4527 < /* Line 1806 of yacc.c  */
4753 < #line 1396 "ircd_parser.y"
4525 >  case 221:
4526 > /* Line 1787 of yacc.c  */
4527 > #line 1384 "conf_parser.y"
4528      {
4529    if (conf_parser_ctx.pass == 1)
4530 <    MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4530 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4531   }
4532      break;
4533  
4534 <  case 214:
4535 <
4536 < /* Line 1806 of yacc.c  */
4763 < #line 1402 "ircd_parser.y"
4534 >  case 222:
4535 > /* Line 1787 of yacc.c  */
4536 > #line 1390 "conf_parser.y"
4537      {
4538    if (conf_parser_ctx.pass == 1)
4539 <    MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4539 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4540   }
4541      break;
4542  
4543 <  case 215:
4544 <
4545 < /* Line 1806 of yacc.c  */
4773 < #line 1408 "ircd_parser.y"
4543 >  case 223:
4544 > /* Line 1787 of yacc.c  */
4545 > #line 1396 "conf_parser.y"
4546      {
4547    if (conf_parser_ctx.pass == 1)
4548 <    MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4548 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4549   }
4550      break;
4551  
4552 <  case 216:
4553 <
4554 < /* Line 1806 of yacc.c  */
4783 < #line 1414 "ircd_parser.y"
4552 >  case 224:
4553 > /* Line 1787 of yacc.c  */
4554 > #line 1402 "conf_parser.y"
4555      {
4556    if (conf_parser_ctx.pass == 1)
4557 <    CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4557 >    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4558 >      yy_class->max_recvq = (yyvsp[(3) - (4)].number);
4559   }
4560      break;
4561  
4562 <  case 217:
4563 <
4564 < /* Line 1806 of yacc.c  */
4793 < #line 1420 "ircd_parser.y"
4562 >  case 225:
4563 > /* Line 1787 of yacc.c  */
4564 > #line 1409 "conf_parser.y"
4565      {
4566    if (conf_parser_ctx.pass == 1)
4567 <    CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4567 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4568   }
4569      break;
4570  
4571 <  case 218:
4572 <
4573 < /* Line 1806 of yacc.c  */
4803 < #line 1426 "ircd_parser.y"
4571 >  case 226:
4572 > /* Line 1787 of yacc.c  */
4573 > #line 1415 "conf_parser.y"
4574      {
4575    if (conf_parser_ctx.pass == 1)
4576 <    NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4576 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4577   }
4578      break;
4579  
4580 <  case 219:
4580 >  case 227:
4581 > /* Line 1787 of yacc.c  */
4582 > #line 1421 "conf_parser.y"
4583 >    {
4584 >  if (conf_parser_ctx.pass == 1)
4585 >    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4586 > }
4587 >    break;
4588  
4589 < /* Line 1806 of yacc.c  */
4590 < #line 1435 "ircd_parser.y"
4589 >  case 228:
4590 > /* Line 1787 of yacc.c  */
4591 > #line 1430 "conf_parser.y"
4592      {
4593    if (conf_parser_ctx.pass == 2)
4594    {
# Line 4820 | Line 4598 | yyreduce:
4598   }
4599      break;
4600  
4601 <  case 220:
4602 <
4603 < /* Line 1806 of yacc.c  */
4826 < #line 1442 "ircd_parser.y"
4601 >  case 229:
4602 > /* Line 1787 of yacc.c  */
4603 > #line 1437 "conf_parser.y"
4604      {
4605    if (conf_parser_ctx.pass == 2)
4606    {
# Line 4833 | Line 4610 | yyreduce:
4610   }
4611      break;
4612  
4613 <  case 221:
4614 <
4615 < /* Line 1806 of yacc.c  */
4839 < #line 1451 "ircd_parser.y"
4613 >  case 230:
4614 > /* Line 1787 of yacc.c  */
4615 > #line 1446 "conf_parser.y"
4616      {
4617    listener_flags = 0;
4618   }
4619      break;
4620  
4621 <  case 225:
4622 <
4623 < /* Line 1806 of yacc.c  */
4848 < #line 1457 "ircd_parser.y"
4621 >  case 234:
4622 > /* Line 1787 of yacc.c  */
4623 > #line 1452 "conf_parser.y"
4624      {
4625    if (conf_parser_ctx.pass == 2)
4626      listener_flags |= LISTENER_SSL;
4627   }
4628      break;
4629  
4630 <  case 226:
4631 <
4632 < /* Line 1806 of yacc.c  */
4858 < #line 1461 "ircd_parser.y"
4630 >  case 235:
4631 > /* Line 1787 of yacc.c  */
4632 > #line 1456 "conf_parser.y"
4633      {
4634    if (conf_parser_ctx.pass == 2)
4635      listener_flags |= LISTENER_HIDDEN;
4636   }
4637      break;
4638  
4639 <  case 227:
4640 <
4641 < /* Line 1806 of yacc.c  */
4868 < #line 1465 "ircd_parser.y"
4639 >  case 236:
4640 > /* Line 1787 of yacc.c  */
4641 > #line 1460 "conf_parser.y"
4642      {
4643    if (conf_parser_ctx.pass == 2)
4644      listener_flags |= LISTENER_SERVER;
4645   }
4646      break;
4647  
4648 <  case 235:
4649 <
4650 < /* Line 1806 of yacc.c  */
4878 < #line 1475 "ircd_parser.y"
4648 >  case 244:
4649 > /* Line 1787 of yacc.c  */
4650 > #line 1470 "conf_parser.y"
4651      { listener_flags = 0; }
4652      break;
4653  
4654 <  case 239:
4655 <
4656 < /* Line 1806 of yacc.c  */
4885 < #line 1480 "ircd_parser.y"
4654 >  case 248:
4655 > /* Line 1787 of yacc.c  */
4656 > #line 1475 "conf_parser.y"
4657      {
4658    if (conf_parser_ctx.pass == 2)
4659    {
# Line 4899 | Line 4670 | yyreduce:
4670   }
4671      break;
4672  
4673 <  case 240:
4674 <
4675 < /* Line 1806 of yacc.c  */
4905 < #line 1494 "ircd_parser.y"
4673 >  case 249:
4674 > /* Line 1787 of yacc.c  */
4675 > #line 1489 "conf_parser.y"
4676      {
4677    if (conf_parser_ctx.pass == 2)
4678    {
# Line 4923 | Line 4693 | yyreduce:
4693   }
4694      break;
4695  
4696 <  case 241:
4697 <
4698 < /* Line 1806 of yacc.c  */
4929 < #line 1514 "ircd_parser.y"
4696 >  case 250:
4697 > /* Line 1787 of yacc.c  */
4698 > #line 1509 "conf_parser.y"
4699      {
4700    if (conf_parser_ctx.pass == 2)
4701    {
# Line 4936 | Line 4705 | yyreduce:
4705   }
4706      break;
4707  
4708 <  case 242:
4709 <
4710 < /* Line 1806 of yacc.c  */
4942 < #line 1523 "ircd_parser.y"
4708 >  case 251:
4709 > /* Line 1787 of yacc.c  */
4710 > #line 1518 "conf_parser.y"
4711      {
4712    if (conf_parser_ctx.pass == 2)
4713    {
# Line 4949 | Line 4717 | yyreduce:
4717   }
4718      break;
4719  
4720 <  case 243:
4721 <
4722 < /* Line 1806 of yacc.c  */
4955 < #line 1535 "ircd_parser.y"
4720 >  case 252:
4721 > /* Line 1787 of yacc.c  */
4722 > #line 1530 "conf_parser.y"
4723      {
4724    if (conf_parser_ctx.pass == 2)
4725    {
# Line 4967 | Line 4734 | yyreduce:
4734   }
4735      break;
4736  
4737 <  case 244:
4738 <
4739 < /* Line 1806 of yacc.c  */
4973 < #line 1547 "ircd_parser.y"
4737 >  case 253:
4738 > /* Line 1787 of yacc.c  */
4739 > #line 1542 "conf_parser.y"
4740      {
4741    if (conf_parser_ctx.pass == 2)
4742    {
# Line 5028 | Line 4794 | yyreduce:
4794   }
4795      break;
4796  
4797 <  case 256:
4798 <
4799 < /* Line 1806 of yacc.c  */
5034 < #line 1609 "ircd_parser.y"
4797 >  case 265:
4798 > /* Line 1787 of yacc.c  */
4799 > #line 1604 "conf_parser.y"
4800      {
4801    if (conf_parser_ctx.pass == 2)
4802    {
# Line 5067 | Line 4832 | yyreduce:
4832   }
4833      break;
4834  
4835 <  case 257:
4836 <
4837 < /* Line 1806 of yacc.c  */
5073 < #line 1646 "ircd_parser.y"
4835 >  case 266:
4836 > /* Line 1787 of yacc.c  */
4837 > #line 1639 "conf_parser.y"
4838      {
4839    if (conf_parser_ctx.pass == 2)
4840    {
# Line 5084 | Line 4848 | yyreduce:
4848   }
4849      break;
4850  
4851 <  case 258:
4852 <
4853 < /* Line 1806 of yacc.c  */
5090 < #line 1659 "ircd_parser.y"
4851 >  case 267:
4852 > /* Line 1787 of yacc.c  */
4853 > #line 1652 "conf_parser.y"
4854      {
4855    if (conf_parser_ctx.pass == 2)
4856    {
# Line 5097 | Line 4860 | yyreduce:
4860   }
4861      break;
4862  
4863 <  case 259:
4864 <
4865 < /* Line 1806 of yacc.c  */
5103 < #line 1668 "ircd_parser.y"
4863 >  case 268:
4864 > /* Line 1787 of yacc.c  */
4865 > #line 1661 "conf_parser.y"
4866      {
4867    if (conf_parser_ctx.pass == 2)
4868    {
# Line 5112 | Line 4874 | yyreduce:
4874   }
4875      break;
4876  
4877 <  case 260:
4878 <
4879 < /* Line 1806 of yacc.c  */
5118 < #line 1679 "ircd_parser.y"
4877 >  case 269:
4878 > /* Line 1787 of yacc.c  */
4879 > #line 1672 "conf_parser.y"
4880      {
4881   }
4882      break;
4883  
4884 <  case 264:
4885 <
4886 < /* Line 1806 of yacc.c  */
5126 < #line 1684 "ircd_parser.y"
4884 >  case 273:
4885 > /* Line 1787 of yacc.c  */
4886 > #line 1677 "conf_parser.y"
4887      {
4888    if (conf_parser_ctx.pass == 2)
4889      yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
4890   }
4891      break;
4892  
4893 <  case 265:
4894 <
4895 < /* Line 1806 of yacc.c  */
5136 < #line 1688 "ircd_parser.y"
4893 >  case 274:
4894 > /* Line 1787 of yacc.c  */
4895 > #line 1681 "conf_parser.y"
4896      {
4897    if (conf_parser_ctx.pass == 2)
4898      yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
4899   }
4900      break;
4901  
4902 <  case 266:
4903 <
4904 < /* Line 1806 of yacc.c  */
5146 < #line 1692 "ircd_parser.y"
4902 >  case 275:
4903 > /* Line 1787 of yacc.c  */
4904 > #line 1685 "conf_parser.y"
4905      {
4906    if (conf_parser_ctx.pass == 2)
4907      yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
4908   }
4909      break;
4910  
4911 <  case 267:
4912 <
4913 < /* Line 1806 of yacc.c  */
5156 < #line 1696 "ircd_parser.y"
4911 >  case 276:
4912 > /* Line 1787 of yacc.c  */
4913 > #line 1689 "conf_parser.y"
4914      {
4915    if (conf_parser_ctx.pass == 2)
4916      yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
4917   }
4918      break;
4919  
4920 <  case 268:
4921 <
4922 < /* Line 1806 of yacc.c  */
5166 < #line 1700 "ircd_parser.y"
4920 >  case 277:
4921 > /* Line 1787 of yacc.c  */
4922 > #line 1693 "conf_parser.y"
4923      {
4924    if (conf_parser_ctx.pass == 2)
4925      yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
4926   }
4927      break;
4928  
4929 <  case 269:
4930 <
4931 < /* Line 1806 of yacc.c  */
5176 < #line 1704 "ircd_parser.y"
4929 >  case 278:
4930 > /* Line 1787 of yacc.c  */
4931 > #line 1697 "conf_parser.y"
4932      {
4933    if (conf_parser_ctx.pass == 2)
4934      yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
4935   }
4936      break;
4937  
4938 <  case 270:
4939 <
4940 < /* Line 1806 of yacc.c  */
5186 < #line 1708 "ircd_parser.y"
4938 >  case 279:
4939 > /* Line 1787 of yacc.c  */
4940 > #line 1701 "conf_parser.y"
4941      {
4942    if (conf_parser_ctx.pass == 2)
4943      yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
4944   }
4945      break;
4946  
4947 <  case 271:
4948 <
4949 < /* Line 1806 of yacc.c  */
5196 < #line 1712 "ircd_parser.y"
4947 >  case 280:
4948 > /* Line 1787 of yacc.c  */
4949 > #line 1705 "conf_parser.y"
4950      {
4951    if (conf_parser_ctx.pass == 2)
4952      yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
4953   }
4954      break;
4955  
4956 <  case 272:
4957 <
4958 < /* Line 1806 of yacc.c  */
5206 < #line 1716 "ircd_parser.y"
4956 >  case 281:
4957 > /* Line 1787 of yacc.c  */
4958 > #line 1709 "conf_parser.y"
4959      {
4960    if (conf_parser_ctx.pass == 2)
4961      yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
4962   }
4963      break;
4964  
4965 <  case 273:
4966 <
4967 < /* Line 1806 of yacc.c  */
5216 < #line 1723 "ircd_parser.y"
4965 >  case 282:
4966 > /* Line 1787 of yacc.c  */
4967 > #line 1716 "conf_parser.y"
4968      {
4969    if (conf_parser_ctx.pass == 2)
4970    {
# Line 5233 | Line 4984 | yyreduce:
4984   }
4985      break;
4986  
4987 <  case 274:
4988 <
4989 < /* Line 1806 of yacc.c  */
5239 < #line 1742 "ircd_parser.y"
4987 >  case 283:
4988 > /* Line 1787 of yacc.c  */
4989 > #line 1735 "conf_parser.y"
4990      {
4991    if (conf_parser_ctx.pass == 2)
4992    {
# Line 5247 | Line 4997 | yyreduce:
4997   }
4998      break;
4999  
5000 <  case 275:
5001 <
5002 < /* Line 1806 of yacc.c  */
5253 < #line 1752 "ircd_parser.y"
5000 >  case 284:
5001 > /* Line 1787 of yacc.c  */
5002 > #line 1745 "conf_parser.y"
5003      {
5004    if (conf_parser_ctx.pass == 2)
5005    {
# Line 5260 | Line 5009 | yyreduce:
5009   }
5010      break;
5011  
5012 <  case 276:
5013 <
5014 < /* Line 1806 of yacc.c  */
5266 < #line 1765 "ircd_parser.y"
5012 >  case 285:
5013 > /* Line 1787 of yacc.c  */
5014 > #line 1758 "conf_parser.y"
5015      {
5016    if (conf_parser_ctx.pass == 2)
5017    {
# Line 5273 | Line 5021 | yyreduce:
5021   }
5022      break;
5023  
5024 <  case 277:
5025 <
5026 < /* Line 1806 of yacc.c  */
5279 < #line 1772 "ircd_parser.y"
5024 >  case 286:
5025 > /* Line 1787 of yacc.c  */
5026 > #line 1765 "conf_parser.y"
5027      {
5028    if (conf_parser_ctx.pass == 2)
5029    {
# Line 5286 | Line 5033 | yyreduce:
5033   }
5034      break;
5035  
5036 <  case 284:
5037 <
5038 < /* Line 1806 of yacc.c  */
5292 < #line 1784 "ircd_parser.y"
5036 >  case 293:
5037 > /* Line 1787 of yacc.c  */
5038 > #line 1777 "conf_parser.y"
5039      {
5040    if (conf_parser_ctx.pass == 2)
5041    {
# Line 5299 | Line 5045 | yyreduce:
5045   }
5046      break;
5047  
5048 <  case 285:
5049 <
5050 < /* Line 1806 of yacc.c  */
5305 < #line 1793 "ircd_parser.y"
5048 >  case 294:
5049 > /* Line 1787 of yacc.c  */
5050 > #line 1786 "conf_parser.y"
5051      {
5052    if (conf_parser_ctx.pass == 2)
5053    {
# Line 5318 | Line 5063 | yyreduce:
5063   }
5064      break;
5065  
5066 <  case 286:
5067 <
5068 < /* Line 1806 of yacc.c  */
5324 < #line 1808 "ircd_parser.y"
5066 >  case 295:
5067 > /* Line 1787 of yacc.c  */
5068 > #line 1801 "conf_parser.y"
5069      {
5070    if (conf_parser_ctx.pass == 2)
5071    {
# Line 5332 | Line 5076 | yyreduce:
5076   }
5077      break;
5078  
5079 <  case 292:
5080 <
5081 < /* Line 1806 of yacc.c  */
5338 < #line 1826 "ircd_parser.y"
5079 >  case 301:
5080 > /* Line 1787 of yacc.c  */
5081 > #line 1819 "conf_parser.y"
5082      {
5083    if (conf_parser_ctx.pass == 2)
5084    {
# Line 5348 | Line 5091 | yyreduce:
5091   }
5092      break;
5093  
5094 <  case 293:
5095 <
5096 < /* Line 1806 of yacc.c  */
5354 < #line 1841 "ircd_parser.y"
5094 >  case 302:
5095 > /* Line 1787 of yacc.c  */
5096 > #line 1834 "conf_parser.y"
5097      {
5098    if (conf_parser_ctx.pass == 2)
5099    {
# Line 5362 | Line 5104 | yyreduce:
5104   }
5105      break;
5106  
5107 <  case 294:
5108 <
5109 < /* Line 1806 of yacc.c  */
5368 < #line 1849 "ircd_parser.y"
5107 >  case 303:
5108 > /* Line 1787 of yacc.c  */
5109 > #line 1842 "conf_parser.y"
5110      {
5111    if (conf_parser_ctx.pass == 2)
5112    {
# Line 5374 | Line 5115 | yyreduce:
5115   }
5116      break;
5117  
5118 <  case 301:
5119 <
5120 < /* Line 1806 of yacc.c  */
5380 < #line 1860 "ircd_parser.y"
5118 >  case 310:
5119 > /* Line 1787 of yacc.c  */
5120 > #line 1853 "conf_parser.y"
5121      {
5122    if (conf_parser_ctx.pass == 2)
5123    {
# Line 5387 | Line 5127 | yyreduce:
5127   }
5128      break;
5129  
5130 <  case 302:
5131 <
5132 < /* Line 1806 of yacc.c  */
5393 < #line 1869 "ircd_parser.y"
5130 >  case 311:
5131 > /* Line 1787 of yacc.c  */
5132 > #line 1862 "conf_parser.y"
5133      {
5134    if (conf_parser_ctx.pass == 2)
5135    {
# Line 5413 | Line 5152 | yyreduce:
5152   }
5153      break;
5154  
5155 <  case 303:
5156 <
5157 < /* Line 1806 of yacc.c  */
5419 < #line 1891 "ircd_parser.y"
5155 >  case 312:
5156 > /* Line 1787 of yacc.c  */
5157 > #line 1884 "conf_parser.y"
5158      {
5159    if (conf_parser_ctx.pass == 2)
5160      yy_match_item->action = 0;
5161   }
5162      break;
5163  
5164 <  case 307:
5165 <
5166 < /* Line 1806 of yacc.c  */
5429 < #line 1898 "ircd_parser.y"
5164 >  case 316:
5165 > /* Line 1787 of yacc.c  */
5166 > #line 1891 "conf_parser.y"
5167      {
5168    if (conf_parser_ctx.pass == 2)
5169      yy_match_item->action |= SHARED_KLINE;
5170   }
5171      break;
5172  
5173 <  case 308:
5174 <
5175 < /* Line 1806 of yacc.c  */
5439 < #line 1902 "ircd_parser.y"
5173 >  case 317:
5174 > /* Line 1787 of yacc.c  */
5175 > #line 1895 "conf_parser.y"
5176      {
5177    if (conf_parser_ctx.pass == 2)
5178      yy_match_item->action |= SHARED_UNKLINE;
5179   }
5180      break;
5181  
5182 <  case 309:
5183 <
5184 < /* Line 1806 of yacc.c  */
5449 < #line 1906 "ircd_parser.y"
5182 >  case 318:
5183 > /* Line 1787 of yacc.c  */
5184 > #line 1899 "conf_parser.y"
5185      {
5186    if (conf_parser_ctx.pass == 2)
5187      yy_match_item->action |= SHARED_DLINE;
5188   }
5189      break;
5190  
5191 <  case 310:
5192 <
5193 < /* Line 1806 of yacc.c  */
5459 < #line 1910 "ircd_parser.y"
5191 >  case 319:
5192 > /* Line 1787 of yacc.c  */
5193 > #line 1903 "conf_parser.y"
5194      {
5195    if (conf_parser_ctx.pass == 2)
5196      yy_match_item->action |= SHARED_UNDLINE;
5197   }
5198      break;
5199  
5200 <  case 311:
5201 <
5202 < /* Line 1806 of yacc.c  */
5469 < #line 1914 "ircd_parser.y"
5200 >  case 320:
5201 > /* Line 1787 of yacc.c  */
5202 > #line 1907 "conf_parser.y"
5203      {
5204    if (conf_parser_ctx.pass == 2)
5205      yy_match_item->action |= SHARED_XLINE;
5206   }
5207      break;
5208  
5209 <  case 312:
5210 <
5211 < /* Line 1806 of yacc.c  */
5479 < #line 1918 "ircd_parser.y"
5209 >  case 321:
5210 > /* Line 1787 of yacc.c  */
5211 > #line 1911 "conf_parser.y"
5212      {
5213    if (conf_parser_ctx.pass == 2)
5214      yy_match_item->action |= SHARED_UNXLINE;
5215   }
5216      break;
5217  
5218 <  case 313:
5219 <
5220 < /* Line 1806 of yacc.c  */
5489 < #line 1922 "ircd_parser.y"
5218 >  case 322:
5219 > /* Line 1787 of yacc.c  */
5220 > #line 1915 "conf_parser.y"
5221      {
5222    if (conf_parser_ctx.pass == 2)
5223      yy_match_item->action |= SHARED_RESV;
5224   }
5225      break;
5226  
5227 <  case 314:
5228 <
5229 < /* Line 1806 of yacc.c  */
5499 < #line 1926 "ircd_parser.y"
5227 >  case 323:
5228 > /* Line 1787 of yacc.c  */
5229 > #line 1919 "conf_parser.y"
5230      {
5231    if (conf_parser_ctx.pass == 2)
5232      yy_match_item->action |= SHARED_UNRESV;
5233   }
5234      break;
5235  
5236 <  case 315:
5237 <
5238 < /* Line 1806 of yacc.c  */
5509 < #line 1930 "ircd_parser.y"
5236 >  case 324:
5237 > /* Line 1787 of yacc.c  */
5238 > #line 1923 "conf_parser.y"
5239      {
5240    if (conf_parser_ctx.pass == 2)
5241      yy_match_item->action |= SHARED_LOCOPS;
5242   }
5243      break;
5244  
5245 <  case 316:
5246 <
5247 < /* Line 1806 of yacc.c  */
5519 < #line 1934 "ircd_parser.y"
5245 >  case 325:
5246 > /* Line 1787 of yacc.c  */
5247 > #line 1927 "conf_parser.y"
5248      {
5249    if (conf_parser_ctx.pass == 2)
5250      yy_match_item->action = SHARED_ALL;
5251   }
5252      break;
5253  
5254 <  case 317:
5255 <
5256 < /* Line 1806 of yacc.c  */
5529 < #line 1943 "ircd_parser.y"
5254 >  case 326:
5255 > /* Line 1787 of yacc.c  */
5256 > #line 1936 "conf_parser.y"
5257      {
5258    if (conf_parser_ctx.pass == 2)
5259    {
# Line 5536 | Line 5263 | yyreduce:
5263   }
5264      break;
5265  
5266 <  case 318:
5267 <
5268 < /* Line 1806 of yacc.c  */
5542 < #line 1950 "ircd_parser.y"
5266 >  case 327:
5267 > /* Line 1787 of yacc.c  */
5268 > #line 1943 "conf_parser.y"
5269      {
5270    if (conf_parser_ctx.pass == 2)
5271    {
# Line 5550 | Line 5276 | yyreduce:
5276   }
5277      break;
5278  
5279 <  case 324:
5280 <
5281 < /* Line 1806 of yacc.c  */
5556 < #line 1963 "ircd_parser.y"
5279 >  case 333:
5280 > /* Line 1787 of yacc.c  */
5281 > #line 1956 "conf_parser.y"
5282      {
5283    if (conf_parser_ctx.pass == 2)
5284      DupString(yy_conf->name, yylval.string);
5285   }
5286      break;
5287  
5288 <  case 325:
5289 <
5290 < /* Line 1806 of yacc.c  */
5566 < #line 1969 "ircd_parser.y"
5288 >  case 334:
5289 > /* Line 1787 of yacc.c  */
5290 > #line 1962 "conf_parser.y"
5291      {
5292    if (conf_parser_ctx.pass == 2)
5293      yy_conf->flags = 0;
5294   }
5295      break;
5296  
5297 <  case 329:
5298 <
5299 < /* Line 1806 of yacc.c  */
5576 < #line 1976 "ircd_parser.y"
5297 >  case 338:
5298 > /* Line 1787 of yacc.c  */
5299 > #line 1969 "conf_parser.y"
5300      {
5301    if (conf_parser_ctx.pass == 2)
5302      yy_conf->flags |= SHARED_KLINE;
5303   }
5304      break;
5305  
5306 <  case 330:
5307 <
5308 < /* Line 1806 of yacc.c  */
5586 < #line 1980 "ircd_parser.y"
5306 >  case 339:
5307 > /* Line 1787 of yacc.c  */
5308 > #line 1973 "conf_parser.y"
5309      {
5310    if (conf_parser_ctx.pass == 2)
5311      yy_conf->flags |= SHARED_UNKLINE;
5312   }
5313      break;
5314  
5315 <  case 331:
5316 <
5317 < /* Line 1806 of yacc.c  */
5596 < #line 1984 "ircd_parser.y"
5315 >  case 340:
5316 > /* Line 1787 of yacc.c  */
5317 > #line 1977 "conf_parser.y"
5318      {
5319    if (conf_parser_ctx.pass == 2)
5320      yy_conf->flags |= SHARED_DLINE;
5321   }
5322      break;
5323  
5324 <  case 332:
5325 <
5326 < /* Line 1806 of yacc.c  */
5606 < #line 1988 "ircd_parser.y"
5324 >  case 341:
5325 > /* Line 1787 of yacc.c  */
5326 > #line 1981 "conf_parser.y"
5327      {
5328    if (conf_parser_ctx.pass == 2)
5329      yy_conf->flags |= SHARED_UNDLINE;
5330   }
5331      break;
5332  
5333 <  case 333:
5334 <
5335 < /* Line 1806 of yacc.c  */
5616 < #line 1992 "ircd_parser.y"
5333 >  case 342:
5334 > /* Line 1787 of yacc.c  */
5335 > #line 1985 "conf_parser.y"
5336      {
5337    if (conf_parser_ctx.pass == 2)
5338      yy_conf->flags |= SHARED_XLINE;
5339   }
5340      break;
5341  
5342 <  case 334:
5343 <
5344 < /* Line 1806 of yacc.c  */
5626 < #line 1996 "ircd_parser.y"
5342 >  case 343:
5343 > /* Line 1787 of yacc.c  */
5344 > #line 1989 "conf_parser.y"
5345      {
5346    if (conf_parser_ctx.pass == 2)
5347      yy_conf->flags |= SHARED_UNXLINE;
5348   }
5349      break;
5350  
5351 <  case 335:
5352 <
5353 < /* Line 1806 of yacc.c  */
5636 < #line 2000 "ircd_parser.y"
5351 >  case 344:
5352 > /* Line 1787 of yacc.c  */
5353 > #line 1993 "conf_parser.y"
5354      {
5355    if (conf_parser_ctx.pass == 2)
5356      yy_conf->flags |= SHARED_RESV;
5357   }
5358      break;
5359  
5360 <  case 336:
5361 <
5362 < /* Line 1806 of yacc.c  */
5646 < #line 2004 "ircd_parser.y"
5360 >  case 345:
5361 > /* Line 1787 of yacc.c  */
5362 > #line 1997 "conf_parser.y"
5363      {
5364    if (conf_parser_ctx.pass == 2)
5365      yy_conf->flags |= SHARED_UNRESV;
5366   }
5367      break;
5368  
5369 <  case 337:
5370 <
5371 < /* Line 1806 of yacc.c  */
5656 < #line 2008 "ircd_parser.y"
5369 >  case 346:
5370 > /* Line 1787 of yacc.c  */
5371 > #line 2001 "conf_parser.y"
5372      {
5373    if (conf_parser_ctx.pass == 2)
5374      yy_conf->flags |= SHARED_LOCOPS;
5375   }
5376      break;
5377  
5378 <  case 338:
5379 <
5380 < /* Line 1806 of yacc.c  */
5666 < #line 2012 "ircd_parser.y"
5378 >  case 347:
5379 > /* Line 1787 of yacc.c  */
5380 > #line 2005 "conf_parser.y"
5381      {
5382    if (conf_parser_ctx.pass == 2)
5383      yy_conf->flags = SHARED_ALL;
5384   }
5385      break;
5386  
5387 <  case 339:
5388 <
5389 < /* Line 1806 of yacc.c  */
5676 < #line 2021 "ircd_parser.y"
5387 >  case 348:
5388 > /* Line 1787 of yacc.c  */
5389 > #line 2014 "conf_parser.y"
5390      {
5391    if (conf_parser_ctx.pass == 2)
5392    {
# Line 5691 | Line 5404 | yyreduce:
5404   }
5405      break;
5406  
5407 <  case 340:
5408 <
5409 < /* Line 1806 of yacc.c  */
5697 < #line 2036 "ircd_parser.y"
5407 >  case 349:
5408 > /* Line 1787 of yacc.c  */
5409 > #line 2029 "conf_parser.y"
5410      {
5411    if (conf_parser_ctx.pass == 2)
5412    {
5413 <    struct CollectItem *yy_hconf=NULL;
5414 <    struct CollectItem *yy_lconf=NULL;
5415 <    dlink_node *ptr;
5416 <    dlink_node *next_ptr;
5417 < #ifdef HAVE_LIBCRYPTO
5418 <    if (yy_aconf->host &&
5419 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5420 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
5709 < #else /* !HAVE_LIBCRYPTO */
5710 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
5711 <          yy_aconf->passwd && yy_aconf->spasswd)
5712 < #endif /* !HAVE_LIBCRYPTO */
5713 <        {
5714 <          if (conf_add_server(yy_conf, class_name) == -1)
5715 <          {
5716 <            delete_conf_item(yy_conf);
5717 <            yy_conf = NULL;
5718 <            yy_aconf = NULL;
5719 <          }
5720 <        }
5721 <        else
5722 <        {
5723 <          /* Even if yy_conf ->name is NULL
5724 <           * should still unhook any hub/leaf confs still pending
5725 <           */
5726 <          unhook_hub_leaf_confs();
5727 <
5728 <          if (yy_conf->name != NULL)
5729 <          {
5730 < #ifndef HAVE_LIBCRYPTO
5731 <            if (IsConfCryptLink(yy_aconf))
5732 <              yyerror("Ignoring connect block -- no OpenSSL support");
5733 < #else
5734 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
5735 <              yyerror("Ignoring connect block -- missing key");
5736 < #endif
5737 <            if (yy_aconf->host == NULL)
5738 <              yyerror("Ignoring connect block -- missing host");
5739 <            else if (!IsConfCryptLink(yy_aconf) &&
5740 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
5741 <              yyerror("Ignoring connect block -- missing password");
5742 <          }
5743 <
5744 <
5745 <          /* XXX
5746 <           * This fixes a try_connections() core (caused by invalid class_ptr
5747 <           * pointers) reported by metalrock. That's an ugly fix, but there
5748 <           * is currently no better way. The entire config subsystem needs an
5749 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
5750 <           * a doubly linked list immediately without any sanity checks!  -Michael
5751 <           */
5752 <          delete_conf_item(yy_conf);
5753 <
5754 <          yy_aconf = NULL;
5755 <          yy_conf = NULL;
5756 <        }
5757 <
5758 <      /*
5759 <       * yy_conf is still pointing at the server that is having
5760 <       * a connect block built for it. This means, y_aconf->name
5761 <       * points to the actual irc name this server will be known as.
5762 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
5763 <       * given in the link list at yy_hconf. Fill in the HUB confs
5764 <       * from this link list now.
5765 <       */        
5766 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
5413 >    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5414 >    {
5415 >      if (conf_add_server(yy_conf, class_name) == -1)
5416 >        delete_conf_item(yy_conf);
5417 >    }
5418 >    else
5419 >    {
5420 >      if (yy_conf->name != NULL)
5421        {
5422 <        struct ConfItem *new_hub_conf;
5423 <        struct MatchItem *match_item;
5424 <
5425 <        yy_hconf = ptr->data;
5772 <
5773 <        /* yy_conf == NULL is a fatal error for this connect block! */
5774 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5775 <        {
5776 <          new_hub_conf = make_conf_item(HUB_TYPE);
5777 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
5778 <          DupString(new_hub_conf->name, yy_conf->name);
5779 <          if (yy_hconf->user != NULL)
5780 <            DupString(match_item->user, yy_hconf->user);
5781 <          else
5782 <            DupString(match_item->user, "*");
5783 <          if (yy_hconf->host != NULL)
5784 <            DupString(match_item->host, yy_hconf->host);
5785 <          else
5786 <            DupString(match_item->host, "*");
5787 <        }
5788 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
5789 <        free_collect_item(yy_hconf);
5422 >        if (yy_aconf->host == NULL)
5423 >          yyerror("Ignoring connect block -- missing host");
5424 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5425 >          yyerror("Ignoring connect block -- missing password");
5426        }
5427  
5428 <      /* Ditto for the LEAF confs */
5429 <
5430 <      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
5431 <      {
5432 <        struct ConfItem *new_leaf_conf;
5433 <        struct MatchItem *match_item;
5434 <
5435 <        yy_lconf = ptr->data;
5428 >      /* XXX
5429 >       * This fixes a try_connections() core (caused by invalid class_ptr
5430 >       * pointers) reported by metalrock. That's an ugly fix, but there
5431 >       * is currently no better way. The entire config subsystem needs an
5432 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5433 >       * a doubly linked list immediately without any sanity checks!  -Michael
5434 >       */
5435 >      delete_conf_item(yy_conf);
5436 >    }
5437  
5438 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5439 <        {
5440 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
5441 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
5805 <          DupString(new_leaf_conf->name, yy_conf->name);
5806 <          if (yy_lconf->user != NULL)
5807 <            DupString(match_item->user, yy_lconf->user);
5808 <          else
5809 <            DupString(match_item->user, "*");
5810 <          if (yy_lconf->host != NULL)
5811 <            DupString(match_item->host, yy_lconf->host);
5812 <          else
5813 <            DupString(match_item->host, "*");
5814 <        }
5815 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
5816 <        free_collect_item(yy_lconf);
5817 <      }
5818 <      MyFree(class_name);
5819 <      class_name = NULL;
5820 <      yy_conf = NULL;
5821 <      yy_aconf = NULL;
5438 >    MyFree(class_name);
5439 >    class_name = NULL;
5440 >    yy_conf = NULL;
5441 >    yy_aconf = NULL;
5442    }
5443   }
5444      break;
5445  
5446 <  case 358:
5447 <
5448 < /* Line 1806 of yacc.c  */
5829 < #line 2173 "ircd_parser.y"
5446 >  case 366:
5447 > /* Line 1787 of yacc.c  */
5448 > #line 2073 "conf_parser.y"
5449      {
5450    if (conf_parser_ctx.pass == 2)
5451    {
5833    if (yy_conf->name != NULL)
5834      yyerror("Multiple connect name entry");
5835
5452      MyFree(yy_conf->name);
5453      DupString(yy_conf->name, yylval.string);
5454    }
5455   }
5456      break;
5457  
5458 <  case 359:
5459 <
5460 < /* Line 1806 of yacc.c  */
5845 < #line 2185 "ircd_parser.y"
5458 >  case 367:
5459 > /* Line 1787 of yacc.c  */
5460 > #line 2082 "conf_parser.y"
5461      {
5462    if (conf_parser_ctx.pass == 2)
5463    {
# Line 5852 | Line 5467 | yyreduce:
5467   }
5468      break;
5469  
5470 <  case 360:
5471 <
5472 < /* Line 1806 of yacc.c  */
5858 < #line 2194 "ircd_parser.y"
5470 >  case 368:
5471 > /* Line 1787 of yacc.c  */
5472 > #line 2091 "conf_parser.y"
5473      {
5474    if (conf_parser_ctx.pass == 2)
5475    {
# Line 5873 | Line 5487 | yyreduce:
5487      {
5488        assert(res != NULL);
5489  
5490 <      memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5491 <      yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5492 <      yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5490 >      memcpy(&yy_aconf->bind, res->ai_addr, res->ai_addrlen);
5491 >      yy_aconf->bind.ss.ss_family = res->ai_family;
5492 >      yy_aconf->bind.ss_len = res->ai_addrlen;
5493        freeaddrinfo(res);
5494      }
5495    }
5496   }
5497      break;
5498  
5499 <  case 361:
5500 <
5501 < /* Line 1806 of yacc.c  */
5888 < #line 2220 "ircd_parser.y"
5499 >  case 369:
5500 > /* Line 1787 of yacc.c  */
5501 > #line 2117 "conf_parser.y"
5502      {
5503    if (conf_parser_ctx.pass == 2)
5504    {
# Line 5904 | Line 5517 | yyreduce:
5517   }
5518      break;
5519  
5520 <  case 362:
5521 <
5522 < /* Line 1806 of yacc.c  */
5910 < #line 2238 "ircd_parser.y"
5520 >  case 370:
5521 > /* Line 1787 of yacc.c  */
5522 > #line 2135 "conf_parser.y"
5523      {
5524    if (conf_parser_ctx.pass == 2)
5525    {
# Line 5926 | Line 5538 | yyreduce:
5538   }
5539      break;
5540  
5541 <  case 363:
5542 <
5543 < /* Line 1806 of yacc.c  */
5932 < #line 2256 "ircd_parser.y"
5541 >  case 371:
5542 > /* Line 1787 of yacc.c  */
5543 > #line 2153 "conf_parser.y"
5544      {
5545    if (conf_parser_ctx.pass == 2)
5546      yy_aconf->port = (yyvsp[(3) - (4)].number);
5547   }
5548      break;
5549  
5550 <  case 364:
5551 <
5552 < /* Line 1806 of yacc.c  */
5942 < #line 2262 "ircd_parser.y"
5550 >  case 372:
5551 > /* Line 1787 of yacc.c  */
5552 > #line 2159 "conf_parser.y"
5553      {
5554    if (conf_parser_ctx.pass == 2)
5555      yy_aconf->aftype = AF_INET;
5556   }
5557      break;
5558  
5559 <  case 365:
5560 <
5561 < /* Line 1806 of yacc.c  */
5952 < #line 2266 "ircd_parser.y"
5559 >  case 373:
5560 > /* Line 1787 of yacc.c  */
5561 > #line 2163 "conf_parser.y"
5562      {
5563   #ifdef IPV6
5564    if (conf_parser_ctx.pass == 2)
# Line 5958 | Line 5567 | yyreduce:
5567   }
5568      break;
5569  
5570 <  case 366:
5571 <
5572 < /* Line 1806 of yacc.c  */
5964 < #line 2274 "ircd_parser.y"
5965 <    {
5966 < }
5967 <    break;
5968 <
5969 <  case 370:
5970 <
5971 < /* Line 1806 of yacc.c  */
5972 < #line 2279 "ircd_parser.y"
5973 <    {
5974 <  if (conf_parser_ctx.pass == 2)
5975 < #ifndef HAVE_LIBZ
5976 <    yyerror("Ignoring flags = compressed; -- no zlib support");
5977 < #else
5978 < {
5979 <   SetConfCompressed(yy_aconf);
5980 < }
5981 < #endif
5982 < }
5983 <    break;
5984 <
5985 <  case 371:
5986 <
5987 < /* Line 1806 of yacc.c  */
5988 < #line 2289 "ircd_parser.y"
5570 >  case 374:
5571 > /* Line 1787 of yacc.c  */
5572 > #line 2171 "conf_parser.y"
5573      {
5990  if (conf_parser_ctx.pass == 2)
5991    SetConfCryptLink(yy_aconf);
5574   }
5575      break;
5576  
5577 <  case 372:
5578 <
5579 < /* Line 1806 of yacc.c  */
5998 < #line 2293 "ircd_parser.y"
5577 >  case 378:
5578 > /* Line 1787 of yacc.c  */
5579 > #line 2176 "conf_parser.y"
5580      {
5581    if (conf_parser_ctx.pass == 2)
5582      SetConfAllowAutoConn(yy_aconf);
5583   }
5584      break;
5585  
5586 <  case 373:
5587 <
5588 < /* Line 1806 of yacc.c  */
6008 < #line 2297 "ircd_parser.y"
6009 <    {
6010 <  if (conf_parser_ctx.pass == 2)
6011 <    SetConfAwayBurst(yy_aconf);
6012 < }
6013 <    break;
6014 <
6015 <  case 374:
6016 <
6017 < /* Line 1806 of yacc.c  */
6018 < #line 2301 "ircd_parser.y"
5586 >  case 379:
5587 > /* Line 1787 of yacc.c  */
5588 > #line 2180 "conf_parser.y"
5589      {
5590    if (conf_parser_ctx.pass == 2)
5591 <    SetConfTopicBurst(yy_aconf);
5591 >    SetConfSSL(yy_aconf);
5592   }
5593      break;
5594  
5595 <  case 375:
5596 <
5597 < /* Line 1806 of yacc.c  */
6028 < #line 2307 "ircd_parser.y"
6029 <    {
6030 < #ifdef HAVE_LIBCRYPTO
6031 <  if (conf_parser_ctx.pass == 2)
6032 <  {
6033 <    BIO *file;
6034 <
6035 <    if (yy_aconf->rsa_public_key != NULL)
6036 <    {
6037 <      RSA_free(yy_aconf->rsa_public_key);
6038 <      yy_aconf->rsa_public_key = NULL;
6039 <    }
6040 <
6041 <    if (yy_aconf->rsa_public_key_file != NULL)
6042 <    {
6043 <      MyFree(yy_aconf->rsa_public_key_file);
6044 <      yy_aconf->rsa_public_key_file = NULL;
6045 <    }
6046 <
6047 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6048 <
6049 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6050 <    {
6051 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6052 <      break;
6053 <    }
6054 <
6055 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6056 <
6057 <    if (yy_aconf->rsa_public_key == NULL)
6058 <    {
6059 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6060 <      break;
6061 <    }
6062 <      
6063 <    BIO_set_close(file, BIO_CLOSE);
6064 <    BIO_free(file);
6065 <  }
6066 < #endif /* HAVE_LIBCRYPTO */
6067 < }
6068 <    break;
6069 <
6070 <  case 376:
6071 <
6072 < /* Line 1806 of yacc.c  */
6073 < #line 2348 "ircd_parser.y"
5595 >  case 380:
5596 > /* Line 1787 of yacc.c  */
5597 > #line 2186 "conf_parser.y"
5598      {
5599    if (conf_parser_ctx.pass == 2)
5600    {
# Line 6082 | Line 5606 | yyreduce:
5606   }
5607      break;
5608  
5609 <  case 377:
5610 <
5611 < /* Line 1806 of yacc.c  */
6088 < #line 2359 "ircd_parser.y"
5609 >  case 381:
5610 > /* Line 1787 of yacc.c  */
5611 > #line 2197 "conf_parser.y"
5612      {
5613    if (conf_parser_ctx.pass == 2)
5614    {
5615 <    struct CollectItem *yy_tmp;
5615 >    char *mask;
5616  
5617 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5618 <    DupString(yy_tmp->host, yylval.string);
6096 <    DupString(yy_tmp->user, "*");
6097 <    dlinkAdd(yy_tmp, &yy_tmp->node, &hub_conf_list);
5617 >    DupString(mask, yylval.string);
5618 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5619    }
5620   }
5621      break;
5622  
5623 <  case 378:
5624 <
5625 < /* Line 1806 of yacc.c  */
6105 < #line 2372 "ircd_parser.y"
5623 >  case 382:
5624 > /* Line 1787 of yacc.c  */
5625 > #line 2208 "conf_parser.y"
5626      {
5627    if (conf_parser_ctx.pass == 2)
5628    {
5629 <    struct CollectItem *yy_tmp;
5629 >    char *mask;
5630  
5631 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5632 <    DupString(yy_tmp->host, yylval.string);
6113 <    DupString(yy_tmp->user, "*");
6114 <    dlinkAdd(yy_tmp, &yy_tmp->node, &leaf_conf_list);
5631 >    DupString(mask, yylval.string);
5632 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5633    }
5634   }
5635      break;
5636  
5637 <  case 379:
5638 <
5639 < /* Line 1806 of yacc.c  */
6122 < #line 2385 "ircd_parser.y"
5637 >  case 383:
5638 > /* Line 1787 of yacc.c  */
5639 > #line 2219 "conf_parser.y"
5640      {
5641    if (conf_parser_ctx.pass == 2)
5642    {
# Line 6129 | Line 5646 | yyreduce:
5646   }
5647      break;
5648  
5649 <  case 380:
5650 <
5651 < /* Line 1806 of yacc.c  */
6135 < #line 2394 "ircd_parser.y"
5649 >  case 384:
5650 > /* Line 1787 of yacc.c  */
5651 > #line 2228 "conf_parser.y"
5652      {
5653   #ifdef HAVE_LIBCRYPTO
5654    if (conf_parser_ctx.pass == 2)
5655    {
5656 <    struct EncCapability *ecap;
5657 <    const char *cipher_name;
6142 <    int found = 0;
6143 <
6144 <    yy_aconf->cipher_preference = NULL;
6145 <    cipher_name = yylval.string;
6146 <
6147 <    for (ecap = CipherTable; ecap->name; ecap++)
6148 <    {
6149 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6150 <          (ecap->cap & CAP_ENC_MASK))
6151 <      {
6152 <        yy_aconf->cipher_preference = ecap;
6153 <        found = 1;
6154 <        break;
6155 <      }
6156 <    }
6157 <
6158 <    if (!found)
6159 <      yyerror("Invalid cipher");
5656 >    MyFree(yy_aconf->cipher_list);
5657 >    DupString(yy_aconf->cipher_list, yylval.string);
5658    }
5659   #else
5660    if (conf_parser_ctx.pass == 2)
5661 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
5661 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5662   #endif
5663   }
5664      break;
5665  
5666 <  case 381:
5667 <
5668 < /* Line 1806 of yacc.c  */
6171 < #line 2429 "ircd_parser.y"
5666 >  case 385:
5667 > /* Line 1787 of yacc.c  */
5668 > #line 2246 "conf_parser.y"
5669      {
5670    if (conf_parser_ctx.pass == 2)
5671    {
# Line 6178 | Line 5675 | yyreduce:
5675   }
5676      break;
5677  
5678 <  case 382:
5679 <
5680 < /* Line 1806 of yacc.c  */
6184 < #line 2436 "ircd_parser.y"
5678 >  case 386:
5679 > /* Line 1787 of yacc.c  */
5680 > #line 2253 "conf_parser.y"
5681      {
5682    if (conf_parser_ctx.pass == 2)
5683    {
# Line 6220 | Line 5716 | yyreduce:
5716        }
5717        else
5718        {
5719 +        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
5720 +
5721          yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
5722  
5723          DupString(yy_aconf->user, userbuf);
# Line 6229 | Line 5727 | yyreduce:
5727            DupString(yy_aconf->reason, reasonbuf);
5728          else
5729            DupString(yy_aconf->reason, "No reason");
5730 <        add_conf_by_address(CONF_KILL, yy_aconf);
5730 >        add_conf_by_address(CONF_KLINE, yy_aconf);
5731        }
5732      }
5733  
# Line 6238 | Line 5736 | yyreduce:
5736   }
5737      break;
5738  
5739 <  case 383:
5740 <
5741 < /* Line 1806 of yacc.c  */
6244 < #line 2492 "ircd_parser.y"
5739 >  case 387:
5740 > /* Line 1787 of yacc.c  */
5741 > #line 2311 "conf_parser.y"
5742      {
5743   }
5744      break;
5745  
5746 <  case 387:
5747 <
5748 < /* Line 1806 of yacc.c  */
6252 < #line 2497 "ircd_parser.y"
5746 >  case 391:
5747 > /* Line 1787 of yacc.c  */
5748 > #line 2316 "conf_parser.y"
5749      {
5750    if (conf_parser_ctx.pass == 2)
5751      regex_ban = 1;
5752   }
5753      break;
5754  
5755 <  case 394:
5756 <
5757 < /* Line 1806 of yacc.c  */
6262 < #line 2506 "ircd_parser.y"
5755 >  case 398:
5756 > /* Line 1787 of yacc.c  */
5757 > #line 2325 "conf_parser.y"
5758      {
5759    if (conf_parser_ctx.pass == 2)
5760    {
# Line 6279 | Line 5774 | yyreduce:
5774   }
5775      break;
5776  
5777 <  case 395:
5778 <
5779 < /* Line 1806 of yacc.c  */
6285 < #line 2525 "ircd_parser.y"
5777 >  case 399:
5778 > /* Line 1787 of yacc.c  */
5779 > #line 2344 "conf_parser.y"
5780      {
5781    if (conf_parser_ctx.pass == 2)
5782      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5783   }
5784      break;
5785  
5786 <  case 396:
5787 <
5788 < /* Line 1806 of yacc.c  */
6295 < #line 2534 "ircd_parser.y"
5786 >  case 400:
5787 > /* Line 1787 of yacc.c  */
5788 > #line 2353 "conf_parser.y"
5789      {
5790    if (conf_parser_ctx.pass == 2)
5791      hostbuf[0] = reasonbuf[0] = '\0';
5792   }
5793      break;
5794  
5795 <  case 397:
5796 <
5797 < /* Line 1806 of yacc.c  */
6305 < #line 2538 "ircd_parser.y"
5795 >  case 401:
5796 > /* Line 1787 of yacc.c  */
5797 > #line 2357 "conf_parser.y"
5798      {
5799    if (conf_parser_ctx.pass == 2)
5800    {
5801      if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
5802      {
5803 +      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
5804 +
5805        yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
5806        DupString(yy_aconf->host, hostbuf);
5807  
# Line 6322 | Line 5816 | yyreduce:
5816   }
5817      break;
5818  
5819 <  case 403:
5820 <
5821 < /* Line 1806 of yacc.c  */
6328 < #line 2560 "ircd_parser.y"
5819 >  case 407:
5820 > /* Line 1787 of yacc.c  */
5821 > #line 2381 "conf_parser.y"
5822      {
5823    if (conf_parser_ctx.pass == 2)
5824      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
5825   }
5826      break;
5827  
5828 <  case 404:
5829 <
5830 < /* Line 1806 of yacc.c  */
6338 < #line 2566 "ircd_parser.y"
5828 >  case 408:
5829 > /* Line 1787 of yacc.c  */
5830 > #line 2387 "conf_parser.y"
5831      {
5832    if (conf_parser_ctx.pass == 2)
5833      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5834   }
5835      break;
5836  
5837 <  case 410:
5838 <
5839 < /* Line 1806 of yacc.c  */
6348 < #line 2580 "ircd_parser.y"
5837 >  case 414:
5838 > /* Line 1787 of yacc.c  */
5839 > #line 2401 "conf_parser.y"
5840      {
5841    if (conf_parser_ctx.pass == 2)
5842    {
# Line 6361 | Line 5852 | yyreduce:
5852   }
5853      break;
5854  
5855 <  case 411:
5856 <
5857 < /* Line 1806 of yacc.c  */
6367 < #line 2598 "ircd_parser.y"
5855 >  case 415:
5856 > /* Line 1787 of yacc.c  */
5857 > #line 2419 "conf_parser.y"
5858      {
5859    if (conf_parser_ctx.pass == 2)
5860    {
# Line 6374 | Line 5864 | yyreduce:
5864   }
5865      break;
5866  
5867 <  case 412:
5868 <
5869 < /* Line 1806 of yacc.c  */
6380 < #line 2605 "ircd_parser.y"
5867 >  case 416:
5868 > /* Line 1787 of yacc.c  */
5869 > #line 2426 "conf_parser.y"
5870      {
5871    if (conf_parser_ctx.pass == 2)
5872    {
# Line 6418 | Line 5907 | yyreduce:
5907   }
5908      break;
5909  
5910 <  case 413:
5911 <
5912 < /* Line 1806 of yacc.c  */
6424 < #line 2645 "ircd_parser.y"
5910 >  case 417:
5911 > /* Line 1787 of yacc.c  */
5912 > #line 2466 "conf_parser.y"
5913      {
5914   }
5915      break;
5916  
5917 <  case 417:
5918 <
5919 < /* Line 1806 of yacc.c  */
6432 < #line 2650 "ircd_parser.y"
5917 >  case 421:
5918 > /* Line 1787 of yacc.c  */
5919 > #line 2471 "conf_parser.y"
5920      {
5921    if (conf_parser_ctx.pass == 2)
5922      regex_ban = 1;
5923   }
5924      break;
5925  
5926 <  case 424:
5927 <
5928 < /* Line 1806 of yacc.c  */
6442 < #line 2659 "ircd_parser.y"
5926 >  case 428:
5927 > /* Line 1787 of yacc.c  */
5928 > #line 2480 "conf_parser.y"
5929      {
5930    if (conf_parser_ctx.pass == 2)
5931      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
5932   }
5933      break;
5934  
5935 <  case 425:
5936 <
5937 < /* Line 1806 of yacc.c  */
6452 < #line 2665 "ircd_parser.y"
5935 >  case 429:
5936 > /* Line 1787 of yacc.c  */
5937 > #line 2486 "conf_parser.y"
5938      {
5939    if (conf_parser_ctx.pass == 2)
5940      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5941   }
5942      break;
5943  
5944 <  case 484:
5945 <
5946 < /* Line 1806 of yacc.c  */
6462 < #line 2710 "ircd_parser.y"
5944 >  case 487:
5945 > /* Line 1787 of yacc.c  */
5946 > #line 2531 "conf_parser.y"
5947      {
5948    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5949   }
5950      break;
5951  
5952 <  case 485:
5952 >  case 488:
5953 > /* Line 1787 of yacc.c  */
5954 > #line 2536 "conf_parser.y"
5955 >    {
5956 >  if (conf_parser_ctx.pass == 2)
5957 >    ConfigFileEntry.glines = yylval.number;
5958 > }
5959 >    break;
5960  
5961 < /* Line 1806 of yacc.c  */
5962 < #line 2715 "ircd_parser.y"
5961 >  case 489:
5962 > /* Line 1787 of yacc.c  */
5963 > #line 2542 "conf_parser.y"
5964      {
5965 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5965 >  if (conf_parser_ctx.pass == 2)
5966 >    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5967   }
5968      break;
5969  
5970 <  case 486:
5970 >  case 490:
5971 > /* Line 1787 of yacc.c  */
5972 > #line 2548 "conf_parser.y"
5973 >    {
5974 >  if (conf_parser_ctx.pass == 2)
5975 >    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5976 > }
5977 >    break;
5978  
5979 < /* Line 1806 of yacc.c  */
5980 < #line 2720 "ircd_parser.y"
5979 >  case 491:
5980 > /* Line 1787 of yacc.c  */
5981 > #line 2554 "conf_parser.y"
5982      {
5983 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5983 >  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5984   }
5985      break;
5986  
5987 <  case 487:
5987 >  case 492:
5988 > /* Line 1787 of yacc.c  */
5989 > #line 2559 "conf_parser.y"
5990 >    {
5991 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5992 > }
5993 >    break;
5994  
5995 < /* Line 1806 of yacc.c  */
5996 < #line 2725 "ircd_parser.y"
5995 >  case 493:
5996 > /* Line 1787 of yacc.c  */
5997 > #line 2564 "conf_parser.y"
5998      {
5999    ConfigFileEntry.use_whois_actually = yylval.number;
6000   }
6001      break;
6002  
6003 <  case 488:
6004 <
6005 < /* Line 1806 of yacc.c  */
6498 < #line 2730 "ircd_parser.y"
6003 >  case 494:
6004 > /* Line 1787 of yacc.c  */
6005 > #line 2569 "conf_parser.y"
6006      {
6007    GlobalSetOptions.rejecttime = yylval.number;
6008   }
6009      break;
6010  
6011 <  case 489:
6012 <
6013 < /* Line 1806 of yacc.c  */
6507 < #line 2735 "ircd_parser.y"
6011 >  case 495:
6012 > /* Line 1787 of yacc.c  */
6013 > #line 2574 "conf_parser.y"
6014      {
6015    ConfigFileEntry.tkline_expire_notices = yylval.number;
6016   }
6017      break;
6018  
6019 <  case 490:
6020 <
6021 < /* Line 1806 of yacc.c  */
6516 < #line 2740 "ircd_parser.y"
6019 >  case 496:
6020 > /* Line 1787 of yacc.c  */
6021 > #line 2579 "conf_parser.y"
6022      {
6023    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6024   }
6025      break;
6026  
6027 <  case 491:
6028 <
6029 < /* Line 1806 of yacc.c  */
6525 < #line 2745 "ircd_parser.y"
6027 >  case 497:
6028 > /* Line 1787 of yacc.c  */
6029 > #line 2584 "conf_parser.y"
6030      {
6031    ConfigFileEntry.hide_spoof_ips = yylval.number;
6032   }
6033      break;
6034  
6035 <  case 492:
6036 <
6037 < /* Line 1806 of yacc.c  */
6534 < #line 2750 "ircd_parser.y"
6035 >  case 498:
6036 > /* Line 1787 of yacc.c  */
6037 > #line 2589 "conf_parser.y"
6038      {
6039    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6040   }
6041      break;
6042  
6043 <  case 493:
6044 <
6045 < /* Line 1806 of yacc.c  */
6543 < #line 2755 "ircd_parser.y"
6043 >  case 499:
6044 > /* Line 1787 of yacc.c  */
6045 > #line 2594 "conf_parser.y"
6046      {
6047    ConfigFileEntry.disable_remote = yylval.number;
6048   }
6049      break;
6050  
6051 <  case 494:
6052 <
6053 < /* Line 1806 of yacc.c  */
6552 < #line 2760 "ircd_parser.y"
6051 >  case 500:
6052 > /* Line 1787 of yacc.c  */
6053 > #line 2599 "conf_parser.y"
6054      {
6055    ConfigFileEntry.failed_oper_notice = yylval.number;
6056   }
6057      break;
6058  
6059 <  case 495:
6060 <
6061 < /* Line 1806 of yacc.c  */
6561 < #line 2765 "ircd_parser.y"
6059 >  case 501:
6060 > /* Line 1787 of yacc.c  */
6061 > #line 2604 "conf_parser.y"
6062      {
6063    ConfigFileEntry.anti_nick_flood = yylval.number;
6064   }
6065      break;
6066  
6067 <  case 496:
6068 <
6069 < /* Line 1806 of yacc.c  */
6570 < #line 2770 "ircd_parser.y"
6067 >  case 502:
6068 > /* Line 1787 of yacc.c  */
6069 > #line 2609 "conf_parser.y"
6070      {
6071    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6072   }
6073      break;
6074  
6075 <  case 497:
6076 <
6077 < /* Line 1806 of yacc.c  */
6579 < #line 2775 "ircd_parser.y"
6075 >  case 503:
6076 > /* Line 1787 of yacc.c  */
6077 > #line 2614 "conf_parser.y"
6078      {
6079    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6080   }
6081      break;
6082  
6083 <  case 498:
6084 <
6085 < /* Line 1806 of yacc.c  */
6588 < #line 2780 "ircd_parser.y"
6083 >  case 504:
6084 > /* Line 1787 of yacc.c  */
6085 > #line 2619 "conf_parser.y"
6086      {
6087    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6088   }
6089      break;
6090  
6091 <  case 499:
6092 <
6093 < /* Line 1806 of yacc.c  */
6597 < #line 2785 "ircd_parser.y"
6091 >  case 505:
6092 > /* Line 1787 of yacc.c  */
6093 > #line 2624 "conf_parser.y"
6094      {
6095    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6096   }
6097      break;
6098  
6099 <  case 500:
6100 <
6101 < /* Line 1806 of yacc.c  */
6606 < #line 2790 "ircd_parser.y"
6099 >  case 506:
6100 > /* Line 1787 of yacc.c  */
6101 > #line 2629 "conf_parser.y"
6102      {
6103    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6104   }
6105      break;
6106  
6107 <  case 501:
6108 <
6109 < /* Line 1806 of yacc.c  */
6615 < #line 2795 "ircd_parser.y"
6107 >  case 507:
6108 > /* Line 1787 of yacc.c  */
6109 > #line 2634 "conf_parser.y"
6110      {
6111    if (conf_parser_ctx.pass == 2)
6112      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6113   }
6114      break;
6115  
6116 <  case 502:
6117 <
6118 < /* Line 1806 of yacc.c  */
6625 < #line 2801 "ircd_parser.y"
6116 >  case 508:
6117 > /* Line 1787 of yacc.c  */
6118 > #line 2640 "conf_parser.y"
6119      {
6120    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6121    {
# Line 6634 | Line 6127 | yyreduce:
6127   }
6128      break;
6129  
6130 <  case 503:
6131 <
6132 < /* Line 1806 of yacc.c  */
6640 < #line 2812 "ircd_parser.y"
6130 >  case 509:
6131 > /* Line 1787 of yacc.c  */
6132 > #line 2651 "conf_parser.y"
6133      {
6134    ConfigFileEntry.kline_with_reason = yylval.number;
6135   }
6136      break;
6137  
6138 <  case 504:
6139 <
6140 < /* Line 1806 of yacc.c  */
6649 < #line 2817 "ircd_parser.y"
6138 >  case 510:
6139 > /* Line 1787 of yacc.c  */
6140 > #line 2656 "conf_parser.y"
6141      {
6142    if (conf_parser_ctx.pass == 2)
6143    {
# Line 6656 | Line 6147 | yyreduce:
6147   }
6148      break;
6149  
6150 <  case 505:
6151 <
6152 < /* Line 1806 of yacc.c  */
6662 < #line 2826 "ircd_parser.y"
6150 >  case 511:
6151 > /* Line 1787 of yacc.c  */
6152 > #line 2665 "conf_parser.y"
6153      {
6154    ConfigFileEntry.invisible_on_connect = yylval.number;
6155   }
6156      break;
6157  
6158 <  case 506:
6159 <
6160 < /* Line 1806 of yacc.c  */
6671 < #line 2831 "ircd_parser.y"
6158 >  case 512:
6159 > /* Line 1787 of yacc.c  */
6160 > #line 2670 "conf_parser.y"
6161      {
6162    ConfigFileEntry.warn_no_nline = yylval.number;
6163   }
6164      break;
6165  
6166 <  case 507:
6167 <
6168 < /* Line 1806 of yacc.c  */
6680 < #line 2836 "ircd_parser.y"
6166 >  case 513:
6167 > /* Line 1787 of yacc.c  */
6168 > #line 2675 "conf_parser.y"
6169      {
6170    ConfigFileEntry.stats_e_disabled = yylval.number;
6171   }
6172      break;
6173  
6174 <  case 508:
6175 <
6176 < /* Line 1806 of yacc.c  */
6689 < #line 2841 "ircd_parser.y"
6174 >  case 514:
6175 > /* Line 1787 of yacc.c  */
6176 > #line 2680 "conf_parser.y"
6177      {
6178    ConfigFileEntry.stats_o_oper_only = yylval.number;
6179   }
6180      break;
6181  
6182 <  case 509:
6183 <
6184 < /* Line 1806 of yacc.c  */
6698 < #line 2846 "ircd_parser.y"
6182 >  case 515:
6183 > /* Line 1787 of yacc.c  */
6184 > #line 2685 "conf_parser.y"
6185      {
6186    ConfigFileEntry.stats_P_oper_only = yylval.number;
6187   }
6188      break;
6189  
6190 <  case 510:
6191 <
6192 < /* Line 1806 of yacc.c  */
6707 < #line 2851 "ircd_parser.y"
6190 >  case 516:
6191 > /* Line 1787 of yacc.c  */
6192 > #line 2690 "conf_parser.y"
6193      {
6194    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6195   }
6196      break;
6197  
6198 <  case 511:
6199 <
6200 < /* Line 1806 of yacc.c  */
6716 < #line 2854 "ircd_parser.y"
6198 >  case 517:
6199 > /* Line 1787 of yacc.c  */
6200 > #line 2693 "conf_parser.y"
6201      {
6202    ConfigFileEntry.stats_k_oper_only = 1;
6203   }
6204      break;
6205  
6206 <  case 512:
6207 <
6208 < /* Line 1806 of yacc.c  */
6725 < #line 2859 "ircd_parser.y"
6206 >  case 518:
6207 > /* Line 1787 of yacc.c  */
6208 > #line 2698 "conf_parser.y"
6209      {
6210    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6211   }
6212      break;
6213  
6214 <  case 513:
6215 <
6216 < /* Line 1806 of yacc.c  */
6734 < #line 2862 "ircd_parser.y"
6214 >  case 519:
6215 > /* Line 1787 of yacc.c  */
6216 > #line 2701 "conf_parser.y"
6217      {
6218    ConfigFileEntry.stats_i_oper_only = 1;
6219   }
6220      break;
6221  
6222 <  case 514:
6223 <
6224 < /* Line 1806 of yacc.c  */
6743 < #line 2867 "ircd_parser.y"
6222 >  case 520:
6223 > /* Line 1787 of yacc.c  */
6224 > #line 2706 "conf_parser.y"
6225      {
6226    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6227   }
6228      break;
6229  
6230 <  case 515:
6231 <
6232 < /* Line 1806 of yacc.c  */
6752 < #line 2872 "ircd_parser.y"
6230 >  case 521:
6231 > /* Line 1787 of yacc.c  */
6232 > #line 2711 "conf_parser.y"
6233      {
6234    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6235   }
6236      break;
6237  
6238 <  case 516:
6239 <
6240 < /* Line 1806 of yacc.c  */
6761 < #line 2877 "ircd_parser.y"
6238 >  case 522:
6239 > /* Line 1787 of yacc.c  */
6240 > #line 2716 "conf_parser.y"
6241      {
6242    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6243   }
6244      break;
6245  
6246 <  case 517:
6247 <
6248 < /* Line 1806 of yacc.c  */
6770 < #line 2882 "ircd_parser.y"
6246 >  case 523:
6247 > /* Line 1787 of yacc.c  */
6248 > #line 2721 "conf_parser.y"
6249      {
6250    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6251   }
6252      break;
6253  
6254 <  case 518:
6255 <
6256 < /* Line 1806 of yacc.c  */
6779 < #line 2887 "ircd_parser.y"
6254 >  case 524:
6255 > /* Line 1787 of yacc.c  */
6256 > #line 2726 "conf_parser.y"
6257      {
6258    ConfigFileEntry.short_motd = yylval.number;
6259   }
6260      break;
6261  
6262 <  case 519:
6263 <
6264 < /* Line 1806 of yacc.c  */
6788 < #line 2892 "ircd_parser.y"
6262 >  case 525:
6263 > /* Line 1787 of yacc.c  */
6264 > #line 2731 "conf_parser.y"
6265      {
6266    ConfigFileEntry.no_oper_flood = yylval.number;
6267   }
6268      break;
6269  
6270 <  case 520:
6271 <
6272 < /* Line 1806 of yacc.c  */
6797 < #line 2897 "ircd_parser.y"
6270 >  case 526:
6271 > /* Line 1787 of yacc.c  */
6272 > #line 2736 "conf_parser.y"
6273      {
6274    ConfigFileEntry.true_no_oper_flood = yylval.number;
6275   }
6276      break;
6277  
6278 <  case 521:
6279 <
6280 < /* Line 1806 of yacc.c  */
6806 < #line 2902 "ircd_parser.y"
6278 >  case 527:
6279 > /* Line 1787 of yacc.c  */
6280 > #line 2741 "conf_parser.y"
6281      {
6282    ConfigFileEntry.oper_pass_resv = yylval.number;
6283   }
6284      break;
6285  
6286 <  case 522:
6287 <
6288 < /* Line 1806 of yacc.c  */
6815 < #line 2907 "ircd_parser.y"
6286 >  case 528:
6287 > /* Line 1787 of yacc.c  */
6288 > #line 2746 "conf_parser.y"
6289      {
6290    if (conf_parser_ctx.pass == 2)
6291    {
# Line 6824 | Line 6297 | yyreduce:
6297   }
6298      break;
6299  
6300 <  case 523:
6301 <
6302 < /* Line 1806 of yacc.c  */
6830 < #line 2918 "ircd_parser.y"
6300 >  case 529:
6301 > /* Line 1787 of yacc.c  */
6302 > #line 2757 "conf_parser.y"
6303      {
6304    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6305   }
6306      break;
6307  
6308 <  case 524:
6309 <
6310 < /* Line 1806 of yacc.c  */
6839 < #line 2923 "ircd_parser.y"
6308 >  case 530:
6309 > /* Line 1787 of yacc.c  */
6310 > #line 2762 "conf_parser.y"
6311      {
6312    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6313   }
6314      break;
6315  
6316 <  case 525:
6317 <
6318 < /* Line 1806 of yacc.c  */
6848 < #line 2928 "ircd_parser.y"
6849 <    {
6850 <  if (conf_parser_ctx.pass == 2)
6851 <  {
6852 <    MyFree(ConfigFileEntry.servlink_path);
6853 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
6854 <  }
6855 < }
6856 <    break;
6857 <
6858 <  case 526:
6859 <
6860 < /* Line 1806 of yacc.c  */
6861 < #line 2937 "ircd_parser.y"
6862 <    {
6863 < #ifdef HAVE_LIBCRYPTO
6864 <  if (conf_parser_ctx.pass == 2)
6865 <  {
6866 <    struct EncCapability *ecap;
6867 <    const char *cipher_name;
6868 <    int found = 0;
6869 <
6870 <    ConfigFileEntry.default_cipher_preference = NULL;
6871 <    cipher_name = yylval.string;
6872 <
6873 <    for (ecap = CipherTable; ecap->name; ecap++)
6874 <    {
6875 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6876 <          (ecap->cap & CAP_ENC_MASK))
6877 <      {
6878 <        ConfigFileEntry.default_cipher_preference = ecap;
6879 <        found = 1;
6880 <        break;
6881 <      }
6882 <    }
6883 <
6884 <    if (!found)
6885 <      yyerror("Invalid cipher");
6886 <  }
6887 < #else
6888 <  if (conf_parser_ctx.pass == 2)
6889 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
6890 < #endif
6891 < }
6892 <    break;
6893 <
6894 <  case 527:
6895 <
6896 < /* Line 1806 of yacc.c  */
6897 < #line 2969 "ircd_parser.y"
6898 <    {
6899 <  if (conf_parser_ctx.pass == 2)
6900 <  {
6901 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
6902 < #ifndef HAVE_LIBZ
6903 <    yyerror("Ignoring compression_level -- no zlib support");
6904 < #else
6905 <    if ((ConfigFileEntry.compression_level < 1) ||
6906 <        (ConfigFileEntry.compression_level > 9))
6907 <    {
6908 <      yyerror("Ignoring invalid compression_level, using default");
6909 <      ConfigFileEntry.compression_level = 0;
6910 <    }
6911 < #endif
6912 <  }
6913 < }
6914 <    break;
6915 <
6916 <  case 528:
6917 <
6918 < /* Line 1806 of yacc.c  */
6919 < #line 2987 "ircd_parser.y"
6316 >  case 531:
6317 > /* Line 1787 of yacc.c  */
6318 > #line 2767 "conf_parser.y"
6319      {
6320    ConfigFileEntry.use_egd = yylval.number;
6321   }
6322      break;
6323  
6324 <  case 529:
6325 <
6326 < /* Line 1806 of yacc.c  */
6928 < #line 2992 "ircd_parser.y"
6324 >  case 532:
6325 > /* Line 1787 of yacc.c  */
6326 > #line 2772 "conf_parser.y"
6327      {
6328    if (conf_parser_ctx.pass == 2)
6329    {
# Line 6935 | Line 6333 | yyreduce:
6333   }
6334      break;
6335  
6336 <  case 530:
6337 <
6338 < /* Line 1806 of yacc.c  */
6941 < #line 3001 "ircd_parser.y"
6336 >  case 533:
6337 > /* Line 1787 of yacc.c  */
6338 > #line 2781 "conf_parser.y"
6339      {
6340    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6341    {
# Line 6948 | Line 6345 | yyreduce:
6345   }
6346      break;
6347  
6348 <  case 531:
6349 <
6350 < /* Line 1806 of yacc.c  */
6954 < #line 3010 "ircd_parser.y"
6348 >  case 534:
6349 > /* Line 1787 of yacc.c  */
6350 > #line 2790 "conf_parser.y"
6351      {
6352    ConfigFileEntry.ping_cookie = yylval.number;
6353   }
6354      break;
6355  
6356 <  case 532:
6357 <
6358 < /* Line 1806 of yacc.c  */
6963 < #line 3015 "ircd_parser.y"
6356 >  case 535:
6357 > /* Line 1787 of yacc.c  */
6358 > #line 2795 "conf_parser.y"
6359      {
6360    ConfigFileEntry.disable_auth = yylval.number;
6361   }
6362      break;
6363  
6364 <  case 533:
6365 <
6366 < /* Line 1806 of yacc.c  */
6972 < #line 3020 "ircd_parser.y"
6364 >  case 536:
6365 > /* Line 1787 of yacc.c  */
6366 > #line 2800 "conf_parser.y"
6367      {
6368    ConfigFileEntry.throttle_time = yylval.number;
6369   }
6370      break;
6371  
6372 <  case 534:
6373 <
6374 < /* Line 1806 of yacc.c  */
6981 < #line 3025 "ircd_parser.y"
6372 >  case 537:
6373 > /* Line 1787 of yacc.c  */
6374 > #line 2805 "conf_parser.y"
6375      {
6376    ConfigFileEntry.oper_umodes = 0;
6377   }
6378      break;
6379  
6380 <  case 538:
6381 <
6382 < /* Line 1806 of yacc.c  */
6990 < #line 3031 "ircd_parser.y"
6380 >  case 541:
6381 > /* Line 1787 of yacc.c  */
6382 > #line 2811 "conf_parser.y"
6383      {
6384    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6385   }
6386      break;
6387  
6388 <  case 539:
6389 <
6390 < /* Line 1806 of yacc.c  */
6999 < #line 3034 "ircd_parser.y"
6388 >  case 542:
6389 > /* Line 1787 of yacc.c  */
6390 > #line 2814 "conf_parser.y"
6391      {
6392    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6393   }
6394      break;
6395  
6396 <  case 540:
6397 <
6398 < /* Line 1806 of yacc.c  */
7008 < #line 3037 "ircd_parser.y"
6396 >  case 543:
6397 > /* Line 1787 of yacc.c  */
6398 > #line 2817 "conf_parser.y"
6399      {
6400    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6401   }
6402      break;
6403  
6404 <  case 541:
6405 <
6406 < /* Line 1806 of yacc.c  */
7017 < #line 3040 "ircd_parser.y"
6404 >  case 544:
6405 > /* Line 1787 of yacc.c  */
6406 > #line 2820 "conf_parser.y"
6407      {
6408    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6409   }
6410      break;
6411  
6412 <  case 542:
6413 <
6414 < /* Line 1806 of yacc.c  */
7026 < #line 3043 "ircd_parser.y"
6412 >  case 545:
6413 > /* Line 1787 of yacc.c  */
6414 > #line 2823 "conf_parser.y"
6415      {
6416    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6417   }
6418      break;
6419  
6420 <  case 543:
6421 <
6422 < /* Line 1806 of yacc.c  */
7035 < #line 3046 "ircd_parser.y"
6420 >  case 546:
6421 > /* Line 1787 of yacc.c  */
6422 > #line 2826 "conf_parser.y"
6423      {
6424    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6425   }
6426      break;
6427  
6428 <  case 544:
6429 <
6430 < /* Line 1806 of yacc.c  */
7044 < #line 3049 "ircd_parser.y"
6428 >  case 547:
6429 > /* Line 1787 of yacc.c  */
6430 > #line 2829 "conf_parser.y"
6431      {
6432    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6433   }
6434      break;
6435  
6436 <  case 545:
6437 <
6438 < /* Line 1806 of yacc.c  */
7053 < #line 3052 "ircd_parser.y"
6436 >  case 548:
6437 > /* Line 1787 of yacc.c  */
6438 > #line 2832 "conf_parser.y"
6439      {
6440    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6441   }
6442      break;
6443  
6444 <  case 546:
6445 <
6446 < /* Line 1806 of yacc.c  */
7062 < #line 3055 "ircd_parser.y"
6444 >  case 549:
6445 > /* Line 1787 of yacc.c  */
6446 > #line 2835 "conf_parser.y"
6447      {
6448    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6449   }
6450      break;
6451  
6452 <  case 547:
6453 <
6454 < /* Line 1806 of yacc.c  */
7071 < #line 3058 "ircd_parser.y"
6452 >  case 550:
6453 > /* Line 1787 of yacc.c  */
6454 > #line 2838 "conf_parser.y"
6455      {
6456    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6457   }
6458      break;
6459  
6460 <  case 548:
6461 <
6462 < /* Line 1806 of yacc.c  */
7080 < #line 3061 "ircd_parser.y"
6460 >  case 551:
6461 > /* Line 1787 of yacc.c  */
6462 > #line 2841 "conf_parser.y"
6463      {
6464    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6465   }
6466      break;
6467  
6468 <  case 549:
6469 <
6470 < /* Line 1806 of yacc.c  */
7089 < #line 3064 "ircd_parser.y"
6468 >  case 552:
6469 > /* Line 1787 of yacc.c  */
6470 > #line 2844 "conf_parser.y"
6471      {
6472    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6473   }
6474      break;
6475  
6476 <  case 550:
6477 <
6478 < /* Line 1806 of yacc.c  */
7098 < #line 3067 "ircd_parser.y"
6476 >  case 553:
6477 > /* Line 1787 of yacc.c  */
6478 > #line 2847 "conf_parser.y"
6479      {
6480    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6481   }
6482      break;
6483  
6484 <  case 551:
6485 <
6486 < /* Line 1806 of yacc.c  */
7107 < #line 3070 "ircd_parser.y"
6484 >  case 554:
6485 > /* Line 1787 of yacc.c  */
6486 > #line 2850 "conf_parser.y"
6487      {
6488    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6489   }
6490      break;
6491  
6492 <  case 552:
6493 <
6494 < /* Line 1806 of yacc.c  */
7116 < #line 3073 "ircd_parser.y"
6492 >  case 555:
6493 > /* Line 1787 of yacc.c  */
6494 > #line 2853 "conf_parser.y"
6495      {
6496    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6497   }
6498      break;
6499  
6500 <  case 553:
6501 <
6502 < /* Line 1806 of yacc.c  */
7125 < #line 3076 "ircd_parser.y"
6500 >  case 556:
6501 > /* Line 1787 of yacc.c  */
6502 > #line 2856 "conf_parser.y"
6503      {
6504    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6505   }
6506      break;
6507  
6508 <  case 554:
6509 <
6510 < /* Line 1806 of yacc.c  */
7134 < #line 3079 "ircd_parser.y"
6508 >  case 557:
6509 > /* Line 1787 of yacc.c  */
6510 > #line 2859 "conf_parser.y"
6511      {
6512    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6513   }
6514      break;
6515  
6516 <  case 555:
6517 <
6518 < /* Line 1806 of yacc.c  */
7143 < #line 3082 "ircd_parser.y"
6516 >  case 558:
6517 > /* Line 1787 of yacc.c  */
6518 > #line 2862 "conf_parser.y"
6519      {
6520    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6521   }
6522      break;
6523  
6524 <  case 556:
6525 <
6526 < /* Line 1806 of yacc.c  */
7152 < #line 3085 "ircd_parser.y"
6524 >  case 559:
6525 > /* Line 1787 of yacc.c  */
6526 > #line 2865 "conf_parser.y"
6527      {
6528    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6529   }
6530      break;
6531  
6532 <  case 557:
6533 <
6534 < /* Line 1806 of yacc.c  */
7161 < #line 3088 "ircd_parser.y"
6532 >  case 560:
6533 > /* Line 1787 of yacc.c  */
6534 > #line 2868 "conf_parser.y"
6535      {
6536    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6537   }
6538      break;
6539  
6540 <  case 558:
6541 <
6542 < /* Line 1806 of yacc.c  */
7170 < #line 3093 "ircd_parser.y"
6540 >  case 561:
6541 > /* Line 1787 of yacc.c  */
6542 > #line 2873 "conf_parser.y"
6543      {
6544    ConfigFileEntry.oper_only_umodes = 0;
6545   }
6546      break;
6547  
6548 <  case 562:
6549 <
6550 < /* Line 1806 of yacc.c  */
7179 < #line 3099 "ircd_parser.y"
6548 >  case 565:
6549 > /* Line 1787 of yacc.c  */
6550 > #line 2879 "conf_parser.y"
6551      {
6552    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6553   }
6554      break;
6555  
6556 <  case 563:
6557 <
6558 < /* Line 1806 of yacc.c  */
7188 < #line 3102 "ircd_parser.y"
6556 >  case 566:
6557 > /* Line 1787 of yacc.c  */
6558 > #line 2882 "conf_parser.y"
6559      {
6560    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6561   }
6562      break;
6563  
6564 <  case 564:
6565 <
6566 < /* Line 1806 of yacc.c  */
7197 < #line 3105 "ircd_parser.y"
6564 >  case 567:
6565 > /* Line 1787 of yacc.c  */
6566 > #line 2885 "conf_parser.y"
6567      {
6568    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6569   }
6570      break;
6571  
6572 <  case 565:
6573 <
6574 < /* Line 1806 of yacc.c  */
7206 < #line 3108 "ircd_parser.y"
6572 >  case 568:
6573 > /* Line 1787 of yacc.c  */
6574 > #line 2888 "conf_parser.y"
6575      {
6576    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6577   }
6578      break;
6579  
6580 <  case 566:
6581 <
6582 < /* Line 1806 of yacc.c  */
7215 < #line 3111 "ircd_parser.y"
6580 >  case 569:
6581 > /* Line 1787 of yacc.c  */
6582 > #line 2891 "conf_parser.y"
6583      {
6584    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6585   }
6586      break;
6587  
6588 <  case 567:
6589 <
6590 < /* Line 1806 of yacc.c  */
7224 < #line 3114 "ircd_parser.y"
6588 >  case 570:
6589 > /* Line 1787 of yacc.c  */
6590 > #line 2894 "conf_parser.y"
6591      {
6592    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6593   }
6594      break;
6595  
7230  case 568:
7231
7232 /* Line 1806 of yacc.c  */
7233 #line 3117 "ircd_parser.y"
7234    {
7235  ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
7236 }
7237    break;
7238
7239  case 569:
7240
7241 /* Line 1806 of yacc.c  */
7242 #line 3120 "ircd_parser.y"
7243    {
7244  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
7245 }
7246    break;
7247
7248  case 570:
7249
7250 /* Line 1806 of yacc.c  */
7251 #line 3123 "ircd_parser.y"
7252    {
7253  ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
7254 }
7255    break;
7256
6596    case 571:
6597 <
6598 < /* Line 1806 of yacc.c  */
7260 < #line 3126 "ircd_parser.y"
6597 > /* Line 1787 of yacc.c  */
6598 > #line 2897 "conf_parser.y"
6599      {
6600 <  ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6600 >  ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6601   }
6602      break;
6603  
6604    case 572:
6605 <
6606 < /* Line 1806 of yacc.c  */
7269 < #line 3129 "ircd_parser.y"
6605 > /* Line 1787 of yacc.c  */
6606 > #line 2900 "conf_parser.y"
6607      {
6608 <  ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6608 >  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6609   }
6610      break;
6611  
6612    case 573:
6613 <
6614 < /* Line 1806 of yacc.c  */
7278 < #line 3132 "ircd_parser.y"
6613 > /* Line 1787 of yacc.c  */
6614 > #line 2903 "conf_parser.y"
6615      {
6616 <  ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6616 >  ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6617   }
6618      break;
6619  
6620    case 574:
6621 <
6622 < /* Line 1806 of yacc.c  */
7287 < #line 3135 "ircd_parser.y"
6621 > /* Line 1787 of yacc.c  */
6622 > #line 2906 "conf_parser.y"
6623      {
6624 <  ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6624 >  ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6625   }
6626      break;
6627  
6628    case 575:
6629 <
6630 < /* Line 1806 of yacc.c  */
7296 < #line 3138 "ircd_parser.y"
6629 > /* Line 1787 of yacc.c  */
6630 > #line 2909 "conf_parser.y"
6631      {
6632 <  ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6632 >  ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6633   }
6634      break;
6635  
6636    case 576:
6637 <
6638 < /* Line 1806 of yacc.c  */
7305 < #line 3141 "ircd_parser.y"
6637 > /* Line 1787 of yacc.c  */
6638 > #line 2912 "conf_parser.y"
6639      {
6640 <  ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6640 >  ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6641   }
6642      break;
6643  
6644    case 577:
6645 <
6646 < /* Line 1806 of yacc.c  */
7314 < #line 3144 "ircd_parser.y"
6645 > /* Line 1787 of yacc.c  */
6646 > #line 2915 "conf_parser.y"
6647      {
6648 <  ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6648 >  ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6649   }
6650      break;
6651  
6652    case 578:
6653 <
6654 < /* Line 1806 of yacc.c  */
7323 < #line 3147 "ircd_parser.y"
6653 > /* Line 1787 of yacc.c  */
6654 > #line 2918 "conf_parser.y"
6655      {
6656 <  ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6656 >  ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6657   }
6658      break;
6659  
6660    case 579:
6661 <
6662 < /* Line 1806 of yacc.c  */
7332 < #line 3150 "ircd_parser.y"
6661 > /* Line 1787 of yacc.c  */
6662 > #line 2921 "conf_parser.y"
6663      {
6664 <  ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6664 >  ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6665   }
6666      break;
6667  
6668    case 580:
6669 <
6670 < /* Line 1806 of yacc.c  */
7341 < #line 3153 "ircd_parser.y"
6669 > /* Line 1787 of yacc.c  */
6670 > #line 2924 "conf_parser.y"
6671      {
6672 <  ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6672 >  ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6673   }
6674      break;
6675  
6676    case 581:
6677 <
6678 < /* Line 1806 of yacc.c  */
7350 < #line 3156 "ircd_parser.y"
6677 > /* Line 1787 of yacc.c  */
6678 > #line 2927 "conf_parser.y"
6679      {
6680 <  ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6680 >  ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6681   }
6682      break;
6683  
6684    case 582:
6685 <
6686 < /* Line 1806 of yacc.c  */
7359 < #line 3161 "ircd_parser.y"
6685 > /* Line 1787 of yacc.c  */
6686 > #line 2930 "conf_parser.y"
6687      {
6688 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6688 >  ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6689   }
6690      break;
6691  
6692    case 583:
6693 <
6694 < /* Line 1806 of yacc.c  */
7368 < #line 3166 "ircd_parser.y"
6693 > /* Line 1787 of yacc.c  */
6694 > #line 2933 "conf_parser.y"
6695      {
6696 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6696 >  ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6697   }
6698      break;
6699  
6700    case 584:
6701 <
6702 < /* Line 1806 of yacc.c  */
7377 < #line 3171 "ircd_parser.y"
6701 > /* Line 1787 of yacc.c  */
6702 > #line 2936 "conf_parser.y"
6703      {
6704 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6704 >  ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6705   }
6706      break;
6707  
6708    case 585:
6709 <
6710 < /* Line 1806 of yacc.c  */
7386 < #line 3176 "ircd_parser.y"
6709 > /* Line 1787 of yacc.c  */
6710 > #line 2941 "conf_parser.y"
6711      {
6712 <  ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
6712 >  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6713   }
6714      break;
6715  
6716    case 586:
6717 <
6718 < /* Line 1806 of yacc.c  */
7395 < #line 3185 "ircd_parser.y"
6717 > /* Line 1787 of yacc.c  */
6718 > #line 2946 "conf_parser.y"
6719      {
6720 <  if (conf_parser_ctx.pass == 2)
7398 <  {
7399 <    yy_conf = make_conf_item(GDENY_TYPE);
7400 <    yy_aconf = map_to_conf(yy_conf);
7401 <  }
6720 >  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6721   }
6722      break;
6723  
6724    case 587:
6725 <
6726 < /* Line 1806 of yacc.c  */
7408 < #line 3192 "ircd_parser.y"
7409 <    {
7410 <  if (conf_parser_ctx.pass == 2)
7411 <  {
7412 <    /*
7413 <     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
7414 <     * end we will have one extra, so we should free it.
7415 <     */
7416 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7417 <    {
7418 <      delete_conf_item(yy_conf);
7419 <      yy_conf = NULL;
7420 <      yy_aconf = NULL;
7421 <    }
7422 <  }
7423 < }
7424 <    break;
7425 <
7426 <  case 597:
7427 <
7428 < /* Line 1806 of yacc.c  */
7429 < #line 3218 "ircd_parser.y"
7430 <    {
7431 <  if (conf_parser_ctx.pass == 2)
7432 <    ConfigFileEntry.glines = yylval.number;
7433 < }
7434 <    break;
7435 <
7436 <  case 598:
7437 <
7438 < /* Line 1806 of yacc.c  */
7439 < #line 3224 "ircd_parser.y"
7440 <    {
7441 <  if (conf_parser_ctx.pass == 2)
7442 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7443 < }
7444 <    break;
7445 <
7446 <  case 599:
7447 <
7448 < /* Line 1806 of yacc.c  */
7449 < #line 3230 "ircd_parser.y"
7450 <    {
7451 <  if (conf_parser_ctx.pass == 2)
7452 <    ConfigFileEntry.gline_logging = 0;
7453 < }
7454 <    break;
7455 <
7456 <  case 603:
7457 <
7458 < /* Line 1806 of yacc.c  */
7459 < #line 3236 "ircd_parser.y"
7460 <    {
7461 <  if (conf_parser_ctx.pass == 2)
7462 <    ConfigFileEntry.gline_logging |= GDENY_REJECT;
7463 < }
7464 <    break;
7465 <
7466 <  case 604:
7467 <
7468 < /* Line 1806 of yacc.c  */
7469 < #line 3240 "ircd_parser.y"
7470 <    {
7471 <  if (conf_parser_ctx.pass == 2)
7472 <    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7473 < }
7474 <    break;
7475 <
7476 <  case 605:
7477 <
7478 < /* Line 1806 of yacc.c  */
7479 < #line 3246 "ircd_parser.y"
7480 <    {
7481 <  if (conf_parser_ctx.pass == 2)
7482 <  {
7483 <    struct split_nuh_item nuh;
7484 <
7485 <    nuh.nuhmask  = yylval.string;
7486 <    nuh.nickptr  = NULL;
7487 <    nuh.userptr  = userbuf;
7488 <    nuh.hostptr  = hostbuf;
7489 <
7490 <    nuh.nicksize = 0;
7491 <    nuh.usersize = sizeof(userbuf);
7492 <    nuh.hostsize = sizeof(hostbuf);
7493 <
7494 <    split_nuh(&nuh);
7495 <
7496 <    if (yy_aconf->user == NULL)
6725 > /* Line 1787 of yacc.c  */
6726 > #line 2951 "conf_parser.y"
6727      {
6728 <      DupString(yy_aconf->user, userbuf);
7499 <      DupString(yy_aconf->host, hostbuf);
7500 <    }
7501 <    else
7502 <    {
7503 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
7504 <
7505 <      DupString(yy_tmp->user, userbuf);
7506 <      DupString(yy_tmp->host, hostbuf);
7507 <
7508 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
7509 <    }
7510 <  }
6728 >  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6729   }
6730      break;
6731  
6732    case 606:
6733 <
6734 < /* Line 1806 of yacc.c  */
7517 < #line 3280 "ircd_parser.y"
7518 <    {
7519 <  if (conf_parser_ctx.pass == 2)  
7520 <  {
7521 <    MyFree(yy_conf->name);
7522 <    DupString(yy_conf->name, yylval.string);
7523 <  }
7524 < }
7525 <    break;
7526 <
7527 <  case 607:
7528 <
7529 < /* Line 1806 of yacc.c  */
7530 < #line 3289 "ircd_parser.y"
7531 <    {
7532 <  if (conf_parser_ctx.pass == 2)
7533 <    yy_aconf->flags = 0;
7534 < }
7535 <    break;
7536 <
7537 <  case 608:
7538 <
7539 < /* Line 1806 of yacc.c  */
7540 < #line 3293 "ircd_parser.y"
7541 <    {
7542 <  if (conf_parser_ctx.pass == 2)
7543 <  {
7544 <    struct CollectItem *yy_tmp = NULL;
7545 <    dlink_node *ptr, *next_ptr;
7546 <
7547 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
7548 <    {
7549 <      struct AccessItem *new_aconf;
7550 <      struct ConfItem *new_conf;
7551 <
7552 <      yy_tmp = ptr->data;
7553 <      new_conf = make_conf_item(GDENY_TYPE);
7554 <      new_aconf = map_to_conf(new_conf);
7555 <
7556 <      new_aconf->flags = yy_aconf->flags;
7557 <
7558 <      if (yy_conf->name != NULL)
7559 <        DupString(new_conf->name, yy_conf->name);
7560 <      else
7561 <        DupString(new_conf->name, "*");
7562 <      if (yy_aconf->user != NULL)
7563 <         DupString(new_aconf->user, yy_tmp->user);
7564 <      else  
7565 <        DupString(new_aconf->user, "*");
7566 <      if (yy_aconf->host != NULL)
7567 <        DupString(new_aconf->host, yy_tmp->host);
7568 <      else
7569 <        DupString(new_aconf->host, "*");
7570 <
7571 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
7572 <    }
7573 <
7574 <    /*
7575 <     * In case someone has fed us with more than one action= after user/name
7576 <     * which would leak memory  -Michael
7577 <     */
7578 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7579 <      delete_conf_item(yy_conf);
7580 <
7581 <    yy_conf = make_conf_item(GDENY_TYPE);
7582 <    yy_aconf = map_to_conf(yy_conf);
7583 <  }
7584 < }
7585 <    break;
7586 <
7587 <  case 611:
7588 <
7589 < /* Line 1806 of yacc.c  */
7590 < #line 3340 "ircd_parser.y"
7591 <    {
7592 <  if (conf_parser_ctx.pass == 2)
7593 <    yy_aconf->flags |= GDENY_REJECT;
7594 < }
7595 <    break;
7596 <
7597 <  case 612:
7598 <
7599 < /* Line 1806 of yacc.c  */
7600 < #line 3344 "ircd_parser.y"
7601 <    {
7602 <  if (conf_parser_ctx.pass == 2)
7603 <    yy_aconf->flags |= GDENY_BLOCK;
7604 < }
7605 <    break;
7606 <
7607 <  case 635:
7608 <
7609 < /* Line 1806 of yacc.c  */
7610 < #line 3368 "ircd_parser.y"
6733 > /* Line 1787 of yacc.c  */
6734 > #line 2974 "conf_parser.y"
6735      {
6736    ConfigChannel.disable_fake_channels = yylval.number;
6737   }
6738      break;
6739  
6740 <  case 636:
6741 <
6742 < /* Line 1806 of yacc.c  */
7619 < #line 3373 "ircd_parser.y"
6740 >  case 607:
6741 > /* Line 1787 of yacc.c  */
6742 > #line 2979 "conf_parser.y"
6743      {
6744    ConfigChannel.restrict_channels = yylval.number;
6745   }
6746      break;
6747  
6748 <  case 637:
6749 <
6750 < /* Line 1806 of yacc.c  */
7628 < #line 3378 "ircd_parser.y"
7629 <    {
7630 <  ConfigChannel.disable_local_channels = yylval.number;
7631 < }
7632 <    break;
7633 <
7634 <  case 638:
7635 <
7636 < /* Line 1806 of yacc.c  */
7637 < #line 3383 "ircd_parser.y"
7638 <    {
7639 <  ConfigChannel.use_except = yylval.number;
7640 < }
7641 <    break;
7642 <
7643 <  case 639:
7644 <
7645 < /* Line 1806 of yacc.c  */
7646 < #line 3388 "ircd_parser.y"
7647 <    {
7648 <  ConfigChannel.use_invex = yylval.number;
7649 < }
7650 <    break;
7651 <
7652 <  case 640:
7653 <
7654 < /* Line 1806 of yacc.c  */
7655 < #line 3393 "ircd_parser.y"
7656 <    {
7657 <  ConfigChannel.use_knock = yylval.number;
7658 < }
7659 <    break;
7660 <
7661 <  case 641:
7662 <
7663 < /* Line 1806 of yacc.c  */
7664 < #line 3398 "ircd_parser.y"
6748 >  case 608:
6749 > /* Line 1787 of yacc.c  */
6750 > #line 2984 "conf_parser.y"
6751      {
6752    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6753   }
6754      break;
6755  
6756 <  case 642:
6757 <
6758 < /* Line 1806 of yacc.c  */
7673 < #line 3403 "ircd_parser.y"
6756 >  case 609:
6757 > /* Line 1787 of yacc.c  */
6758 > #line 2989 "conf_parser.y"
6759      {
6760    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6761   }
6762      break;
6763  
6764 <  case 643:
6765 <
6766 < /* Line 1806 of yacc.c  */
7682 < #line 3408 "ircd_parser.y"
6764 >  case 610:
6765 > /* Line 1787 of yacc.c  */
6766 > #line 2994 "conf_parser.y"
6767      {
6768    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6769   }
6770      break;
6771  
6772 <  case 644:
6772 >  case 611:
6773 > /* Line 1787 of yacc.c  */
6774 > #line 2999 "conf_parser.y"
6775 >    {
6776 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6777 > }
6778 >    break;
6779  
6780 < /* Line 1806 of yacc.c  */
6781 < #line 3413 "ircd_parser.y"
6780 >  case 612:
6781 > /* Line 1787 of yacc.c  */
6782 > #line 3004 "conf_parser.y"
6783      {
6784    ConfigChannel.quiet_on_ban = yylval.number;
6785   }
6786      break;
6787  
6788 <  case 645:
6789 <
6790 < /* Line 1806 of yacc.c  */
7700 < #line 3418 "ircd_parser.y"
6788 >  case 613:
6789 > /* Line 1787 of yacc.c  */
6790 > #line 3009 "conf_parser.y"
6791      {
6792    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6793   }
6794      break;
6795  
6796 <  case 646:
6797 <
6798 < /* Line 1806 of yacc.c  */
7709 < #line 3423 "ircd_parser.y"
6796 >  case 614:
6797 > /* Line 1787 of yacc.c  */
6798 > #line 3014 "conf_parser.y"
6799      {
6800    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6801   }
6802      break;
6803  
6804 <  case 647:
6805 <
6806 < /* Line 1806 of yacc.c  */
7718 < #line 3428 "ircd_parser.y"
6804 >  case 615:
6805 > /* Line 1787 of yacc.c  */
6806 > #line 3019 "conf_parser.y"
6807      {
6808    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6809   }
6810      break;
6811  
6812 <  case 648:
6813 <
6814 < /* Line 1806 of yacc.c  */
7727 < #line 3433 "ircd_parser.y"
6812 >  case 616:
6813 > /* Line 1787 of yacc.c  */
6814 > #line 3024 "conf_parser.y"
6815      {
6816    ConfigChannel.no_create_on_split = yylval.number;
6817   }
6818      break;
6819  
6820 <  case 649:
6821 <
6822 < /* Line 1806 of yacc.c  */
7736 < #line 3438 "ircd_parser.y"
6820 >  case 617:
6821 > /* Line 1787 of yacc.c  */
6822 > #line 3029 "conf_parser.y"
6823      {
6824    ConfigChannel.no_join_on_split = yylval.number;
6825   }
6826      break;
6827  
6828 <  case 650:
6829 <
6830 < /* Line 1806 of yacc.c  */
7745 < #line 3443 "ircd_parser.y"
7746 <    {
7747 <  ConfigChannel.burst_topicwho = yylval.number;
7748 < }
7749 <    break;
7750 <
7751 <  case 651:
7752 <
7753 < /* Line 1806 of yacc.c  */
7754 < #line 3448 "ircd_parser.y"
6828 >  case 618:
6829 > /* Line 1787 of yacc.c  */
6830 > #line 3034 "conf_parser.y"
6831      {
6832    GlobalSetOptions.joinfloodcount = yylval.number;
6833   }
6834      break;
6835  
6836 <  case 652:
6837 <
6838 < /* Line 1806 of yacc.c  */
7763 < #line 3453 "ircd_parser.y"
6836 >  case 619:
6837 > /* Line 1787 of yacc.c  */
6838 > #line 3039 "conf_parser.y"
6839      {
6840    GlobalSetOptions.joinfloodtime = yylval.number;
6841   }
6842      break;
6843  
6844 <  case 664:
6845 <
6846 < /* Line 1806 of yacc.c  */
7772 < #line 3472 "ircd_parser.y"
6844 >  case 630:
6845 > /* Line 1787 of yacc.c  */
6846 > #line 3057 "conf_parser.y"
6847      {
6848    if (conf_parser_ctx.pass == 2)
6849      ConfigServerHide.flatten_links = yylval.number;
6850   }
6851      break;
6852  
6853 <  case 665:
6854 <
6855 < /* Line 1806 of yacc.c  */
7782 < #line 3478 "ircd_parser.y"
6853 >  case 631:
6854 > /* Line 1787 of yacc.c  */
6855 > #line 3063 "conf_parser.y"
6856      {
6857    if (conf_parser_ctx.pass == 2)
6858      ConfigServerHide.hide_servers = yylval.number;
6859   }
6860      break;
6861  
6862 <  case 666:
6863 <
6864 < /* Line 1806 of yacc.c  */
7792 < #line 3484 "ircd_parser.y"
6862 >  case 632:
6863 > /* Line 1787 of yacc.c  */
6864 > #line 3069 "conf_parser.y"
6865      {
6866    if (conf_parser_ctx.pass == 2)
6867    {
# Line 7799 | Line 6871 | yyreduce:
6871   }
6872      break;
6873  
6874 <  case 667:
6875 <
6876 < /* Line 1806 of yacc.c  */
7805 < #line 3493 "ircd_parser.y"
6874 >  case 633:
6875 > /* Line 1787 of yacc.c  */
6876 > #line 3078 "conf_parser.y"
6877      {
6878    if (conf_parser_ctx.pass == 2)
6879    {
# Line 7817 | Line 6888 | yyreduce:
6888   }
6889      break;
6890  
6891 <  case 668:
6892 <
6893 < /* Line 1806 of yacc.c  */
7823 < #line 3507 "ircd_parser.y"
6891 >  case 634:
6892 > /* Line 1787 of yacc.c  */
6893 > #line 3092 "conf_parser.y"
6894      {
6895    if (conf_parser_ctx.pass == 2)
6896      ConfigServerHide.hidden = yylval.number;
6897   }
6898      break;
6899  
6900 <  case 669:
6901 <
6902 < /* Line 1806 of yacc.c  */
7833 < #line 3513 "ircd_parser.y"
7834 <    {
7835 <  if (conf_parser_ctx.pass == 2)
7836 <    ConfigServerHide.disable_hidden = yylval.number;
7837 < }
7838 <    break;
7839 <
7840 <  case 670:
7841 <
7842 < /* Line 1806 of yacc.c  */
7843 < #line 3519 "ircd_parser.y"
6900 >  case 635:
6901 > /* Line 1787 of yacc.c  */
6902 > #line 3098 "conf_parser.y"
6903      {
6904    if (conf_parser_ctx.pass == 2)
6905      ConfigServerHide.hide_server_ips = yylval.number;
# Line 7848 | Line 6907 | yyreduce:
6907      break;
6908  
6909  
6910 <
6911 < /* Line 1806 of yacc.c  */
7853 < #line 7854 "ircd_parser.c"
6910 > /* Line 1787 of yacc.c  */
6911 > #line 6912 "conf_parser.c"
6912        default: break;
6913      }
6914    /* User semantic actions sometimes alter yychar, and that requires
# Line 8037 | Line 7095 | yyabortlab:
7095    yyresult = 1;
7096    goto yyreturn;
7097  
7098 < #if !defined(yyoverflow) || YYERROR_VERBOSE
7098 > #if !defined yyoverflow || YYERROR_VERBOSE
7099   /*-------------------------------------------------.
7100   | yyexhaustedlab -- memory exhaustion comes here.  |
7101   `-------------------------------------------------*/
# Line 8079 | Line 7137 | yyreturn:
7137   }
7138  
7139  
8082

Diff Legend

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