/* A Bison parser, made by GNU Bison 1.875.  */

/* Skeleton parser for Yacc-like parsing with Bison,
   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  */

/* As a special exception, when this file is copied by Bison into a
   Bison output file, you may use that output file without restriction.
   This special exception was added by the Free Software Foundation
   in version 1.24 of Bison.  */

/* Tokens.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
   /* Put the tokens into the symbol table, so that GDB and other debuggers
      know about them.  */
   enum yytokentype {
     IDENT = 258,
     FCONST = 259,
     SCONST = 260,
     BCONST = 261,
     XCONST = 262,
     Op = 263,
     ICONST = 264,
     PARAM = 265,
     TYPECAST = 266,
     DOT_DOT = 267,
     COLON_EQUALS = 268,
     ABORT_P = 269,
     ABSOLUTE_P = 270,
     ACCESS = 271,
     ACTION = 272,
     ADD_P = 273,
     ADMIN = 274,
     AFTER = 275,
     AGGREGATE = 276,
     ALL = 277,
     ALSO = 278,
     ALTER = 279,
     ALWAYS = 280,
     ANALYSE = 281,
     ANALYZE = 282,
     AND = 283,
     ANY = 284,
     ARRAY = 285,
     AS = 286,
     ASC = 287,
     ASSERTION = 288,
     ASSIGNMENT = 289,
     ASYMMETRIC = 290,
     AT = 291,
     ATTRIBUTE = 292,
     AUTHORIZATION = 293,
     BACKWARD = 294,
     BEFORE = 295,
     BEGIN_P = 296,
     BETWEEN = 297,
     BIGINT = 298,
     BINARY = 299,
     BIT = 300,
     BOOLEAN_P = 301,
     BOTH = 302,
     BY = 303,
     CACHE = 304,
     CALLED = 305,
     CASCADE = 306,
     CASCADED = 307,
     CASE = 308,
     CAST = 309,
     CATALOG_P = 310,
     CHAIN = 311,
     CHAR_P = 312,
     CHARACTER = 313,
     CHARACTERISTICS = 314,
     CHECK = 315,
     CHECKPOINT = 316,
     CLASS = 317,
     CLOSE = 318,
     CLUSTER = 319,
     COALESCE = 320,
     COLLATE = 321,
     COLLATION = 322,
     COLUMN = 323,
     COMMENT = 324,
     COMMENTS = 325,
     COMMIT = 326,
     COMMITTED = 327,
     CONCURRENTLY = 328,
     CONFIGURATION = 329,
     CONNECTION = 330,
     CONSTRAINT = 331,
     CONSTRAINTS = 332,
     CONTENT_P = 333,
     CONTINUE_P = 334,
     CONVERSION_P = 335,
     COPY = 336,
     COST = 337,
     CREATE = 338,
     CROSS = 339,
     CSV = 340,
     CURRENT_P = 341,
     CURRENT_CATALOG = 342,
     CURRENT_DATE = 343,
     CURRENT_ROLE = 344,
     CURRENT_SCHEMA = 345,
     CURRENT_TIME = 346,
     CURRENT_TIMESTAMP = 347,
     CURRENT_USER = 348,
     CURSOR = 349,
     CYCLE = 350,
     DATA_P = 351,
     DATABASE = 352,
     DAY_P = 353,
     DEALLOCATE = 354,
     DEC = 355,
     DECIMAL_P = 356,
     DECLARE = 357,
     DEFAULT = 358,
     DEFAULTS = 359,
     DEFERRABLE = 360,
     DEFERRED = 361,
     DEFINER = 362,
     DELETE_P = 363,
     DELIMITER = 364,
     DELIMITERS = 365,
     DESC = 366,
     DICTIONARY = 367,
     DISABLE_P = 368,
     DISCARD = 369,
     DISTINCT = 370,
     DO = 371,
     DOCUMENT_P = 372,
     DOMAIN_P = 373,
     DOUBLE_P = 374,
     DROP = 375,
     EACH = 376,
     ELSE = 377,
     ENABLE_P = 378,
     ENCODING = 379,
     ENCRYPTED = 380,
     END_P = 381,
     ENUM_P = 382,
     ESCAPE = 383,
     EXCEPT = 384,
     EXCLUDE = 385,
     EXCLUDING = 386,
     EXCLUSIVE = 387,
     EXECUTE = 388,
     EXISTS = 389,
     EXPLAIN = 390,
     EXTENSION = 391,
     EXTERNAL = 392,
     EXTRACT = 393,
     FALSE_P = 394,
     FAMILY = 395,
     FETCH = 396,
     FIRST_P = 397,
     FLOAT_P = 398,
     FOLLOWING = 399,
     FOR = 400,
     FORCE = 401,
     FOREIGN = 402,
     FORWARD = 403,
     FREEZE = 404,
     FROM = 405,
     FULL = 406,
     FUNCTION = 407,
     FUNCTIONS = 408,
     GLOBAL = 409,
     GRANT = 410,
     GRANTED = 411,
     GREATEST = 412,
     GROUP_P = 413,
     HANDLER = 414,
     HAVING = 415,
     HEADER_P = 416,
     HOLD = 417,
     HOUR_P = 418,
     IDENTITY_P = 419,
     IF_P = 420,
     ILIKE = 421,
     IMMEDIATE = 422,
     IMMUTABLE = 423,
     IMPLICIT_P = 424,
     IN_P = 425,
     INCLUDING = 426,
     INCREMENT = 427,
     INDEX = 428,
     INDEXES = 429,
     INHERIT = 430,
     INHERITS = 431,
     INITIALLY = 432,
     INLINE_P = 433,
     INNER_P = 434,
     INOUT = 435,
     INPUT_P = 436,
     INSENSITIVE = 437,
     INSERT = 438,
     INSTEAD = 439,
     INT_P = 440,
     INTEGER = 441,
     INTERSECT = 442,
     INTERVAL = 443,
     INTO = 444,
     INVOKER = 445,
     IS = 446,
     ISNULL = 447,
     ISOLATION = 448,
     JOIN = 449,
     KEY = 450,
     LABEL = 451,
     LANGUAGE = 452,
     LARGE_P = 453,
     LAST_P = 454,
     LC_COLLATE_P = 455,
     LC_CTYPE_P = 456,
     LEADING = 457,
     LEAST = 458,
     LEFT = 459,
     LEVEL = 460,
     LIKE = 461,
     LIMIT = 462,
     LISTEN = 463,
     LOAD = 464,
     LOCAL = 465,
     LOCALTIME = 466,
     LOCALTIMESTAMP = 467,
     LOCATION = 468,
     LOCK_P = 469,
     MAPPING = 470,
     MATCH = 471,
     MAXVALUE = 472,
     MINUTE_P = 473,
     MINVALUE = 474,
     MODE = 475,
     MONTH_P = 476,
     MOVE = 477,
     NAME_P = 478,
     NAMES = 479,
     NATIONAL = 480,
     NATURAL = 481,
     NCHAR = 482,
     NEXT = 483,
     NO = 484,
     NONE = 485,
     NOT = 486,
     NOTHING = 487,
     NOTIFY = 488,
     NOTNULL = 489,
     NOWAIT = 490,
     NULL_P = 491,
     NULLIF = 492,
     NULLS_P = 493,
     NUMERIC = 494,
     OBJECT_P = 495,
     OF = 496,
     OFF = 497,
     OFFSET = 498,
     OIDS = 499,
     ON = 500,
     ONLY = 501,
     OPERATOR = 502,
     OPTION = 503,
     OPTIONS = 504,
     OR = 505,
     ORDER = 506,
     OUT_P = 507,
     OUTER_P = 508,
     OVER = 509,
     OVERLAPS = 510,
     OVERLAY = 511,
     OWNED = 512,
     OWNER = 513,
     PARSER = 514,
     PARTIAL = 515,
     PARTITION = 516,
     PASSING = 517,
     PASSWORD = 518,
     PLACING = 519,
     PLANS = 520,
     POSITION = 521,
     PRECEDING = 522,
     PRECISION = 523,
     PRESERVE = 524,
     PREPARE = 525,
     PREPARED = 526,
     PRIMARY = 527,
     PRIOR = 528,
     PRIVILEGES = 529,
     PROCEDURAL = 530,
     PROCEDURE = 531,
     QUOTE = 532,
     RANGE = 533,
     READ = 534,
     REAL = 535,
     REASSIGN = 536,
     RECHECK = 537,
     RECURSIVE = 538,
     REF = 539,
     REFERENCES = 540,
     REINDEX = 541,
     RELATIVE_P = 542,
     RELEASE = 543,
     RENAME = 544,
     REPEATABLE = 545,
     REPLACE = 546,
     REPLICA = 547,
     RESET = 548,
     RESTART = 549,
     RESTRICT = 550,
     RETURNING = 551,
     RETURNS = 552,
     REVOKE = 553,
     RIGHT = 554,
     ROLE = 555,
     ROLLBACK = 556,
     ROW = 557,
     ROWS = 558,
     RULE = 559,
     SAVEPOINT = 560,
     SCHEMA = 561,
     SCROLL = 562,
     SEARCH = 563,
     SECOND_P = 564,
     SECURITY = 565,
     SELECT = 566,
     SEQUENCE = 567,
     SEQUENCES = 568,
     SERIALIZABLE = 569,
     SERVER = 570,
     SESSION = 571,
     SESSION_USER = 572,
     SET = 573,
     SETOF = 574,
     SHARE = 575,
     SHOW = 576,
     SIMILAR = 577,
     SIMPLE = 578,
     SMALLINT = 579,
     SOME = 580,
     STABLE = 581,
     STANDALONE_P = 582,
     START = 583,
     STATEMENT = 584,
     STATISTICS = 585,
     STDIN = 586,
     STDOUT = 587,
     STORAGE = 588,
     STRICT_P = 589,
     STRIP_P = 590,
     SUBSTRING = 591,
     SYMMETRIC = 592,
     SYSID = 593,
     SYSTEM_P = 594,
     TABLE = 595,
     TABLES = 596,
     TABLESPACE = 597,
     TEMP = 598,
     TEMPLATE = 599,
     TEMPORARY = 600,
     TEXT_P = 601,
     THEN = 602,
     TIME = 603,
     TIMESTAMP = 604,
     TO = 605,
     TRAILING = 606,
     TRANSACTION = 607,
     TREAT = 608,
     TRIGGER = 609,
     TRIM = 610,
     TRUE_P = 611,
     TRUNCATE = 612,
     TRUSTED = 613,
     TYPE_P = 614,
     UNBOUNDED = 615,
     UNCOMMITTED = 616,
     UNENCRYPTED = 617,
     UNION = 618,
     UNIQUE = 619,
     UNKNOWN = 620,
     UNLISTEN = 621,
     UNLOGGED = 622,
     UNTIL = 623,
     UPDATE = 624,
     USER = 625,
     USING = 626,
     VACUUM = 627,
     VALID = 628,
     VALIDATE = 629,
     VALIDATOR = 630,
     VALUE_P = 631,
     VALUES = 632,
     VARCHAR = 633,
     VARIADIC = 634,
     VARYING = 635,
     VERBOSE = 636,
     VERSION_P = 637,
     VIEW = 638,
     VOLATILE = 639,
     WHEN = 640,
     WHERE = 641,
     WHITESPACE_P = 642,
     WINDOW = 643,
     WITH = 644,
     WITHOUT = 645,
     WORK = 646,
     WRAPPER = 647,
     WRITE = 648,
     XML_P = 649,
     XMLATTRIBUTES = 650,
     XMLCONCAT = 651,
     XMLELEMENT = 652,
     XMLEXISTS = 653,
     XMLFOREST = 654,
     XMLPARSE = 655,
     XMLPI = 656,
     XMLROOT = 657,
     XMLSERIALIZE = 658,
     YEAR_P = 659,
     YES_P = 660,
     ZONE = 661,
     NULLS_FIRST = 662,
     NULLS_LAST = 663,
     WITH_TIME = 664,
     POSTFIXOP = 665,
     UMINUS = 666
   };
#endif
#define IDENT 258
#define FCONST 259
#define SCONST 260
#define BCONST 261
#define XCONST 262
#define Op 263
#define ICONST 264
#define PARAM 265
#define TYPECAST 266
#define DOT_DOT 267
#define COLON_EQUALS 268
#define ABORT_P 269
#define ABSOLUTE_P 270
#define ACCESS 271
#define ACTION 272
#define ADD_P 273
#define ADMIN 274
#define AFTER 275
#define AGGREGATE 276
#define ALL 277
#define ALSO 278
#define ALTER 279
#define ALWAYS 280
#define ANALYSE 281
#define ANALYZE 282
#define AND 283
#define ANY 284
#define ARRAY 285
#define AS 286
#define ASC 287
#define ASSERTION 288
#define ASSIGNMENT 289
#define ASYMMETRIC 290
#define AT 291
#define ATTRIBUTE 292
#define AUTHORIZATION 293
#define BACKWARD 294
#define BEFORE 295
#define BEGIN_P 296
#define BETWEEN 297
#define BIGINT 298
#define BINARY 299
#define BIT 300
#define BOOLEAN_P 301
#define BOTH 302
#define BY 303
#define CACHE 304
#define CALLED 305
#define CASCADE 306
#define CASCADED 307
#define CASE 308
#define CAST 309
#define CATALOG_P 310
#define CHAIN 311
#define CHAR_P 312
#define CHARACTER 313
#define CHARACTERISTICS 314
#define CHECK 315
#define CHECKPOINT 316
#define CLASS 317
#define CLOSE 318
#define CLUSTER 319
#define COALESCE 320
#define COLLATE 321
#define COLLATION 322
#define COLUMN 323
#define COMMENT 324
#define COMMENTS 325
#define COMMIT 326
#define COMMITTED 327
#define CONCURRENTLY 328
#define CONFIGURATION 329
#define CONNECTION 330
#define CONSTRAINT 331
#define CONSTRAINTS 332
#define CONTENT_P 333
#define CONTINUE_P 334
#define CONVERSION_P 335
#define COPY 336
#define COST 337
#define CREATE 338
#define CROSS 339
#define CSV 340
#define CURRENT_P 341
#define CURRENT_CATALOG 342
#define CURRENT_DATE 343
#define CURRENT_ROLE 344
#define CURRENT_SCHEMA 345
#define CURRENT_TIME 346
#define CURRENT_TIMESTAMP 347
#define CURRENT_USER 348
#define CURSOR 349
#define CYCLE 350
#define DATA_P 351
#define DATABASE 352
#define DAY_P 353
#define DEALLOCATE 354
#define DEC 355
#define DECIMAL_P 356
#define DECLARE 357
#define DEFAULT 358
#define DEFAULTS 359
#define DEFERRABLE 360
#define DEFERRED 361
#define DEFINER 362
#define DELETE_P 363
#define DELIMITER 364
#define DELIMITERS 365
#define DESC 366
#define DICTIONARY 367
#define DISABLE_P 368
#define DISCARD 369
#define DISTINCT 370
#define DO 371
#define DOCUMENT_P 372
#define DOMAIN_P 373
#define DOUBLE_P 374
#define DROP 375
#define EACH 376
#define ELSE 377
#define ENABLE_P 378
#define ENCODING 379
#define ENCRYPTED 380
#define END_P 381
#define ENUM_P 382
#define ESCAPE 383
#define EXCEPT 384
#define EXCLUDE 385
#define EXCLUDING 386
#define EXCLUSIVE 387
#define EXECUTE 388
#define EXISTS 389
#define EXPLAIN 390
#define EXTENSION 391
#define EXTERNAL 392
#define EXTRACT 393
#define FALSE_P 394
#define FAMILY 395
#define FETCH 396
#define FIRST_P 397
#define FLOAT_P 398
#define FOLLOWING 399
#define FOR 400
#define FORCE 401
#define FOREIGN 402
#define FORWARD 403
#define FREEZE 404
#define FROM 405
#define FULL 406
#define FUNCTION 407
#define FUNCTIONS 408
#define GLOBAL 409
#define GRANT 410
#define GRANTED 411
#define GREATEST 412
#define GROUP_P 413
#define HANDLER 414
#define HAVING 415
#define HEADER_P 416
#define HOLD 417
#define HOUR_P 418
#define IDENTITY_P 419
#define IF_P 420
#define ILIKE 421
#define IMMEDIATE 422
#define IMMUTABLE 423
#define IMPLICIT_P 424
#define IN_P 425
#define INCLUDING 426
#define INCREMENT 427
#define INDEX 428
#define INDEXES 429
#define INHERIT 430
#define INHERITS 431
#define INITIALLY 432
#define INLINE_P 433
#define INNER_P 434
#define INOUT 435
#define INPUT_P 436
#define INSENSITIVE 437
#define INSERT 438
#define INSTEAD 439
#define INT_P 440
#define INTEGER 441
#define INTERSECT 442
#define INTERVAL 443
#define INTO 444
#define INVOKER 445
#define IS 446
#define ISNULL 447
#define ISOLATION 448
#define JOIN 449
#define KEY 450
#define LABEL 451
#define LANGUAGE 452
#define LARGE_P 453
#define LAST_P 454
#define LC_COLLATE_P 455
#define LC_CTYPE_P 456
#define LEADING 457
#define LEAST 458
#define LEFT 459
#define LEVEL 460
#define LIKE 461
#define LIMIT 462
#define LISTEN 463
#define LOAD 464
#define LOCAL 465
#define LOCALTIME 466
#define LOCALTIMESTAMP 467
#define LOCATION 468
#define LOCK_P 469
#define MAPPING 470
#define MATCH 471
#define MAXVALUE 472
#define MINUTE_P 473
#define MINVALUE 474
#define MODE 475
#define MONTH_P 476
#define MOVE 477
#define NAME_P 478
#define NAMES 479
#define NATIONAL 480
#define NATURAL 481
#define NCHAR 482
#define NEXT 483
#define NO 484
#define NONE 485
#define NOT 486
#define NOTHING 487
#define NOTIFY 488
#define NOTNULL 489
#define NOWAIT 490
#define NULL_P 491
#define NULLIF 492
#define NULLS_P 493
#define NUMERIC 494
#define OBJECT_P 495
#define OF 496
#define OFF 497
#define OFFSET 498
#define OIDS 499
#define ON 500
#define ONLY 501
#define OPERATOR 502
#define OPTION 503
#define OPTIONS 504
#define OR 505
#define ORDER 506
#define OUT_P 507
#define OUTER_P 508
#define OVER 509
#define OVERLAPS 510
#define OVERLAY 511
#define OWNED 512
#define OWNER 513
#define PARSER 514
#define PARTIAL 515
#define PARTITION 516
#define PASSING 517
#define PASSWORD 518
#define PLACING 519
#define PLANS 520
#define POSITION 521
#define PRECEDING 522
#define PRECISION 523
#define PRESERVE 524
#define PREPARE 525
#define PREPARED 526
#define PRIMARY 527
#define PRIOR 528
#define PRIVILEGES 529
#define PROCEDURAL 530
#define PROCEDURE 531
#define QUOTE 532
#define RANGE 533
#define READ 534
#define REAL 535
#define REASSIGN 536
#define RECHECK 537
#define RECURSIVE 538
#define REF 539
#define REFERENCES 540
#define REINDEX 541
#define RELATIVE_P 542
#define RELEASE 543
#define RENAME 544
#define REPEATABLE 545
#define REPLACE 546
#define REPLICA 547
#define RESET 548
#define RESTART 549
#define RESTRICT 550
#define RETURNING 551
#define RETURNS 552
#define REVOKE 553
#define RIGHT 554
#define ROLE 555
#define ROLLBACK 556
#define ROW 557
#define ROWS 558
#define RULE 559
#define SAVEPOINT 560
#define SCHEMA 561
#define SCROLL 562
#define SEARCH 563
#define SECOND_P 564
#define SECURITY 565
#define SELECT 566
#define SEQUENCE 567
#define SEQUENCES 568
#define SERIALIZABLE 569
#define SERVER 570
#define SESSION 571
#define SESSION_USER 572
#define SET 573
#define SETOF 574
#define SHARE 575
#define SHOW 576
#define SIMILAR 577
#define SIMPLE 578
#define SMALLINT 579
#define SOME 580
#define STABLE 581
#define STANDALONE_P 582
#define START 583
#define STATEMENT 584
#define STATISTICS 585
#define STDIN 586
#define STDOUT 587
#define STORAGE 588
#define STRICT_P 589
#define STRIP_P 590
#define SUBSTRING 591
#define SYMMETRIC 592
#define SYSID 593
#define SYSTEM_P 594
#define TABLE 595
#define TABLES 596
#define TABLESPACE 597
#define TEMP 598
#define TEMPLATE 599
#define TEMPORARY 600
#define TEXT_P 601
#define THEN 602
#define TIME 603
#define TIMESTAMP 604
#define TO 605
#define TRAILING 606
#define TRANSACTION 607
#define TREAT 608
#define TRIGGER 609
#define TRIM 610
#define TRUE_P 611
#define TRUNCATE 612
#define TRUSTED 613
#define TYPE_P 614
#define UNBOUNDED 615
#define UNCOMMITTED 616
#define UNENCRYPTED 617
#define UNION 618
#define UNIQUE 619
#define UNKNOWN 620
#define UNLISTEN 621
#define UNLOGGED 622
#define UNTIL 623
#define UPDATE 624
#define USER 625
#define USING 626
#define VACUUM 627
#define VALID 628
#define VALIDATE 629
#define VALIDATOR 630
#define VALUE_P 631
#define VALUES 632
#define VARCHAR 633
#define VARIADIC 634
#define VARYING 635
#define VERBOSE 636
#define VERSION_P 637
#define VIEW 638
#define VOLATILE 639
#define WHEN 640
#define WHERE 641
#define WHITESPACE_P 642
#define WINDOW 643
#define WITH 644
#define WITHOUT 645
#define WORK 646
#define WRAPPER 647
#define WRITE 648
#define XML_P 649
#define XMLATTRIBUTES 650
#define XMLCONCAT 651
#define XMLELEMENT 652
#define XMLEXISTS 653
#define XMLFOREST 654
#define XMLPARSE 655
#define XMLPI 656
#define XMLROOT 657
#define XMLSERIALIZE 658
#define YEAR_P 659
#define YES_P 660
#define ZONE 661
#define NULLS_FIRST 662
#define NULLS_LAST 663
#define WITH_TIME 664
#define POSTFIXOP 665
#define UMINUS 666




#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 160 "gram.y"
typedef union YYSTYPE {
	core_YYSTYPE		core_yystype;
	/* these fields must match core_YYSTYPE: */
	int					ival;
	char				*str;
	const char			*keyword;

	char				chr;
	bool				boolean;
	JoinType			jtype;
	DropBehavior		dbehavior;
	OnCommitAction		oncommit;
	List				*list;
	Node				*node;
	Value				*value;
	ObjectType			objtype;
	TypeName			*typnam;
	FunctionParameter   *fun_param;
	FunctionParameterMode fun_param_mode;
	FuncWithArgs		*funwithargs;
	DefElem				*defelt;
	SortBy				*sortby;
	WindowDef			*windef;
	JoinExpr			*jexpr;
	IndexElem			*ielem;
	Alias				*alias;
	RangeVar			*range;
	IntoClause			*into;
	WithClause			*with;
	A_Indices			*aind;
	ResTarget			*target;
	struct PrivTarget	*privtarget;
	AccessPriv			*accesspriv;
	InsertStmt			*istmt;
	VariableSetStmt		*vsetstmt;
} YYSTYPE;
/* Line 1204 of yacc.c.  */
#line 895 "gram.h"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif



#if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED)
typedef struct YYLTYPE
{
  int first_line;
  int first_column;
  int last_line;
  int last_column;
} YYLTYPE;
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif




