1 /* A Bison parser, made by GNU Bison 3.8.2. */
2
3 /* Bison implementation for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6 Inc.
7
8 This program is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <https://www.gnu.org/licenses/>. */
20
21 /* As a special exception, you may create a larger work that contains
22 part or all of the Bison parser skeleton and distribute that work
23 under terms of your choice, so long as that work isn't itself a
24 parser generator using the skeleton or a modified version thereof
25 as a parser skeleton. Alternatively, if you modify or redistribute
26 the parser skeleton itself, you may (at your option) remove this
27 special exception, which will cause the skeleton and the resulting
28 Bison output files to be licensed under the GNU General Public
29 License without this special exception.
30
31 This special exception was added by the Free Software Foundation in
32 version 2.2 of Bison. */
33
34 /* C LALR(1) parser skeleton written by Richard Stallman, by
35 simplifying the original so-called "semantic" parser. */
36
37 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
38 especially those whose name start with YY_ or yy_. They are
39 private implementation details that can be changed or removed. */
40
41 /* All symbols defined below should begin with yy or YY, to avoid
42 infringing on user name space. This should be done even for local
43 variables, as they might otherwise be expanded by user macros.
44 There are some unavoidable exceptions within include files to
45 define necessary library symbols; they are noted "INFRINGES ON
46 USER NAME SPACE" below. */
47
48 /* Identify Bison output, and Bison version. */
49 #define YYBISON 30802
50
51 /* Bison version string. */
52 #define YYBISON_VERSION "3.8.2"
53
54 /* Skeleton name. */
55 #define YYSKELETON_NAME "yacc.c"
56
57 /* Pure parsers. */
58 #define YYPURE 1
59
60 /* Push parsers. */
61 #define YYPUSH 0
62
63 /* Pull parsers. */
64 #define YYPULL 1
65
66 /* Substitute the type names. */
67 #define YYSTYPE MAP_VALUE_PAIRS_STYPE
68 #define YYLTYPE MAP_VALUE_PAIRS_LTYPE
69 /* Substitute the variable and function names. */
70 #define yyparse map_value_pairs_parse
71 #define yylex map_value_pairs_lex
72 #define yyerror map_value_pairs_error
73 #define yydebug map_value_pairs_debug
74 #define yynerrs map_value_pairs_nerrs
75
76
77 # ifndef YY_CAST
78 # ifdef __cplusplus
79 # define YY_CAST(Type, Val) static_cast<Type> (Val)
80 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
81 # else
82 # define YY_CAST(Type, Val) ((Type) (Val))
83 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
84 # endif
85 # endif
86 # ifndef YY_NULLPTR
87 # if defined __cplusplus
88 # if 201103L <= __cplusplus
89 # define YY_NULLPTR nullptr
90 # else
91 # define YY_NULLPTR 0
92 # endif
93 # else
94 # define YY_NULLPTR ((void*)0)
95 # endif
96 # endif
97
98 /* Use api.header.include to #include this header
99 instead of duplicating it here. */
100 #ifndef YY_MAP_VALUE_PAIRS_MODULES_MAP_VALUE_PAIRS_MAP_VALUE_PAIRS_GRAMMAR_H_INCLUDED
101 # define YY_MAP_VALUE_PAIRS_MODULES_MAP_VALUE_PAIRS_MAP_VALUE_PAIRS_GRAMMAR_H_INCLUDED
102 /* Debug traces. */
103 #ifndef MAP_VALUE_PAIRS_DEBUG
104 # if defined YYDEBUG
105 #if YYDEBUG
106 # define MAP_VALUE_PAIRS_DEBUG 1
107 # else
108 # define MAP_VALUE_PAIRS_DEBUG 0
109 # endif
110 # else /* ! defined YYDEBUG */
111 # define MAP_VALUE_PAIRS_DEBUG 0
112 # endif /* ! defined YYDEBUG */
113 #endif /* ! defined MAP_VALUE_PAIRS_DEBUG */
114 #if MAP_VALUE_PAIRS_DEBUG
115 extern int map_value_pairs_debug;
116 #endif
117 /* "%code requires" blocks. */
118 #line 24 "modules/map-value-pairs/map-value-pairs-grammar.y"
119
120 #include "parser/parser-expr.h"
121 #include "map-value-pairs-parser.h"
122 #include "map-value-pairs.h"
123
124
125 #line 126 "modules/map-value-pairs/map-value-pairs-grammar.c"
126
127 /* Token kinds. */
128 #ifndef MAP_VALUE_PAIRS_TOKENTYPE
129 # define MAP_VALUE_PAIRS_TOKENTYPE
130 enum map_value_pairs_tokentype
131 {
132 MAP_VALUE_PAIRS_EMPTY = -2,
133 MAP_VALUE_PAIRS_EOF = 0, /* "end of file" */
134 MAP_VALUE_PAIRS_error = 256, /* error */
135 MAP_VALUE_PAIRS_UNDEF = 10514, /* "invalid token" */
136 LL_CONTEXT_ROOT = 1, /* LL_CONTEXT_ROOT */
137 LL_CONTEXT_DESTINATION = 2, /* LL_CONTEXT_DESTINATION */
138 LL_CONTEXT_SOURCE = 3, /* LL_CONTEXT_SOURCE */
139 LL_CONTEXT_PARSER = 4, /* LL_CONTEXT_PARSER */
140 LL_CONTEXT_REWRITE = 5, /* LL_CONTEXT_REWRITE */
141 LL_CONTEXT_FILTER = 6, /* LL_CONTEXT_FILTER */
142 LL_CONTEXT_LOG = 7, /* LL_CONTEXT_LOG */
143 LL_CONTEXT_BLOCK_DEF = 8, /* LL_CONTEXT_BLOCK_DEF */
144 LL_CONTEXT_BLOCK_REF = 9, /* LL_CONTEXT_BLOCK_REF */
145 LL_CONTEXT_BLOCK_CONTENT = 10, /* LL_CONTEXT_BLOCK_CONTENT */
146 LL_CONTEXT_BLOCK_ARG = 11, /* LL_CONTEXT_BLOCK_ARG */
147 LL_CONTEXT_PRAGMA = 12, /* LL_CONTEXT_PRAGMA */
148 LL_CONTEXT_FORMAT = 13, /* LL_CONTEXT_FORMAT */
149 LL_CONTEXT_TEMPLATE_FUNC = 14, /* LL_CONTEXT_TEMPLATE_FUNC */
150 LL_CONTEXT_INNER_DEST = 15, /* LL_CONTEXT_INNER_DEST */
151 LL_CONTEXT_INNER_SRC = 16, /* LL_CONTEXT_INNER_SRC */
152 LL_CONTEXT_CLIENT_PROTO = 17, /* LL_CONTEXT_CLIENT_PROTO */
153 LL_CONTEXT_SERVER_PROTO = 18, /* LL_CONTEXT_SERVER_PROTO */
154 LL_CONTEXT_OPTIONS = 19, /* LL_CONTEXT_OPTIONS */
155 LL_CONTEXT_CONFIG = 20, /* LL_CONTEXT_CONFIG */
156 LL_CONTEXT_MAX = 21, /* LL_CONTEXT_MAX */
157 KW_SOURCE = 10000, /* KW_SOURCE */
158 KW_FILTER = 10001, /* KW_FILTER */
159 KW_PARSER = 10002, /* KW_PARSER */
160 KW_DESTINATION = 10003, /* KW_DESTINATION */
161 KW_LOG = 10004, /* KW_LOG */
162 KW_OPTIONS = 10005, /* KW_OPTIONS */
163 KW_INCLUDE = 10006, /* KW_INCLUDE */
164 KW_BLOCK = 10007, /* KW_BLOCK */
165 KW_JUNCTION = 10008, /* KW_JUNCTION */
166 KW_CHANNEL = 10009, /* KW_CHANNEL */
167 KW_IF = 10010, /* KW_IF */
168 KW_ELSE = 10011, /* KW_ELSE */
169 KW_ELIF = 10012, /* KW_ELIF */
170 KW_INTERNAL = 10020, /* KW_INTERNAL */
171 KW_SYSLOG = 10060, /* KW_SYSLOG */
172 KW_MARK_FREQ = 10071, /* KW_MARK_FREQ */
173 KW_STATS_FREQ = 10072, /* KW_STATS_FREQ */
174 KW_STATS_LEVEL = 10073, /* KW_STATS_LEVEL */
175 KW_STATS_LIFETIME = 10074, /* KW_STATS_LIFETIME */
176 KW_FLUSH_LINES = 10075, /* KW_FLUSH_LINES */
177 KW_SUPPRESS = 10076, /* KW_SUPPRESS */
178 KW_FLUSH_TIMEOUT = 10077, /* KW_FLUSH_TIMEOUT */
179 KW_LOG_MSG_SIZE = 10078, /* KW_LOG_MSG_SIZE */
180 KW_FILE_TEMPLATE = 10079, /* KW_FILE_TEMPLATE */
181 KW_PROTO_TEMPLATE = 10080, /* KW_PROTO_TEMPLATE */
182 KW_MARK_MODE = 10081, /* KW_MARK_MODE */
183 KW_ENCODING = 10082, /* KW_ENCODING */
184 KW_TYPE = 10083, /* KW_TYPE */
185 KW_STATS_MAX_DYNAMIC = 10084, /* KW_STATS_MAX_DYNAMIC */
186 KW_MIN_IW_SIZE_PER_READER = 10085, /* KW_MIN_IW_SIZE_PER_READER */
187 KW_WORKERS = 10086, /* KW_WORKERS */
188 KW_BATCH_LINES = 10087, /* KW_BATCH_LINES */
189 KW_BATCH_TIMEOUT = 10088, /* KW_BATCH_TIMEOUT */
190 KW_TRIM_LARGE_MESSAGES = 10089, /* KW_TRIM_LARGE_MESSAGES */
191 KW_CHAIN_HOSTNAMES = 10090, /* KW_CHAIN_HOSTNAMES */
192 KW_NORMALIZE_HOSTNAMES = 10091, /* KW_NORMALIZE_HOSTNAMES */
193 KW_KEEP_HOSTNAME = 10092, /* KW_KEEP_HOSTNAME */
194 KW_CHECK_HOSTNAME = 10093, /* KW_CHECK_HOSTNAME */
195 KW_BAD_HOSTNAME = 10094, /* KW_BAD_HOSTNAME */
196 KW_KEEP_TIMESTAMP = 10100, /* KW_KEEP_TIMESTAMP */
197 KW_USE_DNS = 10110, /* KW_USE_DNS */
198 KW_USE_FQDN = 10111, /* KW_USE_FQDN */
199 KW_CUSTOM_DOMAIN = 10112, /* KW_CUSTOM_DOMAIN */
200 KW_DNS_CACHE = 10120, /* KW_DNS_CACHE */
201 KW_DNS_CACHE_SIZE = 10121, /* KW_DNS_CACHE_SIZE */
202 KW_DNS_CACHE_EXPIRE = 10130, /* KW_DNS_CACHE_EXPIRE */
203 KW_DNS_CACHE_EXPIRE_FAILED = 10131, /* KW_DNS_CACHE_EXPIRE_FAILED */
204 KW_DNS_CACHE_HOSTS = 10132, /* KW_DNS_CACHE_HOSTS */
205 KW_PERSIST_ONLY = 10140, /* KW_PERSIST_ONLY */
206 KW_USE_RCPTID = 10141, /* KW_USE_RCPTID */
207 KW_USE_UNIQID = 10142, /* KW_USE_UNIQID */
208 KW_TZ_CONVERT = 10150, /* KW_TZ_CONVERT */
209 KW_TS_FORMAT = 10151, /* KW_TS_FORMAT */
210 KW_FRAC_DIGITS = 10152, /* KW_FRAC_DIGITS */
211 KW_LOG_FIFO_SIZE = 10160, /* KW_LOG_FIFO_SIZE */
212 KW_LOG_FETCH_LIMIT = 10162, /* KW_LOG_FETCH_LIMIT */
213 KW_LOG_IW_SIZE = 10163, /* KW_LOG_IW_SIZE */
214 KW_LOG_PREFIX = 10164, /* KW_LOG_PREFIX */
215 KW_PROGRAM_OVERRIDE = 10165, /* KW_PROGRAM_OVERRIDE */
216 KW_HOST_OVERRIDE = 10166, /* KW_HOST_OVERRIDE */
217 KW_THROTTLE = 10170, /* KW_THROTTLE */
218 KW_THREADED = 10171, /* KW_THREADED */
219 KW_PASS_UNIX_CREDENTIALS = 10231, /* KW_PASS_UNIX_CREDENTIALS */
220 KW_PERSIST_NAME = 10302, /* KW_PERSIST_NAME */
221 KW_READ_OLD_RECORDS = 10304, /* KW_READ_OLD_RECORDS */
222 KW_USE_SYSLOGNG_PID = 10305, /* KW_USE_SYSLOGNG_PID */
223 KW_FLAGS = 10190, /* KW_FLAGS */
224 KW_PAD_SIZE = 10200, /* KW_PAD_SIZE */
225 KW_TIME_ZONE = 10201, /* KW_TIME_ZONE */
226 KW_RECV_TIME_ZONE = 10202, /* KW_RECV_TIME_ZONE */
227 KW_SEND_TIME_ZONE = 10203, /* KW_SEND_TIME_ZONE */
228 KW_LOCAL_TIME_ZONE = 10204, /* KW_LOCAL_TIME_ZONE */
229 KW_FORMAT = 10205, /* KW_FORMAT */
230 KW_TRUNCATE_SIZE = 10206, /* KW_TRUNCATE_SIZE */
231 KW_TIME_REOPEN = 10210, /* KW_TIME_REOPEN */
232 KW_TIME_REAP = 10211, /* KW_TIME_REAP */
233 KW_TIME_SLEEP = 10212, /* KW_TIME_SLEEP */
234 KW_TMPL_ESCAPE = 10220, /* KW_TMPL_ESCAPE */
235 KW_OPTIONAL = 10230, /* KW_OPTIONAL */
236 KW_CREATE_DIRS = 10240, /* KW_CREATE_DIRS */
237 KW_OWNER = 10250, /* KW_OWNER */
238 KW_GROUP = 10251, /* KW_GROUP */
239 KW_PERM = 10252, /* KW_PERM */
240 KW_DIR_OWNER = 10260, /* KW_DIR_OWNER */
241 KW_DIR_GROUP = 10261, /* KW_DIR_GROUP */
242 KW_DIR_PERM = 10262, /* KW_DIR_PERM */
243 KW_TEMPLATE = 10270, /* KW_TEMPLATE */
244 KW_TEMPLATE_ESCAPE = 10271, /* KW_TEMPLATE_ESCAPE */
245 KW_TEMPLATE_FUNCTION = 10272, /* KW_TEMPLATE_FUNCTION */
246 KW_DEFAULT_FACILITY = 10300, /* KW_DEFAULT_FACILITY */
247 KW_DEFAULT_SEVERITY = 10301, /* KW_DEFAULT_SEVERITY */
248 KW_PORT = 10323, /* KW_PORT */
249 KW_USE_TIME_RECVD = 10340, /* KW_USE_TIME_RECVD */
250 KW_FACILITY = 10350, /* KW_FACILITY */
251 KW_SEVERITY = 10351, /* KW_SEVERITY */
252 KW_HOST = 10352, /* KW_HOST */
253 KW_MATCH = 10353, /* KW_MATCH */
254 KW_MESSAGE = 10354, /* KW_MESSAGE */
255 KW_NETMASK = 10355, /* KW_NETMASK */
256 KW_TAGS = 10356, /* KW_TAGS */
257 KW_NETMASK6 = 10357, /* KW_NETMASK6 */
258 KW_REWRITE = 10370, /* KW_REWRITE */
259 KW_CONDITION = 10371, /* KW_CONDITION */
260 KW_VALUE = 10372, /* KW_VALUE */
261 KW_YES = 10380, /* KW_YES */
262 KW_NO = 10381, /* KW_NO */
263 KW_IFDEF = 10410, /* KW_IFDEF */
264 KW_ENDIF = 10411, /* KW_ENDIF */
265 LL_DOTDOT = 10420, /* LL_DOTDOT */
266 LL_DOTDOTDOT = 10421, /* LL_DOTDOTDOT */
267 LL_PRAGMA = 10422, /* LL_PRAGMA */
268 LL_EOL = 10423, /* LL_EOL */
269 LL_ERROR = 10424, /* LL_ERROR */
270 LL_ARROW = 10425, /* LL_ARROW */
271 LL_IDENTIFIER = 10430, /* LL_IDENTIFIER */
272 LL_NUMBER = 10431, /* LL_NUMBER */
273 LL_FLOAT = 10432, /* LL_FLOAT */
274 LL_STRING = 10433, /* LL_STRING */
275 LL_TOKEN = 10434, /* LL_TOKEN */
276 LL_BLOCK = 10435, /* LL_BLOCK */
277 KW_VALUE_PAIRS = 10500, /* KW_VALUE_PAIRS */
278 KW_EXCLUDE = 10502, /* KW_EXCLUDE */
279 KW_PAIR = 10503, /* KW_PAIR */
280 KW_KEY = 10504, /* KW_KEY */
281 KW_SCOPE = 10505, /* KW_SCOPE */
282 KW_SHIFT = 10506, /* KW_SHIFT */
283 KW_SHIFT_LEVELS = 10507, /* KW_SHIFT_LEVELS */
284 KW_REKEY = 10508, /* KW_REKEY */
285 KW_ADD_PREFIX = 10509, /* KW_ADD_PREFIX */
286 KW_REPLACE_PREFIX = 10510, /* KW_REPLACE_PREFIX */
287 KW_ON_ERROR = 10511, /* KW_ON_ERROR */
288 KW_RETRIES = 10512, /* KW_RETRIES */
289 KW_FETCH_NO_DATA_DELAY = 10513, /* KW_FETCH_NO_DATA_DELAY */
290 KW_MAP_VALUE_PAIRS = 10515 /* KW_MAP_VALUE_PAIRS */
291 };
292 typedef enum map_value_pairs_tokentype map_value_pairs_token_kind_t;
293 #endif
294 /* Token kinds. */
295 #define MAP_VALUE_PAIRS_EMPTY -2
296 #define MAP_VALUE_PAIRS_EOF 0
297 #define MAP_VALUE_PAIRS_error 256
298 #define MAP_VALUE_PAIRS_UNDEF 10514
299 #define LL_CONTEXT_ROOT 1
300 #define LL_CONTEXT_DESTINATION 2
301 #define LL_CONTEXT_SOURCE 3
302 #define LL_CONTEXT_PARSER 4
303 #define LL_CONTEXT_REWRITE 5
304 #define LL_CONTEXT_FILTER 6
305 #define LL_CONTEXT_LOG 7
306 #define LL_CONTEXT_BLOCK_DEF 8
307 #define LL_CONTEXT_BLOCK_REF 9
308 #define LL_CONTEXT_BLOCK_CONTENT 10
309 #define LL_CONTEXT_BLOCK_ARG 11
310 #define LL_CONTEXT_PRAGMA 12
311 #define LL_CONTEXT_FORMAT 13
312 #define LL_CONTEXT_TEMPLATE_FUNC 14
313 #define LL_CONTEXT_INNER_DEST 15
314 #define LL_CONTEXT_INNER_SRC 16
315 #define LL_CONTEXT_CLIENT_PROTO 17
316 #define LL_CONTEXT_SERVER_PROTO 18
317 #define LL_CONTEXT_OPTIONS 19
318 #define LL_CONTEXT_CONFIG 20
319 #define LL_CONTEXT_MAX 21
320 #define KW_SOURCE 10000
321 #define KW_FILTER 10001
322 #define KW_PARSER 10002
323 #define KW_DESTINATION 10003
324 #define KW_LOG 10004
325 #define KW_OPTIONS 10005
326 #define KW_INCLUDE 10006
327 #define KW_BLOCK 10007
328 #define KW_JUNCTION 10008
329 #define KW_CHANNEL 10009
330 #define KW_IF 10010
331 #define KW_ELSE 10011
332 #define KW_ELIF 10012
333 #define KW_INTERNAL 10020
334 #define KW_SYSLOG 10060
335 #define KW_MARK_FREQ 10071
336 #define KW_STATS_FREQ 10072
337 #define KW_STATS_LEVEL 10073
338 #define KW_STATS_LIFETIME 10074
339 #define KW_FLUSH_LINES 10075
340 #define KW_SUPPRESS 10076
341 #define KW_FLUSH_TIMEOUT 10077
342 #define KW_LOG_MSG_SIZE 10078
343 #define KW_FILE_TEMPLATE 10079
344 #define KW_PROTO_TEMPLATE 10080
345 #define KW_MARK_MODE 10081
346 #define KW_ENCODING 10082
347 #define KW_TYPE 10083
348 #define KW_STATS_MAX_DYNAMIC 10084
349 #define KW_MIN_IW_SIZE_PER_READER 10085
350 #define KW_WORKERS 10086
351 #define KW_BATCH_LINES 10087
352 #define KW_BATCH_TIMEOUT 10088
353 #define KW_TRIM_LARGE_MESSAGES 10089
354 #define KW_CHAIN_HOSTNAMES 10090
355 #define KW_NORMALIZE_HOSTNAMES 10091
356 #define KW_KEEP_HOSTNAME 10092
357 #define KW_CHECK_HOSTNAME 10093
358 #define KW_BAD_HOSTNAME 10094
359 #define KW_KEEP_TIMESTAMP 10100
360 #define KW_USE_DNS 10110
361 #define KW_USE_FQDN 10111
362 #define KW_CUSTOM_DOMAIN 10112
363 #define KW_DNS_CACHE 10120
364 #define KW_DNS_CACHE_SIZE 10121
365 #define KW_DNS_CACHE_EXPIRE 10130
366 #define KW_DNS_CACHE_EXPIRE_FAILED 10131
367 #define KW_DNS_CACHE_HOSTS 10132
368 #define KW_PERSIST_ONLY 10140
369 #define KW_USE_RCPTID 10141
370 #define KW_USE_UNIQID 10142
371 #define KW_TZ_CONVERT 10150
372 #define KW_TS_FORMAT 10151
373 #define KW_FRAC_DIGITS 10152
374 #define KW_LOG_FIFO_SIZE 10160
375 #define KW_LOG_FETCH_LIMIT 10162
376 #define KW_LOG_IW_SIZE 10163
377 #define KW_LOG_PREFIX 10164
378 #define KW_PROGRAM_OVERRIDE 10165
379 #define KW_HOST_OVERRIDE 10166
380 #define KW_THROTTLE 10170
381 #define KW_THREADED 10171
382 #define KW_PASS_UNIX_CREDENTIALS 10231
383 #define KW_PERSIST_NAME 10302
384 #define KW_READ_OLD_RECORDS 10304
385 #define KW_USE_SYSLOGNG_PID 10305
386 #define KW_FLAGS 10190
387 #define KW_PAD_SIZE 10200
388 #define KW_TIME_ZONE 10201
389 #define KW_RECV_TIME_ZONE 10202
390 #define KW_SEND_TIME_ZONE 10203
391 #define KW_LOCAL_TIME_ZONE 10204
392 #define KW_FORMAT 10205
393 #define KW_TRUNCATE_SIZE 10206
394 #define KW_TIME_REOPEN 10210
395 #define KW_TIME_REAP 10211
396 #define KW_TIME_SLEEP 10212
397 #define KW_TMPL_ESCAPE 10220
398 #define KW_OPTIONAL 10230
399 #define KW_CREATE_DIRS 10240
400 #define KW_OWNER 10250
401 #define KW_GROUP 10251
402 #define KW_PERM 10252
403 #define KW_DIR_OWNER 10260
404 #define KW_DIR_GROUP 10261
405 #define KW_DIR_PERM 10262
406 #define KW_TEMPLATE 10270
407 #define KW_TEMPLATE_ESCAPE 10271
408 #define KW_TEMPLATE_FUNCTION 10272
409 #define KW_DEFAULT_FACILITY 10300
410 #define KW_DEFAULT_SEVERITY 10301
411 #define KW_PORT 10323
412 #define KW_USE_TIME_RECVD 10340
413 #define KW_FACILITY 10350
414 #define KW_SEVERITY 10351
415 #define KW_HOST 10352
416 #define KW_MATCH 10353
417 #define KW_MESSAGE 10354
418 #define KW_NETMASK 10355
419 #define KW_TAGS 10356
420 #define KW_NETMASK6 10357
421 #define KW_REWRITE 10370
422 #define KW_CONDITION 10371
423 #define KW_VALUE 10372
424 #define KW_YES 10380
425 #define KW_NO 10381
426 #define KW_IFDEF 10410
427 #define KW_ENDIF 10411
428 #define LL_DOTDOT 10420
429 #define LL_DOTDOTDOT 10421
430 #define LL_PRAGMA 10422
431 #define LL_EOL 10423
432 #define LL_ERROR 10424
433 #define LL_ARROW 10425
434 #define LL_IDENTIFIER 10430
435 #define LL_NUMBER 10431
436 #define LL_FLOAT 10432
437 #define LL_STRING 10433
438 #define LL_TOKEN 10434
439 #define LL_BLOCK 10435
440 #define KW_VALUE_PAIRS 10500
441 #define KW_EXCLUDE 10502
442 #define KW_PAIR 10503
443 #define KW_KEY 10504
444 #define KW_SCOPE 10505
445 #define KW_SHIFT 10506
446 #define KW_SHIFT_LEVELS 10507
447 #define KW_REKEY 10508
448 #define KW_ADD_PREFIX 10509
449 #define KW_REPLACE_PREFIX 10510
450 #define KW_ON_ERROR 10511
451 #define KW_RETRIES 10512
452 #define KW_FETCH_NO_DATA_DELAY 10513
453 #define KW_MAP_VALUE_PAIRS 10515
454
455 /* Value type. */
456 #if ! defined MAP_VALUE_PAIRS_STYPE && ! defined MAP_VALUE_PAIRS_STYPE_IS_DECLARED
457 typedef CFG_STYPE MAP_VALUE_PAIRS_STYPE;
458 # define MAP_VALUE_PAIRS_STYPE_IS_TRIVIAL 1
459 # define MAP_VALUE_PAIRS_STYPE_IS_DECLARED 1
460 #endif
461
462 /* Location type. */
463 typedef CFG_LTYPE MAP_VALUE_PAIRS_LTYPE;
464
465
466
467
468 int map_value_pairs_parse (CfgLexer *lexer, LogParser **instance, gpointer arg);
469
470
471 #endif /* !YY_MAP_VALUE_PAIRS_MODULES_MAP_VALUE_PAIRS_MAP_VALUE_PAIRS_GRAMMAR_H_INCLUDED */
472 /* Symbol kind. */
473 enum yysymbol_kind_t
474 {
475 YYSYMBOL_YYEMPTY = -2,
476 YYSYMBOL_YYEOF = 0, /* "end of file" */
477 YYSYMBOL_YYerror = 1, /* error */
478 YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
479 YYSYMBOL_LL_CONTEXT_ROOT = 3, /* LL_CONTEXT_ROOT */
480 YYSYMBOL_LL_CONTEXT_DESTINATION = 4, /* LL_CONTEXT_DESTINATION */
481 YYSYMBOL_LL_CONTEXT_SOURCE = 5, /* LL_CONTEXT_SOURCE */
482 YYSYMBOL_LL_CONTEXT_PARSER = 6, /* LL_CONTEXT_PARSER */
483 YYSYMBOL_LL_CONTEXT_REWRITE = 7, /* LL_CONTEXT_REWRITE */
484 YYSYMBOL_LL_CONTEXT_FILTER = 8, /* LL_CONTEXT_FILTER */
485 YYSYMBOL_LL_CONTEXT_LOG = 9, /* LL_CONTEXT_LOG */
486 YYSYMBOL_LL_CONTEXT_BLOCK_DEF = 10, /* LL_CONTEXT_BLOCK_DEF */
487 YYSYMBOL_LL_CONTEXT_BLOCK_REF = 11, /* LL_CONTEXT_BLOCK_REF */
488 YYSYMBOL_LL_CONTEXT_BLOCK_CONTENT = 12, /* LL_CONTEXT_BLOCK_CONTENT */
489 YYSYMBOL_LL_CONTEXT_BLOCK_ARG = 13, /* LL_CONTEXT_BLOCK_ARG */
490 YYSYMBOL_LL_CONTEXT_PRAGMA = 14, /* LL_CONTEXT_PRAGMA */
491 YYSYMBOL_LL_CONTEXT_FORMAT = 15, /* LL_CONTEXT_FORMAT */
492 YYSYMBOL_LL_CONTEXT_TEMPLATE_FUNC = 16, /* LL_CONTEXT_TEMPLATE_FUNC */
493 YYSYMBOL_LL_CONTEXT_INNER_DEST = 17, /* LL_CONTEXT_INNER_DEST */
494 YYSYMBOL_LL_CONTEXT_INNER_SRC = 18, /* LL_CONTEXT_INNER_SRC */
495 YYSYMBOL_LL_CONTEXT_CLIENT_PROTO = 19, /* LL_CONTEXT_CLIENT_PROTO */
496 YYSYMBOL_LL_CONTEXT_SERVER_PROTO = 20, /* LL_CONTEXT_SERVER_PROTO */
497 YYSYMBOL_LL_CONTEXT_OPTIONS = 21, /* LL_CONTEXT_OPTIONS */
498 YYSYMBOL_LL_CONTEXT_CONFIG = 22, /* LL_CONTEXT_CONFIG */
499 YYSYMBOL_LL_CONTEXT_MAX = 23, /* LL_CONTEXT_MAX */
500 YYSYMBOL_KW_SOURCE = 24, /* KW_SOURCE */
501 YYSYMBOL_KW_FILTER = 25, /* KW_FILTER */
502 YYSYMBOL_KW_PARSER = 26, /* KW_PARSER */
503 YYSYMBOL_KW_DESTINATION = 27, /* KW_DESTINATION */
504 YYSYMBOL_KW_LOG = 28, /* KW_LOG */
505 YYSYMBOL_KW_OPTIONS = 29, /* KW_OPTIONS */
506 YYSYMBOL_KW_INCLUDE = 30, /* KW_INCLUDE */
507 YYSYMBOL_KW_BLOCK = 31, /* KW_BLOCK */
508 YYSYMBOL_KW_JUNCTION = 32, /* KW_JUNCTION */
509 YYSYMBOL_KW_CHANNEL = 33, /* KW_CHANNEL */
510 YYSYMBOL_KW_IF = 34, /* KW_IF */
511 YYSYMBOL_KW_ELSE = 35, /* KW_ELSE */
512 YYSYMBOL_KW_ELIF = 36, /* KW_ELIF */
513 YYSYMBOL_KW_INTERNAL = 37, /* KW_INTERNAL */
514 YYSYMBOL_KW_SYSLOG = 38, /* KW_SYSLOG */
515 YYSYMBOL_KW_MARK_FREQ = 39, /* KW_MARK_FREQ */
516 YYSYMBOL_KW_STATS_FREQ = 40, /* KW_STATS_FREQ */
517 YYSYMBOL_KW_STATS_LEVEL = 41, /* KW_STATS_LEVEL */
518 YYSYMBOL_KW_STATS_LIFETIME = 42, /* KW_STATS_LIFETIME */
519 YYSYMBOL_KW_FLUSH_LINES = 43, /* KW_FLUSH_LINES */
520 YYSYMBOL_KW_SUPPRESS = 44, /* KW_SUPPRESS */
521 YYSYMBOL_KW_FLUSH_TIMEOUT = 45, /* KW_FLUSH_TIMEOUT */
522 YYSYMBOL_KW_LOG_MSG_SIZE = 46, /* KW_LOG_MSG_SIZE */
523 YYSYMBOL_KW_FILE_TEMPLATE = 47, /* KW_FILE_TEMPLATE */
524 YYSYMBOL_KW_PROTO_TEMPLATE = 48, /* KW_PROTO_TEMPLATE */
525 YYSYMBOL_KW_MARK_MODE = 49, /* KW_MARK_MODE */
526 YYSYMBOL_KW_ENCODING = 50, /* KW_ENCODING */
527 YYSYMBOL_KW_TYPE = 51, /* KW_TYPE */
528 YYSYMBOL_KW_STATS_MAX_DYNAMIC = 52, /* KW_STATS_MAX_DYNAMIC */
529 YYSYMBOL_KW_MIN_IW_SIZE_PER_READER = 53, /* KW_MIN_IW_SIZE_PER_READER */
530 YYSYMBOL_KW_WORKERS = 54, /* KW_WORKERS */
531 YYSYMBOL_KW_BATCH_LINES = 55, /* KW_BATCH_LINES */
532 YYSYMBOL_KW_BATCH_TIMEOUT = 56, /* KW_BATCH_TIMEOUT */
533 YYSYMBOL_KW_TRIM_LARGE_MESSAGES = 57, /* KW_TRIM_LARGE_MESSAGES */
534 YYSYMBOL_KW_CHAIN_HOSTNAMES = 58, /* KW_CHAIN_HOSTNAMES */
535 YYSYMBOL_KW_NORMALIZE_HOSTNAMES = 59, /* KW_NORMALIZE_HOSTNAMES */
536 YYSYMBOL_KW_KEEP_HOSTNAME = 60, /* KW_KEEP_HOSTNAME */
537 YYSYMBOL_KW_CHECK_HOSTNAME = 61, /* KW_CHECK_HOSTNAME */
538 YYSYMBOL_KW_BAD_HOSTNAME = 62, /* KW_BAD_HOSTNAME */
539 YYSYMBOL_KW_KEEP_TIMESTAMP = 63, /* KW_KEEP_TIMESTAMP */
540 YYSYMBOL_KW_USE_DNS = 64, /* KW_USE_DNS */
541 YYSYMBOL_KW_USE_FQDN = 65, /* KW_USE_FQDN */
542 YYSYMBOL_KW_CUSTOM_DOMAIN = 66, /* KW_CUSTOM_DOMAIN */
543 YYSYMBOL_KW_DNS_CACHE = 67, /* KW_DNS_CACHE */
544 YYSYMBOL_KW_DNS_CACHE_SIZE = 68, /* KW_DNS_CACHE_SIZE */
545 YYSYMBOL_KW_DNS_CACHE_EXPIRE = 69, /* KW_DNS_CACHE_EXPIRE */
546 YYSYMBOL_KW_DNS_CACHE_EXPIRE_FAILED = 70, /* KW_DNS_CACHE_EXPIRE_FAILED */
547 YYSYMBOL_KW_DNS_CACHE_HOSTS = 71, /* KW_DNS_CACHE_HOSTS */
548 YYSYMBOL_KW_PERSIST_ONLY = 72, /* KW_PERSIST_ONLY */
549 YYSYMBOL_KW_USE_RCPTID = 73, /* KW_USE_RCPTID */
550 YYSYMBOL_KW_USE_UNIQID = 74, /* KW_USE_UNIQID */
551 YYSYMBOL_KW_TZ_CONVERT = 75, /* KW_TZ_CONVERT */
552 YYSYMBOL_KW_TS_FORMAT = 76, /* KW_TS_FORMAT */
553 YYSYMBOL_KW_FRAC_DIGITS = 77, /* KW_FRAC_DIGITS */
554 YYSYMBOL_KW_LOG_FIFO_SIZE = 78, /* KW_LOG_FIFO_SIZE */
555 YYSYMBOL_KW_LOG_FETCH_LIMIT = 79, /* KW_LOG_FETCH_LIMIT */
556 YYSYMBOL_KW_LOG_IW_SIZE = 80, /* KW_LOG_IW_SIZE */
557 YYSYMBOL_KW_LOG_PREFIX = 81, /* KW_LOG_PREFIX */
558 YYSYMBOL_KW_PROGRAM_OVERRIDE = 82, /* KW_PROGRAM_OVERRIDE */
559 YYSYMBOL_KW_HOST_OVERRIDE = 83, /* KW_HOST_OVERRIDE */
560 YYSYMBOL_KW_THROTTLE = 84, /* KW_THROTTLE */
561 YYSYMBOL_KW_THREADED = 85, /* KW_THREADED */
562 YYSYMBOL_KW_PASS_UNIX_CREDENTIALS = 86, /* KW_PASS_UNIX_CREDENTIALS */
563 YYSYMBOL_KW_PERSIST_NAME = 87, /* KW_PERSIST_NAME */
564 YYSYMBOL_KW_READ_OLD_RECORDS = 88, /* KW_READ_OLD_RECORDS */
565 YYSYMBOL_KW_USE_SYSLOGNG_PID = 89, /* KW_USE_SYSLOGNG_PID */
566 YYSYMBOL_KW_FLAGS = 90, /* KW_FLAGS */
567 YYSYMBOL_KW_PAD_SIZE = 91, /* KW_PAD_SIZE */
568 YYSYMBOL_KW_TIME_ZONE = 92, /* KW_TIME_ZONE */
569 YYSYMBOL_KW_RECV_TIME_ZONE = 93, /* KW_RECV_TIME_ZONE */
570 YYSYMBOL_KW_SEND_TIME_ZONE = 94, /* KW_SEND_TIME_ZONE */
571 YYSYMBOL_KW_LOCAL_TIME_ZONE = 95, /* KW_LOCAL_TIME_ZONE */
572 YYSYMBOL_KW_FORMAT = 96, /* KW_FORMAT */
573 YYSYMBOL_KW_TRUNCATE_SIZE = 97, /* KW_TRUNCATE_SIZE */
574 YYSYMBOL_KW_TIME_REOPEN = 98, /* KW_TIME_REOPEN */
575 YYSYMBOL_KW_TIME_REAP = 99, /* KW_TIME_REAP */
576 YYSYMBOL_KW_TIME_SLEEP = 100, /* KW_TIME_SLEEP */
577 YYSYMBOL_KW_TMPL_ESCAPE = 101, /* KW_TMPL_ESCAPE */
578 YYSYMBOL_KW_OPTIONAL = 102, /* KW_OPTIONAL */
579 YYSYMBOL_KW_CREATE_DIRS = 103, /* KW_CREATE_DIRS */
580 YYSYMBOL_KW_OWNER = 104, /* KW_OWNER */
581 YYSYMBOL_KW_GROUP = 105, /* KW_GROUP */
582 YYSYMBOL_KW_PERM = 106, /* KW_PERM */
583 YYSYMBOL_KW_DIR_OWNER = 107, /* KW_DIR_OWNER */
584 YYSYMBOL_KW_DIR_GROUP = 108, /* KW_DIR_GROUP */
585 YYSYMBOL_KW_DIR_PERM = 109, /* KW_DIR_PERM */
586 YYSYMBOL_KW_TEMPLATE = 110, /* KW_TEMPLATE */
587 YYSYMBOL_KW_TEMPLATE_ESCAPE = 111, /* KW_TEMPLATE_ESCAPE */
588 YYSYMBOL_KW_TEMPLATE_FUNCTION = 112, /* KW_TEMPLATE_FUNCTION */
589 YYSYMBOL_KW_DEFAULT_FACILITY = 113, /* KW_DEFAULT_FACILITY */
590 YYSYMBOL_KW_DEFAULT_SEVERITY = 114, /* KW_DEFAULT_SEVERITY */
591 YYSYMBOL_KW_PORT = 115, /* KW_PORT */
592 YYSYMBOL_KW_USE_TIME_RECVD = 116, /* KW_USE_TIME_RECVD */
593 YYSYMBOL_KW_FACILITY = 117, /* KW_FACILITY */
594 YYSYMBOL_KW_SEVERITY = 118, /* KW_SEVERITY */
595 YYSYMBOL_KW_HOST = 119, /* KW_HOST */
596 YYSYMBOL_KW_MATCH = 120, /* KW_MATCH */
597 YYSYMBOL_KW_MESSAGE = 121, /* KW_MESSAGE */
598 YYSYMBOL_KW_NETMASK = 122, /* KW_NETMASK */
599 YYSYMBOL_KW_TAGS = 123, /* KW_TAGS */
600 YYSYMBOL_KW_NETMASK6 = 124, /* KW_NETMASK6 */
601 YYSYMBOL_KW_REWRITE = 125, /* KW_REWRITE */
602 YYSYMBOL_KW_CONDITION = 126, /* KW_CONDITION */
603 YYSYMBOL_KW_VALUE = 127, /* KW_VALUE */
604 YYSYMBOL_KW_YES = 128, /* KW_YES */
605 YYSYMBOL_KW_NO = 129, /* KW_NO */
606 YYSYMBOL_KW_IFDEF = 130, /* KW_IFDEF */
607 YYSYMBOL_KW_ENDIF = 131, /* KW_ENDIF */
608 YYSYMBOL_LL_DOTDOT = 132, /* LL_DOTDOT */
609 YYSYMBOL_LL_DOTDOTDOT = 133, /* LL_DOTDOTDOT */
610 YYSYMBOL_LL_PRAGMA = 134, /* LL_PRAGMA */
611 YYSYMBOL_LL_EOL = 135, /* LL_EOL */
612 YYSYMBOL_LL_ERROR = 136, /* LL_ERROR */
613 YYSYMBOL_LL_ARROW = 137, /* LL_ARROW */
614 YYSYMBOL_LL_IDENTIFIER = 138, /* LL_IDENTIFIER */
615 YYSYMBOL_LL_NUMBER = 139, /* LL_NUMBER */
616 YYSYMBOL_LL_FLOAT = 140, /* LL_FLOAT */
617 YYSYMBOL_LL_STRING = 141, /* LL_STRING */
618 YYSYMBOL_LL_TOKEN = 142, /* LL_TOKEN */
619 YYSYMBOL_LL_BLOCK = 143, /* LL_BLOCK */
620 YYSYMBOL_KW_VALUE_PAIRS = 144, /* KW_VALUE_PAIRS */
621 YYSYMBOL_KW_EXCLUDE = 145, /* KW_EXCLUDE */
622 YYSYMBOL_KW_PAIR = 146, /* KW_PAIR */
623 YYSYMBOL_KW_KEY = 147, /* KW_KEY */
624 YYSYMBOL_KW_SCOPE = 148, /* KW_SCOPE */
625 YYSYMBOL_KW_SHIFT = 149, /* KW_SHIFT */
626 YYSYMBOL_KW_SHIFT_LEVELS = 150, /* KW_SHIFT_LEVELS */
627 YYSYMBOL_KW_REKEY = 151, /* KW_REKEY */
628 YYSYMBOL_KW_ADD_PREFIX = 152, /* KW_ADD_PREFIX */
629 YYSYMBOL_KW_REPLACE_PREFIX = 153, /* KW_REPLACE_PREFIX */
630 YYSYMBOL_KW_ON_ERROR = 154, /* KW_ON_ERROR */
631 YYSYMBOL_KW_RETRIES = 155, /* KW_RETRIES */
632 YYSYMBOL_KW_FETCH_NO_DATA_DELAY = 156, /* KW_FETCH_NO_DATA_DELAY */
633 YYSYMBOL_KW_MAP_VALUE_PAIRS = 157, /* KW_MAP_VALUE_PAIRS */
634 YYSYMBOL_158_ = 158, /* '(' */
635 YYSYMBOL_159_ = 159, /* ')' */
636 YYSYMBOL_160_ = 160, /* '{' */
637 YYSYMBOL_161_ = 161, /* '}' */
638 YYSYMBOL_162_ = 162, /* ';' */
639 YYSYMBOL_163_ = 163, /* ':' */
640 YYSYMBOL_YYACCEPT = 164, /* $accept */
641 YYSYMBOL_start = 165, /* start */
642 YYSYMBOL_166_1 = 166, /* $@1 */
643 YYSYMBOL_map_names_options = 167, /* map_names_options */
644 YYSYMBOL_map_names_option = 168, /* map_names_option */
645 YYSYMBOL_template_content_inner = 169, /* template_content_inner */
646 YYSYMBOL_template_content = 170, /* template_content */
647 YYSYMBOL_171_7 = 171, /* $@7 */
648 YYSYMBOL_string = 172, /* string */
649 YYSYMBOL_positive_integer64 = 173, /* positive_integer64 */
650 YYSYMBOL_positive_integer = 174, /* positive_integer */
651 YYSYMBOL_string_list = 175, /* string_list */
652 YYSYMBOL_string_list_build = 176, /* string_list_build */
653 YYSYMBOL_vp_option = 177, /* vp_option */
654 YYSYMBOL_178_16 = 178, /* $@16 */
655 YYSYMBOL_179_17 = 179, /* $@17 */
656 YYSYMBOL_180_18 = 180, /* $@18 */
657 YYSYMBOL_vp_scope_list = 181, /* vp_scope_list */
658 YYSYMBOL_vp_rekey_options = 182, /* vp_rekey_options */
659 YYSYMBOL_vp_rekey_option = 183 /* vp_rekey_option */
660 };
661 typedef enum yysymbol_kind_t yysymbol_kind_t;
662
663
664
665 /* Unqualified %code blocks. */
666 #line 31 "modules/map-value-pairs/map-value-pairs-grammar.y"
667
668
669 #include "cfg-grammar-internal.h"
670 #include "cfg-parser.h"
671 #include "plugin.h"
672 #line 52 "modules/map-value-pairs/map-value-pairs-grammar.y"
673
674
675 # define YYLLOC_DEFAULT(Current, Rhs, N) \
676 do { \
677 if (N) \
678 { \
679 (Current).level = YYRHSLOC(Rhs, 1).level; \
680 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
681 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
682 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
683 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
684 } \
685 else \
686 { \
687 (Current).level = YYRHSLOC(Rhs, 0).level; \
688 (Current).first_line = (Current).last_line = \
689 YYRHSLOC (Rhs, 0).last_line; \
690 (Current).first_column = (Current).last_column = \
691 YYRHSLOC (Rhs, 0).last_column; \
692 } \
693 } while (0)
694
695 #define CHECK_ERROR_WITHOUT_MESSAGE(val, token) do { \
696 if (!(val)) \
697 { \
698 YYERROR; \
699 } \
700 } while (0)
701
702 #define CHECK_ERROR(val, token, errorfmt, ...) do { \
703 if (!(val)) \
704 { \
705 if (errorfmt) \
706 { \
707 gchar __buf[256]; \
708 g_snprintf(__buf, sizeof(__buf), errorfmt, ## __VA_ARGS__); \
709 yyerror(& (token), lexer, NULL, NULL, __buf); \
710 } \
711 YYERROR; \
712 } \
713 } while (0)
714
715 #define CHECK_ERROR_GERROR(val, token, error, errorfmt, ...) do { \
716 if (!(val)) \
717 { \
718 if (errorfmt) \
719 { \
720 gchar __buf[256]; \
721 g_snprintf(__buf, sizeof(__buf), errorfmt ", error=%s", ## __VA_ARGS__, error->message); \
722 yyerror(& (token), lexer, NULL, NULL, __buf); \
723 } \
724 g_clear_error(&error); \
725 YYERROR; \
726 } \
727 } while (0)
728
729 #define YYMAXDEPTH 20000
730
731
732
733 #line 734 "modules/map-value-pairs/map-value-pairs-grammar.c"
734
735 #ifdef short
736 # undef short
737 #endif
738
739 /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
740 <limits.h> and (if available) <stdint.h> are included
741 so that the code can choose integer types of a good width. */
742
743 #ifndef __PTRDIFF_MAX__
744 # include <limits.h> /* INFRINGES ON USER NAME SPACE */
745 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
746 # include <stdint.h> /* INFRINGES ON USER NAME SPACE */
747 # define YY_STDINT_H
748 # endif
749 #endif
750
751 /* Narrow types that promote to a signed type and that can represent a
752 signed or unsigned integer of at least N bits. In tables they can
753 save space and decrease cache pressure. Promoting to a signed type
754 helps avoid bugs in integer arithmetic. */
755
756 #ifdef __INT_LEAST8_MAX__
757 typedef __INT_LEAST8_TYPE__ yytype_int8;
758 #elif defined YY_STDINT_H
759 typedef int_least8_t yytype_int8;
760 #else
761 typedef signed char yytype_int8;
762 #endif
763
764 #ifdef __INT_LEAST16_MAX__
765 typedef __INT_LEAST16_TYPE__ yytype_int16;
766 #elif defined YY_STDINT_H
767 typedef int_least16_t yytype_int16;
768 #else
769 typedef short yytype_int16;
770 #endif
771
772 /* Work around bug in HP-UX 11.23, which defines these macros
773 incorrectly for preprocessor constants. This workaround can likely
774 be removed in 2023, as HPE has promised support for HP-UX 11.23
775 (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
776 <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
777 #ifdef __hpux
778 # undef UINT_LEAST8_MAX
779 # undef UINT_LEAST16_MAX
780 # define UINT_LEAST8_MAX 255
781 # define UINT_LEAST16_MAX 65535
782 #endif
783
784 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
785 typedef __UINT_LEAST8_TYPE__ yytype_uint8;
786 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
787 && UINT_LEAST8_MAX <= INT_MAX)
788 typedef uint_least8_t yytype_uint8;
789 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
790 typedef unsigned char yytype_uint8;
791 #else
792 typedef short yytype_uint8;
793 #endif
794
795 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
796 typedef __UINT_LEAST16_TYPE__ yytype_uint16;
797 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
798 && UINT_LEAST16_MAX <= INT_MAX)
799 typedef uint_least16_t yytype_uint16;
800 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
801 typedef unsigned short yytype_uint16;
802 #else
803 typedef int yytype_uint16;
804 #endif
805
806 #ifndef YYPTRDIFF_T
807 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
808 # define YYPTRDIFF_T __PTRDIFF_TYPE__
809 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
810 # elif defined PTRDIFF_MAX
811 # ifndef ptrdiff_t
812 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
813 # endif
814 # define YYPTRDIFF_T ptrdiff_t
815 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
816 # else
817 # define YYPTRDIFF_T long
818 # define YYPTRDIFF_MAXIMUM LONG_MAX
819 # endif
820 #endif
821
822 #ifndef YYSIZE_T
823 # ifdef __SIZE_TYPE__
824 # define YYSIZE_T __SIZE_TYPE__
825 # elif defined size_t
826 # define YYSIZE_T size_t
827 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
828 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
829 # define YYSIZE_T size_t
830 # else
831 # define YYSIZE_T unsigned
832 # endif
833 #endif
834
835 #define YYSIZE_MAXIMUM \
836 YY_CAST (YYPTRDIFF_T, \
837 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
838 ? YYPTRDIFF_MAXIMUM \
839 : YY_CAST (YYSIZE_T, -1)))
840
841 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
842
843
844 /* Stored state numbers (used for stacks). */
845 typedef yytype_int8 yy_state_t;
846
847 /* State numbers in computations. */
848 typedef int yy_state_fast_t;
849
850 #ifndef YY_
851 # if defined YYENABLE_NLS && YYENABLE_NLS
852 # if ENABLE_NLS
853 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
854 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
855 # endif
856 # endif
857 # ifndef YY_
858 # define YY_(Msgid) Msgid
859 # endif
860 #endif
861
862
863 #ifndef YY_ATTRIBUTE_PURE
864 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
865 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
866 # else
867 # define YY_ATTRIBUTE_PURE
868 # endif
869 #endif
870
871 #ifndef YY_ATTRIBUTE_UNUSED
872 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
873 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
874 # else
875 # define YY_ATTRIBUTE_UNUSED
876 # endif
877 #endif
878
879 /* Suppress unused-variable warnings by "using" E. */
880 #if ! defined lint || defined __GNUC__
881 # define YY_USE(E) ((void) (E))
882 #else
883 # define YY_USE(E) /* empty */
884 #endif
885
886 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
887 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
888 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
889 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
890 _Pragma ("GCC diagnostic push") \
891 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
892 # else
893 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
894 _Pragma ("GCC diagnostic push") \
895 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
896 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
897 # endif
898 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
899 _Pragma ("GCC diagnostic pop")
900 #else
901 # define YY_INITIAL_VALUE(Value) Value
902 #endif
903 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
904 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
905 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
906 #endif
907 #ifndef YY_INITIAL_VALUE
908 # define YY_INITIAL_VALUE(Value) /* Nothing. */
909 #endif
910
911 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
912 # define YY_IGNORE_USELESS_CAST_BEGIN \
913 _Pragma ("GCC diagnostic push") \
914 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
915 # define YY_IGNORE_USELESS_CAST_END \
916 _Pragma ("GCC diagnostic pop")
917 #endif
918 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
919 # define YY_IGNORE_USELESS_CAST_BEGIN
920 # define YY_IGNORE_USELESS_CAST_END
921 #endif
922
923
924 #define YY_ASSERT(E) ((void) (0 && (E)))
925
926 #if 1
927
928 /* The parser invokes alloca or malloc; define the necessary symbols. */
929
930 # ifdef YYSTACK_USE_ALLOCA
931 # if YYSTACK_USE_ALLOCA
932 # ifdef __GNUC__
933 # define YYSTACK_ALLOC __builtin_alloca
934 # elif defined __BUILTIN_VA_ARG_INCR
935 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
936 # elif defined _AIX
937 # define YYSTACK_ALLOC __alloca
938 # elif defined _MSC_VER
939 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
940 # define alloca _alloca
941 # else
942 # define YYSTACK_ALLOC alloca
943 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
944 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
945 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
946 # ifndef EXIT_SUCCESS
947 # define EXIT_SUCCESS 0
948 # endif
949 # endif
950 # endif
951 # endif
952 # endif
953
954 # ifdef YYSTACK_ALLOC
955 /* Pacify GCC's 'empty if-body' warning. */
956 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
957 # ifndef YYSTACK_ALLOC_MAXIMUM
958 /* The OS might guarantee only one guard page at the bottom of the stack,
959 and a page size can be as small as 4096 bytes. So we cannot safely
960 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
961 to allow for a few compiler-allocated temporary stack slots. */
962 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
963 # endif
964 # else
965 # define YYSTACK_ALLOC YYMALLOC
966 # define YYSTACK_FREE YYFREE
967 # ifndef YYSTACK_ALLOC_MAXIMUM
968 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
969 # endif
970 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
971 && ! ((defined YYMALLOC || defined malloc) \
972 && (defined YYFREE || defined free)))
973 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
974 # ifndef EXIT_SUCCESS
975 # define EXIT_SUCCESS 0
976 # endif
977 # endif
978 # ifndef YYMALLOC
979 # define YYMALLOC malloc
980 # if ! defined malloc && ! defined EXIT_SUCCESS
981 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
982 # endif
983 # endif
984 # ifndef YYFREE
985 # define YYFREE free
986 # if ! defined free && ! defined EXIT_SUCCESS
987 void free (void *); /* INFRINGES ON USER NAME SPACE */
988 # endif
989 # endif
990 # endif
991 #endif /* 1 */
992
993 #if (! defined yyoverflow \
994 && (! defined __cplusplus \
995 || (defined MAP_VALUE_PAIRS_LTYPE_IS_TRIVIAL && MAP_VALUE_PAIRS_LTYPE_IS_TRIVIAL \
996 && defined MAP_VALUE_PAIRS_STYPE_IS_TRIVIAL && MAP_VALUE_PAIRS_STYPE_IS_TRIVIAL)))
997
998 /* A type that is properly aligned for any stack member. */
999 union yyalloc
1000 {
1001 yy_state_t yyss_alloc;
1002 YYSTYPE yyvs_alloc;
1003 YYLTYPE yyls_alloc;
1004 };
1005
1006 /* The size of the maximum gap between one aligned stack and the next. */
1007 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
1008
1009 /* The size of an array large to enough to hold all stacks, each with
1010 N elements. */
1011 # define YYSTACK_BYTES(N) \
1012 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE) \
1013 + YYSIZEOF (YYLTYPE)) \
1014 + 2 * YYSTACK_GAP_MAXIMUM)
1015
1016 # define YYCOPY_NEEDED 1
1017
1018 /* Relocate STACK from its old location to the new one. The
1019 local variables YYSIZE and YYSTACKSIZE give the old and new number of
1020 elements in the stack, and YYPTR gives the new location of the
1021 stack. Advance YYPTR to a properly aligned location for the next
1022 stack. */
1023 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1024 do \
1025 { \
1026 YYPTRDIFF_T yynewbytes; \
1027 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1028 Stack = &yyptr->Stack_alloc; \
1029 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
1030 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
1031 } \
1032 while (0)
1033
1034 #endif
1035
1036 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1037 /* Copy COUNT objects from SRC to DST. The source and destination do
1038 not overlap. */
1039 # ifndef YYCOPY
1040 # if defined __GNUC__ && 1 < __GNUC__
1041 # define YYCOPY(Dst, Src, Count) \
1042 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
1043 # else
1044 # define YYCOPY(Dst, Src, Count) \
1045 do \
1046 { \
1047 YYPTRDIFF_T yyi; \
1048 for (yyi = 0; yyi < (Count); yyi++) \
1049 (Dst)[yyi] = (Src)[yyi]; \
1050 } \
1051 while (0)
1052 # endif
1053 # endif
1054 #endif /* !YYCOPY_NEEDED */
1055
1056 /* YYFINAL -- State number of the termination state. */
1057 #define YYFINAL 4
1058 /* YYLAST -- Last index in YYTABLE. */
1059 #define YYLAST 65
1060
1061 /* YYNTOKENS -- Number of terminals. */
1062 #define YYNTOKENS 164
1063 /* YYNNTS -- Number of nonterminals. */
1064 #define YYNNTS 20
1065 /* YYNRULES -- Number of rules. */
1066 #define YYNRULES 35
1067 /* YYNSTATES -- Number of states. */
1068 #define YYNSTATES 81
1069
1070 /* YYMAXUTOK -- Last valid token kind. */
1071 #define YYMAXUTOK 10515
1072
1073
1074 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1075 as returned by yylex, with out-of-bounds checking. */
1076 #define YYTRANSLATE(YYX) \
1077 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
1078 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
1079 : YYSYMBOL_YYUNDEF)
1080
1081 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1082 as returned by yylex. */
1083 static const yytype_uint8 yytranslate[] =
1084 {
1085 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1086 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1087 22, 23, 2, 2, 2, 2, 2, 2, 2, 2,
1088 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1089 158, 159, 2, 2, 2, 2, 2, 2, 2, 2,
1090 2, 2, 2, 2, 2, 2, 2, 2, 163, 162,
1091 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1092 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1093 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1094 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1095 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1096 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1097 2, 2, 2, 160, 2, 161, 2, 2, 2, 2,
1098 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1099 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1100 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1101 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1102 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1103 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1104 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1105 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1106 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1107 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1108 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1109 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1110 2, 2, 2, 2, 2, 2, 1, 2, 2, 2,
1111 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1112 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1113 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1114 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1115 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1116 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1117 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1118 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1119 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1120 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1121 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1122 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1123 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1124 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1125 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1126 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1127 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1128 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1129 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1130 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1131 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1132 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1133 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1134 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1135 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1136 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1137 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1138 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1139 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1140 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1141 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1142 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1143 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1144 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1145 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1146 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1147 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1148 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1149 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1150 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1151 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1152 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1153 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1154 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1155 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1156 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1157 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1158 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1159 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1160 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1161 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1162 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1163 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1164 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1165 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1166 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1167 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1168 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1169 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1170 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1171 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1172 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1173 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1174 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1175 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1176 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1177 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1178 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1179 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1180 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1181 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1182 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1183 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1184 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1185 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1186 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1187 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1188 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1189 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1190 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1191 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1192 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1193 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1194 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1195 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1196 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1197 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1198 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1199 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1200 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1201 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1202 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1203 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1204 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1205 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1206 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1207 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1208 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1209 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1210 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1211 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1212 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1213 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1214 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1215 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1216 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1217 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1224 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1230 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1246 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1247 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1248 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1250 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1251 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1252 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1253 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1254 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1255 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1256 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1257 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1258 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1259 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1260 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1261 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1262 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1263 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1264 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1265 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1266 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1267 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1268 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1269 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1270 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1271 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1272 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1273 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1274 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1275 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1276 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1277 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1278 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1279 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1280 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1281 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1282 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1283 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1284 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1285 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1286 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1287 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1288 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1289 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1290 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1291 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1292 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1293 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1294 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1295 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1296 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1297 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1298 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1299 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1300 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1301 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1302 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1303 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1304 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1305 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1306 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1307 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1308 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1309 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1310 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1311 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1312 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1313 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1315 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1316 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1358 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1359 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1360 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1361 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1363 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1364 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1365 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1366 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1367 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1368 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1369 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1370 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1371 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1372 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1373 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1374 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1375 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1376 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1377 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1378 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1379 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1380 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1381 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1382 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1383 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1384 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1385 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1386 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1387 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1388 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1389 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1390 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1391 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1392 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1393 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1394 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1395 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1396 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1397 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1398 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1399 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1400 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1401 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1402 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1403 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1404 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1405 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1406 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1407 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1408 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1409 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1410 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1411 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1412 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1413 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1414 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1415 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1416 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1417 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1418 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1419 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1420 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1421 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1422 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1423 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1424 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1425 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1426 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1427 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1428 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1429 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1430 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1431 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1432 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1433 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1434 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1435 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1436 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1437 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1438 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1439 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1440 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1441 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1442 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1443 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1444 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1445 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1446 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1447 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1448 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1449 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1450 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1451 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1452 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1453 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1454 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1455 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1456 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1457 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1458 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1459 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1460 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1461 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1462 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1463 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1464 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1465 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1466 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1467 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1468 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1469 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1470 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1471 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1472 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1473 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1474 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1475 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1476 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1477 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1478 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1479 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1480 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1481 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1482 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1483 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1484 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1485 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1486 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1487 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1488 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1489 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1490 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1491 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1492 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1493 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1494 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1495 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1496 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1497 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1498 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1499 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1500 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1501 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1502 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1503 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1504 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1505 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1506 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1507 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1508 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1509 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1510 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1511 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1512 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1513 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1514 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1515 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1516 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1517 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1518 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1519 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1520 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1521 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1522 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1523 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1524 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1525 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1526 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1527 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1528 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1529 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1530 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1531 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1532 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1533 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1534 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1535 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1536 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1537 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1538 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1539 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1540 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1541 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1542 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1543 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1544 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1545 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1546 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1547 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1548 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1549 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1550 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1551 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1552 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1553 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1554 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1555 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1556 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1557 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1558 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1559 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1560 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1561 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1562 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1563 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1564 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1565 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1566 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1567 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1568 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1569 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1570 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1571 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1572 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1573 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1574 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1575 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1576 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1577 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1578 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1579 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1580 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1584 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1585 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1588 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1589 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1590 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1591 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1592 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1593 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1594 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1595 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1596 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1597 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1598 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1599 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1600 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1601 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1602 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1603 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1604 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1605 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1606 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1607 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1608 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1609 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1610 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1611 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1612 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1613 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1614 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1615 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1616 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1617 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1618 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1619 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1620 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1621 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1622 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1623 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1624 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1625 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1626 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1627 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1628 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1629 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1630 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1631 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1632 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1633 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1634 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1635 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1636 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1637 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1638 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1639 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1640 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1641 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1642 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1643 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1644 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1645 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1646 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1647 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1648 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1649 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1650 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1651 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1652 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1653 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1654 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1655 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1656 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1657 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1658 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1659 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1660 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1661 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1662 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1663 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1664 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1665 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1666 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1667 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1668 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1669 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1670 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1671 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1672 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1673 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1674 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1675 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1676 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1677 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1678 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1679 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1680 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1681 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1682 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1683 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1684 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1685 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1686 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1687 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1688 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1689 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1690 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1691 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1692 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1693 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1694 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1695 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1696 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1697 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1698 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1699 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1700 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1701 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1702 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1703 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1704 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1705 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1706 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1707 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1708 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1709 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1710 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1711 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1712 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1713 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1714 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1715 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1716 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1717 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1718 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1719 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1720 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1721 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1722 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1723 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1724 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1725 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1726 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1727 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1728 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1729 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1730 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1731 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1732 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1733 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1734 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1735 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1736 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1737 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1738 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1739 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1740 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1741 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1742 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1743 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1744 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1745 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1746 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1747 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1748 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1749 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1750 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1751 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1752 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1753 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1754 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1755 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1756 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1757 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1758 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1759 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1760 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1761 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1762 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1763 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1764 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1765 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1766 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1767 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1768 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1769 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1770 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1771 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1772 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1773 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1774 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1775 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1776 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1777 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1778 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1779 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1780 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1781 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1782 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1783 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1784 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1785 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1786 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1787 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1788 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1789 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1790 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1791 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1792 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1793 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1794 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1795 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1796 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1797 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1798 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1799 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1800 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1801 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1802 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1803 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1804 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1805 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1806 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1807 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1808 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1809 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1810 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1811 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1812 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1813 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1814 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1815 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1816 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1817 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1818 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1819 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1820 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1821 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1822 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1823 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1824 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1825 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1826 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1827 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1828 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1829 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1830 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1831 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1832 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1833 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1834 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1835 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1836 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1837 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1838 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1839 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1840 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1841 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1842 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1843 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1844 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1845 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1846 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1847 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1848 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1849 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1850 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1851 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1852 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1853 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1854 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1855 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1856 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1857 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1858 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1859 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1860 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1861 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1862 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1863 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1864 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1865 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1866 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1867 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1868 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1869 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1870 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1871 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1872 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1873 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1874 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1875 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1876 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1877 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1878 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1879 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1880 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1881 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1882 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1883 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1884 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1885 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1886 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1887 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1888 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1889 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1890 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1891 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1892 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1893 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1894 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1895 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1896 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1897 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1898 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1899 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1900 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1901 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1902 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1903 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1904 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1905 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1906 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1907 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1908 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1909 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1910 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1911 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1912 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1913 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1914 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1915 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1916 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1917 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1918 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1919 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1920 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1921 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1922 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1923 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1924 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1925 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1926 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1927 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1928 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1929 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1930 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1931 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1932 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1933 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1934 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1935 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1936 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1937 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1938 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1939 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1940 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1941 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1942 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1943 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1944 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1945 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1946 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1947 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1948 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1949 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1950 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1951 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1952 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1953 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1954 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1955 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1956 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1957 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1958 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1959 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1960 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1961 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1962 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1963 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1964 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1965 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1966 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1967 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1968 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1969 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1970 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1971 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1972 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1973 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1974 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1975 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1976 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1977 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1978 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1979 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1980 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1981 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1982 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1983 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1984 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1985 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1986 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1987 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1988 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1989 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1990 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1991 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1992 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1993 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1994 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1995 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1996 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1997 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1998 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1999 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2000 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2001 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2002 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2003 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2004 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2005 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2006 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2007 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2008 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2009 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2010 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2011 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2012 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2013 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2014 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2015 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2016 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2017 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2018 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2019 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2020 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2021 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2022 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2023 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2024 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2025 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2026 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2027 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2028 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2029 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2030 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2031 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2032 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2033 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2034 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2035 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2036 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2037 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2038 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2039 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2040 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2041 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2042 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2043 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2044 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2045 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2046 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2047 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2048 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2049 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2050 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2051 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2052 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2053 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2054 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2055 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2056 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2057 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2058 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2059 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2060 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2061 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2062 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2063 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2064 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2065 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2066 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2067 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2068 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2069 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2070 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2071 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2072 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2073 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2074 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2075 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2076 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2077 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2078 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2079 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2080 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2081 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2082 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2083 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2084 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2085 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
2086 34, 35, 36, 2, 2, 2, 2, 2, 2, 2,
2087 37, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2088 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2089 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2090 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2091 38, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2092 2, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2093 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2094 58, 59, 60, 61, 62, 2, 2, 2, 2, 2,
2095 63, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2096 64, 65, 66, 2, 2, 2, 2, 2, 2, 2,
2097 67, 68, 2, 2, 2, 2, 2, 2, 2, 2,
2098 69, 70, 71, 2, 2, 2, 2, 2, 2, 2,
2099 72, 73, 74, 2, 2, 2, 2, 2, 2, 2,
2100 75, 76, 77, 2, 2, 2, 2, 2, 2, 2,
2101 78, 2, 79, 80, 81, 82, 83, 2, 2, 2,
2102 84, 85, 2, 2, 2, 2, 2, 2, 2, 2,
2103 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2104 90, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2105 91, 92, 93, 94, 95, 96, 97, 2, 2, 2,
2106 98, 99, 100, 2, 2, 2, 2, 2, 2, 2,
2107 101, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2108 102, 86, 2, 2, 2, 2, 2, 2, 2, 2,
2109 103, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2110 104, 105, 106, 2, 2, 2, 2, 2, 2, 2,
2111 107, 108, 109, 2, 2, 2, 2, 2, 2, 2,
2112 110, 111, 112, 2, 2, 2, 2, 2, 2, 2,
2113 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2114 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2115 113, 114, 87, 2, 88, 89, 2, 2, 2, 2,
2116 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2117 2, 2, 2, 115, 2, 2, 2, 2, 2, 2,
2118 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2119 116, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2120 117, 118, 119, 120, 121, 122, 123, 124, 2, 2,
2121 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2122 125, 126, 127, 2, 2, 2, 2, 2, 2, 2,
2123 128, 129, 2, 2, 2, 2, 2, 2, 2, 2,
2124 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2125 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2126 130, 131, 2, 2, 2, 2, 2, 2, 2, 2,
2127 132, 133, 134, 135, 136, 137, 2, 2, 2, 2,
2128 138, 139, 140, 141, 142, 143, 2, 2, 2, 2,
2129 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2130 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2131 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2132 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2133 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2134 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2135 144, 2, 145, 146, 147, 148, 149, 150, 151, 152,
2136 153, 154, 155, 156, 2, 157
2137 };
2138
2139 #if MAP_VALUE_PAIRS_DEBUG
2140 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
2141 static const yytype_int16 yyrline[] =
2142 {
2143 0, 397, 397, 396, 405, 406, 410, 647, 654, 667,
2144 667, 678, 679, 708, 715, 776, 780, 781, 1103, 1108,
2145 1114, 1119, 1113, 1120, 1122, 1121, 1127, 1128, 1132, 1133,
2146 1137, 1138, 1142, 1143, 1144, 1145
2147 };
2148 #endif
2149
2150 /** Accessing symbol of state STATE. */
2151 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
2152
2153 #if 1
2154 /* The user-facing name of the symbol whose (internal) number is
2155 YYSYMBOL. No bounds checking. */
2156 static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
2157
2158 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
2159 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
2160 static const char *const yytname[] =
2161 {
2162 "\"end of file\"", "error", "\"invalid token\"", "LL_CONTEXT_ROOT",
2163 "LL_CONTEXT_DESTINATION", "LL_CONTEXT_SOURCE", "LL_CONTEXT_PARSER",
2164 "LL_CONTEXT_REWRITE", "LL_CONTEXT_FILTER", "LL_CONTEXT_LOG",
2165 "LL_CONTEXT_BLOCK_DEF", "LL_CONTEXT_BLOCK_REF",
2166 "LL_CONTEXT_BLOCK_CONTENT", "LL_CONTEXT_BLOCK_ARG", "LL_CONTEXT_PRAGMA",
2167 "LL_CONTEXT_FORMAT", "LL_CONTEXT_TEMPLATE_FUNC", "LL_CONTEXT_INNER_DEST",
2168 "LL_CONTEXT_INNER_SRC", "LL_CONTEXT_CLIENT_PROTO",
2169 "LL_CONTEXT_SERVER_PROTO", "LL_CONTEXT_OPTIONS", "LL_CONTEXT_CONFIG",
2170 "LL_CONTEXT_MAX", "KW_SOURCE", "KW_FILTER", "KW_PARSER",
2171 "KW_DESTINATION", "KW_LOG", "KW_OPTIONS", "KW_INCLUDE", "KW_BLOCK",
2172 "KW_JUNCTION", "KW_CHANNEL", "KW_IF", "KW_ELSE", "KW_ELIF",
2173 "KW_INTERNAL", "KW_SYSLOG", "KW_MARK_FREQ", "KW_STATS_FREQ",
2174 "KW_STATS_LEVEL", "KW_STATS_LIFETIME", "KW_FLUSH_LINES", "KW_SUPPRESS",
2175 "KW_FLUSH_TIMEOUT", "KW_LOG_MSG_SIZE", "KW_FILE_TEMPLATE",
2176 "KW_PROTO_TEMPLATE", "KW_MARK_MODE", "KW_ENCODING", "KW_TYPE",
2177 "KW_STATS_MAX_DYNAMIC", "KW_MIN_IW_SIZE_PER_READER", "KW_WORKERS",
2178 "KW_BATCH_LINES", "KW_BATCH_TIMEOUT", "KW_TRIM_LARGE_MESSAGES",
2179 "KW_CHAIN_HOSTNAMES", "KW_NORMALIZE_HOSTNAMES", "KW_KEEP_HOSTNAME",
2180 "KW_CHECK_HOSTNAME", "KW_BAD_HOSTNAME", "KW_KEEP_TIMESTAMP",
2181 "KW_USE_DNS", "KW_USE_FQDN", "KW_CUSTOM_DOMAIN", "KW_DNS_CACHE",
2182 "KW_DNS_CACHE_SIZE", "KW_DNS_CACHE_EXPIRE", "KW_DNS_CACHE_EXPIRE_FAILED",
2183 "KW_DNS_CACHE_HOSTS", "KW_PERSIST_ONLY", "KW_USE_RCPTID",
2184 "KW_USE_UNIQID", "KW_TZ_CONVERT", "KW_TS_FORMAT", "KW_FRAC_DIGITS",
2185 "KW_LOG_FIFO_SIZE", "KW_LOG_FETCH_LIMIT", "KW_LOG_IW_SIZE",
2186 "KW_LOG_PREFIX", "KW_PROGRAM_OVERRIDE", "KW_HOST_OVERRIDE",
2187 "KW_THROTTLE", "KW_THREADED", "KW_PASS_UNIX_CREDENTIALS",
2188 "KW_PERSIST_NAME", "KW_READ_OLD_RECORDS", "KW_USE_SYSLOGNG_PID",
2189 "KW_FLAGS", "KW_PAD_SIZE", "KW_TIME_ZONE", "KW_RECV_TIME_ZONE",
2190 "KW_SEND_TIME_ZONE", "KW_LOCAL_TIME_ZONE", "KW_FORMAT",
2191 "KW_TRUNCATE_SIZE", "KW_TIME_REOPEN", "KW_TIME_REAP", "KW_TIME_SLEEP",
2192 "KW_TMPL_ESCAPE", "KW_OPTIONAL", "KW_CREATE_DIRS", "KW_OWNER",
2193 "KW_GROUP", "KW_PERM", "KW_DIR_OWNER", "KW_DIR_GROUP", "KW_DIR_PERM",
2194 "KW_TEMPLATE", "KW_TEMPLATE_ESCAPE", "KW_TEMPLATE_FUNCTION",
2195 "KW_DEFAULT_FACILITY", "KW_DEFAULT_SEVERITY", "KW_PORT",
2196 "KW_USE_TIME_RECVD", "KW_FACILITY", "KW_SEVERITY", "KW_HOST", "KW_MATCH",
2197 "KW_MESSAGE", "KW_NETMASK", "KW_TAGS", "KW_NETMASK6", "KW_REWRITE",
2198 "KW_CONDITION", "KW_VALUE", "KW_YES", "KW_NO", "KW_IFDEF", "KW_ENDIF",
2199 "LL_DOTDOT", "LL_DOTDOTDOT", "LL_PRAGMA", "LL_EOL", "LL_ERROR",
2200 "LL_ARROW", "LL_IDENTIFIER", "LL_NUMBER", "LL_FLOAT", "LL_STRING",
2201 "LL_TOKEN", "LL_BLOCK", "KW_VALUE_PAIRS", "KW_EXCLUDE", "KW_PAIR",
2202 "KW_KEY", "KW_SCOPE", "KW_SHIFT", "KW_SHIFT_LEVELS", "KW_REKEY",
2203 "KW_ADD_PREFIX", "KW_REPLACE_PREFIX", "KW_ON_ERROR", "KW_RETRIES",
2204 "KW_FETCH_NO_DATA_DELAY", "KW_MAP_VALUE_PAIRS", "'('", "')'", "'{'",
2205 "'}'", "';'", "':'", "$accept", "start", "$@1", "map_names_options",
2206 "map_names_option", "template_content_inner", "template_content", "$@7",
2207 "string", "positive_integer64", "positive_integer", "string_list",
2208 "string_list_build", "vp_option", "$@16", "$@17", "$@18",
2209 "vp_scope_list", "vp_rekey_options", "vp_rekey_option", YY_NULLPTR
2210 };
2211
2212 static const char *
yysymbol_name(yysymbol_kind_t yysymbol)2213 yysymbol_name (yysymbol_kind_t yysymbol)
2214 {
2215 return yytname[yysymbol];
2216 }
2217 #endif
2218
2219 #define YYPACT_NINF (-152)
2220
2221 #define yypact_value_is_default(Yyn) \
2222 ((Yyn) == YYPACT_NINF)
2223
2224 #define YYTABLE_NINF (-1)
2225
2226 #define yytable_value_is_error(Yyn) \
2227 0
2228
2229 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2230 STATE-NUM. */
2231 static const yytype_int16 yypact[] =
2232 {
2233 12, -151, 25, -152, -152, -131, -136, -128, -127, -126,
2234 -124, -123, -122, -136, -152, -133, -133, -133, -133, -133,
2235 -152, -152, -152, -152, -133, -121, -152, -120, -134, -118,
2236 -133, -117, -152, -152, -152, -152, -113, -125, -119, -152,
2237 -152, -152, -130, -112, -152, -110, -152, -152, -152, -109,
2238 -108, -107, -106, -105, -130, -152, -133, -130, -103, -103,
2239 -133, -133, -152, -152, -102, -101, -152, -152, -100, -99,
2240 -98, -133, -152, -152, -152, -152, -152, -97, -96, -152,
2241 -152
2242 };
2243
2244 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2245 Performed when YYTABLE does not specify something else to do. Zero
2246 means the default is an error. */
2247 static const yytype_int8 yydefact[] =
2248 {
2249 0, 0, 0, 2, 1, 0, 5, 0, 0, 0,
2250 0, 0, 0, 5, 6, 17, 0, 17, 29, 0,
2251 3, 4, 11, 12, 17, 0, 15, 9, 17, 0,
2252 29, 0, 24, 16, 26, 9, 0, 0, 0, 23,
2253 28, 27, 31, 0, 19, 11, 10, 7, 20, 0,
2254 0, 0, 0, 0, 31, 18, 0, 31, 0, 0,
2255 0, 0, 25, 30, 0, 0, 13, 14, 0, 0,
2256 0, 0, 8, 21, 32, 33, 34, 0, 0, 35,
2257 22
2258 };
2259
2260 /* YYPGOTO[NTERM-NUM]. */
2261 static const yytype_int16 yypgoto[] =
2262 {
2263 -152, -152, -152, 20, -152, -152, 18, -152, -16, -152,
2264 -3, 47, 0, -152, -152, -152, -152, 35, -28, -152
2265 };
2266
2267 /* YYDEFGOTO[NTERM-NUM]. */
2268 static const yytype_int8 yydefgoto[] =
2269 {
2270 0, 2, 5, 12, 13, 46, 36, 37, 24, 67,
2271 68, 25, 26, 14, 57, 78, 42, 31, 53, 54
2272 };
2273
2274 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
2275 positive, shift that token. If negative, reduce the rule whose
2276 number is the opposite. If YYTABLE_NINF, syntax error. */
2277 static const yytype_int8 yytable[] =
2278 {
2279 27, 28, 30, 32, 22, 22, 3, 23, 23, 7,
2280 8, 9, 10, 45, 30, 11, 23, 38, 1, 49,
2281 50, 47, 51, 52, 33, 4, 63, 6, 33, 65,
2282 15, 16, 17, 21, 18, 19, 66, 20, 34, 48,
2283 64, 39, 41, 35, 70, 71, 44, 55, 56, 58,
2284 59, 60, 61, 43, 62, 77, 69, 72, 73, 74,
2285 75, 76, 79, 80, 29, 40
2286 };
2287
2288 static const yytype_uint8 yycheck[] =
2289 {
2290 16, 17, 18, 19, 138, 138, 157, 141, 141, 145,
2291 146, 147, 148, 138, 30, 151, 141, 151, 6, 149,
2292 150, 37, 152, 153, 24, 0, 54, 158, 28, 57,
2293 158, 158, 158, 13, 158, 158, 139, 159, 159, 158,
2294 56, 159, 159, 163, 60, 61, 159, 159, 158, 158,
2295 158, 158, 158, 35, 159, 71, 59, 159, 159, 159,
2296 159, 159, 159, 159, 17, 30
2297 };
2298
2299 /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
2300 state STATE-NUM. */
2301 static const yytype_uint8 yystos[] =
2302 {
2303 0, 6, 165, 157, 0, 166, 158, 145, 146, 147,
2304 148, 151, 167, 168, 177, 158, 158, 158, 158, 158,
2305 159, 167, 138, 141, 172, 175, 176, 172, 172, 175,
2306 172, 181, 172, 176, 159, 163, 170, 171, 151, 159,
2307 181, 159, 180, 170, 159, 138, 169, 172, 158, 149,
2308 150, 152, 153, 182, 183, 159, 158, 178, 158, 158,
2309 158, 158, 159, 182, 172, 182, 139, 173, 174, 174,
2310 172, 172, 159, 159, 159, 159, 159, 172, 179, 159,
2311 159
2312 };
2313
2314 /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
2315 static const yytype_uint8 yyr1[] =
2316 {
2317 0, 164, 166, 165, 167, 167, 168, 169, 169, 171,
2318 170, 172, 172, 173, 174, 175, 176, 176, 177, 177,
2319 178, 179, 177, 177, 180, 177, 177, 177, 181, 181,
2320 182, 182, 183, 183, 183, 183
2321 };
2322
2323 /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
2324 static const yytype_int8 yyr2[] =
2325 {
2326 0, 2, 0, 6, 2, 0, 1, 1, 4, 0,
2327 2, 1, 1, 1, 1, 1, 2, 0, 6, 5,
2328 0, 0, 10, 4, 0, 6, 4, 4, 2, 0,
2329 2, 0, 4, 4, 4, 5
2330 };
2331
2332
2333 enum { YYENOMEM = -2 };
2334
2335 #define yyerrok (yyerrstatus = 0)
2336 #define yyclearin (yychar = MAP_VALUE_PAIRS_EMPTY)
2337
2338 #define YYACCEPT goto yyacceptlab
2339 #define YYABORT goto yyabortlab
2340 #define YYERROR goto yyerrorlab
2341 #define YYNOMEM goto yyexhaustedlab
2342
2343
2344 #define YYRECOVERING() (!!yyerrstatus)
2345
2346 #define YYBACKUP(Token, Value) \
2347 do \
2348 if (yychar == MAP_VALUE_PAIRS_EMPTY) \
2349 { \
2350 yychar = (Token); \
2351 yylval = (Value); \
2352 YYPOPSTACK (yylen); \
2353 yystate = *yyssp; \
2354 goto yybackup; \
2355 } \
2356 else \
2357 { \
2358 yyerror (&yylloc, lexer, instance, arg, YY_("syntax error: cannot back up")); \
2359 YYERROR; \
2360 } \
2361 while (0)
2362
2363 /* Backward compatibility with an undocumented macro.
2364 Use MAP_VALUE_PAIRS_error or MAP_VALUE_PAIRS_UNDEF. */
2365 #define YYERRCODE MAP_VALUE_PAIRS_UNDEF
2366
2367 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2368 If N is 0, then set CURRENT to the empty location which ends
2369 the previous symbol: RHS[0] (always defined). */
2370
2371 #ifndef YYLLOC_DEFAULT
2372 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2373 do \
2374 if (N) \
2375 { \
2376 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2377 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2378 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2379 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2380 } \
2381 else \
2382 { \
2383 (Current).first_line = (Current).last_line = \
2384 YYRHSLOC (Rhs, 0).last_line; \
2385 (Current).first_column = (Current).last_column = \
2386 YYRHSLOC (Rhs, 0).last_column; \
2387 } \
2388 while (0)
2389 #endif
2390
2391 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2392
2393
2394 /* Enable debugging if requested. */
2395 #if MAP_VALUE_PAIRS_DEBUG
2396
2397 # ifndef YYFPRINTF
2398 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2399 # define YYFPRINTF fprintf
2400 # endif
2401
2402 # define YYDPRINTF(Args) \
2403 do { \
2404 if (yydebug) \
2405 YYFPRINTF Args; \
2406 } while (0)
2407
2408
2409 /* YYLOCATION_PRINT -- Print the location on the stream.
2410 This macro was not mandated originally: define only if we know
2411 we won't break user code: when these are the locations we know. */
2412
2413 # ifndef YYLOCATION_PRINT
2414
2415 # if defined YY_LOCATION_PRINT
2416
2417 /* Temporary convenience wrapper in case some people defined the
2418 undocumented and private YY_LOCATION_PRINT macros. */
2419 # define YYLOCATION_PRINT(File, Loc) YY_LOCATION_PRINT(File, *(Loc))
2420
2421 # elif defined MAP_VALUE_PAIRS_LTYPE_IS_TRIVIAL && MAP_VALUE_PAIRS_LTYPE_IS_TRIVIAL
2422
2423 /* Print *YYLOCP on YYO. Private, do not rely on its existence. */
2424
2425 YY_ATTRIBUTE_UNUSED
2426 static int
yy_location_print_(FILE * yyo,YYLTYPE const * const yylocp)2427 yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
2428 {
2429 int res = 0;
2430 int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
2431 if (0 <= yylocp->first_line)
2432 {
2433 res += YYFPRINTF (yyo, "%d", yylocp->first_line);
2434 if (0 <= yylocp->first_column)
2435 res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
2436 }
2437 if (0 <= yylocp->last_line)
2438 {
2439 if (yylocp->first_line < yylocp->last_line)
2440 {
2441 res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
2442 if (0 <= end_col)
2443 res += YYFPRINTF (yyo, ".%d", end_col);
2444 }
2445 else if (0 <= end_col && yylocp->first_column < end_col)
2446 res += YYFPRINTF (yyo, "-%d", end_col);
2447 }
2448 return res;
2449 }
2450
2451 # define YYLOCATION_PRINT yy_location_print_
2452
2453 /* Temporary convenience wrapper in case some people defined the
2454 undocumented and private YY_LOCATION_PRINT macros. */
2455 # define YY_LOCATION_PRINT(File, Loc) YYLOCATION_PRINT(File, &(Loc))
2456
2457 # else
2458
2459 # define YYLOCATION_PRINT(File, Loc) ((void) 0)
2460 /* Temporary convenience wrapper in case some people defined the
2461 undocumented and private YY_LOCATION_PRINT macros. */
2462 # define YY_LOCATION_PRINT YYLOCATION_PRINT
2463
2464 # endif
2465 # endif /* !defined YYLOCATION_PRINT */
2466
2467
2468 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
2469 do { \
2470 if (yydebug) \
2471 { \
2472 YYFPRINTF (stderr, "%s ", Title); \
2473 yy_symbol_print (stderr, \
2474 Kind, Value, Location, lexer, instance, arg); \
2475 YYFPRINTF (stderr, "\n"); \
2476 } \
2477 } while (0)
2478
2479
2480 /*-----------------------------------.
2481 | Print this symbol's value on YYO. |
2482 `-----------------------------------*/
2483
2484 static void
yy_symbol_value_print(FILE * yyo,yysymbol_kind_t yykind,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,CfgLexer * lexer,LogParser ** instance,gpointer arg)2485 yy_symbol_value_print (FILE *yyo,
2486 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, CfgLexer *lexer, LogParser **instance, gpointer arg)
2487 {
2488 FILE *yyoutput = yyo;
2489 YY_USE (yyoutput);
2490 YY_USE (yylocationp);
2491 YY_USE (lexer);
2492 YY_USE (instance);
2493 YY_USE (arg);
2494 if (!yyvaluep)
2495 return;
2496 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2497 YY_USE (yykind);
2498 YY_IGNORE_MAYBE_UNINITIALIZED_END
2499 }
2500
2501
2502 /*---------------------------.
2503 | Print this symbol on YYO. |
2504 `---------------------------*/
2505
2506 static void
yy_symbol_print(FILE * yyo,yysymbol_kind_t yykind,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,CfgLexer * lexer,LogParser ** instance,gpointer arg)2507 yy_symbol_print (FILE *yyo,
2508 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, CfgLexer *lexer, LogParser **instance, gpointer arg)
2509 {
2510 YYFPRINTF (yyo, "%s %s (",
2511 yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
2512
2513 YYLOCATION_PRINT (yyo, yylocationp);
2514 YYFPRINTF (yyo, ": ");
2515 yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp, lexer, instance, arg);
2516 YYFPRINTF (yyo, ")");
2517 }
2518
2519 /*------------------------------------------------------------------.
2520 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2521 | TOP (included). |
2522 `------------------------------------------------------------------*/
2523
2524 static void
yy_stack_print(yy_state_t * yybottom,yy_state_t * yytop)2525 yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
2526 {
2527 YYFPRINTF (stderr, "Stack now");
2528 for (; yybottom <= yytop; yybottom++)
2529 {
2530 int yybot = *yybottom;
2531 YYFPRINTF (stderr, " %d", yybot);
2532 }
2533 YYFPRINTF (stderr, "\n");
2534 }
2535
2536 # define YY_STACK_PRINT(Bottom, Top) \
2537 do { \
2538 if (yydebug) \
2539 yy_stack_print ((Bottom), (Top)); \
2540 } while (0)
2541
2542
2543 /*------------------------------------------------.
2544 | Report that the YYRULE is going to be reduced. |
2545 `------------------------------------------------*/
2546
2547 static void
yy_reduce_print(yy_state_t * yyssp,YYSTYPE * yyvsp,YYLTYPE * yylsp,int yyrule,CfgLexer * lexer,LogParser ** instance,gpointer arg)2548 yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp,
2549 int yyrule, CfgLexer *lexer, LogParser **instance, gpointer arg)
2550 {
2551 int yylno = yyrline[yyrule];
2552 int yynrhs = yyr2[yyrule];
2553 int yyi;
2554 YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
2555 yyrule - 1, yylno);
2556 /* The symbols being reduced. */
2557 for (yyi = 0; yyi < yynrhs; yyi++)
2558 {
2559 YYFPRINTF (stderr, " $%d = ", yyi + 1);
2560 yy_symbol_print (stderr,
2561 YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
2562 &yyvsp[(yyi + 1) - (yynrhs)],
2563 &(yylsp[(yyi + 1) - (yynrhs)]), lexer, instance, arg);
2564 YYFPRINTF (stderr, "\n");
2565 }
2566 }
2567
2568 # define YY_REDUCE_PRINT(Rule) \
2569 do { \
2570 if (yydebug) \
2571 yy_reduce_print (yyssp, yyvsp, yylsp, Rule, lexer, instance, arg); \
2572 } while (0)
2573
2574 /* Nonzero means print parse trace. It is left uninitialized so that
2575 multiple parsers can coexist. */
2576 int yydebug;
2577 #else /* !MAP_VALUE_PAIRS_DEBUG */
2578 # define YYDPRINTF(Args) ((void) 0)
2579 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
2580 # define YY_STACK_PRINT(Bottom, Top)
2581 # define YY_REDUCE_PRINT(Rule)
2582 #endif /* !MAP_VALUE_PAIRS_DEBUG */
2583
2584
2585 /* YYINITDEPTH -- initial size of the parser's stacks. */
2586 #ifndef YYINITDEPTH
2587 # define YYINITDEPTH 200
2588 #endif
2589
2590 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2591 if the built-in stack extension method is used).
2592
2593 Do not make this value too large; the results are undefined if
2594 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2595 evaluated with infinite-precision integer arithmetic. */
2596
2597 #ifndef YYMAXDEPTH
2598 # define YYMAXDEPTH 10000
2599 #endif
2600
2601
2602 /* Context of a parse error. */
2603 typedef struct
2604 {
2605 yy_state_t *yyssp;
2606 yysymbol_kind_t yytoken;
2607 YYLTYPE *yylloc;
2608 } yypcontext_t;
2609
2610 /* Put in YYARG at most YYARGN of the expected tokens given the
2611 current YYCTX, and return the number of tokens stored in YYARG. If
2612 YYARG is null, return the number of expected tokens (guaranteed to
2613 be less than YYNTOKENS). Return YYENOMEM on memory exhaustion.
2614 Return 0 if there are more than YYARGN expected tokens, yet fill
2615 YYARG up to YYARGN. */
2616 static int
yypcontext_expected_tokens(const yypcontext_t * yyctx,yysymbol_kind_t yyarg[],int yyargn)2617 yypcontext_expected_tokens (const yypcontext_t *yyctx,
2618 yysymbol_kind_t yyarg[], int yyargn)
2619 {
2620 /* Actual size of YYARG. */
2621 int yycount = 0;
2622 int yyn = yypact[+*yyctx->yyssp];
2623 if (!yypact_value_is_default (yyn))
2624 {
2625 /* Start YYX at -YYN if negative to avoid negative indexes in
2626 YYCHECK. In other words, skip the first -YYN actions for
2627 this state because they are default actions. */
2628 int yyxbegin = yyn < 0 ? -yyn : 0;
2629 /* Stay within bounds of both yycheck and yytname. */
2630 int yychecklim = YYLAST - yyn + 1;
2631 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2632 int yyx;
2633 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2634 if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYerror
2635 && !yytable_value_is_error (yytable[yyx + yyn]))
2636 {
2637 if (!yyarg)
2638 ++yycount;
2639 else if (yycount == yyargn)
2640 return 0;
2641 else
2642 yyarg[yycount++] = YY_CAST (yysymbol_kind_t, yyx);
2643 }
2644 }
2645 if (yyarg && yycount == 0 && 0 < yyargn)
2646 yyarg[0] = YYSYMBOL_YYEMPTY;
2647 return yycount;
2648 }
2649
2650
2651
2652
2653 #ifndef yystrlen
2654 # if defined __GLIBC__ && defined _STRING_H
2655 # define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
2656 # else
2657 /* Return the length of YYSTR. */
2658 static YYPTRDIFF_T
yystrlen(const char * yystr)2659 yystrlen (const char *yystr)
2660 {
2661 YYPTRDIFF_T yylen;
2662 for (yylen = 0; yystr[yylen]; yylen++)
2663 continue;
2664 return yylen;
2665 }
2666 # endif
2667 #endif
2668
2669 #ifndef yystpcpy
2670 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2671 # define yystpcpy stpcpy
2672 # else
2673 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2674 YYDEST. */
2675 static char *
yystpcpy(char * yydest,const char * yysrc)2676 yystpcpy (char *yydest, const char *yysrc)
2677 {
2678 char *yyd = yydest;
2679 const char *yys = yysrc;
2680
2681 while ((*yyd++ = *yys++) != '\0')
2682 continue;
2683
2684 return yyd - 1;
2685 }
2686 # endif
2687 #endif
2688
2689 #ifndef yytnamerr
2690 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2691 quotes and backslashes, so that it's suitable for yyerror. The
2692 heuristic is that double-quoting is unnecessary unless the string
2693 contains an apostrophe, a comma, or backslash (other than
2694 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2695 null, do not copy; instead, return the length of what the result
2696 would have been. */
2697 static YYPTRDIFF_T
yytnamerr(char * yyres,const char * yystr)2698 yytnamerr (char *yyres, const char *yystr)
2699 {
2700 if (*yystr == '"')
2701 {
2702 YYPTRDIFF_T yyn = 0;
2703 char const *yyp = yystr;
2704 for (;;)
2705 switch (*++yyp)
2706 {
2707 case '\'':
2708 case ',':
2709 goto do_not_strip_quotes;
2710
2711 case '\\':
2712 if (*++yyp != '\\')
2713 goto do_not_strip_quotes;
2714 else
2715 goto append;
2716
2717 append:
2718 default:
2719 if (yyres)
2720 yyres[yyn] = *yyp;
2721 yyn++;
2722 break;
2723
2724 case '"':
2725 if (yyres)
2726 yyres[yyn] = '\0';
2727 return yyn;
2728 }
2729 do_not_strip_quotes: ;
2730 }
2731
2732 if (yyres)
2733 return yystpcpy (yyres, yystr) - yyres;
2734 else
2735 return yystrlen (yystr);
2736 }
2737 #endif
2738
2739
2740 static int
yy_syntax_error_arguments(const yypcontext_t * yyctx,yysymbol_kind_t yyarg[],int yyargn)2741 yy_syntax_error_arguments (const yypcontext_t *yyctx,
2742 yysymbol_kind_t yyarg[], int yyargn)
2743 {
2744 /* Actual size of YYARG. */
2745 int yycount = 0;
2746 /* There are many possibilities here to consider:
2747 - If this state is a consistent state with a default action, then
2748 the only way this function was invoked is if the default action
2749 is an error action. In that case, don't check for expected
2750 tokens because there are none.
2751 - The only way there can be no lookahead present (in yychar) is if
2752 this state is a consistent state with a default action. Thus,
2753 detecting the absence of a lookahead is sufficient to determine
2754 that there is no unexpected or expected token to report. In that
2755 case, just report a simple "syntax error".
2756 - Don't assume there isn't a lookahead just because this state is a
2757 consistent state with a default action. There might have been a
2758 previous inconsistent state, consistent state with a non-default
2759 action, or user semantic action that manipulated yychar.
2760 - Of course, the expected token list depends on states to have
2761 correct lookahead information, and it depends on the parser not
2762 to perform extra reductions after fetching a lookahead from the
2763 scanner and before detecting a syntax error. Thus, state merging
2764 (from LALR or IELR) and default reductions corrupt the expected
2765 token list. However, the list is correct for canonical LR with
2766 one exception: it will still contain any token that will not be
2767 accepted due to an error action in a later state.
2768 */
2769 if (yyctx->yytoken != YYSYMBOL_YYEMPTY)
2770 {
2771 int yyn;
2772 if (yyarg)
2773 yyarg[yycount] = yyctx->yytoken;
2774 ++yycount;
2775 yyn = yypcontext_expected_tokens (yyctx,
2776 yyarg ? yyarg + 1 : yyarg, yyargn - 1);
2777 if (yyn == YYENOMEM)
2778 return YYENOMEM;
2779 else
2780 yycount += yyn;
2781 }
2782 return yycount;
2783 }
2784
2785 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2786 about the unexpected token YYTOKEN for the state stack whose top is
2787 YYSSP.
2788
2789 Return 0 if *YYMSG was successfully written. Return -1 if *YYMSG is
2790 not large enough to hold the message. In that case, also set
2791 *YYMSG_ALLOC to the required number of bytes. Return YYENOMEM if the
2792 required number of bytes is too large to store. */
2793 static int
yysyntax_error(YYPTRDIFF_T * yymsg_alloc,char ** yymsg,const yypcontext_t * yyctx)2794 yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
2795 const yypcontext_t *yyctx)
2796 {
2797 enum { YYARGS_MAX = 5 };
2798 /* Internationalized format string. */
2799 const char *yyformat = YY_NULLPTR;
2800 /* Arguments of yyformat: reported tokens (one for the "unexpected",
2801 one per "expected"). */
2802 yysymbol_kind_t yyarg[YYARGS_MAX];
2803 /* Cumulated lengths of YYARG. */
2804 YYPTRDIFF_T yysize = 0;
2805
2806 /* Actual size of YYARG. */
2807 int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX);
2808 if (yycount == YYENOMEM)
2809 return YYENOMEM;
2810
2811 switch (yycount)
2812 {
2813 #define YYCASE_(N, S) \
2814 case N: \
2815 yyformat = S; \
2816 break
2817 default: /* Avoid compiler warnings. */
2818 YYCASE_(0, YY_("syntax error"));
2819 YYCASE_(1, YY_("syntax error, unexpected %s"));
2820 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2821 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2822 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2823 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2824 #undef YYCASE_
2825 }
2826
2827 /* Compute error message size. Don't count the "%s"s, but reserve
2828 room for the terminator. */
2829 yysize = yystrlen (yyformat) - 2 * yycount + 1;
2830 {
2831 int yyi;
2832 for (yyi = 0; yyi < yycount; ++yyi)
2833 {
2834 YYPTRDIFF_T yysize1
2835 = yysize + yytnamerr (YY_NULLPTR, yytname[yyarg[yyi]]);
2836 if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
2837 yysize = yysize1;
2838 else
2839 return YYENOMEM;
2840 }
2841 }
2842
2843 if (*yymsg_alloc < yysize)
2844 {
2845 *yymsg_alloc = 2 * yysize;
2846 if (! (yysize <= *yymsg_alloc
2847 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2848 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2849 return -1;
2850 }
2851
2852 /* Avoid sprintf, as that infringes on the user's name space.
2853 Don't have undefined behavior even if the translation
2854 produced a string with the wrong number of "%s"s. */
2855 {
2856 char *yyp = *yymsg;
2857 int yyi = 0;
2858 while ((*yyp = *yyformat) != '\0')
2859 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2860 {
2861 yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]);
2862 yyformat += 2;
2863 }
2864 else
2865 {
2866 ++yyp;
2867 ++yyformat;
2868 }
2869 }
2870 return 0;
2871 }
2872
2873
2874 /*-----------------------------------------------.
2875 | Release the memory associated to this symbol. |
2876 `-----------------------------------------------*/
2877
2878 static void
yydestruct(const char * yymsg,yysymbol_kind_t yykind,YYSTYPE * yyvaluep,YYLTYPE * yylocationp,CfgLexer * lexer,LogParser ** instance,gpointer arg)2879 yydestruct (const char *yymsg,
2880 yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, CfgLexer *lexer, LogParser **instance, gpointer arg)
2881 {
2882 YY_USE (yyvaluep);
2883 YY_USE (yylocationp);
2884 YY_USE (lexer);
2885 YY_USE (instance);
2886 YY_USE (arg);
2887 if (!yymsg)
2888 yymsg = "Deleting";
2889 YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
2890
2891 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2892 switch (yykind)
2893 {
2894 case YYSYMBOL_LL_IDENTIFIER: /* LL_IDENTIFIER */
2895 #line 310 "modules/map-value-pairs/map-value-pairs-grammar.y"
2896 { free(((*yyvaluep).cptr)); }
2897 #line 2898 "modules/map-value-pairs/map-value-pairs-grammar.c"
2898 break;
2899
2900 case YYSYMBOL_LL_STRING: /* LL_STRING */
2901 #line 310 "modules/map-value-pairs/map-value-pairs-grammar.y"
2902 { free(((*yyvaluep).cptr)); }
2903 #line 2904 "modules/map-value-pairs/map-value-pairs-grammar.c"
2904 break;
2905
2906 case YYSYMBOL_LL_BLOCK: /* LL_BLOCK */
2907 #line 310 "modules/map-value-pairs/map-value-pairs-grammar.y"
2908 { free(((*yyvaluep).cptr)); }
2909 #line 2910 "modules/map-value-pairs/map-value-pairs-grammar.c"
2910 break;
2911
2912 case YYSYMBOL_string: /* string */
2913 #line 310 "modules/map-value-pairs/map-value-pairs-grammar.y"
2914 { free(((*yyvaluep).cptr)); }
2915 #line 2916 "modules/map-value-pairs/map-value-pairs-grammar.c"
2916 break;
2917
2918 default:
2919 break;
2920 }
2921 YY_IGNORE_MAYBE_UNINITIALIZED_END
2922 }
2923
2924
2925
2926
2927
2928
2929 /*----------.
2930 | yyparse. |
2931 `----------*/
2932
2933 int
yyparse(CfgLexer * lexer,LogParser ** instance,gpointer arg)2934 yyparse (CfgLexer *lexer, LogParser **instance, gpointer arg)
2935 {
2936 /* Lookahead token kind. */
2937 int yychar;
2938
2939
2940 /* The semantic value of the lookahead symbol. */
2941 /* Default value used for initialization, for pacifying older GCCs
2942 or non-GCC compilers. */
2943 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
2944 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
2945
2946 /* Location data for the lookahead symbol. */
2947 static YYLTYPE yyloc_default
2948 # if defined MAP_VALUE_PAIRS_LTYPE_IS_TRIVIAL && MAP_VALUE_PAIRS_LTYPE_IS_TRIVIAL
2949 = { 1, 1, 1, 1 }
2950 # endif
2951 ;
2952 YYLTYPE yylloc = yyloc_default;
2953
2954 /* Number of syntax errors so far. */
2955 int yynerrs = 0;
2956
2957 yy_state_fast_t yystate = 0;
2958 /* Number of tokens to shift before error messages enabled. */
2959 int yyerrstatus = 0;
2960
2961 /* Refer to the stacks through separate pointers, to allow yyoverflow
2962 to reallocate them elsewhere. */
2963
2964 /* Their size. */
2965 YYPTRDIFF_T yystacksize = YYINITDEPTH;
2966
2967 /* The state stack: array, bottom, top. */
2968 yy_state_t yyssa[YYINITDEPTH];
2969 yy_state_t *yyss = yyssa;
2970 yy_state_t *yyssp = yyss;
2971
2972 /* The semantic value stack: array, bottom, top. */
2973 YYSTYPE yyvsa[YYINITDEPTH];
2974 YYSTYPE *yyvs = yyvsa;
2975 YYSTYPE *yyvsp = yyvs;
2976
2977 /* The location stack: array, bottom, top. */
2978 YYLTYPE yylsa[YYINITDEPTH];
2979 YYLTYPE *yyls = yylsa;
2980 YYLTYPE *yylsp = yyls;
2981
2982 int yyn;
2983 /* The return value of yyparse. */
2984 int yyresult;
2985 /* Lookahead symbol kind. */
2986 yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
2987 /* The variables used to return semantic value and location from the
2988 action routines. */
2989 YYSTYPE yyval;
2990 YYLTYPE yyloc;
2991
2992 /* The locations where the error started and ended. */
2993 YYLTYPE yyerror_range[3];
2994
2995 /* Buffer for error messages, and its allocated size. */
2996 char yymsgbuf[128];
2997 char *yymsg = yymsgbuf;
2998 YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
2999
3000 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
3001
3002 /* The number of symbols on the RHS of the reduced rule.
3003 Keep to zero when no symbol should be popped. */
3004 int yylen = 0;
3005
3006 YYDPRINTF ((stderr, "Starting parse\n"));
3007
3008 yychar = MAP_VALUE_PAIRS_EMPTY; /* Cause a token to be read. */
3009
3010 yylsp[0] = yylloc;
3011 goto yysetstate;
3012
3013
3014 /*------------------------------------------------------------.
3015 | yynewstate -- push a new state, which is found in yystate. |
3016 `------------------------------------------------------------*/
3017 yynewstate:
3018 /* In all cases, when you get here, the value and location stacks
3019 have just been pushed. So pushing a state here evens the stacks. */
3020 yyssp++;
3021
3022
3023 /*--------------------------------------------------------------------.
3024 | yysetstate -- set current state (the top of the stack) to yystate. |
3025 `--------------------------------------------------------------------*/
3026 yysetstate:
3027 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3028 YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
3029 YY_IGNORE_USELESS_CAST_BEGIN
3030 *yyssp = YY_CAST (yy_state_t, yystate);
3031 YY_IGNORE_USELESS_CAST_END
3032 YY_STACK_PRINT (yyss, yyssp);
3033
3034 if (yyss + yystacksize - 1 <= yyssp)
3035 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
3036 YYNOMEM;
3037 #else
3038 {
3039 /* Get the current used size of the three stacks, in elements. */
3040 YYPTRDIFF_T yysize = yyssp - yyss + 1;
3041
3042 # if defined yyoverflow
3043 {
3044 /* Give user a chance to reallocate the stack. Use copies of
3045 these so that the &'s don't force the real ones into
3046 memory. */
3047 yy_state_t *yyss1 = yyss;
3048 YYSTYPE *yyvs1 = yyvs;
3049 YYLTYPE *yyls1 = yyls;
3050
3051 /* Each stack pointer address is followed by the size of the
3052 data in use in that stack, in bytes. This used to be a
3053 conditional around just the two extra args, but that might
3054 be undefined if yyoverflow is a macro. */
3055 yyoverflow (YY_("memory exhausted"),
3056 &yyss1, yysize * YYSIZEOF (*yyssp),
3057 &yyvs1, yysize * YYSIZEOF (*yyvsp),
3058 &yyls1, yysize * YYSIZEOF (*yylsp),
3059 &yystacksize);
3060 yyss = yyss1;
3061 yyvs = yyvs1;
3062 yyls = yyls1;
3063 }
3064 # else /* defined YYSTACK_RELOCATE */
3065 /* Extend the stack our own way. */
3066 if (YYMAXDEPTH <= yystacksize)
3067 YYNOMEM;
3068 yystacksize *= 2;
3069 if (YYMAXDEPTH < yystacksize)
3070 yystacksize = YYMAXDEPTH;
3071
3072 {
3073 yy_state_t *yyss1 = yyss;
3074 union yyalloc *yyptr =
3075 YY_CAST (union yyalloc *,
3076 YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
3077 if (! yyptr)
3078 YYNOMEM;
3079 YYSTACK_RELOCATE (yyss_alloc, yyss);
3080 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
3081 YYSTACK_RELOCATE (yyls_alloc, yyls);
3082 # undef YYSTACK_RELOCATE
3083 if (yyss1 != yyssa)
3084 YYSTACK_FREE (yyss1);
3085 }
3086 # endif
3087
3088 yyssp = yyss + yysize - 1;
3089 yyvsp = yyvs + yysize - 1;
3090 yylsp = yyls + yysize - 1;
3091
3092 YY_IGNORE_USELESS_CAST_BEGIN
3093 YYDPRINTF ((stderr, "Stack size increased to %ld\n",
3094 YY_CAST (long, yystacksize)));
3095 YY_IGNORE_USELESS_CAST_END
3096
3097 if (yyss + yystacksize - 1 <= yyssp)
3098 YYABORT;
3099 }
3100 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
3101
3102
3103 if (yystate == YYFINAL)
3104 YYACCEPT;
3105
3106 goto yybackup;
3107
3108
3109 /*-----------.
3110 | yybackup. |
3111 `-----------*/
3112 yybackup:
3113 /* Do appropriate processing given the current state. Read a
3114 lookahead token if we need one and don't already have one. */
3115
3116 /* First try to decide what to do without reference to lookahead token. */
3117 yyn = yypact[yystate];
3118 if (yypact_value_is_default (yyn))
3119 goto yydefault;
3120
3121 /* Not known => get a lookahead token if don't already have one. */
3122
3123 /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
3124 if (yychar == MAP_VALUE_PAIRS_EMPTY)
3125 {
3126 YYDPRINTF ((stderr, "Reading a token\n"));
3127 yychar = yylex (&yylval, &yylloc, lexer);
3128 }
3129
3130 if (yychar <= MAP_VALUE_PAIRS_EOF)
3131 {
3132 yychar = MAP_VALUE_PAIRS_EOF;
3133 yytoken = YYSYMBOL_YYEOF;
3134 YYDPRINTF ((stderr, "Now at end of input.\n"));
3135 }
3136 else if (yychar == MAP_VALUE_PAIRS_error)
3137 {
3138 /* The scanner already issued an error message, process directly
3139 to error recovery. But do not keep the error token as
3140 lookahead, it is too special and may lead us to an endless
3141 loop in error recovery. */
3142 yychar = MAP_VALUE_PAIRS_UNDEF;
3143 yytoken = YYSYMBOL_YYerror;
3144 yyerror_range[1] = yylloc;
3145 goto yyerrlab1;
3146 }
3147 else
3148 {
3149 yytoken = YYTRANSLATE (yychar);
3150 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3151 }
3152
3153 /* If the proper action on seeing token YYTOKEN is to reduce or to
3154 detect an error, take that action. */
3155 yyn += yytoken;
3156 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3157 goto yydefault;
3158 yyn = yytable[yyn];
3159 if (yyn <= 0)
3160 {
3161 if (yytable_value_is_error (yyn))
3162 goto yyerrlab;
3163 yyn = -yyn;
3164 goto yyreduce;
3165 }
3166
3167 /* Count tokens shifted since error; after three, turn off error
3168 status. */
3169 if (yyerrstatus)
3170 yyerrstatus--;
3171
3172 /* Shift the lookahead token. */
3173 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3174 yystate = yyn;
3175 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3176 *++yyvsp = yylval;
3177 YY_IGNORE_MAYBE_UNINITIALIZED_END
3178 *++yylsp = yylloc;
3179
3180 /* Discard the shifted token. */
3181 yychar = MAP_VALUE_PAIRS_EMPTY;
3182 goto yynewstate;
3183
3184
3185 /*-----------------------------------------------------------.
3186 | yydefault -- do the default action for the current state. |
3187 `-----------------------------------------------------------*/
3188 yydefault:
3189 yyn = yydefact[yystate];
3190 if (yyn == 0)
3191 goto yyerrlab;
3192 goto yyreduce;
3193
3194
3195 /*-----------------------------.
3196 | yyreduce -- do a reduction. |
3197 `-----------------------------*/
3198 yyreduce:
3199 /* yyn is the number of a rule to reduce with. */
3200 yylen = yyr2[yyn];
3201
3202 /* If YYLEN is nonzero, implement the default value of the action:
3203 '$$ = $1'.
3204
3205 Otherwise, the following line sets YYVAL to garbage.
3206 This behavior is undocumented and Bison
3207 users should not rely upon it. Assigning to YYVAL
3208 unconditionally makes the parser a bit smaller, and it avoids a
3209 GCC warning that YYVAL may be used uninitialized. */
3210 yyval = yyvsp[1-yylen];
3211
3212 /* Default location. */
3213 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
3214 yyerror_range[1] = yyloc;
3215 YY_REDUCE_PRINT (yyn);
3216 switch (yyn)
3217 {
3218 case 2: /* $@1: %empty */
3219 #line 397 "modules/map-value-pairs/map-value-pairs-grammar.y"
3220 {
3221 last_value_pairs = value_pairs_new();
3222 *instance = last_parser = map_value_pairs_new(configuration, last_value_pairs);
3223 }
3224 #line 3225 "modules/map-value-pairs/map-value-pairs-grammar.c"
3225 break;
3226
3227 case 3: /* start: LL_CONTEXT_PARSER KW_MAP_VALUE_PAIRS $@1 '(' map_names_options ')' */
3228 #line 401 "modules/map-value-pairs/map-value-pairs-grammar.y"
3229 { YYACCEPT; }
3230 #line 3231 "modules/map-value-pairs/map-value-pairs-grammar.c"
3231 break;
3232
3233 case 7: /* template_content_inner: string */
3234 #line 648 "modules/map-value-pairs/map-value-pairs-grammar.y"
3235 {
3236 GError *error = NULL;
3237
3238 CHECK_ERROR_GERROR(log_template_compile(last_template, (yyvsp[0].cptr), &error), (yylsp[0]), error, "Error compiling template");
3239 free((yyvsp[0].cptr));
3240 }
3241 #line 3242 "modules/map-value-pairs/map-value-pairs-grammar.c"
3242 break;
3243
3244 case 8: /* template_content_inner: LL_IDENTIFIER '(' string ')' */
3245 #line 655 "modules/map-value-pairs/map-value-pairs-grammar.y"
3246 {
3247 GError *error = NULL;
3248
3249 CHECK_ERROR_GERROR(log_template_compile(last_template, (yyvsp[-1].cptr), &error), (yylsp[-1]), error, "Error compiling template");
3250 free((yyvsp[-1].cptr));
3251
3252 CHECK_ERROR_GERROR(log_template_set_type_hint(last_template, (yyvsp[-3].cptr), &error), (yylsp[-3]), error, "Error setting the template type-hint \"%s\"", (yyvsp[-3].cptr));
3253 free((yyvsp[-3].cptr));
3254 }
3255 #line 3256 "modules/map-value-pairs/map-value-pairs-grammar.c"
3256 break;
3257
3258 case 9: /* $@7: %empty */
3259 #line 667 "modules/map-value-pairs/map-value-pairs-grammar.y"
3260 { last_template = log_template_new(configuration, NULL); }
3261 #line 3262 "modules/map-value-pairs/map-value-pairs-grammar.c"
3262 break;
3263
3264 case 10: /* template_content: $@7 template_content_inner */
3265 #line 667 "modules/map-value-pairs/map-value-pairs-grammar.y"
3266 { (yyval.ptr) = last_template; }
3267 #line 3268 "modules/map-value-pairs/map-value-pairs-grammar.c"
3268 break;
3269
3270 case 13: /* positive_integer64: LL_NUMBER */
3271 #line 709 "modules/map-value-pairs/map-value-pairs-grammar.y"
3272 {
3273 CHECK_ERROR(((yyvsp[0].num) > 0), (yylsp[0]), "Must be positive");
3274 }
3275 #line 3276 "modules/map-value-pairs/map-value-pairs-grammar.c"
3276 break;
3277
3278 case 14: /* positive_integer: positive_integer64 */
3279 #line 716 "modules/map-value-pairs/map-value-pairs-grammar.y"
3280 {
3281 CHECK_ERROR(((yyvsp[0].num) <= G_MAXINT32), (yylsp[0]), "Must be smaller than 2^31");
3282 }
3283 #line 3284 "modules/map-value-pairs/map-value-pairs-grammar.c"
3284 break;
3285
3286 case 15: /* string_list: string_list_build */
3287 #line 776 "modules/map-value-pairs/map-value-pairs-grammar.y"
3288 { (yyval.ptr) = (yyvsp[0].ptr); }
3289 #line 3290 "modules/map-value-pairs/map-value-pairs-grammar.c"
3290 break;
3291
3292 case 16: /* string_list_build: string string_list_build */
3293 #line 780 "modules/map-value-pairs/map-value-pairs-grammar.y"
3294 { (yyval.ptr) = g_list_prepend((yyvsp[0].ptr), g_strdup((yyvsp[-1].cptr))); free((yyvsp[-1].cptr)); }
3295 #line 3296 "modules/map-value-pairs/map-value-pairs-grammar.c"
3296 break;
3297
3298 case 17: /* string_list_build: %empty */
3299 #line 781 "modules/map-value-pairs/map-value-pairs-grammar.y"
3300 { (yyval.ptr) = NULL; }
3301 #line 3302 "modules/map-value-pairs/map-value-pairs-grammar.c"
3302 break;
3303
3304 case 18: /* vp_option: KW_PAIR '(' string ':' template_content ')' */
3305 #line 1104 "modules/map-value-pairs/map-value-pairs-grammar.y"
3306 {
3307 value_pairs_add_pair(last_value_pairs, (yyvsp[-3].cptr), (yyvsp[-1].ptr));
3308 free((yyvsp[-3].cptr));
3309 }
3310 #line 3311 "modules/map-value-pairs/map-value-pairs-grammar.c"
3311 break;
3312
3313 case 19: /* vp_option: KW_PAIR '(' string template_content ')' */
3314 #line 1109 "modules/map-value-pairs/map-value-pairs-grammar.y"
3315 {
3316 value_pairs_add_pair(last_value_pairs, (yyvsp[-2].cptr), (yyvsp[-1].ptr));
3317 free((yyvsp[-2].cptr));
3318 }
3319 #line 3320 "modules/map-value-pairs/map-value-pairs-grammar.c"
3320 break;
3321
3322 case 20: /* $@16: %empty */
3323 #line 1114 "modules/map-value-pairs/map-value-pairs-grammar.y"
3324 {
3325 last_vp_transset = value_pairs_transform_set_new((yyvsp[-2].cptr));
3326 value_pairs_add_glob_pattern(last_value_pairs, (yyvsp[-2].cptr), TRUE);
3327 free((yyvsp[-2].cptr));
3328 }
3329 #line 3330 "modules/map-value-pairs/map-value-pairs-grammar.c"
3330 break;
3331
3332 case 21: /* $@17: %empty */
3333 #line 1119 "modules/map-value-pairs/map-value-pairs-grammar.y"
3334 { value_pairs_add_transforms(last_value_pairs, last_vp_transset); }
3335 #line 3336 "modules/map-value-pairs/map-value-pairs-grammar.c"
3336 break;
3337
3338 case 23: /* vp_option: KW_KEY '(' string_list ')' */
3339 #line 1120 "modules/map-value-pairs/map-value-pairs-grammar.y"
3340 { value_pairs_add_glob_patterns(last_value_pairs, (yyvsp[-1].ptr), TRUE); }
3341 #line 3342 "modules/map-value-pairs/map-value-pairs-grammar.c"
3342 break;
3343
3344 case 24: /* $@18: %empty */
3345 #line 1122 "modules/map-value-pairs/map-value-pairs-grammar.y"
3346 {
3347 last_vp_transset = value_pairs_transform_set_new((yyvsp[0].cptr));
3348 free((yyvsp[0].cptr));
3349 }
3350 #line 3351 "modules/map-value-pairs/map-value-pairs-grammar.c"
3351 break;
3352
3353 case 25: /* vp_option: KW_REKEY '(' string $@18 vp_rekey_options ')' */
3354 #line 1126 "modules/map-value-pairs/map-value-pairs-grammar.y"
3355 { value_pairs_add_transforms(last_value_pairs, last_vp_transset); }
3356 #line 3357 "modules/map-value-pairs/map-value-pairs-grammar.c"
3357 break;
3358
3359 case 26: /* vp_option: KW_EXCLUDE '(' string_list ')' */
3360 #line 1127 "modules/map-value-pairs/map-value-pairs-grammar.y"
3361 { value_pairs_add_glob_patterns(last_value_pairs, (yyvsp[-1].ptr), FALSE); }
3362 #line 3363 "modules/map-value-pairs/map-value-pairs-grammar.c"
3363 break;
3364
3365 case 28: /* vp_scope_list: string vp_scope_list */
3366 #line 1132 "modules/map-value-pairs/map-value-pairs-grammar.y"
3367 { value_pairs_add_scope(last_value_pairs, (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
3368 #line 3369 "modules/map-value-pairs/map-value-pairs-grammar.c"
3369 break;
3370
3371 case 32: /* vp_rekey_option: KW_SHIFT '(' positive_integer ')' */
3372 #line 1142 "modules/map-value-pairs/map-value-pairs-grammar.y"
3373 { value_pairs_transform_set_add_func(last_vp_transset, value_pairs_new_transform_shift((yyvsp[-1].num))); }
3374 #line 3375 "modules/map-value-pairs/map-value-pairs-grammar.c"
3375 break;
3376
3377 case 33: /* vp_rekey_option: KW_SHIFT_LEVELS '(' positive_integer ')' */
3378 #line 1143 "modules/map-value-pairs/map-value-pairs-grammar.y"
3379 { value_pairs_transform_set_add_func(last_vp_transset, value_pairs_new_transform_shift_levels((yyvsp[-1].num))); }
3380 #line 3381 "modules/map-value-pairs/map-value-pairs-grammar.c"
3381 break;
3382
3383 case 34: /* vp_rekey_option: KW_ADD_PREFIX '(' string ')' */
3384 #line 1144 "modules/map-value-pairs/map-value-pairs-grammar.y"
3385 { value_pairs_transform_set_add_func(last_vp_transset, value_pairs_new_transform_add_prefix((yyvsp[-1].cptr))); free((yyvsp[-1].cptr)); }
3386 #line 3387 "modules/map-value-pairs/map-value-pairs-grammar.c"
3387 break;
3388
3389 case 35: /* vp_rekey_option: KW_REPLACE_PREFIX '(' string string ')' */
3390 #line 1145 "modules/map-value-pairs/map-value-pairs-grammar.y"
3391 { value_pairs_transform_set_add_func(last_vp_transset, value_pairs_new_transform_replace_prefix((yyvsp[-2].cptr), (yyvsp[-1].cptr))); free((yyvsp[-2].cptr)); free((yyvsp[-1].cptr)); }
3392 #line 3393 "modules/map-value-pairs/map-value-pairs-grammar.c"
3393 break;
3394
3395
3396 #line 3397 "modules/map-value-pairs/map-value-pairs-grammar.c"
3397
3398 default: break;
3399 }
3400 /* User semantic actions sometimes alter yychar, and that requires
3401 that yytoken be updated with the new translation. We take the
3402 approach of translating immediately before every use of yytoken.
3403 One alternative is translating here after every semantic action,
3404 but that translation would be missed if the semantic action invokes
3405 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
3406 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
3407 incorrect destructor might then be invoked immediately. In the
3408 case of YYERROR or YYBACKUP, subsequent parser actions might lead
3409 to an incorrect destructor call or verbose syntax error message
3410 before the lookahead is translated. */
3411 YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
3412
3413 YYPOPSTACK (yylen);
3414 yylen = 0;
3415
3416 *++yyvsp = yyval;
3417 *++yylsp = yyloc;
3418
3419 /* Now 'shift' the result of the reduction. Determine what state
3420 that goes to, based on the state we popped back to and the rule
3421 number reduced by. */
3422 {
3423 const int yylhs = yyr1[yyn] - YYNTOKENS;
3424 const int yyi = yypgoto[yylhs] + *yyssp;
3425 yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
3426 ? yytable[yyi]
3427 : yydefgoto[yylhs]);
3428 }
3429
3430 goto yynewstate;
3431
3432
3433 /*--------------------------------------.
3434 | yyerrlab -- here on detecting error. |
3435 `--------------------------------------*/
3436 yyerrlab:
3437 /* Make sure we have latest lookahead translation. See comments at
3438 user semantic actions for why this is necessary. */
3439 yytoken = yychar == MAP_VALUE_PAIRS_EMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
3440 /* If not already recovering from an error, report this error. */
3441 if (!yyerrstatus)
3442 {
3443 ++yynerrs;
3444 {
3445 yypcontext_t yyctx
3446 = {yyssp, yytoken, &yylloc};
3447 char const *yymsgp = YY_("syntax error");
3448 int yysyntax_error_status;
3449 yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
3450 if (yysyntax_error_status == 0)
3451 yymsgp = yymsg;
3452 else if (yysyntax_error_status == -1)
3453 {
3454 if (yymsg != yymsgbuf)
3455 YYSTACK_FREE (yymsg);
3456 yymsg = YY_CAST (char *,
3457 YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
3458 if (yymsg)
3459 {
3460 yysyntax_error_status
3461 = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
3462 yymsgp = yymsg;
3463 }
3464 else
3465 {
3466 yymsg = yymsgbuf;
3467 yymsg_alloc = sizeof yymsgbuf;
3468 yysyntax_error_status = YYENOMEM;
3469 }
3470 }
3471 yyerror (&yylloc, lexer, instance, arg, yymsgp);
3472 if (yysyntax_error_status == YYENOMEM)
3473 YYNOMEM;
3474 }
3475 }
3476
3477 yyerror_range[1] = yylloc;
3478 if (yyerrstatus == 3)
3479 {
3480 /* If just tried and failed to reuse lookahead token after an
3481 error, discard it. */
3482
3483 if (yychar <= MAP_VALUE_PAIRS_EOF)
3484 {
3485 /* Return failure if at end of input. */
3486 if (yychar == MAP_VALUE_PAIRS_EOF)
3487 YYABORT;
3488 }
3489 else
3490 {
3491 yydestruct ("Error: discarding",
3492 yytoken, &yylval, &yylloc, lexer, instance, arg);
3493 yychar = MAP_VALUE_PAIRS_EMPTY;
3494 }
3495 }
3496
3497 /* Else will try to reuse lookahead token after shifting the error
3498 token. */
3499 goto yyerrlab1;
3500
3501
3502 /*---------------------------------------------------.
3503 | yyerrorlab -- error raised explicitly by YYERROR. |
3504 `---------------------------------------------------*/
3505 yyerrorlab:
3506 /* Pacify compilers when the user code never invokes YYERROR and the
3507 label yyerrorlab therefore never appears in user code. */
3508 if (0)
3509 YYERROR;
3510 ++yynerrs;
3511
3512 /* Do not reclaim the symbols of the rule whose action triggered
3513 this YYERROR. */
3514 YYPOPSTACK (yylen);
3515 yylen = 0;
3516 YY_STACK_PRINT (yyss, yyssp);
3517 yystate = *yyssp;
3518 goto yyerrlab1;
3519
3520
3521 /*-------------------------------------------------------------.
3522 | yyerrlab1 -- common code for both syntax error and YYERROR. |
3523 `-------------------------------------------------------------*/
3524 yyerrlab1:
3525 yyerrstatus = 3; /* Each real token shifted decrements this. */
3526
3527 /* Pop stack until we find a state that shifts the error token. */
3528 for (;;)
3529 {
3530 yyn = yypact[yystate];
3531 if (!yypact_value_is_default (yyn))
3532 {
3533 yyn += YYSYMBOL_YYerror;
3534 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
3535 {
3536 yyn = yytable[yyn];
3537 if (0 < yyn)
3538 break;
3539 }
3540 }
3541
3542 /* Pop the current state because it cannot handle the error token. */
3543 if (yyssp == yyss)
3544 YYABORT;
3545
3546 yyerror_range[1] = *yylsp;
3547 yydestruct ("Error: popping",
3548 YY_ACCESSING_SYMBOL (yystate), yyvsp, yylsp, lexer, instance, arg);
3549 YYPOPSTACK (1);
3550 yystate = *yyssp;
3551 YY_STACK_PRINT (yyss, yyssp);
3552 }
3553
3554 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3555 *++yyvsp = yylval;
3556 YY_IGNORE_MAYBE_UNINITIALIZED_END
3557
3558 yyerror_range[2] = yylloc;
3559 ++yylsp;
3560 YYLLOC_DEFAULT (*yylsp, yyerror_range, 2);
3561
3562 /* Shift the error token. */
3563 YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
3564
3565 yystate = yyn;
3566 goto yynewstate;
3567
3568
3569 /*-------------------------------------.
3570 | yyacceptlab -- YYACCEPT comes here. |
3571 `-------------------------------------*/
3572 yyacceptlab:
3573 yyresult = 0;
3574 goto yyreturnlab;
3575
3576
3577 /*-----------------------------------.
3578 | yyabortlab -- YYABORT comes here. |
3579 `-----------------------------------*/
3580 yyabortlab:
3581 yyresult = 1;
3582 goto yyreturnlab;
3583
3584
3585 /*-----------------------------------------------------------.
3586 | yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. |
3587 `-----------------------------------------------------------*/
3588 yyexhaustedlab:
3589 yyerror (&yylloc, lexer, instance, arg, YY_("memory exhausted"));
3590 yyresult = 2;
3591 goto yyreturnlab;
3592
3593
3594 /*----------------------------------------------------------.
3595 | yyreturnlab -- parsing is finished, clean up and return. |
3596 `----------------------------------------------------------*/
3597 yyreturnlab:
3598 if (yychar != MAP_VALUE_PAIRS_EMPTY)
3599 {
3600 /* Make sure we have latest lookahead translation. See comments at
3601 user semantic actions for why this is necessary. */
3602 yytoken = YYTRANSLATE (yychar);
3603 yydestruct ("Cleanup: discarding lookahead",
3604 yytoken, &yylval, &yylloc, lexer, instance, arg);
3605 }
3606 /* Do not reclaim the symbols of the rule whose action triggered
3607 this YYABORT or YYACCEPT. */
3608 YYPOPSTACK (yylen);
3609 YY_STACK_PRINT (yyss, yyssp);
3610 while (yyssp != yyss)
3611 {
3612 yydestruct ("Cleanup: popping",
3613 YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yylsp, lexer, instance, arg);
3614 YYPOPSTACK (1);
3615 }
3616 #ifndef yyoverflow
3617 if (yyss != yyssa)
3618 YYSTACK_FREE (yyss);
3619 #endif
3620 if (yymsg != yymsgbuf)
3621 YYSTACK_FREE (yymsg);
3622 return yyresult;
3623 }
3624
3625 #line 1179 "modules/map-value-pairs/map-value-pairs-grammar.y"
3626
3627