"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/y.tab.c" between
monit-5.27.2.tar.gz and monit-5.28.0.tar.gz

About: Monit is a utility for managing and monitoring processes, files, directories and filesystems (with automatic error recovery).

<
y.tab.c  (monit-5.27.2):y.tab.c  (monit-5.28.0)
skipping to change at line 231 skipping to change at line 231
static struct Gid_T gidset = {}; static struct Gid_T gidset = {};
static struct Pid_T pidset = {}; static struct Pid_T pidset = {};
static struct Pid_T ppidset = {}; static struct Pid_T ppidset = {};
static struct FsFlag_T fsflagset = {}; static struct FsFlag_T fsflagset = {};
static struct NonExist_T nonexistset = {}; static struct NonExist_T nonexistset = {};
static struct Exist_T existset = {}; static struct Exist_T existset = {};
static struct Status_T statusset = {}; static struct Status_T statusset = {};
static struct Perm_T permset = {}; static struct Perm_T permset = {};
static struct Size_T sizeset = {}; static struct Size_T sizeset = {};
static struct Uptime_T uptimeset = {}; static struct Uptime_T uptimeset = {};
static struct ResponseTime_T responsetimeset = {};
static struct LinkStatus_T linkstatusset = {}; static struct LinkStatus_T linkstatusset = {};
static struct LinkSpeed_T linkspeedset = {}; static struct LinkSpeed_T linkspeedset = {};
static struct LinkSaturation_T linksaturationset = {}; static struct LinkSaturation_T linksaturationset = {};
static struct Bandwidth_T bandwidthset = {}; static struct Bandwidth_T bandwidthset = {};
static struct Match_T matchset = {}; static struct Match_T matchset = {};
static struct Icmp_T icmpset = {}; static struct Icmp_T icmpset = {};
static struct Mail_T mailset = {}; static struct Mail_T mailset = {};
static struct SslOptions_T sslset = {}; static struct SslOptions_T sslset = {};
static struct Port_T portset = {}; static struct Port_T portset = {};
static struct MailServer_T mailserverset = {}; static struct MailServer_T mailserverset = {};
skipping to change at line 323 skipping to change at line 324
static void reset_sslset(void); static void reset_sslset(void);
static void reset_mailset(void); static void reset_mailset(void);
static void reset_mailserverset(void); static void reset_mailserverset(void);
static void reset_mmonitset(void); static void reset_mmonitset(void);
static void reset_portset(void); static void reset_portset(void);
static void reset_resourceset(void); static void reset_resourceset(void);
static void reset_timestampset(void); static void reset_timestampset(void);
static void reset_actionrateset(void); static void reset_actionrateset(void);
static void reset_sizeset(void); static void reset_sizeset(void);
static void reset_uptimeset(void); static void reset_uptimeset(void);
static void reset_responsetimeset(void);
static void reset_pidset(void); static void reset_pidset(void);
static void reset_ppidset(void); static void reset_ppidset(void);
static void reset_fsflagset(void); static void reset_fsflagset(void);
static void reset_nonexistset(void); static void reset_nonexistset(void);
static void reset_existset(void); static void reset_existset(void);
static void reset_linkstatusset(void); static void reset_linkstatusset(void);
static void reset_linkspeedset(void); static void reset_linkspeedset(void);
static void reset_linksaturationset(void); static void reset_linksaturationset(void);
static void reset_bandwidthset(void); static void reset_bandwidthset(void);
static void reset_checksumset(void); static void reset_checksumset(void);
skipping to change at line 357 skipping to change at line 359
static int verifyMaxForward(int); static int verifyMaxForward(int);
static void _setPEM(char **store, char *path, const char *description, bool isFi le); static void _setPEM(char **store, char *path, const char *description, bool isFi le);
static void _setSSLOptions(SslOptions_T options); static void _setSSLOptions(SslOptions_T options);
#ifdef HAVE_OPENSSL #ifdef HAVE_OPENSSL
static void _setSSLVersion(short version); static void _setSSLVersion(short version);
#endif #endif
static void _unsetSSLVersion(short version); static void _unsetSSLVersion(short version);
static void addsecurityattribute(char *, Action_Type, Action_Type); static void addsecurityattribute(char *, Action_Type, Action_Type);
static void addfiledescriptors(Operator_Type, bool, long long, float, Action_Typ e, Action_Type); static void addfiledescriptors(Operator_Type, bool, long long, float, Action_Typ e, Action_Type);
#line 366 "src/y.tab.c" #line 368 "src/y.tab.c"
# ifndef YY_CAST # ifndef YY_CAST
# ifdef __cplusplus # ifdef __cplusplus
# define YY_CAST(Type, Val) static_cast<Type> (Val) # define YY_CAST(Type, Val) static_cast<Type> (Val)
# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val) # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
# else # else
# define YY_CAST(Type, Val) ((Type) (Val)) # define YY_CAST(Type, Val) ((Type) (Val))
# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
# endif # endif
# endif # endif
skipping to change at line 455 skipping to change at line 457
PACKET = 298, PACKET = 298,
BYTEIN = 299, BYTEIN = 299,
BYTEOUT = 300, BYTEOUT = 300,
PACKETIN = 301, PACKETIN = 301,
PACKETOUT = 302, PACKETOUT = 302,
SPEED = 303, SPEED = 303,
SATURATION = 304, SATURATION = 304,
UPLOAD = 305, UPLOAD = 305,
DOWNLOAD = 306, DOWNLOAD = 306,
TOTAL = 307, TOTAL = 307,
IDFILE = 308, UP = 308,
STATEFILE = 309, DOWN = 309,
SEND = 310, IDFILE = 310,
EXPECT = 311, STATEFILE = 311,
CYCLE = 312, SEND = 312,
COUNT = 313, EXPECT = 313,
REMINDER = 314, CYCLE = 314,
REPEAT = 315, COUNT = 315,
LIMITS = 316, REMINDER = 316,
SENDEXPECTBUFFER = 317, REPEAT = 317,
EXPECTBUFFER = 318, LIMITS = 318,
FILECONTENTBUFFER = 319, SENDEXPECTBUFFER = 319,
HTTPCONTENTBUFFER = 320, EXPECTBUFFER = 320,
PROGRAMOUTPUT = 321, FILECONTENTBUFFER = 321,
NETWORKTIMEOUT = 322, HTTPCONTENTBUFFER = 322,
PROGRAMTIMEOUT = 323, PROGRAMOUTPUT = 323,
STARTTIMEOUT = 324, NETWORKTIMEOUT = 324,
STOPTIMEOUT = 325, PROGRAMTIMEOUT = 325,
RESTARTTIMEOUT = 326, STARTTIMEOUT = 326,
PIDFILE = 327, STOPTIMEOUT = 327,
START = 328, RESTARTTIMEOUT = 328,
STOP = 329, PIDFILE = 329,
PATHTOK = 330, START = 330,
RSAKEY = 331, STOP = 331,
HOST = 332, PATHTOK = 332,
HOSTNAME = 333, RSAKEY = 333,
PORT = 334, HOST = 334,
IPV4 = 335, HOSTNAME = 335,
IPV6 = 336, PORT = 336,
TYPE = 337, IPV4 = 337,
UDP = 338, IPV6 = 338,
TCP = 339, TYPE = 339,
TCPSSL = 340, UDP = 340,
PROTOCOL = 341, TCP = 341,
CONNECTION = 342, TCPSSL = 342,
ALERT = 343, PROTOCOL = 343,
NOALERT = 344, CONNECTION = 344,
MAILFORMAT = 345, ALERT = 345,
UNIXSOCKET = 346, NOALERT = 346,
SIGNATURE = 347, MAILFORMAT = 347,
TIMEOUT = 348, UNIXSOCKET = 348,
RETRY = 349, SIGNATURE = 349,
RESTART = 350, TIMEOUT = 350,
CHECKSUM = 351, RETRY = 351,
EVERY = 352, RESTART = 352,
NOTEVERY = 353, CHECKSUM = 353,
DEFAULT = 354, EVERY = 354,
HTTP = 355, NOTEVERY = 355,
HTTPS = 356, DEFAULT = 356,
APACHESTATUS = 357, HTTP = 357,
FTP = 358, HTTPS = 358,
SMTP = 359, APACHESTATUS = 359,
SMTPS = 360, FTP = 360,
POP = 361, SMTP = 361,
POPS = 362, SMTPS = 362,
IMAP = 363, POP = 363,
IMAPS = 364, POPS = 364,
CLAMAV = 365, IMAP = 365,
NNTP = 366, IMAPS = 366,
NTP3 = 367, CLAMAV = 367,
MYSQL = 368, NNTP = 368,
MYSQLS = 369, NTP3 = 369,
DNS = 370, MYSQL = 370,
WEBSOCKET = 371, MYSQLS = 371,
MQTT = 372, DNS = 372,
SSH = 373, WEBSOCKET = 373,
DWP = 374, MQTT = 374,
LDAP2 = 375, SSH = 375,
LDAP3 = 376, DWP = 376,
RDATE = 377, LDAP2 = 377,
RSYNC = 378, LDAP3 = 378,
TNS = 379, RDATE = 379,
PGSQL = 380, RSYNC = 380,
POSTFIXPOLICY = 381, TNS = 381,
SIP = 382, PGSQL = 382,
LMTP = 383, POSTFIXPOLICY = 383,
GPS = 384, SIP = 384,
RADIUS = 385, LMTP = 385,
MEMCACHE = 386, GPS = 386,
REDIS = 387, RADIUS = 387,
MONGODB = 388, MEMCACHE = 388,
SIEVE = 389, REDIS = 389,
SPAMASSASSIN = 390, MONGODB = 390,
FAIL2BAN = 391, SIEVE = 391,
STRING = 392, SPAMASSASSIN = 392,
PATH = 393, FAIL2BAN = 393,
MAILADDR = 394, STRING = 394,
MAILFROM = 395, PATH = 395,
MAILREPLYTO = 396, MAILADDR = 396,
MAILSUBJECT = 397, MAILFROM = 397,
MAILBODY = 398, MAILREPLYTO = 398,
SERVICENAME = 399, MAILSUBJECT = 399,
STRINGNAME = 400, MAILBODY = 400,
NUMBER = 401, SERVICENAME = 401,
PERCENT = 402, STRINGNAME = 402,
LOGLIMIT = 403, NUMBER = 403,
CLOSELIMIT = 404, PERCENT = 404,
DNSLIMIT = 405, LOGLIMIT = 405,
KEEPALIVELIMIT = 406, CLOSELIMIT = 406,
REPLYLIMIT = 407, DNSLIMIT = 407,
REQUESTLIMIT = 408, KEEPALIVELIMIT = 408,
STARTLIMIT = 409, REPLYLIMIT = 409,
WAITLIMIT = 410, REQUESTLIMIT = 410,
GRACEFULLIMIT = 411, STARTLIMIT = 411,
CLEANUPLIMIT = 412, WAITLIMIT = 412,
REAL = 413, GRACEFULLIMIT = 413,
CHECKPROC = 414, CLEANUPLIMIT = 414,
CHECKFILESYS = 415, REAL = 415,
CHECKFILE = 416, CHECKPROC = 416,
CHECKDIR = 417, CHECKFILESYS = 417,
CHECKHOST = 418, CHECKFILE = 418,
CHECKSYSTEM = 419, CHECKDIR = 419,
CHECKFIFO = 420, CHECKHOST = 420,
CHECKPROGRAM = 421, CHECKSYSTEM = 421,
CHECKNET = 422, CHECKFIFO = 422,
THREADS = 423, CHECKPROGRAM = 423,
CHILDREN = 424, CHECKNET = 424,
METHOD = 425, THREADS = 425,
GET = 426, CHILDREN = 426,
HEAD = 427, METHOD = 427,
STATUS = 428, GET = 428,
ORIGIN = 429, HEAD = 429,
VERSIONOPT = 430, STATUS = 430,
READ = 431, ORIGIN = 431,
WRITE = 432, VERSIONOPT = 432,
OPERATION = 433, READ = 433,
SERVICETIME = 434, WRITE = 434,
DISK = 435, OPERATION = 435,
RESOURCE = 436, SERVICETIME = 436,
MEMORY = 437, DISK = 437,
TOTALMEMORY = 438, RESOURCE = 438,
LOADAVG1 = 439, MEMORY = 439,
LOADAVG5 = 440, TOTALMEMORY = 440,
LOADAVG15 = 441, LOADAVG1 = 441,
SWAP = 442, LOADAVG5 = 442,
MODE = 443, LOADAVG15 = 443,
ACTIVE = 444, SWAP = 444,
PASSIVE = 445, MODE = 445,
MANUAL = 446, ACTIVE = 446,
ONREBOOT = 447, PASSIVE = 447,
NOSTART = 448, MANUAL = 448,
LASTSTATE = 449, ONREBOOT = 449,
CORE = 450, NOSTART = 450,
CPU = 451, LASTSTATE = 451,
TOTALCPU = 452, CORE = 452,
CPUUSER = 453, CPU = 453,
CPUSYSTEM = 454, TOTALCPU = 454,
CPUWAIT = 455, CPUUSER = 455,
CPUNICE = 456, CPUSYSTEM = 456,
CPUHARDIRQ = 457, CPUWAIT = 457,
CPUSOFTIRQ = 458, CPUNICE = 458,
CPUSTEAL = 459, CPUHARDIRQ = 459,
CPUGUEST = 460, CPUSOFTIRQ = 460,
CPUGUESTNICE = 461, CPUSTEAL = 461,
GROUP = 462, CPUGUEST = 462,
REQUEST = 463, CPUGUESTNICE = 463,
DEPENDS = 464, GROUP = 464,
BASEDIR = 465, REQUEST = 465,
SLOT = 466, DEPENDS = 466,
EVENTQUEUE = 467, BASEDIR = 467,
SECRET = 468, SLOT = 468,
HOSTHEADER = 469, EVENTQUEUE = 469,
UID = 470, SECRET = 470,
EUID = 471, HOSTHEADER = 471,
GID = 472, UID = 472,
MMONIT = 473, EUID = 473,
INSTANCE = 474, GID = 474,
USERNAME = 475, MMONIT = 475,
PASSWORD = 476, INSTANCE = 476,
TIME = 477, USERNAME = 477,
ATIME = 478, PASSWORD = 478,
CTIME = 479, TIME = 479,
MTIME = 480, ATIME = 480,
CHANGED = 481, CTIME = 481,
MILLISECOND = 482, MTIME = 482,
SECOND = 483, CHANGED = 483,
MINUTE = 484, MILLISECOND = 484,
HOUR = 485, SECOND = 485,
DAY = 486, MINUTE = 486,
MONTH = 487, HOUR = 487,
SSLV2 = 488, DAY = 488,
SSLV3 = 489, MONTH = 489,
TLSV1 = 490, SSLV2 = 490,
TLSV11 = 491, SSLV3 = 491,
TLSV12 = 492, TLSV1 = 492,
TLSV13 = 493, TLSV11 = 493,
CERTMD5 = 494, TLSV12 = 494,
AUTO = 495, TLSV13 = 495,
NOSSLV2 = 496, CERTMD5 = 496,
NOSSLV3 = 497, AUTO = 497,
NOTLSV1 = 498, NOSSLV2 = 498,
NOTLSV11 = 499, NOSSLV3 = 499,
NOTLSV12 = 500, NOTLSV1 = 500,
NOTLSV13 = 501, NOTLSV11 = 501,
BYTE = 502, NOTLSV12 = 502,
KILOBYTE = 503, NOTLSV13 = 503,
MEGABYTE = 504, BYTE = 504,
GIGABYTE = 505, KILOBYTE = 505,
INODE = 506, MEGABYTE = 506,
SPACE = 507, GIGABYTE = 507,
TFREE = 508, INODE = 508,
PERMISSION = 509, SPACE = 509,
SIZE = 510, TFREE = 510,
MATCH = 511, PERMISSION = 511,
NOT = 512, SIZE = 512,
IGNORE = 513, MATCH = 513,
ACTION = 514, NOT = 514,
UPTIME = 515, IGNORE = 515,
EXEC = 516, ACTION = 516,
UNMONITOR = 517, UPTIME = 517,
PING = 518, RESPONSETIME = 518,
PING4 = 519, EXEC = 519,
PING6 = 520, UNMONITOR = 520,
ICMP = 521, PING = 521,
ICMPECHO = 522, PING4 = 522,
NONEXIST = 523, PING6 = 523,
EXIST = 524, ICMP = 524,
INVALID = 525, ICMPECHO = 525,
DATA = 526, NONEXIST = 526,
RECOVERED = 527, EXIST = 527,
PASSED = 528, INVALID = 528,
SUCCEEDED = 529, DATA = 529,
URL = 530, RECOVERED = 530,
CONTENT = 531, PASSED = 531,
PID = 532, SUCCEEDED = 532,
PPID = 533, URL = 533,
FSFLAG = 534, CONTENT = 534,
REGISTER = 535, PID = 535,
CREDENTIALS = 536, PPID = 536,
URLOBJECT = 537, FSFLAG = 537,
ADDRESSOBJECT = 538, REGISTER = 538,
TARGET = 539, CREDENTIALS = 539,
TIMESPEC = 540, URLOBJECT = 540,
HTTPHEADER = 541, ADDRESSOBJECT = 541,
MAXFORWARD = 542, TARGET = 542,
FIPS = 543, TIMESPEC = 543,
SECURITY = 544, HTTPHEADER = 544,
ATTRIBUTE = 545, MAXFORWARD = 545,
FILEDESCRIPTORS = 546, FIPS = 546,
GREATER = 547, SECURITY = 547,
GREATEROREQUAL = 548, ATTRIBUTE = 548,
LESS = 549, FILEDESCRIPTORS = 549,
LESSOREQUAL = 550, GREATER = 550,
EQUAL = 551, GREATEROREQUAL = 551,
NOTEQUAL = 552 LESS = 552,
LESSOREQUAL = 553,
EQUAL = 554,
NOTEQUAL = 555
}; };
#endif #endif
/* Tokens. */ /* Tokens. */
#define IF 258 #define IF 258
#define ELSE 259 #define ELSE 259
#define THEN 260 #define THEN 260
#define FAILED 261 #define FAILED 261
#define SET 262 #define SET 262
#define LOGFILE 263 #define LOGFILE 263
#define FACILITY 264 #define FACILITY 264
skipping to change at line 753 skipping to change at line 758
#define PACKET 298 #define PACKET 298
#define BYTEIN 299 #define BYTEIN 299
#define BYTEOUT 300 #define BYTEOUT 300
#define PACKETIN 301 #define PACKETIN 301
#define PACKETOUT 302 #define PACKETOUT 302
#define SPEED 303 #define SPEED 303
#define SATURATION 304 #define SATURATION 304
#define UPLOAD 305 #define UPLOAD 305
#define DOWNLOAD 306 #define DOWNLOAD 306
#define TOTAL 307 #define TOTAL 307
#define IDFILE 308 #define UP 308
#define STATEFILE 309 #define DOWN 309
#define SEND 310 #define IDFILE 310
#define EXPECT 311 #define STATEFILE 311
#define CYCLE 312 #define SEND 312
#define COUNT 313 #define EXPECT 313
#define REMINDER 314 #define CYCLE 314
#define REPEAT 315 #define COUNT 315
#define LIMITS 316 #define REMINDER 316
#define SENDEXPECTBUFFER 317 #define REPEAT 317
#define EXPECTBUFFER 318 #define LIMITS 318
#define FILECONTENTBUFFER 319 #define SENDEXPECTBUFFER 319
#define HTTPCONTENTBUFFER 320 #define EXPECTBUFFER 320
#define PROGRAMOUTPUT 321 #define FILECONTENTBUFFER 321
#define NETWORKTIMEOUT 322 #define HTTPCONTENTBUFFER 322
#define PROGRAMTIMEOUT 323 #define PROGRAMOUTPUT 323
#define STARTTIMEOUT 324 #define NETWORKTIMEOUT 324
#define STOPTIMEOUT 325 #define PROGRAMTIMEOUT 325
#define RESTARTTIMEOUT 326 #define STARTTIMEOUT 326
#define PIDFILE 327 #define STOPTIMEOUT 327
#define START 328 #define RESTARTTIMEOUT 328
#define STOP 329 #define PIDFILE 329
#define PATHTOK 330 #define START 330
#define RSAKEY 331 #define STOP 331
#define HOST 332 #define PATHTOK 332
#define HOSTNAME 333 #define RSAKEY 333
#define PORT 334 #define HOST 334
#define IPV4 335 #define HOSTNAME 335
#define IPV6 336 #define PORT 336
#define TYPE 337 #define IPV4 337
#define UDP 338 #define IPV6 338
#define TCP 339 #define TYPE 339
#define TCPSSL 340 #define UDP 340
#define PROTOCOL 341 #define TCP 341
#define CONNECTION 342 #define TCPSSL 342
#define ALERT 343 #define PROTOCOL 343
#define NOALERT 344 #define CONNECTION 344
#define MAILFORMAT 345 #define ALERT 345
#define UNIXSOCKET 346 #define NOALERT 346
#define SIGNATURE 347 #define MAILFORMAT 347
#define TIMEOUT 348 #define UNIXSOCKET 348
#define RETRY 349 #define SIGNATURE 349
#define RESTART 350 #define TIMEOUT 350
#define CHECKSUM 351 #define RETRY 351
#define EVERY 352 #define RESTART 352
#define NOTEVERY 353 #define CHECKSUM 353
#define DEFAULT 354 #define EVERY 354
#define HTTP 355 #define NOTEVERY 355
#define HTTPS 356 #define DEFAULT 356
#define APACHESTATUS 357 #define HTTP 357
#define FTP 358 #define HTTPS 358
#define SMTP 359 #define APACHESTATUS 359
#define SMTPS 360 #define FTP 360
#define POP 361 #define SMTP 361
#define POPS 362 #define SMTPS 362
#define IMAP 363 #define POP 363
#define IMAPS 364 #define POPS 364
#define CLAMAV 365 #define IMAP 365
#define NNTP 366 #define IMAPS 366
#define NTP3 367 #define CLAMAV 367
#define MYSQL 368 #define NNTP 368
#define MYSQLS 369 #define NTP3 369
#define DNS 370 #define MYSQL 370
#define WEBSOCKET 371 #define MYSQLS 371
#define MQTT 372 #define DNS 372
#define SSH 373 #define WEBSOCKET 373
#define DWP 374 #define MQTT 374
#define LDAP2 375 #define SSH 375
#define LDAP3 376 #define DWP 376
#define RDATE 377 #define LDAP2 377
#define RSYNC 378 #define LDAP3 378
#define TNS 379 #define RDATE 379
#define PGSQL 380 #define RSYNC 380
#define POSTFIXPOLICY 381 #define TNS 381
#define SIP 382 #define PGSQL 382
#define LMTP 383 #define POSTFIXPOLICY 383
#define GPS 384 #define SIP 384
#define RADIUS 385 #define LMTP 385
#define MEMCACHE 386 #define GPS 386
#define REDIS 387 #define RADIUS 387
#define MONGODB 388 #define MEMCACHE 388
#define SIEVE 389 #define REDIS 389
#define SPAMASSASSIN 390 #define MONGODB 390
#define FAIL2BAN 391 #define SIEVE 391
#define STRING 392 #define SPAMASSASSIN 392
#define PATH 393 #define FAIL2BAN 393
#define MAILADDR 394 #define STRING 394
#define MAILFROM 395 #define PATH 395
#define MAILREPLYTO 396 #define MAILADDR 396
#define MAILSUBJECT 397 #define MAILFROM 397
#define MAILBODY 398 #define MAILREPLYTO 398
#define SERVICENAME 399 #define MAILSUBJECT 399
#define STRINGNAME 400 #define MAILBODY 400
#define NUMBER 401 #define SERVICENAME 401
#define PERCENT 402 #define STRINGNAME 402
#define LOGLIMIT 403 #define NUMBER 403
#define CLOSELIMIT 404 #define PERCENT 404
#define DNSLIMIT 405 #define LOGLIMIT 405
#define KEEPALIVELIMIT 406 #define CLOSELIMIT 406
#define REPLYLIMIT 407 #define DNSLIMIT 407
#define REQUESTLIMIT 408 #define KEEPALIVELIMIT 408
#define STARTLIMIT 409 #define REPLYLIMIT 409
#define WAITLIMIT 410 #define REQUESTLIMIT 410
#define GRACEFULLIMIT 411 #define STARTLIMIT 411
#define CLEANUPLIMIT 412 #define WAITLIMIT 412
#define REAL 413 #define GRACEFULLIMIT 413
#define CHECKPROC 414 #define CLEANUPLIMIT 414
#define CHECKFILESYS 415 #define REAL 415
#define CHECKFILE 416 #define CHECKPROC 416
#define CHECKDIR 417 #define CHECKFILESYS 417
#define CHECKHOST 418 #define CHECKFILE 418
#define CHECKSYSTEM 419 #define CHECKDIR 419
#define CHECKFIFO 420 #define CHECKHOST 420
#define CHECKPROGRAM 421 #define CHECKSYSTEM 421
#define CHECKNET 422 #define CHECKFIFO 422
#define THREADS 423 #define CHECKPROGRAM 423
#define CHILDREN 424 #define CHECKNET 424
#define METHOD 425 #define THREADS 425
#define GET 426 #define CHILDREN 426
#define HEAD 427 #define METHOD 427
#define STATUS 428 #define GET 428
#define ORIGIN 429 #define HEAD 429
#define VERSIONOPT 430 #define STATUS 430
#define READ 431 #define ORIGIN 431
#define WRITE 432 #define VERSIONOPT 432
#define OPERATION 433 #define READ 433
#define SERVICETIME 434 #define WRITE 434
#define DISK 435 #define OPERATION 435
#define RESOURCE 436 #define SERVICETIME 436
#define MEMORY 437 #define DISK 437
#define TOTALMEMORY 438 #define RESOURCE 438
#define LOADAVG1 439 #define MEMORY 439
#define LOADAVG5 440 #define TOTALMEMORY 440
#define LOADAVG15 441 #define LOADAVG1 441
#define SWAP 442 #define LOADAVG5 442
#define MODE 443 #define LOADAVG15 443
#define ACTIVE 444 #define SWAP 444
#define PASSIVE 445 #define MODE 445
#define MANUAL 446 #define ACTIVE 446
#define ONREBOOT 447 #define PASSIVE 447
#define NOSTART 448 #define MANUAL 448
#define LASTSTATE 449 #define ONREBOOT 449
#define CORE 450 #define NOSTART 450
#define CPU 451 #define LASTSTATE 451
#define TOTALCPU 452 #define CORE 452
#define CPUUSER 453 #define CPU 453
#define CPUSYSTEM 454 #define TOTALCPU 454
#define CPUWAIT 455 #define CPUUSER 455
#define CPUNICE 456 #define CPUSYSTEM 456
#define CPUHARDIRQ 457 #define CPUWAIT 457
#define CPUSOFTIRQ 458 #define CPUNICE 458
#define CPUSTEAL 459 #define CPUHARDIRQ 459
#define CPUGUEST 460 #define CPUSOFTIRQ 460
#define CPUGUESTNICE 461 #define CPUSTEAL 461
#define GROUP 462 #define CPUGUEST 462
#define REQUEST 463 #define CPUGUESTNICE 463
#define DEPENDS 464 #define GROUP 464
#define BASEDIR 465 #define REQUEST 465
#define SLOT 466 #define DEPENDS 466
#define EVENTQUEUE 467 #define BASEDIR 467
#define SECRET 468 #define SLOT 468
#define HOSTHEADER 469 #define EVENTQUEUE 469
#define UID 470 #define SECRET 470
#define EUID 471 #define HOSTHEADER 471
#define GID 472 #define UID 472
#define MMONIT 473 #define EUID 473
#define INSTANCE 474 #define GID 474
#define USERNAME 475 #define MMONIT 475
#define PASSWORD 476 #define INSTANCE 476
#define TIME 477 #define USERNAME 477
#define ATIME 478 #define PASSWORD 478
#define CTIME 479 #define TIME 479
#define MTIME 480 #define ATIME 480
#define CHANGED 481 #define CTIME 481
#define MILLISECOND 482 #define MTIME 482
#define SECOND 483 #define CHANGED 483
#define MINUTE 484 #define MILLISECOND 484
#define HOUR 485 #define SECOND 485
#define DAY 486 #define MINUTE 486
#define MONTH 487 #define HOUR 487
#define SSLV2 488 #define DAY 488
#define SSLV3 489 #define MONTH 489
#define TLSV1 490 #define SSLV2 490
#define TLSV11 491 #define SSLV3 491
#define TLSV12 492 #define TLSV1 492
#define TLSV13 493 #define TLSV11 493
#define CERTMD5 494 #define TLSV12 494
#define AUTO 495 #define TLSV13 495
#define NOSSLV2 496 #define CERTMD5 496
#define NOSSLV3 497 #define AUTO 497
#define NOTLSV1 498 #define NOSSLV2 498
#define NOTLSV11 499 #define NOSSLV3 499
#define NOTLSV12 500 #define NOTLSV1 500
#define NOTLSV13 501 #define NOTLSV11 501
#define BYTE 502 #define NOTLSV12 502
#define KILOBYTE 503 #define NOTLSV13 503
#define MEGABYTE 504 #define BYTE 504
#define GIGABYTE 505 #define KILOBYTE 505
#define INODE 506 #define MEGABYTE 506
#define SPACE 507 #define GIGABYTE 507
#define TFREE 508 #define INODE 508
#define PERMISSION 509 #define SPACE 509
#define SIZE 510 #define TFREE 510
#define MATCH 511 #define PERMISSION 511
#define NOT 512 #define SIZE 512
#define IGNORE 513 #define MATCH 513
#define ACTION 514 #define NOT 514
#define UPTIME 515 #define IGNORE 515
#define EXEC 516 #define ACTION 516
#define UNMONITOR 517 #define UPTIME 517
#define PING 518 #define RESPONSETIME 518
#define PING4 519 #define EXEC 519
#define PING6 520 #define UNMONITOR 520
#define ICMP 521 #define PING 521
#define ICMPECHO 522 #define PING4 522
#define NONEXIST 523 #define PING6 523
#define EXIST 524 #define ICMP 524
#define INVALID 525 #define ICMPECHO 525
#define DATA 526 #define NONEXIST 526
#define RECOVERED 527 #define EXIST 527
#define PASSED 528 #define INVALID 528
#define SUCCEEDED 529 #define DATA 529
#define URL 530 #define RECOVERED 530
#define CONTENT 531 #define PASSED 531
#define PID 532 #define SUCCEEDED 532
#define PPID 533 #define URL 533
#define FSFLAG 534 #define CONTENT 534
#define REGISTER 535 #define PID 535
#define CREDENTIALS 536 #define PPID 536
#define URLOBJECT 537 #define FSFLAG 537
#define ADDRESSOBJECT 538 #define REGISTER 538
#define TARGET 539 #define CREDENTIALS 539
#define TIMESPEC 540 #define URLOBJECT 540
#define HTTPHEADER 541 #define ADDRESSOBJECT 541
#define MAXFORWARD 542 #define TARGET 542
#define FIPS 543 #define TIMESPEC 543
#define SECURITY 544 #define HTTPHEADER 544
#define ATTRIBUTE 545 #define MAXFORWARD 545
#define FILEDESCRIPTORS 546 #define FIPS 546
#define GREATER 547 #define SECURITY 547
#define GREATEROREQUAL 548 #define ATTRIBUTE 548
#define LESS 549 #define FILEDESCRIPTORS 549
#define LESSOREQUAL 550 #define GREATER 550
#define EQUAL 551 #define GREATEROREQUAL 551
#define NOTEQUAL 552 #define LESS 552
#define LESSOREQUAL 553
#define EQUAL 554
#define NOTEQUAL 555
/* Value type. */ /* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE union YYSTYPE
{ {
#line 322 "src/p.y" #line 324 "src/p.y"
URL_T url; URL_T url;
Address_T address; Address_T address;
float real; float real;
int number; int number;
char *string; char *string;
#line 1020 "src/y.tab.c" #line 1028 "src/y.tab.c"
}; };
typedef union YYSTYPE YYSTYPE; typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_DECLARED 1
#endif #endif
extern YYSTYPE yylval; extern YYSTYPE yylval;
int yyparse (void); int yyparse (void);
skipping to change at line 1325 skipping to change at line 1333
(Dst)[yyi] = (Src)[yyi]; \ (Dst)[yyi] = (Src)[yyi]; \
} \ } \
while (0) while (0)
# endif # endif
# endif # endif
#endif /* !YYCOPY_NEEDED */ #endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */ /* YYFINAL -- State number of the termination state. */
#define YYFINAL 69 #define YYFINAL 69
/* YYLAST -- Last index in YYTABLE. */ /* YYLAST -- Last index in YYTABLE. */
#define YYLAST 1839 #define YYLAST 1949
/* YYNTOKENS -- Number of terminals. */ /* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 304 #define YYNTOKENS 307
/* YYNNTS -- Number of nonterminals. */ /* YYNNTS -- Number of nonterminals. */
#define YYNNTS 245 #define YYNNTS 247
/* YYNRULES -- Number of rules. */ /* YYNRULES -- Number of rules. */
#define YYNRULES 812 #define YYNRULES 829
/* YYNSTATES -- Number of states. */ /* YYNSTATES -- Number of states. */
#define YYNSTATES 1537 #define YYNSTATES 1610
#define YYUNDEFTOK 2 #define YYUNDEFTOK 2
#define YYMAXUTOK 552 #define YYMAXUTOK 555
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
as returned by yylex, with out-of-bounds checking. */ as returned by yylex, with out-of-bounds checking. */
#define YYTRANSLATE(YYX) \ #define YYTRANSLATE(YYX) \
(0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
as returned by yylex. */ as returned by yylex. */
static const yytype_int16 yytranslate[] = static const yytype_int16 yytranslate[] =
{ {
0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 300, 2, 2, 2, 2, 2, 2, 2, 2, 2, 303, 2,
2, 2, 2, 2, 301, 2, 2, 2, 2, 2, 2, 2, 2, 2, 304, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 302, 2, 303, 2, 2, 2, 2, 2, 2, 2, 305, 2, 306, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 298, 2, 299, 2, 2, 2, 2, 2, 2, 2, 301, 2, 302, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
skipping to change at line 1403 skipping to change at line 1411
195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297 295, 296, 297, 298, 299, 300
}; };
#if YYDEBUG #if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] = static const yytype_int16 yyrline[] =
{ {
0, 376, 376, 377, 380, 381, 384, 385, 386, 387, 0, 378, 378, 379, 382, 383, 386, 387, 388, 389,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
408, 409, 410, 413, 414, 417, 418, 419, 420, 421, 410, 411, 412, 415, 416, 419, 420, 421, 422, 423,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
432, 433, 434, 435, 436, 437, 438, 439, 440, 443, 434, 435, 436, 437, 438, 439, 440, 441, 442, 445,
444, 447, 448, 449, 450, 451, 452, 453, 454, 455, 446, 449, 450, 451, 452, 453, 454, 455, 456, 457,
456, 457, 458, 459, 460, 461, 462, 463, 464, 467, 458, 459, 460, 461, 462, 463, 464, 465, 466, 469,
468, 471, 472, 473, 474, 475, 476, 477, 478, 479, 470, 473, 474, 475, 476, 477, 478, 479, 480, 481,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
490, 493, 494, 497, 498, 499, 500, 501, 502, 503, 492, 495, 496, 499, 500, 501, 502, 503, 504, 505,
504, 505, 506, 507, 508, 509, 510, 511, 514, 515, 506, 507, 508, 509, 510, 511, 512, 513, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
528, 529, 530, 533, 534, 537, 538, 539, 540, 541, 530, 531, 532, 535, 536, 539, 540, 541, 542, 543,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
554, 555, 558, 559, 560, 561, 562, 563, 564, 565, 556, 557, 560, 561, 562, 563, 564, 565, 566, 567,
566, 567, 568, 569, 570, 573, 574, 577, 578, 579, 568, 569, 570, 571, 572, 575, 576, 579, 580, 581,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
590, 591, 594, 595, 598, 599, 600, 601, 602, 603, 592, 593, 596, 597, 600, 601, 602, 603, 604, 605,
604, 605, 606, 607, 608, 611, 615, 618, 624, 634, 606, 607, 608, 609, 610, 613, 617, 620, 626, 636,
639, 642, 647, 652, 655, 658, 663, 669, 672, 673, 641, 644, 649, 654, 657, 660, 665, 671, 674, 675,
676, 679, 682, 685, 688, 691, 694, 697, 700, 703, 678, 681, 684, 687, 690, 693, 696, 699, 702, 705,
706, 709, 712, 715, 720, 725, 733, 736, 741, 744, 708, 711, 714, 717, 722, 727, 735, 738, 743, 746,
748, 754, 759, 764, 772, 775, 776, 779, 785, 786, 750, 756, 761, 766, 774, 777, 778, 781, 787, 788,
789, 792, 793, 794, 795, 798, 799, 804, 809, 812, 791, 794, 795, 796, 797, 800, 801, 806, 811, 814,
815, 816, 819, 823, 827, 831, 835, 838, 842, 845, 817, 818, 821, 825, 829, 833, 837, 840, 844, 847,
848, 851, 854, 857, 862, 868, 869, 872, 886, 893, 850, 853, 856, 859, 864, 870, 871, 874, 888, 895,
902, 903, 906, 907, 910, 917, 920, 927, 930, 937, 904, 905, 908, 909, 912, 919, 922, 929, 932, 939,
940, 947, 950, 957, 960, 967, 970, 981, 990, 997, 942, 949, 952, 959, 962, 969, 972, 983, 992, 999,
1012, 1013, 1016, 1025, 1036, 1037, 1040, 1043, 1046, 1047, 1014, 1015, 1018, 1027, 1038, 1039, 1042, 1045, 1048, 1049,
1048, 1049, 1052, 1079, 1080, 1083, 1084, 1085, 1086, 1087, 1050, 1051, 1054, 1081, 1082, 1085, 1086, 1087, 1088, 1089,
1088, 1089, 1090, 1091, 1095, 1101, 1107, 1113, 1119, 1125, 1090, 1091, 1092, 1093, 1097, 1103, 1109, 1115, 1121, 1127,
1126, 1129, 1134, 1139, 1143, 1147, 1153, 1154, 1157, 1158, 1128, 1131, 1136, 1141, 1145, 1149, 1155, 1156, 1159, 1160,
1161, 1164, 1169, 1174, 1177, 1185, 1189, 1193, 1197, 1201, 1163, 1166, 1171, 1176, 1179, 1187, 1191, 1195, 1199, 1203,
1201, 1208, 1208, 1215, 1215, 1222, 1222, 1229, 1236, 1237, 1203, 1210, 1210, 1217, 1217, 1224, 1224, 1231, 1238, 1239,
1240, 1246, 1249, 1254, 1257, 1260, 1267, 1276, 1281, 1284, 1242, 1248, 1251, 1256, 1259, 1262, 1269, 1278, 1283, 1286,
1289, 1294, 1299, 1307, 1313, 1328, 1333, 1339, 1347, 1350, 1291, 1296, 1301, 1309, 1315, 1330, 1335, 1341, 1349, 1352,
1355, 1358, 1364, 1367, 1372, 1373, 1376, 1377, 1380, 1383, 1357, 1360, 1366, 1369, 1374, 1375, 1378, 1379, 1382, 1385,
1388, 1392, 1396, 1399, 1404, 1407, 1412, 1417, 1420, 1425, 1390, 1394, 1398, 1401, 1406, 1409, 1414, 1419, 1422, 1427,
1434, 1435, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1437, 1447, 1448, 1451, 1452, 1453, 1454, 1455, 1456, 1457,
1446, 1447, 1448, 1451, 1458, 1459, 1462, 1463, 1464, 1465, 1458, 1459, 1460, 1461, 1462, 1465, 1473, 1483, 1484, 1487,
1466, 1467, 1470, 1476, 1477, 1480, 1481, 1482, 1483, 1484, 1488, 1489, 1490, 1491, 1492, 1495, 1502, 1511, 1512, 1515,
1487, 1493, 1498, 1503, 1510, 1511, 1514, 1515, 1516, 1517, 1516, 1517, 1518, 1519, 1520, 1523, 1532, 1538, 1544, 1550,
1520, 1523, 1528, 1533, 1539, 1542, 1547, 1550, 1554, 1559, 1559, 1565, 1571, 1579, 1580, 1583, 1584, 1585, 1586, 1589,
1560, 1563, 1564, 1567, 1572, 1575, 1578, 1581, 1584, 1587, 1592, 1597, 1602, 1608, 1611, 1616, 1619, 1623, 1628, 1629,
1590, 1593, 1598, 1601, 1606, 1609, 1612, 1615, 1618, 1621, 1632, 1633, 1636, 1641, 1644, 1647, 1650, 1653, 1656, 1659,
1624, 1628, 1631, 1634, 1638, 1641, 1644, 1649, 1652, 1655, 1662, 1667, 1670, 1675, 1678, 1681, 1684, 1687, 1690, 1693,
1660, 1663, 1666, 1669, 1672, 1675, 1678, 1681, 1684, 1687, 1697, 1700, 1703, 1707, 1710, 1713, 1718, 1721, 1724, 1729,
1690, 1693, 1698, 1706, 1716, 1717, 1720, 1723, 1726, 1729, 1732, 1735, 1738, 1741, 1744, 1747, 1750, 1753, 1756, 1759,
1734, 1735, 1738, 1741, 1746, 1747, 1750, 1753, 1758, 1759, 1762, 1767, 1775, 1785, 1786, 1789, 1792, 1795, 1798, 1803,
1762, 1765, 1768, 1781, 1787, 1796, 1799, 1804, 1809, 1810, 1804, 1807, 1810, 1815, 1816, 1819, 1822, 1827, 1828, 1831,
1813, 1816, 1821, 1822, 1825, 1828, 1831, 1832, 1833, 1834, 1834, 1837, 1850, 1856, 1865, 1868, 1873, 1878, 1879, 1882,
1835, 1836, 1839, 1849, 1852, 1857, 1861, 1867, 1872, 1878, 1885, 1890, 1891, 1894, 1897, 1900, 1901, 1902, 1903, 1904,
1879, 1884, 1889, 1890, 1893, 1898, 1899, 1902, 1905, 1908, 1905, 1908, 1918, 1921, 1926, 1930, 1936, 1941, 1947, 1948,
1911, 1915, 1919, 1923, 1927, 1931, 1935, 1939, 1943, 1947, 1953, 1958, 1959, 1962, 1967, 1968, 1971, 1974, 1977, 1980,
1953, 1957, 1964, 1970, 1976, 1984, 1989, 1999, 2004, 2009, 1984, 1988, 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2022,
2012, 2017, 2020, 2025, 2028, 2033, 2036, 2041, 2044, 2049, 2026, 2033, 2039, 2045, 2053, 2057, 2063, 2068, 2078, 2083,
2054, 2059, 2065, 2073, 2079, 2080, 2083, 2087, 2090, 2094, 2088, 2091, 2096, 2099, 2104, 2107, 2112, 2115, 2120, 2123,
2099, 2102, 2105, 2106, 2109, 2110, 2111, 2112, 2113, 2114, 2128, 2133, 2138, 2144, 2152, 2158, 2159, 2162, 2166, 2169,
2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2173, 2178, 2181, 2184, 2185, 2188, 2189, 2190, 2191, 2192,
2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202,
2135, 2136, 2137, 2138, 2141, 2142, 2145, 2146, 2149, 2150, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212,
2151, 2152, 2155, 2159, 2163, 2169, 2172, 2175, 2181, 2184, 2213, 2214, 2215, 2216, 2217, 2220, 2221, 2224, 2225, 2228,
2188, 2193, 2200, 2203, 2204, 2207, 2210, 2217, 2226, 2232, 2229, 2230, 2231, 2234, 2238, 2242, 2248, 2251, 2254, 2260,
2233, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2245, 2251, 2263, 2267, 2272, 2279, 2282, 2283, 2286, 2289, 2296, 2305,
2252, 2255, 2256, 2257, 2258, 2261, 2266, 2273, 2280, 2286, 2311, 2312, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2324,
2292, 2298, 2304, 2310, 2316, 2322, 2328, 2334, 2339, 2344, 2330, 2331, 2334, 2335, 2336, 2337, 2340, 2345, 2352, 2359,
2351, 2356, 2361, 2366, 2373, 2378, 2385, 2392, 2399, 2419, 2365, 2371, 2377, 2383, 2389, 2395, 2401, 2407, 2413, 2418,
2420, 2421, 2424, 2425, 2429, 2434, 2439, 2446, 2451, 2456, 2423, 2430, 2435, 2440, 2445, 2452, 2457, 2464, 2471, 2478,
2463, 2464, 2467, 2468, 2469, 2470, 2473, 2480, 2488, 2489, 2498, 2499, 2500, 2503, 2504, 2508, 2513, 2518, 2525, 2530,
2490, 2491, 2492, 2493, 2494, 2495, 2498, 2499, 2500, 2501, 2535, 2542, 2543, 2546, 2547, 2548, 2549, 2552, 2559, 2567,
2502, 2503, 2506, 2507, 2508, 2510, 2511, 2513, 2516, 2519, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2577, 2578, 2579,
2527, 2530, 2533, 2537, 2540, 2543, 2546, 2551, 2562, 2573, 2580, 2581, 2582, 2585, 2586, 2587, 2589, 2590, 2592, 2595,
2583, 2595, 2596, 2601, 2608, 2609, 2614, 2621, 2624, 2627, 2598, 2606, 2609, 2612, 2616, 2619, 2622, 2625, 2630, 2641,
2630, 2635, 2639, 2646, 2652, 2653, 2654, 2657, 2664, 2671, 2652, 2662, 2674, 2675, 2680, 2687, 2688, 2693, 2700, 2703,
2678, 2687, 2694, 2701, 2708, 2717, 2724, 2733, 2740, 2749, 2706, 2709, 2712, 2717, 2720, 2723, 2728, 2732, 2739, 2745,
2756, 2765, 2771, 2772, 2773, 2774, 2775, 2778, 2783, 2790, 2746, 2747, 2750, 2757, 2764, 2771, 2780, 2787, 2794, 2801,
2798, 2805, 2813, 2821, 2828, 2834, 2841, 2849, 2852, 2858, 2810, 2817, 2826, 2833, 2842, 2849, 2858, 2864, 2865, 2866,
2864, 2871, 2877, 2884, 2890, 2897, 2900, 2905, 2911, 2919, 2867, 2868, 2871, 2876, 2883, 2891, 2898, 2906, 2914, 2921,
2925, 2933, 2941, 2947, 2954, 2960, 2965, 2973, 2981, 2989, 2927, 2934, 2942, 2945, 2951, 2957, 2964, 2970, 2977, 2983,
2997, 3005, 3013, 3023, 3031, 3039, 3047, 3055, 3063, 3073, 2990, 2993, 2998, 3004, 3012, 3018, 3026, 3034, 3040, 3047,
3076, 3077, 3078 3051, 3056, 3063, 3068, 3076, 3084, 3092, 3100, 3108, 3116,
3126, 3134, 3142, 3150, 3158, 3166, 3176, 3179, 3180, 3181
}; };
#endif #endif
#if YYDEBUG || YYERROR_VERBOSE || 0 #if YYDEBUG || YYERROR_VERBOSE || 0
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at YYNTOKENS, nonterminals. */ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] = static const char *const yytname[] =
{ {
"$end", "error", "$undefined", "IF", "ELSE", "THEN", "FAILED", "SET", "$end", "error", "$undefined", "IF", "ELSE", "THEN", "FAILED", "SET",
"LOGFILE", "FACILITY", "DAEMON", "SYSLOG", "MAILSERVER", "HTTPD", "LOGFILE", "FACILITY", "DAEMON", "SYSLOG", "MAILSERVER", "HTTPD",
"ALLOW", "REJECTOPT", "ADDRESS", "INIT", "TERMINAL", "BATCH", "READONLY", "ALLOW", "REJECTOPT", "ADDRESS", "INIT", "TERMINAL", "BATCH", "READONLY",
"CLEARTEXT", "MD5HASH", "SHA1HASH", "CRYPT", "DELAY", "PEMFILE", "CLEARTEXT", "MD5HASH", "SHA1HASH", "CRYPT", "DELAY", "PEMFILE",
"PEMKEY", "PEMCHAIN", "ENABLE", "DISABLE", "SSLTOKEN", "CIPHER", "PEMKEY", "PEMCHAIN", "ENABLE", "DISABLE", "SSLTOKEN", "CIPHER",
"CLIENTPEMFILE", "ALLOWSELFCERTIFICATION", "SELFSIGNED", "VERIFY", "CLIENTPEMFILE", "ALLOWSELFCERTIFICATION", "SELFSIGNED", "VERIFY",
"CERTIFICATE", "CACERTIFICATEFILE", "CACERTIFICATEPATH", "VALID", "CERTIFICATE", "CACERTIFICATEFILE", "CACERTIFICATEPATH", "VALID",
"INTERFACE", "LINK", "PACKET", "BYTEIN", "BYTEOUT", "PACKETIN", "INTERFACE", "LINK", "PACKET", "BYTEIN", "BYTEOUT", "PACKETIN",
"PACKETOUT", "SPEED", "SATURATION", "UPLOAD", "DOWNLOAD", "TOTAL", "PACKETOUT", "SPEED", "SATURATION", "UPLOAD", "DOWNLOAD", "TOTAL", "UP",
"IDFILE", "STATEFILE", "SEND", "EXPECT", "CYCLE", "COUNT", "REMINDER", "DOWN", "IDFILE", "STATEFILE", "SEND", "EXPECT", "CYCLE", "COUNT",
"REPEAT", "LIMITS", "SENDEXPECTBUFFER", "EXPECTBUFFER", "REMINDER", "REPEAT", "LIMITS", "SENDEXPECTBUFFER", "EXPECTBUFFER",
"FILECONTENTBUFFER", "HTTPCONTENTBUFFER", "PROGRAMOUTPUT", "FILECONTENTBUFFER", "HTTPCONTENTBUFFER", "PROGRAMOUTPUT",
"NETWORKTIMEOUT", "PROGRAMTIMEOUT", "STARTTIMEOUT", "STOPTIMEOUT", "NETWORKTIMEOUT", "PROGRAMTIMEOUT", "STARTTIMEOUT", "STOPTIMEOUT",
"RESTARTTIMEOUT", "PIDFILE", "START", "STOP", "PATHTOK", "RSAKEY", "RESTARTTIMEOUT", "PIDFILE", "START", "STOP", "PATHTOK", "RSAKEY",
"HOST", "HOSTNAME", "PORT", "IPV4", "IPV6", "TYPE", "UDP", "TCP", "HOST", "HOSTNAME", "PORT", "IPV4", "IPV6", "TYPE", "UDP", "TCP",
"TCPSSL", "PROTOCOL", "CONNECTION", "ALERT", "NOALERT", "MAILFORMAT", "TCPSSL", "PROTOCOL", "CONNECTION", "ALERT", "NOALERT", "MAILFORMAT",
"UNIXSOCKET", "SIGNATURE", "TIMEOUT", "RETRY", "RESTART", "CHECKSUM", "UNIXSOCKET", "SIGNATURE", "TIMEOUT", "RETRY", "RESTART", "CHECKSUM",
"EVERY", "NOTEVERY", "DEFAULT", "HTTP", "HTTPS", "APACHESTATUS", "FTP", "EVERY", "NOTEVERY", "DEFAULT", "HTTP", "HTTPS", "APACHESTATUS", "FTP",
"SMTP", "SMTPS", "POP", "POPS", "IMAP", "IMAPS", "CLAMAV", "NNTP", "SMTP", "SMTPS", "POP", "POPS", "IMAP", "IMAPS", "CLAMAV", "NNTP",
"NTP3", "MYSQL", "MYSQLS", "DNS", "WEBSOCKET", "MQTT", "SSH", "DWP", "NTP3", "MYSQL", "MYSQLS", "DNS", "WEBSOCKET", "MQTT", "SSH", "DWP",
"LDAP2", "LDAP3", "RDATE", "RSYNC", "TNS", "PGSQL", "POSTFIXPOLICY", "LDAP2", "LDAP3", "RDATE", "RSYNC", "TNS", "PGSQL", "POSTFIXPOLICY",
skipping to change at line 1542 skipping to change at line 1551
"MANUAL", "ONREBOOT", "NOSTART", "LASTSTATE", "CORE", "CPU", "TOTALCPU", "MANUAL", "ONREBOOT", "NOSTART", "LASTSTATE", "CORE", "CPU", "TOTALCPU",
"CPUUSER", "CPUSYSTEM", "CPUWAIT", "CPUNICE", "CPUHARDIRQ", "CPUSOFTIRQ", "CPUUSER", "CPUSYSTEM", "CPUWAIT", "CPUNICE", "CPUHARDIRQ", "CPUSOFTIRQ",
"CPUSTEAL", "CPUGUEST", "CPUGUESTNICE", "GROUP", "REQUEST", "DEPENDS", "CPUSTEAL", "CPUGUEST", "CPUGUESTNICE", "GROUP", "REQUEST", "DEPENDS",
"BASEDIR", "SLOT", "EVENTQUEUE", "SECRET", "HOSTHEADER", "UID", "EUID", "BASEDIR", "SLOT", "EVENTQUEUE", "SECRET", "HOSTHEADER", "UID", "EUID",
"GID", "MMONIT", "INSTANCE", "USERNAME", "PASSWORD", "TIME", "ATIME", "GID", "MMONIT", "INSTANCE", "USERNAME", "PASSWORD", "TIME", "ATIME",
"CTIME", "MTIME", "CHANGED", "MILLISECOND", "SECOND", "MINUTE", "HOUR", "CTIME", "MTIME", "CHANGED", "MILLISECOND", "SECOND", "MINUTE", "HOUR",
"DAY", "MONTH", "SSLV2", "SSLV3", "TLSV1", "TLSV11", "TLSV12", "TLSV13", "DAY", "MONTH", "SSLV2", "SSLV3", "TLSV1", "TLSV11", "TLSV12", "TLSV13",
"CERTMD5", "AUTO", "NOSSLV2", "NOSSLV3", "NOTLSV1", "NOTLSV11", "CERTMD5", "AUTO", "NOSSLV2", "NOSSLV3", "NOTLSV1", "NOTLSV11",
"NOTLSV12", "NOTLSV13", "BYTE", "KILOBYTE", "MEGABYTE", "GIGABYTE", "NOTLSV12", "NOTLSV13", "BYTE", "KILOBYTE", "MEGABYTE", "GIGABYTE",
"INODE", "SPACE", "TFREE", "PERMISSION", "SIZE", "MATCH", "NOT", "INODE", "SPACE", "TFREE", "PERMISSION", "SIZE", "MATCH", "NOT",
"IGNORE", "ACTION", "UPTIME", "EXEC", "UNMONITOR", "PING", "PING4", "IGNORE", "ACTION", "UPTIME", "RESPONSETIME", "EXEC", "UNMONITOR",
"PING6", "ICMP", "ICMPECHO", "NONEXIST", "EXIST", "INVALID", "DATA", "PING", "PING4", "PING6", "ICMP", "ICMPECHO", "NONEXIST", "EXIST",
"RECOVERED", "PASSED", "SUCCEEDED", "URL", "CONTENT", "PID", "PPID", "INVALID", "DATA", "RECOVERED", "PASSED", "SUCCEEDED", "URL", "CONTENT",
"FSFLAG", "REGISTER", "CREDENTIALS", "URLOBJECT", "ADDRESSOBJECT", "PID", "PPID", "FSFLAG", "REGISTER", "CREDENTIALS", "URLOBJECT",
"TARGET", "TIMESPEC", "HTTPHEADER", "MAXFORWARD", "FIPS", "SECURITY", "ADDRESSOBJECT", "TARGET", "TIMESPEC", "HTTPHEADER", "MAXFORWARD",
"ATTRIBUTE", "FILEDESCRIPTORS", "GREATER", "GREATEROREQUAL", "LESS", "FIPS", "SECURITY", "ATTRIBUTE", "FILEDESCRIPTORS", "GREATER",
"LESSOREQUAL", "EQUAL", "NOTEQUAL", "'{'", "'}'", "':'", "'@'", "'['", "GREATEROREQUAL", "LESS", "LESSOREQUAL", "EQUAL", "NOTEQUAL", "'{'",
"']'", "$accept", "cfgfile", "statement_list", "statement", "'}'", "':'", "'@'", "'['", "']'", "$accept", "cfgfile",
"optproclist", "optproc", "optfilelist", "optfile", "optfilesyslist", "statement_list", "statement", "optproclist", "optproc", "optfilelist",
"optfilesys", "optdirlist", "optdir", "opthostlist", "opthost", "optfile", "optfilesyslist", "optfilesys", "optdirlist", "optdir",
"optnetlist", "optnet", "optsystemlist", "optsystem", "optfifolist", "opthostlist", "opthost", "optnetlist", "optnet", "optsystemlist",
"optfifo", "optprogramlist", "optprogram", "setalert", "setdaemon", "optsystem", "optfifolist", "optfifo", "optprogramlist", "optprogram",
"setterminal", "startdelay", "setinit", "setonreboot", "setexpectbuffer", "setalert", "setdaemon", "setterminal", "startdelay", "setinit",
"setlimits", "limitlist", "limit", "setfips", "setlog", "seteventqueue", "setonreboot", "setexpectbuffer", "setlimits", "limitlist", "limit",
"setidfile", "setstatefile", "setpid", "setmmonits", "mmonitlist", "setfips", "setlog", "seteventqueue", "setidfile", "setstatefile",
"mmonit", "mmonitoptlist", "mmonitopt", "credentials", "setssl", "ssl", "setpid", "setmmonits", "mmonitlist", "mmonit", "mmonitoptlist",
"ssloptionlist", "ssloption", "sslexpire", "expireoperator", "mmonitopt", "credentials", "setssl", "ssl", "ssloptionlist",
"sslchecksum", "checksumoperator", "sslversionlist", "sslversion", "ssloption", "sslexpire", "expireoperator", "sslchecksum",
"certmd5", "setmailservers", "setmailformat", "mailserverlist", "checksumoperator", "sslversionlist", "sslversion", "certmd5",
"mailserver", "mailserveroptlist", "mailserveropt", "sethttpd", "setmailservers", "setmailformat", "mailserverlist", "mailserver",
"httpdlist", "httpdoption", "pemfile", "clientpemfile", "allowselfcert", "mailserveroptlist", "mailserveropt", "sethttpd", "httpdlist",
"httpdport", "httpdsocket", "httpdsocketoptionlist", "httpdsocketoption", "httpdoption", "pemfile", "clientpemfile", "allowselfcert", "httpdport",
"sigenable", "sigdisable", "signature", "bindaddress", "allow", "$@1", "httpdsocket", "httpdsocketoptionlist", "httpdsocketoption", "sigenable",
"$@2", "$@3", "$@4", "allowuserlist", "allowuser", "readonly", "sigdisable", "signature", "bindaddress", "allow", "$@1", "$@2", "$@3",
"checkproc", "checkfile", "checkfilesys", "checkdir", "checkhost", "$@4", "allowuserlist", "allowuser", "readonly", "checkproc",
"checknet", "checksystem", "checkfifo", "checkprogram", "start", "stop", "checkfile", "checkfilesys", "checkdir", "checkhost", "checknet",
"restart", "argumentlist", "useroptionlist", "argument", "useroption", "checksystem", "checkfifo", "checkprogram", "start", "stop", "restart",
"username", "password", "hostname", "connection", "connectionoptlist", "argumentlist", "useroptionlist", "argument", "useroption", "username",
"password", "hostname", "connection", "connectionoptlist",
"connectionopt", "connectionurl", "connectionurloptlist", "connectionopt", "connectionurl", "connectionurloptlist",
"connectionurlopt", "connectionunix", "connectionuxoptlist", "connectionurlopt", "connectionunix", "connectionuxoptlist",
"connectionuxopt", "icmp", "icmpoptlist", "icmpopt", "host", "port", "connectionuxopt", "icmp", "icmpoptlist", "icmpopt", "host", "port",
"unixsocket", "ip", "type", "typeoptlist", "typeopt", "outgoing", "unixsocket", "ip", "type", "typeoptlist", "typeopt", "outgoing",
"protocol", "sendexpect", "websocketlist", "websocket", "smtplist", "protocol", "sendexpect", "websocketlist", "websocket", "smtplist",
"smtp", "mqttlist", "mqtt", "mysqllist", "mysql", "target", "maxforward", "smtp", "mqttlist", "mqtt", "mysqllist", "mysql", "target", "maxforward",
"siplist", "sip", "httplist", "http", "status", "method", "request", "siplist", "sip", "httplist", "http", "status", "method", "request",
"responsesum", "hostheader", "httpheaderlist", "secret", "radiuslist", "responsesum", "hostheader", "httpheaderlist", "secret", "radiuslist",
"radius", "apache_stat_list", "apache_stat", "exist", "pid", "ppid", "radius", "apache_stat_list", "apache_stat", "exist", "pid", "ppid",
"uptime", "icmpcount", "icmpsize", "icmptimeout", "icmpoutgoing", "uptime", "responsetime", "icmpcount", "icmpsize", "icmptimeout",
"stoptimeout", "starttimeout", "restarttimeout", "programtimeout", "icmpoutgoing", "stoptimeout", "starttimeout", "restarttimeout",
"nettimeout", "connectiontimeout", "retry", "actionrate", "urloption", "programtimeout", "nettimeout", "connectiontimeout", "retry",
"urloperator", "alert", "alertmail", "noalertmail", "eventoptionlist", "actionrate", "urloption", "urloperator", "alert", "alertmail",
"eventoption", "formatlist", "formatoptionlist", "formatoption", "every", "noalertmail", "eventoptionlist", "eventoption", "formatlist",
"mode", "onreboot", "group", "depend", "dependlist", "dependant", "formatoptionlist", "formatoption", "every", "mode", "onreboot", "group",
"statusvalue", "resourceprocess", "resourceprocesslist", "depend", "dependlist", "dependant", "statusvalue", "resourceprocess",
"resourceprocessopt", "resourcesystem", "resourcesystemlist", "resourceprocesslist", "resourceprocessopt", "resourcesystem",
"resourcesystemopt", "resourcecpuproc", "resourcecpu", "resourcecpuid", "resourcesystemlist", "resourcesystemopt", "resourcecpuproc",
"resourcemem", "resourcememproc", "resourceswap", "resourcethreads", "resourcecpu", "resourcecpuid", "resourcemem", "resourcememproc",
"resourcechild", "resourceload", "resourceloadavg", "coremultiplier", "resourceswap", "resourcethreads", "resourcechild", "resourceload",
"resourceread", "resourcewrite", "value", "timestamptype", "timestamp", "resourceloadavg", "coremultiplier", "resourceread", "resourcewrite",
"operator", "time", "totaltime", "currenttime", "repeat", "action", "value", "timestamptype", "timestamp", "operator", "time", "totaltime",
"action1", "action2", "rateXcycles", "rateXYcycles", "rate1", "rate2", "currenttime", "repeat", "action", "action1", "action2", "rateXcycles",
"recovery", "checksum", "hashtype", "inode", "space", "read", "write", "rateXYcycles", "rate1", "rate2", "recovery_success", "recovery_failure",
"servicetime", "fsflag", "unit", "permission", "match", "matchflagnot", "checksum", "hashtype", "inode", "space", "read", "write", "servicetime",
"size", "uid", "euid", "secattr", "filedescriptorssystem", "fsflag", "unit", "permission", "match", "matchflagnot", "size", "uid",
"filedescriptorsprocess", "filedescriptorsprocesstotal", "gid", "euid", "secattr", "filedescriptorssystem", "filedescriptorsprocess",
"linkstatus", "linkspeed", "linksaturation", "upload", "download", "filedescriptorsprocesstotal", "gid", "linkstatus", "linkspeed",
"icmptype", "reminder", YY_NULLPTR "linksaturation", "upload", "download", "icmptype", "reminder", YY_NULLPTR
}; };
#endif #endif
# ifdef YYPRINT # ifdef YYPRINT
/* YYTOKNUM[NUM] -- (External) token number corresponding to the /* YYTOKNUM[NUM] -- (External) token number corresponding to the
(internal) symbol number NUM (which must be that of a token). */ (internal) symbol number NUM (which must be that of a token). */
static const yytype_int16 yytoknum[] = static const yytype_int16 yytoknum[] =
{ {
0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
skipping to change at line 1636 skipping to change at line 1646
445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 552, 123, 125, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
58, 64, 91, 93 555, 123, 125, 58, 64, 91, 93
}; };
# endif # endif
#define YYPACT_NINF (-806) #define YYPACT_NINF (-1338)
#define yypact_value_is_default(Yyn) \ #define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF) ((Yyn) == YYPACT_NINF)
#define YYTABLE_NINF (-732) #define YYTABLE_NINF (-743)
#define yytable_value_is_error(Yyn) \ #define yytable_value_is_error(Yyn) \
0 0
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */ STATE-NUM. */
static const yytype_int16 yypact[] = static const yytype_int16 yypact[] =
{ {
408, 96, -47, 7, 12, 17, 38, 84, 109, 131, 1071, 84, -84, -69, -56, -46, 40, 91, 117, 163,
138, 136, 408, -806, -806, -806, -806, -806, -806, -806, 170, 334, 1071, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, 82, 146, 204, -806, -806, 336, 88, 253, 256, -1338, 44, 183, 239, -1338, -1338, 389, 121, 289, 309,
111, 231, 269, 281, 124, 44, 276, 158, -806, -57, 152, 359, 317, 319, 209, 52, -41, 267, -1338, -42,
-8, 383, 385, 396, 468, -806, 449, 452, 75, -806, -32, 480, 483, 491, 555, -1338, 496, 514, 57, -1338,
-806, 756, 329, 838, 904, 1121, 1141, 1263, 904, 1407, -1338, 533, 402, 679, 816, 929, 1121, 1213, 816, 1524,
534, -806, 434, 466, 77, -806, 1167, -806, -806, -806, 592, -1338, 537, 547, -4, -1338, 1694, -1338, -1338, -1338,
-806, -806, 388, -806, -806, 776, -806, -806, -806, 410, -1338, -1338, 420, -1338, -1338, 1030, -1338, -1338, -1338, 497,
405, -806, 158, 283, 259, 263, 1468, 521, 445, 448, 494, -1338, 267, 380, 365, 373, 1371, 616, 539, 584,
417, 474, 464, 490, 496, 508, 518, 511, 513, 83, 72, 386, 603, 605, 548, 610, 459, 593, 614, 102,
518, 518, 524, 518, -84, 380, 482, 177, 533, 525, 459, 459, 624, 459, -97, 469, 599, 148, 626, 631,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -41, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -16, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, 81, -161, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, 176, -34, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, 94, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, 113, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
21, -806, -806, -806, -806, -806, -806, -806, -806, -806, 122, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, 69, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, 35, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, 249, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, 128, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, 1419, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, 1488,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-96, -806, -806, -806, -806, -806, -806, -806, -806, -806, -55, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, 558, 674, -806, 561, 528, 581, -806, -1338, -1338, -1338, 642, 763, -1338, 650, 472, 656, -1338,
647, 10, 592, 599, 651, 653, 523, 613, -806, 650, 730, 13, 678, 683, 731, 734, 531, 722, -1338, 696,
708, 693, -806, -806, -806, -806, -806, -806, -806, -806, 724, 575, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, 19, 107, -806, -806, -806, -806, -1338, -1338, -1338, -1338, 21, 478, -1338, -1338, -1338, -1338,
-806, 601, 615, -806, -806, 48, -806, 664, -806, 836, -1338, 586, 589, -1338, -1338, 1, -1338, 674, -1338, 704,
283, 620, -806, 776, 1468, -806, -806, -806, -806, -806, 380, 612, -1338, 1030, 1371, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, 432, -806, 750, -806, -806, -1338, -1338, -1338, -1338, -1338, 419, -1338, 764, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, 296, -806, -806, -806, 240, 623, 825, 883, 883, -1338, 237, -1338, -1338, -1338, 135, 620, 820, 963, 963,
883, 883, 564, 883, 883, -806, -806, -806, 883, 883, 963, 963, 467, 963, 963, -1338, -1338, -1338, 963, 963,
498, 659, 883, 786, 883, 1462, -806, -806, -806, -806, 379, 647, 963, 776, 30, 963, 1642, -1338, -1338, -1338,
-806, -806, 727, -806, -806, 447, 453, -806, 529, 877, -1338, -1338, -1338, 729, -1338, -1338, 336, 594, -1338, 644,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, 871, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
525, -806, 639, 1468, 521, 79, -806, -806, -806, -806, -1338, 631, -1338, 633, 1371, 616, 41, -1338, -1338, -1338,
239, 883, 659, 489, 883, 691, -806, 489, 700, -129, -1338, 213, 963, 647, 385, 963, 697, -1338, 385, 711,
883, 883, 883, -169, 857, 874, 638, -33, 918, 883, -87, 963, 963, 963, -123, 1135, 1442, 797, 312, 383,
883, 883, 738, 933, 883, 883, -806, -806, -806, -806, 930, 732, 963, 963, 963, 655, 935, 963, 963, -1338,
-806, -806, -806, -806, -806, -806, 883, 1213, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, 963,
883, -806, -806, -806, 883, 808, -806, 837, -806, 889, 1597, -1338, -1338, 963, -1338, -1338, -1338, 963, 804, -1338,
-11, 850, -806, -806, -806, -806, -806, -806, 852, -806, 844, -1338, 883, 349, 858, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, 876, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, 762, 858, -806, 856, 860, 862, 696, -1338, -1338, -1338, -1338, -1338, -1338, 779, 899, -1338, 904,
868, 870, -806, -806, -806, -806, -806, -806, -806, -806, 906, 911, 757, 926, 928, -1338, -1338, -1338, -1338, -1338,
-806, -806, 709, 714, 717, 719, 723, 724, 732, 733, -1338, -1338, -1338, -1338, -1338, 766, 768, 771, 774, 777,
735, 737, -806, -806, 740, 742, 746, 751, 753, 784, 784, 785, 792, 796, 802, -1338, -1338, 812, 813, 818,
790, 791, 793, -806, -806, -806, -806, -806, -806, 866, 819, 823, 828, 832, 836, 838, -1338, -1338, -1338, -1338,
869, -806, -806, -806, -806, -806, -806, -806, 219, 789, -1338, -1338, 959, 994, -1338, -1338, -1338, -1338, -1338, -1338,
937, -806, 974, 892, 156, 212, 184, -806, -806, -806, -1338, 23, 714, 1053, -1338, 1094, 1006, 118, 123, -25,
919, 948, 244, 307, 322, 807, 797, 1015, -806, 883, -1338, -1338, -1338, 1023, 1029, 166, 194, 311, 885, 886,
951, -806, -806, -806, -806, -806, -806, -806, 952, 953, 1095, -1338, 963, 1032, -1338, -1338, -1338, -1338, -1338, -1338,
-39, -39, 883, 883, -39, -39, -39, -39, 786, 786, -1338, 1033, 1034, 247, 247, 963, 963, 247, 247, 247,
786, 955, 33, -806, -806, 1097, -34, -806, 1107, -806, 247, 776, 776, 776, 1035, 70, -1338, -1338, 1173, 901,
883, 979, 228, -806, 980, 237, -806, 982, 255, -806, 1095, -1338, 261, -1338, 1182, -1338, 963, 1041, 169, -1338,
-806, -806, 1468, 1208, -806, -806, -806, 983, 1034, 786, 1045, 278, -1338, 1046, 302, -1338, -1338, -1338, 1371, 1229,
786, 786, 1035, 987, -806, -806, 662, 988, 682, 686, -1338, -1338, -1338, 1051, 1102, 776, 776, 776, 1104, 1056,
702, -15, 0, 6, 786, 883, 242, 883, -39, -806, -1338, -1338, 662, 1060, 668, 681, 741, 266, 331, 356,
-806, -806, 1053, 786, 990, 992, 994, 883, 883, 786, 776, 963, 375, 963, 247, -1338, -1338, -1338, 1131, -1338,
-39, -39, 258, -806, 1136, -39, 996, 786, -806, 528, -1338, -1338, 1131, 776, 776, 776, 1069, 1074, 1076, 963,
14, -806, -806, -806, -806, -806, -806, 1008, 1022, 1024, 963, 776, 247, 247, 410, -1338, 1220, 247, 1079, 776,
1025, 1027, 1152, 106, 165, 1036, 1046, 1047, 1051, 1054, -1338, 472, 8, -1338, -1338, -1338, -1338, -1338, -1338, 1091,
828, 851, 1061, 1064, -806, 1057, 1058, 1059, 1060, 1062, 1103, 1105, 1106, 1108, 1221, 78, 228, 1109, 1110, 1111,
1066, 1071, 1074, 1075, -806, 945, -806, 937, 521, -806, 1113, 1114, 879, 870, 1124, 1125, -1338, 1118, 1119, 1120,
999, -806, -806, -806, -806, -806, -806, -806, -806, 786, 1122, 1132, 1133, 1137, 1139, 1142, -1338, 1013, -1338, 1053,
786, 786, 786, 786, 786, -806, 757, 1076, -806, 548, 616, -1338, 1039, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
1082, 1150, -806, -806, -806, -806, 388, 388, 267, 277, -1338, 776, 776, 776, 776, 776, 776, -1338, 814, 1143,
359, 469, 1085, 1087, 1235, 1236, 1237, 574, -806, 1186, -1338, 530, 1144, 1234, -1338, -1338, -1338, -1338, 420, 420,
435, 56, 1098, 435, -39, 1016, -806, 1019, -806, 1020, 447, 471, 591, 716, 1123, 1130, 1289, 1290, 1295, 927,
-806, 1275, 937, 786, 49, 1244, 1246, 1255, 786, 388, -1338, 1242, 464, -1338, -1338, 530, 27, 1153, 464, 247,
786, 786, 574, 786, 786, -806, -806, -806, -806, 1083, 1075, -1338, 1077, -1338, 1084, -1338, 1304, 1053, 776, 7,
388, 1084, 388, 1037, 1039, 1258, 293, 56, 1118, -39, 1301, 1303, 1311, 776, 420, 776, 776, 927, 776, 776,
530, 60, 60, 60, 1001, -806, 1264, 1124, 117, 181, -1338, -1338, -1338, -1338, 1129, 420, 1140, 420, 1088, 1089,
1127, 1129, 1272, 600, 640, 56, 1131, 435, 1132, 786, 1316, 479, 27, 1174, 247, 749, 65, 65, 65, 1052,
1277, 989, 989, -806, 1146, 1027, 1027, 1027, 1152, -806, -1338, 65, 65, 65, -1338, 1320, 1321, 1323, 1184, 69,
1027, -806, -806, -806, -806, 355, 366, 1138, -806, -806, 108, 1183, 1187, 1332, 762, 833, 27, 1189, 464, 1190,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, 776, 1336, 1043, 1043, -1338, 1206, 1108, 1108, 1108, 1221,
1553, 388, 388, 388, 388, 681, 703, 712, 715, 718, -1338, 1108, -1338, -1338, -1338, -1338, 367, 481, 1199, -1338,
-806, 521, -806, -806, 1281, 1282, 1284, 1285, 1286, 1292, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
61, 786, 786, -806, 356, 1165, 1168, 541, 1649, 1162, -1338, 1305, 420, 420, 420, 420, 707, 760, 773, 778,
1164, -806, -806, -806, -806, -806, -806, 1309, 786, 1310, 788, -1338, 616, -1338, -1338, 1349, 1352, 1357, 1359, 1360,
1088, 1088, 1140, 388, 1147, 388, -806, -806, -806, -806, 1362, 215, 776, 776, -1338, 105, 1230, 1236, 570, 1741,
-806, -806, 435, 435, 435, -806, -806, -806, -806, -806, 1225, 1231, 963, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
786, -806, -806, -806, -806, -806, 518, -806, -806, 1323, 1363, 776, 1375, 1152, 1152, 1203, 420, 1207, 420, -1338,
1326, 786, 1323, -806, -806, -806, -806, 937, 521, 1327, -1338, -1338, -1338, -1338, -1338, 464, 464, 464, -1338, -1338,
1197, 1330, 435, 435, 435, 1341, 786, 1342, 1344, 786, -1338, -1338, -1338, 776, -1338, -1338, -1338, -1338, -1338, 459,
1348, 1349, 786, 1088, 786, 1088, 786, 786, 435, 56, -1338, -1338, 1382, 215, 105, 1383, 1386, 776, 1382, -1338,
1209, 1350, 786, 814, 786, 786, 1220, 1217, 1218, 1219, -1338, -1338, -1338, 1053, 616, 1387, 1255, 1390, 464, 464,
-806, -806, -806, -806, -806, 1362, 1364, 1368, -806, 60, 464, 1392, 776, 1393, 1395, 776, 1396, 1400, 776, 1152,
435, 786, 1088, 1088, 1088, 1088, 241, 248, 435, -806, 776, 1152, 776, 776, 464, 27, 1257, 1403, 776, 842,
-806, -806, -806, 1369, 786, 1323, -806, 1370, 435, 1240, 776, 776, 1270, 1263, 1266, 1273, -1338, -1338, -1338, -1338,
1243, -806, 1027, 1027, 1027, -806, -806, -806, -806, -806, -1338, 1418, 1420, 1421, -1338, 65, 1422, 1423, 1424, 65,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, 464, 464, 464, 776, 1152, 1152, 1152, 1152, 222, 231,
-806, -806, -806, -806, -806, -806, -806, -806, 435, 435, 464, -1338, -1338, -1338, -1338, 1431, 776, 1382, -1338, 1432,
435, 435, 435, 435, 26, 489, -806, -806, -806, -806, 464, 1300, 1302, -1338, 1108, 1108, 1108, -1338, -1338, -1338,
-806, -806, -806, 1377, 1378, 1383, 1253, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, 1386, -806, -806, -806, -806, -806, -806, -806, -806, 464, 464, 464, 464, 464, 464, 26, 385, -1338, -1338,
966, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, 1438, 1440, 1444, 1308, -1338,
-806, -806, -806, -806, -12, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, 1446, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, 1166, -806, 435, 1387, 92, -1338, -1338, -1338, 1548, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, 1088, -806, 1088, -806, -806, 1323, -1338, -1338, -1338, -1338, -1338, -1338, -1338, 39, -1338, -1338,
1388, 80, 1393, -806, 435, 1415, -806, 521, -806, 435, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
786, 435, 1323, -806, -806, 435, 1416, 435, 435, 1417, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, 1224, -1338,
435, 435, 1421, 786, 1423, 786, 1427, 1429, -806, 1431, 1307, 464, 1452, 692, -1338, -1338, -1338, -1338, 1152, -1338,
786, 435, 1432, 786, 786, 1433, 1434, -806, -806, 1196, 1152, -1338, -1338, 1382, 1454, 303, 134, -1338, 1456, 1458,
-806, 435, 435, 435, 1435, 1323, 1436, 786, 786, 786, 464, 464, 1462, -1338, 616, -1338, 464, 776, 464, 1382,
786, 364, 368, 430, 450, 1323, 435, 1437, -806, 435, -1338, -1338, 464, 1463, 464, 464, 1465, 464, 464, 1466,
-806, -806, -806, 1323, 1323, 1323, 1323, 1323, 1323, 1154, 776, 1471, 776, 1472, 1476, -1338, 1478, 776, 464, 1483,
1307, 435, 435, 435, -806, 435, 1458, 312, 312, 1312, 776, 776, 1484, 1487, -1338, -1338, 1264, -1338, 464, 464,
883, 883, 883, 883, 883, 883, 883, 883, 883, 883, 464, 1490, 464, 464, 464, 1491, 1382, 1382, 1493, 1494,
-806, -806, 966, -806, 731, 731, -28, -28, 1315, 1316, 776, 776, 776, 776, 352, 516, 583, 652, 1382, 464,
1308, 1319, -12, -806, 731, 29, 1245, -806, 1323, 435, 1499, -1338, 464, -1338, -1338, -1338, 1382, 1382, 1382, 1382,
-806, -806, -806, -806, -806, 435, 1363, 8, -806, 440, 1382, 1382, 1210, 1367, 464, 464, 464, -1338, 464, 1645,
1323, 435, -806, 1323, 1454, 1323, -806, -806, 435, -806, 431, 431, 1372, 963, 963, 963, 963, 963, 963, 963,
-806, 435, -806, -806, 435, 1456, 435, 1459, 435, 435, 963, 963, 963, -1338, -1338, 1548, -1338, 808, 808, -3,
435, 1460, 1323, 435, 1461, 1466, 435, 435, -806, 1323, -3, 1368, 1374, 1366, 1376, 39, -1338, 808, -126, 1314,
1323, 1323, 435, -806, 435, 1470, 1477, 1478, 1483, 503, -1338, 805, 1382, 464, -1338, -1338, -1338, -1338, -1338, 464,
-806, -806, -806, 786, 503, 786, 503, 786, 503, 786, 1416, -22, -1338, 562, -1338, -1338, 464, 464, 1493, 1382,
-806, 1323, 435, 1323, -806, -806, -806, -806, -806, -806, 464, -1338, 1382, 1512, 1382, -1338, -1338, 464, -1338, -1338,
-806, 1343, -806, 1323, 1323, 1323, 1323, -806, -806, -806, 464, -1338, -1338, 464, 1514, 464, 1521, 464, 464, 464,
1336, 787, 883, 834, 1354, -806, -806, -806, -806, -806, 1525, 1382, 464, 1528, 1530, 464, 464, -1338, 1382, 1382,
-806, -806, -806, -806, -806, 1347, 1352, 1353, 1355, 1357, 1382, 464, 1493, 1493, 1493, 464, -1338, -1338, 154, -1338,
1360, 1365, 1373, 1374, 1379, -806, -806, -806, -806, 1404, 464, 1532, 1534, 1550, 1551, 615, -1338, -1338, -1338, 776,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, 615, 776, 615, 776, 615, 776, -1338, 1382, 464, 1382,
-806, 246, 1380, -806, -806, -806, 1371, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, 1409, -1338, 1382,
1323, 1323, 63, -806, 786, 786, 786, -806, 1323, -806, 1382, 1382, 1382, -1338, -1338, -1338, 1419, 869, 963, 923,
435, -806, 1323, 1323, 1323, 435, 1323, 435, 1323, 1323, 1425, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
1323, 435, -806, 1323, 435, 435, 1323, 1323, -806, -806, -1338, 1411, 1414, 1415, 1426, 1433, 1434, 1439, 1441, 1443,
-806, 1323, 1323, 435, 435, 435, 435, 786, 1522, 786, 1445, -1338, -1338, -1338, -1338, 1469, -1338, -1338, -1338, -1338,
1523, 786, 1526, 786, 1527, -806, 1323, -806, 1278, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, 424, 1448, -1338,
-806, -806, -806, -806, -806, -806, 1391, -806, -806, -806, -1338, -1338, 1430, -1338, -1338, -1338, -1338, -1338, 1382, 1382,
-192, 1392, 1395, 1400, 1401, 1402, 1403, 1409, 1410, 1411, 79, -1338, 776, 776, 776, 1493, 1493, -1338, -1338, 1382,
1412, 16, -806, -806, -806, -806, -806, -806, -806, 1481, -1338, 464, -1338, 1382, 1382, 1382, 464, 1382, 464, 1382,
-806, -806, 1535, 1555, 1557, -806, 1323, -806, -806, -806, 1382, 1382, 464, -1338, 1382, 464, 464, 1382, 1382, -1338,
1323, -806, 1323, -806, -806, -806, 1323, -806, 1323, 1323, -1338, -1338, 1382, -1338, -1338, -1338, 1493, 1564, -1338, 1382,
-806, -806, -806, -806, 1323, 1323, 1323, 1323, 1558, 435, 464, 464, 464, 464, 776, 1566, 776, 1567, 776, 1574,
1561, 435, 1562, 435, 1566, 435, -806, -806, -806, -806, 776, 1575, -1338, 1382, -1338, 1361, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, 1449, -1338, -1338, -1338, -158, 1453, 1464,
-806, 989, 989, 1447, -806, 435, 435, 435, -806, -806, 1467, 1468, 1470, 1477, 1480, 1481, 1482, 1485, 16, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, 435, 1323, -1338, -1338, -1338, -1338, -1338, -1338, 1539, -1338, -1338, 1596,
435, 1323, 435, 1323, 435, 1323, 1448, 1449, -806, -806, 1598, 1600, -1338, -1338, -1338, 1382, -1338, -1338, -1338, 1382,
-806, -806, -806, 1323, -806, 1323, -806, 1323, -806, 1323, -1338, 1382, -1338, -1338, -1338, 1382, -1338, 1382, 1382, -1338,
-806, -806, -806, -806, -806, -806, -806 -1338, -1338, -1338, 776, -1338, 1382, 1382, 1382, 1382, 1606,
464, 1607, 464, 1613, 464, 1615, 464, -1338, -1338, -1338,
-1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-1338, -1338, 1043, 1043, 1498, -1338, 464, 464, 464, -1338,
-1338, -1338, -1338, -1338, -1338, 1633, -1338, -1338, -1338, -1338,
464, 1382, 464, 1382, 464, 1382, 464, 1382, 1500, 1502,
-1338, -1338, -1338, -1338, 464, 1382, -1338, 1382, -1338, 1382,
-1338, 1382, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338
}; };
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero Performed when YYTABLE does not specify something else to do. Zero
means the default is an error. */ means the default is an error. */
static const yytype_int16 yydefact[] = static const yytype_int16 yydefact[] =
{ {
2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 4, 6, 8, 9, 20, 22, 19, 0, 0, 3, 4, 6, 8, 9, 20, 22, 19,
21, 23, 10, 11, 17, 18, 16, 12, 7, 13, 21, 23, 10, 11, 17, 18, 16, 12, 7, 13,
14, 15, 33, 59, 79, 101, 118, 133, 150, 165, 14, 15, 33, 59, 79, 101, 118, 133, 150, 165,
182, 0, 0, 0, 303, 202, 0, 0, 0, 0, 182, 0, 0, 0, 303, 202, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 224, 614, 0, 0, 0, 0, 0, 0, 0, 0, 224, 625,
0, 0, 0, 0, 0, 364, 0, 0, 0, 1, 0, 0, 0, 0, 0, 364, 0, 0, 0, 1,
5, 24, 25, 26, 27, 28, 32, 29, 30, 31, 5, 24, 25, 26, 27, 28, 32, 29, 30, 31,
226, 225, 200, 294, 567, 290, 302, 199, 250, 231, 226, 225, 200, 294, 578, 290, 302, 199, 250, 231,
232, 208, 762, 233, 580, 0, 203, 204, 205, 0, 232, 208, 777, 233, 591, 0, 203, 204, 205, 0,
0, 238, 234, 245, 0, 0, 0, 810, 0, 0, 0, 238, 234, 245, 0, 0, 0, 827, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
34, 35, 36, 37, 48, 49, 50, 38, 39, 40, 34, 35, 36, 37, 48, 49, 50, 38, 39, 40,
47, 51, 52, 614, 579, 53, 54, 55, 56, 57, 47, 51, 52, 625, 590, 53, 54, 55, 56, 57,
58, 41, 42, 43, 44, 45, 46, 777, 777, 60, 58, 41, 42, 43, 44, 45, 46, 792, 792, 60,
61, 62, 63, 64, 66, 68, 67, 75, 76, 77, 61, 62, 63, 64, 66, 68, 67, 75, 76, 77,
78, 65, 72, 69, 74, 73, 70, 71, 0, 80, 78, 65, 72, 69, 74, 73, 70, 71, 0, 80,
81, 82, 83, 84, 85, 87, 86, 91, 92, 93, 81, 82, 83, 84, 85, 87, 86, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 88, 89, 90, 94, 95, 96, 97, 98, 99, 100, 88, 89, 90,
0, 102, 103, 104, 105, 106, 108, 110, 109, 114, 0, 102, 103, 104, 105, 106, 108, 110, 109, 114,
115, 116, 117, 107, 111, 112, 113, 0, 119, 120, 115, 116, 117, 107, 111, 112, 113, 0, 119, 120,
121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
131, 132, 0, 134, 135, 136, 137, 143, 147, 144, 131, 132, 0, 134, 135, 136, 137, 143, 147, 144,
145, 146, 148, 149, 138, 139, 140, 141, 142, 0, 145, 146, 148, 149, 138, 139, 140, 141, 142, 0,
151, 152, 153, 154, 163, 155, 156, 157, 158, 159, 151, 152, 153, 154, 163, 155, 156, 157, 158, 159,
160, 161, 162, 164, 166, 167, 168, 169, 170, 172, 160, 161, 162, 164, 166, 167, 168, 169, 170, 172,
174, 173, 178, 179, 180, 181, 171, 175, 176, 177, 174, 173, 178, 179, 180, 181, 171, 175, 176, 177,
0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191,
192, 193, 194, 0, 0, 198, 0, 292, 0, 291, 192, 193, 194, 0, 0, 198, 0, 292, 0, 291,
387, 0, 0, 0, 0, 0, 248, 0, 316, 0, 387, 0, 0, 0, 0, 0, 248, 0, 316, 0,
0, 0, 305, 304, 306, 307, 308, 312, 313, 330, 0, 0, 305, 304, 306, 307, 308, 312, 313, 330,
331, 309, 310, 311, 0, 0, 763, 764, 765, 766, 331, 309, 310, 311, 0, 0, 778, 779, 780, 781,
206, 0, 0, 620, 621, 0, 616, 228, 230, 237, 206, 0, 0, 631, 632, 0, 627, 228, 230, 237,
245, 0, 235, 0, 0, 598, 585, 586, 600, 601, 245, 0, 235, 0, 0, 609, 596, 597, 611, 612,
608, 606, 588, 610, 587, 609, 605, 612, 594, 596, 619, 617, 599, 621, 598, 620, 616, 623, 605, 607,
611, 602, 607, 584, 613, 591, 595, 599, 592, 597, 622, 613, 618, 595, 624, 602, 606, 610, 603, 608,
590, 589, 603, 604, 593, 0, 582, 0, 195, 353, 601, 600, 614, 615, 604, 0, 593, 0, 195, 353,
354, 355, 356, 359, 358, 357, 360, 361, 365, 378, 354, 355, 356, 359, 358, 357, 360, 361, 365, 378,
379, 565, 374, 362, 363, 430, 0, 0, 698, 698, 379, 576, 374, 362, 363, 439, 0, 0, 709, 709,
698, 698, 0, 698, 698, 679, 680, 681, 698, 698, 709, 709, 0, 709, 709, 690, 691, 692, 709, 709,
0, 0, 698, 731, 698, 731, 639, 641, 642, 643, 0, 0, 709, 742, 439, 709, 742, 650, 652, 653,
644, 645, 682, 646, 647, 561, 559, 581, 563, 0, 654, 655, 656, 693, 657, 658, 572, 570, 592, 574,
623, 624, 625, 626, 627, 628, 629, 630, 631, 635, 0, 634, 635, 636, 637, 638, 639, 640, 641, 642,
632, 633, 0, 0, 810, 744, 692, 693, 694, 695, 646, 643, 644, 0, 0, 827, 759, 703, 704, 705,
744, 698, 778, 0, 698, 0, 778, 0, 0, 0, 706, 759, 709, 793, 0, 709, 0, 793, 0, 0,
698, 698, 698, 0, 698, 698, 0, 430, 0, 698, 0, 709, 709, 709, 0, 709, 709, 0, 439, 439,
698, 698, 0, 0, 698, 698, 667, 658, 659, 660, 0, 0, 709, 709, 709, 0, 0, 709, 709, 678,
661, 662, 663, 664, 665, 666, 698, 731, 649, 654, 669, 670, 671, 672, 673, 674, 675, 676, 677, 709,
698, 652, 653, 651, 698, 0, 227, 0, 294, 0, 742, 660, 665, 709, 663, 664, 662, 709, 0, 227,
0, 0, 274, 276, 278, 280, 282, 284, 0, 286, 0, 294, 0, 0, 0, 274, 276, 278, 280, 282,
275, 277, 279, 281, 283, 285, 298, 299, 300, 301, 284, 0, 286, 275, 277, 279, 281, 283, 285, 298,
295, 296, 297, 0, 0, 288, 0, 0, 0, 347, 299, 300, 301, 295, 296, 297, 0, 0, 288, 0,
335, 0, 332, 314, 327, 329, 250, 315, 317, 319, 0, 0, 347, 335, 0, 332, 314, 327, 329, 250,
326, 328, 0, 0, 0, 0, 0, 0, 0, 0, 315, 317, 319, 326, 328, 0, 0, 0, 0, 0,
0, 0, 247, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 251, 0, 0, 0,
0, 0, 0, 207, 209, 618, 619, 289, 617, 0, 0, 0, 0, 0, 0, 0, 207, 209, 629, 630,
0, 239, 241, 242, 243, 244, 236, 246, 0, 0, 289, 628, 0, 0, 239, 241, 242, 243, 244, 236,
614, 583, 811, 0, 0, 0, 565, 375, 376, 366, 246, 0, 0, 625, 594, 828, 0, 0, 0, 576,
0, 0, 0, 0, 0, 0, 0, 0, 413, 698, 375, 376, 366, 0, 0, 0, 0, 0, 0, 0,
0, 705, 699, 700, 701, 702, 703, 704, 0, 0, 0, 417, 709, 0, 716, 710, 711, 712, 713, 714,
0, 0, 698, 698, 0, 0, 0, 0, 731, 731, 715, 0, 0, 0, 0, 709, 709, 0, 0, 0,
731, 0, 0, 732, 733, 0, 0, 640, 0, 683, 0, 742, 742, 742, 0, 0, 743, 744, 0, 0,
698, 0, 561, 368, 0, 559, 370, 0, 563, 372, 0, 417, 0, 651, 0, 694, 709, 0, 572, 368,
622, 634, 0, 0, 576, 745, 746, 0, 0, 731, 0, 570, 370, 0, 574, 372, 633, 645, 0, 0,
731, 731, 0, 0, 574, 575, 0, 0, 0, 0, 587, 760, 761, 0, 0, 742, 742, 742, 0, 0,
0, 0, 0, 0, 731, 698, 0, 698, 0, 424, 585, 586, 0, 0, 0, 0, 0, 0, 0, 0,
424, 424, 0, 731, 0, 0, 0, 698, 698, 731, 742, 709, 0, 709, 0, 433, 433, 433, 0, 433,
0, 0, 0, 650, 0, 0, 0, 731, 201, 293, 433, 433, 0, 742, 742, 742, 0, 0, 0, 709,
270, 385, 384, 386, 287, 568, 388, 336, 337, 338, 709, 742, 0, 0, 0, 661, 0, 0, 0, 742,
0, 0, 351, 0, 318, 0, 0, 0, 0, 0, 201, 293, 270, 385, 384, 386, 287, 579, 388, 336,
0, 0, 0, 0, 272, 0, 0, 0, 0, 0, 337, 338, 0, 0, 351, 0, 318, 0, 0, 0,
0, 0, 0, 0, 229, 0, 615, 614, 810, 812, 0, 0, 0, 0, 0, 0, 272, 0, 0, 0,
0, 380, 382, 381, 383, 377, 367, 431, 433, 731, 0, 0, 0, 0, 0, 0, 229, 0, 626, 625,
731, 731, 731, 731, 731, 404, 0, 0, 390, 731, 827, 829, 0, 380, 382, 381, 383, 377, 367, 440,
0, 0, 676, 677, 691, 690, 762, 762, 0, 0, 442, 742, 742, 742, 742, 742, 742, 407, 0, 0,
762, 762, 0, 0, 0, 0, 0, 706, 729, 0, 391, 742, 0, 0, 687, 688, 702, 701, 777, 777,
0, 691, 0, 0, 0, 0, 369, 0, 371, 0, 0, 0, 777, 777, 0, 0, 0, 0, 0, 717,
373, 0, 614, 731, 731, 0, 0, 0, 731, 762, 740, 0, 0, 407, 391, 742, 702, 0, 0, 0,
731, 731, 706, 731, 731, 772, 771, 776, 775, 691, 0, 369, 0, 371, 0, 373, 0, 625, 742, 742,
762, 691, 762, 691, 0, 0, 0, 691, 0, 0, 0, 0, 0, 742, 777, 742, 742, 717, 742, 742,
762, 731, 731, 731, 0, 424, 0, 0, 762, 762, 787, 786, 791, 790, 702, 777, 702, 777, 702, 0,
0, 0, 0, 762, 762, 691, 0, 0, 0, 731, 0, 0, 702, 0, 0, 777, 742, 742, 742, 0,
0, 270, 270, 271, 0, 0, 0, 0, 351, 350, 433, 742, 742, 742, 433, 0, 0, 0, 0, 777,
340, 348, 352, 334, 249, 0, 0, 0, 320, 258, 777, 0, 0, 0, 777, 777, 702, 0, 0, 0,
260, 259, 257, 261, 254, 255, 252, 253, 262, 263, 742, 0, 270, 270, 271, 0, 0, 0, 0, 351,
256, 762, 762, 762, 762, 0, 0, 0, 0, 0, 350, 340, 348, 352, 334, 249, 0, 0, 0, 320,
240, 810, 196, 566, 0, 0, 0, 0, 0, 0, 258, 260, 259, 257, 261, 254, 255, 252, 253, 262,
731, 731, 731, 432, 731, 0, 0, 0, 0, 0, 263, 256, 777, 777, 777, 777, 0, 0, 0, 0,
0, 414, 415, 416, 417, 418, 419, 0, 731, 0, 0, 240, 827, 196, 577, 0, 0, 0, 0, 0,
715, 715, 691, 762, 691, 762, 671, 670, 673, 672, 0, 742, 742, 742, 441, 742, 0, 0, 0, 0,
655, 656, 0, 0, 0, 707, 708, 709, 710, 711, 0, 0, 709, 418, 419, 420, 421, 423, 422, 424,
731, 730, 724, 725, 720, 723, 0, 726, 727, 737, 0, 742, 0, 726, 726, 702, 777, 702, 777, 682,
0, 731, 737, 678, 562, 560, 564, 614, 810, 0, 681, 684, 683, 666, 667, 0, 0, 0, 718, 719,
0, 0, 0, 0, 0, 0, 731, 0, 0, 731, 720, 721, 722, 742, 741, 735, 736, 731, 734, 0,
0, 0, 731, 715, 731, 715, 731, 731, 0, 691, 737, 738, 748, 742, 742, 0, 0, 742, 748, 689,
0, 0, 731, 762, 731, 731, 0, 0, 0, 0, 573, 571, 575, 625, 827, 0, 0, 0, 0, 0,
425, 426, 427, 428, 429, 0, 0, 0, 809, 731, 0, 0, 742, 0, 0, 742, 0, 0, 742, 726,
0, 731, 715, 715, 715, 715, 762, 762, 0, 669, 742, 726, 742, 742, 0, 702, 0, 0, 742, 777,
668, 675, 674, 0, 731, 737, 657, 0, 0, 0, 742, 742, 0, 0, 0, 0, 434, 435, 436, 437,
0, 267, 342, 344, 346, 333, 349, 321, 323, 322, 438, 0, 0, 0, 826, 742, 0, 0, 0, 742,
324, 325, 273, 210, 211, 212, 213, 214, 215, 216, 0, 0, 0, 742, 726, 726, 726, 726, 777, 777,
217, 220, 221, 218, 219, 222, 223, 197, 0, 0, 0, 680, 679, 686, 685, 0, 742, 748, 668, 0,
0, 0, 0, 0, 0, 0, 409, 411, 410, 405, 0, 0, 0, 267, 342, 344, 346, 333, 349, 321,
407, 408, 406, 0, 0, 0, 0, 434, 435, 400, 323, 322, 324, 325, 273, 210, 211, 212, 213, 214,
402, 401, 391, 392, 393, 398, 394, 395, 397, 399, 215, 216, 217, 220, 221, 218, 219, 222, 223, 197,
396, 0, 482, 483, 438, 436, 439, 445, 512, 512, 0, 0, 0, 0, 0, 0, 0, 0, 412, 414,
0, 449, 490, 490, 465, 466, 452, 453, 454, 462, 413, 408, 410, 411, 409, 0, 0, 0, 0, 443,
463, 498, 498, 446, 0, 494, 471, 447, 455, 456, 444, 402, 404, 403, 392, 393, 394, 400, 395, 396,
472, 474, 475, 476, 464, 508, 477, 478, 532, 480, 399, 398, 401, 397, 0, 491, 492, 447, 445, 448,
473, 457, 467, 470, 448, 0, 570, 0, 0, 0, 454, 521, 521, 0, 458, 499, 499, 474, 475, 461,
716, 684, 687, 686, 715, 689, 715, 552, 553, 737, 462, 463, 471, 472, 507, 507, 455, 0, 503, 480,
0, 717, 0, 551, 0, 0, 638, 810, 577, 0, 456, 464, 465, 481, 483, 484, 485, 473, 517, 486,
731, 0, 737, 780, 697, 0, 0, 0, 0, 0, 487, 541, 489, 482, 466, 476, 479, 457, 0, 581,
0, 0, 0, 731, 0, 731, 0, 0, 761, 0, 0, 0, 0, 0, 727, 695, 698, 697, 726, 700,
731, 0, 0, 731, 731, 0, 0, 558, 555, 0, 726, 561, 562, 748, 0, 728, 0, 560, 0, 0,
556, 0, 0, 0, 0, 737, 0, 731, 731, 731, 0, 0, 0, 649, 827, 588, 0, 742, 0, 748,
731, 0, 0, 0, 0, 737, 0, 0, 648, 0, 795, 708, 0, 0, 0, 0, 0, 0, 0, 0,
637, 268, 269, 737, 737, 737, 737, 737, 737, 265, 742, 0, 742, 0, 0, 776, 0, 742, 0, 0,
0, 0, 0, 0, 443, 0, 437, 450, 451, 0, 742, 742, 0, 0, 569, 566, 0, 567, 0, 0,
698, 698, 698, 698, 698, 698, 698, 698, 698, 698, 0, 0, 0, 0, 0, 0, 748, 748, 753, 0,
537, 538, 444, 535, 468, 469, 459, 460, 0, 0, 742, 742, 742, 742, 0, 0, 0, 0, 748, 0,
0, 0, 481, 484, 458, 461, 479, 569, 737, 0, 0, 659, 0, 648, 268, 269, 748, 748, 748, 748,
572, 571, 685, 688, 550, 0, 0, 717, 721, 0, 748, 748, 265, 0, 0, 0, 0, 452, 0, 446,
737, 0, 578, 737, 0, 737, 768, 743, 0, 770, 459, 460, 0, 709, 709, 709, 709, 709, 709, 709,
769, 0, 774, 773, 0, 0, 0, 0, 0, 0, 709, 709, 709, 546, 547, 453, 544, 477, 478, 468,
0, 0, 737, 0, 0, 0, 0, 0, 557, 737, 469, 0, 0, 0, 0, 490, 493, 467, 470, 488,
737, 737, 0, 794, 0, 0, 0, 0, 0, 0, 580, 0, 748, 0, 583, 582, 696, 699, 559, 0,
712, 713, 714, 731, 0, 731, 0, 731, 0, 731, 0, 728, 732, 0, 739, 749, 0, 0, 753, 748,
795, 737, 0, 737, 781, 782, 783, 784, 792, 793, 0, 589, 748, 0, 748, 783, 758, 0, 785, 784,
266, 0, 573, 737, 737, 737, 737, 441, 442, 440, 0, 789, 788, 0, 0, 0, 0, 0, 0, 0,
0, 0, 698, 0, 0, 529, 514, 515, 513, 518, 0, 748, 0, 0, 0, 0, 0, 568, 748, 748,
519, 516, 517, 520, 539, 0, 0, 0, 0, 0, 748, 0, 753, 753, 753, 0, 809, 811, 0, 810,
0, 0, 0, 0, 0, 536, 492, 493, 491, 0, 0, 0, 0, 0, 0, 0, 723, 724, 725, 742,
500, 501, 499, 488, 486, 489, 487, 485, 496, 497, 0, 742, 0, 742, 0, 742, 812, 748, 0, 748,
495, 0, 0, 510, 511, 509, 0, 534, 533, 412, 796, 797, 798, 799, 807, 808, 266, 0, 584, 748,
737, 737, 0, 722, 734, 734, 734, 789, 737, 767, 748, 748, 748, 450, 451, 449, 0, 0, 709, 0,
0, 741, 737, 737, 737, 0, 737, 0, 737, 737, 0, 538, 523, 524, 522, 527, 528, 525, 526, 529,
737, 0, 747, 737, 0, 0, 737, 737, 421, 422, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423, 737, 737, 0, 0, 0, 0, 731, 0, 731, 0, 545, 501, 502, 500, 0, 509, 510, 508, 497,
0, 731, 0, 731, 0, 787, 737, 636, 0, 403, 495, 498, 496, 494, 505, 506, 504, 0, 0, 519,
785, 786, 389, 527, 523, 524, 0, 526, 525, 528, 520, 518, 0, 543, 542, 564, 565, 415, 748, 748,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 745, 745, 745, 753, 753, 416, 804, 748,
0, 270, 506, 505, 507, 531, 791, 554, 718, 0, 782, 0, 756, 748, 748, 748, 0, 748, 0, 748,
735, 736, 0, 0, 0, 790, 737, 779, 696, 756, 748, 748, 0, 762, 748, 0, 0, 748, 748, 426,
737, 758, 737, 759, 760, 749, 737, 748, 737, 737, 427, 428, 748, 430, 431, 432, 753, 0, 754, 748,
752, 751, 420, 796, 737, 737, 737, 737, 0, 0, 0, 0, 0, 0, 742, 0, 742, 0, 742, 0,
0, 0, 0, 0, 0, 0, 788, 264, 522, 530, 742, 0, 802, 748, 647, 0, 405, 800, 801, 389,
521, 540, 541, 542, 543, 544, 545, 546, 547, 548, 536, 532, 533, 0, 535, 534, 537, 0, 0, 0,
549, 270, 270, 0, 719, 0, 0, 0, 742, 755, 0, 0, 0, 0, 0, 0, 0, 0, 270, 515,
757, 750, 754, 753, 800, 797, 806, 803, 0, 737, 514, 516, 540, 806, 563, 729, 0, 746, 747, 0,
0, 737, 0, 737, 0, 737, 0, 0, 502, 728, 0, 0, 406, 390, 805, 748, 794, 707, 771, 748,
738, 739, 740, 737, 801, 737, 798, 737, 807, 737, 773, 748, 774, 775, 764, 748, 763, 748, 748, 767,
804, 503, 504, 802, 799, 808, 805 766, 425, 429, 745, 813, 748, 748, 748, 748, 0,
0, 0, 0, 0, 0, 0, 0, 803, 264, 531,
539, 530, 549, 550, 551, 552, 553, 554, 555, 556,
557, 558, 270, 270, 0, 730, 0, 0, 0, 757,
770, 772, 765, 769, 768, 0, 817, 814, 823, 820,
0, 748, 0, 748, 0, 748, 0, 748, 0, 0,
511, 750, 751, 752, 0, 748, 818, 748, 815, 748,
824, 748, 821, 512, 513, 755, 819, 816, 825, 822
}; };
/* YYPGOTO[NTERM-NUM]. */ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] = static const yytype_int16 yypgoto[] =
{ {
-806, -806, -806, 1560, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, 1634, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
1488, -806, -806, 1251, -806, -83, 1073, -806, 710, -806, 1545, -1338, -1338, 1309, -1338, -83, 1115, -1338, -798, -1338,
-328, -802, -806, -338, -337, -806, -806, -806, 1509, 1099, -319, -825, -1338, -338, -337, -1338, -1338, -1338, 1571, 1147,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-79, -805, 758, -806, -806, -806, -806, -806, -806, -806, 47, -832, 801, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
-806, -806, 1266, 1329, 1504, -101, -400, -385, -579, -597, -1338, -1338, 1679, 1690, 1759, -104, -403, -383, -556, -381,
-248, -806, 1525, -806, -806, 1532, -806, -806, -806, -806, -130, -1338, 1581, 877, -1338, 1588, 882, -1338, -1338, 1036,
-806, -806, -589, -806, -806, -806, -806, -806, 726, -806, -1338, -1338, 150, -1338, -288, 1038, 1252, -1338, -764, -1338,
-806, -806, 728, 729, -806, 376, 538, -806, -806, -806, -1338, -1338, -755, -603, -1338, 404, 565, -1338, -1338, -1338,
520, -806, -806, -806, -806, -806, 557, -806, -806, -806, 558, -1338, -1338, -1338, -1338, -1338, 576, -1338, -1338, -1338,
-806, -806, -806, -806, -806, -806, -806, -806, 415, 754, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, 425, 983,
-806, -806, 1551, -806, -806, -806, -806, 997, 1002, 991, -1338, -1338, 1602, -592, -1338, -1338, -1338, -1338, 1044, 1073,
1049, -806, -561, -545, 1578, 749, -443, 1595, 1635, -806, 1037, 1126, -1338, -377, -257, 1822, -534, -446, 1830, 1708,
-320, -360, -139, 1294, -293, 1728, 1736, 1744, 1752, 1760, -1338, -322, -350, -139, 1369, -299, 1838, 1846, 1854, 1862,
-806, 1200, -806, -806, -806, 1228, -806, -806, 1173, -806, 1870, -1338, 1272, -1338, -1338, -1338, 1306, -1338, -1338, 1226,
-806, -806, -806, -806, -806, -806, -806, -233, -806, -806, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -197, -1338,
-806, -806, 907, -329, 426, -391, 871, -726, -772, 424, -1338, -1338, -1338, 990, -15, 354, -394, 910, -295, -483,
-714, -238, -523, -509, -500, -415, -386, -80, -806, 1212, 438, -1143, -102, -1239, -911, -807, -416, -1337, -63, -620,
-806, -806, -806, -806, -806, -806, -179, 579, -806, 1506, -1338, 1275, -1338, -1338, -1338, -1338, -1338, -1338, 264, 160,
-806, 805, -806, -806, -806, -806, -806, 832, -806, -806, -1338, 1563, -1338, 1040, -1338, -1338, -1338, -1338, -1338, 1078,
-806, -806, -806, -806, -439 -1338, -1338, -1338, -1338, -1338, 1047, -434
}; };
/* YYDEFGOTO[NTERM-NUM]. */ /* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] = static const yytype_int16 yydefgoto[] =
{ {
-1, 11, 12, 13, 71, 130, 72, 159, 73, 179, -1, 11, 12, 13, 71, 130, 72, 159, 73, 179,
74, 201, 75, 218, 76, 233, 77, 250, 78, 264, 74, 201, 75, 218, 76, 233, 77, 250, 78, 264,
79, 281, 14, 15, 16, 295, 17, 18, 19, 20, 79, 281, 14, 15, 16, 295, 17, 18, 19, 20,
325, 564, 21, 22, 23, 24, 25, 26, 27, 102, 325, 567, 21, 22, 23, 24, 25, 26, 27, 102,
103, 339, 571, 342, 28, 516, 324, 553, 1037, 1301, 103, 339, 574, 342, 28, 519, 324, 556, 1069, 1357,
517, 834, 860, 518, 519, 29, 30, 84, 85, 297, 520, 855, 881, 521, 522, 29, 30, 84, 85, 297,
520, 31, 86, 313, 314, 315, 316, 317, 318, 704, 523, 31, 86, 313, 314, 315, 316, 317, 318, 716,
848, 319, 320, 321, 322, 323, 701, 835, 836, 837, 869, 319, 320, 321, 322, 323, 713, 856, 857, 858,
840, 841, 843, 32, 33, 34, 35, 36, 37, 38, 861, 862, 864, 32, 33, 34, 35, 36, 37, 38,
39, 40, 131, 132, 133, 391, 586, 392, 588, 521, 39, 40, 131, 132, 133, 391, 589, 392, 591, 524,
522, 525, 134, 884, 1052, 135, 880, 1039, 136, 749, 525, 528, 134, 905, 1084, 135, 901, 1071, 136, 761,
891, 224, 811, 970, 597, 748, 598, 1053, 892, 1196, 913, 224, 826, 996, 600, 760, 601, 1085, 914, 1239,
1309, 1055, 893, 894, 1222, 1223, 1214, 1338, 1224, 1350, 1365, 1087, 915, 916, 1265, 1266, 1257, 1394, 1267, 1406,
1216, 1342, 1353, 1354, 1225, 1355, 1197, 1318, 1319, 1320, 1259, 1398, 1409, 1410, 1268, 1411, 1240, 1374, 1375, 1376,
1321, 1322, 1323, 1420, 1357, 1226, 1358, 1212, 1213, 137, 1377, 1378, 1379, 1487, 1413, 1269, 1414, 1255, 1256, 137,
138, 139, 140, 971, 972, 973, 974, 636, 633, 639, 138, 139, 140, 917, 997, 998, 999, 1000, 642, 639,
589, 300, 895, 896, 141, 1042, 656, 142, 143, 144, 645, 592, 300, 918, 919, 141, 1074, 662, 142, 143,
375, 376, 107, 335, 336, 145, 146, 147, 148, 149, 144, 375, 376, 107, 335, 336, 145, 146, 147, 148,
440, 441, 292, 150, 415, 416, 262, 487, 488, 417, 149, 441, 442, 292, 150, 416, 417, 262, 490, 491,
489, 490, 491, 418, 492, 419, 420, 421, 422, 630, 418, 492, 493, 494, 419, 495, 420, 421, 422, 423,
423, 424, 756, 454, 171, 608, 920, 1283, 1111, 1238, 636, 424, 425, 768, 455, 171, 611, 943, 1339, 1145,
928, 929, 1520, 623, 624, 625, 1442, 1123, 172, 648, 1282, 951, 952, 1285, 626, 627, 628, 1509, 1157, 1329,
191, 192, 193, 194, 195, 196, 330, 173, 174, 455, 172, 654, 191, 192, 193, 194, 195, 196, 330, 173,
175, 151, 152, 153, 263, 154, 155, 156, 244, 245, 174, 456, 175, 151, 152, 153, 263, 154, 155, 156,
246, 247, 248, 815, 378 244, 245, 246, 247, 248, 830, 378
}; };
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule whose positive, shift that token. If negative, reduce the rule whose
number is the opposite. If YYTABLE_NINF, syntax error. */ number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] = static const yytype_int16 yytable[] =
{ {
628, 574, 575, 312, 444, 644, 587, 735, 609, 610, 634, 577, 578, 312, 445, 612, 613, 614, 590, 617,
611, 573, 614, 615, 659, 581, 493, 616, 617, 425, 618, 650, 665, 1284, 619, 620, 426, 427, 624, 429,
426, 621, 428, 626, 579, 632, 635, 459, 638, 999, 576, 632, 582, 638, 641, 584, 644, 1031, 1032, 1038,
1000, 526, 527, 104, 528, 1006, 831, 832, 1491, 1492, 852, 853, -742, 747, 529, 530, 571, 531, 1562, 1563,
587, 587, 568, 587, 590, 542, 543, 544, 1339, 104, 1280, 468, 108, 590, 590, 109, 590, 545, 546, 547,
397, 545, 546, 735, 547, 548, 735, 549, 550, 735, 104, 430, 496, 548, 549, 80, 550, 551, 659, 552,
653, -731, 429, 657, 108, 1218, 1189, 109, 1236, 661, 553, 663, 60, 651, 652, 966, 1232, 667, 668, 669,
662, 663, 684, 666, 668, 467, 966, 494, 674, 675, 586, 672, 674, 117, 696, 1395, 104, 61, 686, 687,
676, 812, 813, 680, 681, 649, 592, 445, 594, 395, 688, 992, 747, 692, 693, 747, 1510, 1511, 747, 1458,
768, 117, 306, 80, 1479, 682, 456, 60, 1034, 685, 62, 298, 41, 397, 42, 694, 43, 44, 118, 697,
459, 645, 646, 686, 41, 940, 42, 754, 43, 44, 63, 45, 46, 698, 545, 546, 547, 1082, 395, 593,
664, 1480, 771, 45, 46, 457, 118, 96, 967, 755, 548, 549, 1014, 550, 551, 47, 552, 553, 1261, 460,
1438, 651, 690, 643, 755, 647, 691, 47, 692, 1112, 497, 1078, 649, 594, 702, 993, 630, 96, 460, 780,
495, 799, 542, 543, 544, 396, 69, 651, 545, 546, 595, 1550, 597, 655, 470, 83, 306, 1283, 1505, 48,
1236, 547, 548, 755, 549, 550, 801, 529, 530, 48, 49, 1086, 1066, 331, 332, 333, 334, 50, 1551, 51,
49, 61, 803, 968, 889, 890, 62, 50, 755, 51, 1088, 1016, 532, 533, 396, 625, 1082, 1457, 52, 670,
982, 63, 1219, 1220, 755, 922, 923, 397, 52, 554, 994, 1407, 906, 907, 1408, 331, 332, 333, 334, 653,
298, 555, 556, 557, 558, 559, 560, 561, 562, 769, 471, 99, 100, 498, 53, 625, 54, 472, 473, 474,
924, 1143, 64, 1145, 53, 1230, 54, 925, 331, 332, 475, 630, 446, 397, 81, 1284, 64, 1079, 1080, 908,
333, 334, 500, 501, 551, 622, 1221, 1006, 1006, 1006, 1086, 431, 587, 909, 588, 587, 1575, 588, 554, 1088,
105, 430, 622, 764, 765, 766, 622, 622, 750, 1439, 910, 911, 1038, 1038, 1038, 776, 777, 778, 762, 945,
1167, 1168, 1169, 1170, 83, 397, 442, 389, 390, 581, 946, 381, 382, 625, 593, 1262, 1263, 105, 781, 503,
81, 758, 759, 584, 984, 585, 979, 397, 65, 397, 504, 770, 771, 436, 947, 457, 110, 1506, 594, 945,
669, 670, 671, 672, 785, 786, 787, 97, 98, 774, 946, 948, 584, 197, 214, 651, 652, 65, 277, 800,
397, 106, 595, 446, 447, 448, 449, 466, 110, 805, 801, 802, 789, 443, 947, 458, 306, 97, 98, 1264,
435, 398, 399, 66, 493, 468, 572, 443, 816, 400, 397, 948, 1066, 625, 820, 554, 575, 743, 595, 106,
401, 645, 646, 402, 822, 403, 404, 405, 406, 407, 597, 397, 745, 66, 637, 1214, 744, 835, 836, 837,
460, 461, 830, 462, 806, 67, 809, 583, 411, 408, 397, 746, 398, 399, 1216, 843, 397, 821, 55, 824,
409, 551, 68, 581, 1171, 568, 820, 821, 55, 872, 400, 401, 571, 851, 402, 444, 403, 404, 405, 406,
413, 1173, 82, 731, 592, 584, 594, 585, 469, 470, 407, 461, 462, 496, 463, 841, 842, 653, 56, 584,
471, 472, 732, 446, 447, 448, 449, 450, 56, 410, 408, 409, 1089, 570, 57, 751, 893, 854, 629, 67,
833, 531, 833, 1351, 57, 969, 1352, 590, 552, 1040, 910, 911, 469, 1090, 752, 854, 68, 534, 326, 327,
463, 631, 781, 1058, 874, 875, 876, 877, 878, 879, 328, 329, 995, 555, 397, 738, 796, 1591, 1592, 1593,
634, 591, 157, 647, 897, 1041, 451, 1035, 452, 1059, 410, 82, 586, 753, 69, 895, 896, 897, 898, 899,
411, 83, 1232, 412, 1233, 464, 465, 567, 637, 733, 900, 464, 754, 437, 438, 920, 447, 448, 449, 450,
413, 411, 413, 926, 927, 87, 930, 453, 734, 331, 467, 1089, 595, 596, 597, 1605, 476, 326, 327, 328,
332, 333, 334, 413, 326, 327, 328, 329, 939, 941, 329, 411, 1090, 625, 412, 1280, 465, 466, 912, 955,
436, 437, 1046, 945, 414, 947, 948, 92, 950, 951, 956, 1093, 411, 640, 413, 58, 389, 390, 83, 414,
845, 739, 846, 1432, 58, 1433, 88, 306, 807, 583, 865, 411, 965, 967, 1067, 413, 587, 971, 588, 973,
740, 89, 961, 1034, 90, 397, 975, 976, 977, 584, 974, 593, 976, 977, 413, 766, 415, 643, 949, 950,
755, 585, 120, 121, 825, 844, 563, 93, 1310, 91, 447, 448, 449, 450, 451, 157, 987, 767, 87, 786,
993, 885, 886, 902, 997, 1, 755, 53, 122, 847, 1001, 1002, 1003, 598, 814, 1006, 1007, 1008, 949, 950,
94, 581, 95, 904, 123, 755, 124, 125, 326, 327, 1093, 767, 88, 1284, 1284, 1284, 767, 599, 213, 89,
328, 329, 1027, 389, 390, 755, 1047, 1048, 887, 959, 1025, 637, 276, 452, 1029, 453, 657, 447, 448, 449,
101, 728, 888, 584, 741, 585, 1285, 1287, 1289, 889, 450, 1146, 389, 390, 740, 866, 584, 867, 413, 90,
890, 755, 584, 742, 585, 592, 593, 594, 111, 743, 755, 1284, 657, 91, 587, 454, 588, 93, 1059, 756,
112, 446, 447, 448, 449, 1043, 1044, 1045, 744, 1061, 94, 345, 593, 346, 347, 348, 349, 350, 351, 655,
584, 113, 585, 1210, 345, 473, 346, 347, 348, 349, 656, 326, 327, 328, 329, 389, 390, 120, 121, 816,
350, 351, 1311, 1108, 114, 1312, 99, 100, 326, 327, 326, 327, 328, 329, 868, 1075, 1076, 1077, 703, 1094,
328, 329, 1007, 649, 650, 326, 327, 328, 329, 1128, 704, 767, 53, 122, 1067, 587, 1180, 588, 1182, 123,
213, 1008, 622, 1009, 276, 1120, 906, 294, 922, 923, 1335, 124, 125, 306, 818, 1142, 1039, 92, 352, 502,
1279, 584, 1010, 585, 1284, 595, 1125, 126, 726, 352, 95, 1507, 1507, 1507, 353, 1040, 767, 354, 1140, 587,
1313, 127, 1012, 924, 115, 353, 1314, 116, 354, 596, 587, 588, 588, 822, 1072, 383, 384, 1154, 1091, 1366,
925, 1136, 500, 501, 1139, 932, 128, 1142, 129, 1144, 1165, 1210, 1211, 1212, 1213, 767, 119, 1158, 1159, 945,
631, 1146, 1147, 293, 1149, 296, 634, 1152, 337, 1155, 946, 1162, 557, 1044, 558, 559, 560, 561, 562, 563,
1156, 338, 1038, 1397, 381, 382, 1051, 343, 1399, 306, 564, 565, 101, 587, 947, 588, 1173, 111, 846, 1176,
1401, 344, 1403, 341, 1164, 499, 1166, 2, 3, 4, 112, 948, 1179, 1499, 1181, 1500, 1183, 1184, 113, 1186,
5, 6, 7, 8, 9, 10, 1286, 900, 901, 1177, 767, 114, 1189, 115, 1192, 1193, 1072, 1091, 675, 676,
377, 907, 909, 379, 389, 390, 380, 158, 871, 995, 677, 678, 1070, 1336, 1337, 1338, 1083, 906, 907, 1201,
389, 390, 1190, 1280, 1281, 1282, 1288, 1280, 1281, 1282, 598, 116, 126, 1205, 355, 925, 127, 1209, 389, 390,
1316, 1316, 385, 885, 886, 355, 326, 327, 328, 329, 892, 293, 356, 1367, 543, 544, 1368, 767, 120, 121,
946, 383, 384, 356, 1315, 1210, 908, 1336, 1336, 1340, 1220, 128, 294, 129, 908, 1508, 1508, 1508, 909, 927,
1340, 953, 637, 955, 1064, 1065, 1066, 1348, 386, 1493, 1041, 1233, 1507, 53, 122, 910, 911, 985, 296, 1042,
887, 965, 1035, 387, 888, 326, 327, 328, 329, 983, 123, 767, 124, 125, 1070, 1083, 357, 337, 358, 767,
985, 889, 890, 938, 990, 992, 388, 357, 393, 358, 359, 1369, 338, 360, 1073, 615, 616, 1370, 1092, 679,
394, 359, 197, 214, 360, 389, 390, 277, 735, 1280, 680, 681, 682, 503, 504, 1097, 1098, 1099, 964, 621,
1281, 1282, 584, 427, 585, 431, 389, 390, 584, 439, 622, 629, 158, 341, 1340, 1276, 343, 1277, 1427, 326,
585, 432, 433, 434, 1117, 1118, 1119, 964, 438, 1280, 327, 328, 329, 1564, 344, 361, 362, 377, 625, 379,
1281, 1282, 1013, 1014, 1015, 1016, 361, 362, 1242, 1516, 363, 364, 178, 365, 660, 661, 958, 387, 366, 640,
1517, 363, 364, 365, 622, 496, 926, 927, 366, 497, 367, 368, 369, 370, 503, 504, 1073, 1092, 371, 372,
367, 368, 369, 370, 1132, 1133, 1134, 498, 371, 372, 373, 374, 1453, 1454, 1455, 689, 690, 505, 506, 507,
373, 374, 1364, 1365, 1366, 1244, 326, 327, 328, 329, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
1148, 1237, 540, 541, 1114, 524, 1116, 523, 1255, 532, 518, 583, 1253, 126, 380, 747, 1508, 127, 949, 950,
1257, 580, 1280, 1281, 1282, 1261, 587, 533, 1264, 1265, 1291, 1342, 393, 389, 390, 306, 1371, 1588, 1589, 643,
612, 613, 1165, 534, 584, 535, 585, 989, 500, 501, 929, 502, 128, 385, 129, 386, 1027, 1336, 1337, 1338,
1175, 537, 1275, 1276, 1277, 1278, 1002, 1003, 1004, 119, 388, 1293, 1281, 394, 120, 121, 345, 432, 346, 347,
1180, 502, 503, 504, 505, 506, 507, 508, 509, 510, 348, 349, 350, 351, 1304, 428, 1306, 945, 946, 53,
511, 512, 513, 514, 515, 618, 619, 326, 327, 328, 122, 1310, 590, 439, 1313, 1314, 123, 440, 124, 125,
329, 1519, 1519, 1519, 1154, 654, 655, 991, 677, 678, 566, 499, 947, 389, 390, 684, 685, 1274, 500, 948,
1183, 1184, 1185, 1186, 1187, 1188, 538, 1036, 1127, 790, 433, 434, 435, 912, 1331, 1332, 1333, 1334, 501, 573,
791, 1049, 915, 916, 917, 918, 919, 1172, 1174, 1325, 1344, 805, 806, 352, 526, 1512, 1513, 808, 809, 353,
1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 793, 527, 587, 354, 588, 1336, 1337, 1338, 535, 1068, 200,
794, 536, 1211, 795, 796, 1121, 163, 183, 205, 120, 810, 811, 1081, 536, 1164, 537, 827, 828, 538, 831,
121, 345, 268, 346, 347, 348, 349, 350, 351, 797, 832, 833, 539, 1151, 1152, 1153, 1532, 1422, 1423, 1424,
798, 178, 854, 855, 53, 122, 539, 326, 327, 328, 326, 327, 328, 329, 541, 1155, 1336, 1337, 1338, 1381,
329, 123, 1126, 124, 125, 1440, 1440, 1440, 1307, 1308, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1372,
446, 447, 448, 449, 1441, 1441, 1441, 306, 1398, 1228, 1372, 587, 540, 588, 542, 931, 1169, 1170, 1171, 126,
1400, 1231, 1402, 499, 1404, 569, 352, 176, 198, 215, 1068, 1081, 568, 127, 1253, 569, 1392, 1392, 1396, 1396,
856, 857, 353, 278, 565, 354, 1240, 326, 327, 328, 812, 813, 1185, 1336, 1337, 1338, 1404, 572, 128, 355,
329, 1243, 649, 1245, 881, 882, 582, 1247, 566, 1249, 129, 120, 121, 875, 876, 1163, 580, 356, 990, 877,
1250, 577, 1252, 1253, 177, 199, 216, 200, 1017, 1018, 878, 1363, 1364, 1034, 1035, 1036, 53, 122, 1206, 1207,
279, 120, 121, 1262, 599, 1178, 331, 332, 333, 334, 1208, 1021, 585, 123, 602, 124, 125, 603, 1218, 623,
600, 1416, 629, 1269, 1270, 1271, 53, 122, 620, 570, 1341, 1343, 1345, 1465, 625, 1467, 635, 1469, 1223, 1471,
1019, 1020, 622, 123, 640, 124, 125, 642, 1291, 1021, 646, 357, 217, 358, 648, 359, 1049, 1050, 360, 505,
1022, 1293, 1023, 1024, 126, 1025, 1026, 658, 127, 1317, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
1317, 500, 501, 1303, 1304, 1305, 660, 1306, 1414, 1415, 516, 517, 518, 902, 903, 664, 949, 950, 1226, 1227,
673, 1153, 355, 128, 1211, 129, 1337, 1337, 1341, 1341, 1228, 1229, 1230, 1231, 1221, 326, 327, 328, 329, 666,
356, 1417, 1418, 1521, 1522, 679, 1349, 120, 121, 1443, 361, 362, 683, 1254, 1483, 363, 364, 691, 365, 699,
1444, 687, 1468, 688, 1470, 690, 1472, 693, 1474, 694, 1005, 702, 1023, 366, 1009, 367, 368, 369, 370, 1051,
695, 1360, 53, 122, 697, 696, 700, 1361, 698, 123, 1052, 1190, 700, 371, 372, 373, 374, 705, 326, 327,
699, 124, 125, 1368, 357, -339, 358, 702, 359, 705, 328, 329, 1053, 1054, 120, 121, 126, 1055, 1056, 707,
1372, 360, 724, 1373, 706, 725, 1374, 707, 1376, 708, 127, 326, 327, 328, 329, 706, 739, 1057, 1058, 53,
1378, 1379, 1380, 709, 710, 1383, 126, 104, 1386, 1387, 122, 447, 448, 449, 450, 128, 123, 129, 124, 125,
127, 729, 711, 712, 1391, 713, 1392, 714, 730, 1234, 503, 504, 923, 924, 1415, 1416, 930, 932, 708, 1272,
715, 1199, 716, 361, 362, 128, 717, 129, 363, 364, 1464, 1275, 1481, 1482, 709, 1466, 710, 1468, 1539, 1470,
365, 718, 1246, 719, 1406, 366, 737, 367, 368, 369, 1541, 711, 1543, 655, 1545, 163, 183, 205, 1288, 1289,
370, 326, 327, 328, 329, 371, 372, 373, 374, 502, 712, 268, 1484, 1485, 1292, -339, 1294, 714, 972, 717,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 1296, 718, 1298, 1299, 719, 1301, 1302, 720, 1, 979,
513, 514, 515, 601, 720, 1273, 738, 746, 727, 745, 721, 981, 326, 327, 328, 329, 1311, 722, 723, 991,
721, 722, 126, 723, 747, 1290, 127, 751, 752, 753, 1278, 326, 327, 328, 329, 724, 1318, 1319, 1320, 725,
601, 767, 770, 1294, 1295, 1296, 1297, 1298, 1299, 601, 1322, 1323, 1324, 1015, 1017, 726, 1295, 736, 1022, 1024,
665, 128, 773, 129, 1200, 1201, 1202, 1203, 1204, 1205, 1373, 1373, 176, 198, 215, 727, 728, 1347, 278, 126,
1206, 1207, 1208, 1209, 217, 775, 777, 667, 779, 783, 1349, 729, 730, 127, 232, 1254, 731, 1393, 1393, 1397,
784, 788, 1446, 789, 792, 814, 817, 1450, 818, 1452, 1397, 732, 1359, 1360, 1361, 733, 1362, 1405, 128, 734,
819, 827, 829, 1456, 232, -341, 1458, 1459, 1359, 602, 129, 735, 737, 1326, 1327, 104, 1045, 1046, 1047, 1048,
603, 604, 605, 606, 607, 1464, 1465, 1466, 1467, -343, 177, 199, 216, 741, 742, 1346, 279, 938, 939, 940,
1367, -345, 838, 1369, 839, 1371, 602, 603, 604, 605, 941, 942, 749, 1350, 1351, 1352, 1353, 1354, 1355, 750,
606, 607, 842, 870, 849, 602, 603, 604, 605, 606, 757, 1418, 331, 332, 333, 334, 759, 1419, 782, 758,
607, 301, 1382, 302, 850, 851, 500, 501, 852, 1388, 763, 764, 765, 779, 1425, 1426, 783, 788, 1429, 790,
1389, 1390, 853, 303, 120, 121, 304, 305, 306, 858, 1148, 604, 1150, 792, 794, 1433, 120, 121, 1434, 798,
307, 308, 859, 861, 862, 863, 864, 899, 865, 53, 799, 1435, 803, 1437, 804, 1439, 1440, 1441, 807, 1417,
122, 1405, 866, 1407, 120, 121, 123, 867, 124, 125, 1444, 53, 122, 1447, 1448, 829, 249, 838, 123, 1452,
868, 869, 883, 1409, 1410, 1411, 1412, 873, 898, 53, 124, 125, 839, 1456, 840, 848, 1428, 850, 1459, 1430,
122, 1509, 910, 1511, 911, 1513, 123, 1515, 124, 125, -341, 1432, 2, 3, 4, 5, 6, 7, 8, 9,
912, 913, 914, 921, 934, 931, 309, 935, 936, 942, 10, 863, -343, 891, -345, 859, 1473, 860, 1443, 870,
345, 943, 346, 347, 348, 349, 350, 351, 310, 311, 871, 872, 873, 1191, 874, 1449, 1450, 1451, 605, 606,
944, 952, 954, 958, 956, 962, 249, 957, 978, 980, 607, 608, 609, 610, 879, 880, 882, 883, 884, 894,
1523, 981, 1525, 986, 1527, 987, 1529, 988, 994, 996, 885, 345, 933, 346, 347, 348, 349, 350, 351, 934,
1436, 1437, 998, 1001, 1011, 833, 1028, 1029, 1445, 1030, 886, 887, 1215, 1217, 1472, 888, 1474, 889, 120, 121,
1031, 1032, 1447, 1448, 1449, 352, 1451, 1033, 1453, 1454, 890, 904, 921, 922, 935, 936, 1476, 1477, 1478, 1479,
1455, 353, 1062, 1457, 354, 1063, 1460, 1461, 1105, 126, 937, 944, 957, 53, 122, 960, 968, 961, 969, 978,
1106, 1462, 1463, 127, 1107, 1109, 1110, 345, 1113, 346, 123, 126, 124, 125, 962, 127, 970, 982, 352, 983,
347, 348, 349, 350, 351, 1115, 1476, 1122, 128, 126, 980, 984, 1004, 988, 353, 1010, 1011, 354, 1012, 1515,
129, 1124, 1129, 127, 1130, 1131, 120, 121, 160, 180, 128, 1018, 129, 1013, 1519, 1019, 1521, 1020, 1026, 1028,
202, 219, 234, 251, 265, 282, 1135, 1137, 128, 1138, 1525, 1030, 854, 1527, 1528, 1033, 345, 1043, 346, 347,
129, 53, 122, 1140, 1141, 1151, 1150, 1157, 123, 622, 348, 349, 350, 351, 1060, 1503, 1504, 1061, 1535, 1536,
124, 125, 352, 1158, 1159, 1160, 1498, 1161, 353, 1162, 1537, 1538, 1062, 604, 1063, 1064, 1514, 1065, 1141, 1095,
1499, 354, 1500, 1163, 1176, 1179, 1501, 1181, 1502, 1503, 1516, 1517, 1518, 1138, 1520, 1096, 1522, 1523, 1524, 1139,
1182, 355, 1191, 1192, 1504, 1505, 1506, 1507, 1193, 356, 1143, 1526, 1144, 1147, 1529, 1530, 1156, 1149, 1160, 1531,
1194, 1195, 1229, 1235, 1227, 474, 1239, 405, 406, 407, 671, 1161, 1166, 352, 1167, 1168, 1534, 1172, 1174, 353,
475, 161, 181, 203, 220, 235, 252, 266, 283, 476, 1175, 1177, 354, 126, 355, 1178, 1187, 127, 1188, 1194,
280, 477, 478, 479, 480, 481, 482, 483, 484, 485, 1547, 1195, 356, 345, 1196, 346, 347, 348, 349, 350,
1241, 1248, 1251, 357, 1268, 358, 1254, 359, 1256, 1524, 351, 1197, 128, 1198, 129, 1199, 1200, 1202, 1203, 1204,
360, 1526, 1258, 1528, 1259, 1530, 1260, 1263, 1266, 1267, 605, 606, 607, 608, 609, 610, 1219, 1222, 1581, 1224,
1272, 1274, 1292, 1533, 1302, 1534, 1300, 1535, 355, 1536, 1583, 1225, 1585, 1234, 1587, 1235, 357, 1237, 358, 1236,
1324, 126, 1343, 1344, 1345, 127, 356, 1346, 1356, 1370, 359, 1238, 1569, 360, 1270, 1271, 1570, 1273, 1571, 1279,
1362, 1375, 361, 362, 1377, 1381, 1384, 363, 364, 365, 352, 1286, 1572, 1287, 1573, 1574, 353, 1290, 1297, 354,
128, 1385, 129, 1413, 366, 1393, 367, 368, 369, 370, 1300, 1303, 1576, 1577, 1578, 1579, 1305, 1307, 1595, 355,
120, 121, 1394, 1395, 371, 372, 373, 374, 1396, 1408, 1597, 1308, 1599, 1309, 1601, 361, 362, 356, 1312, 1315,
357, 1419, 358, 1421, 359, 53, 122, 360, 1422, 1423, 363, 364, 1316, 365, 1317, 1321, 1325, 1328, 366, 1330,
1431, 1424, 123, 1425, 124, 125, 1426, 782, 1435, 1477, 367, 368, 369, 370, 1348, 1356, 1358, 1399, 371, 372,
345, 1427, 346, 347, 348, 349, 350, 351, 757, 1428, 373, 374, 1380, 1400, 1401, 1420, 1402, 1431, 1596, 1436,
1429, 760, 761, 762, 763, 1430, 1434, 1469, 1471, 361, 1598, 357, 1600, 358, 1602, 359, 1438, 280, 360, 1412,
362, 1473, 1475, 772, 363, 364, 365, 1478, 1494, 1481, 1442, 797, 1606, 1445, 1607, 1446, 1608, 1460, 1609, 1461,
1495, 366, 1482, 367, 368, 369, 370, 1483, 1484, 1485, 505, 506, 507, 508, 509, 510, 355, 512, 513, 514,
1486, 371, 372, 373, 374, 352, 1487, 1488, 1489, 1490, 515, 516, 517, 518, 356, 1462, 1463, 1475, 1480, 1488,
1496, 353, 1497, 1508, 354, 397, 1510, 1512, 800, 802, 361, 362, 1489, 1490, 1486, 363, 364, 1498, 365, 1502,
804, 1514, 70, 808, 937, 810, 162, 182, 204, 221, 1533, 1540, 1542, 366, 1491, 367, 368, 369, 370, 1544,
236, 253, 267, 284, 1518, 1531, 1532, 823, 824, 826, 1546, 1492, 1493, 371, 372, 373, 374, 1494, 357, 1495,
340, 576, 828, 299, 1050, 126, 1005, 689, 1347, 127, 358, 1496, 359, 1497, 1548, 360, 1501, 1549, 1565, 120,
222, 474, 1217, 405, 406, 407, 475, 223, 622, 703, 121, 1566, 1552, 1567, 769, 1568, 963, 772, 773, 774,
1054, 1215, 1056, 1057, 128, 476, 129, 477, 478, 479, 775, 1580, 1582, 1553, 53, 122, 1554, 1555, 1584, 1556,
480, 481, 482, 483, 484, 485, 1198, 1335, 254, 780, 1586, 123, 787, 124, 125, 1242, 1557, 361, 362, 1558,
398, 399, 778, 1060, 776, 736, 59, 578, 400, 401, 1559, 1560, 363, 364, 1561, 365, 397, 1590, 1594, 1603,
641, 355, 402, 627, 403, 404, 405, 406, 407, 356, 366, 1604, 367, 368, 369, 370, 70, 340, 701, 579,
164, 184, 206, 225, 237, 255, 269, 285, 408, 409, 371, 372, 373, 374, 715, 299, 222, 815, 817, 819,
683, 1363, 652, 949, 458, 903, 905, 165, 185, 207, 1037, 954, 823, 223, 825, 953, 631, 785, 784, 1403,
226, 238, 256, 270, 286, 0, 0, 0, 0, 412, 604, 1258, 477, 1260, 405, 406, 407, 478, 1241, 254,
0, 933, 0, 357, 0, 358, 0, 359, 0, 0, 1391, 795, 844, 845, 847, 793, 479, 849, 480, 481,
360, 502, 503, 504, 505, 506, 507, 508, 509, 510, 482, 483, 484, 485, 486, 487, 488, 673, 1243, 1244,
511, 512, 513, 514, 515, 0, 0, 0, 0, 0, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 301, 59,
486, 0, 0, 960, 0, 0, 963, 0, 0, 0, 302, 791, 581, 647, 126, 748, 695, 975, 127, 1421,
0, 0, 361, 362, 0, 0, 0, 363, 364, 365, 303, 459, 633, 304, 305, 306, 658, 307, 308, 834,
0, 0, 0, 0, 366, 0, 367, 368, 369, 370, 0, 0, 0, 128, 0, 129, 0, 605, 606, 607,
0, 0, 0, 0, 371, 372, 373, 374, 1067, 1068, 608, 609, 610, 0, 0, 625, 0, 0, 0, 0,
1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 412, 160, 180, 202, 219, 234, 251, 265, 282, 0,
1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 926, 928, 161, 181, 203, 220, 235, 252, 266, 283,
1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 503, 504, 0, 0, 0, 309, 0, 0, 0, 959,
1099, 1100, 1101, 1102, 1103, 1104, 502, 503, 504, 505, 0, 477, 489, 405, 406, 407, 478, 310, 311, 0,
506, 507, 0, 509, 510, 511, 512, 513, 514, 515, 625, 0, 0, 0, 0, 479, 0, 480, 481, 482,
483, 484, 485, 486, 487, 488, 0, 0, 0, 0,
0, 986, 398, 399, 989, 0, 0, 0, 0, 0,
400, 401, 0, 0, 402, 0, 403, 404, 405, 406,
407, 162, 182, 204, 221, 236, 253, 267, 284, 0,
408, 409, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107,
1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117,
1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127,
1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 164, 184, 206, 225, 237, 255,
269, 285, 165, 185, 207, 226, 238, 256, 270, 286,
166, 186, 208, 227, 239, 257, 271, 287, 167, 187, 166, 186, 208, 227, 239, 257, 271, 287, 167, 187,
209, 228, 240, 258, 272, 288, 168, 188, 210, 229, 209, 228, 240, 258, 272, 288, 168, 188, 210, 229,
241, 259, 273, 289, 169, 189, 211, 230, 242, 260, 241, 259, 273, 289, 169, 189, 211, 230, 242, 260,
274, 290, 170, 190, 212, 231, 243, 261, 275, 291 274, 290, 170, 190, 212, 231, 243, 261, 275, 291
}; };
static const yytype_int16 yycheck[] = static const yytype_int16 yycheck[] =
{ {
415, 339, 339, 86, 143, 444, 391, 586, 399, 400, 416, 339, 339, 86, 143, 399, 400, 401, 391, 403,
401, 339, 403, 404, 457, 375, 249, 408, 409, 120, 404, 445, 458, 1156, 408, 409, 120, 121, 412, 123,
121, 412, 123, 414, 344, 425, 426, 6, 428, 831, 339, 415, 344, 426, 427, 375, 429, 852, 853, 861,
832, 21, 22, 90, 24, 840, 22, 23, 22, 23, 22, 23, 5, 589, 21, 22, 335, 24, 22, 23,
425, 426, 335, 428, 77, 26, 27, 28, 76, 90, 62, 6, 74, 426, 427, 77, 429, 26, 27, 28,
146, 32, 33, 632, 35, 36, 635, 38, 39, 638, 92, 148, 249, 32, 33, 11, 35, 36, 452, 38,
451, 5, 146, 454, 72, 77, 40, 75, 60, 460, 39, 455, 146, 22, 23, 58, 40, 461, 462, 463,
461, 462, 487, 464, 465, 6, 16, 173, 469, 470, 95, 465, 466, 16, 490, 78, 92, 146, 472, 473,
471, 670, 671, 474, 475, 254, 215, 6, 217, 6, 474, 16, 638, 477, 478, 641, 1423, 1424, 644, 1328,
57, 16, 31, 11, 286, 486, 257, 144, 37, 490, 146, 95, 8, 148, 10, 489, 12, 13, 41, 493,
6, 22, 23, 494, 8, 56, 10, 146, 12, 13, 146, 17, 18, 497, 26, 27, 28, 905, 6, 79,
279, 303, 146, 17, 18, 276, 41, 73, 58, 158, 32, 33, 43, 35, 36, 31, 38, 39, 79, 6,
57, 450, 96, 443, 158, 254, 137, 31, 139, 901, 175, 16, 444, 93, 98, 60, 414, 75, 6, 59,
226, 146, 26, 27, 28, 52, 0, 466, 32, 33, 217, 289, 219, 256, 6, 139, 31, 3, 59, 55,
60, 35, 36, 158, 38, 39, 146, 137, 138, 53, 56, 905, 37, 142, 143, 144, 145, 63, 306, 65,
54, 144, 146, 93, 93, 94, 144, 61, 158, 63, 905, 43, 139, 140, 52, 148, 954, 3, 74, 282,
43, 144, 174, 175, 158, 73, 74, 146, 72, 62, 95, 287, 57, 58, 290, 142, 143, 144, 145, 256,
93, 64, 65, 66, 67, 68, 69, 70, 71, 146, 42, 212, 213, 228, 90, 148, 92, 49, 50, 51,
88, 953, 144, 955, 88, 93, 90, 95, 140, 141, 52, 469, 6, 148, 140, 1328, 146, 82, 83, 84,
142, 143, 220, 221, 175, 146, 208, 1002, 1003, 1004, 954, 288, 217, 88, 219, 217, 1533, 219, 177, 954,
257, 285, 146, 618, 619, 620, 146, 146, 599, 146, 95, 96, 1034, 1035, 1036, 621, 622, 623, 602, 75,
982, 983, 984, 985, 137, 146, 257, 137, 138, 579, 76, 139, 140, 148, 79, 176, 177, 259, 148, 222,
138, 612, 613, 215, 43, 217, 815, 146, 144, 146, 223, 615, 616, 75, 90, 259, 258, 148, 93, 75,
263, 264, 265, 266, 649, 650, 651, 193, 194, 630, 76, 97, 582, 73, 74, 22, 23, 146, 78, 655,
146, 298, 275, 222, 223, 224, 225, 226, 256, 664, 656, 657, 636, 259, 90, 279, 31, 195, 196, 210,
73, 168, 169, 144, 487, 6, 339, 298, 673, 176, 148, 97, 37, 148, 670, 177, 339, 139, 217, 301,
177, 22, 23, 180, 679, 182, 183, 184, 185, 186, 219, 148, 139, 146, 95, 43, 148, 683, 684, 685,
176, 177, 687, 179, 665, 144, 667, 93, 257, 196, 148, 148, 170, 171, 43, 691, 148, 671, 194, 673,
197, 175, 144, 643, 43, 578, 677, 678, 192, 728, 178, 179, 581, 699, 182, 301, 184, 185, 186, 187,
269, 43, 146, 137, 215, 215, 217, 217, 49, 50, 188, 178, 179, 490, 181, 689, 690, 256, 214, 649,
51, 52, 146, 222, 223, 224, 225, 226, 212, 226, 198, 199, 905, 302, 220, 139, 740, 299, 278, 146,
296, 301, 296, 284, 218, 255, 287, 77, 299, 880, 95, 96, 277, 905, 148, 299, 146, 304, 249, 250,
226, 93, 642, 884, 739, 740, 741, 742, 743, 744, 251, 252, 257, 302, 148, 302, 648, 1566, 1567, 1568,
93, 91, 3, 254, 749, 880, 255, 276, 257, 884, 228, 148, 95, 139, 0, 751, 752, 753, 754, 755,
257, 137, 1114, 260, 1116, 251, 252, 299, 93, 137, 756, 228, 148, 195, 196, 761, 224, 225, 226, 227,
269, 257, 269, 261, 262, 19, 771, 276, 146, 140, 228, 954, 217, 218, 219, 1594, 228, 249, 250, 251,
141, 142, 143, 269, 247, 248, 249, 250, 783, 784, 252, 259, 954, 148, 262, 62, 253, 254, 263, 785,
193, 194, 16, 788, 291, 790, 791, 146, 793, 794, 786, 905, 259, 95, 272, 291, 139, 140, 139, 277,
215, 137, 217, 137, 288, 139, 298, 31, 146, 93, 302, 259, 798, 799, 279, 272, 217, 803, 219, 805,
146, 138, 807, 37, 138, 146, 811, 812, 813, 215, 806, 79, 808, 809, 272, 148, 294, 95, 264, 265,
158, 217, 73, 74, 146, 299, 299, 138, 96, 298, 224, 225, 226, 227, 228, 3, 822, 160, 19, 148,
825, 55, 56, 146, 829, 7, 158, 88, 89, 254, 826, 827, 828, 278, 148, 831, 832, 833, 264, 265,
139, 781, 298, 146, 95, 158, 97, 98, 247, 248, 954, 160, 301, 1566, 1567, 1568, 160, 292, 74, 140,
249, 250, 871, 137, 138, 158, 80, 81, 82, 146, 846, 95, 78, 257, 850, 259, 451, 224, 225, 226,
282, 580, 86, 215, 137, 217, 1172, 1173, 1174, 93, 227, 924, 139, 140, 583, 217, 796, 219, 272, 140,
94, 158, 215, 146, 217, 215, 216, 217, 75, 137, 139, 1594, 467, 301, 217, 279, 219, 140, 892, 148,
75, 222, 223, 224, 225, 880, 881, 882, 146, 884, 141, 42, 79, 44, 45, 46, 47, 48, 49, 256,
215, 75, 217, 1070, 42, 226, 44, 45, 46, 47, 257, 249, 250, 251, 252, 139, 140, 75, 76, 148,
48, 49, 170, 898, 16, 173, 210, 211, 247, 248, 249, 250, 251, 252, 256, 901, 902, 903, 139, 905,
249, 250, 137, 254, 255, 247, 248, 249, 250, 938, 141, 160, 90, 91, 279, 217, 979, 219, 981, 97,
74, 146, 146, 137, 78, 920, 147, 73, 73, 74, 148, 99, 100, 31, 148, 921, 139, 148, 89, 37,
146, 215, 146, 217, 146, 275, 931, 188, 299, 87, 301, 1422, 1423, 1424, 95, 148, 160, 98, 912, 217,
208, 192, 860, 88, 75, 93, 214, 75, 96, 289, 217, 219, 219, 148, 901, 139, 140, 943, 905, 98,
95, 946, 220, 221, 949, 773, 207, 952, 209, 954, 964, 1014, 1015, 1016, 1017, 160, 3, 953, 954, 75,
93, 956, 957, 9, 959, 79, 93, 962, 138, 964, 76, 957, 64, 881, 66, 67, 68, 69, 70, 71,
965, 146, 880, 1279, 137, 138, 884, 298, 1284, 31, 72, 73, 285, 217, 90, 219, 972, 77, 148, 975,
1286, 298, 1288, 280, 979, 37, 981, 159, 160, 161, 77, 97, 978, 139, 980, 141, 982, 983, 77, 985,
162, 163, 164, 165, 166, 167, 146, 756, 757, 994, 160, 16, 988, 77, 990, 991, 953, 954, 266, 267,
59, 760, 761, 138, 137, 138, 138, 258, 727, 827, 268, 269, 901, 231, 232, 233, 905, 57, 58, 1005,
137, 138, 1035, 229, 230, 231, 146, 229, 230, 231, 278, 77, 190, 1009, 175, 148, 194, 1013, 139, 140,
1197, 1198, 138, 55, 56, 173, 247, 248, 249, 250, 739, 9, 183, 172, 29, 30, 175, 160, 75, 76,
789, 137, 138, 181, 302, 1212, 147, 1214, 1215, 1216, 1026, 209, 75, 211, 84, 1422, 1423, 1424, 88, 148,
1217, 800, 93, 802, 83, 84, 85, 1224, 138, 1431, 139, 1067, 1533, 90, 91, 95, 96, 148, 81, 148,
82, 810, 276, 137, 86, 247, 248, 249, 250, 818, 97, 160, 99, 100, 953, 954, 217, 140, 219, 160,
819, 93, 94, 782, 823, 824, 138, 215, 137, 217, 221, 210, 148, 224, 901, 178, 179, 216, 905, 266,
137, 219, 73, 74, 222, 137, 138, 78, 1237, 229, 267, 268, 269, 222, 223, 85, 86, 87, 797, 280,
230, 231, 215, 139, 217, 285, 137, 138, 215, 144, 281, 278, 260, 283, 148, 1148, 301, 1150, 1288, 249,
217, 189, 190, 191, 912, 913, 914, 147, 145, 229, 250, 251, 252, 1498, 301, 256, 257, 61, 148, 140,
230, 231, 861, 862, 863, 864, 254, 255, 1127, 1491, 261, 262, 3, 264, 299, 300, 788, 139, 269, 95,
1492, 259, 260, 261, 146, 137, 261, 262, 266, 25, 271, 272, 273, 274, 222, 223, 953, 954, 279, 280,
268, 269, 270, 271, 942, 943, 944, 146, 276, 277, 281, 282, 1322, 1323, 1324, 50, 51, 235, 236, 237,
278, 279, 272, 273, 274, 1130, 247, 248, 249, 250, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
958, 1121, 29, 30, 903, 78, 905, 146, 1143, 137, 248, 302, 1103, 190, 140, 1281, 1533, 194, 264, 265,
1145, 299, 229, 230, 231, 1150, 1121, 138, 1153, 1154, 1164, 148, 139, 139, 140, 31, 305, 1562, 1563, 95,
176, 177, 980, 92, 215, 92, 217, 147, 220, 221, 149, 37, 209, 140, 211, 140, 848, 231, 232, 233,
988, 138, 1167, 1168, 1169, 1170, 835, 836, 837, 3, 140, 1167, 1155, 139, 75, 76, 42, 288, 44, 45,
998, 233, 234, 235, 236, 237, 238, 239, 240, 241, 46, 47, 48, 49, 1180, 141, 1182, 75, 76, 90,
242, 243, 244, 245, 246, 277, 278, 247, 248, 249, 91, 1187, 1155, 147, 1190, 1191, 97, 146, 99, 100,
250, 1495, 1496, 1497, 963, 296, 297, 147, 50, 51, 302, 139, 90, 139, 140, 53, 54, 95, 25, 97,
1028, 1029, 1030, 1031, 1032, 1033, 146, 880, 937, 137, 191, 192, 193, 263, 1210, 1211, 1212, 1213, 148, 95,
138, 884, 228, 229, 230, 231, 232, 986, 987, 1200, 148, 139, 140, 89, 148, 1425, 1426, 139, 140, 95,
1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 137, 80, 217, 98, 219, 231, 232, 233, 139, 901, 3,
138, 298, 1070, 137, 138, 926, 72, 73, 74, 73, 139, 140, 905, 140, 963, 94, 676, 677, 94, 679,
74, 42, 78, 44, 45, 46, 47, 48, 49, 137, 680, 681, 301, 935, 936, 937, 1456, 275, 276, 277,
138, 3, 14, 15, 88, 89, 138, 247, 248, 249, 249, 250, 251, 252, 148, 949, 231, 232, 233, 1243,
250, 95, 932, 97, 98, 1364, 1365, 1366, 1196, 1196, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1240,
222, 223, 224, 225, 1364, 1365, 1366, 31, 1283, 1107, 1241, 217, 140, 219, 140, 149, 968, 969, 970, 190,
1285, 1109, 1287, 37, 1289, 211, 87, 72, 73, 74, 953, 954, 286, 194, 1255, 286, 1257, 1258, 1259, 1260,
29, 30, 93, 78, 283, 96, 1124, 247, 248, 249, 139, 140, 984, 231, 232, 233, 1267, 213, 209, 175,
250, 1129, 254, 1131, 137, 138, 146, 1135, 283, 1137, 211, 75, 76, 14, 15, 958, 284, 183, 149, 29,
1138, 281, 1140, 1141, 72, 73, 74, 3, 227, 228, 30, 1239, 1239, 856, 857, 858, 90, 91, 1010, 1011,
78, 73, 74, 1151, 291, 995, 140, 141, 142, 143, 1012, 149, 148, 97, 294, 99, 100, 97, 1020, 272,
95, 1312, 195, 1161, 1162, 1163, 88, 89, 269, 93, 1215, 1216, 1217, 1339, 148, 1341, 197, 1343, 1030, 1345,
227, 228, 146, 95, 57, 97, 98, 298, 1176, 227, 59, 217, 3, 219, 301, 221, 229, 230, 224, 235,
228, 1179, 227, 228, 188, 227, 228, 256, 192, 1197, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1198, 220, 221, 1191, 1192, 1193, 256, 1195, 171, 172, 246, 247, 248, 139, 140, 258, 264, 265, 1060, 1061,
42, 147, 173, 207, 1212, 209, 1214, 1215, 1216, 1217, 1062, 1063, 1064, 1065, 1027, 249, 250, 251, 252, 258,
181, 137, 138, 1496, 1497, 42, 1224, 73, 74, 1365, 256, 257, 42, 1103, 1368, 261, 262, 42, 264, 175,
1366, 173, 1397, 146, 1399, 96, 1401, 137, 1403, 137, 830, 98, 149, 269, 834, 271, 272, 273, 274, 229,
228, 1229, 88, 89, 138, 137, 300, 1235, 138, 95, 230, 149, 148, 279, 280, 281, 282, 139, 249, 250,
138, 97, 98, 1241, 215, 137, 217, 137, 219, 300, 251, 252, 229, 230, 75, 76, 190, 229, 230, 230,
1248, 222, 146, 1251, 300, 146, 1254, 300, 1256, 300, 194, 249, 250, 251, 252, 139, 302, 229, 230, 90,
1258, 1259, 1260, 300, 300, 1263, 188, 90, 1266, 1267, 91, 224, 225, 226, 227, 209, 97, 211, 99, 100,
192, 57, 300, 300, 1272, 300, 1274, 300, 146, 1119, 222, 223, 768, 769, 229, 230, 772, 773, 139, 1141,
300, 75, 300, 254, 255, 207, 300, 209, 259, 260, 1335, 1143, 173, 174, 140, 1340, 140, 1342, 1464, 1344,
261, 300, 1132, 300, 1292, 266, 137, 268, 269, 270, 1466, 140, 1468, 256, 1470, 72, 73, 74, 1160, 1161,
271, 247, 248, 249, 250, 276, 277, 278, 279, 233, 303, 78, 139, 140, 1166, 139, 1168, 139, 804, 303,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 1172, 303, 1174, 1175, 303, 1177, 1178, 303, 7, 815,
244, 245, 246, 226, 300, 1165, 138, 290, 299, 282, 303, 817, 249, 250, 251, 252, 1188, 303, 303, 825,
300, 300, 188, 300, 79, 1175, 192, 146, 146, 146, 1153, 249, 250, 251, 252, 303, 1198, 1199, 1200, 303,
226, 146, 5, 1183, 1184, 1185, 1186, 1187, 1188, 226, 1202, 1203, 1204, 839, 840, 303, 1169, 148, 844, 845,
253, 207, 5, 209, 148, 149, 150, 151, 152, 153, 1240, 1241, 72, 73, 74, 303, 303, 1219, 78, 190,
154, 155, 156, 157, 3, 146, 146, 253, 146, 146, 1222, 303, 303, 194, 3, 1255, 303, 1257, 1258, 1259,
96, 96, 1370, 146, 146, 82, 146, 1375, 146, 1377, 1260, 303, 1234, 1235, 1236, 303, 1238, 1267, 209, 303,
146, 5, 146, 1381, 3, 137, 1384, 1385, 1228, 292, 211, 303, 148, 1206, 1207, 92, 882, 883, 884, 885,
293, 294, 295, 296, 297, 1393, 1394, 1395, 1396, 137, 72, 73, 74, 59, 148, 1218, 78, 230, 231, 232,
1240, 137, 137, 1243, 137, 1245, 292, 293, 294, 295, 233, 234, 139, 1226, 1227, 1228, 1229, 1230, 1231, 140,
296, 297, 20, 228, 138, 292, 293, 294, 295, 296, 285, 1273, 142, 143, 144, 145, 81, 1279, 5, 293,
297, 14, 1262, 16, 138, 138, 220, 221, 137, 1269, 148, 148, 148, 148, 1286, 1287, 285, 5, 1290, 148,
1270, 1271, 138, 26, 73, 74, 29, 30, 31, 138, 926, 228, 928, 148, 148, 1297, 75, 76, 1300, 148,
33, 34, 138, 146, 146, 146, 146, 57, 146, 88, 98, 1303, 98, 1305, 148, 1307, 1308, 1309, 148, 1272,
89, 1291, 146, 1293, 73, 74, 95, 146, 97, 98, 1312, 90, 91, 1315, 1316, 84, 3, 148, 97, 1321,
146, 146, 146, 1303, 1304, 1305, 1306, 228, 146, 88, 99, 100, 148, 1325, 148, 5, 1289, 148, 1330, 1292,
89, 1469, 147, 1471, 147, 1473, 95, 1475, 97, 98, 139, 1294, 161, 162, 163, 164, 165, 166, 167, 168,
5, 5, 5, 57, 228, 147, 79, 228, 228, 5, 169, 20, 139, 230, 139, 139, 1348, 139, 1311, 140,
42, 5, 44, 45, 46, 47, 48, 49, 91, 92, 140, 140, 139, 989, 140, 1318, 1319, 1320, 295, 296,
5, 178, 178, 5, 227, 147, 3, 228, 267, 5, 297, 298, 299, 300, 140, 140, 148, 148, 148, 230,
1508, 147, 1510, 146, 1512, 146, 1514, 5, 147, 147, 148, 42, 149, 44, 45, 46, 47, 48, 49, 149,
1360, 1361, 5, 137, 146, 296, 5, 5, 1368, 5, 148, 148, 1018, 1019, 1347, 148, 1349, 148, 75, 76,
5, 5, 1372, 1373, 1374, 87, 1376, 5, 1378, 1379, 148, 148, 148, 59, 5, 5, 1359, 1360, 1361, 1362,
1380, 93, 137, 1383, 96, 137, 1386, 1387, 146, 188, 5, 59, 149, 90, 91, 230, 5, 230, 5, 180,
146, 1391, 1392, 192, 5, 5, 228, 42, 178, 44, 97, 190, 99, 100, 230, 194, 5, 229, 89, 230,
45, 46, 47, 48, 49, 178, 1406, 4, 207, 188, 180, 5, 270, 149, 95, 5, 5, 98, 5, 1431,
209, 5, 5, 192, 137, 5, 73, 74, 72, 73, 209, 148, 211, 149, 1436, 148, 1438, 5, 149, 149,
74, 75, 76, 77, 78, 79, 5, 5, 207, 5, 1442, 5, 299, 1445, 1446, 139, 42, 148, 44, 45,
209, 88, 89, 5, 5, 5, 147, 137, 95, 146, 46, 47, 48, 49, 5, 1418, 1419, 5, 1460, 1461,
97, 98, 87, 146, 146, 146, 1446, 5, 93, 5, 1462, 1463, 5, 228, 5, 5, 1429, 5, 5, 139,
1450, 96, 1452, 5, 5, 5, 1456, 137, 1458, 1459, 1433, 1434, 1435, 148, 1437, 139, 1439, 1440, 1441, 148,
137, 173, 5, 5, 1464, 1465, 1466, 1467, 5, 181, 5, 1444, 230, 180, 1447, 1448, 4, 180, 5, 1452,
137, 5, 5, 5, 228, 182, 3, 184, 185, 186, 255, 5, 5, 89, 139, 5, 1459, 5, 5, 95,
187, 72, 73, 74, 75, 76, 77, 78, 79, 196, 5, 5, 98, 190, 175, 5, 149, 194, 5, 139,
3, 198, 199, 200, 201, 202, 203, 204, 205, 206, 1473, 148, 183, 42, 148, 44, 45, 46, 47, 48,
5, 5, 5, 215, 228, 217, 5, 219, 5, 1509, 49, 148, 209, 5, 211, 5, 5, 5, 5, 5,
222, 1511, 5, 1513, 5, 1515, 5, 5, 5, 5, 295, 296, 297, 298, 299, 300, 5, 5, 1540, 139,
5, 5, 5, 1523, 137, 1525, 292, 1527, 173, 1529, 1542, 139, 1544, 5, 1546, 5, 217, 139, 219, 5,
138, 188, 137, 137, 146, 192, 181, 138, 213, 5, 221, 5, 1515, 224, 230, 148, 1519, 5, 1521, 5,
97, 5, 254, 255, 5, 5, 5, 259, 260, 261, 89, 5, 1525, 5, 1527, 1528, 95, 5, 5, 98,
207, 5, 209, 137, 266, 5, 268, 269, 270, 271, 5, 5, 1535, 1536, 1537, 1538, 5, 5, 1580, 175,
73, 74, 5, 5, 276, 277, 278, 279, 5, 146, 1582, 5, 1584, 5, 1586, 256, 257, 183, 5, 5,
215, 137, 217, 146, 219, 88, 89, 222, 146, 146, 261, 262, 5, 264, 230, 5, 5, 4, 269, 5,
96, 146, 95, 146, 97, 98, 146, 299, 137, 231, 271, 272, 273, 274, 5, 295, 139, 139, 279, 280,
42, 146, 44, 45, 46, 47, 48, 49, 611, 146, 281, 282, 140, 139, 148, 99, 140, 5, 1581, 5,
146, 614, 615, 616, 617, 146, 146, 5, 5, 254, 1583, 217, 1585, 219, 1587, 221, 5, 3, 224, 215,
255, 5, 5, 626, 259, 260, 261, 146, 57, 147, 5, 302, 1595, 5, 1597, 5, 1599, 5, 1601, 5,
5, 266, 147, 268, 269, 270, 271, 147, 147, 147, 235, 236, 237, 238, 239, 240, 175, 242, 243, 244,
147, 276, 277, 278, 279, 87, 147, 147, 147, 147, 245, 246, 247, 248, 183, 5, 5, 148, 139, 148,
5, 93, 5, 5, 96, 146, 5, 5, 661, 662, 256, 257, 148, 148, 139, 261, 262, 98, 264, 139,
663, 5, 12, 666, 299, 668, 72, 73, 74, 75, 6, 5, 5, 269, 148, 271, 272, 273, 274, 5,
76, 77, 78, 79, 137, 137, 137, 680, 681, 682, 5, 148, 148, 279, 280, 281, 282, 148, 217, 148,
102, 340, 685, 84, 884, 188, 838, 498, 1222, 192, 219, 148, 221, 148, 233, 224, 148, 148, 59, 75,
75, 182, 1082, 184, 185, 186, 187, 75, 146, 536, 76, 5, 149, 5, 614, 5, 302, 617, 618, 619,
884, 1073, 884, 884, 207, 196, 209, 198, 199, 200, 620, 5, 5, 149, 90, 91, 149, 149, 5, 149,
201, 202, 203, 204, 205, 206, 1069, 1212, 77, 638, 5, 97, 632, 99, 100, 77, 149, 256, 257, 149,
168, 169, 635, 884, 632, 586, 1, 343, 176, 177, 149, 149, 261, 262, 149, 264, 148, 139, 5, 139,
440, 173, 180, 415, 182, 183, 184, 185, 186, 181, 269, 139, 271, 272, 273, 274, 12, 102, 501, 340,
72, 73, 74, 75, 76, 77, 78, 79, 196, 197, 279, 280, 281, 282, 539, 84, 75, 667, 668, 669,
487, 1237, 450, 792, 158, 758, 759, 72, 73, 74, 859, 784, 672, 75, 674, 783, 414, 631, 630, 1265,
75, 76, 77, 78, 79, -1, -1, -1, -1, 260, 228, 1106, 184, 1115, 186, 187, 188, 189, 1102, 77,
-1, 774, -1, 215, -1, 217, -1, 219, -1, -1, 1255, 644, 692, 693, 694, 641, 198, 697, 200, 201,
222, 233, 234, 235, 236, 237, 238, 239, 240, 241, 202, 203, 204, 205, 206, 207, 208, 255, 150, 151,
242, 243, 244, 245, 246, -1, -1, -1, -1, -1, 152, 153, 154, 155, 156, 157, 158, 159, 14, 1,
291, -1, -1, 806, -1, -1, 809, -1, -1, -1, 16, 638, 343, 441, 190, 589, 490, 807, 194, 1281,
-1, -1, 254, 255, -1, -1, -1, 259, 260, 261, 26, 158, 416, 29, 30, 31, 451, 33, 34, 682,
-1, -1, -1, -1, 266, -1, 268, 269, 270, 271, -1, -1, -1, 209, -1, 211, -1, 295, 296, 297,
-1, -1, -1, -1, 276, 277, 278, 279, 99, 100, 298, 299, 300, -1, -1, 148, -1, -1, -1, -1,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 262, 72, 73, 74, 75, 76, 77, 78, 79, -1,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 770, 771, 72, 73, 74, 75, 76, 77, 78, 79,
121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 222, 223, -1, -1, -1, 81, -1, -1, -1, 789,
131, 132, 133, 134, 135, 136, 233, 234, 235, 236, -1, 184, 294, 186, 187, 188, 189, 93, 94, -1,
237, 238, -1, 240, 241, 242, 243, 244, 245, 246, 148, -1, -1, -1, -1, 198, -1, 200, 201, 202,
203, 204, 205, 206, 207, 208, -1, -1, -1, -1,
-1, 821, 170, 171, 824, -1, -1, -1, -1, -1,
178, 179, -1, -1, 182, -1, 184, 185, 186, 187,
188, 72, 73, 74, 75, 76, 77, 78, 79, -1,
198, 199, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 72, 73, 74, 75, 76, 77,
78, 79, 72, 73, 74, 75, 76, 77, 78, 79,
72, 73, 74, 75, 76, 77, 78, 79, 72, 73, 72, 73, 74, 75, 76, 77, 78, 79, 72, 73,
74, 75, 76, 77, 78, 79, 72, 73, 74, 75, 74, 75, 76, 77, 78, 79, 72, 73, 74, 75,
76, 77, 78, 79, 72, 73, 74, 75, 76, 77, 76, 77, 78, 79, 72, 73, 74, 75, 76, 77,
78, 79, 72, 73, 74, 75, 76, 77, 78, 79 78, 79, 72, 73, 74, 75, 76, 77, 78, 79
}; };
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */ symbol of state STATE-NUM. */
static const yytype_int16 yystos[] = static const yytype_int16 yystos[] =
{ {
0, 7, 159, 160, 161, 162, 163, 164, 165, 166, 0, 7, 161, 162, 163, 164, 165, 166, 167, 168,
167, 305, 306, 307, 326, 327, 328, 330, 331, 332, 169, 308, 309, 310, 329, 330, 331, 333, 334, 335,
333, 336, 337, 338, 339, 340, 341, 342, 348, 359, 336, 339, 340, 341, 342, 343, 344, 345, 351, 362,
360, 365, 387, 388, 389, 390, 391, 392, 393, 394, 363, 368, 390, 391, 392, 393, 394, 395, 396, 397,
395, 8, 10, 12, 13, 17, 18, 31, 53, 54, 398, 8, 10, 12, 13, 17, 18, 31, 55, 56,
61, 63, 72, 88, 90, 192, 212, 218, 288, 472, 63, 65, 74, 90, 92, 194, 214, 220, 291, 476,
144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0,
307, 308, 310, 312, 314, 316, 318, 320, 322, 324, 310, 311, 313, 315, 317, 319, 321, 323, 325, 327,
11, 138, 146, 137, 361, 362, 366, 19, 298, 138, 11, 140, 148, 139, 364, 365, 369, 19, 301, 140,
138, 298, 146, 138, 139, 298, 73, 193, 194, 210, 140, 301, 148, 140, 141, 301, 75, 195, 196, 212,
211, 282, 343, 344, 90, 257, 298, 476, 72, 75, 213, 285, 346, 347, 92, 259, 301, 480, 74, 77,
256, 75, 75, 75, 16, 75, 75, 16, 41, 3, 258, 77, 77, 77, 16, 77, 77, 16, 41, 3,
73, 74, 89, 95, 97, 98, 188, 192, 207, 209, 75, 76, 91, 97, 99, 100, 190, 194, 209, 211,
309, 396, 397, 398, 406, 409, 412, 453, 454, 455, 312, 399, 400, 401, 409, 412, 415, 456, 457, 458,
456, 468, 471, 472, 473, 479, 480, 481, 482, 483, 459, 472, 475, 476, 477, 483, 484, 485, 486, 487,
487, 535, 536, 537, 539, 540, 541, 3, 258, 311, 491, 540, 541, 542, 544, 545, 546, 3, 260, 314,
396, 397, 398, 453, 468, 471, 479, 480, 481, 482, 399, 400, 401, 456, 472, 475, 483, 484, 485, 486,
483, 508, 522, 531, 532, 534, 535, 541, 3, 313, 487, 512, 527, 536, 537, 539, 540, 546, 3, 316,
396, 397, 398, 453, 468, 471, 479, 480, 481, 482, 399, 400, 401, 456, 472, 475, 483, 484, 485, 486,
483, 524, 525, 526, 527, 528, 529, 531, 535, 541, 487, 529, 530, 531, 532, 533, 534, 536, 540, 546,
3, 315, 396, 397, 398, 453, 468, 471, 479, 480, 3, 318, 399, 400, 401, 456, 472, 475, 483, 484,
481, 482, 483, 508, 531, 535, 541, 3, 317, 396, 485, 486, 487, 512, 536, 540, 546, 3, 320, 399,
397, 398, 406, 409, 415, 468, 471, 479, 480, 481, 400, 401, 409, 412, 418, 472, 475, 483, 484, 485,
482, 483, 3, 319, 396, 397, 398, 468, 471, 479, 486, 487, 3, 322, 399, 400, 401, 472, 475, 483,
480, 481, 482, 483, 542, 543, 544, 545, 546, 3, 484, 485, 486, 487, 547, 548, 549, 550, 551, 3,
321, 396, 397, 398, 456, 468, 471, 479, 480, 481, 324, 399, 400, 401, 459, 472, 475, 483, 484, 485,
482, 483, 490, 538, 323, 396, 397, 398, 453, 468, 486, 487, 494, 543, 326, 399, 400, 401, 456, 472,
471, 479, 480, 481, 482, 483, 508, 531, 535, 541, 475, 483, 484, 485, 486, 487, 512, 536, 540, 546,
3, 325, 396, 397, 398, 468, 471, 479, 480, 481, 3, 328, 399, 400, 401, 472, 475, 483, 484, 485,
482, 483, 486, 9, 73, 329, 79, 363, 93, 362, 486, 487, 490, 9, 75, 332, 81, 366, 95, 365,
465, 14, 16, 26, 29, 30, 31, 33, 34, 79, 469, 14, 16, 26, 29, 30, 31, 33, 34, 81,
91, 92, 349, 367, 368, 369, 370, 371, 372, 375, 93, 94, 352, 370, 371, 372, 373, 374, 375, 378,
376, 377, 378, 379, 350, 334, 247, 248, 249, 250, 379, 380, 381, 382, 353, 337, 249, 250, 251, 252,
530, 140, 141, 142, 143, 477, 478, 138, 146, 345, 535, 142, 143, 144, 145, 481, 482, 140, 148, 348,
344, 280, 347, 298, 298, 42, 44, 45, 46, 47, 347, 283, 350, 301, 301, 42, 44, 45, 46, 47,
48, 49, 87, 93, 96, 173, 181, 215, 217, 219, 48, 49, 89, 95, 98, 175, 183, 217, 219, 221,
222, 254, 255, 259, 260, 261, 266, 268, 269, 270, 224, 256, 257, 261, 262, 264, 269, 271, 272, 273,
271, 276, 277, 278, 279, 474, 475, 59, 548, 138, 274, 279, 280, 281, 282, 478, 479, 61, 553, 140,
138, 137, 138, 137, 138, 138, 138, 137, 138, 137, 140, 139, 140, 139, 140, 140, 140, 139, 140, 139,
138, 399, 401, 137, 137, 6, 52, 146, 168, 169, 140, 402, 404, 139, 139, 6, 52, 148, 170, 171,
176, 177, 180, 182, 183, 184, 185, 186, 196, 197, 178, 179, 182, 184, 185, 186, 187, 188, 198, 199,
226, 257, 260, 269, 291, 488, 489, 493, 497, 499, 228, 259, 262, 272, 277, 294, 492, 493, 497, 501,
500, 501, 502, 504, 505, 399, 399, 139, 399, 146, 503, 504, 505, 506, 508, 509, 402, 402, 141, 402,
285, 285, 189, 190, 191, 73, 193, 194, 145, 144, 148, 288, 288, 191, 192, 193, 75, 195, 196, 147,
484, 485, 257, 298, 476, 6, 222, 223, 224, 225, 146, 488, 489, 259, 301, 480, 6, 224, 225, 226,
226, 255, 257, 276, 507, 533, 257, 276, 533, 6, 227, 228, 257, 259, 279, 511, 538, 259, 279, 538,
176, 177, 179, 226, 251, 252, 226, 6, 6, 49, 6, 178, 179, 181, 228, 253, 254, 228, 6, 277,
50, 51, 52, 226, 182, 187, 196, 198, 199, 200, 6, 42, 49, 50, 51, 52, 228, 184, 189, 198,
201, 202, 203, 204, 205, 206, 291, 491, 492, 494, 200, 201, 202, 203, 204, 205, 206, 207, 208, 294,
495, 496, 498, 501, 173, 226, 137, 25, 146, 37, 495, 496, 498, 499, 500, 502, 505, 175, 228, 139,
220, 221, 233, 234, 235, 236, 237, 238, 239, 240, 25, 148, 37, 222, 223, 235, 236, 237, 238, 239,
241, 242, 243, 244, 245, 246, 349, 354, 357, 358, 240, 241, 242, 243, 244, 245, 246, 247, 248, 352,
364, 403, 404, 146, 78, 405, 21, 22, 24, 137, 357, 360, 361, 367, 406, 407, 148, 80, 408, 21,
138, 301, 137, 138, 92, 92, 298, 138, 146, 138, 22, 24, 139, 140, 304, 139, 140, 94, 94, 301,
29, 30, 26, 27, 28, 32, 33, 35, 36, 38, 140, 148, 140, 29, 30, 26, 27, 28, 32, 33,
39, 175, 299, 351, 62, 64, 65, 66, 67, 68, 35, 36, 38, 39, 177, 302, 354, 64, 66, 67,
69, 70, 71, 299, 335, 283, 283, 299, 478, 211, 68, 69, 70, 71, 72, 73, 302, 338, 286, 286,
93, 346, 349, 354, 357, 358, 347, 281, 477, 474, 302, 482, 213, 95, 349, 352, 357, 360, 361, 350,
299, 475, 146, 93, 215, 217, 400, 401, 402, 464, 284, 481, 478, 302, 479, 148, 95, 217, 219, 403,
77, 91, 215, 216, 217, 275, 289, 418, 420, 291, 404, 405, 468, 79, 93, 217, 218, 219, 278, 292,
95, 226, 292, 293, 294, 295, 296, 297, 509, 509, 421, 423, 294, 97, 228, 295, 296, 297, 298, 299,
509, 509, 176, 177, 509, 509, 509, 509, 277, 278, 300, 513, 513, 513, 513, 178, 179, 513, 513, 513,
269, 509, 146, 517, 518, 519, 509, 489, 519, 195, 513, 280, 281, 272, 513, 148, 521, 522, 523, 278,
503, 93, 400, 462, 93, 400, 461, 93, 400, 463, 421, 423, 513, 493, 523, 197, 507, 95, 403, 466,
57, 485, 298, 474, 548, 22, 23, 254, 523, 254, 95, 403, 465, 95, 403, 467, 59, 489, 301, 478,
255, 507, 523, 509, 296, 297, 470, 509, 256, 470, 553, 22, 23, 256, 528, 256, 257, 511, 528, 513,
256, 509, 509, 509, 279, 253, 509, 253, 509, 263, 299, 300, 474, 513, 258, 474, 258, 513, 513, 513,
264, 265, 266, 42, 509, 509, 509, 50, 51, 42, 282, 255, 513, 255, 513, 266, 267, 268, 269, 266,
509, 509, 509, 492, 519, 509, 509, 173, 146, 363, 267, 268, 269, 42, 53, 54, 513, 513, 513, 50,
96, 137, 139, 137, 137, 228, 137, 138, 138, 138, 51, 42, 513, 513, 513, 496, 523, 513, 513, 175,
300, 380, 137, 350, 373, 300, 300, 300, 300, 300, 148, 366, 98, 139, 141, 139, 139, 230, 139, 140,
300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 140, 140, 303, 383, 139, 353, 376, 303, 303, 303,
300, 300, 300, 300, 146, 146, 299, 299, 476, 57, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
146, 137, 146, 137, 146, 402, 464, 137, 138, 137, 303, 303, 303, 303, 303, 303, 148, 148, 302, 302,
146, 137, 146, 137, 146, 282, 290, 79, 419, 413, 480, 59, 148, 139, 148, 139, 148, 405, 468, 139,
509, 146, 146, 146, 146, 158, 506, 506, 509, 509, 140, 139, 148, 139, 148, 139, 148, 285, 293, 81,
506, 506, 506, 506, 519, 519, 519, 146, 57, 146, 422, 416, 513, 148, 148, 148, 148, 160, 510, 510,
5, 146, 506, 5, 509, 146, 462, 146, 461, 146, 513, 513, 510, 510, 510, 510, 523, 523, 523, 148,
463, 474, 299, 146, 96, 519, 519, 519, 96, 146, 59, 148, 5, 285, 422, 416, 148, 510, 5, 513,
137, 138, 146, 137, 138, 137, 138, 137, 138, 146, 148, 466, 148, 465, 148, 467, 478, 302, 148, 98,
506, 146, 506, 146, 506, 519, 509, 146, 506, 509, 523, 523, 523, 98, 148, 139, 140, 148, 139, 140,
506, 416, 416, 416, 82, 547, 519, 146, 146, 146, 139, 140, 139, 140, 148, 510, 148, 510, 148, 510,
509, 509, 519, 506, 506, 146, 506, 5, 506, 146, 523, 513, 148, 510, 513, 510, 419, 419, 419, 84,
519, 22, 23, 296, 355, 381, 382, 383, 137, 137, 552, 419, 419, 419, 552, 523, 523, 523, 148, 148,
384, 385, 20, 386, 299, 215, 217, 254, 374, 138, 148, 513, 513, 523, 510, 510, 148, 510, 5, 510,
138, 138, 137, 138, 14, 15, 29, 30, 138, 138, 148, 523, 22, 23, 299, 358, 384, 385, 386, 139,
356, 146, 146, 146, 146, 146, 146, 146, 146, 146, 139, 387, 388, 20, 389, 302, 217, 219, 256, 377,
228, 476, 548, 228, 519, 519, 519, 519, 519, 519, 140, 140, 140, 139, 140, 14, 15, 29, 30, 140,
410, 137, 138, 146, 407, 55, 56, 82, 86, 93, 140, 359, 148, 148, 148, 148, 148, 148, 148, 148,
94, 414, 422, 426, 427, 466, 467, 519, 146, 57, 148, 230, 480, 553, 230, 523, 523, 523, 523, 523,
530, 530, 146, 506, 146, 506, 147, 530, 147, 530, 523, 413, 139, 140, 148, 410, 57, 58, 84, 88,
147, 147, 5, 5, 5, 228, 229, 230, 231, 232, 95, 96, 263, 417, 425, 429, 430, 460, 470, 471,
510, 57, 73, 74, 88, 95, 261, 262, 514, 515, 523, 148, 59, 535, 535, 148, 510, 148, 510, 149,
519, 147, 515, 506, 228, 228, 228, 299, 476, 519, 535, 149, 535, 149, 149, 5, 5, 5, 230, 231,
56, 519, 5, 5, 5, 519, 530, 519, 519, 510, 232, 233, 234, 514, 59, 75, 76, 90, 97, 264,
519, 519, 178, 530, 178, 530, 227, 228, 5, 146, 265, 518, 519, 413, 410, 523, 523, 149, 519, 510,
506, 519, 147, 506, 147, 530, 16, 58, 93, 255, 230, 230, 230, 302, 480, 523, 58, 523, 5, 5,
417, 457, 458, 459, 460, 519, 519, 519, 267, 416, 5, 523, 535, 523, 523, 514, 523, 523, 180, 535,
5, 147, 43, 530, 43, 530, 146, 146, 5, 147, 180, 535, 229, 230, 5, 148, 510, 523, 149, 510,
530, 147, 530, 519, 147, 515, 147, 519, 5, 355, 149, 535, 16, 60, 95, 257, 420, 461, 462, 463,
355, 137, 384, 384, 384, 386, 385, 137, 146, 137, 464, 523, 523, 523, 270, 419, 523, 523, 523, 419,
146, 146, 357, 530, 530, 530, 530, 227, 228, 227, 5, 5, 5, 149, 43, 535, 43, 535, 148, 148,
228, 227, 228, 227, 228, 227, 228, 548, 5, 5, 5, 149, 535, 149, 535, 523, 149, 519, 149, 523,
5, 5, 5, 5, 37, 276, 349, 352, 354, 411, 5, 358, 358, 139, 387, 387, 387, 389, 388, 139,
466, 467, 469, 519, 519, 519, 16, 80, 81, 349, 148, 139, 148, 148, 360, 535, 535, 535, 535, 229,
352, 354, 408, 421, 422, 425, 426, 427, 466, 467, 230, 229, 230, 229, 230, 229, 230, 229, 230, 553,
469, 519, 137, 137, 83, 84, 85, 99, 100, 101, 5, 5, 5, 5, 5, 5, 37, 279, 352, 355,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 357, 414, 470, 471, 473, 523, 523, 523, 16, 82,
112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 83, 352, 355, 357, 411, 424, 425, 428, 429, 430,
122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 460, 470, 471, 473, 523, 139, 139, 85, 86, 87,
132, 133, 134, 135, 136, 146, 146, 5, 519, 5, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
228, 512, 512, 178, 530, 178, 530, 515, 515, 515, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
519, 399, 4, 521, 5, 519, 521, 476, 548, 5, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
137, 5, 515, 515, 515, 5, 519, 5, 5, 519, 131, 132, 133, 134, 135, 136, 137, 138, 148, 148,
5, 5, 519, 512, 519, 512, 519, 519, 515, 519, 513, 5, 523, 5, 230, 516, 516, 180, 535, 180,
147, 5, 519, 147, 530, 519, 519, 137, 146, 146, 535, 519, 519, 519, 523, 402, 4, 525, 523, 523,
146, 5, 5, 5, 519, 515, 519, 512, 512, 512, 5, 5, 523, 525, 480, 553, 5, 139, 5, 519,
512, 43, 530, 43, 530, 515, 5, 519, 521, 5, 519, 519, 5, 523, 5, 5, 523, 5, 5, 523,
515, 137, 137, 515, 515, 515, 515, 515, 515, 40, 516, 523, 516, 523, 523, 519, 523, 149, 5, 523,
470, 5, 5, 5, 137, 5, 423, 440, 440, 75, 149, 535, 523, 523, 139, 148, 148, 148, 5, 5,
148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 5, 523, 5, 5, 5, 523, 519, 519, 519, 523,
403, 404, 451, 452, 430, 430, 434, 434, 77, 174, 516, 516, 516, 516, 43, 535, 43, 535, 519, 5,
175, 208, 428, 429, 432, 438, 449, 228, 515, 5, 523, 525, 5, 519, 139, 139, 519, 519, 519, 519,
93, 515, 512, 512, 521, 5, 60, 400, 513, 3, 519, 519, 40, 474, 5, 5, 5, 139, 5, 426,
515, 5, 548, 515, 519, 515, 521, 515, 5, 515, 443, 443, 77, 150, 151, 152, 153, 154, 155, 156,
515, 5, 515, 515, 5, 519, 5, 519, 5, 5, 157, 158, 159, 406, 407, 454, 455, 433, 433, 437,
5, 519, 515, 5, 519, 519, 5, 5, 228, 515, 437, 79, 176, 177, 210, 431, 432, 435, 441, 452,
515, 515, 5, 521, 5, 519, 519, 519, 519, 146, 230, 148, 519, 5, 95, 519, 516, 516, 525, 5,
229, 230, 231, 511, 146, 511, 146, 511, 146, 511, 62, 403, 517, 3, 518, 520, 5, 5, 519, 519,
521, 515, 5, 515, 521, 521, 521, 521, 521, 521, 5, 553, 519, 523, 519, 525, 519, 5, 519, 519,
292, 353, 137, 515, 515, 515, 515, 357, 358, 424, 5, 519, 519, 5, 523, 5, 523, 5, 5, 5,
96, 170, 173, 208, 214, 302, 403, 404, 441, 442, 523, 519, 5, 523, 523, 5, 5, 230, 519, 519,
443, 444, 445, 446, 138, 509, 509, 509, 509, 509, 519, 5, 519, 519, 519, 5, 525, 525, 4, 526,
509, 509, 509, 509, 509, 452, 403, 404, 431, 76, 5, 523, 523, 523, 523, 148, 231, 232, 233, 515,
403, 404, 435, 137, 137, 146, 138, 429, 403, 404, 148, 515, 148, 515, 148, 515, 525, 519, 5, 519,
433, 284, 287, 436, 437, 439, 213, 448, 450, 521, 525, 525, 525, 525, 525, 525, 295, 356, 139, 519,
515, 515, 97, 513, 272, 273, 274, 521, 515, 521, 519, 519, 519, 360, 361, 427, 98, 172, 175, 210,
5, 521, 515, 515, 515, 5, 515, 5, 515, 515, 216, 305, 406, 407, 444, 445, 446, 447, 448, 449,
515, 5, 521, 515, 5, 5, 515, 515, 521, 521, 140, 513, 513, 513, 513, 513, 513, 513, 513, 513,
521, 515, 515, 5, 5, 5, 5, 511, 519, 511, 513, 455, 406, 407, 434, 78, 406, 407, 438, 139,
519, 511, 519, 511, 519, 521, 515, 521, 146, 521, 139, 148, 140, 432, 406, 407, 436, 287, 290, 439,
521, 521, 521, 137, 171, 172, 509, 137, 138, 137, 440, 442, 215, 451, 453, 229, 230, 525, 519, 519,
447, 146, 146, 146, 146, 146, 146, 146, 146, 146, 99, 517, 275, 276, 277, 519, 519, 526, 525, 519,
146, 96, 137, 139, 146, 137, 521, 521, 57, 146, 525, 5, 525, 519, 519, 519, 5, 519, 5, 519,
517, 518, 520, 520, 520, 521, 515, 521, 521, 521, 519, 519, 5, 525, 519, 5, 5, 519, 519, 525,
515, 521, 515, 521, 521, 521, 515, 521, 515, 515, 525, 525, 519, 526, 526, 526, 519, 3, 520, 519,
521, 521, 521, 521, 515, 515, 515, 515, 519, 5, 5, 5, 5, 5, 515, 523, 515, 523, 515, 523,
519, 5, 519, 5, 519, 5, 521, 231, 146, 286, 515, 523, 525, 519, 525, 148, 525, 525, 525, 525,
303, 147, 147, 147, 147, 147, 147, 147, 147, 147, 139, 173, 174, 513, 139, 140, 139, 450, 148, 148,
147, 22, 23, 355, 57, 5, 5, 5, 521, 521, 148, 148, 148, 148, 148, 148, 148, 148, 98, 139,
521, 521, 521, 521, 521, 521, 521, 521, 5, 515, 141, 148, 139, 525, 525, 59, 148, 521, 522, 524,
5, 515, 5, 515, 5, 515, 355, 355, 137, 514, 524, 524, 526, 526, 525, 519, 525, 525, 525, 519,
516, 516, 516, 515, 521, 515, 521, 515, 521, 515, 525, 519, 525, 525, 525, 519, 525, 519, 519, 525,
521, 137, 137, 521, 521, 521, 521 525, 525, 526, 6, 525, 519, 519, 519, 519, 523,
5, 523, 5, 523, 5, 523, 5, 525, 233, 148,
289, 306, 149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 22, 23, 358, 59, 5, 5, 5, 525,
525, 525, 525, 525, 525, 524, 525, 525, 525, 525,
5, 519, 5, 519, 5, 519, 5, 519, 358, 358,
139, 520, 520, 520, 5, 519, 525, 519, 525, 519,
525, 519, 525, 139, 139, 520, 525, 525, 525, 525
}; };
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_int16 yyr1[] = static const yytype_int16 yyr1[] =
{ {
0, 304, 305, 305, 306, 306, 307, 307, 307, 307, 0, 307, 308, 308, 309, 309, 310, 310, 310, 310,
307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
307, 307, 307, 308, 308, 309, 309, 309, 309, 309, 310, 310, 310, 311, 311, 312, 312, 312, 312, 312,
309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
309, 309, 309, 309, 309, 309, 309, 309, 309, 310, 312, 312, 312, 312, 312, 312, 312, 312, 312, 313,
310, 311, 311, 311, 311, 311, 311, 311, 311, 311, 313, 314, 314, 314, 314, 314, 314, 314, 314, 314,
311, 311, 311, 311, 311, 311, 311, 311, 311, 312, 314, 314, 314, 314, 314, 314, 314, 314, 314, 315,
312, 313, 313, 313, 313, 313, 313, 313, 313, 313, 315, 316, 316, 316, 316, 316, 316, 316, 316, 316,
313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
313, 314, 314, 315, 315, 315, 315, 315, 315, 315, 316, 317, 317, 318, 318, 318, 318, 318, 318, 318,
315, 315, 315, 315, 315, 315, 315, 315, 316, 316, 318, 318, 318, 318, 318, 318, 318, 318, 319, 319,
317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
317, 317, 317, 318, 318, 319, 319, 319, 319, 319, 320, 320, 320, 321, 321, 322, 322, 322, 322, 322,
319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
320, 320, 321, 321, 321, 321, 321, 321, 321, 321, 323, 323, 324, 324, 324, 324, 324, 324, 324, 324,
321, 321, 321, 321, 321, 322, 322, 323, 323, 323, 324, 324, 324, 324, 324, 325, 325, 326, 326, 326,
323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
323, 323, 324, 324, 325, 325, 325, 325, 325, 325, 326, 326, 327, 327, 328, 328, 328, 328, 328, 328,
325, 325, 325, 325, 325, 326, 326, 326, 327, 328, 328, 328, 328, 328, 328, 329, 329, 329, 330, 331,
329, 329, 330, 331, 331, 331, 332, 333, 334, 334, 332, 332, 333, 334, 334, 334, 335, 336, 337, 337,
335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
335, 335, 335, 335, 336, 337, 337, 337, 338, 338, 338, 338, 338, 338, 339, 340, 340, 340, 341, 341,
338, 339, 340, 341, 342, 343, 343, 344, 345, 345, 341, 342, 343, 344, 345, 346, 346, 347, 348, 348,
346, 346, 346, 346, 346, 347, 347, 348, 349, 349, 349, 349, 349, 349, 349, 350, 350, 351, 352, 352,
350, 350, 351, 351, 351, 351, 351, 351, 351, 351, 353, 353, 354, 354, 354, 354, 354, 354, 354, 354,
351, 351, 351, 351, 352, 353, 353, 354, 354, 354, 354, 354, 354, 354, 355, 356, 356, 357, 357, 357,
355, 355, 356, 356, 357, 357, 357, 357, 357, 357, 358, 358, 359, 359, 360, 360, 360, 360, 360, 360,
357, 357, 357, 357, 357, 357, 357, 358, 359, 360, 360, 360, 360, 360, 360, 360, 360, 361, 362, 363,
361, 361, 362, 362, 363, 363, 364, 364, 364, 364, 364, 364, 365, 365, 366, 366, 367, 367, 367, 367,
364, 364, 365, 366, 366, 367, 367, 367, 367, 367, 367, 367, 368, 369, 369, 370, 370, 370, 370, 370,
367, 367, 367, 367, 368, 369, 370, 371, 372, 373, 370, 370, 370, 370, 371, 372, 373, 374, 375, 376,
373, 374, 374, 374, 374, 374, 375, 375, 376, 376, 376, 377, 377, 377, 377, 377, 378, 378, 379, 379,
377, 377, 378, 379, 379, 379, 379, 379, 379, 380, 380, 380, 381, 382, 382, 382, 382, 382, 382, 383,
379, 381, 379, 382, 379, 383, 379, 379, 384, 384, 382, 384, 382, 385, 382, 386, 382, 382, 387, 387,
385, 386, 386, 387, 387, 387, 387, 388, 389, 389, 388, 389, 389, 390, 390, 390, 390, 391, 392, 392,
390, 391, 392, 392, 393, 394, 395, 395, 396, 396, 393, 394, 395, 395, 396, 397, 398, 398, 399, 399,
397, 397, 398, 398, 399, 399, 400, 400, 401, 401, 400, 400, 401, 401, 402, 402, 403, 403, 404, 404,
402, 402, 402, 402, 403, 403, 404, 405, 405, 406, 405, 405, 405, 405, 406, 406, 407, 408, 408, 409,
407, 407, 408, 408, 408, 408, 408, 408, 408, 408, 409, 410, 410, 411, 411, 411, 411, 411, 411, 411,
408, 408, 408, 409, 410, 410, 411, 411, 411, 411, 411, 411, 411, 411, 411, 412, 412, 413, 413, 414,
411, 411, 412, 413, 413, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 415, 415, 416, 416, 417,
415, 415, 415, 415, 416, 416, 417, 417, 417, 417, 417, 417, 417, 417, 417, 418, 418, 418, 418, 418,
418, 418, 419, 420, 421, 421, 422, 422, 422, 423, 418, 418, 418, 419, 419, 420, 420, 420, 420, 421,
423, 424, 424, 425, 426, 426, 426, 426, 426, 426, 421, 422, 423, 424, 424, 425, 425, 425, 426, 426,
426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 427, 427, 428, 429, 429, 429, 429, 429, 429, 429,
426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
426, 426, 427, 427, 428, 428, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
430, 430, 431, 431, 432, 432, 433, 433, 434, 434, 429, 430, 430, 431, 431, 432, 432, 432, 432, 433,
435, 435, 435, 435, 435, 436, 436, 437, 438, 438, 433, 434, 434, 435, 435, 436, 436, 437, 437, 438,
439, 439, 440, 440, 441, 441, 441, 441, 441, 441, 438, 438, 438, 438, 439, 439, 440, 441, 441, 442,
441, 441, 442, 443, 443, 444, 444, 445, 446, 447, 442, 443, 443, 444, 444, 444, 444, 444, 444, 444,
447, 448, 449, 449, 450, 451, 451, 452, 452, 452, 444, 445, 446, 446, 447, 447, 448, 449, 450, 450,
452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 451, 452, 452, 453, 454, 454, 455, 455, 455, 455,
453, 453, 454, 455, 456, 457, 458, 459, 460, 461, 455, 455, 455, 455, 455, 455, 455, 455, 455, 456,
461, 462, 462, 463, 463, 464, 464, 465, 465, 466, 456, 457, 458, 459, 460, 460, 461, 462, 463, 464,
467, 468, 468, 469, 470, 470, 471, 471, 471, 471, 465, 465, 466, 466, 467, 467, 468, 468, 469, 469,
472, 473, 474, 474, 475, 475, 475, 475, 475, 475, 470, 471, 472, 472, 473, 474, 474, 475, 475, 475,
475, 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, 476, 477, 478, 478, 479, 479, 479, 479, 479,
475, 475, 475, 475, 475, 475, 475, 475, 475, 475, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
475, 475, 475, 475, 476, 476, 477, 477, 478, 478, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
478, 478, 479, 479, 479, 480, 480, 480, 481, 481, 479, 479, 479, 479, 479, 480, 480, 481, 481, 482,
481, 482, 483, 484, 484, 485, 486, 486, 487, 488, 482, 482, 482, 483, 483, 483, 484, 484, 484, 485,
488, 489, 489, 489, 489, 489, 489, 489, 490, 491, 485, 485, 486, 487, 488, 488, 489, 490, 490, 491,
491, 492, 492, 492, 492, 493, 493, 494, 495, 495, 492, 492, 493, 493, 493, 493, 493, 493, 493, 494,
495, 495, 495, 495, 495, 495, 495, 495, 496, 496, 495, 495, 496, 496, 496, 496, 497, 497, 498, 499,
497, 497, 497, 497, 498, 498, 499, 500, 501, 502, 499, 499, 499, 499, 499, 499, 499, 499, 499, 500,
502, 502, 503, 503, 504, 504, 504, 505, 505, 505, 500, 501, 501, 501, 501, 502, 502, 503, 504, 505,
506, 506, 507, 507, 507, 507, 508, 508, 509, 509, 506, 506, 506, 507, 507, 508, 508, 508, 509, 509,
509, 509, 509, 509, 509, 509, 510, 510, 510, 510, 509, 510, 510, 511, 511, 511, 511, 512, 512, 513,
510, 510, 511, 511, 511, 512, 512, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 514, 514, 514,
514, 514, 514, 514, 514, 514, 514, 515, 516, 517, 514, 514, 514, 515, 515, 515, 516, 516, 517, 517,
518, 519, 519, 519, 520, 520, 520, 521, 521, 521, 517, 518, 518, 518, 518, 518, 518, 518, 519, 520,
521, 522, 522, 522, 523, 523, 523, 524, 524, 524, 521, 522, 523, 523, 523, 524, 524, 524, 525, 525,
524, 525, 525, 525, 525, 526, 526, 527, 527, 528, 525, 525, 525, 526, 526, 526, 527, 527, 527, 528,
528, 529, 530, 530, 530, 530, 530, 531, 531, 532, 528, 528, 529, 529, 529, 529, 530, 530, 530, 530,
532, 532, 532, 532, 532, 532, 532, 533, 533, 534, 531, 531, 532, 532, 533, 533, 534, 535, 535, 535,
534, 535, 535, 536, 536, 537, 537, 538, 538, 539, 535, 535, 536, 536, 537, 537, 537, 537, 537, 537,
539, 540, 541, 541, 542, 543, 544, 545, 545, 545, 537, 537, 538, 538, 539, 539, 540, 540, 541, 541,
545, 545, 545, 546, 546, 546, 546, 546, 546, 547, 542, 542, 543, 543, 544, 544, 545, 546, 546, 547,
548, 548, 548 547, 547, 548, 549, 550, 550, 550, 550, 550, 550,
551, 551, 551, 551, 551, 551, 552, 553, 553, 553
}; };
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
static const yytype_int8 yyr2[] = static const yytype_int8 yyr2[] =
{ {
0, 2, 0, 1, 1, 2, 1, 1, 1, 1, 0, 2, 0, 1, 1, 2, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
2, 2, 2, 0, 2, 1, 1, 1, 1, 1, 2, 2, 2, 0, 2, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
skipping to change at line 2700 skipping to change at line 2754
1, 2, 2, 4, 0, 2, 1, 1, 1, 1, 1, 2, 2, 4, 0, 2, 1, 1, 1, 1,
1, 1, 3, 0, 2, 1, 1, 1, 1, 1, 1, 1, 3, 0, 2, 1, 1, 1, 1, 1,
1, 1, 1, 1, 2, 2, 1, 2, 3, 0, 1, 1, 1, 1, 2, 2, 1, 2, 3, 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1, 1, 2, 5, 4, 2, 3, 3, 3, 0, 1, 1, 2, 5, 4, 2, 3, 3, 3, 0,
4, 0, 5, 0, 5, 0, 5, 2, 1, 2, 4, 0, 5, 0, 5, 0, 5, 2, 1, 2,
1, 0, 1, 4, 4, 4, 4, 4, 4, 4, 1, 0, 1, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 2, 4, 5, 6, 3, 4, 4, 4, 4, 4, 2, 4, 5, 6, 3, 4,
3, 4, 3, 4, 1, 2, 1, 2, 1, 1, 3, 4, 3, 4, 1, 2, 1, 2, 1, 1,
2, 2, 2, 2, 2, 2, 2, 0, 2, 9, 2, 2, 2, 2, 2, 2, 2, 0, 2, 9,
0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 9, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 0, 2, 1,
1, 1, 8, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 0, 2, 1,
9, 8, 8, 8, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 8, 8, 8, 9,
0, 2, 2, 2, 1, 1, 2, 3, 2, 0, 8, 8, 8, 0, 2, 1, 1, 1, 1, 0,
2, 1, 1, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 3, 2, 0, 2,
3, 3, 2, 2, 2, 2, 2, 2, 3, 3, 1, 1, 2, 3, 2, 2, 2, 2, 2, 3,
3, 3, 2, 2, 2, 2, 2, 2, 3, 3, 3, 2, 2, 2, 2, 2, 2, 3, 3, 3,
2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 3, 2,
2, 3, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
0, 2, 1, 1, 0, 2, 1, 1, 0, 2, 3, 2, 2, 1, 2, 2, 2, 2, 2, 0,
1, 1, 4, 5, 5, 2, 2, 2, 0, 2, 2, 1, 1, 0, 2, 1, 1, 0, 2, 1,
1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 4, 5, 5, 2, 2, 2, 0, 2, 1,
1, 3, 3, 2, 2, 2, 2, 2, 2, 0, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1,
2, 2, 0, 2, 1, 1, 2, 1, 1, 2, 3, 3, 2, 2, 2, 2, 2, 2, 0, 2,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 0, 2, 1, 1, 2, 1, 1, 2, 4,
7, 6, 6, 6, 9, 2, 2, 3, 2, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7,
3, 0, 3, 0, 3, 0, 3, 0, 3, 3, 6, 6, 6, 9, 4, 4, 2, 2, 3, 2,
2, 7, 7, 3, 1, 1, 3, 6, 7, 1, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 3, 2, 7, 7, 3, 1, 1, 3, 6, 7,
1, 2, 2, 1, 2, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 4, 1, 2, 2, 2, 1, 1, 1, 1, 1, 0, 4, 1, 2, 2,
1, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 3, 2, 2, 2, 2, 2, 2,
2, 2, 2, 1, 2, 1, 8, 6, 6, 1, 2, 2, 2, 2, 1, 2, 1, 8, 6, 6,
2, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 6,
2, 1, 1, 1, 1, 4, 4, 4, 1, 1, 1, 2, 1, 1, 1, 1, 4, 4, 4, 1,
1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
4, 4, 4, 4, 4, 4, 3, 3, 4, 1, 4, 4, 4, 4, 4, 4, 4, 3, 3, 4,
1, 1, 0, 1, 5, 6, 5, 5, 6, 5, 1, 1, 1, 0, 1, 5, 6, 5, 5, 6,
1, 1, 1, 1, 1, 1, 9, 6, 0, 1, 5, 1, 1, 1, 1, 1, 1, 9, 6, 0,
1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
1, 1, 1, 1, 1, 0, 1, 0, 3, 4, 1, 1, 1, 1, 1, 1, 0, 1, 0, 3,
1, 3, 4, 1, 1, 1, 1, 1, 1, 2, 4, 1, 3, 4, 1, 1, 1, 1, 1, 1,
3, 0, 1, 1, 0, 1, 1, 0, 6, 6, 2, 3, 0, 1, 1, 0, 1, 1, 0, 2,
6, 8, 10, 7, 0, 1, 1, 8, 9, 9, 6, 6, 6, 0, 2, 6, 8, 10, 7, 0,
10, 9, 9, 10, 10, 10, 9, 10, 9, 9, 1, 1, 8, 9, 9, 10, 9, 9, 10, 10,
9, 6, 0, 1, 1, 1, 1, 8, 7, 7, 10, 9, 10, 9, 9, 9, 6, 0, 1, 1,
7, 4, 4, 7, 7, 4, 4, 0, 1, 9, 1, 1, 8, 7, 7, 7, 4, 4, 7, 7,
6, 8, 8, 8, 8, 9, 9, 8, 9, 8, 4, 4, 0, 1, 9, 6, 8, 8, 8, 8,
9, 9, 8, 8, 7, 7, 9, 10, 11, 12, 9, 9, 8, 9, 8, 9, 9, 8, 8, 7,
10, 11, 12, 10, 11, 12, 10, 11, 12, 2, 7, 7, 7, 9, 10, 11, 12, 10, 11, 12,
0, 2, 3 10, 11, 12, 10, 11, 12, 2, 0, 2, 3
}; };
#define yyerrok (yyerrstatus = 0) #define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY) #define yyclearin (yychar = YYEMPTY)
#define YYEMPTY (-2) #define YYEMPTY (-2)
#define YYEOF 0 #define YYEOF 0
#define YYACCEPT goto yyacceptlab #define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab #define YYABORT goto yyabortlab
#define YYERROR goto yyerrorlab #define YYERROR goto yyerrorlab
skipping to change at line 3418 skipping to change at line 3473
This behavior is undocumented and Bison This behavior is undocumented and Bison
users should not rely upon it. Assigning to YYVAL users should not rely upon it. Assigning to YYVAL
unconditionally makes the parser a bit smaller, and it avoids a unconditionally makes the parser a bit smaller, and it avoids a
GCC warning that YYVAL may be used uninitialized. */ GCC warning that YYVAL may be used uninitialized. */
yyval = yyvsp[1-yylen]; yyval = yyvsp[1-yylen];
YY_REDUCE_PRINT (yyn); YY_REDUCE_PRINT (yyn);
switch (yyn) switch (yyn)
{ {
case 195: case 195:
#line 611 "src/p.y" #line 613 "src/p.y"
{ {
mailset.events = Event_All; mailset.events = Event_All;
addmail((yyvsp[-2].string), &mailset, &Run.maillist); addmail((yyvsp[-2].string), &mailset, &Run.maillist);
} }
#line 3458 "src/y.tab.c" #line 3513 "src/y.tab.c"
break; break;
case 196: case 196:
#line 615 "src/p.y" #line 617 "src/p.y"
{ {
addmail((yyvsp[-5].string), &mailset, &Run.maillist); addmail((yyvsp[-5].string), &mailset, &Run.maillist);
} }
#line 3466 "src/y.tab.c" #line 3521 "src/y.tab.c"
break; break;
case 197: case 197:
#line 618 "src/p.y" #line 620 "src/p.y"
{ {
mailset.events = ~mailset.events; mailset.events = ~mailset.events;
addmail((yyvsp[-6].string), &mailset, &Run.maillist); addmail((yyvsp[-6].string), &mailset, &Run.maillist);
} }
#line 3475 "src/y.tab.c" #line 3530 "src/y.tab.c"
break; break;
case 198: case 198:
#line 624 "src/p.y" #line 626 "src/p.y"
{ {
if (! (Run.flags & Run_Daemon) || ihp.daemon) { if (! (Run.flags & Run_Daemon) || ihp.daemon) {
ihp.daemon = true; ihp.daemon = true;
Run.flags |= Run_Daemon; Run.flags |= Run_Daemon;
Run.polltime = (yyvsp[-1].number); Run.polltime = (yyvsp[-1].number);
Run.startdelay = (yyvsp[0].number); Run.startdelay = (yyvsp[0].number);
} }
} }
#line 3488 "src/y.tab.c" #line 3543 "src/y.tab.c"
break; break;
case 199: case 199:
#line 634 "src/p.y" #line 636 "src/p.y"
{ {
Run.flags |= Run_Batch; Run.flags |= Run_Batch;
} }
#line 3496 "src/y.tab.c" #line 3551 "src/y.tab.c"
break; break;
case 200: case 200:
#line 639 "src/p.y" #line 641 "src/p.y"
{ {
(yyval.number) = 0; (yyval.number) = 0;
} }
#line 3504 "src/y.tab.c" #line 3559 "src/y.tab.c"
break; break;
case 201: case 201:
#line 642 "src/p.y" #line 644 "src/p.y"
{ {
(yyval.number) = (yyvsp[0].number); (yyval.number) = (yyvsp[0].number);
} }
#line 3512 "src/y.tab.c" #line 3567 "src/y.tab.c"
break; break;
case 202: case 202:
#line 647 "src/p.y" #line 649 "src/p.y"
{ {
Run.flags |= Run_Foreground; Run.flags |= Run_Foreground;
} }
#line 3520 "src/y.tab.c" #line 3575 "src/y.tab.c"
break; break;
case 203: case 203:
#line 652 "src/p.y" #line 654 "src/p.y"
{ {
Run.onreboot = Onreboot_Start; Run.onreboot = Onreboot_Start;
} }
#line 3528 "src/y.tab.c" #line 3583 "src/y.tab.c"
break; break;
case 204: case 204:
#line 655 "src/p.y" #line 657 "src/p.y"
{ {
Run.onreboot = Onreboot_Nostart; Run.onreboot = Onreboot_Nostart;
} }
#line 3536 "src/y.tab.c" #line 3591 "src/y.tab.c"
break; break;
case 205: case 205:
#line 658 "src/p.y" #line 660 "src/p.y"
{ {
Run.onreboot = Onreboot_Laststate; Run.onreboot = Onreboot_Laststate;
} }
#line 3544 "src/y.tab.c" #line 3599 "src/y.tab.c"
break; break;
case 206: case 206:
#line 663 "src/p.y" #line 665 "src/p.y"
{ {
// Note: deprecated (replaced by "set limits" statement' s "sendExpectBuffer" option) // Note: deprecated (replaced by "set limits" statement' s "sendExpectBuffer" option)
Run.limits.sendExpectBuffer = (yyvsp[-1].number) * (yyvs p[0].number); Run.limits.sendExpectBuffer = (yyvsp[-1].number) * (yyvs p[0].number);
} }
#line 3553 "src/y.tab.c" #line 3608 "src/y.tab.c"
break; break;
case 210: case 210:
#line 676 "src/p.y" #line 678 "src/p.y"
{ {
Run.limits.sendExpectBuffer = (yyvsp[-1].number) * (yyvs p[0].number); Run.limits.sendExpectBuffer = (yyvsp[-1].number) * (yyvs p[0].number);
} }
#line 3561 "src/y.tab.c" #line 3616 "src/y.tab.c"
break; break;
case 211: case 211:
#line 679 "src/p.y" #line 681 "src/p.y"
{ {
Run.limits.fileContentBuffer = (yyvsp[-1].number) * (yyv sp[0].number); Run.limits.fileContentBuffer = (yyvsp[-1].number) * (yyv sp[0].number);
} }
#line 3569 "src/y.tab.c" #line 3624 "src/y.tab.c"
break; break;
case 212: case 212:
#line 682 "src/p.y" #line 684 "src/p.y"
{ {
Run.limits.httpContentBuffer = (yyvsp[-1].number) * (yyv sp[0].number); Run.limits.httpContentBuffer = (yyvsp[-1].number) * (yyv sp[0].number);
} }
#line 3577 "src/y.tab.c" #line 3632 "src/y.tab.c"
break; break;
case 213: case 213:
#line 685 "src/p.y" #line 687 "src/p.y"
{ {
Run.limits.programOutput = (yyvsp[-1].number) * (yyvsp[0 ].number); Run.limits.programOutput = (yyvsp[-1].number) * (yyvsp[0 ].number);
} }
#line 3585 "src/y.tab.c" #line 3640 "src/y.tab.c"
break; break;
case 214: case 214:
#line 688 "src/p.y" #line 690 "src/p.y"
{ {
Run.limits.networkTimeout = (yyvsp[-1].number); Run.limits.networkTimeout = (yyvsp[-1].number);
} }
#line 3593 "src/y.tab.c" #line 3648 "src/y.tab.c"
break; break;
case 215: case 215:
#line 691 "src/p.y" #line 693 "src/p.y"
{ {
Run.limits.networkTimeout = (yyvsp[-1].number) * 1000; Run.limits.networkTimeout = (yyvsp[-1].number) * 1000;
} }
#line 3601 "src/y.tab.c" #line 3656 "src/y.tab.c"
break; break;
case 216: case 216:
#line 694 "src/p.y" #line 696 "src/p.y"
{ {
Run.limits.programTimeout = (yyvsp[-1].number); Run.limits.programTimeout = (yyvsp[-1].number);
} }
#line 3609 "src/y.tab.c" #line 3664 "src/y.tab.c"
break; break;
case 217: case 217:
#line 697 "src/p.y" #line 699 "src/p.y"
{ {
Run.limits.programTimeout = (yyvsp[-1].number) * 1000; Run.limits.programTimeout = (yyvsp[-1].number) * 1000;
} }
#line 3617 "src/y.tab.c" #line 3672 "src/y.tab.c"
break; break;
case 218: case 218:
#line 700 "src/p.y" #line 702 "src/p.y"
{ {
Run.limits.stopTimeout = (yyvsp[-1].number); Run.limits.stopTimeout = (yyvsp[-1].number);
} }
#line 3625 "src/y.tab.c" #line 3680 "src/y.tab.c"
break; break;
case 219: case 219:
#line 703 "src/p.y" #line 705 "src/p.y"
{ {
Run.limits.stopTimeout = (yyvsp[-1].number) * 1000; Run.limits.stopTimeout = (yyvsp[-1].number) * 1000;
} }
#line 3633 "src/y.tab.c" #line 3688 "src/y.tab.c"
break; break;
case 220: case 220:
#line 706 "src/p.y" #line 708 "src/p.y"
{ {
Run.limits.startTimeout = (yyvsp[-1].number); Run.limits.startTimeout = (yyvsp[-1].number);
} }
#line 3641 "src/y.tab.c" #line 3696 "src/y.tab.c"
break; break;
case 221: case 221:
#line 709 "src/p.y" #line 711 "src/p.y"
{ {
Run.limits.startTimeout = (yyvsp[-1].number) * 1000; Run.limits.startTimeout = (yyvsp[-1].number) * 1000;
} }
#line 3649 "src/y.tab.c" #line 3704 "src/y.tab.c"
break; break;
case 222: case 222:
#line 712 "src/p.y" #line 714 "src/p.y"
{ {
Run.limits.restartTimeout = (yyvsp[-1].number); Run.limits.restartTimeout = (yyvsp[-1].number);
} }
#line 3657 "src/y.tab.c" #line 3712 "src/y.tab.c"
break; break;
case 223: case 223:
#line 715 "src/p.y" #line 717 "src/p.y"
{ {
Run.limits.restartTimeout = (yyvsp[-1].number) * 1000; Run.limits.restartTimeout = (yyvsp[-1].number) * 1000;
} }
#line 3665 "src/y.tab.c" #line 3720 "src/y.tab.c"
break; break;
case 224: case 224:
#line 720 "src/p.y" #line 722 "src/p.y"
{ {
Run.flags |= Run_FipsEnabled; Run.flags |= Run_FipsEnabled;
} }
#line 3673 "src/y.tab.c" #line 3728 "src/y.tab.c"
break; break;
case 225: case 225:
#line 725 "src/p.y" #line 727 "src/p.y"
{ {
if (! Run.files.log || ihp.logfile) { if (! Run.files.log || ihp.logfile) {
ihp.logfile = true; ihp.logfile = true;
setlogfile((yyvsp[0].string)); setlogfile((yyvsp[0].string));
Run.flags &= ~Run_UseSyslog; Run.flags &= ~Run_UseSyslog;
Run.flags |= Run_Log; Run.flags |= Run_Log;
} }
} }
#line 3686 "src/y.tab.c" #line 3741 "src/y.tab.c"
break; break;
case 226: case 226:
#line 733 "src/p.y" #line 735 "src/p.y"
{ {
setsyslog(NULL); setsyslog(NULL);
} }
#line 3694 "src/y.tab.c" #line 3749 "src/y.tab.c"
break; break;
case 227: case 227:
#line 736 "src/p.y" #line 738 "src/p.y"
{ {
setsyslog((yyvsp[0].string)); FREE((yyvsp[0].string)); setsyslog((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 3702 "src/y.tab.c" #line 3757 "src/y.tab.c"
break; break;
case 228: case 228:
#line 741 "src/p.y" #line 743 "src/p.y"
{ {
Run.eventlist_dir = (yyvsp[0].string); Run.eventlist_dir = (yyvsp[0].string);
} }
#line 3710 "src/y.tab.c" #line 3765 "src/y.tab.c"
break; break;
case 229: case 229:
#line 744 "src/p.y" #line 746 "src/p.y"
{ {
Run.eventlist_dir = (yyvsp[-2].string); Run.eventlist_dir = (yyvsp[-2].string);
Run.eventlist_slots = (yyvsp[0].number); Run.eventlist_slots = (yyvsp[0].number);
} }
#line 3719 "src/y.tab.c" #line 3774 "src/y.tab.c"
break; break;
case 230: case 230:
#line 748 "src/p.y" #line 750 "src/p.y"
{ {
Run.eventlist_dir = Str_dup(MYEVENTLISTBASE); Run.eventlist_dir = Str_dup(MYEVENTLISTBASE);
Run.eventlist_slots = (yyvsp[0].number); Run.eventlist_slots = (yyvsp[0].number);
} }
#line 3728 "src/y.tab.c" #line 3783 "src/y.tab.c"
break; break;
case 231: case 231:
#line 754 "src/p.y" #line 756 "src/p.y"
{ {
Run.files.id = (yyvsp[0].string); Run.files.id = (yyvsp[0].string);
} }
#line 3736 "src/y.tab.c" #line 3791 "src/y.tab.c"
break; break;
case 232: case 232:
#line 759 "src/p.y" #line 761 "src/p.y"
{ {
Run.files.state = (yyvsp[0].string); Run.files.state = (yyvsp[0].string);
} }
#line 3744 "src/y.tab.c" #line 3799 "src/y.tab.c"
break; break;
case 233: case 233:
#line 764 "src/p.y" #line 766 "src/p.y"
{ {
if (! Run.files.pid || ihp.pidfile) { if (! Run.files.pid || ihp.pidfile) {
ihp.pidfile = true; ihp.pidfile = true;
setpidfile((yyvsp[0].string)); setpidfile((yyvsp[0].string));
} }
} }
#line 3755 "src/y.tab.c" #line 3810 "src/y.tab.c"
break; break;
case 237: case 237:
#line 779 "src/p.y" #line 781 "src/p.y"
{ {
mmonitset.url = (yyvsp[-1].url); mmonitset.url = (yyvsp[-1].url);
addmmonit(&mmonitset); addmmonit(&mmonitset);
} }
#line 3764 "src/y.tab.c" #line 3819 "src/y.tab.c"
break; break;
case 240: case 240:
#line 789 "src/p.y" #line 791 "src/p.y"
{ {
mmonitset.timeout = (yyvsp[-1].number) * 1000; // net ti meout is in milliseconds internally mmonitset.timeout = (yyvsp[-1].number) * 1000; // net ti meout is in milliseconds internally
} }
#line 3772 "src/y.tab.c" #line 3827 "src/y.tab.c"
break; break;
case 246: case 246:
#line 799 "src/p.y" #line 801 "src/p.y"
{ {
Run.flags &= ~Run_MmonitCredentials; Run.flags &= ~Run_MmonitCredentials;
} }
#line 3780 "src/y.tab.c" #line 3835 "src/y.tab.c"
break; break;
case 247: case 247:
#line 804 "src/p.y" #line 806 "src/p.y"
{ {
_setSSLOptions(&(Run.ssl)); _setSSLOptions(&(Run.ssl));
} }
#line 3788 "src/y.tab.c" #line 3843 "src/y.tab.c"
break; break;
case 248: case 248:
#line 809 "src/p.y" #line 811 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
} }
#line 3796 "src/y.tab.c" #line 3851 "src/y.tab.c"
break; break;
case 252: case 252:
#line 819 "src/p.y" #line 821 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
sslset.verify = true; sslset.verify = true;
} }
#line 3805 "src/y.tab.c" #line 3860 "src/y.tab.c"
break; break;
case 253: case 253:
#line 823 "src/p.y" #line 825 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
sslset.verify = false; sslset.verify = false;
} }
#line 3814 "src/y.tab.c" #line 3869 "src/y.tab.c"
break; break;
case 254: case 254:
#line 827 "src/p.y" #line 829 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
sslset.allowSelfSigned = true; sslset.allowSelfSigned = true;
} }
#line 3823 "src/y.tab.c" #line 3878 "src/y.tab.c"
break; break;
case 255: case 255:
#line 831 "src/p.y" #line 833 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
sslset.allowSelfSigned = false; sslset.allowSelfSigned = false;
} }
#line 3832 "src/y.tab.c" #line 3887 "src/y.tab.c"
break; break;
case 256: case 256:
#line 835 "src/p.y" #line 837 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
} }
#line 3840 "src/y.tab.c" #line 3895 "src/y.tab.c"
break; break;
case 257: case 257:
#line 838 "src/p.y" #line 840 "src/p.y"
{ {
FREE(sslset.ciphers); FREE(sslset.ciphers);
sslset.ciphers = (yyvsp[0].string); sslset.ciphers = (yyvsp[0].string);
} }
#line 3849 "src/y.tab.c" #line 3904 "src/y.tab.c"
break; break;
case 258: case 258:
#line 842 "src/p.y" #line 844 "src/p.y"
{ {
_setPEM(&(sslset.pemfile), (yyvsp[0].string), "SSL serve r PEM file", true); _setPEM(&(sslset.pemfile), (yyvsp[0].string), "SSL serve r PEM file", true);
} }
#line 3857 "src/y.tab.c" #line 3912 "src/y.tab.c"
break; break;
case 259: case 259:
#line 845 "src/p.y" #line 847 "src/p.y"
{ {
_setPEM(&(sslset.pemchain), (yyvsp[0].string), "SSL cert ificate chain PEM file", true); _setPEM(&(sslset.pemchain), (yyvsp[0].string), "SSL cert ificate chain PEM file", true);
} }
#line 3865 "src/y.tab.c" #line 3920 "src/y.tab.c"
break; break;
case 260: case 260:
#line 848 "src/p.y" #line 850 "src/p.y"
{ {
_setPEM(&(sslset.pemkey), (yyvsp[0].string), "SSL server private key PEM file", true); _setPEM(&(sslset.pemkey), (yyvsp[0].string), "SSL server private key PEM file", true);
} }
#line 3873 "src/y.tab.c" #line 3928 "src/y.tab.c"
break; break;
case 261: case 261:
#line 851 "src/p.y" #line 853 "src/p.y"
{ {
_setPEM(&(sslset.clientpemfile), (yyvsp[0].string), "SSL client PEM file", true); _setPEM(&(sslset.clientpemfile), (yyvsp[0].string), "SSL client PEM file", true);
} }
#line 3881 "src/y.tab.c" #line 3936 "src/y.tab.c"
break; break;
case 262: case 262:
#line 854 "src/p.y" #line 856 "src/p.y"
{ {
_setPEM(&(sslset.CACertificateFile), (yyvsp[0].string), "SSL CA certificates file", true); _setPEM(&(sslset.CACertificateFile), (yyvsp[0].string), "SSL CA certificates file", true);
} }
#line 3889 "src/y.tab.c" #line 3944 "src/y.tab.c"
break; break;
case 263: case 263:
#line 857 "src/p.y" #line 859 "src/p.y"
{ {
_setPEM(&(sslset.CACertificatePath), (yyvsp[0].string), "SSL CA certificates directory", false); _setPEM(&(sslset.CACertificatePath), (yyvsp[0].string), "SSL CA certificates directory", false);
} }
#line 3897 "src/y.tab.c" #line 3952 "src/y.tab.c"
break; break;
case 264: case 264:
#line 862 "src/p.y" #line 864 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
portset.target.net.ssl.certificate.minimumDays = (yyvsp[ -1].number); portset.target.net.ssl.certificate.minimumDays = (yyvsp[ -1].number);
} }
#line 3906 "src/y.tab.c" #line 3961 "src/y.tab.c"
break; break;
case 267: case 267:
#line 872 "src/p.y" #line 874 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
sslset.checksum = (yyvsp[0].string); sslset.checksum = (yyvsp[0].string);
switch (cleanup_hash_string(sslset.checksum)) { switch (cleanup_hash_string(sslset.checksum)) {
case 32: case 32:
sslset.checksumType = Hash_Md5; sslset.checksumType = Hash_Md5;
break; break;
case 40: case 40:
sslset.checksumType = Hash_Sha1; sslset.checksumType = Hash_Sha1;
break; break;
default: default:
yyerror2("Unknown checksum type: [%s] is not MD5 nor SHA1", sslset.checksum); yyerror2("Unknown checksum type: [%s] is not MD5 nor SHA1", sslset.checksum);
} }
} }
#line 3925 "src/y.tab.c" #line 3980 "src/y.tab.c"
break; break;
case 268: case 268:
#line 886 "src/p.y" #line 888 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
sslset.checksum = (yyvsp[0].string); sslset.checksum = (yyvsp[0].string);
if (cleanup_hash_string(sslset.checksum) != 32) if (cleanup_hash_string(sslset.checksum) != 32)
yyerror2("Unknown checksum type: [%s] is not MD5 ", sslset.checksum); yyerror2("Unknown checksum type: [%s] is not MD5 ", sslset.checksum);
sslset.checksumType = Hash_Md5; sslset.checksumType = Hash_Md5;
} }
#line 3937 "src/y.tab.c" #line 3992 "src/y.tab.c"
break; break;
case 269: case 269:
#line 893 "src/p.y" #line 895 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
sslset.checksum = (yyvsp[0].string); sslset.checksum = (yyvsp[0].string);
if (cleanup_hash_string(sslset.checksum) != 40) if (cleanup_hash_string(sslset.checksum) != 40)
yyerror2("Unknown checksum type: [%s] is not SHA 1", sslset.checksum); yyerror2("Unknown checksum type: [%s] is not SHA 1", sslset.checksum);
sslset.checksumType = Hash_Sha1; sslset.checksumType = Hash_Sha1;
} }
#line 3949 "src/y.tab.c" #line 4004 "src/y.tab.c"
break; break;
case 274: case 274:
#line 910 "src/p.y" #line 912 "src/p.y"
{ {
#if defined OPENSSL_NO_SSL2 || ! defined HAVE_SSLV2 || ! defined HAVE_OPENSSL #if defined OPENSSL_NO_SSL2 || ! defined HAVE_SSLV2 || ! defined HAVE_OPENSSL
yyerror("Your SSL Library does not support SSL version 2 "); yyerror("Your SSL Library does not support SSL version 2 ");
#else #else
_setSSLVersion(SSL_V2); _setSSLVersion(SSL_V2);
#endif #endif
} }
#line 3961 "src/y.tab.c" #line 4016 "src/y.tab.c"
break; break;
case 275: case 275:
#line 917 "src/p.y" #line 919 "src/p.y"
{ {
_unsetSSLVersion(SSL_V2); _unsetSSLVersion(SSL_V2);
} }
#line 3969 "src/y.tab.c" #line 4024 "src/y.tab.c"
break; break;
case 276: case 276:
#line 920 "src/p.y" #line 922 "src/p.y"
{ {
#if defined OPENSSL_NO_SSL3 || ! defined HAVE_OPENSSL #if defined OPENSSL_NO_SSL3 || ! defined HAVE_OPENSSL
yyerror("Your SSL Library does not support SSL version 3 "); yyerror("Your SSL Library does not support SSL version 3 ");
#else #else
_setSSLVersion(SSL_V3); _setSSLVersion(SSL_V3);
#endif #endif
} }
#line 3981 "src/y.tab.c" #line 4036 "src/y.tab.c"
break; break;
case 277: case 277:
#line 927 "src/p.y" #line 929 "src/p.y"
{ {
_unsetSSLVersion(SSL_V3); _unsetSSLVersion(SSL_V3);
} }
#line 3989 "src/y.tab.c" #line 4044 "src/y.tab.c"
break; break;
case 278: case 278:
#line 930 "src/p.y" #line 932 "src/p.y"
{ {
#if defined OPENSSL_NO_TLS1_METHOD || ! defined HAVE_OPENSSL #if defined OPENSSL_NO_TLS1_METHOD || ! defined HAVE_OPENSSL
yyerror("Your SSL Library does not support TLS version 1 .0"); yyerror("Your SSL Library does not support TLS version 1 .0");
#else #else
_setSSLVersion(SSL_TLSV1); _setSSLVersion(SSL_TLSV1);
#endif #endif
} }
#line 4001 "src/y.tab.c" #line 4056 "src/y.tab.c"
break; break;
case 279: case 279:
#line 937 "src/p.y" #line 939 "src/p.y"
{ {
_unsetSSLVersion(SSL_TLSV1); _unsetSSLVersion(SSL_TLSV1);
} }
#line 4009 "src/y.tab.c" #line 4064 "src/y.tab.c"
break; break;
case 280: case 280:
#line 940 "src/p.y" #line 942 "src/p.y"
{ {
#if defined OPENSSL_NO_TLS1_1_METHOD || ! defined HAVE_TLSV1_1 || ! defined HAVE _OPENSSL #if defined OPENSSL_NO_TLS1_1_METHOD || ! defined HAVE_TLSV1_1 || ! defined HAVE _OPENSSL
yyerror("Your SSL Library does not support TLS version 1 .1"); yyerror("Your SSL Library does not support TLS version 1 .1");
#else #else
_setSSLVersion(SSL_TLSV11); _setSSLVersion(SSL_TLSV11);
#endif #endif
} }
#line 4021 "src/y.tab.c" #line 4076 "src/y.tab.c"
break; break;
case 281: case 281:
#line 947 "src/p.y" #line 949 "src/p.y"
{ {
_unsetSSLVersion(SSL_TLSV11); _unsetSSLVersion(SSL_TLSV11);
} }
#line 4029 "src/y.tab.c" #line 4084 "src/y.tab.c"
break; break;
case 282: case 282:
#line 950 "src/p.y" #line 952 "src/p.y"
{ {
#if defined OPENSSL_NO_TLS1_2_METHOD || ! defined HAVE_TLSV1_2 || ! defined HAVE _OPENSSL #if defined OPENSSL_NO_TLS1_2_METHOD || ! defined HAVE_TLSV1_2 || ! defined HAVE _OPENSSL
yyerror("Your SSL Library does not support TLS version 1 .2"); yyerror("Your SSL Library does not support TLS version 1 .2");
#else #else
_setSSLVersion(SSL_TLSV12); _setSSLVersion(SSL_TLSV12);
#endif #endif
} }
#line 4041 "src/y.tab.c" #line 4096 "src/y.tab.c"
break; break;
case 283: case 283:
#line 957 "src/p.y" #line 959 "src/p.y"
{ {
_unsetSSLVersion(SSL_TLSV12); _unsetSSLVersion(SSL_TLSV12);
} }
#line 4049 "src/y.tab.c" #line 4104 "src/y.tab.c"
break; break;
case 284: case 284:
#line 960 "src/p.y" #line 962 "src/p.y"
{ {
#if defined OPENSSL_NO_TLS1_3_METHOD || ! defined HAVE_TLSV1_3 || ! defined HAVE _OPENSSL #if defined OPENSSL_NO_TLS1_3_METHOD || ! defined HAVE_TLSV1_3 || ! defined HAVE _OPENSSL
yyerror("Your SSL Library does not support TLS version 1 .3"); yyerror("Your SSL Library does not support TLS version 1 .3");
#else #else
_setSSLVersion(SSL_TLSV13); _setSSLVersion(SSL_TLSV13);
#endif #endif
} }
#line 4061 "src/y.tab.c" #line 4116 "src/y.tab.c"
break; break;
case 285: case 285:
#line 967 "src/p.y" #line 969 "src/p.y"
{ {
_unsetSSLVersion(SSL_TLSV13); _unsetSSLVersion(SSL_TLSV13);
} }
#line 4069 "src/y.tab.c" #line 4124 "src/y.tab.c"
break; break;
case 286: case 286:
#line 970 "src/p.y" #line 972 "src/p.y"
{ {
// Enable just TLS 1.2 and 1.3 by default // Enable just TLS 1.2 and 1.3 by default
#if ! defined OPENSSL_NO_TLS1_2_METHOD && defined HAVE_TLSV1_2 && defined HAVE_O PENSSL #if ! defined OPENSSL_NO_TLS1_2_METHOD && defined HAVE_TLSV1_2 && defined HAVE_O PENSSL
_setSSLVersion(SSL_TLSV12); _setSSLVersion(SSL_TLSV12);
#endif #endif
#if ! defined OPENSSL_NO_TLS1_3_METHOD && defined HAVE_TLSV1_3 && defined HAVE_O PENSSL #if ! defined OPENSSL_NO_TLS1_3_METHOD && defined HAVE_TLSV1_3 && defined HAVE_O PENSSL
_setSSLVersion(SSL_TLSV13); _setSSLVersion(SSL_TLSV13);
#endif #endif
} }
#line 4083 "src/y.tab.c" #line 4138 "src/y.tab.c"
break; break;
case 287: case 287:
#line 981 "src/p.y" #line 983 "src/p.y"
{ // Backward compatibility { // Backward compatibility
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
sslset.checksum = (yyvsp[0].string); sslset.checksum = (yyvsp[0].string);
if (cleanup_hash_string(sslset.checksum) != 32) if (cleanup_hash_string(sslset.checksum) != 32)
yyerror2("Unknown checksum type: [%s] is not MD5 ", sslset.checksum); yyerror2("Unknown checksum type: [%s] is not MD5 ", sslset.checksum);
sslset.checksumType = Hash_Md5; sslset.checksumType = Hash_Md5;
} }
#line 4095 "src/y.tab.c" #line 4150 "src/y.tab.c"
break; break;
case 288: case 288:
#line 990 "src/p.y" #line 992 "src/p.y"
{ {
if (((yyvsp[-1].number)) > SMTP_TIMEOUT) if (((yyvsp[-1].number)) > SMTP_TIMEOUT)
Run.mailserver_timeout = (yyvsp[-1].number); Run.mailserver_timeout = (yyvsp[-1].number);
Run.mail_hostname = (yyvsp[0].string); Run.mail_hostname = (yyvsp[0].string);
} }
#line 4105 "src/y.tab.c" #line 4160 "src/y.tab.c"
break; break;
case 289: case 289:
#line 997 "src/p.y" #line 999 "src/p.y"
{ {
if (mailset.from) { if (mailset.from) {
Run.MailFormat.from = mailset.from; Run.MailFormat.from = mailset.from;
} else { } else {
Run.MailFormat.from = Address_new(); Run.MailFormat.from = Address_new();
Run.MailFormat.from->address = Str_dup(ALERT_FRO M); Run.MailFormat.from->address = Str_dup(ALERT_FRO M);
} }
if (mailset.replyto) if (mailset.replyto)
Run.MailFormat.replyto = mailset.replyto; Run.MailFormat.replyto = mailset.replyto;
Run.MailFormat.subject = mailset.subject ? mailset.subj ect : Str_dup(ALERT_SUBJECT); Run.MailFormat.subject = mailset.subject ? mailset.subj ect : Str_dup(ALERT_SUBJECT);
Run.MailFormat.message = mailset.message ? mailset.mess age : Str_dup(ALERT_MESSAGE); Run.MailFormat.message = mailset.message ? mailset.mess age : Str_dup(ALERT_MESSAGE);
reset_mailset(); reset_mailset();
} }
#line 4123 "src/y.tab.c" #line 4178 "src/y.tab.c"
break; break;
case 292: case 292:
#line 1016 "src/p.y" #line 1018 "src/p.y"
{ {
/* Restore the current text overridden by lookahead */ /* Restore the current text overridden by lookahead */
FREE(argyytext); FREE(argyytext);
argyytext = Str_dup((yyvsp[-1].string)); argyytext = Str_dup((yyvsp[-1].string));
mailserverset.host = (yyvsp[-1].string); mailserverset.host = (yyvsp[-1].string);
mailserverset.port = PORT_SMTP; mailserverset.port = PORT_SMTP;
addmailserver(&mailserverset); addmailserver(&mailserverset);
} }
#line 4137 "src/y.tab.c" #line 4192 "src/y.tab.c"
break; break;
case 293: case 293:
#line 1025 "src/p.y" #line 1027 "src/p.y"
{ {
/* Restore the current text overridden by lookahead */ /* Restore the current text overridden by lookahead */
FREE(argyytext); FREE(argyytext);
argyytext = Str_dup((yyvsp[-3].string)); argyytext = Str_dup((yyvsp[-3].string));
mailserverset.host = (yyvsp[-3].string); mailserverset.host = (yyvsp[-3].string);
mailserverset.port = (yyvsp[-1].number); mailserverset.port = (yyvsp[-1].number);
addmailserver(&mailserverset); addmailserver(&mailserverset);
} }
#line 4151 "src/y.tab.c" #line 4206 "src/y.tab.c"
break; break;
case 296: case 296:
#line 1040 "src/p.y" #line 1042 "src/p.y"
{ {
mailserverset.username = (yyvsp[0].string); mailserverset.username = (yyvsp[0].string);
} }
#line 4159 "src/y.tab.c" #line 4214 "src/y.tab.c"
break; break;
case 297: case 297:
#line 1043 "src/p.y" #line 1045 "src/p.y"
{ {
mailserverset.password = (yyvsp[0].string); mailserverset.password = (yyvsp[0].string);
} }
#line 4167 "src/y.tab.c" #line 4222 "src/y.tab.c"
break; break;
case 302: case 302:
#line 1052 "src/p.y" #line 1054 "src/p.y"
{ {
if (sslset.flags & SSL_Enabled) { if (sslset.flags & SSL_Enabled) {
#ifdef HAVE_OPENSSL #ifdef HAVE_OPENSSL
if (sslset.pemfile) { if (sslset.pemfile) {
if (sslset.pemchain || sslset.pemkey) { if (sslset.pemchain || sslset.pemkey) {
yyerror("SSL server option pemfi le and pemchain|pemkey are mutually exclusive"); yyerror("SSL server option pemfi le and pemchain|pemkey are mutually exclusive");
} else if (! file_checkStat(sslset.pemfi le, "SSL server PEM file", S_IRWXU)) { } else if (! file_checkStat(sslset.pemfi le, "SSL server PEM file", S_IRWXU)) {
yyerror("SSL server PEM file per missions check failed"); yyerror("SSL server PEM file per missions check failed");
} else { } else {
_setSSLOptions(&(Run.httpd.socke t.net.ssl)); _setSSLOptions(&(Run.httpd.socke t.net.ssl));
skipping to change at line 4162 skipping to change at line 4217
_setSSLOptions(&(Run.httpd.socke t.net.ssl)); _setSSLOptions(&(Run.httpd.socke t.net.ssl));
} }
} else { } else {
yyerror("SSL server PEM file is required (please use ssl pemfile option)"); yyerror("SSL server PEM file is required (please use ssl pemfile option)");
} }
#else #else
yyerror("SSL is not supported"); yyerror("SSL is not supported");
#endif #endif
} }
} }
#line 4197 "src/y.tab.c" #line 4252 "src/y.tab.c"
break; break;
case 314: case 314:
#line 1095 "src/p.y" #line 1097 "src/p.y"
{ {
_setPEM(&(sslset.pemfile), (yyvsp[0].string), "SSL serve r PEM file", true); _setPEM(&(sslset.pemfile), (yyvsp[0].string), "SSL serve r PEM file", true);
} }
#line 4205 "src/y.tab.c" #line 4260 "src/y.tab.c"
break; break;
case 315: case 315:
#line 1101 "src/p.y" #line 1103 "src/p.y"
{ {
_setPEM(&(sslset.clientpemfile), (yyvsp[0].string), "SSL client PEM file", true); _setPEM(&(sslset.clientpemfile), (yyvsp[0].string), "SSL client PEM file", true);
} }
#line 4213 "src/y.tab.c" #line 4268 "src/y.tab.c"
break; break;
case 316: case 316:
#line 1107 "src/p.y" #line 1109 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
sslset.allowSelfSigned = true; sslset.allowSelfSigned = true;
} }
#line 4222 "src/y.tab.c" #line 4277 "src/y.tab.c"
break; break;
case 317: case 317:
#line 1113 "src/p.y" #line 1115 "src/p.y"
{ {
Run.httpd.flags |= Httpd_Net; Run.httpd.flags |= Httpd_Net;
Run.httpd.socket.net.port = (yyvsp[0].number); Run.httpd.socket.net.port = (yyvsp[0].number);
} }
#line 4231 "src/y.tab.c" #line 4286 "src/y.tab.c"
break; break;
case 318: case 318:
#line 1119 "src/p.y" #line 1121 "src/p.y"
{ {
Run.httpd.flags |= Httpd_Unix; Run.httpd.flags |= Httpd_Unix;
Run.httpd.socket.unix.path = (yyvsp[-1].string); Run.httpd.socket.unix.path = (yyvsp[-1].string);
} }
#line 4240 "src/y.tab.c" #line 4295 "src/y.tab.c"
break; break;
case 321: case 321:
#line 1129 "src/p.y" #line 1131 "src/p.y"
{ {
Run.httpd.flags |= Httpd_UnixUid; Run.httpd.flags |= Httpd_UnixUid;
Run.httpd.socket.unix.uid = get_uid((yyvsp[0].string), 0 ); Run.httpd.socket.unix.uid = get_uid((yyvsp[0].string), 0 );
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 4250 "src/y.tab.c" #line 4305 "src/y.tab.c"
break; break;
case 322: case 322:
#line 1134 "src/p.y" #line 1136 "src/p.y"
{ {
Run.httpd.flags |= Httpd_UnixGid; Run.httpd.flags |= Httpd_UnixGid;
Run.httpd.socket.unix.gid = get_gid((yyvsp[0].string), 0 ); Run.httpd.socket.unix.gid = get_gid((yyvsp[0].string), 0 );
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 4260 "src/y.tab.c" #line 4315 "src/y.tab.c"
break; break;
case 323: case 323:
#line 1139 "src/p.y" #line 1141 "src/p.y"
{ {
Run.httpd.flags |= Httpd_UnixUid; Run.httpd.flags |= Httpd_UnixUid;
Run.httpd.socket.unix.uid = get_uid(NULL, (yyvsp[0].numb er)); Run.httpd.socket.unix.uid = get_uid(NULL, (yyvsp[0].numb er));
} }
#line 4269 "src/y.tab.c" #line 4324 "src/y.tab.c"
break; break;
case 324: case 324:
#line 1143 "src/p.y" #line 1145 "src/p.y"
{ {
Run.httpd.flags |= Httpd_UnixGid; Run.httpd.flags |= Httpd_UnixGid;
Run.httpd.socket.unix.gid = get_gid(NULL, (yyvsp[0].numb er)); Run.httpd.socket.unix.gid = get_gid(NULL, (yyvsp[0].numb er));
} }
#line 4278 "src/y.tab.c" #line 4333 "src/y.tab.c"
break; break;
case 325: case 325:
#line 1147 "src/p.y" #line 1149 "src/p.y"
{ {
Run.httpd.flags |= Httpd_UnixPermission; Run.httpd.flags |= Httpd_UnixPermission;
Run.httpd.socket.unix.permission = check_perm((yyvsp[0]. number)); Run.httpd.socket.unix.permission = check_perm((yyvsp[0]. number));
} }
#line 4287 "src/y.tab.c" #line 4342 "src/y.tab.c"
break; break;
case 330: case 330:
#line 1161 "src/p.y" #line 1163 "src/p.y"
{ {
Run.httpd.flags |= Httpd_Signature; Run.httpd.flags |= Httpd_Signature;
} }
#line 4295 "src/y.tab.c" #line 4350 "src/y.tab.c"
break; break;
case 331: case 331:
#line 1164 "src/p.y" #line 1166 "src/p.y"
{ {
Run.httpd.flags &= ~Httpd_Signature; Run.httpd.flags &= ~Httpd_Signature;
} }
#line 4303 "src/y.tab.c" #line 4358 "src/y.tab.c"
break; break;
case 332: case 332:
#line 1169 "src/p.y" #line 1171 "src/p.y"
{ {
Run.httpd.socket.net.address = (yyvsp[0].string); Run.httpd.socket.net.address = (yyvsp[0].string);
} }
#line 4311 "src/y.tab.c" #line 4366 "src/y.tab.c"
break; break;
case 333: case 333:
#line 1174 "src/p.y" #line 1176 "src/p.y"
{ {
addcredentials((yyvsp[-3].string), (yyvsp[-1].string), D igest_Cleartext, (yyvsp[0].number)); addcredentials((yyvsp[-3].string), (yyvsp[-1].string), D igest_Cleartext, (yyvsp[0].number));
} }
#line 4319 "src/y.tab.c" #line 4374 "src/y.tab.c"
break; break;
case 334: case 334:
#line 1177 "src/p.y" #line 1179 "src/p.y"
{ {
#ifdef HAVE_LIBPAM #ifdef HAVE_LIBPAM
addpamauth((yyvsp[-1].string), (yyvsp[0].number)); addpamauth((yyvsp[-1].string), (yyvsp[0].number));
#else #else
yyerror("PAM is not supported"); yyerror("PAM is not supported");
FREE((yyvsp[-1].string)); FREE((yyvsp[-1].string));
#endif #endif
} }
#line 4332 "src/y.tab.c" #line 4387 "src/y.tab.c"
break; break;
case 335: case 335:
#line 1185 "src/p.y" #line 1187 "src/p.y"
{ {
addhtpasswdentry((yyvsp[0].string), NULL, Digest_Clearte xt); addhtpasswdentry((yyvsp[0].string), NULL, Digest_Clearte xt);
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 4341 "src/y.tab.c" #line 4396 "src/y.tab.c"
break; break;
case 336: case 336:
#line 1189 "src/p.y" #line 1191 "src/p.y"
{ {
addhtpasswdentry((yyvsp[0].string), NULL, Digest_Clearte xt); addhtpasswdentry((yyvsp[0].string), NULL, Digest_Clearte xt);
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 4350 "src/y.tab.c" #line 4405 "src/y.tab.c"
break; break;
case 337: case 337:
#line 1193 "src/p.y" #line 1195 "src/p.y"
{ {
addhtpasswdentry((yyvsp[0].string), NULL, Digest_Md5); addhtpasswdentry((yyvsp[0].string), NULL, Digest_Md5);
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 4359 "src/y.tab.c" #line 4414 "src/y.tab.c"
break; break;
case 338: case 338:
#line 1197 "src/p.y" #line 1199 "src/p.y"
{ {
addhtpasswdentry((yyvsp[0].string), NULL, Digest_Crypt); addhtpasswdentry((yyvsp[0].string), NULL, Digest_Crypt);
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 4368 "src/y.tab.c" #line 4423 "src/y.tab.c"
break; break;
case 339: case 339:
#line 1201 "src/p.y" #line 1203 "src/p.y"
{ {
htpasswd_file = (yyvsp[0].string); htpasswd_file = (yyvsp[0].string);
digesttype = Digest_Cleartext; digesttype = Digest_Cleartext;
} }
#line 4377 "src/y.tab.c" #line 4432 "src/y.tab.c"
break; break;
case 340: case 340:
#line 1205 "src/p.y" #line 1207 "src/p.y"
{ {
FREE(htpasswd_file); FREE(htpasswd_file);
} }
#line 4385 "src/y.tab.c" #line 4440 "src/y.tab.c"
break; break;
case 341: case 341:
#line 1208 "src/p.y" #line 1210 "src/p.y"
{ {
htpasswd_file = (yyvsp[0].string); htpasswd_file = (yyvsp[0].string);
digesttype = Digest_Cleartext; digesttype = Digest_Cleartext;
} }
#line 4394 "src/y.tab.c" #line 4449 "src/y.tab.c"
break; break;
case 342: case 342:
#line 1212 "src/p.y" #line 1214 "src/p.y"
{ {
FREE(htpasswd_file); FREE(htpasswd_file);
} }
#line 4402 "src/y.tab.c" #line 4457 "src/y.tab.c"
break; break;
case 343: case 343:
#line 1215 "src/p.y" #line 1217 "src/p.y"
{ {
htpasswd_file = (yyvsp[0].string); htpasswd_file = (yyvsp[0].string);
digesttype = Digest_Md5; digesttype = Digest_Md5;
} }
#line 4411 "src/y.tab.c" #line 4466 "src/y.tab.c"
break; break;
case 344: case 344:
#line 1219 "src/p.y" #line 1221 "src/p.y"
{ {
FREE(htpasswd_file); FREE(htpasswd_file);
} }
#line 4419 "src/y.tab.c" #line 4474 "src/y.tab.c"
break; break;
case 345: case 345:
#line 1222 "src/p.y" #line 1224 "src/p.y"
{ {
htpasswd_file = (yyvsp[0].string); htpasswd_file = (yyvsp[0].string);
digesttype = Digest_Crypt; digesttype = Digest_Crypt;
} }
#line 4428 "src/y.tab.c" #line 4483 "src/y.tab.c"
break; break;
case 346: case 346:
#line 1226 "src/p.y" #line 1228 "src/p.y"
{ {
FREE(htpasswd_file); FREE(htpasswd_file);
} }
#line 4436 "src/y.tab.c" #line 4491 "src/y.tab.c"
break; break;
case 347: case 347:
#line 1229 "src/p.y" #line 1231 "src/p.y"
{ {
if (! Engine_addAllow((yyvsp[0].string))) if (! Engine_addAllow((yyvsp[0].string)))
yywarning2("invalid allow option: %s", (yyvsp[0] .string)); yywarning2("invalid allow option: %s", (yyvsp[0] .string));
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 4446 "src/y.tab.c" #line 4501 "src/y.tab.c"
break; break;
case 350: case 350:
#line 1240 "src/p.y" #line 1242 "src/p.y"
{ {
addhtpasswdentry(htpasswd_file, (yyvsp[0].string), diges ttype); addhtpasswdentry(htpasswd_file, (yyvsp[0].string), diges ttype);
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 4455 "src/y.tab.c" #line 4510 "src/y.tab.c"
break; break;
case 351: case 351:
#line 1246 "src/p.y" #line 1248 "src/p.y"
{ {
(yyval.number) = false; (yyval.number) = false;
} }
#line 4463 "src/y.tab.c" #line 4518 "src/y.tab.c"
break; break;
case 352: case 352:
#line 1249 "src/p.y" #line 1251 "src/p.y"
{ {
(yyval.number) = true; (yyval.number) = true;
} }
#line 4471 "src/y.tab.c" #line 4526 "src/y.tab.c"
break; break;
case 353: case 353:
#line 1254 "src/p.y" #line 1256 "src/p.y"
{ {
createservice(Service_Process, (yyvsp[-2].string), (yyvs p[0].string), check_process); createservice(Service_Process, (yyvsp[-2].string), (yyvs p[0].string), check_process);
} }
#line 4479 "src/y.tab.c" #line 4534 "src/y.tab.c"
break; break;
case 354: case 354:
#line 1257 "src/p.y" #line 1259 "src/p.y"
{ {
createservice(Service_Process, (yyvsp[-2].string), (yyvs p[0].string), check_process); createservice(Service_Process, (yyvsp[-2].string), (yyvs p[0].string), check_process);
} }
#line 4487 "src/y.tab.c" #line 4542 "src/y.tab.c"
break; break;
case 355: case 355:
#line 1260 "src/p.y" #line 1262 "src/p.y"
{ {
createservice(Service_Process, (yyvsp[-2].string), (yyvs p[0].string), check_process); createservice(Service_Process, (yyvsp[-2].string), (yyvs p[0].string), check_process);
matchset.ignore = false; matchset.ignore = false;
matchset.match_path = NULL; matchset.match_path = NULL;
matchset.match_string = Str_dup((yyvsp[0].string)); matchset.match_string = Str_dup((yyvsp[0].string));
addmatch(&matchset, Action_Ignored, 0); addmatch(&matchset, Action_Ignored, 0);
} }
#line 4499 "src/y.tab.c" #line 4554 "src/y.tab.c"
break; break;
case 356: case 356:
#line 1267 "src/p.y" #line 1269 "src/p.y"
{ {
createservice(Service_Process, (yyvsp[-2].string), (yyvs p[0].string), check_process); createservice(Service_Process, (yyvsp[-2].string), (yyvs p[0].string), check_process);
matchset.ignore = false; matchset.ignore = false;
matchset.match_path = NULL; matchset.match_path = NULL;
matchset.match_string = Str_dup((yyvsp[0].string)); matchset.match_string = Str_dup((yyvsp[0].string));
addmatch(&matchset, Action_Ignored, 0); addmatch(&matchset, Action_Ignored, 0);
} }
#line 4511 "src/y.tab.c" #line 4566 "src/y.tab.c"
break; break;
case 357: case 357:
#line 1276 "src/p.y" #line 1278 "src/p.y"
{ {
createservice(Service_File, (yyvsp[-2].string), (yyvsp[0 ].string), check_file); createservice(Service_File, (yyvsp[-2].string), (yyvsp[0 ].string), check_file);
} }
#line 4519 "src/y.tab.c" #line 4574 "src/y.tab.c"
break; break;
case 358: case 358:
#line 1281 "src/p.y" #line 1283 "src/p.y"
{ {
createservice(Service_Filesystem, (yyvsp[-2].string), (y yvsp[0].string), check_filesystem); createservice(Service_Filesystem, (yyvsp[-2].string), (y yvsp[0].string), check_filesystem);
} }
#line 4527 "src/y.tab.c" #line 4582 "src/y.tab.c"
break; break;
case 359: case 359:
#line 1284 "src/p.y" #line 1286 "src/p.y"
{ {
createservice(Service_Filesystem, (yyvsp[-2].string), (y yvsp[0].string), check_filesystem); createservice(Service_Filesystem, (yyvsp[-2].string), (y yvsp[0].string), check_filesystem);
} }
#line 4535 "src/y.tab.c" #line 4590 "src/y.tab.c"
break; break;
case 360: case 360:
#line 1289 "src/p.y" #line 1291 "src/p.y"
{ {
createservice(Service_Directory, (yyvsp[-2].string), (yy vsp[0].string), check_directory); createservice(Service_Directory, (yyvsp[-2].string), (yy vsp[0].string), check_directory);
} }
#line 4543 "src/y.tab.c" #line 4598 "src/y.tab.c"
break; break;
case 361: case 361:
#line 1294 "src/p.y" #line 1296 "src/p.y"
{ {
createservice(Service_Host, (yyvsp[-2].string), (yyvsp[0 ].string), check_remote_host); createservice(Service_Host, (yyvsp[-2].string), (yyvsp[0 ].string), check_remote_host);
} }
#line 4551 "src/y.tab.c" #line 4606 "src/y.tab.c"
break; break;
case 362: case 362:
#line 1299 "src/p.y" #line 1301 "src/p.y"
{ {
if (Link_isGetByAddressSupported()) { if (Link_isGetByAddressSupported()) {
createservice(Service_Net, (yyvsp[-2].string), ( yyvsp[0].string), check_net); createservice(Service_Net, (yyvsp[-2].string), ( yyvsp[0].string), check_net);
current->inf.net->stats = Link_createForAddress( (yyvsp[0].string)); current->inf.net->stats = Link_createForAddress( (yyvsp[0].string));
} else { } else {
yyerror("Network monitoring by IP address is not supported on this platform, please use 'check network <foo> with interface <bar >' instead"); yyerror("Network monitoring by IP address is not supported on this platform, please use 'check network <foo> with interface <bar >' instead");
} }
} }
#line 4564 "src/y.tab.c" #line 4619 "src/y.tab.c"
break; break;
case 363: case 363:
#line 1307 "src/p.y" #line 1309 "src/p.y"
{ {
createservice(Service_Net, (yyvsp[-2].string), (yyvsp[0] .string), check_net); createservice(Service_Net, (yyvsp[-2].string), (yyvsp[0] .string), check_net);
current->inf.net->stats = Link_createForInterface((yyvsp [0].string)); current->inf.net->stats = Link_createForInterface((yyvsp [0].string));
} }
#line 4573 "src/y.tab.c" #line 4628 "src/y.tab.c"
break; break;
case 364: case 364:
#line 1313 "src/p.y" #line 1315 "src/p.y"
{ {
char *servicename = (yyvsp[0].string); char *servicename = (yyvsp[0].string);
if (Str_sub(servicename, "$HOST")) { if (Str_sub(servicename, "$HOST")) {
char hostname[STRLEN]; char hostname[STRLEN];
if (gethostname(hostname, sizeof(hostname))) { if (gethostname(hostname, sizeof(hostname))) {
Log_error("System hostname error -- %s\n ", STRERROR); Log_error("System hostname error -- %s\n ", STRERROR);
cfg_errflag++; cfg_errflag++;
} else { } else {
Util_replaceString(&servicename, "$HOST" , hostname); Util_replaceString(&servicename, "$HOST" , hostname);
} }
} }
Run.system = createservice(Service_System, servicename, NULL, check_system); // The name given in the 'check system' statement overrides system hostname Run.system = createservice(Service_System, servicename, NULL, check_system); // The name given in the 'check system' statement overrides system hostname
} }
#line 4591 "src/y.tab.c" #line 4646 "src/y.tab.c"
break; break;
case 365: case 365:
#line 1328 "src/p.y" #line 1330 "src/p.y"
{ {
createservice(Service_Fifo, (yyvsp[-2].string), (yyvsp[0 ].string), check_fifo); createservice(Service_Fifo, (yyvsp[-2].string), (yyvsp[0 ].string), check_fifo);
} }
#line 4599 "src/y.tab.c" #line 4654 "src/y.tab.c"
break; break;
case 366: case 366:
#line 1333 "src/p.y" #line 1335 "src/p.y"
{ {
createservice(Service_Program, (yyvsp[-3].string), NULL, check_program); createservice(Service_Program, (yyvsp[-3].string), NULL, check_program);
current->program->timeout = (yyvsp[0].number); current->program->timeout = (yyvsp[0].number);
current->program->lastOutput = StringBuffer_create(64); current->program->lastOutput = StringBuffer_create(64);
current->program->inprogressOutput = StringBuffer_create (64); current->program->inprogressOutput = StringBuffer_create (64);
} }
#line 4610 "src/y.tab.c" #line 4665 "src/y.tab.c"
break; break;
case 367: case 367:
#line 1339 "src/p.y" #line 1341 "src/p.y"
{ {
createservice(Service_Program, (yyvsp[-4].string), NULL, check_program); createservice(Service_Program, (yyvsp[-4].string), NULL, check_program);
current->program->timeout = (yyvsp[0].number); current->program->timeout = (yyvsp[0].number);
current->program->lastOutput = StringBuffer_create(64); current->program->lastOutput = StringBuffer_create(64);
current->program->inprogressOutput = StringBuffer_create (64); current->program->inprogressOutput = StringBuffer_create (64);
} }
#line 4621 "src/y.tab.c" #line 4676 "src/y.tab.c"
break; break;
case 368: case 368:
#line 1347 "src/p.y" #line 1349 "src/p.y"
{ {
addcommand(START, (yyvsp[0].number)); addcommand(START, (yyvsp[0].number));
} }
#line 4629 "src/y.tab.c" #line 4684 "src/y.tab.c"
break; break;
case 369: case 369:
#line 1350 "src/p.y" #line 1352 "src/p.y"
{ {
addcommand(START, (yyvsp[0].number)); addcommand(START, (yyvsp[0].number));
} }
#line 4637 "src/y.tab.c" #line 4692 "src/y.tab.c"
break; break;
case 370: case 370:
#line 1355 "src/p.y" #line 1357 "src/p.y"
{ {
addcommand(STOP, (yyvsp[0].number)); addcommand(STOP, (yyvsp[0].number));
} }
#line 4645 "src/y.tab.c" #line 4700 "src/y.tab.c"
break; break;
case 371: case 371:
#line 1358 "src/p.y" #line 1360 "src/p.y"
{ {
addcommand(STOP, (yyvsp[0].number)); addcommand(STOP, (yyvsp[0].number));
} }
#line 4653 "src/y.tab.c" #line 4708 "src/y.tab.c"
break; break;
case 372: case 372:
#line 1364 "src/p.y" #line 1366 "src/p.y"
{ {
addcommand(RESTART, (yyvsp[0].number)); addcommand(RESTART, (yyvsp[0].number));
} }
#line 4661 "src/y.tab.c" #line 4716 "src/y.tab.c"
break; break;
case 373: case 373:
#line 1367 "src/p.y" #line 1369 "src/p.y"
{ {
addcommand(RESTART, (yyvsp[0].number)); addcommand(RESTART, (yyvsp[0].number));
} }
#line 4669 "src/y.tab.c" #line 4724 "src/y.tab.c"
break; break;
case 378: case 378:
#line 1380 "src/p.y" #line 1382 "src/p.y"
{ {
addargument((yyvsp[0].string)); addargument((yyvsp[0].string));
} }
#line 4677 "src/y.tab.c" #line 4732 "src/y.tab.c"
break; break;
case 379: case 379:
#line 1383 "src/p.y" #line 1385 "src/p.y"
{ {
addargument((yyvsp[0].string)); addargument((yyvsp[0].string));
} }
#line 4685 "src/y.tab.c" #line 4740 "src/y.tab.c"
break; break;
case 380: case 380:
#line 1388 "src/p.y" #line 1390 "src/p.y"
{ {
addeuid(get_uid((yyvsp[0].string), 0)); addeuid(get_uid((yyvsp[0].string), 0));
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 4694 "src/y.tab.c" #line 4749 "src/y.tab.c"
break; break;
case 381: case 381:
#line 1392 "src/p.y" #line 1394 "src/p.y"
{ {
addegid(get_gid((yyvsp[0].string), 0)); addegid(get_gid((yyvsp[0].string), 0));
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 4703 "src/y.tab.c" #line 4758 "src/y.tab.c"
break; break;
case 382: case 382:
#line 1396 "src/p.y" #line 1398 "src/p.y"
{ {
addeuid(get_uid(NULL, (yyvsp[0].number))); addeuid(get_uid(NULL, (yyvsp[0].number)));
} }
#line 4711 "src/y.tab.c" #line 4766 "src/y.tab.c"
break; break;
case 383: case 383:
#line 1399 "src/p.y" #line 1401 "src/p.y"
{ {
addegid(get_gid(NULL, (yyvsp[0].number))); addegid(get_gid(NULL, (yyvsp[0].number)));
} }
#line 4719 "src/y.tab.c" #line 4774 "src/y.tab.c"
break; break;
case 384: case 384:
#line 1404 "src/p.y" #line 1406 "src/p.y"
{ {
(yyval.string) = (yyvsp[0].string); (yyval.string) = (yyvsp[0].string);
} }
#line 4727 "src/y.tab.c" #line 4782 "src/y.tab.c"
break; break;
case 385: case 385:
#line 1407 "src/p.y" #line 1409 "src/p.y"
{ {
(yyval.string) = (yyvsp[0].string); (yyval.string) = (yyvsp[0].string);
} }
#line 4735 "src/y.tab.c" #line 4790 "src/y.tab.c"
break; break;
case 386: case 386:
#line 1412 "src/p.y" #line 1414 "src/p.y"
{ {
(yyval.string) = (yyvsp[0].string); (yyval.string) = (yyvsp[0].string);
} }
#line 4743 "src/y.tab.c" #line 4798 "src/y.tab.c"
break; break;
case 387: case 387:
#line 1417 "src/p.y" #line 1419 "src/p.y"
{ {
(yyval.string) = NULL; (yyval.string) = NULL;
} }
#line 4751 "src/y.tab.c" #line 4806 "src/y.tab.c"
break; break;
case 388: case 388:
#line 1420 "src/p.y" #line 1422 "src/p.y"
{ {
(yyval.string) = (yyvsp[0].string); (yyval.string) = (yyvsp[0].string);
} }
#line 4759 "src/y.tab.c" #line 4814 "src/y.tab.c"
break; break;
case 389: case 389:
#line 1425 "src/p.y" #line 1427 "src/p.y"
{ {
/* This is a workaround to support content match without having to create an URL object. 'urloption' creates the Request_T object we nee d minus the URL object, but with enough information to perform content test. /* This is a workaround to support content match without having to create an URL object. 'urloption' creates the Request_T object we nee d minus the URL object, but with enough information to perform content test.
TODO: Parser is in need of refactoring */ TODO: Parser is in need of refactoring */
portset.url_request = urlrequest; portset.url_request = urlrequest;
portset.check_invers = false;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
addeventaction(&(portset).action, (yyvsp[-1].number), (y yvsp[0].number)); addeventaction(&(portset).action, (yyvsp[-1].number), (y yvsp[0].number));
addport(&(current->portlist), &portset); addport(&(current->portlist), &portset);
} }
#line 4771 "src/y.tab.c" #line 4829 "src/y.tab.c"
break; break;
case 403: case 390:
#line 1451 "src/p.y" #line 1437 "src/p.y"
{ {
portset.url_request = urlrequest;
portset.check_invers = true;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
addeventaction(&(portset).action, (yyvsp[-1].number), (y
yvsp[0].number));
addport(&(current->portlist), &portset);
}
#line 4842 "src/y.tab.c"
break;
case 405:
#line 1465 "src/p.y"
{
portset.check_invers = false;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
prepare_urlrequest((yyvsp[-5].url));
addeventaction(&(portset).action, (yyvsp[-1].number), (y
yvsp[0].number));
addport(&(current->portlist), &portset);
}
#line 4855 "src/y.tab.c"
break;
case 406:
#line 1473 "src/p.y"
{
portset.check_invers = true;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
prepare_urlrequest((yyvsp[-5].url)); prepare_urlrequest((yyvsp[-5].url));
addeventaction(&(portset).action, (yyvsp[-1].number), (y yvsp[0].number)); addeventaction(&(portset).action, (yyvsp[-1].number), (y yvsp[0].number));
addport(&(current->portlist), &portset); addport(&(current->portlist), &portset);
} }
#line 4781 "src/y.tab.c" #line 4868 "src/y.tab.c"
break; break;
case 412: case 415:
#line 1470 "src/p.y" #line 1495 "src/p.y"
{ {
portset.check_invers = false;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
addeventaction(&(portset).action, (yyvsp[-1].number), (y yvsp[0].number)); addeventaction(&(portset).action, (yyvsp[-1].number), (y yvsp[0].number));
addport(&(current->socketlist), &portset); addport(&(current->socketlist), &portset);
} }
#line 4790 "src/y.tab.c" #line 4880 "src/y.tab.c"
break; break;
case 420: case 416:
#line 1487 "src/p.y" #line 1502 "src/p.y"
{ {
portset.check_invers = true;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
addeventaction(&(portset).action, (yyvsp[-1].number), (y
yvsp[0].number));
addport(&(current->socketlist), &portset);
}
#line 4892 "src/y.tab.c"
break;
case 425:
#line 1523 "src/p.y"
{
icmpset.family = Socket_Ip; icmpset.family = Socket_Ip;
icmpset.check_invers = false;
icmpset.type = (yyvsp[-5].number); icmpset.type = (yyvsp[-5].number);
icmpset.responsetime.operator = responsetimeset.operator
;
icmpset.responsetime.limit = responsetimeset.limit;
addeventaction(&(icmpset).action, (yyvsp[-1].number), (y yvsp[0].number)); addeventaction(&(icmpset).action, (yyvsp[-1].number), (y yvsp[0].number));
addicmp(&icmpset); addicmp(&icmpset);
} }
#line 4801 "src/y.tab.c" #line 4906 "src/y.tab.c"
break; break;
case 421: case 426:
#line 1493 "src/p.y" #line 1532 "src/p.y"
{
{
icmpset.family = Socket_Ip; icmpset.family = Socket_Ip;
icmpset.check_invers = false;
addeventaction(&(icmpset).action, (yyvsp[-1].number), (y yvsp[0].number)); addeventaction(&(icmpset).action, (yyvsp[-1].number), (y yvsp[0].number));
addicmp(&icmpset); addicmp(&icmpset);
} }
#line 4811 "src/y.tab.c" #line 4917 "src/y.tab.c"
break; break;
case 422: case 427:
#line 1498 "src/p.y" #line 1538 "src/p.y"
{
{
icmpset.family = Socket_Ip4; icmpset.family = Socket_Ip4;
icmpset.check_invers = false;
addeventaction(&(icmpset).action, (yyvsp[-1].number), (y yvsp[0].number)); addeventaction(&(icmpset).action, (yyvsp[-1].number), (y yvsp[0].number));
addicmp(&icmpset); addicmp(&icmpset);
} }
#line 4821 "src/y.tab.c" #line 4928 "src/y.tab.c"
break; break;
case 423: case 428:
#line 1503 "src/p.y" #line 1544 "src/p.y"
{
{
icmpset.family = Socket_Ip6; icmpset.family = Socket_Ip6;
icmpset.check_invers = false;
addeventaction(&(icmpset).action, (yyvsp[-1].number), (y yvsp[0].number)); addeventaction(&(icmpset).action, (yyvsp[-1].number), (y yvsp[0].number));
addicmp(&icmpset); addicmp(&icmpset);
} }
#line 4831 "src/y.tab.c" #line 4939 "src/y.tab.c"
break;
case 429:
#line 1550 "src/p.y"
{
icmpset.family = Socket_Ip;
icmpset.check_invers = true;
icmpset.type = (yyvsp[-5].number);
icmpset.responsetime.operator = responsetimeset.operator
;
icmpset.responsetime.limit = responsetimeset.limit;
addeventaction(&(icmpset).action, (yyvsp[-1].number), (y
yvsp[0].number));
addicmp(&icmpset);
}
#line 4953 "src/y.tab.c"
break; break;
case 430: case 430:
#line 1520 "src/p.y" #line 1559 "src/p.y"
{
icmpset.family = Socket_Ip;
icmpset.check_invers = true;
addeventaction(&(icmpset).action, (yyvsp[-1].number), (y
yvsp[0].number));
addicmp(&icmpset);
}
#line 4964 "src/y.tab.c"
break;
case 431:
#line 1565 "src/p.y"
{
icmpset.family = Socket_Ip4;
icmpset.check_invers = true;
addeventaction(&(icmpset).action, (yyvsp[-1].number), (y
yvsp[0].number));
addicmp(&icmpset);
}
#line 4975 "src/y.tab.c"
break;
case 432:
#line 1571 "src/p.y"
{
icmpset.family = Socket_Ip6;
icmpset.check_invers = true;
addeventaction(&(icmpset).action, (yyvsp[-1].number), (y
yvsp[0].number));
addicmp(&icmpset);
}
#line 4986 "src/y.tab.c"
break;
case 439:
#line 1589 "src/p.y"
{ {
portset.hostname = Str_dup(current->type == Service_Host ? current->path : LOCALHOST); portset.hostname = Str_dup(current->type == Service_Host ? current->path : LOCALHOST);
} }
#line 4839 "src/y.tab.c" #line 4994 "src/y.tab.c"
break; break;
case 431: case 440:
#line 1523 "src/p.y" #line 1592 "src/p.y"
{ {
portset.hostname = (yyvsp[0].string); portset.hostname = (yyvsp[0].string);
} }
#line 4847 "src/y.tab.c" #line 5002 "src/y.tab.c"
break; break;
case 432: case 441:
#line 1528 "src/p.y" #line 1597 "src/p.y"
{ {
portset.target.net.port = (yyvsp[0].number); portset.target.net.port = (yyvsp[0].number);
} }
#line 4855 "src/y.tab.c" #line 5010 "src/y.tab.c"
break; break;
case 433: case 442:
#line 1533 "src/p.y" #line 1602 "src/p.y"
{ {
portset.family = Socket_Unix; portset.family = Socket_Unix;
portset.target.unix.pathname = (yyvsp[0].string); portset.target.unix.pathname = (yyvsp[0].string);
} }
#line 4864 "src/y.tab.c" #line 5019 "src/y.tab.c"
break; break;
case 434: case 443:
#line 1539 "src/p.y" #line 1608 "src/p.y"
{ {
portset.family = Socket_Ip4; portset.family = Socket_Ip4;
} }
#line 4872 "src/y.tab.c" #line 5027 "src/y.tab.c"
break; break;
case 435: case 444:
#line 1542 "src/p.y" #line 1611 "src/p.y"
{ {
portset.family = Socket_Ip6; portset.family = Socket_Ip6;
} }
#line 4880 "src/y.tab.c" #line 5035 "src/y.tab.c"
break; break;
case 436: case 445:
#line 1547 "src/p.y" #line 1616 "src/p.y"
{ {
portset.type = Socket_Tcp; portset.type = Socket_Tcp;
} }
#line 4888 "src/y.tab.c" #line 5043 "src/y.tab.c"
break; break;
case 437: case 446:
#line 1550 "src/p.y" #line 1619 "src/p.y"
{ // The typelist is kept for backward compatibility (replaced by ssloptionlist) { // The typelist is kept for backward compatibility (replaced by ssloptionlist)
portset.type = Socket_Tcp; portset.type = Socket_Tcp;
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
} }
#line 4897 "src/y.tab.c" #line 5052 "src/y.tab.c"
break; break;
case 438: case 447:
#line 1554 "src/p.y" #line 1623 "src/p.y"
{ {
portset.type = Socket_Udp; portset.type = Socket_Udp;
} }
#line 4905 "src/y.tab.c" #line 5060 "src/y.tab.c"
break; break;
case 443: case 452:
#line 1567 "src/p.y" #line 1636 "src/p.y"
{ {
_parseOutgoingAddress((yyvsp[0].string), &(portset.outgo ing)); _parseOutgoingAddress((yyvsp[0].string), &(portset.outgo ing));
} }
#line 4913 "src/y.tab.c" #line 5068 "src/y.tab.c"
break; break;
case 444: case 453:
#line 1572 "src/p.y" #line 1641 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_APACHESTATUS); portset.protocol = Protocol_get(Protocol_APACHESTATUS);
} }
#line 4921 "src/y.tab.c" #line 5076 "src/y.tab.c"
break; break;
case 445: case 454:
#line 1575 "src/p.y" #line 1644 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_DEFAULT); portset.protocol = Protocol_get(Protocol_DEFAULT);
} }
#line 4929 "src/y.tab.c" #line 5084 "src/y.tab.c"
break; break;
case 446: case 455:
#line 1578 "src/p.y" #line 1647 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_DNS); portset.protocol = Protocol_get(Protocol_DNS);
} }
#line 4937 "src/y.tab.c" #line 5092 "src/y.tab.c"
break; break;
case 447: case 456:
#line 1581 "src/p.y" #line 1650 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_DWP); portset.protocol = Protocol_get(Protocol_DWP);
} }
#line 4945 "src/y.tab.c" #line 5100 "src/y.tab.c"
break; break;
case 448: case 457:
#line 1584 "src/p.y" #line 1653 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_FAIL2BAN); portset.protocol = Protocol_get(Protocol_FAIL2BAN);
} }
#line 4953 "src/y.tab.c" #line 5108 "src/y.tab.c"
break; break;
case 449: case 458:
#line 1587 "src/p.y" #line 1656 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_FTP); portset.protocol = Protocol_get(Protocol_FTP);
} }
#line 4961 "src/y.tab.c" #line 5116 "src/y.tab.c"
break; break;
case 450: case 459:
#line 1590 "src/p.y" #line 1659 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_HTTP); portset.protocol = Protocol_get(Protocol_HTTP);
} }
#line 4969 "src/y.tab.c" #line 5124 "src/y.tab.c"
break; break;
case 451: case 460:
#line 1593 "src/p.y" #line 1662 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
portset.type = Socket_Tcp; portset.type = Socket_Tcp;
portset.protocol = Protocol_get(Protocol_HTTP); portset.protocol = Protocol_get(Protocol_HTTP);
} }
#line 4979 "src/y.tab.c" #line 5134 "src/y.tab.c"
break; break;
case 452: case 461:
#line 1598 "src/p.y" #line 1667 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_IMAP); portset.protocol = Protocol_get(Protocol_IMAP);
} }
#line 4987 "src/y.tab.c" #line 5142 "src/y.tab.c"
break; break;
case 453: case 462:
#line 1601 "src/p.y" #line 1670 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
portset.type = Socket_Tcp; portset.type = Socket_Tcp;
portset.protocol = Protocol_get(Protocol_IMAP); portset.protocol = Protocol_get(Protocol_IMAP);
} }
#line 4997 "src/y.tab.c" #line 5152 "src/y.tab.c"
break; break;
case 454: case 463:
#line 1606 "src/p.y" #line 1675 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_CLAMAV); portset.protocol = Protocol_get(Protocol_CLAMAV);
} }
#line 5005 "src/y.tab.c" #line 5160 "src/y.tab.c"
break; break;
case 455: case 464:
#line 1609 "src/p.y" #line 1678 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_LDAP2); portset.protocol = Protocol_get(Protocol_LDAP2);
} }
#line 5013 "src/y.tab.c" #line 5168 "src/y.tab.c"
break; break;
case 456: case 465:
#line 1612 "src/p.y" #line 1681 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_LDAP3); portset.protocol = Protocol_get(Protocol_LDAP3);
} }
#line 5021 "src/y.tab.c" #line 5176 "src/y.tab.c"
break; break;
case 457: case 466:
#line 1615 "src/p.y" #line 1684 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_MONGODB); portset.protocol = Protocol_get(Protocol_MONGODB);
} }
#line 5029 "src/y.tab.c" #line 5184 "src/y.tab.c"
break; break;
case 458: case 467:
#line 1618 "src/p.y" #line 1687 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_MQTT); portset.protocol = Protocol_get(Protocol_MQTT);
} }
#line 5037 "src/y.tab.c" #line 5192 "src/y.tab.c"
break; break;
case 459: case 468:
#line 1621 "src/p.y" #line 1690 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_MYSQL); portset.protocol = Protocol_get(Protocol_MYSQL);
} }
#line 5045 "src/y.tab.c" #line 5200 "src/y.tab.c"
break; break;
case 460: case 469:
#line 1624 "src/p.y" #line 1693 "src/p.y"
{ {
sslset.flags = SSL_StartTLS; sslset.flags = SSL_StartTLS;
portset.protocol = Protocol_get(Protocol_MYSQL); portset.protocol = Protocol_get(Protocol_MYSQL);
} }
#line 5054 "src/y.tab.c" #line 5209 "src/y.tab.c"
break; break;
case 461: case 470:
#line 1628 "src/p.y" #line 1697 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_SIP); portset.protocol = Protocol_get(Protocol_SIP);
} }
#line 5062 "src/y.tab.c" #line 5217 "src/y.tab.c"
break; break;
case 462: case 471:
#line 1631 "src/p.y" #line 1700 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_NNTP); portset.protocol = Protocol_get(Protocol_NNTP);
} }
#line 5070 "src/y.tab.c" #line 5225 "src/y.tab.c"
break; break;
case 463: case 472:
#line 1634 "src/p.y" #line 1703 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_NTP3); portset.protocol = Protocol_get(Protocol_NTP3);
portset.type = Socket_Udp; portset.type = Socket_Udp;
} }
#line 5079 "src/y.tab.c" #line 5234 "src/y.tab.c"
break; break;
case 464: case 473:
#line 1638 "src/p.y" #line 1707 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_POSTFIXPOLICY); portset.protocol = Protocol_get(Protocol_POSTFIXPOLICY);
} }
#line 5087 "src/y.tab.c" #line 5242 "src/y.tab.c"
break; break;
case 465: case 474:
#line 1641 "src/p.y" #line 1710 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_POP); portset.protocol = Protocol_get(Protocol_POP);
} }
#line 5095 "src/y.tab.c" #line 5250 "src/y.tab.c"
break; break;
case 466: case 475:
#line 1644 "src/p.y" #line 1713 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
portset.type = Socket_Tcp; portset.type = Socket_Tcp;
portset.protocol = Protocol_get(Protocol_POP); portset.protocol = Protocol_get(Protocol_POP);
} }
#line 5105 "src/y.tab.c" #line 5260 "src/y.tab.c"
break; break;
case 467: case 476:
#line 1649 "src/p.y" #line 1718 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_SIEVE); portset.protocol = Protocol_get(Protocol_SIEVE);
} }
#line 5113 "src/y.tab.c" #line 5268 "src/y.tab.c"
break; break;
case 468: case 477:
#line 1652 "src/p.y" #line 1721 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_SMTP); portset.protocol = Protocol_get(Protocol_SMTP);
} }
#line 5121 "src/y.tab.c" #line 5276 "src/y.tab.c"
break; break;
case 469: case 478:
#line 1655 "src/p.y" #line 1724 "src/p.y"
{ {
sslset.flags = SSL_Enabled; sslset.flags = SSL_Enabled;
portset.type = Socket_Tcp; portset.type = Socket_Tcp;
portset.protocol = Protocol_get(Protocol_SMTP); portset.protocol = Protocol_get(Protocol_SMTP);
} }
#line 5131 "src/y.tab.c" #line 5286 "src/y.tab.c"
break; break;
case 470: case 479:
#line 1660 "src/p.y" #line 1729 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_SPAMASSASSIN); portset.protocol = Protocol_get(Protocol_SPAMASSASSIN);
} }
#line 5139 "src/y.tab.c" #line 5294 "src/y.tab.c"
break; break;
case 471: case 480:
#line 1663 "src/p.y" #line 1732 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_SSH); portset.protocol = Protocol_get(Protocol_SSH);
} }
#line 5147 "src/y.tab.c" #line 5302 "src/y.tab.c"
break; break;
case 472: case 481:
#line 1666 "src/p.y" #line 1735 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_RDATE); portset.protocol = Protocol_get(Protocol_RDATE);
} }
#line 5155 "src/y.tab.c" #line 5310 "src/y.tab.c"
break; break;
case 473: case 482:
#line 1669 "src/p.y" #line 1738 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_REDIS); portset.protocol = Protocol_get(Protocol_REDIS);
} }
#line 5163 "src/y.tab.c" #line 5318 "src/y.tab.c"
break; break;
case 474: case 483:
#line 1672 "src/p.y" #line 1741 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_RSYNC); portset.protocol = Protocol_get(Protocol_RSYNC);
} }
#line 5171 "src/y.tab.c" #line 5326 "src/y.tab.c"
break; break;
case 475: case 484:
#line 1675 "src/p.y" #line 1744 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_TNS); portset.protocol = Protocol_get(Protocol_TNS);
} }
#line 5179 "src/y.tab.c" #line 5334 "src/y.tab.c"
break; break;
case 476: case 485:
#line 1678 "src/p.y" #line 1747 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_PGSQL); portset.protocol = Protocol_get(Protocol_PGSQL);
} }
#line 5187 "src/y.tab.c" #line 5342 "src/y.tab.c"
break; break;
case 477: case 486:
#line 1681 "src/p.y" #line 1750 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_LMTP); portset.protocol = Protocol_get(Protocol_LMTP);
} }
#line 5195 "src/y.tab.c" #line 5350 "src/y.tab.c"
break; break;
case 478: case 487:
#line 1684 "src/p.y" #line 1753 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_GPS); portset.protocol = Protocol_get(Protocol_GPS);
} }
#line 5203 "src/y.tab.c" #line 5358 "src/y.tab.c"
break; break;
case 479: case 488:
#line 1687 "src/p.y" #line 1756 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_RADIUS); portset.protocol = Protocol_get(Protocol_RADIUS);
} }
#line 5211 "src/y.tab.c" #line 5366 "src/y.tab.c"
break; break;
case 480: case 489:
#line 1690 "src/p.y" #line 1759 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_MEMCACHE); portset.protocol = Protocol_get(Protocol_MEMCACHE);
} }
#line 5219 "src/y.tab.c" #line 5374 "src/y.tab.c"
break; break;
case 481: case 490:
#line 1693 "src/p.y" #line 1762 "src/p.y"
{ {
portset.protocol = Protocol_get(Protocol_WEBSOCKET); portset.protocol = Protocol_get(Protocol_WEBSOCKET);
} }
#line 5227 "src/y.tab.c" #line 5382 "src/y.tab.c"
break; break;
case 482: case 491:
#line 1698 "src/p.y" #line 1767 "src/p.y"
{ {
if (portset.protocol->check == check_default || portset. protocol->check == check_generic) { if (portset.protocol->check == check_default || portset. protocol->check == check_generic) {
portset.protocol = Protocol_get(Protocol_GENERIC ); portset.protocol = Protocol_get(Protocol_GENERIC );
addgeneric(&portset, (yyvsp[0].string), NULL); addgeneric(&portset, (yyvsp[0].string), NULL);
} else { } else {
yyerror("The SEND statement is not allowed in th e %s protocol context", portset.protocol->name); yyerror("The SEND statement is not allowed in th e %s protocol context", portset.protocol->name);
} }
} }
#line 5240 "src/y.tab.c" #line 5395 "src/y.tab.c"
break; break;
case 483: case 492:
#line 1706 "src/p.y" #line 1775 "src/p.y"
{ {
if (portset.protocol->check == check_default || portset. protocol->check == check_generic) { if (portset.protocol->check == check_default || portset. protocol->check == check_generic) {
portset.protocol = Protocol_get(Protocol_GENERIC ); portset.protocol = Protocol_get(Protocol_GENERIC );
addgeneric(&portset, NULL, (yyvsp[0].string)); addgeneric(&portset, NULL, (yyvsp[0].string));
} else { } else {
yyerror("The EXPECT statement is not allowed in the %s protocol context", portset.protocol->name); yyerror("The EXPECT statement is not allowed in the %s protocol context", portset.protocol->name);
} }
} }
#line 5253 "src/y.tab.c" #line 5408 "src/y.tab.c"
break; break;
case 486: case 495:
#line 1720 "src/p.y" #line 1789 "src/p.y"
{ {
portset.parameters.websocket.origin = (yyvsp[0].string); portset.parameters.websocket.origin = (yyvsp[0].string);
} }
#line 5261 "src/y.tab.c" #line 5416 "src/y.tab.c"
break; break;
case 487: case 496:
#line 1723 "src/p.y" #line 1792 "src/p.y"
{ {
portset.parameters.websocket.request = (yyvsp[0].string) ; portset.parameters.websocket.request = (yyvsp[0].string) ;
} }
#line 5269 "src/y.tab.c" #line 5424 "src/y.tab.c"
break; break;
case 488: case 497:
#line 1726 "src/p.y" #line 1795 "src/p.y"
{ {
portset.parameters.websocket.host = (yyvsp[0].string); portset.parameters.websocket.host = (yyvsp[0].string);
} }
#line 5277 "src/y.tab.c" #line 5432 "src/y.tab.c"
break; break;
case 489: case 498:
#line 1729 "src/p.y" #line 1798 "src/p.y"
{ {
portset.parameters.websocket.version = (yyvsp[0].number) ; portset.parameters.websocket.version = (yyvsp[0].number) ;
} }
#line 5285 "src/y.tab.c" #line 5440 "src/y.tab.c"
break; break;
case 492: case 501:
#line 1738 "src/p.y" #line 1807 "src/p.y"
{ {
portset.parameters.smtp.username = (yyvsp[0].string); portset.parameters.smtp.username = (yyvsp[0].string);
} }
#line 5293 "src/y.tab.c" #line 5448 "src/y.tab.c"
break; break;
case 493: case 502:
#line 1741 "src/p.y" #line 1810 "src/p.y"
{ {
portset.parameters.smtp.password = (yyvsp[0].string); portset.parameters.smtp.password = (yyvsp[0].string);
} }
#line 5301 "src/y.tab.c" #line 5456 "src/y.tab.c"
break; break;
case 496: case 505:
#line 1750 "src/p.y" #line 1819 "src/p.y"
{ {
portset.parameters.mqtt.username = (yyvsp[0].string); portset.parameters.mqtt.username = (yyvsp[0].string);
} }
#line 5309 "src/y.tab.c" #line 5464 "src/y.tab.c"
break; break;
case 497: case 506:
#line 1753 "src/p.y" #line 1822 "src/p.y"
{ {
portset.parameters.mqtt.password = (yyvsp[0].string); portset.parameters.mqtt.password = (yyvsp[0].string);
} }
#line 5317 "src/y.tab.c" #line 5472 "src/y.tab.c"
break; break;
case 500: case 509:
#line 1762 "src/p.y" #line 1831 "src/p.y"
{ {
portset.parameters.mysql.username = (yyvsp[0].string); portset.parameters.mysql.username = (yyvsp[0].string);
} }
#line 5325 "src/y.tab.c" #line 5480 "src/y.tab.c"
break; break;
case 501: case 510:
#line 1765 "src/p.y" #line 1834 "src/p.y"
{ {
portset.parameters.mysql.password = (yyvsp[0].string); portset.parameters.mysql.password = (yyvsp[0].string);
} }
#line 5333 "src/y.tab.c" #line 5488 "src/y.tab.c"
break; break;
case 502: case 511:
#line 1768 "src/p.y" #line 1837 "src/p.y"
{ {
portset.parameters.mysql.rsaChecksum = (yyvsp[0].string) ; portset.parameters.mysql.rsaChecksum = (yyvsp[0].string) ;
switch (cleanup_hash_string(portset.parameters.mysql.rsa Checksum)) { switch (cleanup_hash_string(portset.parameters.mysql.rsa Checksum)) {
case 32: case 32:
portset.parameters.mysql.rsaChecksumType = Hash_Md5; portset.parameters.mysql.rsaChecksumType = Hash_Md5;
break; break;
case 40: case 40:
portset.parameters.mysql.rsaChecksumType = Hash_Sha1; portset.parameters.mysql.rsaChecksumType = Hash_Sha1;
break; break;
default: default:
yyerror2("Unknown checksum type: [%s] is not MD5 nor SHA1", portset.parameters.mysql.rsaChecksum); yyerror2("Unknown checksum type: [%s] is not MD5 nor SHA1", portset.parameters.mysql.rsaChecksum);
} }
} }
#line 5351 "src/y.tab.c" #line 5506 "src/y.tab.c"
break; break;
case 503: case 512:
#line 1781 "src/p.y" #line 1850 "src/p.y"
{ {
portset.parameters.mysql.rsaChecksum = (yyvsp[0].string) ; portset.parameters.mysql.rsaChecksum = (yyvsp[0].string) ;
if (cleanup_hash_string(portset.parameters.mysql.rsaChec ksum) != 32) if (cleanup_hash_string(portset.parameters.mysql.rsaChec ksum) != 32)
yyerror2("Unknown checksum type: [%s] is not MD5 ", portset.parameters.mysql.rsaChecksum); yyerror2("Unknown checksum type: [%s] is not MD5 ", portset.parameters.mysql.rsaChecksum);
portset.parameters.mysql.rsaChecksumType = Hash_Md5; portset.parameters.mysql.rsaChecksumType = Hash_Md5;
} }
#line 5362 "src/y.tab.c" #line 5517 "src/y.tab.c"
break; break;
case 504: case 513:
#line 1787 "src/p.y" #line 1856 "src/p.y"
{ {
portset.parameters.mysql.rsaChecksum = (yyvsp[0].string) ; portset.parameters.mysql.rsaChecksum = (yyvsp[0].string) ;
if (cleanup_hash_string(portset.parameters.mysql.rsaChec ksum) != 40) if (cleanup_hash_string(portset.parameters.mysql.rsaChec ksum) != 40)
yyerror2("Unknown checksum type: [%s] is not SHA 1", portset.parameters.mysql.rsaChecksum); yyerror2("Unknown checksum type: [%s] is not SHA 1", portset.parameters.mysql.rsaChecksum);
portset.parameters.mysql.rsaChecksumType = Hash_Sha1; portset.parameters.mysql.rsaChecksumType = Hash_Sha1;
} }
#line 5373 "src/y.tab.c" #line 5528 "src/y.tab.c"
break; break;
case 505: case 514:
#line 1796 "src/p.y" #line 1865 "src/p.y"
{ {
(yyval.string) = (yyvsp[0].string); (yyval.string) = (yyvsp[0].string);
} }
#line 5381 "src/y.tab.c" #line 5536 "src/y.tab.c"
break; break;
case 506: case 515:
#line 1799 "src/p.y" #line 1868 "src/p.y"
{ {
(yyval.string) = (yyvsp[0].string); (yyval.string) = (yyvsp[0].string);
} }
#line 5389 "src/y.tab.c" #line 5544 "src/y.tab.c"
break; break;
case 507: case 516:
#line 1804 "src/p.y" #line 1873 "src/p.y"
{ {
(yyval.number) = verifyMaxForward((yyvsp[0].number)); (yyval.number) = verifyMaxForward((yyvsp[0].number));
} }
#line 5397 "src/y.tab.c" #line 5552 "src/y.tab.c"
break; break;
case 510: case 519:
#line 1813 "src/p.y" #line 1882 "src/p.y"
{ {
portset.parameters.sip.target = (yyvsp[0].string); portset.parameters.sip.target = (yyvsp[0].string);
} }
#line 5405 "src/y.tab.c" #line 5560 "src/y.tab.c"
break; break;
case 511: case 520:
#line 1816 "src/p.y" #line 1885 "src/p.y"
{ {
portset.parameters.sip.maxforward = (yyvsp[0].number); portset.parameters.sip.maxforward = (yyvsp[0].number);
} }
#line 5413 "src/y.tab.c" #line 5568 "src/y.tab.c"
break; break;
case 514: case 523:
#line 1825 "src/p.y" #line 1894 "src/p.y"
{ {
portset.parameters.http.username = (yyvsp[0].string); portset.parameters.http.username = (yyvsp[0].string);
} }
#line 5421 "src/y.tab.c" #line 5576 "src/y.tab.c"
break; break;
case 515: case 524:
#line 1828 "src/p.y" #line 1897 "src/p.y"
{ {
portset.parameters.http.password = (yyvsp[0].string); portset.parameters.http.password = (yyvsp[0].string);
} }
#line 5429 "src/y.tab.c" #line 5584 "src/y.tab.c"
break; break;
case 522: case 531:
#line 1839 "src/p.y" #line 1908 "src/p.y"
{ {
if ((yyvsp[0].number) < 0) { if ((yyvsp[0].number) < 0) {
yyerror2("The status value must be greater or eq ual to 0"); yyerror2("The status value must be greater or eq ual to 0");
} }
portset.parameters.http.operator = (yyvsp[-1].number); portset.parameters.http.operator = (yyvsp[-1].number);
portset.parameters.http.status = (yyvsp[0].number); portset.parameters.http.status = (yyvsp[0].number);
portset.parameters.http.hasStatus = true; portset.parameters.http.hasStatus = true;
} }
#line 5442 "src/y.tab.c" #line 5597 "src/y.tab.c"
break; break;
case 523: case 532:
#line 1849 "src/p.y" #line 1918 "src/p.y"
{ {
portset.parameters.http.method = Http_Get; portset.parameters.http.method = Http_Get;
} }
#line 5450 "src/y.tab.c" #line 5605 "src/y.tab.c"
break; break;
case 524: case 533:
#line 1852 "src/p.y" #line 1921 "src/p.y"
{ {
portset.parameters.http.method = Http_Head; portset.parameters.http.method = Http_Head;
} }
#line 5458 "src/y.tab.c" #line 5613 "src/y.tab.c"
break; break;
case 525: case 534:
#line 1857 "src/p.y" #line 1926 "src/p.y"
{ {
portset.parameters.http.request = Util_urlEncode((yyvsp[ 0].string), false); portset.parameters.http.request = Util_urlEncode((yyvsp[ 0].string), false);
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 5467 "src/y.tab.c" #line 5622 "src/y.tab.c"
break; break;
case 526: case 535:
#line 1861 "src/p.y" #line 1930 "src/p.y"
{ {
portset.parameters.http.request = Util_urlEncode((yyvsp[ 0].string), false); portset.parameters.http.request = Util_urlEncode((yyvsp[ 0].string), false);
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 5476 "src/y.tab.c" #line 5631 "src/y.tab.c"
break; break;
case 527: case 536:
#line 1867 "src/p.y" #line 1936 "src/p.y"
{ {
portset.parameters.http.checksum = (yyvsp[0].string); portset.parameters.http.checksum = (yyvsp[0].string);
} }
#line 5484 "src/y.tab.c" #line 5639 "src/y.tab.c"
break; break;
case 528: case 537:
#line 1872 "src/p.y" #line 1941 "src/p.y"
{ {
addhttpheader(&portset, Str_cat("Host:%s", (yyvsp[0].str ing))); addhttpheader(&portset, Str_cat("Host:%s", (yyvsp[0].str ing)));
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 5493 "src/y.tab.c" #line 5648 "src/y.tab.c"
break; break;
case 530: case 539:
#line 1879 "src/p.y" #line 1948 "src/p.y"
{ {
addhttpheader(&portset, (yyvsp[0].string)); addhttpheader(&portset, (yyvsp[0].string));
} }
#line 5501 "src/y.tab.c" #line 5656 "src/y.tab.c"
break; break;
case 531: case 540:
#line 1884 "src/p.y" #line 1953 "src/p.y"
{ {
(yyval.string) = (yyvsp[0].string); (yyval.string) = (yyvsp[0].string);
} }
#line 5509 "src/y.tab.c" #line 5664 "src/y.tab.c"
break; break;
case 534: case 543:
#line 1893 "src/p.y" #line 1962 "src/p.y"
{ {
portset.parameters.radius.secret = (yyvsp[0].string); portset.parameters.radius.secret = (yyvsp[0].string);
} }
#line 5517 "src/y.tab.c" #line 5672 "src/y.tab.c"
break; break;
case 537: case 546:
#line 1902 "src/p.y" #line 1971 "src/p.y"
{ {
portset.parameters.apachestatus.username = (yyvsp[0].str ing); portset.parameters.apachestatus.username = (yyvsp[0].str ing);
} }
#line 5525 "src/y.tab.c" #line 5680 "src/y.tab.c"
break; break;
case 538: case 547:
#line 1905 "src/p.y" #line 1974 "src/p.y"
{ {
portset.parameters.apachestatus.password = (yyvsp[0].str ing); portset.parameters.apachestatus.password = (yyvsp[0].str ing);
} }
#line 5533 "src/y.tab.c" #line 5688 "src/y.tab.c"
break; break;
case 539: case 548:
#line 1908 "src/p.y" #line 1977 "src/p.y"
{ {
portset.parameters.apachestatus.path = (yyvsp[0].string) ; portset.parameters.apachestatus.path = (yyvsp[0].string) ;
} }
#line 5541 "src/y.tab.c" #line 5696 "src/y.tab.c"
break; break;
case 540: case 549:
#line 1911 "src/p.y" #line 1980 "src/p.y"
{ {
portset.parameters.apachestatus.loglimitOP = (yyvsp[-2]. number); portset.parameters.apachestatus.loglimitOP = (yyvsp[-2]. number);
portset.parameters.apachestatus.loglimit = (yyvsp[-1].nu mber); portset.parameters.apachestatus.loglimit = (yyvsp[-1].nu mber);
} }
#line 5550 "src/y.tab.c" #line 5705 "src/y.tab.c"
break; break;
case 541: case 550:
#line 1915 "src/p.y" #line 1984 "src/p.y"
{ {
portset.parameters.apachestatus.closelimitOP = (yyvsp[-2 ].number); portset.parameters.apachestatus.closelimitOP = (yyvsp[-2 ].number);
portset.parameters.apachestatus.closelimit = (yyvsp[-1]. number); portset.parameters.apachestatus.closelimit = (yyvsp[-1]. number);
} }
#line 5559 "src/y.tab.c" #line 5714 "src/y.tab.c"
break; break;
case 542: case 551:
#line 1919 "src/p.y" #line 1988 "src/p.y"
{ {
portset.parameters.apachestatus.dnslimitOP = (yyvsp[-2]. number); portset.parameters.apachestatus.dnslimitOP = (yyvsp[-2]. number);
portset.parameters.apachestatus.dnslimit = (yyvsp[-1].nu mber); portset.parameters.apachestatus.dnslimit = (yyvsp[-1].nu mber);
} }
#line 5568 "src/y.tab.c" #line 5723 "src/y.tab.c"
break; break;
case 543: case 552:
#line 1923 "src/p.y" #line 1992 "src/p.y"
{ {
portset.parameters.apachestatus.keepalivelimitOP = (yyvs p[-2].number); portset.parameters.apachestatus.keepalivelimitOP = (yyvs p[-2].number);
portset.parameters.apachestatus.keepalivelimit = (yyvsp[ -1].number); portset.parameters.apachestatus.keepalivelimit = (yyvsp[ -1].number);
} }
#line 5577 "src/y.tab.c" #line 5732 "src/y.tab.c"
break; break;
case 544: case 553:
#line 1927 "src/p.y" #line 1996 "src/p.y"
{ {
portset.parameters.apachestatus.replylimitOP = (yyvsp[-2 ].number); portset.parameters.apachestatus.replylimitOP = (yyvsp[-2 ].number);
portset.parameters.apachestatus.replylimit = (yyvsp[-1]. number); portset.parameters.apachestatus.replylimit = (yyvsp[-1]. number);
} }
#line 5586 "src/y.tab.c" #line 5741 "src/y.tab.c"
break; break;
case 545: case 554:
#line 1931 "src/p.y" #line 2000 "src/p.y"
{ {
portset.parameters.apachestatus.requestlimitOP = (yyvsp[ -2].number); portset.parameters.apachestatus.requestlimitOP = (yyvsp[ -2].number);
portset.parameters.apachestatus.requestlimit = (yyvsp[-1 ].number); portset.parameters.apachestatus.requestlimit = (yyvsp[-1 ].number);
} }
#line 5595 "src/y.tab.c" #line 5750 "src/y.tab.c"
break; break;
case 546: case 555:
#line 1935 "src/p.y" #line 2004 "src/p.y"
{ {
portset.parameters.apachestatus.startlimitOP = (yyvsp[-2 ].number); portset.parameters.apachestatus.startlimitOP = (yyvsp[-2 ].number);
portset.parameters.apachestatus.startlimit = (yyvsp[-1]. number); portset.parameters.apachestatus.startlimit = (yyvsp[-1]. number);
} }
#line 5604 "src/y.tab.c" #line 5759 "src/y.tab.c"
break; break;
case 547: case 556:
#line 1939 "src/p.y" #line 2008 "src/p.y"
{ {
portset.parameters.apachestatus.waitlimitOP = (yyvsp[-2] .number); portset.parameters.apachestatus.waitlimitOP = (yyvsp[-2] .number);
portset.parameters.apachestatus.waitlimit = (yyvsp[-1].n umber); portset.parameters.apachestatus.waitlimit = (yyvsp[-1].n umber);
} }
#line 5613 "src/y.tab.c" #line 5768 "src/y.tab.c"
break; break;
case 548: case 557:
#line 1943 "src/p.y" #line 2012 "src/p.y"
{ {
portset.parameters.apachestatus.gracefullimitOP = (yyvsp [-2].number); portset.parameters.apachestatus.gracefullimitOP = (yyvsp [-2].number);
portset.parameters.apachestatus.gracefullimit = (yyvsp[- 1].number); portset.parameters.apachestatus.gracefullimit = (yyvsp[- 1].number);
} }
#line 5622 "src/y.tab.c" #line 5777 "src/y.tab.c"
break; break;
case 549: case 558:
#line 1947 "src/p.y" #line 2016 "src/p.y"
{ {
portset.parameters.apachestatus.cleanuplimitOP = (yyvsp[ -2].number); portset.parameters.apachestatus.cleanuplimitOP = (yyvsp[ -2].number);
portset.parameters.apachestatus.cleanuplimit = (yyvsp[-1 ].number); portset.parameters.apachestatus.cleanuplimit = (yyvsp[-1 ].number);
} }
#line 5631 "src/y.tab.c" #line 5786 "src/y.tab.c"
break; break;
case 550: case 559:
#line 1953 "src/p.y" #line 2022 "src/p.y"
{ {
addeventaction(&(nonexistset).action, (yyvsp[-1].number) , (yyvsp[0].number)); addeventaction(&(nonexistset).action, (yyvsp[-1].number) , (yyvsp[0].number));
addnonexist(&nonexistset); addnonexist(&nonexistset);
} }
#line 5640 "src/y.tab.c" #line 5795 "src/y.tab.c"
break; break;
case 551: case 560:
#line 1957 "src/p.y" #line 2026 "src/p.y"
{ {
addeventaction(&(existset).action, (yyvsp[-1].number), ( yyvsp[0].number)); addeventaction(&(existset).action, (yyvsp[-1].number), ( yyvsp[0].number));
addexist(&existset); addexist(&existset);
} }
#line 5649 "src/y.tab.c" #line 5804 "src/y.tab.c"
break; break;
case 552: case 561:
#line 1964 "src/p.y" #line 2033 "src/p.y"
{ {
addeventaction(&(pidset).action, (yyvsp[0].number), Acti on_Ignored); addeventaction(&(pidset).action, (yyvsp[0].number), Acti on_Ignored);
addpid(&pidset); addpid(&pidset);
} }
#line 5658 "src/y.tab.c" #line 5813 "src/y.tab.c"
break; break;
case 553: case 562:
#line 1970 "src/p.y" #line 2039 "src/p.y"
{ {
addeventaction(&(ppidset).action, (yyvsp[0].number), Act ion_Ignored); addeventaction(&(ppidset).action, (yyvsp[0].number), Act ion_Ignored);
addppid(&ppidset); addppid(&ppidset);
} }
#line 5667 "src/y.tab.c" #line 5822 "src/y.tab.c"
break; break;
case 554: case 563:
#line 1976 "src/p.y" #line 2045 "src/p.y"
{
{
uptimeset.operator = (yyvsp[-6].number); uptimeset.operator = (yyvsp[-6].number);
uptimeset.uptime = ((unsigned long long)(yyvsp[-5].numbe r) * (yyvsp[-4].number)); uptimeset.uptime = ((unsigned long long)(yyvsp[-5].numbe r) * (yyvsp[-4].number));
addeventaction(&(uptimeset).action, (yyvsp[-1].number), (yyvsp[0].number)); addeventaction(&(uptimeset).action, (yyvsp[-1].number), (yyvsp[0].number));
adduptime(&uptimeset); adduptime(&uptimeset);
} }
#line 5678 "src/y.tab.c" #line 5833 "src/y.tab.c"
break; break;
case 555: case 564:
#line 1984 "src/p.y" #line 2053 "src/p.y"
{
responsetimeset.operator = (yyvsp[-2].number);
responsetimeset.limit = (yyvsp[-1].number);
}
#line 5842 "src/y.tab.c"
break;
case 565:
#line 2057 "src/p.y"
{
responsetimeset.operator = (yyvsp[-2].number);
responsetimeset.limit = (yyvsp[-1].number) * 1000;
}
#line 5851 "src/y.tab.c"
break;
case 566:
#line 2063 "src/p.y"
{ {
icmpset.count = (yyvsp[0].number); icmpset.count = (yyvsp[0].number);
} }
#line 5686 "src/y.tab.c" #line 5859 "src/y.tab.c"
break; break;
case 556: case 567:
#line 1989 "src/p.y" #line 2068 "src/p.y"
{ {
icmpset.size = (yyvsp[0].number); icmpset.size = (yyvsp[0].number);
if (icmpset.size < 8) { if (icmpset.size < 8) {
yyerror2("The minimum ping size is 8 bytes"); yyerror2("The minimum ping size is 8 bytes");
} else if (icmpset.size > 1492) { } else if (icmpset.size > 1492) {
yyerror2("The maximum ping size is 1492 bytes"); yyerror2("The maximum ping size is 1492 bytes");
} }
} }
#line 5699 "src/y.tab.c" #line 5872 "src/y.tab.c"
break; break;
case 557: case 568:
#line 1999 "src/p.y" #line 2078 "src/p.y"
{ {
icmpset.timeout = (yyvsp[-1].number) * 1000; // timeout is in milliseconds internally icmpset.timeout = (yyvsp[-1].number) * 1000; // timeout is in milliseconds internally
} }
#line 5707 "src/y.tab.c" #line 5880 "src/y.tab.c"
break; break;
case 558: case 569:
#line 2004 "src/p.y" #line 2083 "src/p.y"
{ {
_parseOutgoingAddress((yyvsp[0].string), &(icmpset.outgo ing)); _parseOutgoingAddress((yyvsp[0].string), &(icmpset.outgo ing));
} }
#line 5715 "src/y.tab.c" #line 5888 "src/y.tab.c"
break; break;
case 559: case 570:
#line 2009 "src/p.y" #line 2088 "src/p.y"
{ {
(yyval.number) = Run.limits.stopTimeout; (yyval.number) = Run.limits.stopTimeout;
} }
#line 5723 "src/y.tab.c" #line 5896 "src/y.tab.c"
break; break;
case 560: case 571:
#line 2012 "src/p.y" #line 2091 "src/p.y"
{ {
(yyval.number) = (yyvsp[-1].number) * 1000; // milliseco nds internally (yyval.number) = (yyvsp[-1].number) * 1000; // milliseco nds internally
} }
#line 5731 "src/y.tab.c" #line 5904 "src/y.tab.c"
break; break;
case 561: case 572:
#line 2017 "src/p.y" #line 2096 "src/p.y"
{ {
(yyval.number) = Run.limits.startTimeout; (yyval.number) = Run.limits.startTimeout;
} }
#line 5739 "src/y.tab.c" #line 5912 "src/y.tab.c"
break; break;
case 562: case 573:
#line 2020 "src/p.y" #line 2099 "src/p.y"
{ {
(yyval.number) = (yyvsp[-1].number) * 1000; // milliseco nds internally (yyval.number) = (yyvsp[-1].number) * 1000; // milliseco nds internally
} }
#line 5747 "src/y.tab.c" #line 5920 "src/y.tab.c"
break; break;
case 563: case 574:
#line 2025 "src/p.y" #line 2104 "src/p.y"
{ {
(yyval.number) = Run.limits.restartTimeout; (yyval.number) = Run.limits.restartTimeout;
} }
#line 5755 "src/y.tab.c" #line 5928 "src/y.tab.c"
break; break;
case 564: case 575:
#line 2028 "src/p.y" #line 2107 "src/p.y"
{ {
(yyval.number) = (yyvsp[-1].number) * 1000; // milliseco nds internally (yyval.number) = (yyvsp[-1].number) * 1000; // milliseco nds internally
} }
#line 5763 "src/y.tab.c" #line 5936 "src/y.tab.c"
break; break;
case 565: case 576:
#line 2033 "src/p.y" #line 2112 "src/p.y"
{ {
(yyval.number) = Run.limits.programTimeout; (yyval.number) = Run.limits.programTimeout;
} }
#line 5771 "src/y.tab.c" #line 5944 "src/y.tab.c"
break; break;
case 566: case 577:
#line 2036 "src/p.y" #line 2115 "src/p.y"
{ {
(yyval.number) = (yyvsp[-1].number) * 1000; // milliseco nds internally (yyval.number) = (yyvsp[-1].number) * 1000; // milliseco nds internally
} }
#line 5779 "src/y.tab.c" #line 5952 "src/y.tab.c"
break; break;
case 567: case 578:
#line 2041 "src/p.y" #line 2120 "src/p.y"
{ {
(yyval.number) = Run.limits.networkTimeout; (yyval.number) = Run.limits.networkTimeout;
} }
#line 5787 "src/y.tab.c" #line 5960 "src/y.tab.c"
break; break;
case 568: case 579:
#line 2044 "src/p.y" #line 2123 "src/p.y"
{ {
(yyval.number) = (yyvsp[-1].number) * 1000; // net timeo ut is in milliseconds internally (yyval.number) = (yyvsp[-1].number) * 1000; // net timeo ut is in milliseconds internally
} }
#line 5795 "src/y.tab.c" #line 5968 "src/y.tab.c"
break; break;
case 569: case 580:
#line 2049 "src/p.y" #line 2128 "src/p.y"
{ {
portset.timeout = (yyvsp[-1].number) * 1000; // timeout is in milliseconds internally portset.timeout = (yyvsp[-1].number) * 1000; // timeout is in milliseconds internally
} }
#line 5803 "src/y.tab.c" #line 5976 "src/y.tab.c"
break; break;
case 570: case 581:
#line 2054 "src/p.y" #line 2133 "src/p.y"
{ {
portset.retry = (yyvsp[0].number); portset.retry = (yyvsp[0].number);
} }
#line 5811 "src/y.tab.c" #line 5984 "src/y.tab.c"
break; break;
case 571: case 582:
#line 2059 "src/p.y" #line 2138 "src/p.y"
{ {
actionrateset.count = (yyvsp[-5].number); actionrateset.count = (yyvsp[-5].number);
actionrateset.cycle = (yyvsp[-3].number); actionrateset.cycle = (yyvsp[-3].number);
addeventaction(&(actionrateset).action, (yyvsp[0].number ), Action_Alert); addeventaction(&(actionrateset).action, (yyvsp[0].number ), Action_Alert);
addactionrate(&actionrateset); addactionrate(&actionrateset);
} }
#line 5822 "src/y.tab.c" #line 5995 "src/y.tab.c"
break; break;
case 572: case 583:
#line 2065 "src/p.y" #line 2144 "src/p.y"
{ {
actionrateset.count = (yyvsp[-5].number); actionrateset.count = (yyvsp[-5].number);
actionrateset.cycle = (yyvsp[-3].number); actionrateset.cycle = (yyvsp[-3].number);
addeventaction(&(actionrateset).action, Action_Unmonitor , Action_Alert); addeventaction(&(actionrateset).action, Action_Unmonitor , Action_Alert);
addactionrate(&actionrateset); addactionrate(&actionrateset);
} }
#line 5833 "src/y.tab.c" #line 6006 "src/y.tab.c"
break; break;
case 573: case 584:
#line 2073 "src/p.y" #line 2152 "src/p.y"
{ {
seturlrequest((yyvsp[-1].number), (yyvsp[0].string)); seturlrequest((yyvsp[-1].number), (yyvsp[0].string));
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 5842 "src/y.tab.c" #line 6015 "src/y.tab.c"
break; break;
case 574: case 585:
#line 2079 "src/p.y" #line 2158 "src/p.y"
{ (yyval.number) = Operator_Equal; } { (yyval.number) = Operator_Equal; }
#line 5848 "src/y.tab.c" #line 6021 "src/y.tab.c"
break; break;
case 575: case 586:
#line 2080 "src/p.y" #line 2159 "src/p.y"
{ (yyval.number) = Operator_NotEqual; } { (yyval.number) = Operator_NotEqual; }
#line 5854 "src/y.tab.c" #line 6027 "src/y.tab.c"
break; break;
case 576: case 587:
#line 2083 "src/p.y" #line 2162 "src/p.y"
{ {
mailset.events = Event_All; mailset.events = Event_All;
addmail((yyvsp[-2].string), &mailset, &current->maillist ); addmail((yyvsp[-2].string), &mailset, &current->maillist );
} }
#line 5863 "src/y.tab.c" #line 6036 "src/y.tab.c"
break; break;
case 577: case 588:
#line 2087 "src/p.y" #line 2166 "src/p.y"
{ {
addmail((yyvsp[-5].string), &mailset, &current->maillist ); addmail((yyvsp[-5].string), &mailset, &current->maillist );
} }
#line 5871 "src/y.tab.c" #line 6044 "src/y.tab.c"
break; break;
case 578: case 589:
#line 2090 "src/p.y" #line 2169 "src/p.y"
{ {
mailset.events = ~mailset.events; mailset.events = ~mailset.events;
addmail((yyvsp[-6].string), &mailset, &current->maillist ); addmail((yyvsp[-6].string), &mailset, &current->maillist );
} }
#line 5880 "src/y.tab.c" #line 6053 "src/y.tab.c"
break; break;
case 579: case 590:
#line 2094 "src/p.y" #line 2173 "src/p.y"
{ {
addmail((yyvsp[0].string), &mailset, &current->maillist) ; addmail((yyvsp[0].string), &mailset, &current->maillist) ;
} }
#line 5888 "src/y.tab.c" #line 6061 "src/y.tab.c"
break; break;
case 580: case 591:
#line 2099 "src/p.y" #line 2178 "src/p.y"
{ (yyval.string) = (yyvsp[0].string); } { (yyval.string) = (yyvsp[0].string); }
#line 5894 "src/y.tab.c" #line 6067 "src/y.tab.c"
break; break;
case 581: case 592:
#line 2102 "src/p.y" #line 2181 "src/p.y"
{ (yyval.string) = (yyvsp[0].string); } { (yyval.string) = (yyvsp[0].string); }
#line 5900 "src/y.tab.c" #line 6073 "src/y.tab.c"
break; break;
case 584: case 595:
#line 2109 "src/p.y" #line 2188 "src/p.y"
{ mailset.events |= Event_Action; } { mailset.events |= Event_Action; }
#line 5906 "src/y.tab.c" #line 6079 "src/y.tab.c"
break; break;
case 585: case 596:
#line 2110 "src/p.y" #line 2189 "src/p.y"
{ mailset.events |= Event_ByteIn; } { mailset.events |= Event_ByteIn; }
#line 5912 "src/y.tab.c" #line 6085 "src/y.tab.c"
break; break;
case 586: case 597:
#line 2111 "src/p.y" #line 2190 "src/p.y"
{ mailset.events |= Event_ByteOut; } { mailset.events |= Event_ByteOut; }
#line 5918 "src/y.tab.c" #line 6091 "src/y.tab.c"
break; break;
case 587: case 598:
#line 2112 "src/p.y" #line 2191 "src/p.y"
{ mailset.events |= Event_Checksum; } { mailset.events |= Event_Checksum; }
#line 5924 "src/y.tab.c" #line 6097 "src/y.tab.c"
break; break;
case 588: case 599:
#line 2113 "src/p.y" #line 2192 "src/p.y"
{ mailset.events |= Event_Connection; } { mailset.events |= Event_Connection; }
#line 5930 "src/y.tab.c" #line 6103 "src/y.tab.c"
break; break;
case 589: case 600:
#line 2114 "src/p.y" #line 2193 "src/p.y"
{ mailset.events |= Event_Content; } { mailset.events |= Event_Content; }
#line 5936 "src/y.tab.c" #line 6109 "src/y.tab.c"
break; break;
case 590: case 601:
#line 2115 "src/p.y" #line 2194 "src/p.y"
{ mailset.events |= Event_Data; } { mailset.events |= Event_Data; }
#line 5942 "src/y.tab.c" #line 6115 "src/y.tab.c"
break; break;
case 591: case 602:
#line 2116 "src/p.y" #line 2195 "src/p.y"
{ mailset.events |= Event_Exec; } { mailset.events |= Event_Exec; }
#line 5948 "src/y.tab.c" #line 6121 "src/y.tab.c"
break; break;
case 592: case 603:
#line 2117 "src/p.y" #line 2196 "src/p.y"
{ mailset.events |= Event_Exist; } { mailset.events |= Event_Exist; }
#line 5954 "src/y.tab.c" #line 6127 "src/y.tab.c"
break; break;
case 593: case 604:
#line 2118 "src/p.y" #line 2197 "src/p.y"
{ mailset.events |= Event_FsFlag; } { mailset.events |= Event_FsFlag; }
#line 5960 "src/y.tab.c" #line 6133 "src/y.tab.c"
break; break;
case 594: case 605:
#line 2119 "src/p.y" #line 2198 "src/p.y"
{ mailset.events |= Event_Gid; } { mailset.events |= Event_Gid; }
#line 5966 "src/y.tab.c" #line 6139 "src/y.tab.c"
break; break;
case 595: case 606:
#line 2120 "src/p.y" #line 2199 "src/p.y"
{ mailset.events |= Event_Icmp; } { mailset.events |= Event_Icmp; }
#line 5972 "src/y.tab.c" #line 6145 "src/y.tab.c"
break; break;
case 596: case 607:
#line 2121 "src/p.y" #line 2200 "src/p.y"
{ mailset.events |= Event_Instance; } { mailset.events |= Event_Instance; }
#line 5978 "src/y.tab.c" #line 6151 "src/y.tab.c"
break; break;
case 597: case 608:
#line 2122 "src/p.y" #line 2201 "src/p.y"
{ mailset.events |= Event_Invalid; } { mailset.events |= Event_Invalid; }
#line 5984 "src/y.tab.c" #line 6157 "src/y.tab.c"
break; break;
case 598: case 609:
#line 2123 "src/p.y" #line 2202 "src/p.y"
{ mailset.events |= Event_Link; } { mailset.events |= Event_Link; }
#line 5990 "src/y.tab.c" #line 6163 "src/y.tab.c"
break; break;
case 599: case 610:
#line 2124 "src/p.y" #line 2203 "src/p.y"
{ mailset.events |= Event_NonExist; } { mailset.events |= Event_NonExist; }
#line 5996 "src/y.tab.c" #line 6169 "src/y.tab.c"
break; break;
case 600: case 611:
#line 2125 "src/p.y" #line 2204 "src/p.y"
{ mailset.events |= Event_PacketIn; } { mailset.events |= Event_PacketIn; }
#line 6002 "src/y.tab.c" #line 6175 "src/y.tab.c"
break; break;
case 601: case 612:
#line 2126 "src/p.y" #line 2205 "src/p.y"
{ mailset.events |= Event_PacketOut; } { mailset.events |= Event_PacketOut; }
#line 6008 "src/y.tab.c" #line 6181 "src/y.tab.c"
break; break;
case 602: case 613:
#line 2127 "src/p.y" #line 2206 "src/p.y"
{ mailset.events |= Event_Permission; } { mailset.events |= Event_Permission; }
#line 6014 "src/y.tab.c" #line 6187 "src/y.tab.c"
break; break;
case 603: case 614:
#line 2128 "src/p.y" #line 2207 "src/p.y"
{ mailset.events |= Event_Pid; } { mailset.events |= Event_Pid; }
#line 6020 "src/y.tab.c" #line 6193 "src/y.tab.c"
break; break;
case 604: case 615:
#line 2129 "src/p.y" #line 2208 "src/p.y"
{ mailset.events |= Event_PPid; } { mailset.events |= Event_PPid; }
#line 6026 "src/y.tab.c" #line 6199 "src/y.tab.c"
break; break;
case 605: case 616:
#line 2130 "src/p.y" #line 2209 "src/p.y"
{ mailset.events |= Event_Resource; } { mailset.events |= Event_Resource; }
#line 6032 "src/y.tab.c" #line 6205 "src/y.tab.c"
break; break;
case 606: case 617:
#line 2131 "src/p.y" #line 2210 "src/p.y"
{ mailset.events |= Event_Saturation; } { mailset.events |= Event_Saturation; }
#line 6038 "src/y.tab.c" #line 6211 "src/y.tab.c"
break; break;
case 607: case 618:
#line 2132 "src/p.y" #line 2211 "src/p.y"
{ mailset.events |= Event_Size; } { mailset.events |= Event_Size; }
#line 6044 "src/y.tab.c" #line 6217 "src/y.tab.c"
break; break;
case 608: case 619:
#line 2133 "src/p.y" #line 2212 "src/p.y"
{ mailset.events |= Event_Speed; } { mailset.events |= Event_Speed; }
#line 6050 "src/y.tab.c" #line 6223 "src/y.tab.c"
break; break;
case 609: case 620:
#line 2134 "src/p.y" #line 2213 "src/p.y"
{ mailset.events |= Event_Status; } { mailset.events |= Event_Status; }
#line 6056 "src/y.tab.c" #line 6229 "src/y.tab.c"
break; break;
case 610: case 621:
#line 2135 "src/p.y" #line 2214 "src/p.y"
{ mailset.events |= Event_Timeout; } { mailset.events |= Event_Timeout; }
#line 6062 "src/y.tab.c" #line 6235 "src/y.tab.c"
break; break;
case 611: case 622:
#line 2136 "src/p.y" #line 2215 "src/p.y"
{ mailset.events |= Event_Timestamp; } { mailset.events |= Event_Timestamp; }
#line 6068 "src/y.tab.c" #line 6241 "src/y.tab.c"
break; break;
case 612: case 623:
#line 2137 "src/p.y" #line 2216 "src/p.y"
{ mailset.events |= Event_Uid; } { mailset.events |= Event_Uid; }
#line 6074 "src/y.tab.c" #line 6247 "src/y.tab.c"
break; break;
case 613: case 624:
#line 2138 "src/p.y" #line 2217 "src/p.y"
{ mailset.events |= Event_Uptime; } { mailset.events |= Event_Uptime; }
#line 6080 "src/y.tab.c" #line 6253 "src/y.tab.c"
break; break;
case 618: case 629:
#line 2149 "src/p.y" #line 2228 "src/p.y"
{ mailset.from = (yyvsp[-1].address); } { mailset.from = (yyvsp[-1].address); }
#line 6086 "src/y.tab.c" #line 6259 "src/y.tab.c"
break; break;
case 619: case 630:
#line 2150 "src/p.y" #line 2229 "src/p.y"
{ mailset.replyto = (yyvsp[-1].addre ss); } { mailset.replyto = (yyvsp[-1].addre ss); }
#line 6092 "src/y.tab.c" #line 6265 "src/y.tab.c"
break; break;
case 620: case 631:
#line 2151 "src/p.y" #line 2230 "src/p.y"
{ mailset.subject = (yyvsp[0].string); } { mailset.subject = (yyvsp[0].string); }
#line 6098 "src/y.tab.c" #line 6271 "src/y.tab.c"
break; break;
case 621: case 632:
#line 2152 "src/p.y" #line 2231 "src/p.y"
{ mailset.message = (yyvsp[0].string); } { mailset.message = (yyvsp[0].string); }
#line 6104 "src/y.tab.c" #line 6277 "src/y.tab.c"
break; break;
case 622: case 633:
#line 2155 "src/p.y" #line 2234 "src/p.y"
{ {
current->every.type = Every_SkipCycles; current->every.type = Every_SkipCycles;
current->every.spec.cycle.counter = current->every.spec. cycle.number = (yyvsp[-1].number); current->every.spec.cycle.counter = current->every.spec. cycle.number = (yyvsp[-1].number);
} }
#line 6113 "src/y.tab.c" #line 6286 "src/y.tab.c"
break; break;
case 623: case 634:
#line 2159 "src/p.y" #line 2238 "src/p.y"
{ {
current->every.type = Every_Cron; current->every.type = Every_Cron;
current->every.spec.cron = (yyvsp[0].string); current->every.spec.cron = (yyvsp[0].string);
} }
#line 6122 "src/y.tab.c" #line 6295 "src/y.tab.c"
break; break;
case 624: case 635:
#line 2163 "src/p.y" #line 2242 "src/p.y"
{ {
current->every.type = Every_NotInCron; current->every.type = Every_NotInCron;
current->every.spec.cron = (yyvsp[0].string); current->every.spec.cron = (yyvsp[0].string);
} }
#line 6131 "src/y.tab.c" #line 6304 "src/y.tab.c"
break; break;
case 625: case 636:
#line 2169 "src/p.y" #line 2248 "src/p.y"
{ {
current->mode = Monitor_Active; current->mode = Monitor_Active;
} }
#line 6139 "src/y.tab.c" #line 6312 "src/y.tab.c"
break; break;
case 626: case 637:
#line 2172 "src/p.y" #line 2251 "src/p.y"
{ {
current->mode = Monitor_Passive; current->mode = Monitor_Passive;
} }
#line 6147 "src/y.tab.c" #line 6320 "src/y.tab.c"
break; break;
case 627: case 638:
#line 2175 "src/p.y" #line 2254 "src/p.y"
{ {
// Deprecated since monit 5.18 // Deprecated since monit 5.18
current->onreboot = Onreboot_Laststate; current->onreboot = Onreboot_Laststate;
} }
#line 6156 "src/y.tab.c" #line 6329 "src/y.tab.c"
break; break;
case 628: case 639:
#line 2181 "src/p.y" #line 2260 "src/p.y"
{ {
current->onreboot = Onreboot_Start; current->onreboot = Onreboot_Start;
} }
#line 6164 "src/y.tab.c" #line 6337 "src/y.tab.c"
break; break;
case 629: case 640:
#line 2184 "src/p.y" #line 2263 "src/p.y"
{ {
current->onreboot = Onreboot_Nostart; current->onreboot = Onreboot_Nostart;
current->monitor = Monitor_Not; current->monitor = Monitor_Not;
} }
#line 6173 "src/y.tab.c" #line 6346 "src/y.tab.c"
break; break;
case 630: case 641:
#line 2188 "src/p.y" #line 2267 "src/p.y"
{ {
current->onreboot = Onreboot_Laststate; current->onreboot = Onreboot_Laststate;
} }
#line 6181 "src/y.tab.c" #line 6354 "src/y.tab.c"
break; break;
case 631: case 642:
#line 2193 "src/p.y" #line 2272 "src/p.y"
{ {
addservicegroup((yyvsp[0].string)); addservicegroup((yyvsp[0].string));
FREE((yyvsp[0].string)); FREE((yyvsp[0].string));
} }
#line 6190 "src/y.tab.c" #line 6363 "src/y.tab.c"
break; break;
case 635: case 646:
#line 2207 "src/p.y" #line 2286 "src/p.y"
{ adddependant((yyvsp[0].string)); } { adddependant((yyvsp[0].string)); }
#line 6196 "src/y.tab.c" #line 6369 "src/y.tab.c"
break; break;
case 636: case 647:
#line 2210 "src/p.y" #line 2289 "src/p.y"
{
{
statusset.initialized = true; statusset.initialized = true;
statusset.operator = (yyvsp[-5].number); statusset.operator = (yyvsp[-5].number);
statusset.return_value = (yyvsp[-4].number); statusset.return_value = (yyvsp[-4].number);
addeventaction(&(statusset).action, (yyvsp[-1].number), (yyvsp[0].number)); addeventaction(&(statusset).action, (yyvsp[-1].number), (yyvsp[0].number));
addstatus(&statusset); addstatus(&statusset);
} }
#line 6208 "src/y.tab.c" #line 6381 "src/y.tab.c"
break; break;
case 637: case 648:
#line 2217 "src/p.y" #line 2296 "src/p.y"
{ {
statusset.initialized = false; statusset.initialized = false;
statusset.operator = Operator_Changed; statusset.operator = Operator_Changed;
statusset.return_value = 0; statusset.return_value = 0;
addeventaction(&(statusset).action, (yyvsp[0].number), A ction_Ignored); addeventaction(&(statusset).action, (yyvsp[0].number), A ction_Ignored);
addstatus(&statusset); addstatus(&statusset);
} }
#line 6220 "src/y.tab.c" #line 6393 "src/y.tab.c"
break; break;
case 638: case 649:
#line 2226 "src/p.y" #line 2305 "src/p.y"
{ {
addeventaction(&(resourceset).action, (yyvsp[-1].number) , (yyvsp[0].number)); addeventaction(&(resourceset).action, (yyvsp[-1].number) , (yyvsp[0].number));
addresource(&resourceset); addresource(&resourceset);
} }
#line 6229 "src/y.tab.c" #line 6402 "src/y.tab.c"
break; break;
case 648: case 659:
#line 2245 "src/p.y" #line 2324 "src/p.y"
{ {
addeventaction(&(resourceset).action, (yyvsp[-1].number) , (yyvsp[0].number)); addeventaction(&(resourceset).action, (yyvsp[-1].number) , (yyvsp[0].number));
addresource(&resourceset); addresource(&resourceset);
} }
#line 6238 "src/y.tab.c" #line 6411 "src/y.tab.c"
break; break;
case 655: case 666:
#line 2261 "src/p.y" #line 2340 "src/p.y"
{ {
resourceset.resource_id = Resource_CpuPercent; resourceset.resource_id = Resource_CpuPercent;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].real); resourceset.limit = (yyvsp[-1].real);
} }
#line 6248 "src/y.tab.c" #line 6421 "src/y.tab.c"
break; break;
case 656: case 667:
#line 2266 "src/p.y" #line 2345 "src/p.y"
{ {
resourceset.resource_id = Resource_CpuPercentTotal; resourceset.resource_id = Resource_CpuPercentTotal;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].real); resourceset.limit = (yyvsp[-1].real);
} }
#line 6258 "src/y.tab.c" #line 6431 "src/y.tab.c"
break; break;
case 657: case 668:
#line 2273 "src/p.y" #line 2352 "src/p.y"
{ {
resourceset.resource_id = (yyvsp[-3].number); resourceset.resource_id = (yyvsp[-3].number);
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].real); resourceset.limit = (yyvsp[-1].real);
} }
#line 6268 "src/y.tab.c" #line 6441 "src/y.tab.c"
break; break;
case 658: case 669:
#line 2280 "src/p.y" #line 2359 "src/p.y"
{ {
if (systeminfo.statisticsAvailable & Statistics_CpuUser) if (systeminfo.statisticsAvailable & Statistics_CpuUser)
(yyval.number) = Resource_CpuUser; (yyval.number) = Resource_CpuUser;
else else
yywarning2("The CPU user usage statistics is not available on this system\n"); yywarning2("The CPU user usage statistics is not available on this system\n");
} }
#line 6279 "src/y.tab.c" #line 6452 "src/y.tab.c"
break; break;
case 659: case 670:
#line 2286 "src/p.y" #line 2365 "src/p.y"
{ {
if (systeminfo.statisticsAvailable & Statistics_CpuSyste m) if (systeminfo.statisticsAvailable & Statistics_CpuSyste m)
(yyval.number) = Resource_CpuSystem; (yyval.number) = Resource_CpuSystem;
else else
yywarning2("The CPU system usage statistics is n ot available on this system\n"); yywarning2("The CPU system usage statistics is n ot available on this system\n");
} }
#line 6290 "src/y.tab.c" #line 6463 "src/y.tab.c"
break; break;
case 660: case 671:
#line 2292 "src/p.y" #line 2371 "src/p.y"
{ {
if (systeminfo.statisticsAvailable & Statistics_CpuIOWai t) if (systeminfo.statisticsAvailable & Statistics_CpuIOWai t)
(yyval.number) = Resource_CpuWait; (yyval.number) = Resource_CpuWait;
else else
yywarning2("The CPU I/O wait usage statistics is not available on this system\n"); yywarning2("The CPU I/O wait usage statistics is not available on this system\n");
} }
#line 6301 "src/y.tab.c" #line 6474 "src/y.tab.c"
break; break;
case 661: case 672:
#line 2298 "src/p.y" #line 2377 "src/p.y"
{ {
if (systeminfo.statisticsAvailable & Statistics_CpuNice) if (systeminfo.statisticsAvailable & Statistics_CpuNice)
(yyval.number) = Resource_CpuNice; (yyval.number) = Resource_CpuNice;
else else
yywarning2("The CPU nice usage statistics is not available on this system\n"); yywarning2("The CPU nice usage statistics is not available on this system\n");
} }
#line 6312 "src/y.tab.c" #line 6485 "src/y.tab.c"
break; break;
case 662: case 673:
#line 2304 "src/p.y" #line 2383 "src/p.y"
{ {
if (systeminfo.statisticsAvailable & Statistics_CpuHardI RQ) if (systeminfo.statisticsAvailable & Statistics_CpuHardI RQ)
(yyval.number) = Resource_CpuHardIRQ; (yyval.number) = Resource_CpuHardIRQ;
else else
yywarning2("The CPU hardware IRQ usage statistic s is not available on this system\n"); yywarning2("The CPU hardware IRQ usage statistic s is not available on this system\n");
} }
#line 6323 "src/y.tab.c" #line 6496 "src/y.tab.c"
break; break;
case 663: case 674:
#line 2310 "src/p.y" #line 2389 "src/p.y"
{ {
if (systeminfo.statisticsAvailable & Statistics_CpuSoftI RQ) if (systeminfo.statisticsAvailable & Statistics_CpuSoftI RQ)
(yyval.number) = Resource_CpuSoftIRQ; (yyval.number) = Resource_CpuSoftIRQ;
else else
yywarning2("The CPU software IRQ usage statistic s is not available on this system\n"); yywarning2("The CPU software IRQ usage statistic s is not available on this system\n");
} }
#line 6334 "src/y.tab.c" #line 6507 "src/y.tab.c"
break; break;
case 664: case 675:
#line 2316 "src/p.y" #line 2395 "src/p.y"
{ {
if (systeminfo.statisticsAvailable & Statistics_CpuSteal ) if (systeminfo.statisticsAvailable & Statistics_CpuSteal )
(yyval.number) = Resource_CpuSteal; (yyval.number) = Resource_CpuSteal;
else else
yywarning2("The CPU steal usage statistics is no t available on this system\n"); yywarning2("The CPU steal usage statistics is no t available on this system\n");
} }
#line 6345 "src/y.tab.c" #line 6518 "src/y.tab.c"
break; break;
case 665: case 676:
#line 2322 "src/p.y" #line 2401 "src/p.y"
{ {
if (systeminfo.statisticsAvailable & Statistics_CpuGuest ) if (systeminfo.statisticsAvailable & Statistics_CpuGuest )
(yyval.number) = Resource_CpuGuest; (yyval.number) = Resource_CpuGuest;
else else
yywarning2("The CPU guest usage statistics is no t available on this system\n"); yywarning2("The CPU guest usage statistics is no t available on this system\n");
} }
#line 6356 "src/y.tab.c" #line 6529 "src/y.tab.c"
break; break;
case 666: case 677:
#line 2328 "src/p.y" #line 2407 "src/p.y"
{ {
if (systeminfo.statisticsAvailable & Statistics_CpuGuest Nice) if (systeminfo.statisticsAvailable & Statistics_CpuGuest Nice)
(yyval.number) = Resource_CpuGuestNice; (yyval.number) = Resource_CpuGuestNice;
else else
yywarning2("The CPU guest nice usage statistics is not available on this system\n"); yywarning2("The CPU guest nice usage statistics is not available on this system\n");
} }
#line 6367 "src/y.tab.c" #line 6540 "src/y.tab.c"
break; break;
case 667: case 678:
#line 2334 "src/p.y" #line 2413 "src/p.y"
{ {
(yyval.number) = Resource_CpuPercent; (yyval.number) = Resource_CpuPercent;
} }
#line 6375 "src/y.tab.c" #line 6548 "src/y.tab.c"
break; break;
case 668: case 679:
#line 2339 "src/p.y" #line 2418 "src/p.y"
{ {
resourceset.resource_id = Resource_MemoryKbyte; resourceset.resource_id = Resource_MemoryKbyte;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].real) * (yyvsp[0].number) ; resourceset.limit = (yyvsp[-1].real) * (yyvsp[0].number) ;
} }
#line 6385 "src/y.tab.c" #line 6558 "src/y.tab.c"
break; break;
case 669: case 680:
#line 2344 "src/p.y" #line 2423 "src/p.y"
{ {
resourceset.resource_id = Resource_MemoryPercent; resourceset.resource_id = Resource_MemoryPercent;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].real); resourceset.limit = (yyvsp[-1].real);
} }
#line 6395 "src/y.tab.c" #line 6568 "src/y.tab.c"
break; break;
case 670: case 681:
#line 2351 "src/p.y" #line 2430 "src/p.y"
{ {
resourceset.resource_id = Resource_MemoryKbyte; resourceset.resource_id = Resource_MemoryKbyte;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].real) * (yyvsp[0].number) ; resourceset.limit = (yyvsp[-1].real) * (yyvsp[0].number) ;
} }
#line 6405 "src/y.tab.c" #line 6578 "src/y.tab.c"
break; break;
case 671: case 682:
#line 2356 "src/p.y" #line 2435 "src/p.y"
{ {
resourceset.resource_id = Resource_MemoryPercent; resourceset.resource_id = Resource_MemoryPercent;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].real); resourceset.limit = (yyvsp[-1].real);
} }
#line 6415 "src/y.tab.c" #line 6588 "src/y.tab.c"
break; break;
case 672: case 683:
#line 2361 "src/p.y" #line 2440 "src/p.y"
{ {
resourceset.resource_id = Resource_MemoryKbyteTotal; resourceset.resource_id = Resource_MemoryKbyteTotal;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].real) * (yyvsp[0].number) ; resourceset.limit = (yyvsp[-1].real) * (yyvsp[0].number) ;
} }
#line 6425 "src/y.tab.c" #line 6598 "src/y.tab.c"
break; break;
case 673: case 684:
#line 2366 "src/p.y" #line 2445 "src/p.y"
{ {
resourceset.resource_id = Resource_MemoryPercentTotal; resourceset.resource_id = Resource_MemoryPercentTotal;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].real); resourceset.limit = (yyvsp[-1].real);
} }
#line 6435 "src/y.tab.c" #line 6608 "src/y.tab.c"
break; break;
case 674: case 685:
#line 2373 "src/p.y" #line 2452 "src/p.y"
{ {
resourceset.resource_id = Resource_SwapKbyte; resourceset.resource_id = Resource_SwapKbyte;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].real) * (yyvsp[0].number) ; resourceset.limit = (yyvsp[-1].real) * (yyvsp[0].number) ;
} }
#line 6445 "src/y.tab.c" #line 6618 "src/y.tab.c"
break; break;
case 675: case 686:
#line 2378 "src/p.y" #line 2457 "src/p.y"
{ {
resourceset.resource_id = Resource_SwapPercent; resourceset.resource_id = Resource_SwapPercent;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].real); resourceset.limit = (yyvsp[-1].real);
} }
#line 6455 "src/y.tab.c" #line 6628 "src/y.tab.c"
break; break;
case 676: case 687:
#line 2385 "src/p.y" #line 2464 "src/p.y"
{ {
resourceset.resource_id = Resource_Threads; resourceset.resource_id = Resource_Threads;
resourceset.operator = (yyvsp[-1].number); resourceset.operator = (yyvsp[-1].number);
resourceset.limit = (yyvsp[0].number); resourceset.limit = (yyvsp[0].number);
} }
#line 6465 "src/y.tab.c" #line 6638 "src/y.tab.c"
break; break;
case 677: case 688:
#line 2392 "src/p.y" #line 2471 "src/p.y"
{ {
resourceset.resource_id = Resource_Children; resourceset.resource_id = Resource_Children;
resourceset.operator = (yyvsp[-1].number); resourceset.operator = (yyvsp[-1].number);
resourceset.limit = (yyvsp[0].number); resourceset.limit = (yyvsp[0].number);
} }
#line 6475 "src/y.tab.c" #line 6648 "src/y.tab.c"
break; break;
case 678: case 689:
#line 2399 "src/p.y" #line 2478 "src/p.y"
{ {
switch ((yyvsp[-3].number)) { switch ((yyvsp[-3].number)) {
case Resource_LoadAverage1m: case Resource_LoadAverage1m:
resourceset.resource_id = (yyvsp[-2].num ber) > 1 ? Resource_LoadAveragePerCore1m : (yyvsp[-3].number); resourceset.resource_id = (yyvsp[-2].num ber) > 1 ? Resource_LoadAveragePerCore1m : (yyvsp[-3].number);
break; break;
case Resource_LoadAverage5m: case Resource_LoadAverage5m:
resourceset.resource_id = (yyvsp[-2].num ber) > 1 ? Resource_LoadAveragePerCore5m : (yyvsp[-3].number); resourceset.resource_id = (yyvsp[-2].num ber) > 1 ? Resource_LoadAveragePerCore5m : (yyvsp[-3].number);
break; break;
case Resource_LoadAverage15m: case Resource_LoadAverage15m:
resourceset.resource_id = (yyvsp[-2].num ber) > 1 ? Resource_LoadAveragePerCore15m : (yyvsp[-3].number); resourceset.resource_id = (yyvsp[-2].num ber) > 1 ? Resource_LoadAveragePerCore15m : (yyvsp[-3].number);
break; break;
default: default:
resourceset.resource_id = (yyvsp[-3].num ber); resourceset.resource_id = (yyvsp[-3].num ber);
break; break;
} }
resourceset.operator = (yyvsp[-1].number); resourceset.operator = (yyvsp[-1].number);
resourceset.limit = (yyvsp[0].real); resourceset.limit = (yyvsp[0].real);
} }
#line 6498 "src/y.tab.c" #line 6671 "src/y.tab.c"
break; break;
case 679: case 690:
#line 2419 "src/p.y" #line 2498 "src/p.y"
{ (yyval.number) = Resource_LoadAverage1m; } { (yyval.number) = Resource_LoadAverage1m; }
#line 6504 "src/y.tab.c" #line 6677 "src/y.tab.c"
break; break;
case 680: case 691:
#line 2420 "src/p.y" #line 2499 "src/p.y"
{ (yyval.number) = Resource_LoadAverage5m; } { (yyval.number) = Resource_LoadAverage5m; }
#line 6510 "src/y.tab.c" #line 6683 "src/y.tab.c"
break; break;
case 681: case 692:
#line 2421 "src/p.y" #line 2500 "src/p.y"
{ (yyval.number) = Resource_LoadAverage15m; } { (yyval.number) = Resource_LoadAverage15m; }
#line 6516 "src/y.tab.c" #line 6689 "src/y.tab.c"
break; break;
case 682: case 693:
#line 2424 "src/p.y" #line 2503 "src/p.y"
{ (yyval.number) = 1; } { (yyval.number) = 1; }
#line 6522 "src/y.tab.c" #line 6695 "src/y.tab.c"
break; break;
case 683: case 694:
#line 2425 "src/p.y" #line 2504 "src/p.y"
{ (yyval.number) = systeminfo.cpu.count; } { (yyval.number) = systeminfo.cpu.count; }
#line 6528 "src/y.tab.c" #line 6701 "src/y.tab.c"
break; break;
case 684: case 695:
#line 2429 "src/p.y" #line 2508 "src/p.y"
{ {
resourceset.resource_id = Resource_ReadBytes; resourceset.resource_id = Resource_ReadBytes;
resourceset.operator = (yyvsp[-3].number); resourceset.operator = (yyvsp[-3].number);
resourceset.limit = (yyvsp[-2].real) * (yyvsp[-1].number ); resourceset.limit = (yyvsp[-2].real) * (yyvsp[-1].number );
} }
#line 6538 "src/y.tab.c" #line 6711 "src/y.tab.c"
break; break;
case 685: case 696:
#line 2434 "src/p.y" #line 2513 "src/p.y"
{ {
resourceset.resource_id = Resource_ReadBytesPhysical; resourceset.resource_id = Resource_ReadBytesPhysical;
resourceset.operator = (yyvsp[-3].number); resourceset.operator = (yyvsp[-3].number);
resourceset.limit = (yyvsp[-2].real) * (yyvsp[-1].number ); resourceset.limit = (yyvsp[-2].real) * (yyvsp[-1].number );
} }
#line 6548 "src/y.tab.c" #line 6721 "src/y.tab.c"
break; break;
case 686: case 697:
#line 2439 "src/p.y" #line 2518 "src/p.y"
{ {
resourceset.resource_id = Resource_ReadOperations; resourceset.resource_id = Resource_ReadOperations;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].number); resourceset.limit = (yyvsp[-1].number);
} }
#line 6558 "src/y.tab.c" #line 6731 "src/y.tab.c"
break; break;
case 687: case 698:
#line 2446 "src/p.y" #line 2525 "src/p.y"
{ {
resourceset.resource_id = Resource_WriteBytes; resourceset.resource_id = Resource_WriteBytes;
resourceset.operator = (yyvsp[-3].number); resourceset.operator = (yyvsp[-3].number);
resourceset.limit = (yyvsp[-2].real) * (yyvsp[-1].number ); resourceset.limit = (yyvsp[-2].real) * (yyvsp[-1].number );
} }
#line 6568 "src/y.tab.c" #line 6741 "src/y.tab.c"
break; break;
case 688: case 699:
#line 2451 "src/p.y" #line 2530 "src/p.y"
{ {
resourceset.resource_id = Resource_WriteBytesPhysical; resourceset.resource_id = Resource_WriteBytesPhysical;
resourceset.operator = (yyvsp[-3].number); resourceset.operator = (yyvsp[-3].number);
resourceset.limit = (yyvsp[-2].real) * (yyvsp[-1].number ); resourceset.limit = (yyvsp[-2].real) * (yyvsp[-1].number );
} }
#line 6578 "src/y.tab.c" #line 6751 "src/y.tab.c"
break; break;
case 689: case 700:
#line 2456 "src/p.y" #line 2535 "src/p.y"
{ {
resourceset.resource_id = Resource_WriteOperations; resourceset.resource_id = Resource_WriteOperations;
resourceset.operator = (yyvsp[-2].number); resourceset.operator = (yyvsp[-2].number);
resourceset.limit = (yyvsp[-1].number); resourceset.limit = (yyvsp[-1].number);
} }
#line 6588 "src/y.tab.c" #line 6761 "src/y.tab.c"
break; break;
case 690: case 701:
#line 2463 "src/p.y" #line 2542 "src/p.y"
{ (yyval.real) = (yyvsp[0].real); } { (yyval.real) = (yyvsp[0].real); }
#line 6594 "src/y.tab.c" #line 6767 "src/y.tab.c"
break; break;
case 691: case 702:
#line 2464 "src/p.y" #line 2543 "src/p.y"
{ (yyval.real) = (float) (yyvsp[0].number); } { (yyval.real) = (float) (yyvsp[0].number); }
#line 6600 "src/y.tab.c" #line 6773 "src/y.tab.c"
break; break;
case 692: case 703:
#line 2467 "src/p.y" #line 2546 "src/p.y"
{ (yyval.number) = Timestamp_Default; } { (yyval.number) = Timestamp_Default; }
#line 6606 "src/y.tab.c" #line 6779 "src/y.tab.c"
break; break;
case 693: case 704:
#line 2468 "src/p.y" #line 2547 "src/p.y"
{ (yyval.number) = Timestamp_Access; } { (yyval.number) = Timestamp_Access; }
#line 6612 "src/y.tab.c" #line 6785 "src/y.tab.c"
break; break;
case 694: case 705:
#line 2469 "src/p.y" #line 2548 "src/p.y"
{ (yyval.number) = Timestamp_Change; } { (yyval.number) = Timestamp_Change; }
#line 6618 "src/y.tab.c" #line 6791 "src/y.tab.c"
break; break;
case 695: case 706:
#line 2470 "src/p.y" #line 2549 "src/p.y"
{ (yyval.number) = Timestamp_Modification; } { (yyval.number) = Timestamp_Modification; }
#line 6624 "src/y.tab.c" #line 6797 "src/y.tab.c"
break; break;
case 696: case 707:
#line 2473 "src/p.y" #line 2552 "src/p.y"
{ {
timestampset.type = (yyvsp[-7].number); timestampset.type = (yyvsp[-7].number);
timestampset.operator = (yyvsp[-6].number); timestampset.operator = (yyvsp[-6].number);
timestampset.time = ((yyvsp[-5].number) * (yyvsp[-4].num ber)); timestampset.time = ((yyvsp[-5].number) * (yyvsp[-4].num ber));
addeventaction(&(timestampset).action, (yyvsp[-1].number ), (yyvsp[0].number)); addeventaction(&(timestampset).action, (yyvsp[-1].number ), (yyvsp[0].number));
addtimestamp(&timestampset); addtimestamp(&timestampset);
} }
#line 6636 "src/y.tab.c" #line 6809 "src/y.tab.c"
break; break;
case 697: case 708:
#line 2480 "src/p.y" #line 2559 "src/p.y"
{ {
timestampset.type = (yyvsp[-3].number); timestampset.type = (yyvsp[-3].number);
timestampset.test_changes = true; timestampset.test_changes = true;
addeventaction(&(timestampset).action, (yyvsp[0].number) , Action_Ignored); addeventaction(&(timestampset).action, (yyvsp[0].number) , Action_Ignored);
addtimestamp(&timestampset); addtimestamp(&timestampset);
} }
#line 6647 "src/y.tab.c" #line 6820 "src/y.tab.c"
break; break;
case 698: case 709:
#line 2488 "src/p.y" #line 2567 "src/p.y"
{ (yyval.number) = Operator_Equal; } { (yyval.number) = Operator_Equal; }
#line 6653 "src/y.tab.c" #line 6826 "src/y.tab.c"
break; break;
case 699: case 710:
#line 2489 "src/p.y" #line 2568 "src/p.y"
{ (yyval.number) = Operator_Greater; } { (yyval.number) = Operator_Greater; }
#line 6659 "src/y.tab.c" #line 6832 "src/y.tab.c"
break; break;
case 700: case 711:
#line 2490 "src/p.y" #line 2569 "src/p.y"
{ (yyval.number) = Operator_GreaterOrEqual; } { (yyval.number) = Operator_GreaterOrEqual; }
#line 6665 "src/y.tab.c" #line 6838 "src/y.tab.c"
break; break;
case 701: case 712:
#line 2491 "src/p.y" #line 2570 "src/p.y"
{ (yyval.number) = Operator_Less; } { (yyval.number) = Operator_Less; }
#line 6671 "src/y.tab.c" #line 6844 "src/y.tab.c"
break; break;
case 702: case 713:
#line 2492 "src/p.y" #line 2571 "src/p.y"
{ (yyval.number) = Operator_LessOrEqual; } { (yyval.number) = Operator_LessOrEqual; }
#line 6677 "src/y.tab.c" #line 6850 "src/y.tab.c"
break; break;
case 703: case 714:
#line 2493 "src/p.y" #line 2572 "src/p.y"
{ (yyval.number) = Operator_Equal; } { (yyval.number) = Operator_Equal; }
#line 6683 "src/y.tab.c" #line 6856 "src/y.tab.c"
break; break;
case 704: case 715:
#line 2494 "src/p.y" #line 2573 "src/p.y"
{ (yyval.number) = Operator_NotEqual; } { (yyval.number) = Operator_NotEqual; }
#line 6689 "src/y.tab.c" #line 6862 "src/y.tab.c"
break; break;
case 705: case 716:
#line 2495 "src/p.y" #line 2574 "src/p.y"
{ (yyval.number) = Operator_Changed; } { (yyval.number) = Operator_Changed; }
#line 6695 "src/y.tab.c" #line 6868 "src/y.tab.c"
break; break;
case 706: case 717:
#line 2498 "src/p.y" #line 2577 "src/p.y"
{ (yyval.number) = Time_Second; } { (yyval.number) = Time_Second; }
#line 6701 "src/y.tab.c" #line 6874 "src/y.tab.c"
break; break;
case 707: case 718:
#line 2499 "src/p.y" #line 2578 "src/p.y"
{ (yyval.number) = Time_Second; } { (yyval.number) = Time_Second; }
#line 6707 "src/y.tab.c" #line 6880 "src/y.tab.c"
break; break;
case 708: case 719:
#line 2500 "src/p.y" #line 2579 "src/p.y"
{ (yyval.number) = Time_Minute; } { (yyval.number) = Time_Minute; }
#line 6713 "src/y.tab.c" #line 6886 "src/y.tab.c"
break; break;
case 709: case 720:
#line 2501 "src/p.y" #line 2580 "src/p.y"
{ (yyval.number) = Time_Hour; } { (yyval.number) = Time_Hour; }
#line 6719 "src/y.tab.c" #line 6892 "src/y.tab.c"
break; break;
case 710: case 721:
#line 2502 "src/p.y" #line 2581 "src/p.y"
{ (yyval.number) = Time_Day; } { (yyval.number) = Time_Day; }
#line 6725 "src/y.tab.c" #line 6898 "src/y.tab.c"
break; break;
case 711: case 722:
#line 2503 "src/p.y" #line 2582 "src/p.y"
{ (yyval.number) = Time_Month; } { (yyval.number) = Time_Month; }
#line 6731 "src/y.tab.c" #line 6904 "src/y.tab.c"
break; break;
case 712: case 723:
#line 2506 "src/p.y" #line 2585 "src/p.y"
{ (yyval.number) = Time_Minute; } { (yyval.number) = Time_Minute; }
#line 6737 "src/y.tab.c" #line 6910 "src/y.tab.c"
break; break;
case 713: case 724:
#line 2507 "src/p.y" #line 2586 "src/p.y"
{ (yyval.number) = Time_Hour; } { (yyval.number) = Time_Hour; }
#line 6743 "src/y.tab.c" #line 6916 "src/y.tab.c"
break; break;
case 714: case 725:
#line 2508 "src/p.y" #line 2587 "src/p.y"
{ (yyval.number) = Time_Day; } { (yyval.number) = Time_Day; }
#line 6749 "src/y.tab.c" #line 6922 "src/y.tab.c"
break; break;
case 715: case 726:
#line 2510 "src/p.y" #line 2589 "src/p.y"
{ (yyval.number) = Time_Second; } { (yyval.number) = Time_Second; }
#line 6755 "src/y.tab.c" #line 6928 "src/y.tab.c"
break; break;
case 716: case 727:
#line 2511 "src/p.y" #line 2590 "src/p.y"
{ (yyval.number) = Time_Second; } { (yyval.number) = Time_Second; }
#line 6761 "src/y.tab.c" #line 6934 "src/y.tab.c"
break; break;
case 717: case 728:
#line 2513 "src/p.y" #line 2592 "src/p.y"
{ {
repeat = 0; repeat = 0;
} }
#line 6769 "src/y.tab.c" #line 6942 "src/y.tab.c"
break; break;
case 718: case 729:
#line 2516 "src/p.y" #line 2595 "src/p.y"
{ {
repeat = 1; repeat = 1;
} }
#line 6777 "src/y.tab.c" #line 6950 "src/y.tab.c"
break; break;
case 719: case 730:
#line 2519 "src/p.y" #line 2598 "src/p.y"
{ {
if ((yyvsp[-1].number) < 0) { if ((yyvsp[-1].number) < 0) {
yyerror2("The number of repeat cycles must be gr eater or equal to 0"); yyerror2("The number of repeat cycles must be gr eater or equal to 0");
} }
repeat = (yyvsp[-1].number); repeat = (yyvsp[-1].number);
} }
#line 6788 "src/y.tab.c" #line 6961 "src/y.tab.c"
break; break;
case 720: case 731:
#line 2527 "src/p.y" #line 2606 "src/p.y"
{ {
(yyval.number) = Action_Alert; (yyval.number) = Action_Alert;
} }
#line 6796 "src/y.tab.c" #line 6969 "src/y.tab.c"
break; break;
case 721: case 732:
#line 2530 "src/p.y" #line 2609 "src/p.y"
{ {
(yyval.number) = Action_Exec; (yyval.number) = Action_Exec;
} }
#line 6804 "src/y.tab.c" #line 6977 "src/y.tab.c"
break; break;
case 722: case 733:
#line 2534 "src/p.y" #line 2613 "src/p.y"
{ {
(yyval.number) = Action_Exec; (yyval.number) = Action_Exec;
} }
#line 6812 "src/y.tab.c" #line 6985 "src/y.tab.c"
break; break;
case 723: case 734:
#line 2537 "src/p.y" #line 2616 "src/p.y"
{ {
(yyval.number) = Action_Restart; (yyval.number) = Action_Restart;
} }
#line 6820 "src/y.tab.c" #line 6993 "src/y.tab.c"
break; break;
case 724: case 735:
#line 2540 "src/p.y" #line 2619 "src/p.y"
{ {
(yyval.number) = Action_Start; (yyval.number) = Action_Start;
} }
#line 6828 "src/y.tab.c" #line 7001 "src/y.tab.c"
break; break;
case 725: case 736:
#line 2543 "src/p.y" #line 2622 "src/p.y"
{ {
(yyval.number) = Action_Stop; (yyval.number) = Action_Stop;
} }
#line 6836 "src/y.tab.c" #line 7009 "src/y.tab.c"
break; break;
case 726: case 737:
#line 2546 "src/p.y" #line 2625 "src/p.y"
{ {
(yyval.number) = Action_Unmonitor; (yyval.number) = Action_Unmonitor;
} }
#line 6844 "src/y.tab.c" #line 7017 "src/y.tab.c"
break; break;
case 727: case 738:
#line 2551 "src/p.y" #line 2630 "src/p.y"
{ {
(yyval.number) = (yyvsp[0].number); (yyval.number) = (yyvsp[0].number);
if ((yyvsp[0].number) == Action_Exec && command) { if ((yyvsp[0].number) == Action_Exec && command) {
repeat1 = repeat; repeat1 = repeat;
repeat = 0; repeat = 0;
command1 = command; command1 = command;
command = NULL; command = NULL;
} }
} }
#line 6858 "src/y.tab.c" #line 7031 "src/y.tab.c"
break; break;
case 728: case 739:
#line 2562 "src/p.y" #line 2641 "src/p.y"
{ {
(yyval.number) = (yyvsp[0].number); (yyval.number) = (yyvsp[0].number);
if ((yyvsp[0].number) == Action_Exec && command) { if ((yyvsp[0].number) == Action_Exec && command) {
repeat2 = repeat; repeat2 = repeat;
repeat = 0; repeat = 0;
command2 = command; command2 = command;
command = NULL; command = NULL;
} }
} }
#line 6872 "src/y.tab.c" #line 7045 "src/y.tab.c"
break; break;